使用可信证书配置PowerShell Empire
作者:Carrie Roberts
注意: 本文提及的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习资料,并可能为现代工具和技术提供更新或集成思路。
使用可信证书和非默认Empire选项将有助于提高在网络中成功建立会话的几率。请按照以下说明进行设置。
获取签名数字证书
首先使用Let’s Encrypt为服务器获取签名数字证书。访问https://certbot.eff.org/获取说明。以下以运行在Debian上的Apache为例:
-
在Jessie Backports Repo中添加以下行到sources.list文件(本例中为
/etc/apt/sources.list
):1
deb http://ftp.debian.org/debian jessie-backports main
-
使用以下命令更新:
1
sudo apt-get update
-
安装Certbot包:
1
sudo apt-get install python-certbot-apache -t jessie-backports
-
运行apache插件:
1
sudo certbot --apache
此过程将提示回答一些问题。注意:需要有一个指向服务器的域名(价格便宜,直接购买一个),因为Let’s Encrypt不会为裸IP地址颁发证书。或者,可以使用自签名证书(如https://attackerkb.com/Powershell/Powershell_Empire所述),这不需要域名。
配置证书供Empire使用
将cert.pem和privkey.pem合并为同一文件供Empire使用(感谢Joff):
|
|
停止Apache以便端口80和443可用于Empire监听器:
|
|
配置Empire监听器
在Empire中使用类似以下选项。注意:更改jitter和默认配置文件是为了避免会话检测并提高成功建立会话的几率(感谢Derek):
|
|
提示: 有关编写监听器启动脚本的提示,请参见https://www.blackhillsinfosec.com/how-to-script-startup-of-empire-listeners/。
生成PowerShell载荷
现在端口443上有一个HTTPS监听器。可以使用以下Empire命令生成在受害者机器上运行的PowerShell命令以建立会话:
|
|
建立会话
将生成长PowerShell命令复制并粘贴到受害者的cmd.exe中,通过HTTPS与可信证书建立会话。
*特别感谢Joff Thyer和Derek Banks提供的想法和帮助。