打靶手记之hackmyvm--Birthday

信息收集

nmap -sP 192.168.56.0/24

图片

nmap -sC -sV -p- 192.168.56.105

图片

只有一个web,看一下web页面

图片

语言为php,但目录没有扫出来东西,所以突破点只有这个web页面了,试一下HTTP 参数污染

这里介绍一下什么是参数污染,引用一下老外的文章

参数污染

参数污染就是重复、省略或者修改请求中的参数,使得应用程序的后端逻辑出现错误。

举个例子

在一个转账系统里,用户通过发送一个包含了账户、接收者和金额的URL来发起一笔转账,url如下:

https://www.anybank.com/send/?from=accountA&to=accountB&amount=10000

系统将从 accountA 到 accountB 进行 一笔金额为10000 的转载,但当我们再添加一个重复的from参数。例如

https://www.anybank.com/send/?from=accountA&to=accountB&amount=10000&from=accountC

这笔 10000 的交易将从 accountC 而不是 accountA 中扣除,这就是参数污染。

对于不同语言,解析参数的情况不一样,如下图

图片

对于ASP.NET/IIS,如果一个参数在请求中出现多次,它会考虑特定参数的所有出现,例如par1出现了两次,其值分别是val1和val2,解析结果将包含这两个值。

而PHP/Apache里,如果参数出现多次,它将只考虑最后一次出现的参数。例如par1=val1和par1=val2都存在,解析结果将只使用par1=val2。

例如这样

?param=first_value&param=second_value

PHP将会忽略first_value,而只会接受并处理second_value。

现在明白什么是参数污染以后,我们来试一下这个靶机。

实践

再加一个参数为date=birthday,访问如下url,会跳转到下面页面

http://192.168.56.105/index.php?event=birthday&date=3881678400&date=birthday

图片

这个页面的内容是一些活动,特别像高中英语阅读理解的第一篇,哈哈哈

看一下这几个活动的详情页,把鼠标放在标题上可以看到对应的url

图片

里面有一个特殊的url,如下图,方便读者看清楚,麋鹿把url摘选出来

http://192.168.56.105/birthday_party_program.php?page=https://www.mcdonalds.com/

做CTF的同学可能一眼看出来这是文件包含,而且下面有一句提示

图片

ok,这就能证明存在文件包含了,下面还有一个计算日期的php页面,来包含一下

图片

确实存在包含,把

http://192.168.56.105/birthday_calculator.php?dob=00-11-11

换成路径file:///var/www/html/birthday_calculator.php,看一下birthday_calculator.php的源代码(ctrl+u)

图片

ok,来看一下上面的代码

eval()函数接受用户输入的值($_GET['dob']),这里就可以实现RCE,比如dob="; phpinfo(); //,只不过addslashes()会转义掉“,这个好绕,比如复杂变量

dob=${eval($_GET[1])}&1=phpinfo();

图片

弹个shell,记得把eval换成system

图片

看一下当前用户可以执行的sudo权限

图片

注意这个/usr/bin/zodiac无需输入密码即以chloe用户权限执行,不了解的可以去看上一篇文章。这里不再赘述

图片

看一下zodiac的动态链接库(so)

图片

看一下libzodiac.so的权限

图片

ok,现在的思情况如下:

当前www用户可以不需要密码执行zadiac程序,zadiac需要的libzodiac.so对所有用户都有写权限,也就是说www用户可以修改这个so文件,那么我们提权的思路如下

编写一个提权的so文件替换掉libzodiac.so,然后用高权限用户chloe运行zadiac时,我们自定义的so文件就会被加载执行

提权

在/tmp目录把如下代码(创建一个新的bash shell进程)写入priv.c

#include <stdlib.sh>

void get_zodiac_sign(){
  system("/bin/bash");
}

int main(){
  get_zodiac_sign();
}"

编译替换现有的/lib/x86_64-linux-gnu/libzodiac.so,然后用chloe用户执行zadiac

图片

看进程和网络

图片

找到一个ansible-playbook进程

PID=138424 | /usr/bin/python3 /usr/bin/ansible-playbook /etc/ansible/install.yml

看一下这个文件

图片

图片

那么现在提权的思路有如下几点:

1.修改/opt/script.sh文件

2.修改或替换/opt/packages/下的.deb

思路1无权限,故只有2思路可选,先来介绍Debian软件包的结构和文件形式

Debian软件包(通常以 .deb 为扩展名)是Debian及其派生Linux发行版(如Ubuntu)的软件包格式。目录结构如下

package/  DEBIAN/    control    postinst

控制文件control需要包含以下内容

  • Package: 软件包的名字。

  • Version: 软件包的版本。

  • Architecture: 软件包支持的架构(如 all, amd64, armhf 等)。

  • Depends: 软件包的依赖关系。

  • Maintainer: 软件包维护者的信息。

  • Description: 软件包的详细描述。

postinst则一般为shell脚本,需要执行权限。

打包成.deb文件命令如下

dpkg-deb --build package

创建并写入以下内容,给予权限,打包

图片

kali监听,替换airspy_1.0.10-2+b1_amd64.deb或者book_1.0.3-3_amd64.deb

flag在/root下

欢迎关注我们的公众号--麋鹿安全,我们的文章会第一时间发布在公众号。

往期文章

权限维持和排查

权限维持之加载动态链接库隐藏进程 tcp连接

继续谈维权手法之监控记录ssh su sudo账号密码 (qq.com)

别当初级猴子了,五分钟教你linux维权和排查思路,助你圆梦4k! (qq.com)

你不知道的win应急思路!从维权到排查,面试必问!不来看看?

只会netstat?最全应急排查网络连接思路,不学一下吗?

rootkit原理

初探rookit(另一种角度看维权) (qq.com)

从linux内核初窥LKM(抛砖引玉之rootkit隐藏进程 or tcp连接原理) (qq.com)

漏洞复现和利用手法

从0认识+识别+掌握nacos全漏洞(攻防常见洞)带指纹表和利用工具

从0认识+识别+掌握thinkphp全漏洞(超详细看完拿捏tp)文末带工具

从0认识+识别+掌握spring全漏洞(1.8w字超详细看完拿捏spring)文末带工具 (qq.com)

浅谈宝塔渗透手法,从常见漏洞 聊到 宝塔维权 再到 bypass disable_functions原理

从Reids漏洞聊到getshell手法,再到计划任务和主从复制原理

遥遥领先!java内存马分析-[Godzilla-FilterShell] (qq.com)

浅分析 Apache Confluence [CVE-2023-22515]

再谈宝塔后门账号维权

浅谈jenkins后渗透

一些工具和原理

浅析HackBrowserData原理以及免杀思路(红队工具之获取目标机器浏览器记录 密码 cookie)

浅析 后渗透之提取微x 聊天记录原理and劫持tg 解密聊天记录原理

魔改蚁剑之零基础编写解码器

一些渗透手法

打靶手记之hackmyvm--Registry(文件包含 缓冲区溢出 原理与利用) (qq.com)

浅谈水坑攻击之结合xss平台钓鱼获取浏览器记录和微信数据

试听课--水坑攻击之xss平台钓鱼上线以及后渗透流程 (qq.com)

试听课之小白快速理解xss钓鱼原理和手法 以及后渗透流程 (qq.com)

从绕过disable_functions到关于so的一些想法

windows获取hash常见手法 (qq.com)

CDN+Nginx反向代理来隐藏c2地址

CDN和域名隐藏C2地址 (qq.com)

云函数实现隐藏c2地址 (qq.com)

一些杂谈

考研考公失败,无实习无经验,找不到工作?还有其他赛道吗?(qq.com)

晚睡+过度劳累=双杀阳气!五年赛博保安养生法教你如何快速补救!(食补篇) (qq.com)

2023秋招如此惨淡,还有必要继续学安全吗?教你如何破局0offer (qq.com)

赛博保安hw讨薪总结(针对学生党) (qq.com)

再加一个打靶系列

如何快速提升渗透能力?带你打靶场逐个击破hackmyvm之001gift (qq.com)

打靶手记之hackmyvm--UnbakedPie (qq.com)

打靶手机之hackmyvm--connection (qq.com)

打靶手记之hackmyvm--tiny (qq.com)

打靶手记之hackmyvm--Birthday (qq.com)

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值