《黑客秘笈——渗透测试实用指南》—第1章1.1节搭建渗透测试主机

简介:

本节书摘来自异步社区《黑客秘笈——渗透测试实用指南》一书中的第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。

 e.wget https://gist.githubusercontent.com/nopslider/5984316/raw/423b02c53d225fe8dfb4e2df9a20bc800cc78e2c/gnmap.pl

 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/

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
43 1
|
1天前
|
安全 网络安全 数据安全/隐私保护
VulnHub 靶场--super-Mario-Host超级马里奥主机渗透测试过程
这篇文章描述了在一个网络安全靶场环境中进行渗透测试的过程。首先,从百度网盘下载并导入虚拟机镜像,然后将其网络设置为NAT或仅主机模式。接下来,通过扫描靶机IP地址的本地网络段,发现靶机IP为192.168.220.135,并且了解到靶机上有一个名为“mario.supermariohost.local”的Web服务,运行在8180端口。尝试SSH弱口令攻击失败后,通过信息收集找到一个名为“luigi.php”的页面,其中包含一段英文提示,提示需要将域名添加到hosts文件中。 通过cewl工具从luigi.php生成字典文件passwords,然后使用hydra工具尝试SSH登录,成功获得l
8 0
|
1月前
ping 测试主机之间网络连通性
ping 测试主机之间网络连通性。
54 1
|
2月前
|
弹性计算 测试技术 数据中心
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试,阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量
|
6月前
|
SQL 安全 测试技术
花无涯带你走进黑客世界之好用的渗透测试神器
隔着屏幕的祝福送给大家,祝大家端午安康,我就不群发骚扰了,看到的都好运 -。- 安全研究者对网站或者应用程序进行渗透测试而不用任何自动化工具似乎已越来越难。 花无涯带你走进黑客世界 2 学习渗透技术
|
8月前
|
监控 安全
zabbix测试发邮件报错–连接到Zabbix主机 “localhost“ 失败
zabbix测试发邮件报错–连接到Zabbix主机 “localhost“ 失败
154 0
|
9月前
|
Shell 开发工具
写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问
写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问
73 0
|
9月前
|
Linux 测试技术
巧用 bc 命令测试 Linux 主机的 CPU 性能
今天向公司申请了一台 Linux 主机,作为平时的开发环境。由于自己并不依赖远程开发(大多数情况下项目都可以本地开发、调试),于是只申请了 4C/8G 的低配机器。突然好奇的是,这台机器的性能怎么样?
174 0
|
9月前
|
Linux 网络安全 Windows
Linux系统-【网络通讯】ping命令 – 测试主机间网络连通性
ping命令的功能是用于测试主机间网络连通性,发送出基于ICMP传输协议的数据包,要求对方主机予以回复,若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。 不过值得我们注意的是Linux与Windows相比有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下组合键“Ctrl+c”才能结束,或是发起命令时加入-c参数限定发送个数。
234 0
|
监控 Linux 测试技术
性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
107 0

热门文章

最新文章