二十四桥明月夜,玉人何处教吹箫? —— 杜牧《寄扬州韩绰判官》
一、信息收集
首先使用nmap来扫描一波存货主机,找到我们的目标IP:
得到目标IP后,我们继续使用nmap扫描一波端口:
发现只开放了80和22,那就先看看web页面,实在不行就来爆破ssh:
访问web页面,根据wappalyzer得到的信息显示,目标靶机,并没有使用CMS,可能是自建系统:
逛了逛,发现页面比较少,尝试目录扫描看了看,发现也没啥隐藏的页面:
二、外围打点
既然信息收集已经差不多了,那就直接开始漏洞搜集,先上了一波xray:
漏扫发现,我们的目标靶机存在SQL注入,我们尝试进行手工验证,抓包分析后,结果如下:
手工验证发现确实存在漏洞,并且还是union型的。我们直接上sqlmap利用一波,跑一下数据库数据。
首先拿到数据库列表如下:
得到当前数据库为staff,跑出表结果如下:
重点关注user表,得到表中数据如下:
拿到admin账号的密码后,我们在线破解一波,成功得到密码:
我们在看看users表,得到一大堆用户名密码,还是明文的,害。
我们进行登录,登录后发现存在提示说file不存在,所以考虑可能可能存在本地问价包含漏洞:
但是我们并不知道是否能够通过传参控制,也不知道使用的是那个参数。所以只能爆破试试了:
我们使用bp爆破,成功获取到参数file。于是考虑使用包含日志的方式来getshell;所以先加个马到日志中,然后使用其默认位置进行包含:
发现没有日志文件???,艹了,挨着试试其他日志文件或者其他位置,结果发现只要是能记录我当前操作的日志文件都没了,离谱,得出一个初步结论是靶机作者脑子毛病了。
没办法了,想入僵局的我只能看看前辈们的打靶过程,才发现要看进程来利用系统中安装的工具。害。
knoxkd是一个隐藏服务器的工具,具体介绍可以看:https://www.sohu.com/a/239577838_185201
我们读取一下他的配置文件:
我们此处可以使用两种方法来敲击端口,解锁我们的22端口:
for x in 7469 8475 9842;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.56.112;done for x in 7469 8475 9842 22 ;do nc 192.168.56.112 $x;done
此处我们使用第二种方法即nc进行敲击:
可以看到我们的SSH服务已经开放了,所以就可以进行登录了,用户太多,我们先使用hydra筛一遍,看那些用户可以登录,此处就算是成功getshell了。
三、权限提升
根据我们的hydra的爆破结果可见我们一共有l两个用户可以登录,我们是一个一个登录了看看,然后在janitor(上图没有爆破出来,是因为我密码输错了)用户目录下发现隐藏文件夹一个,其中存放了几新的密码:
我们家将这些密码添加到密码本中,继续进行爆破,成功得到一个新用户:
我们切换到该用户看看:
成功发现存在一个可以免密执行的SUDO文件。看看其作用,不过毛思思打不开,我们回到上上以及目录,成功发现了test.py:
看起代码,其作用貌似是将一个文件的内容写入到另一个文件中去。那就好说了,我们先向一个文件中写入一个无密码账户,然后再将该文件内容写入password文件。
看来无密码账户还不行,必须得要有密码的。先使用openssl生成一个账户:
将账户信息保存到文件中,执行脚本后切换到toor用户,成功得到root权限。