HackTheBox-Starting Point--Tier 1---Funnel

文章目录

    • [一 题目](#一 题目)
    • [二 实验过程](#二 实验过程)
    • [三 利用SSH隧道](#三 利用SSH隧道)
      • [3.1 本地端口转发](#3.1 本地端口转发)

一 题目

++Tags++

c 复制代码
FTP、PostgreSQL、Reconnaissance、Tunneling、Password Spraying、Port Forwarding、Anonymous/Guest Access、Clear Text Credentials

译文:FTP、PostgreSQL、侦察、隧道技术、密码喷洒、转发端口、匿名/访客访问、明文凭证

++Connect++

c 复制代码
To attack the target machine, you must be on the same network.Connect to the Starting Point VPN using one of the following options.
It may take a minute for HTB to recognize your connection.If you don't see an update after 2-3 minutes, refresh the page.

译文:要攻击目标机器,您必须位于同一网络上。使用以下选项之一连接到起点 VPN。
HTB 可能需要一分钟才能识别您的连接。如果 2-3 分钟后没有看到更新,请刷新页面。

++SPAWN MACHINE++

c 复制代码
Spawn the target machine and the IP will show here.

译文:生成目标机器,IP 将显示在此处

++TASK 1++

c 复制代码
How many TCP ports are open?

译文:打开了多少个 TCP 端口?

答:2

++TASK 2++

c 复制代码
What is the name of the directory that is available on the FTP server?

译文:FTP 服务器上可用的目录名称是什么?

答:mail_backup

++TASK 3++

c 复制代码
What is the default account password that every new member on the "Funnel" team should change as soon as possible?

译文:"Funnel" 团队的每个新成员应该尽快更改的默认帐户密码是什么?

答:funnel123#!#

++TASK 4++

c 复制代码
Which user has not changed their default password yet?

译文:哪个用户还没有更改过默认密码?

答:christine

++TASK 5++

c 复制代码
Which service is running on TCP port 5432 and listens only on localhost?

译文:哪个服务在 TCP 端口 5432 上运行并且仅侦听本地主机?

答:postgresql

++TASK 6++

c 复制代码
Since you can't access the previously mentioned service from the local machine, you will have to create a tunnel and connect to it from your machine. What is the correct type of tunneling to use? remote port forwarding or local port forwarding?

译文:由于您无法从本地计算机访问前面提到的服务,因此您必须创建一个隧道并从您的计算机连接到它。正确使用的隧道类型是什么?远程端口转发还是本地端口转发?

答:local port forwarding

++TASK 7++

c 复制代码
What is the name of the database that holds the flag?

译文:持有flag的数据库的名称是什么?

答:secrets

++TASK 8++

c 复制代码
Could you use a dynamic tunnel instead of local port forwarding? Yes or No.

译文:您可以使用动态隧道代替本地端口转发吗?是还是不是。

答:yes

++SUBMIT FLAG++

c 复制代码
Submit root flag

译文:提交根标志

二 实验过程

1.端口扫描

c 复制代码
nmap -sC -sV 10.129.152.201

2.FTP匿名登录

c 复制代码
ftp 10.129.252.232
anonymous
空密码

3.下载FTP上的文件

4.查看password_policy.pdf和welcome_28112022

发现邮件账号:optimus@funnel.htb albert@funnel.htb andreas@funnel.htb christine@funnel.htb maria@funnel.htb

发现一个默认密码:funnel123#!#

5.利用上文获取的账号密码爆破ssh账号密码

账号字典:user.txt:[optimus、albert、andreas、christine、maria]

密码字典:

6.SSH登录及操作

c 复制代码
ssh christine@10.129.252.232
c 复制代码
# 检查哪些端口在给定的机器上执行本地监听
ss -tln

# 检查在端口上运行的默认服务 为postgresql
ss -tl
c 复制代码
# 检查并没有安装了postgresql客户端工具
psql

# 并且不能进行下载,需要root权限
apt install postgresql-client-common

三 利用SSH隧道

1.隧道简介

**  隧道协议是一种通信协议,它允许利用封装将数据从一个网络移动到另一个网络。
  隧道协议的工作原理是使用数据包的数据部分(有效载荷)来携带实际提供服务的数据包。隧道使用一种分层的协议模型,如OSI或TCP/IP协议套件的那些,但通常在使用有效载荷来承载通常不由网络提供的服务时违反分层。通常,交付协议在分层模型中运行在与有效载荷协议相等或更高的级别上。
利用隧道,可以访问支队内部网络可用的资源。
常见的三种隧道:
1.本地端口转发
  使用本地端口转发,则在现有的有效SSH会话中创建一个单独的隧道,该隧道将网络流量从客户端机器的本地端口转发到远程服务器的端口。在底层,SSH在给定端口的客户机上分配一个套接字侦听器,当连接到该端口时,该连接将通过现有的SSH会话转发到远程服务器的端口 。
2.远程端口转发
  也称为反向隧道挖掘,它是与本地端口转发隧道完全相反。SSH连接成功,创建一个单独的隧道,SSH使用该隧道将到服务器端口的传入流量重定向回客户端 。
在底层,SSH在给定端口的服务器上分配一个套接字侦听器。当连接到该端口时,该连接将通过现有的SSH会话转发到本地客户端的端口 。
3.动态端口转发
  与本地和远程都有转发,在隧道创建之前必须定义本地端口和远程端口。动态隧道允许用户指定一个将从客户端动态地将传入的流量转发到服务器的端口。因此,在内部发生的事情是,SSH变成了一个SOCKS5代理,通过SOCKET5代理服务器在客户端和服务器之间交换网络数据包。
**

3.1 本地端口转发

c 复制代码
ssh -L 1234:localhost:5432 christine@10.129.252.232

**  使用SSH在我们本地机器上的4444端口上打开了一个套接字 ,我们可以访问4444端口,将我们想要转发的流量直接转发到目标机器上的5432端口。**

注意:因端口冲突,后面把1234端口改成了4444端口

1.在本地系统安装psql,在本地远程访问5432端口的postgresql服务

c 复制代码
psql -U christine -h localhost -p 4444

2.现在已经成功使用ssh隧道连接到了postgresql服务,可以执行命令查看数据库信息

sql 复制代码
# \list缩写,列出现有数据库
\l

如下列出了5个数据库:christine、postgres、secrets、template0、template1

sql 复制代码
# 连接数据库 
\c secrets

# 查看数据库中的表
\dt
sql 复制代码
# 查看flag
select * from flag;
相关推荐
程序员学习随笔8 小时前
PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
数据库·postgresql
秦时明月之君临天下8 小时前
PostgreSQL标识符长度限制不能超过63字节
数据库·postgresql
Amd79413 小时前
PostgreSQL 的历史
postgresql·开源软件·计算机科学·软件开发·关系型数据库·数据库技术·数据库历史
gis分享者15 小时前
麒麟V10系统,postgres+postgis安装,保姆级教程,包含所有安装包
postgresql·安装·postgis·麒麟系统
赵渝强老师2 天前
【赵渝强老师】PostgreSQL的参数文件
数据库·postgresql
YRr YRr5 天前
解决 Ubuntu 20.04 上因 postmaster.pid 文件残留导致的 PostgreSQL 启动失败问题
linux·ubuntu·postgresql
vvw&6 天前
如何在 Ubuntu 22.04 上安装 pgAdmin:一个 PostgreSQL 管理工具
linux·运维·服务器·ubuntu·postgresql·开源软件·pgadmin
小袁搬码6 天前
PostgreSQL17.x数据库备份命令及语法说明
数据库·postgresql·pg数据库备份
孤傲小二~阿沐7 天前
PostgreSQL的学习心得和知识总结(一百六十三)|深入理解PostgreSQL数据库之 GUC参数compute_query_id 的使用和实现
数据库·postgresql
尚雷55808 天前
PostgreSQL 常用运维SQL整理
运维·sql·postgresql