环境搭建
kali(攻击机,NAT):192.168.96.4
靶机(linux,NAT):ip未知
信息收集
主机探测
netdiscover -i 监听网卡
发现96网段存活主机,猜测是96.5为靶机地址
端口扫描
nmap -sS -v 192.168.96.5(高校快速的扫描,TCP半链接扫描)
nmap -A 192.168.96.5(全面扫描,更全面)
fscan既可以扫端口又可以扫漏洞,同时还可以对端口服务进行爆破
22端口是ssh服务,一般是爆破,80是http,也就是web服务,我们先从80端口下手
访问http://192.168.96.5/flag/
拿到第一个flag
扫描敏感目录
whatweb查看web环境
敏感目录分析
/flag前文已拿到flag
/assets/资源文件目录
/admin_area/
在网页源码中泄露了信息,admin/3v1l_H@ck3r
/robots.txt
漏洞利用
之前扫描的信息得知
存在登录界面login.php,访问并使用之前的用户账号密码登录
登录后是一个文件上传的接口,猜测存在文件上传漏洞
直接上传一句话木马
寻找文件路径,之前nmap扫出文件路径/uploaded_files,猜测即为网站上传的文件存放处
验证,成功执行自定义函数
网站根目录
PHP禁用函数
上线蚁剑
在web目录下找到hint.txt,其实之前如果想到访问hint.txt,也可以直接访问,只是网站扫描工具没扫出来
找到第三个flag,并且提示寻找technawi用户的密码去读取flag.txt
直接打开flag显示为空
应该是用户的限制,毕竟我们拿到的shell只是www-data用户
此时我们需要找到testnawi用户的密码来远程登录主机,得到flag.txt的权限
现在需要寻找隐藏文件来得到该用户的密码
find / -user 'technawi'
过滤所有错误信息find / -user 'technawi' 2>/dev/null
找出根目录下属于technawi用户的文件并过滤错误信息
发现一个特别一点的文件,查看该文件的权限
发现其他用户也可以读取该用户的文件,而要得到的flag.txt的权限限制了其他用户读取
查看该文件,得到flag4
拿到了technawi用户的密码,登录
至此flag全部获取
提权
sudo su root
知识点总结
1、信息收集(主机存活发现、端口扫描、web服务探测、网站敏感目录扫描)
2、文件上传(PHP一句话木马、蚁剑上线)
3、linux文件权限
4、sudo提权
参考文章
https://blog.csdn.net/Eastmount/article/details/105423490?ops_request_misc=%257B%2522request