No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习

**

HackTheBox-windows-Hackback-Walkthrough

**

靶机地址:https://www.hackthebox.eu/home/machines/profile/176
靶机难度:疯狂(6.5/10)
靶机发布日期:2019年5月29日
靶机描述:
Hackback is an insane difficulty Windows box with some good techniques at play. A GoPhish website is discovered which leads us to some phishing vhosts. While fuzzing for files a javascript file is discovered which is rot13 encoded. It contains sensitive information about an admin page which leads to RCE vulnerability. PHP disabled_functions are in effect, and so ASPX code is used to tunnel and bypass the firewall.
Enumeration of the file system leads to a code injection vulnerability in a configuration file, from which named pipe impersonation can be performed. Enumeration reveals that the user has permissions on a service, which allows for arbitrary writes to the file system. This is exploited to copy a DLL to System32, and triggering it using the DiagHub service to gain a SYSTEM shell.

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

一、信息收集

No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第1张图片
可以看到靶机的IP是10.10.10.128…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第2张图片
IIS在端口80上运行,而未知服务在端口6666上运行HTTPAPI,它允许应用程序之间进行HTTP 2.0通信,端口64831也开放着…No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第3张图片
应该是一头驴…应该不是马把…
gubuster爆破目录没发现有用的…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第4张图片
80信息收集没有用的,转到了http 2 的6666端口上…
访问发现报错…让我们尝试某些命令…试试
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第5张图片
命令:curl http://10.10.10.128:6666/whoami --http2
嗯,可以看到它以NT authority \ network service等信息作为响应的,/whoami列出了有关运行此服务的用户的信息…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第6张图片
list列出了目录存在的文件…
help帮助查看可以利用的命令都列举出来的…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第7张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第8张图片
针对端口搜索了下…
netstat发现了所有开放的端口,135.139.445.3389.6666.5985端口等等都运行着…
这里卡了一会…能查询到的信息,还是没暴露出可用的…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第9张图片
http的64831也没啥信息…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第10张图片
https的64831发现这是一个站点,还是GoPhish的登陆页面…Gophish是一个开放源代码的网络钓鱼框架…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第11张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第12张图片
可以看到搜索GoPhish页面,找到了默认的登陆账号密码:Username: admin Password: gophish
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第13张图片
成功登陆进来了…这里还google登陆了,火狐不稳定登陆这个页面
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第14张图片
可以看到在模板下,存在5封邮件模板…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第15张图片
这里发现了一个页面…子域名…
另外四个模板下,都存在了不同的钓鱼页面…添加到DNS都能访问,但是只有admin是子域名形式…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第16张图片
经过登陆admin.hackback.htb子域名应该是可利用的…往这走下去…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第17张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第18张图片
密码重置和注册页面都是404…查看下前端源码…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第19张图片
前端源码js/js,底层可能存在js的文件…爆破看看
在这里插入图片描述
命令:gobuster dir -u http://admin.hackback.htb/js/ -w /usr/share/wordlists/dirb/common.txt -x js
发现了private.js,去看看
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第20张图片
又是404???
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第21张图片
提示:您正在寻找的资源可能已被删除,名称已更改或暂时不可用。
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第22张图片
通过查看js目录…private.js文件包含一些混淆的javascript…注意到该ine x=模式在源代码中重复了几次…
ine它是var的rot13编码的字符串…进行转码试试
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第23张图片
是成功转码的…https://rot13.com/
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第24张图片
https://beautifier.io/
通过beautifier.io解码script信息…
这里只需要读取x z h y t s i k w即可
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第25张图片
F12打开浏览器JavaScript的控制台,将变量复制进去,输出即可…
为了安全登陆绕过行为,存在一个秘密目录/2bb6916122f1da34dcd916421e531578,找到该目录后应该含有注入?action…
该目录应允许我们访问,当我尝试访问该目录时,我得到了302重定向而不是404重定向,因此知道这是一个有效目录…(重定向到了登陆页面)
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第26张图片
爆破发现了存在/webadmin.php文件…去看看
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第27张图片
这里在浏览器很麻烦,开始利用burp suit,发现又重定向到了302…
回看JavaScript…获得的信息
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第28张图片
?action=show&site=hackthebox&password=&session=
?action=list&site=hackthebox&password=
&session=
?action=exec&site=hackthebox&password=&session=
?action=exec&site=hackthebox&password=
&session=
四种针对hackthebox进行注入组…
只有第二组和第三组有数据返回…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第29张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第30张图片
Wrong secret key!和Missing command…
提示错误的密匙和缺少了命令…缺少命令先不管…因为给的信息就这么多…密匙不对,可以找…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第31张图片
https://github.com/danielmiessler/SecLists
这里利用SecLists集成文本,感谢麻省理工的大佬们!!
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第32张图片
命令:wfuzz -c -w darkweb2017-top1000.txt --hw 0 --hh 17 'http://admin.hackback.htb//2bb6916122f1da34dcd916421e531578/webadmin.php?action=list&site=hackthebox&password=FUZZ&session='
利用wfuzz爆破获得12345678密码,marine无长度,先不管…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第33张图片
虽然还是302,但输出信息了:e691d0d9c19785cf4c5ab50375c10d83130f175f7f89ebd1899eee6a7aab0dd7.log
这里尝试修改了很多地方…但是返回的不是命令错误,302输出的信息…
这只单单是admin.hackback.htb子域名的登陆页面获取了以上信息…
继续对Gophish五大模块中获得到的域名进行分析…
www.hackthebox.htb
www.twitter.htb
www.paypal.htb
www.facebook.htb
这四个域名都添加到DNS…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第34张图片
先分析第一个…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第35张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第36张图片
可以看到,当我在www.hackthebox.htb的页面输入用户名密码…在之前的注入中都能显示出来…
测试后,只有show+session才可以显示出来…
这里list和show都是php中的命令…这里进行了php注入的测试…
emile输入:
password输入:
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第37张图片
说明存在php注入,可以利用php进行写入和读取…测试看看
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第38张图片
当我在www.hackthebox.htb页面passwd输入:
输出的是dir查询到本目录下存在的文件信息…可以读取…继续测试写入
利用file_put_contents在目标上写入文件…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第39张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第40张图片
在password输入:
已经成功写入了该文件…
继续输入:
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第41张图片
可以看到…读取了文本的刚写入的信息…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第42张图片
命令:
返回上一目录查看,web.config和web.config.old查看下…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第43张图片
命令:
userName=simple
password=ZonoProprioZomaro:-(
发现了用户名密码…

二、提权

测试结果可以读取可以写入…而且内容需要base64才可以写入…
这里的思路是,找到可写入的文件,或者自己写shellcode进行提权即可…
可以知道前面5985端口运行着,可以使用winrm进行登陆…
**
https://github.com/sensepost/reGeorg
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第44张图片
跟着步骤走即可…

编译tunnel.aspx为base64
命令:
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第45张图片
结果很好,隧道建立了
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第46张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第47张图片
这里出了点错误…问题不大
很好,建立了链接…
https://github.com/Alamot/code-snippets/tree/master/winrm
这里使用winrm的winrm_shell_with_upload.rb来写EXP即可…
wget https://github.com/Alamot/code-snippets/raw/master/winrm/winrm_shell_with_upload.rb 下载即可
开始写入EXP即可…
这里需要:
userName=simple
password=ZonoProprioZomaro:-(
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第48张图片
开始开始,这里有点坑…
1.记得是https改成http…
2.账号记得加hackback不然链接补上…
3.urllib3库完整性问题
这里坑了我点时间…不过也算熟悉了
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第49张图片
成功连接…
在这里插入图片描述
此脚本包含恶意内容,已被您的防病毒软件阻止…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第50张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第51张图片
查看了防火墙,默认为禁止进出,制定了两个规则,在两个位置允许ping和使用三个端口…都没启用出口流量限制…
这里本来是可以利用proxychains3 winrm_shell_with_upload.rb进行upload的,因为winrm具有UPLOAD下载功能,winrm_shell_with_upload的RB中针对winrm的upload写了EXP代码,但是我无法执行!!!目前还在找原因…只能用老版本winrm_shell.rb进行连接,如果用upload直接就能用NC反弹个shell即可…
继续在内部找漏洞吧!!!
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第52张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第53张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第54张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第55张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第56张图片
可以看到clean.ini 定义了三个变量,这里有隐藏文件dellog.bat,它会随着batch.log开始和停止时间进行更新运行dellog.ps1,然后循环遍历所有bat文件并运行…
这里只需要将nc执行反向shell的命令写入clean.ini即可…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第57张图片
这里我将proxychains winrm_shell.rb改成了proxychains3 upload,遇到了几个问题…实在无法解决,通过ippsec解决了问题,感谢大佬!
成功上传NC…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第58张图片
命令:

echo [Main] > C:\util\scripts\clean.ini
echo LifeTime=100 >> C:\util\scripts\clean.ini
echo "LogFile=c:\util\scripts\log.txt & cmd.exe /c C:\windows\system32\spool\drivers\color\nc.exe -lvp 8888 -e cmd.exe" >> C:\util\scripts\clean.ini
echo "Directory=c:\inetpub\logs\logfiles" >> C:\util\scripts\clean.ini

等待几分钟…成功获得了反向外壳…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第59张图片
方然还可以这么提权…但是获得的shell会快很多,但是无法进入hacker…还是得回到前面的方法…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第60张图片
成功获得了user信息…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第61张图片
在查看系统时,发现一个无法识别的服务正在运行着…UserLogger.exe
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第62张图片
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第63张图片
Description表示它负责记录用户活动,我尝试用以下方式启动该服务,可以看到它被允许启动和停止服务…
开始进行测试,创建了一个测试文件test.txt然后重新启动了服务,通过附加.log到我给的路径并保存在那里,读取创建了日志…
**F:**可以看到日志文件的权限是完全打开的,并且可以更改内容…

方法1:

可以利用:删除.log文件,进行直接查看root信息
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第64张图片
想法是可行的,直接开始
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第65张图片
已经在desktop下创建了root.txt文件…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第66张图片
有效果的,复制出来了…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第67张图片
成功查看了root…是个图像…
wget https://docs.microsoft.com/en-us/sysinternals/downloads/streams
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第68张图片
这里将利用Streams查看desktop底层数据信息流,上传即可… (前面几章也讲过类似的底层查看数据流)
也可以利用powershell查看数据流…但需要进入desktop目录…所以这是在管理员权限下利用的…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第69张图片
成功上传…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第70张图片
命令:c:\windows\system32\spool\drivers\color\streams.exe -accepteula root.txt
.log是UserLogger生成的,所以只需要查看flag.txt即可…成功获得了root真实信息…
**

方法2:

2018年4月,谷歌的项目发布了一篇文章Windows漏洞利用技巧:利用任意文件写入来提升本地特权。
这是一个漫长而复杂的文章,它涉及几个有趣的漏洞,但与如何从任意写入中获取SYSTEM的论点相类似,这篇文章中的TL和DR是DCOM公开DiagHub的服务,可以指示该服务从system32系统内部加载dll ,实际上,在执行此加载操作时,它无需检查文件的扩展名即可执行此操作。因此只要可以将dll写入system32,就可以要求DiagHub为此加载它…
**
一个更著名的例子是Sandbox Escaper的ALPC漏洞,该漏洞利用了用户调用高级本地过程调用(ALPC)端点以更改文件权限的能力C:\Windows\tasks\UpdateTask.job,该文件默认情况下不存在,用户可以将其创建为与其他文件相关联的硬链接,并获得写访问权限。在原始POC中,作者方法是重写printconfig.dll,然后使用假脱机服务来调用它。但是RealOriginal在GitHub上有一个poc,它使用现已打补丁的漏洞利用\windows\system32\license.rtf进行dll覆盖,然后使用DiagHub调用它…
github:https://github.com/realoriginal/alpc-diaghub
这里将利用realoriginal/alpc-diaghub的源码进行提权,我不是开发出身,只有能力利用了…谢大佬

**
这台靶机已经把以上的方法都修补了…但是靶机存在UserLogger可以利用写入SYSTEM32,创建.log,并创建恶意DLL覆盖到.log内,然后调用DiagHub进行加载执行shellcode,从而提权…

**
制作恶意dll,需要环境:
https://github.com/decoder-it/diaghub_exploit —下载源代码
https://blog.csdn.net/liubing8609/article/details/82695402 —安装visual studio 2017 进行制作恶意dll…
记得本靶机已经存在Applocker应用控制策略,限制了大部分代码执行,开始吧…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第71张图片
利用diaghub_exploit打开后,将diaghub_exploit生成,出错了…找不到SDK版本选择10.0.17134.0…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第72张图片
选择属性,出来界面SDK版本选择17763即可…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第73张图片
Fakedll–属性,也要选择17763…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第74张图片
diaghub_exploit–生成,成功生成了项目…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第75张图片
Fakedll重新生成库…成功生成…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第76张图片
修改,重新生成即可…这里提示的是写入的恶意shellcode的.bat文件,需要执行的目录环境…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第77张图片修改,重新生成即可…同理上
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第78张图片
在release目录找到前面成功生成的两个项目文件…dia…exploit.exe和FakeDll.dll…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第79张图片
简单的一句话shell…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第80张图片
利用proxychain的tunnel进行上传三个文件至color即可…(这里存在小坑!)
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第81张图片
可看到UserLogger生成的dayu.log文件byte58,当copy过来后增长了…这是查看是否copy成功…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第82张图片
可以看到这里遇到了很多坑…我做了不下5次,创建了很多exe和dll去反复填坑测试…遇到的坑我非常开心,都填满了…
这里执行即可…
然后查看端口服务是否开启…8888端口成功启用了…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第83张图片
proxy nc成功监听获得了反向外壳…system管理员权限!
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第84张图片
这里按照方法1,我们已经知道含有数据流的坑…前面也说了不需要利用stream.exe即可查看…
利用powershell自带功能,查看到了root文本位置…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第85张图片
查看即可…还是一头驴…
No.82-HackTheBox-windows-Hackback-Walkthrough渗透学习_第86张图片
前几篇文章也演示过powershell可以通过/a /r查看底层数据量…
成功获得root,flag信息…

通过UserLogger的可写可读利用,我相信这里还有很多种更简洁的方法可以利用…期待
这里感谢ippsec大佬的帮助,在proxychain3 ruby xxx.rb这儿我卡了整整大半天,是因为gem的问题导致的…

这又是一篇非常难的靶机,由于HTB卡的问题,我都是凌晨大晚上才操作…应该是反复做了7遍…
非常舒服,提升也很大,加油!!

这里推荐一个ippsec讲解的AppLocker Bypass COR Profiler绕过漏洞视频,我看完了,很NICE…
https://www.youtube.com/watch?v=T91iXd_VPVI --AppLocker Bypass COR Profiler ippsec

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

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

在这里插入图片描述

你可能感兴趣的:(Hack,The,box,python,linux,java,安全,数据库)