HTB_Funnel_ssh隧道转发

news2024/9/22 11:41:59

文章目录

    • 信息收集
    • hydra ssh 暴破
    • ssh 隧道转发 postgresql 流量
    • postgresql 使用
    • 动态端口转发

信息收集

nmap -sC -sV 10.129.143.249

在这里插入图片描述

账号密码 Anonymous:ftp

在这里插入图片描述

发现两个文件,下载

在这里插入图片描述

默认密码 funnel123#!#

在这里插入图片描述

一封邮件

在这里插入图片描述

邮箱名可能是用户名

在这里插入图片描述

hydra ssh 暴破

hydra -L usernames.txt -p 'funnel123#!#' {target_IP} ssh

在这里插入图片描述

登录

ssh christine@10.129.228.195

ss 命令获取计算机 socket 统计信息,发现运行着 postgresql 数据库

ss -tln
ss -tl

在这里插入图片描述

在这里插入图片描述

ssh 隧道转发 postgresql 流量

目标主机不能运行 psql管理工具,且无权限下载,使用 ssh 进行流量转发

在这里插入图片描述

# 将本地 1234 端口流量转发到目标主机的 5432 端口
ssh -L 1234:localhost:5432 christine@10.129.140.166

(注:本地端口转发未复现成功,在HTB的环境才复现成功)
在这里插入图片描述

# 连接数据库 通过本地 1234 端口
psql -U christine -h localhost -p 1234

在这里插入图片描述

为什么目标主机没有 psql 环境还能执行命令呢?在解释器敲下一个命令发生了什么?

  • 首先,shell 解释器会对敲入的命令进行语法解析,分解成一个个 token (token是最基本的单元),psql 是命令,-U、-h、-p 是选项,christine、localhost、1234 是参数
  • 语法解析过程如下
    • 判断这是一个绝对路径还是其他,是绝对路径就直接由 bash 去执行
    • 如果是其他就判断是否是一个别名命令,是的话将其展开为原始命令
    • 判断是内部命令还是外部命令,是内部命令就执行
    • 如果是外部命令就到 PATH 变量中遍历寻找,找到命令路径就会往下执行,找不到就抛出异常
  • shell 解释器会到磁盘的 PATH 变量中查找 psql 命令的路径,经查找在 /usr/bin/psql
  • 磁盘会告诉系统内核 psql 命令的位置,加载 psql 二进制可执行程序到内存
  • 系统内核首先查看内存是否有足够的空间,有就创建进程加载代码,整个进程进入就绪队列
  • 内存执行 psql 命令,将结果返回给解释器

也就是说已经获取到 psql 源码,然后再去转发

(如有理解错误,还望指出)

postgresql 使用

# 查看数据库
\l;
# 选择数据库
\c secrets;
# 查表
\dt;
# 查数据
select * from table_name;

在这里插入图片描述

动态端口转发

# 绑定 1234 端口
ssh -D 1234 christine@{target_IP}

编辑 proxychains 配置文件

vi /etc/proxychains4.conf

建立本地 soket 代理

在这里插入图片描述

proxychains psql -U christine -h localhost -p 5432

在这里插入图片描述

  • 本地端口转发:本地机器和中间机器之间建立一条通信隧道,将本地机器某个端口的流量通过这条隧道转发到远程机器的端口

  • 本地机器不能访问远程机器,中间机器可以访问远程机器,本地机器可以ssh登录到中间机器,这种情况下可以使用本地转发

    在这里插入图片描述

  • 远程端口转发:本地机器和远程机器之间建立一条通信隧道,远程机器某个端口的流量会通过通信隧道转发到本地机器能访问到的机器上

  • 两个远程机器不能相互访问,但本地机器可以访问这两个远程机器,这个情况用远程转发

    在这里插入图片描述

  • 动态端口转发:本地机器特定端口的流量会通过远程机器转发出去,并没有指定目的地,而正向代理在建立 ssh 通道时就确定了

  • 本地机器可以ssh登录到远程机器,如果想让远程机器变成SOCK4和SOCK5代理服务器,这种情况可以使用动态端口转发

    在这里插入图片描述

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

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

相关文章

Redis_主从复制

一、介绍主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。二、作用读写分离,性能拓展容灾快速恢复(一主多从)三、搭建配置1、创建/myredis文件夹2、复制Re…

一篇五分生信临床模型预测文章代码复现——FIgure 9.列线图构建,ROC分析,DCA分析 (二)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

【GPLT 二阶题目集】L2-041 插松枝

人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上,做成大大小小的松枝。他们的工作流程(并不)是这样的: --->每人手边有一只小盒子,初始状态为空。 --->每人面前有用不完的松枝干和一个推送器&#xf…

[NSSRound#7 Team]Web学习

系列文章目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录一、ecRCE二、Shadowflag三、[NSSRound#7 Team]新的博客四、[NSSRound#7 Team]0o0提示:以下是本篇文章正文内容,下…

【异常】发送失败,此请求可能存在风险,已被微信拦截

一、背景说明 今天上线了新年红包的功能,但是部分用户提示了如下的异常,没有明显的异常提示,就是在查询ELK时,看了如下的错误提示,错误截图如图 提示“发送失败,此请求可能存在风险,已被微信拦…

【Redis】hmdp点赞、排行榜、分页功能的实现

【Redis】hmdp点赞、排行榜、分页功能的实现 文章目录【Redis】hmdp点赞、排行榜、分页功能的实现1.点赞功能实现1.1 需求1.2 实现步骤1.3 思路分析1.4 代码实现1.5 逻辑解析2. 排行榜功能实现2.1 需求2.2 实现步骤2.3 思路分析2.4 代码实现2.5 逻辑解析3. 分页功能实现3.1 需求…

算法之美~贪心算法

如何理解贪心算法?假设有一个可以容纳100kg物品的背包,可以装各种物品。有以下5种豆子,每种豆子的总量和总价值都各不相同。为了让背包中所装物品的总价值最大,如何选择在背包中装哪些豆子?每种豆子又该装多少呢&#…

Pikachu靶场攻略(代码分析)

2023年将会持续于B站、CSDN等各大平台更新,可加入粉丝群与博主交流:838681355,为了老板大G共同努力。 一、安装 Phpstudy_pro设置数据库用户名密码 root 123456 更改\pikachu\inc\config.inc.php 访问pikachu页面点击配置即可。 二、 攻略(包含审计…

BiQuadDesigner相关算法研究

一、获取相关源码方法如下 1、打开BiQuadDesigner相关网页如下 2、菜单:更多工具->开发者工具 3、在此重点研究BiQuadDesigner,选择BiQuadDesigner下的javascript,分别查看BiQuad.js和BiQuadFilter.js 二、研究频响曲线生成步骤如下 1、参数输入及换算滤波器系数如下参…

【数据结构基础】线性表 - 栈和队列

知识点栈 - LIFO示意图实现使用数组实现的叫静态栈使用链表实现的叫动态栈队列 - FIFO示意图实现使用数组实现的叫静态队列使用链表实现的叫动态队列栈和队列相关题目用栈实现队列232. Implement Queue using Stacks (Easy)栈的顺序为后进先出,而队列的顺序为先进先…

【前端设计】复位保护模块的整体设计思路

前言 复位保护模块,是在单系统进行动态复位的过程中,对接口进行硬性逻辑保护,避免异步复位过程中的毛刺对周围系统产生影响的模块。一般而言,简单的单系统动态复位流程可以归纳为: 停止业务功能,收齐接口上的rsp,进入待复位状态;使能复位保护,通过逻辑避免毛刺和误触…

【SCL】博图SCL语言回顾和第一个面向对象程序

西门子SCL语言回顾复习和编写第1个面向对象程序 (形参:形参指的是指令上标记该指令要使用的数据位置的标识符;简单来说就是只有数据类型,没有实际的地址,在调用时可以写入)。 (实参:实参指的是包…

并发编程学习(九):同步模式之顺序控制、交替打印

1、固定运行顺序例如:两个线程,运行是必须先2后1打印。1.1、Object之wait、notify版在同步代码块中,wait开始后,CPU将释放给另一个线程使用,直到①若wait(xxxx),则x秒后当前线程被唤醒,继续占用…

STM32项目设计:基于stm32f103c8t6智能电梯系统

文章目录一、项目功能概述二、项目材料选择三、原理图设计四、PCB板设计五、主程序设计六、成品展示资料链接:待更新~ 哔哩哔哩视频链接:https://www.bilibili.com/video/BV17D4y1V7HG/?vd_sourcee5082ef80535e952b2a4301746491be0(bilibili…

STM32G431——串口通信

蓝桥杯嵌入式——串口通信 目录 USART 电平标准-TTL 电平标准与 RS232 电平标准 232通信标准 USB转232 异步通信 串口配置 程序设计 重定向 串口发送函数 发送字符串 串口接收——中断 1.USART 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异…

集成测试最全详解,看完必须懂了

什么是集成测试 集成测试(Integration Testing),也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。 集成测试&#xff…

chatgpt的一些思考

结论国内同行对chatgpt的认识是不够的,太轻视这个模式的颠覆性认知chatgpt是对思维过程的仿真,rlhf过程就是通过强化学习方式在利用人思维过程训练模型chatgpt比搜索更通用化,搜索是对单个点信息的匹配,chatgpt是对思维链一个序列…

【python】多任务编程之线程、进程知识点详细总结

目录 多任务的执行方式 进程 概念 python多进程 线程 概念 python多线程 线程同步方式 线程等待 互斥锁 死锁 线程和进程对比 多任务的执行方式 进程 概念 python多进程 Windows下的main判断process进程类import multiprocessing import time def sing():for i i…

Unix环境高级编程_进程环境_启动代码,环境变量表,进程内存结构,库

这是《UNIX环境高级编程》第7章内容,这篇文章记录进程所需要的环境。 4 进程环境 程序加载到内存,运行起来后就成为了进程。就像人活着需要生活环境(衣食住行的环境)一样,进程也需要运行环境,进程所需要的…

Vue组件生命周期与钩子函数

组件生命周期 ​ 组件(组件是可复用的 Vue 实例)从创建到销毁的过程就是组件的生命周期,是一个时间段。 组件生命周期钩子函数 (vue3与vue2生命周期钩子函数略有不同,本文以vue2为主) ​ VUE 提供的生命…