vulhub Hackademic.RTB1
vulhub Hackademic.RTB1 walkthrough
0x01 端口扫描
主机发现:
全端口扫描:
只开了80,udp扫描:
详细信息扫描+脚本扫描:
好像开启了TRACE提交方法,开始web渗透:
0x02 web渗透
先跑起目录爆破,看前端:
go root可点
可疑参数p,测试idor:
报出cms是wordpress 1.5.1.1
看目录爆破结果:
有phpmyadmin页面,也印证了应该是wordpress的cms,但是403了:
TRACE也没暴露出什么有用信息:
改为审网页源码:
发现wp并不在网站根目录,也难怪刚刚没扫到,加上这个路径再次扫描,这次选深度扫描的dirb:
确实是一个wordpress的站,按wordpress的流程走:
wordpress渗透
用户名爆破:
1 |
|
直接上rockyou密码爆破:
跑了很久没跑出来,因为太慢决定换hydra对登录页爆破:
1 |
|
爆破的同时去看看暴露出来的xmlrpc.php能否利用:
参考:[[RPC#XML-RPC]]
可以利用,但是不知道凭据的情况下,只能尝试读文件了:
无法利用,跑起wpscan的漏洞扫描:
1 |
|
扫出16种漏洞,走投无路时来尝试这些公开漏洞
运气很好,hydra已经爆破出了密码,登录:
成功登录
研究了半天也没有传文件的地方,猜测是这个用户权限太低了
看到是level 1,应该是权限问题,毕竟该用户名是通过wpscan的简单枚举得到的,应该还有高权限用户,思路转为寻找其他用户
根据登录页面输错用户名的特殊报错wrong username尝试爆破:
1 |
|
没抱太大希望,但果然爆不出来,只能尝试利用刚刚的公开漏洞了:
xss不考虑,看到有注入漏洞,这给方向和我们的目标拿新凭据是吻合的,搜索相关利用:
可能的利用点在
index?cat
参数,尝试:
证实cat参数下存在注入点,
测到了布尔盲注,但因为不想写脚本,再测联合注入:
也有,那就联合查询注入:
1本身有东西,换0看回显点:
注意这里直接写wp_users报错,打引号会被转义也报错,故用十六进制
爆出数据
正常注入结束后也尝试了使用sqlmap:
必然是选择破解级别最高的
GeorgeMiller | 7cbb3252ba6b7e9c422fac5334d22054
GeorgeMiller@q1w2e3,登录:
有可以编辑php文件的功能:
0x03 内核提权
经过初步枚举未发现基础提权向量,查看内核版本很老,考虑内核提权:
跑linpeas:
基本确定是脏牛了,开始尝试:
- 最经典的40616先编译失败了
- 40611编译成功,但利用失败,没复制出来文件
- 因为没有g++,40847自然用不了
- 尝试40838:
编译成功,执行没反应
5. 尝试40839,编译失败
打脸了,脏牛可能不太行,linpeas误报,改为直接搜该内核版本的exp
这批先试这几个:
- 50135编译失败
- 15024编译成功,运行失败
- 15916和15944编译成功,运行报错一致
- 17787报错
继续细化,只看提权:
这几个都想试(悲):
- 14814编译成功,执行失败
- 15023编译失败
- 15774编译成功,执行失败
- 34923编译失败
- 44302编译成功,执行失败
- 34134编译失败
- 44299编译失败
- 26131编译失败
- 25450编译成功,执行失败
- 43345编译成功,执行失败
- 45553编译失败
- 45010编译失败
- 44298编译失败
- 44300编译失败
- 43418编译失败
- 47169编译失败
仍没有可以的利用,扩大范围将版本号缩短:
尝试新出现的两个:
- 8369执行报错
- 15285编译成功,执行成功
成功提权
0x04 反思补足
- wp渗透环节走了弯路,未注意公开漏洞sql注入:cms框架渗透前先搜公开漏洞,留个印象重点关注
- sql注入环节可以精简:cms框架渗透的数据库结构可以直接查到,节约大量时间
- 内核提权环节可通过缩短版本号扩大搜索范围,可grep限定Privilege(提权)相关利用
0x04 知识总结
wordpress渗透流程
- 目录爆破找登录页和确认rpc、api页面是否启用
- 信息收集找版本号
- wpscan扫描可用用户
- wpscan小字典爆破密码
- 若登录表单无限制,hydra跑rockyou爆密码
- 使用wpscan的ap参数枚举可能的公开漏洞,先大致留个印象,渗透过程中主要留意此类漏洞
- 拿到凭据后寻找文件上传点,若没有可先尝试用xmlrpc.php上传
- 仍然失败时考虑公开漏洞利用,sql注入(可拿其他高权限用户)优先
- 通过公开漏洞信息寻找注入点,此类开源cms甚至可以直接google出数据库结构便利注入
1 |
|
内核提权流程
- 跑linpeas,选probable的cve编号找exp
- 直接搜内核版本号+限定权限提升词条,排除无关发行版本的特定利用
- 缩短版本号扩大范围
- 去掉词条限定,考虑其他利用形式
- 直接google由
uname -a
的回显
1 |
|