本节书摘来自异步社区《黑客秘笈——渗透测试实用指南》一书中的第1章1.1节搭建渗透测试主机,作者【美】Peter Kim(彼得 基姆),更多章节内容可以访问云栖社区“异步社区”公众号查看。
第1章 赛前准备——安装
黑客秘笈——渗透测试实用指南
本章将直接探讨攻击系统的配置方法。安全测试最为重要的方面就是有一个可重复的流程。所以,您需要有一套标准化的基准系统、测试工具和测试流程。本章将会讲解配置测试平台的方法,以及本书示例所需的额外工具的安装步骤。只要按照本章的步骤配置测试平台,您就能够重现后续章节中我所提供的案例、演示。好!让我们全力以赴、积极备战吧。
1.1 搭建渗透测试主机
黑客秘笈——渗透测试实用指南
在进行渗透测试的时候,我都会配置两套不同的测试主机。其中一台是Windows主机,另外一台则是Linux系统的主机。如果您习惯其他操作系统的测试平台,那就用您所习惯的。重要的不是操作系统,而是创建基准测试系统的方法,并且在每次渗透测试任务中应能一直使用这个基准系统。配置好主机以后,我会对这干净、配置好的虚拟机做个快照。这样,在日后进行其他测试时,只要还原虚拟机到快照时的基准状态、安装补丁、进行升级,再安装所需的其他额外工具就可以了。请相信我,对基准系统进行快照备份绝对是磨刀不误砍柴功的工作。在过去的测试里,我在安装工具的过程中就浪费过不计其数的时间。
1.1.1 硬件规格
我们首先要选择一台运行状态良好的电脑,然后再在上面下载虚拟机,安装各种测试工具。下面是些推荐,您可以对此做出自己的判断。不管您是运行Linux、Windows,还是OS X作为基准系统,只要确保基准系统没有被恶意软件感染就可以了。
1.基本的硬件要求
运行多个虚拟机真的很耗费资源,所以测试平台的硬件要求可能高于一般家用电脑。
至少有8GB内存的笔记本电脑。
500GB的硬盘空间,最好还是固态硬盘。
Intel i7四核处理器。
VMWare Workstations/Fusion/Player或者Virtual Box。
外置的USB无线网卡——我用的是Alfa AWUS051NH。
2.后文演示用到的可选硬件
用于密码破解的显卡(这要安装到工作站上)。
一些CD或者闪存驱动器(用于社工)。
Dropbox - Odroid U2。
1.1.2 商业软件
如果您要进入渗透测试领域,我强烈推荐您购买下列软件的许可证。您也可以推荐工作的单位购买它们,毕竟这些软件的价格可能很贵。不是说非这些工具不可,但是它们确实可以简化您的操作。特别是下文提到的Web应用程序扫描器,虽说它们通常价格昂贵,但是其效能确实很高。下文列举了各种类型的扫描器程序。当然了,我只介绍了那些使用过的觉得容易上手的扫描器。
这些工具各有所长,若要进行功能比较,可以阅读HackMiami Web Application Scanner 2013 PwnOff(http://hackmiami.org/whitepapers/HackMiami2013PwnOff.pdf)上的白皮书,或者参考sectooladdict.blogspot.com(http://sectooladdict.blogspot.com/2012/07/2012-web-application-scanner-benchmark.html)上的早期文章。
Nexpose/Nessus漏洞扫描器(高度推荐)。
Nexpose: http://www.rapid7.com/products/nexpose/。
Nessus: http://www.tenable.com/products/nessus
这两款工具都很出色,但它们个人版许可证的价格却相差很多。相比而言,个人版的Nessus更便宜一些。它们都是业内普遍使用的漏洞扫描器。
Burp Suite(http://portswigger.net/burp/)——Web应用程序扫描器和手动Web App测试(高度推荐)。
必备工具。该软件的功能强大,更新速度也很快。Burp Suite的价格大概是300美元左右。如果觉得其价格过高,可以试试OWASP的ZAP扫描器(http://www. owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project)。ZAP扫描器的功能和Burp Suite相似,而且其作者也在积极进行维护。本书案例使用的是Burp Suite专业版,因为我发现这是一款相当高效的工具。
自动化的Web应用扫描器(下面两个工具都很不错,您可以根据预算进行相应选择)。需要强调的是,因为它们都是非常简单易用的工具,所以本书不再详细介绍其中的任何一款工具。尽管如此,在进行专业的Web应用程序测试时,或者给企业提供定期Web测试时,这些专业的工具还是非常实用的。
IBM AppScan: http://www-03.ibm.com/software/products/en/appscan
HP Web Inspect: http://www8.hp.com/us/en/software-solutions/software.html?compURI=1341991。
1.1.3 Kali Linux(http://www.kali.org)
Kali属于渗透测试专用的发行版Linux,它收录了渗透测试所需的多数常用工具。安全界内的大部分人已经把它当作了一种普遍认可的标准系统,而且还有人在这个框架上进行二次开发。此外,您可以添加一些自己的工具。虽然Kali发行版已经自带了像Windows Credential Editor(WCE)这类工具,但我们在实际过程中最好下载最新版本的WCE程序。此外,为了满足规避反病毒软件的常见需求,我们还要对Kali的工具进行相应修改。但是,我会把修改后的程序保存在单独的文件夹中,而不是覆盖原来的Kali程序。
其实许多的发行版都很不错,推荐读者试试Pentoo(http://www.pentoo.ch/)。现在,我们一起来深入了解Kali吧。
1.为Kali安装额外工具
Discover Scripts(原来的Backtrack Scripts)
SMBexec
Veil
WCE
Mimikatz
Password Lists
Burp
PeepingTom
Gnmap.pl
PowerSploit
Responder
BeEF
Firefox
Web Developer Add-on
Tamper Data
Foxy Proxy
User Agent Switcher
2.安装Kali
配置攻击机器(测试平台)的方式有很多,但我希望您能逐一尝试书中的所有方法。在进行渗透测试之前,请按照下面的设置方法来配置测试主机。因为工具会不断更新,所以安装时你可能需要稍微调整下设置。
您可以从http://www.kali.org/downloads/上下载Kali的发行版。强烈推荐您在VMPlayer/ VirtualBox的虚拟化平台上,使用VMware的镜像文件(http://www.offensive-security.com/kali-linux-vmware-arm-image-download/)进行安装。从网站上下载的镜像文件被压缩成了tar.gz格式的文件,所以在使用之前要先对文件进行解压,然后再加载提取出来的vmx文件。
3.运行Kali
1.用默认的用户名root和密码toor登录。
2.打开终端。
3.修改密码。
a.一定要更改root密码,特别是开启了SSH服务时。
b.修改密码的命令是passwd。
4.使用命令进行版本更新。
a.apt-get update。
b.apt-get dist-upgrade。
5.配置Metasploit的数据库。
a.配置Metasploit,让它把扫描结果保存在数据库里,并使用数据库索引功能模块。
b.service postgresql start。
c.service Metasploit start。
6.*Metasploit可选的配置——开启日志。
a.之所以作为可选配置,是因为开启后会产生大量的日志。但您可以将执行的命令和Metasploit命令行界面(CLI)的结果记录下来。在发生大量的攻击、查询时,或者您的客户需要这些日志时,这就尤为重要了。
b.echo “spool/root/msf_console.log” > /root/.msf4/msfconsole.rc。
c.在执行上述命令之后,日志将会被保存到文件/root/msf_console.log。
7.安装Discover Scripts(过去叫做Backtrack Scripts)。
a.Discover 用于被动地枚举。
b.cd /opt/。
c.git clone https://github.com/leebaird/discover.git。
d.cd discover。
e../setup.sh。
8.安装Smbexec。
a.使用Smbexec获取域控制器中的信息,获取反射型(reverse)shell。
b.cd /opt/。
c.git clone https://github.com/brav0hax/smbexec.git。
d.cd smbexec。
e../install.sh。
i.选择数字1。
f.安装到/opt目录。
g../install.sh。
i.选择数字4。
9.安装Veil。
a.Veil用于创建可被Meterpreter调用的Python程序。
b.cd /opt/。
c.git clone https://github.com/veil-evasion/Veil.git。
d.cd ./Veil/setup。
e../setup.sh。
10.下载WCE。
a.Windows Credential Editor(WCE)用于从内存中提取密码信息。
b.cd~/Desktop。
c.wget http://www.ampliasecurity.com/research/wce_v1_41beta_universal.zip。
d.unzip -d ./wce wce_v1_41beta_universal.zip。
11.下载Mimikatz。
a.Mimikatz同样可以从内存中获取密码。
b.cd~/Desktop。
c.wget http://blog.gentilkiwi.com/downloads/mimikatz_trunk.zip。
d.unzip -d ./mimikatz mimikatz_trunk.zip。
12.保存自定义密码列表。
a.用于破解哈希的密码列表。
b.cd~/Desktop。
c.mkdir ./password_list && cd ./password_list。
d.使用浏览器下载密码字典,保存为./password_list:https://mega.co.nz/#!3VZiEJ4L!TitrTiiwygI2I_7V2bRWBH6rOqlcJ14tSjss2qR5dqo。
e.gzip -d crackstation-human-only.txt.gz。
f.wget http://downloads.skullsecurity.org/passwords/rockyou.txt.bz2。
g.bzip2 -d rockyou.txt.bz2。
13.cd~/Desktop。
14.下载http://portswigger.net/burp/proxy.html。强烈推荐您购买专业版。它的标价是300美元,但是物有所值。
15.安装Peepingtom。
a.Peepingtom用于截取网页快照。
b.cd /opt/。
c.git clone https://bitbucket.org/LaNMaSteR53/peepingtom.git。
d.cd ./peepingtom。
f.wget https://phantomjs.googlecode.com/files/phantomjs1.9.2-linux-i686.tar.bz2。
g.tar xvjf phantomjs-1.9.2-linux-i686.tar.bz2。
h.cp ./phantomjs-1.9.2-linux-i686/bin/phantomjs.。
16.添加Nmap脚本。
a.banner-plus.nse可用于目标主机的快速扫描,可智能识别操作系统。
b.cd /usr/share/nmap/scripts/。
c.wget http://raw.github.com/hdm/scan-tools/master/nse/banner-plus.nse。
17.安装PowerSploit。
a.PowerSploit就是PowerShell脚本程序,可在漏洞利用的后期阶段获取shell。
b.cd /opt/。
c.git clone https://github.com/mattifestation/PowerSploit。
d.cd PowerSploit。
e.wget https://raw.githubusercontent.com/obscuresec/random/master/StartListener.py。
f.wget http://raw.github.com/darkoperator/powershell_scripts/master/ps_encoder.py。
18.安装Responder。
a.Responder 可以获取NTLM请求、应答信息。
b.cd /opt/。
c.git clone https://github.com/SpiderLabs/Responder.git。
19.安装社工工具包(Social Engineering Toolkit,SET)(Kali上无需重新安装)。
a.SET用于社会工程学攻击。
b.cd /opt/。
c.git clone https://github.com/trustedsec/social-engineer-toolkit。
d.cd set。
e../setup.py install。
20.安装bypassuac。
a.在渗透测试的后期阶段,bypassuac用于绕过UAC。
b.cd /opt/。
c.wget http://www.secmaniac.com/files/bypassuac.zip。
d.unzip bypassuac.zip。
e.cp bypassuac/bypassuac.rb/opt/metasploit/apps/pro/msf3/scripts/meterpreter/。
f.mv bypassuac/uac//opt/metasploit/apps/pro/msf3/data/exploits/。
21.安装BeEF。
a.BeEF是跨站脚本攻击(XSS)框架。
b.apt-get install beef-xss。
22.安装Fuzzing Lists(SecLists)。
a.配置Burp模糊参数的脚本。
b.cd /opt。
c.git clone https://github.com/danielmiessler/SecLists。
23.安装Firefox插件。
a.Web Developer插件: https://addons.mozilla.org/en-US/firefox/addon/web-developer/。
b.Tamper Data:http://addons.mozilla.org/en-US/firefox/addon/tamper-data/。
c.Foxy Proxy:http://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/。
d.User Agent Switcher: https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/。
1.1.4 Windows虚拟机
本文强烈推荐您配备一个Windows 7的虚拟机。多数情况下,您可能要使用一些仅能在特定操作系统上运行的工具,例如Internet Explorer,或者Cain and Abel。另外,只有Windows系统才能运行PowerShell的攻击指令。安装好Windows主机可备不时之需,更可为您节省很多的时间,帮您避免不必要的麻烦。
1.Windows中额外添加的工具
HxD(Hex Editor)。
Evade(用于规避反病毒软件)。
Hyperion(用于规避反病毒软件)。
Metasploit。
Nexpose/Nessus。
Nmap。
oclHashcat。
Evil Foca。
Cain and Abel。
Burp Suite Pro。
Nishang。
PowerSploit。
Firefox(插件)。
Web Developer插件。
Tamper Data。
Foxy Proxy。
User Agent Switcher。
2.安装Windows
一个通用型的Windows测试平台可以和Kali Linux平台形成互补。在安装过程中要更改主机名。另外,如果不需要使用NetBIOS,就要将其禁用。总之,我们要尽可能地增强Windows虚拟机的系统安全。在测试期间最丢人的事情就是,自己的测试系统反而被别人给控制了。
安装Windows时,没有什么特别要注意的,我通常会安装以下软件。
1.HxD: http://mh-nexus.de/en/hxd/。
2.Evade: http://www.securepla.net/antivirus-now-you-see-me-now-you-dont/。
3.Hyperion: http://www.nullsecurity.net/tools/binary.html。
a.下载、安装Windows编译器:http://sourceforge.net/projects/mingw/。
b.在解压出的Hyperion文件夹中运行make,就可以获得可执行文件了。
4.下载、安装Metasploit:http://www.Metasploit.com。
5.下载、安装Nessus或者Nexpose。
a.如果您要自己购买软件,考虑一下Nessus,它比较便宜。
6.下载、安装Nmap: http://nmap.org/download.html。
7.下载、安装oclHashcat: http://hashcat.net/oclhashcat/#downloadlatest 。
8.下载、安装Evil Foca: http://www.informatica64.com/evilfoca/。
9.下载、安装Cain and Abel: http://www.oxid.it/cain.html。
10.Burp: http://portswigger.net/burp/download.html。
11.下载、提取Nishang: https://code.google.com/p/nishang/downloads/list。
12.下载、提取PowerSploit: https://github.com/mat-tifestation/PowerSploit/archive/master.zip。
13.安装Firefox插件。
a.Web Developer插件:http://addons.mozilla.org/en-US/firefox/addon/web-developer/。
b.Tamper Data: http://addons.mozilla.org/en-US/firefox/addon/tamper-data/。
c.Foxy Proxy:https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/。
d.User Agent Switcher:http://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。