vulhub W1r3s1.0.1
vulhub W1r3s1.0.1 walkthrough
0x01 端口扫描
主机发现
全端口扫描:
排序: 80 web、21 ftp、3306 mysql、22 ssh
详细信息扫描:
ubuntu、mysql、apache、ftp存在匿名访问,考虑把ftp优先级提前到web前
脚本扫描:
扫到了wordpress登录页面,先记下来
还是准备先从ftp渗透开始
0x02 ftp渗透
匿名空密码登录,换binary模式,发现三个目录,其中的文件都可读,全部get下来
02.txt 好像有些信息,先存下两个字符串
employee给了员工信息
worktodo说I don't think this is the way to root
,不知道它想表达什么
先去处理刚刚的两个字符串:
一个md5,一个base64,解码:
虽然他说不是密码,但还是先存下来
ftp渗透暂时应该结束了,转入web渗透:
0x03 web渗透
刚刚看到了有wordpress,先跑起gobuster目录爆破:
唯一的收获就是有admin后台,但是301了
再跑下dirb的:
收获只有uploads路径可以访问
web页面又是熟悉的ubuntu默认页面,省了不少事
可以直接去看wordpress登录界面了:
查看源码发现了好像是wordpress的版本4.9.24
尝试sql注入,不管输什么都会报无法连接:
很奇怪,为什么是跳转到了localhost?看源码:
果然是写死的跳转localhost
想了想好像也没有ssrf的点,突发奇想他的其他301页面可能也是这个逻辑,跳转到localhost,拿刚开始扫出来没管的administrator页面尝试:
一试发现是直接转到了另一个有效页面,居然能直接访问到管理页面
当时一看到管理页面是301就想当然的以为跳转的目标是登录界面,导致走了不少弯路
那么就顺着新线索往下走:
cms公开漏洞利用
该页面暴露了:php配置文件可写、php版本、可文件上传、cms为cuppa
点next前往下一个页面:
暴露了:
mysql:root可能是空密码
管理员账户:admin@admin
尝试连接数据库:
尝试ssh:
没办法,接着next:
反复测注入:
毫无收获
虽然并未发现cuppa的版本,但也只能尝试一下公开漏洞利用了
(实在不行就只剩wordpress的孤公开漏洞利用这条路尝试了)
在我们目前没有进到wordpress后台时,可能的利用只有25971(cuppa)和47690
看文档好像是个未授权的洞,谷歌后发现也是需要登录后才可能的利用
说这个页面写了可控的文件包含语句,尝试访问该页面:
没报404,有希望
没包含到,但是因为是request接收,尝试同时传个post:
文件包含模糊测试
包含成功了,尝试远程文件包含:
包含失败,应该是关掉了远程包含
尝试包含日志文件getshell:
1 |
|
测试了apache的几个常规日志路径,均失败
尝试data写马:
1 |
|
尝试data协议写马,失败
尝试包含ssh日志:
1 |
|
测试常见路径包含ssh日志getshell失败
尝试UA写马:
1 |
|
又失败了,麻了,感觉可以放弃rce了
转回读文件,先读读web路径下的:
没有回显,可能是web路径错了,但是保险起见还是拿passwd试试:
可以确定了,好像不能使用伪协议,也难怪前面的测试全都没用
从web路径拿配置文件这条路也断了
只能转回最开始的passwd看看了:
密码也都隐藏了
根本没抱希望的包含了shadow文件,意外的发现居然配置错误,我们能访问:
shadow破解
passwd和shadow存下来,unshadow一下,john破解:
解出了www-data的密码,先尝试登录www-data:
发现可能是有每次ssh后直接断开的自动脚本,之后提权可以注意
w1r3s的破解也成功了,这里应该已经可以结束了,毕竟不可能把root也让解出来
尝试登录到w1r3s:
拿到立足点
john历史记录问题
被 john 破解过的hash会被存储在john.pot中,再次破解会报错:
解决方法:
- 删除/root/.john/john.pot的内容
- 使用
john --show <文件名>
查看历史记录(推荐)
0x04 提权到root
刚准备开始提权坐牢,刚sudo枚举,发现是ALL:
拿到flag
0x05 反思补足
关于为什么测试的所有php伪协议均未成功:
该文件包含漏洞点已经写死了拼接的前半句路径,也就是为什么必须要目录穿越才能包含到的原因
0x06 看wp及视频后反思补足
nmap
- nmap全端口扫描时最好加入
-sT
参数,以发送完整数据包
- nmap -oA后,查看.nmap文件获得标准扫描结果
- 保险起见的udp扫描语句:
nmap -sU --top-ports 20 <IP>
- 所有路走不通时,必要时要考虑ipv6
ftp
- prompt关闭交互,即不用每次选确定
- mget *.txt 批量下载文件
杂
- ascii generator可生成ascii组成的logo
echo -n '<string>' | md5sum
可以md5编码
- 当发现cms存在公开漏洞时,甚至可以github等地查看源码,看代码逻辑
- 虽然此靶机ssh密码很弱,可以hydra爆破ssh登录达成秒杀,但打靶过程尽量不选择爆破ssh
0x07 总结
- 端口扫描:ftp匿名登录、web wordpress、ssh、mysql
- ftp匿名登录 :无有效信息
- web渗透:与wordpress相关页面均跳转localhost判断行不通;目录爆破出管理后台cms,存在文件包含公开漏洞,测试各文件包含姿势后,目录穿越拿到shadow文件,破解出ssh密钥
- 提权:sudo ALL直接提权