Author: @r00t-3xp10it
版本发布: v2.10.14
支持发行版: Windows (x86|x64), Linux
灵感来源: '@ZHacker13 - ReverseTCPShell'

这个 PS1 脚本在 Windows|Linux 攻击者机器上启动一个监听服务器,并生成一行 PS 反向 shell 有效载荷,该载荷通过 BXOR 进行混淆,附带随机密钥,并额外进行字符/变量混淆,以便在受害者机器上执行(载荷还会在当前会话中执行 AMSI 反射绕过,以规避 AMSI 检测)。你也可以通过 netcat 接收生成的一行反向 shell 连接(在这种情况下,你将失去 C2 功能,如截图、上传、下载文件、键盘记录、高级信息、后期利用等)。
meterpeter 载荷/投放器可以使用用户或管理员权限执行,具体取决于场景(以管理员权限执行客户端将解锁所有服务器模块、AMSI 绕过等)。投放器模拟一个虚假的 KB 安全更新,在后台下载\执行客户端到 '$Env:TMP' 可信位置,旨在规避 Windows Defender Exploit Guard。meterpeter 载荷|投放器是 FUD(请不要在 VirusTotal 上测试样本)。
Linux 用户需要安装 powershell 和 apache2 网页服务器;Windows 用户可选安装 python3 http.server 以在局域网中传递载荷。如果这些要求未满足,则客户端( Update-KB4524147.ps1 )将被写入 meterpeter 工作目录以供手动传递。

警告: powershell 在 Linux 发行版上仅支持 x64 位架构 ..

apt-get update && apt-get install -y powershell
apt-get install Apache2
service apache2 start
cd meterpeter
pwsh -File meterpeter.ps1
使用 '攻击向量 URL' 将 'Update-KB4524147.zip' (投放器) 传递到目标 ..
解压 (到桌面) 并执行 'Update-KB4524147.bat' (以管理员身份运行)..
如果执行了 dropper.bat:则客户端将使用 $env:tmp 作为其工作目录 ('推荐')..
如果攻击者决定手动执行客户端:则客户端的远程位置 (pwd) 将被用作工作目录。

安装 Python3 (http.Server) 以便在局域网中传递载荷 ..
https://www.python.org/downloads/release/python-381/
检查 python http.server 是否已安装
$Local_Host = ((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
python -m http.server 8080 --bind $Local_Host
CTRL+C # 退出网页服务器控制台
cd meterpeter
powershell Set-ExecutionPolicy Unrestricted -Scope CurrentUser
powershell -File meterpeter.ps1
备注
meterpeter.ps1 使用 python3 http.server 传递投放器/载荷。前提是攻击者安装了 python3。
'如果没有,则载荷 (客户端) 会写入服务器本地 工作目录 以便手动传递' ..
记得在目标接收到两个文件 (投放器及客户端) 后关闭 http.server 终端
'并且我们在 meterpeter 服务器中接收到了连接 { 以防止服务器|客户端连接错误 }'
将 'Update-KB4524147' (.ps1=手动) 或 (.zip=自动|静默执行) 传递到目标 ..
如果执行了 dropper.bat:则客户端将使用 $env:tmp 作为其工作目录 ('推荐')..
如果攻击者决定手动执行客户端:则客户端的远程位置 (pwd) 将被用作工作目录。
meterpeter 在 Windows 发行版下: https://www.youtube.com/watch?v=d2npuCXsMvE
meterpeter 在 Linux 发行版下: https://www.youtube.com/watch?v=CmMbWmN246E
@ZHacker13 (原始反向 Shell) | @tedburke (CommandCam.exe 二进制文件)
@codings9 (调试模块) | @ShantyDamayanti (调试模块)
@AHLASaad (调试模块) | @gtworek (EnableAllParentPrivileges)