使用Linux安全工具进行渗透测试
使用 Kali Linux 和其他开源工具来发现系统中的安全漏洞和弱点。
众多被广泛报道的大型消费企业入侵事件凸显了系统安全管理的重要性。幸运的是,有许多不同的应用程序可以帮助保护计算机系统。其中一个是 Kali,一个为安全和渗透测试而开发的 Linux 发行版。本文演示了如何使用 Kali Linux 来审视你的系统以发现弱点。
Kali 安装了很多工具,它们都是开源的,默认情况下安装了它们会让事情变得更容易。
(LCTT 译注:Kali 及其携带工具只应该用于对自己拥有合法审查权利的系统和设备,任何未经授权的扫描、渗透和攻击均是违法的。本文作者、译者均不承担任何非授权使用的结果。)
本文使用的系统是: kali.usersts.redhat.com:这是我将用来启动扫描和攻击的系统。它拥有 30GB 内存和 6 个虚拟 CPU(vCPU)。vulnerable.usersys.redhat.com: 这是一个 Red Hat 企业版 Linux 8 系统,它会成为目标。它拥有 16GB 内存和 6 个 vCPU。它是一个相对较新的系统,但有些软件包可能已经过时。这个系统包括 httpd-2.4.37-30.module+el8.3.0+7001+0766b9e7.x86_64、mariadb-server-10.3.27-3.module+el8.3.0+8972+5e3224e9.x86_64、tigervnc-server-1.9.0-15.el8_1.x86_64、vsftpd-3.0.3-32.el8.x86_64和一个 5.6.1 版本的 WordPress。
我在上面列出了硬件规格,因为一些任务要求很高,尤其是在运行 WordPress 安全扫描程序(WPScan)时对目标系统 CPU 的要求。
探测你的系统
首先,我会在目标系统上进行基本的 Nmap 扫描(你可以阅读 使用 Nmap 结果帮助加固 Linux 系统一文来更深入地了解 Nmap)。Nmap 扫描是一种快速的方法,可以大致了解被测系统中哪些端口和服务是暴露的。
默认扫描显示有几个你可能感兴趣的开放端口。实际上,任何开放端口都可能成为攻击者破坏你网络的一种方式。在本例中,端口 21、22、80 和 443 是不错的扫描对象,因为它们是常用服务的端口。在这个早期阶段,我只是在做侦察工作,尽可能多地获取有关目标系统的信息。
我想用 Nmap 侦察 80 端口,所以我使用 -p 80参数来查看端口 80,-A参数来获取操作系统和应用程序版本等信息。
关键信息有:PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.37 ((Red Hat Enterprise Linux)) |_http-generator: WordPress 5.6.1
现在我知道了这是一个 WordPress 服务器,我可以使用 WPScan 来获取有关潜在威胁的信息。一个很好的侦察方法是尝试找到一些用户名,使用 --enumerate u告诉 WPScan 在 WordPress 实例中查找用户名。例如: (root kali)-[~] # wpscan --url vulnerable.usersys.redhat.com --enumerate u _______________________________________________________________ __ _______ _____ / / __ / ____| / / /| |__) | (___ ___ __ _ _ __ / / / | ___/ ___ / __|/ _` | "_ / / | | ____) | (__| (_| | | | | / / |_| |_____/ ___|__,_|_| |_| WordPress Security Scanner by the WPScan Team Version 3.8.10 Sponsored by Automattic - https://automattic.com/ @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart _______________________________________________________________ [+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242] [+] Started: Tue Feb 16 21:38:49 2021 Interesting Finding(s): ... User(s) Identified: [+] admin | Found By: Author Posts - Display Name (Passive Detection) | Confirmed By: | Author Id Brute Forcing - Author Pattern (Aggressive Detection) | Login Error Messages (Aggressive Detection) [+] pgervase | Found By: Author Posts - Display Name (Passive Detection) | Confirmed By: | Author Id Brute Forcing - Author Pattern (Aggressive Detection) | Login Error Messages (Aggressive Detection)
这显示有两个用户:admin和pgervase。我将尝试使用密码字典来猜测admin的密码。密码字典是一个包含很多密码的文本文件。我使用的字典大小有 37G,有 3,543,076,137 行。
就像你可以选择不同的文本编辑器、Web 浏览器和其他应用程序 一样,也有很多工具可以启动密码攻击。下面是两个使用 Nmap 和 WPScan 的示例命令:# nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=/path/to/passworddb,threads=6 vulnerable.usersys.redhat.com # wpscan --url vulnerable.usersys.redhat.com --passwords /path/to/passworddb --usernames admin --max-threads 50 | tee nmap.txt
这个 Nmap 脚本是我使用的许多脚本之一,使用 WPScan 扫描 URL 只是这个工具可以完成的许多任务之一。你可以用你喜欢的那一个。
WPScan 示例在文件末尾显示了密码: (root kali)-[~] # wpscan --url vulnerable.usersys.redhat.com --passwords passwords.txt --usernames admin _______________________________________________________________ __ _______ _____ / / __ / ____| / / /| |__) | (___ ___ __ _ _ __ / / / | ___/ ___ / __|/ _` | "_ / / | | ____) | (__| (_| | | | | / / |_| |_____/ ___|__,_|_| |_| WordPress Security Scanner by the WPScan Team Version 3.8.10 Sponsored by Automattic - https://automattic.com/ @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart _______________________________________________________________ [+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242] [+] Started: Thu Feb 18 20:32:13 2021 Interesting Finding(s): ...... [+] Performing password attack on Wp Login against 1 user/s Trying admin / redhat Time: 00:01:57 (3231 / 3231) 100.00% Time: 00:01:57 Trying admin / redhat Time: 00:01:57 (3231 / 6462) 50.00% ETA: ??:??:?? [SUCCESS] - admin / redhat [!] Valid Combinations Found: | Username: admin, Password: redhat [!] No WPVulnDB API Token given, as a result vulnerability data has not been output. [!] You can get a free API token with 50 daily requests by registering at https://wpscan.com/register [+] Finished: Thu Feb 18 20:34:15 2021 [+] Requests Done: 3255 [+] Cached Requests: 34 [+] Data Sent: 1.066 MB [+] Data Received: 24.513 MB [+] Memory used: 264.023 MB [+] Elapsed time: 00:02:02
在末尾的"找到有效组合"部分包含了管理员用户名和密码,3231 行只用了两分钟。
我还有另一个字典文件,其中包含 3,238,659,984 行,使用它花费的时间更长并且会留下更多的证据。
使用 Nmap 可以更快地产生结果: (root kali)-[~] # nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=password.txt,threads=6 vulnerable.usersys.redhat.com Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-18 20:48 EST Nmap scan report for vulnerable.usersys.redhat.com (10.19.47.242) Host is up (0.00015s latency). Not shown: 995 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 8.0 (protocol 2.0) 80/tcp open http Apache httpd 2.4.37 ((Red Hat Enterprise Linux)) |_http-server-header: Apache/2.4.37 (Red Hat Enterprise Linux) | http-wordpress-brute: | Accounts: | admin:redhat - Valid credentials
然而,运行这样的扫描可能会在目标系统上留下大量的 HTTPD 日志消息:10.19.47.170 - - [18/Feb/2021:20:14:01 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)" 10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
为了获得关于在最初的 Nmap 扫描中发现的 HTTPS 服务器的信息,我使用了 sslscan命令: (root kali)-[~] # sslscan vulnerable.usersys.redhat.com Version: 2.0.6-static OpenSSL 1.1.1i-dev xx XXX xxxx Connected to 10.19.47.242 Testing SSL server vulnerable.usersys.redhat.com on port 443 using SNI name vulnerable.usersys.redhat.com SSL/TLS Protocols: SSLv2 disabled SSLv3 disabled TLSv1.0 disabled TLSv1.1 disabled TLSv1.2 enabled TLSv1.3 enabled
它显示了有关启用的 SSL 协议的信息,在最下方,是关于 Heartbleed 漏洞的信息: Heartbleed: TLSv1.3 not vulnerable to heartbleed TLSv1.2 not vulnerable to heartbleed
防御或减轻攻击的技巧
有很多方法可以保护你的系统免受大量攻击。几个关键点是: **了解你的系统:**包括了解哪些端口是开放的,哪些端口应该开放,谁应该能够看到这些开放的端口,以及使用这些端口服务的预期流量是多少。Nmap 是了解网络系统的一个绝佳工具。使用当前的最佳实践:现在的最佳实践可能不是未来的最佳实践。作为管理员,了解信息安全领域的最新趋势非常重要。知道如何使用你的产品:例如,与其让攻击者不断攻击你的 WordPress 系统,不如阻止他们的 IP 地址并限制尝试登录的次数。在现实世界中,阻止 IP 地址可能没有那么有用,因为攻击者可能会使用受感染的系统来发起攻击。但是,这是一个很容易启用的设置,可以阻止一些攻击。维护和验证良好的备份:如果攻击者攻击了一个或多个系统,能从已知的良好和干净的备份中重新构建可以节省大量时间和金钱。检查日志:如上所示,扫描和渗透命令可能会留下大量日志,这表明攻击者正在攻击系统。如果你注意到它们,可以采取先发制人的行动来降低风险。更新系统、应用程序和任何额外的模块:正如NIST Special Publication 800-40r3所解释的那样,"补丁通常是减轻软件缺陷漏洞最有效的方法,而且通常是唯一完全有效的解决方案。"使用供应商提供的工具:供应商有不同的工具来帮助你维护他们的系统,因此一定要充分利用它们。例如,红帽企业 Linux 订阅中包含的Red Hat Insights可以帮助你优化系统并提醒你注意潜在的安全威胁。
了解更多
本文对安全工具及其使用方法的介绍只是冰山一角。深入了解的话,你可能需要查看以下资源: Armitage,一个开源的攻击管理工具Red Hat 产品安全中心Red Hat 安全频道NIST 网络安全页面使用 Nmap 结果来帮助加固 Linux 系统
via: https://opensource.com/article/21/5/linux-security-tools
作者:Peter Gervase选题:lujun9972译者:MjSeven校对:wxy
本文由 LCTT原创编译,Linux中国荣誉推出
专访许远东关于扔微波炉事件的十问十答十来天之前,杭州的一位民营企业家因为在公司内部微信群里下周把公司微波炉扔了!的相关言论被公布到网络之后,引起了社会广泛关注,继而引发了网友们关于企业制度劳资关系的大量讨论。相应地,
会员机制商城小程序?你也可以拥有自己的在线商城相信大多数人都有过网购的经历吧?每次购买都只需要在手机上一点就能完成,轻松快捷。那对于商家和企业来说,在网上卖东西轻松吗?其实商家在大平台上开设店铺真的很不容易,一方面要给平台一定
探索新物种,拥抱数字化!LTD营销中台直播课堂即将开播LTD营销SaaS中台官方直播即将开播了!为了让更多的创业者和企业主们能够更好地了解到该如何使用LTD营销中台的多种强大功能,将生意越做越大,实现业务进系统,生意找上门的数字化经营
当阿里腾讯抖音互联互通后会发生什么?谁会受到影响?当阿里腾讯字节跳动旗下的产品互联互通后,会发生什么情况?而国内互联网又会迎来何种变化?首先,类似于淘客的群体会变成流量端的人肉搬运工,搬运的过程会更加通畅便捷。而对于部分私域从业者
玩明白官微中心的物料功能,轻松领先同行一大步对于商人来说,生意的本质是什么?就是把自己的商品,通过各种宣传营销方式让客户看到,最终达成交易。过去这些营销宣传的载体可能是宣传单广播电视广告,而在数字化营销潮起的当下,企业宣传营
自己也能成为销售平台?十友八酒靠的就是它酒对于中国人来说一直都是一份情怀,关于酒的文化在中华民族传承多年,最早的白酒甚至能追溯到公元前四千年!而如今每逢佳节欢庆时,大家也多会选择小酌几杯。也正因如此,国内的白酒市场一直都
官网不支持会员功能,客户怎么主动来找你?昨天我本来打算买十五块钱的肉,来到商店选购好了之后就准备结账,结果店员问我有没有办理会员?现在办理会员,充值100送50,买菜打九折。我一听,觉得反正以后都要买菜,就办理了一个会员
赵明也没料到,麒麟980降700沦为千元机后,被用户抢断货2019年发布的许多高端手机不再炙手可热,但有些却大不相同。他们卖得很好。因为他们一直在价格上折衷,所以用户一直喜欢它们,有的甚至在降价后就被抢购一空。例如,荣耀20!这款手机是去
会员机制新升级!会员权益功能上线众所周知,对于绝大多数行业来说,客户永远是排在第一位的,拥有的客户数量多寡?是否拥有固定客户群体?这些都会对一个企业的经营产生决定性的影响。正因如此,越来越多的商家开始绑定客户,即
双十一选真香产品,OPPOEnco家族耳机成不同人群心头好又到一年的双十一购物狂欢节,不少人准备入手自己心仪的商品。这里面就有一批想要入手最新智能产品的人,像是当下热门的TWS真无线耳机,但是琳琅满目的品牌与商品常常让人难以下手。不过在双
全自动商用洗碗机的特点随着生活质量的提高,商用洗碗机被越来越多的中小型酒店接受使用,可以有效地解决困难的酒店厨房洗碗。商用洗碗机通常用于商业用途,如用于餐厅自助餐厅酒店餐具消毒中心清洁和消毒餐具。除了型