VulnHub靶机-Ripper |红队打靶
2023-6-12 07:31:35 Author: 0x00实验室(查看原文) 阅读量:24 收藏

 声明:该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作。本公众号的技术文章可以转载,能被更多人认可本文的创作内容属实荣幸之至,请在转载时标明转载来源即可.也欢迎对文章中出现的不足和错误进行批评指正!

实战打靶系列第 15 篇文章 

    一般在获取靶机的初始shell后,会进行提权,可以先查看home目录下的用户,因为有可能需要这个用户来做跳板去获取root权限;然后可以查看有没有sudo滥用,定时任务,suid文件,或者home目录下另外一个用户时宿主的文件等等,但是,往往有一个很容易被忽略,历史命令的查看。

主机发现

sudo arp-scan -l

那么靶机的ip:192.168.56.118

kali的ip:192.168.56.102

信息收集

开放端口以及服务版本,操作系统类型版本探测

扫描开放的端口

nmap -p- 192.168.56.118

扫描开放的端口运行的服务版本和操作系统的版本

nmap -p22,80,10000 -sT -sV -O 192.168.56.118

22端口是ssh服务,80端口是apache的http服务,10000端口是webmin的一个http服务,操作系统探测是Linux 4.15 - 5.6

访问80端口

apache的默认页面

对80端口进行目录爆破

dirsearch -u http://192.168.56.118

没有任何可以利用的文件和目录,可以去指定文件后缀进行爆破,但是也是没有任何收获

访问10000端口

需要去用https进行访问,但是这样子访问域名访问不了,需要修改host文件,可以直接访问ip加端口,将http修改成为https即可

发现是一个webmin的登录框,使用一些常见的弱口令进行登录,登陆不了

尝试使用searchsploit webmin ,查询关于这个cms的漏洞,发现又远程代码执行,但是需要身份验证,那么只能先放弃这条途径

对10000端口进行目录爆破,发现爆破的速度非常慢,那么尝试手动去检测一些常见的目录或者文件

比如robots.txt

发现有base64加密,使用kali进行解码

解码之后,意思为可以使用rips去扫描php代码,这样子的话,那么目标上面应该存在rips这个工具

rips是PHP源代码审计工具,访问它只需要在url后面加上对应版本的rips名称或者直接rips

那么尝试在10000端口后面添加rips(因为不知道rips的版本)

发现没有rips的页面,去80端口尝试使用

发现80端口可以访问rips

账号密码发现获得初始shell

rips这个页面可以去检测指定路径下的所有php文件,看是否存在漏洞

因为apache的默认服务是在/var/www下面,那么可以去s扫描/var/www或者/var/www/html

所以扫描/var/www比较全面

发现去确实爆出了很多的漏洞,尝试对一些文件包含进行利用

没有办法包含文件目录之外的,尝试包含文件目录之内的

那么这些文件包含仅仅只是能包含文件目录之内的

注意到rips有search的功能,尝试去查找是否会有包含pass,user,passwd,username字段内容的文件

当去查找有pass的文件时,出现了一个echo "pass:"

查看具体的文件

发现账号密码

拿到账号密码之后,第一时间想到了10000端口的登录框,尝试登录

登陆不了,根据信息收集,发现有22端口

尝试22端口的登录

成功登录。获取了初始shell

提权

第一次提权(cubes)

没有suid文件,也没有定时任务和sudo滥用

方法一:查看你home目录下的用户,find命令查看根目录下宿主时cubes的文件

find / -user cubes -type f 2>/dev/null

逐个查看,当查看到/mnt/secret.file(但是其实一眼可以看出secret这个单词,秘密的意思,这就很可疑)

发现密码,这个文件又是cubes用户的,那么而且还用户试试

切换成功

方法二:历史命令的查看

history

发现secret.file文件

直接查看登录

第二次提权(root)

方法一:subes是宿主的文件

find / -user cubes -type f -exec ls -la {} \; 2>/dev/null

这条命令会返回很多的文件,使用grep过滤掉含porc目录的文件和png后缀的文件

find / -user cubes -type f -exec ls -la {} \; 2>/dev/null | grep proc -v | grep '.png' -v

对这些文件的逐个查看,当查看到最后一个, /var/webmin/backup/miniser.log,webmin的日志文件

既然是webmin的日志文件,那么额尝试webmin的登录

登录成功

来到这个页面

一、直接在other下,有一个root权限的shell

拿到flag

二、也可以利用前面searchsploit webmin找到的远程代码执行(msf,因为已经有账号密码进行了身份验证)

设置账号密码,rhost,lhost信息,还得将ssl设置为true,因为10000端口时https进行访问的

直接run

获得root权限

方法二:历史命令查看

在第一次提权历史命令的查看,还发现了root用户操作了webmin的日志文件

查看日志文件

同样操作

拿到flag

参考资料:https://www.aqniukt.com/goods/show/2434?targetId=16289&preview=0

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDY2MTUyMA==&mid=2247490601&idx=1&sn=31e48401e0d7d133d3fc34f84aa61321&chksm=cfd863d6f8afeac01207a6dabacd686b9bc9dbf2ca23c2fe57ec69e5164bc8175479c25ba86b#rd
如有侵权请联系:admin#unsafe.sh