扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一直以来,由大量“肉鸡”构成的僵尸网络,无时无刻不在威胁着所有网络用户的安全。“肉鸡”者,就是指那些被攻击者完全控制了的网络计算机,它是组成僵尸网络的主要因素。因此,要想消除僵尸网络给我们带来的安全威胁,最好的方法就是减少肉鸡的数量。
而减少肉鸡数量最好的方法,就是每个网络用户,通过各种方法防止自己的计算机成为攻击者的肉鸡。但是,要达到防止自己的计算机成为肉鸡的目的,我们该从哪些方面着手去加强计算机的安全防范工作,以及该使用什么样的工具和方法去完成呢?
上古孙子兵法中云:“知己知彼,方能百战不殆”。知彼者,就是指了解对手在各个时期的各种状况,包括军队统帅是谁、军队数量,驻防的位置,以及对手惯用的攻击手段等信息。其中,充分了解对手惯用的攻击手段,能够让我们知道被我们保护的对象,哪些方面需要加固,以及知道需要准备什么工具和手段来应对对手的各种攻击手段。因此,对于防止自己的计算机成为肉鸡,最好的解决方法,也是通过分析攻击者获取肉鸡的各种手段,来找到计算机成为攻击者肉鸡的各种原因,通过找到的原因就会知道哪些方面需要防范,以及知道可以使用什么样的安全技术和产品来解决这些问题。
就目前来说,攻击者可以用来获取肉鸡的手段有很多种,其中,最常用的手段可归纳为利用系统漏洞、利用捆绑木马和网页木马,以及利用社会工程这3种主要方式。在本文中,我将先对攻击者如何利用操作系统漏洞来获取肉鸡这种方法进行详细的说明,其它2种攻取肉鸡的方法,将在后续的文章中,雪源梅香才与大家一起讨论。
为了不让本文成为攻击者的学习手册,也为了方便我说明获取肉鸡的具体过程,下面所有的操作将全部放在一个由虚拟机构造的局域网环境中进行。在这个虚拟局域网环境中,宿主主机使用的是Fedora 8操作系统,被用来攻击的对象是一台按默认方式安装了Windows XP 操作系统的虚拟计算机。在这台虚拟主机上,没有安装任何安全软件,也没有为系统打上各类补丁和做相应的安全设置,目的只是为了方便我要做的说明,现实中应该不会存在这样的计算机了。
现在,就让我们一起来了解攻击者是如何利用操作系统漏洞,将一台计算机变成他的肉鸡的具体过程和操作方法。
第一步:寻找适合攻击的目标
对任何一位攻击者而言,进行攻击活动的第一步,就是寻找各种适合攻击的目标,以及收集与攻击目标相关的各种信息。
寻找攻击目标的主要任务就是找到攻击目标的IP地址。任何一个攻击者,通常都是通过下面所示的手段来得到攻击目标的IP地址或所在IP地址段的:
1、 如果是一个网站,可以通过Whois域名查询或Whereisip等软件来得到它们的IP地址;还可以通过ping命令,查询某个域名的IP地址;Windows系统下还可以通过使用路由跟踪命令tracert找到某个目标的IP地址。
2、 如果攻击者知道目标所在地区的大概位置,以及目标使用的IPS名称,就可以通过搜索引擎得到这个区域所对应IPS可以分配的整个IP地址段。他们还可以到负责分配某个区域IP地址的网站,例如www.apnic.net(负责亚洲地区IP地址分配的组织APNIC的网站),在这个网站中,就可以查询到我国电信、铁通和网通的IP地址分配表。
3、 攻击者可以制作一个钓鱼网站,然后诱骗网络用户的方式来获得普通用户的IP地址。
4、 攻击者也可以利用即时聊天软件,如QQ等,然后使用如彩虹显IP的QQ外挂就可以知道与他聊天的任何一个Q友所使用的IP地址。
5、 现在,攻击者更喜欢用社会工程方式来得到某个机构或个人的IP地址。还可以通过向其他黑客购买的方式得到。
在这里列出的这些获取攻击目标IP地址的手段,并没有将攻击者所有可以使用的方式全部包括进来,我只是想说明攻击者可以通过许多手段来达到获取攻击目标IP地址的目的。至于在本文中,由于是我构建的实验环境,就已经知道了所要攻击的目标的IP地址是192.168.1.11,也就省略了寻找目标的步骤。
第二步:扫描攻击目标
攻击目标的IP地址或地址段找到后,接下来的工作,攻击者就会通过漏洞扫描软件来扫描这些IP地址,以便能知道这些攻击目标中有哪些主机目前是存活的,存活的主机开放了哪些端口,以及了解这些存活的主机所运行的操作系统类型和版本等信息。这些信息对后续的攻击活动是非常重要的,它们让攻击者决定哪些存活的主机有进一步入侵的必要,以及下一步该如何操作等等。
对攻击目标进行扫描,通常都是使用相应的扫描软件来自动完成的。在类Linux系统下,攻击者们经常使用的是一款叫做Nmap的网络和系统扫描软件,这款软件在网络或系统管理员手里,就是一款系统漏洞检测软件,而在攻击者手里,它就是一款不折不扣的攻击武器。
Nmap不仅能快速标识出存活的主机,将这些主机上开放的端口及端口关联的服务全部列出,而且不管目标是否修改了系统ICMP响应 的TTL值,它都可以正确地识别出目标操作系统的类型。甚至,使用相应的扫描参数,Nmap还能穿透对方的防火墙,并且,它还有一些特殊的扫描参数能够让它的扫描活动不会被对方的安全设备记录下来,方便攻击者逃避责任。
Nmap可以在字符终端下通过命令来完成指定扫描任务的工具,但是这种方式需要我们记住它数量众多的扫描参数,使用起来不是很直观,但灵活性高。如果扫任务不是很复杂,我们完全可以使用Nmap的图形前端来进行。在本例中,我就使用它的KDE图形前端NmapFE(Nmap Front End)来完成本例的扫描任务。
在K菜单的“系统”菜单项中,找到并单击NmapFE(Nmap Security Scanner) ,就可以启动这个Nmap的图形前端。其主界面如图1所示。
图1 NmapFE图形前端的主界面
在NmapFE主界面的“Target(s)”文本框中输入本次要扫描的IP地址192.168.1.11,然后在主界面的“Scan”选项卡中的“Scan Type”下拉列表框中选择“SYN Stealth Scan”,再在主界面的“Scanned Ports”的下拉框中选择“Range Given Below”后,在“Range”文
本框中输入本次要扫描的端口范围“7-4000”。其它的选项可以保持默认,最后单击NmapFE主界面中的“Scan”按钮,就可以开始本次的扫描任务。
NmapFE扫描任务完成时间的长短取决于指定的IP地址范围,在本例中,由于只指定了一台主机,因此,扫描任务完成得非常快。图2就是本次扫描任务完成后的扫描结果界面。
图2 NmapFE扫描结果
从本次NmapFE的扫描结果中,我们可以清楚地了解到被扫描的攻击目标开放了135、139、445和3389端口,同时也知道了这台主机使用的是Windows 2003 Server或XP SP2操作系统。这些信息,对于攻击者来说,就意味着这台目标主机可以继续进行下一步的入侵工作。
第三步:对攻击目标做进一步的弱点扫描
当攻击者通过NMAP等工具了解到攻击目标使用的系统类型和开放的端口等信息后,只是说明这些攻击目标可以进行下一步的攻击活动,还不能完全确认可以使用什么手段来进行下一步的具体攻击操作。因此,攻击者现在要做的,就是集中火力扫描攻击目标主机中开放的端口是否存在可以被利用的哪类弱点。
要完成攻击目标的弱点扫描任务,攻击者仍然是使用相应的工具软件来完成的。在类Linux系统中,要完成指定主机端口的弱点检测任务,最好的方式就是使用Nessus弱点扫描软件;而在Windows系统下,除了使用这款软件外,还可以使用X-Scan和SuperScan等软件。在本例中,由于我的宿主主机使用的是Fedora 8系统,所以使用Nessus来完成攻击目标的弱点扫描任务。
攻击者在开始对目标主机进行弱点检测前,通常会先升级Nessus的的漏洞库,然后重新启动它的守护进程Nessusd。完成这些工作后,再启动它的客户端NessusCliend开始对攻击目标进行弱点扫描工作。NessusCliend启动后的主界面如图3所示。
图3 NessusCliend的主界面
启动NessusCliend后,首先要做的就是完成与Nessus服务端的连接。在本例中,单击NessusCliend主界面左下角的“Connent”按钮,在出现的连接管理界面中选择“localhost”,然后单击“+”号按钮,进入编辑连接界面。在编辑连接界面中的“Port”文本框中输入1241,这是Nessus检测时使用的端口,如果Nessus弱点检测软件处于防火墙后面,应当确保防火墙已经开放了1241端口。
然后在同一界面中的“login”和“password”文本框中,输入用Nessus-adduser命令添加的Nessus管理员帐户和密码。最后点击此界面中的“save”按钮回到NessusCliend的连接管理界面。再单击此界面中的“Connent”按钮就可以完成与Nessus服务端的连接。
完成NessusCliend与Nessus服务端的连接后,就应当为本次扫描任务指定具体的扫描策略。在本例中,我将编辑一个新的扫描策略来完成192.168.1.11主机的弱点检测任务。用鼠标单击NessusCliend主界面中“select scan policy”选项框右下角的“Edit”按钮,便可打开编辑扫描策略的界面。如图4所示。
图4 NessusCliend编辑扫描策略界面
在NessusCliend编辑扫描策略的界面中一共有六个选项,在本例中,我对其中的policy、Options 和plugin selection三个选项做了如下的设置:
1、 在“policy”选项中的“policy name”文本框中输入“my policy”作为此次扫描策略的名称。
2、 在“Options”选项中的“Port scanner range”中输入本次要扫描的端口:135、137、138、139、445和3389,也可以直接输入7-4000。
3、 在“plugin selection”选项中,只保留与扫描目标相关的插件,例如本次只保留了与Windows系统相关的插件,以提高弱点检测的速度。
完成后,单击编辑扫描策略界面中的“Save”按钮保存此次的扫描策略,并回到NessusCliend主界面。
在NessusCliend主界面中,单击“scan”列表框下面的“+”号按钮,打开“edit target”的对话框,在出现的界面中的“Scan”选项中选择名为“IP Range”的单选项。由于只需要检测一台主机,因此,在此对话框中的“Start Address”和“End address”文本框中输入同一IP地址:192.168.1.11。
完成上述所有的设置后,在NessusCliend主界面中单击“Scan now”按钮就可以开始本次弱点检测任务。
由于弱点扫描的攻击目标只有一台主机,经过大约一分钟的扫描检测,就会完成整个弱点检测任务,并出现如图5所示的主机弱点检测报告。
图5 Nessus扫描攻击目标后的弱点检测报告
从上图所示的报告中,攻击者就可以了解到一些重要的弱点信息。例如,在3389端口,可以知道攻击目标主机上存在Null Session、Guest account和Given Credentials这三个帐户,并由此就知道对目标系统进行IPC$空连接,以及远程桌面连接;而从137端口,还知道了攻击目标主机的计算机名、工作组名和网卡的MAC地址。所有的这些弱点信息,都在表示一台肉鸡正在向攻击者热烈地招手。
第四步:进入攻击目标主机并控制它,然后清理所有入侵痕迹
现在,攻击者已经知道了攻击目标主机存在可以被远程桌面连接的弱点,接下来的工作,就是先使用一种远程连接方式进入目标系统,然后完成主机控制和清除所有入侵痕迹。
通常情况下,默认安装的Windows XP操作系统会存在一个默认的管理员帐户 “administrator”。因此,在本例中,我试着使用此帐户,以空密码的方式,通过tsclient远程桌面连接软件登录目标主机,没想到一试着成功了。图6就是我通过tsclient软件登录本例中虚拟机后的界面。在Windows系统下,攻击者还可以通过使用net use命令来与存在这种漏洞的目标主机建立IPC$空连接。
图6 tsclient远程登录目标主机后的界面
但是,当使用tsclient进行远程桌面连接时,如果使用的登录帐户与目标系统上正在使用的帐户相同的话,在tsclient连接成功后,目标系统中原本正在使用的帐户将会被自动注销。这样一来就会被攻击目标的用户所察觉。因此,最好的方式是先用NET USE命令建立一个具有管理员权限的新帐户,然后通过这个新建立的帐户完成剩下的工作,这也方便对肉鸡的以后控制。
当攻击者进入目标系统后,接下来,就可以开始为下次远程控制它安装相应的木马后门。通常,攻击者为了保证被攻击目标每次上线后能够立即知道,都是安装具有免杀和反弹功能木马程序来完成肉鸡控制的。
当远程控制被攻击目标的后门设置工作完成后,为了不让被攻击目标的用户所察觉,也不为其发现攻击者留下任何证据,所以攻击者还会将在被攻击目标系统上的所有操作痕迹打扫干净。例如清除系统日志文件,删除创建的帐户,以及使用TimeStomp工具来修改所创建的文件的创建时间等。
到此,通过利用操作系统本身存在的漏洞(本例是早已过时的Windows XP3389漏洞),获取肉鸡的任务就已经全部完成。实际上,就算现在Windows操作系统不存在这个漏洞,但仍然有许多新漏洞被发现。攻击者只需要到一些每天公布系统和软件漏洞的网站上获取这些最新漏洞信息,然后从网上找到相应的利用些漏洞的工具,或者自己编写利用脚本,仍然可以将存在这些漏洞的主机变成他们的肉鸡。
通过本文,我们就应该知道,减少系统漏洞和减少系统上开放端口的数量,就是防止主机成为攻击者肉鸡过程中主要的防范点。而使用的技术和方法,就是使用与攻击者同样的工具(如NMAP、NESSUS)先攻击者一步对系统进行全面的弱点和漏洞检测,并对找到的弱点和漏洞进行及时的修补。另外,尽量防止自己连上互联网的公网IP地址透漏出去也是防止被扫描攻击的方法之一。当然,在系统中安装防火墙也能够阻止大部分来自网络的扫描和攻击行为。
比特网原创文章,未经许可,严禁转载!
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者