SharpNoPSExec 会查询所有服务,并随机选择一个启动类型为禁用或手动、当前状态为已停止且具有 LocalSystem 权限的服务进行重用。
一旦选定服务,它会保存当前状态,将二进制路径替换为你选择的负载并执行。
等待 5 秒后,它会恢复服务配置,你很可能就会得到你的 shell :)
此工具的灵感来自 #OSEP 中对 PSExec 在横向移动中的解释,在阅读练习时,我意识到可以在不接触磁盘且不创建新服务的情况下执行横向移动,以避免检测。
███████╗██╗ ██╗ █████╗ ██████╗ ██████╗ ███╗ ██╗ ██████╗ ██████╗ ███████╗███████╗██╗ ██╗███████╗ ██████╗
██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗████╗ ██║██╔═══██╗██╔══██╗██╔════╝██╔════╝╚██╗██╔╝██╔════╝██╔════╝
███████╗███████║███████║██████╔╝██████╔╝██╔██╗ ██║██║ ██║██████╔╝███████╗█████╗ ╚███╔╝ █████╗ ██║
╚════██║██╔══██║██╔══██║██╔══██╗██╔═══╝ ██║╚██╗██║██║ ██║██╔═══╝ ╚════██║██╔══╝ ██╔██╗ ██╔══╝ ██║
███████║██║ ██║██║ ██║██║ ██║██║ ██║ ╚████║╚██████╔╝██║ ███████║███████╗██╔╝ ██╗███████╗╚██████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝
版本: 0.0.3
作者: Julio Ureña (PlainText)
Twitter: @juliourena
SharpNoPSExec.exe --target=192.168.56.128 --payload=""c:\windows\system32\cmd.exe /c powershell -exec bypass -nop -e ZQBjAGgAbwAgAEcAbwBkACAAQgBsAGUAcwBzACAAWQBvAHUAIQA=""
必需参数:
--target= - 要攻击的 IP 或机器名。
--payload= - 要在目标机器上执行的负载。
可选参数:
--username= - 用于向远程计算机进行身份验证的用户名。
--password= - 用户名的密码。
--domain= - 域名,若未设置则使用点号 (.)。
--service= - 要修改以执行负载的服务,负载执行完毕后会恢复该服务。
注意:若未指定服务,程序将随机查找一个服务来执行。
注意:若所选服务使用非系统账户,则会被忽略。
--help - 打印帮助信息。