【OSCP系列】OSCP靶机—devguru
【OSCP系列】OSCP靶机—devguru
一、主机发现

二、端口扫描
1、快速扫描

2、全端口扫描

3、服务版本探测

4、漏洞探测

发现git泄露,还有些许目录扫描

三、HTTP信息收集
1、首页

2、进行目录扫描

3、git信息收集

看来是网站的源代码

查找敏感文件

这里记录了数据库的账号密码

4、Adminer登陆

看数据库的用户信息

用john 对这个密码进行破解

爆破时间太长了,感觉没结果,不过看到是bcrypt 加密方法,是否可以更新密码呢
5、登陆后台
对用户的密码进行更改

更改密码

找到后台进行登陆

进入后台

四、Getshell
1、查找信息

这个地方看来可以执行代码,但是不知道用那种语言;看其他的地方,这里有个模板可用

使用,写入webshell,上面进行保存

尝试执行命令;执行成功

进行shell反弹

五、权限提升
1、提权至frank
1、翻找敏感文件

似乎是什么备份文件
2、将这几个文件下载下来
这个app.ini.bak文件好像是某个配置文件,价值可能更大

3、查看内容

通过浏览,确实是配置文件,进行筛选,看有无密码信息
1 | cat app.ini.bak | grep -C 10 pass |
我们通过grep 命令,筛选 有关 pass 的条数,并上下浮动10行;可以看到这里有mysql 数据库的其他账号密码

以及疑似有redis 数据库的存在

去靶机中看下是否有redis 的进程

没有;不过我们拿到了mysql 数据库的其他账号信息
4、重新登陆MySQL
注意,下面这个才是用户的密码

登陆进来

在user表中看到frank用户的信息

不过这个密码奇怪的很,不知道是哪种加密方法;后面的passwd_hash_algo给出了加密方式pbkdf2

本来还想尝试用pbkdf2的加密方式对密码进行修改的,结果一看,这个加密方式不仅需要有盐,还需要key,麻烦了很

在app.ini.bak中提到过密码的加密方式,有我们用过的bcrypt加密方法

我们直接把数据库的加密方法一同改掉

5、登陆后台
这里的后台在8585端口上,是一个Gitea 的私人仓库

直接登陆

成功登陆后台

6、提权至frank

这里显示了当前Gitea 的版本号;查找有无该版本的漏洞

复制过来利用

把他的参数凑齐

昂。。。利用失败;简单的看一下这个py 文件,这里的payload好像是写入了某个文件中

我们再执行一下(稍多等待一会儿),成功拿到了shell

2、提权至root
看下sudo -l

这里(ALL, !root) 表示所有用户组的 非root用户 可以使用,也就是说,我们不能以root 身份去执行这个东西;尝试一下先

当我们想用root 身份运行这个东西是需要密码(这里需要先进入交互式shell)
1 | python3 -c "import pty;pty.spawn('/bin/bash')"; |
这里陷入了僵局,看了下佬的文章说,这里的sudo 是存在漏洞的;具体的解释在 Linux Privilege Escalation | HackTricks

1 | sudo -u#-1 /bin/bash |

存在可能利用风险;我们改变sudo 的利用姿势

成功提权至root