本节书摘来自异步社区《黑客秘笈——渗透测试实用指南》一书中的第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章1.1节搭建渗透测试主机相关推荐

  1. 《黑客秘笈——渗透测试实用指南》—第2章2.4节Web应用程序的扫描

    本节书摘来自异步社区<黑客秘笈--渗透测试实用指南>一书中的第2章2.4节Web应用程序的扫描,作者[美]Peter Kim(彼得 基姆),更多章节内容可以访问云栖社区"异步社区 ...

  2. 《黑客秘笈——渗透测试实用指南(第2版)》目录—导读

    版权 黑客秘笈--渗透测试实用指南(第2版) • 著 [美] Peter Kim 译 孙 勇 责任编辑 傅道坤 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 3 ...

  3. 《黑客秘笈——渗透测试实用指南》—第2章2.3节 外部或内部的主动式信息收集...

    本节书摘来自异步社区<黑客秘笈--渗透测试实用指南>一书中的第2章2.3节 外部或内部的主动式信息收集,作者[美]Peter Kim(彼得 基姆),更多章节内容可以访问云栖社区" ...

  4. 黑客秘笈-渗透测试实用指南 第三版

    黑客秘笈-渗透测试实用指南 第三版 目录 前言 提示和免责声明 介绍 渗透测试团队与红队 总结 第1章 赛前准备--安装 假定攻破练习 设定你的行动 设置你的外部服务器 红队的核心工具 Metaspl ...

  5. 《黑客秘笈——渗透测试实用指南(第2版)》—第2章2.7节总结

    本节书摘来自异步社区<黑客秘笈--渗透测试实用指南(第2版)>一书中的第2章2.7节总结,作者[美]Peter Kim(皮特 基姆),更多章节内容可以访问云栖社区"异步社区&qu ...

  6. 移动端App测试实用指南

    from: http://cdc.tencent.com/?p=6545  译者注:本文从测试人员的角度出发,提出了100多个在测试移动App过程中需要考虑的问题.不管你是测试人员.开发.产品经理或是 ...

  7. 【CDC翻客】移动端App测试实用指南

    本文转载自:Tencent CDC 译者注:本文从测试人员的角度出发,提出了100多个在测试移动App过程中需要考虑的问题.不管你是测试人员.开发.产品经理或是交互设计师,在进行移动App开发时,这些 ...

  8. 转 【CDC翻客】移动端App测试实用指南

    译者注:本文从测试人员的角度出发,提出了100多个在测试移动App过程中需要考虑的问题.不管你是测试人员.开发.产品经理或是交互设计师,在进行移动App开发时,这些问题都很有参考价值.我和Queen合 ...

  9. 移动APP测试实用指南

    看到一篇app测试的文章,感觉很好,特意将重点记了下来   原文地址http://www.uisdc.com/app-test-guideline 测试人员常被看作Bug寻找者,但你曾想过他们实际是如 ...

最新文章

  1. 一文读懂 Nginx
  2. !和?在formal method里面的意思
  3. ImportError: No module named ‘sklearn.qda‘  ImportError: No module named ‘sklearn.lda‘
  4. 4.6上午口语练习 阅读词汇
  5. java-什么是实例初始化块?
  6. Simulink代码生成:通过Matlab Function集成C函数
  7. 如何快速查询大量发票?
  8. 区块链知识点杂记(并不全面)
  9. 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放...
  10. 银行信用卡OCR识别
  11. 人工智能背景下的Office 365现状和发展趋势
  12. 安卓中的虚拟键盘实现,KeyEvent的事件分发、处理机制。EditText是如何将KeyEvent事件转为字符输入的?
  13. 怀揣感恩之心,学会感恩
  14. OA厂商与OA用户:相处模式还能这样切换?
  15. 笔记-迎难而上之Java基础进阶8
  16. laravel8 分页样式的改变
  17. STM32F407通过cube模拟U盘
  18. 在这六大场景用上桌面云,你就是最亮的新IT人!
  19. C# Winform 从扫描仪获取图片 并导出为PDF
  20. 移动电源/充电管理设计

热门文章

  1. 线程安全的ArrayList——CopyOnWriteArrayList
  2. linux磁盘检测工具
  3. AIX PowerPC体系结构及其溢出技术学习笔记
  4. 读书笔记-赢在用户[1]:什么是人物角色?为什么要创建人物角色?
  5. Windows上解除宽带限速(网速明显提升)
  6. 关于void show(int b),void show(int b)与void show(int* b)的区别的举例与注解
  7. 成功的 Git 分支模型
  8. 分析了全国 3447 个地铁站后发现的秘密
  9. 安卓开发SlidingDrawer实现抽屉效果
  10. 有一家做BPM的公司叫K2,Gartner和IDC都说好!