Post on: Jul 8, 2025Last edited: Jul 8, 2025
Words 1971Read Time 5 min

type
status
date
slug
summary
tags
category
icon
password

Empire Breakout

靶机地址:https://www.vulnhub.com/entry/hack-me-please-1,731/ 攻击机ip:192.168.108.50 靶机ip: 192.168.108.131

信息收集

端口扫描与Web服务发现

notion image
图片.png
发现开了三个端口
![[Empire-Breakout/图片 1.png]]
先去正常访问一下
![[Empire-Breakout/图片 2.png]]

源码分析与Brainfuck解密

发现是apache默认页面,看一下源码
![[Empire-Breakout/图片 3.png]]
翻到最后面发现一段加密信息,这里用的是Brainfuck 语言编写的代码片段,像这钟伪装加密很好破解,破解完是
扫描一下端口,没发现什么东西,139和455则为Windows 文件共享(SMB 协议)端口,尝试访问10000和20000
![[Empire-Breakout/图片 4.png]]
![[Empire-Breakout/图片 5.png]]
发现是两个不同的登录系统,一个是Webmin一个是用户的,尝试万能密码和弱密码,查看页面源码,无果
结合之前拿到了用户的password,接下来的任务应该就是找用户名了

SMB枚举

尝试扫描发现报错,查了发现是kali默认使用smb1,而且大部分都目标服务器都默认禁用了 SMB1(因为存在安全问题,例如永恒之蓝) 解决方案:使用 smbclient 加上 --option 强制使用较新的协议:
发现两个共享文件夹,尝试枚举,首先print
发现匿名-N无法访问 print$ 共享目录也就是说目标 Samba 服务开启了访问控制 尝试访问ipc
发现成功连接接下来尝试利用 IPC$ 进行枚举和信息收集,可以使用 rpcclient 连接 IPC$ 来枚举信息,也可以用enum4linux-ng 自动化信息收集,这里选择用enum4linux-ng
它会自动尝试 Null Session 登录,并收集:
  • SMB 版本
  • 主机名/工作组/域名
  • 用户列表
  • 共享资源
  • 操作系统信息
?这里用enum4linux-ng没出来,用enum4linux出来了
总结一下,

用户枚举成功(RID 循环)

  • cyber(Unix 本地用户,UID=1000)
  • nobody(Samba默认用户)
  • None(组名,看起来像是默认/无分组)
这意味着系统中至少存在一个有效本地用户 cyber

初始访问

Webmin登录

有用户有密码,登录20000端口
![[Empire-Breakout/图片 6.png]]
成功进入,一番搜寻之后拿到了第一个flags
![[Empire-Breakout/图片 7.png]]

权限提升

利用Tar能力读取敏感文件

继续提权,先查看第二个文件,发现隶属于root文件下,也就是说,在一个普通用户的主目录中有一个 由 root 拥有、可执行的 tar 程序副本
![[Empire-Breakout/图片 8.png]]
发现不是suid程序,那就换个思路,查看一下文件能力
![[Empire-Breakout/图片 9.png]]
这个 tar 程序启用了 Linux 的 capability(能力位) cap_dac_read_search,并设置为 ep(effective + permitted) 这是 Linux 的一种特权能力,允许进程绕过文件系统的读/执行权限检查,相当于让它能读取/搜索本不属于它的目录或文件内容
尝试将etc下面的shadow打包出来

密码破解与备份文件发现

这是 Yescrypt 格式的密码哈希(以 $y$ 开头),是现代 Linux(如 Shadow >= v4.8)默认采用的一种更安全的哈希方式
yescrypt的加密hashcat尚不能稳定破解,这里使用john,发现也爆不出来
看教程说是在/var/backups下有一个密码的备份文件

获取Root权限

拿到root密码尝试登录,发现一到输入密码就打断,无法直接登录
反弹一个shell到kali上,再尝试登录,成功拿到最后一个flags

Loading...