当前位置: 首页 > article >正文

vulnhub靶场【hacksudo】之search

前言

靶机:hacksudo-search

攻击:kali

都采用虚拟化,网卡为桥接模式

主机发现

使用arp-scan -l或者netdiscover -r 192.168.1.1/24

信息收集

使用nmap进行扫描

网站探测

访问网站后发现,有一个搜索界面

查看页面源代码,确定为目录型网站,并且脚本语言可能是php

进行目录扫描,使用dirsearch、gobuster、ffuf、dirb、dirbuster等工具

这里是gobuster进行扫描

gobuster dir -u http://192.168.1.49 -w /usr/share/wordlists/dirb/big.txt -x php,bak,txt,js,html -b 403-404

使用dirsearch的默认字典扫描

dirsearch -u http://192.168.1.49 -x 403,404

访问扫描目录

访问robots.txt,看到给出的信息,找到我,我是数字一搜索引擎,说这只是个玩笑,说白了,没啥

访问.env,发现有信息,给出APP_key,可能经过base64编码。并且下面给出数据库的类型以及端口,还有用户名和密码。以及一个日志的别名(可能是)

访问README.md,大概就是crawler.php是爬虫,index.php提供搜索,search.php提供搜索的返回

访问account,发现一堆php

经过点击后观察源代码,发现只有一个信息,就是提供了一个地址,而这个地址,可能就是其整个网站的源码地址。

访问这个地址,发现可以说与扫描出的一模一样,先下载,这个很重要

漏洞寻找

index.php中尝试搜索,看有什么

发现点击search按钮,就会跳转

查看页面源代码,发现点击这个按钮,是一个超链接

访问search1.php发现也是与之一样,不过多出几个菜单

查看页面源代码,这里可以发现涉及到其他的php文件,并且也有参数,是否这里可以访问其他的东西呢

使用ffuf定点测试,发现不行,那么可能是参数不止一个,毕竟这里给出的就已经有三个参数,可能还有隐藏参数。尝试测试参数,因为之前测试,发现默认界面的大小都是2918,这里测试的时候,直接过滤,为什么呢,因为参数接收不同,可能所做的处理不同,会导致显示不同,如果都是一样的话,那么找到这个参数,大概率也是一样的作用,换句话说,就是不管怎么样,都是加载同一个画面,如果真的有home.php这个文件的话,怎么会一直显示这个界面呢,如果没有home.php文件,也应该做其他处理,而不是直接200状态码在这个界面,所以,测试是否有无漏洞,可以通过这种方式

ffuf -c -w /usr/share/wordlists/dirb/common.txt -u http://192.168.1.49/search1.php?FUZZ=home.php -fs 2918

漏洞利用

找到me隐藏参数,测试,这里记住上面的默认显示字节是2203,所以还是要过滤这个,与这个默认不一样,代表可能有。发现确实有

这里测试的字典,是路径遍历,但是毕竟权限不够,所能读取的文件很少,那么是否可以访问外面的链接呢。这个参数是否还可以有其他操作,尝试测试

反弹shell

存在访问外部链接,那么就可以直接在kali设置一个脚本,然后让其访问

打开/usr/share/webshells/php/php-reverse-shell.php脚本进行编辑,设置为kali的地址即可。

然后在kali使用python打开一个简易的http服务

kalinc进行监听1234端口,当利用漏洞加载这个远程的链接时,就会出现反弹

内网信息收集

在这里搜索挺久,使用之前获取到的数据库的用户名和密码无法登录,然后查看网络连接状态,也只有3306端口开启,搜索具有SUID权限的文件,也没有可以利用的,寻找关键字的一些文件,也没有找到。

最终返回/var/www/html寻找,然后在account目录下的dbconnect.php找到一个连接数据库的用户名和密码,尝试再进行连接数据库,发现成功

查看数据库中的内容,发现两个数据库,但是其中无表

查看iformation_schema中的表,一眼看到小写字符的,就看他试试,因为一般在这个数据库中的表,都是大写字符的,而且这个数据库中的表,其实是一个单独的数据库

好吧,又是无权访问

那么到现在为止,我是已经找不到利用的点了,只能尝试爆破

查看有几个用户

把前面获取到的信息归档,这里的信息并非对应关系,只是整理

用户名密码
hacksudop@ssw0rd
johnMyD4dSuperH3r0!
monali
search

提权

使用hydra进行爆破

哎呀,终于找到了突破口

寻找具有SUID权限的文件

切换目录,并测试文件,可能是install或者调用install

访问gtfobins.github.io查看

但是测试发现,这里不管添加什么参数,都会报错,提示查看install的帮助,怀疑这里是调用install,并且还没有把用户的传参给install这个命令

查看install的位置

那么尝试使用临时变量,来执行我设置的install,尝试在当前目录下进行,发现还是不行

切换到/tmp目录吧

清除痕迹

虽然使用sed -i "/192.168.1.16/d" auth.log能够清除kaili的记录,但是记录了以哪个用户登录,虽然这不重要,不过我为了好看,排版,我全部置为空

总结

  1. 在寻找web攻击点时,收集信息很重要,不然可能连search1.php这个文件都发现不了,所以不能只依靠一个工具,或者说,不能只依靠一个字典,如果你的字典很强,那当我没说
  2. 对于存在传参的地方,都要去进行测试,不管是针对参数的测试,还是针对参数值的测试,都不要忽略
  3. 对于可能存在文件读取漏洞的地方,不止是本地,可能还有远程
  4. 这里还是信息收集的比较好,不然密码爆破都可能无法成功,所以,反弹shell成功后,还要在系统中使劲收集信息,备份文件,网络连接状态、内核等等
  5. 寻找到suid的文件后,要观察测试这个文件怎么触发的,这里其实给了一个c文件,就是用于分析的,一眼就是通过c编译的可执行文件,这里的提示比较明确,因为在有传参的情况下,还是提示查看帮助,那就是其本身不是install,可能调用的
  6. 对于临时环境变量,使用export会使得在当前终端具有优先权,就会先调用设置的,然后再调用系统中的

http://www.kler.cn/a/428496.html

相关文章:

  • PIC单片机HEX文件格式分析
  • 第二届国赛铁三wp
  • Saas Paas Iaas服务区别
  • 202009 青少年软件编程等级考试C/C++ 二级真题答案及解析(电子学会)
  • leetcode——轮转数组(java)
  • AI守护煤矿安全生产:基于视频智能的煤矿管理系统架构解析
  • hive分区分桶、数据倾斜总结
  • HTTP中GET和POST详细理解
  • webpack插件: CopyWebpackPlugin
  • 2024/12/8周报
  • 【5G】架构 Architecture
  • 智能系统复习
  • web复习(一)
  • 嵌入式蓝桥杯学习5 定时中断实现按键
  • 【Python]深入Python日志管理:从logging到分布式日志追踪的完整指南
  • 使用 pyperclip 进行跨平台剪贴板操作
  • SpringBoot中Selenium详解
  • RPA系列-uipath 学习笔记1
  • C++ Lambda表达式:语法、特点和原理
  • C++ 完美转发和左值右值
  • Oracle 12C DataGuard GAP 修复过程(RECOVER … FROM SERVICE)
  • 关于利用 EtherNet/IP 转 Profinet 网关模块实现罗克韦尔变频器接入西门子 PLC 的配置范例
  • Few Examples in MetaGPT
  • ORB-SLAM3源码学习:ImuTypes.cc:Eigen::Matrix3f RightJacobianSO3计算右雅可比矩阵
  • 跟着问题学15——GRU网络结构详解及代码实战
  • 计算机毕业设计hadoop+spark+hive图书推荐系统 豆瓣图书数据分析可视化大屏 豆瓣图书爬虫 知识图谱 图书大数据 大数据毕业设计 机器学习