前言
- 各位师傅大家好,我是qmx_07,今天给大家讲解Funnel靶机
渗透过程
信息搜集
- 服务器开放了21FTP端口,22SSH端口,通过sC脚本检测,发现存在匿名登录
FTP匿名登录
- 发现两个文件尝试下载:password_policy.pdf welcome_28112022
- 发现账户:optimus、 albert、 andreas、 christine、 maria
- 默认密码为 funnel123#!# 尝试爆破ssh
通过hydra爆破登录ssh
- 介绍:Hydra是一款用于密码破解的网络工具。它可以通过暴力破解、字典攻击和爆破等方法来尝试破解系统、服务或应用的密码
常用命令:
hydra -l <用户名> -P <密码字典文件> <目标IP地址> <服务名称>
-l:指定尝试登录的用户名。
-P:指定密码字典文件路径。
-t:指定并发线程数。
-u:使用指定的用户名列表文件。
-s:指定目标服务的端口号。
-v:显示详细的输出信息。
-o:将成功破解的密码保存到文件中。
比如:
HTTP基本认证密码破解: hydra -l <用户名> -P <密码字典文件> http-get://<目标IP地址>
FTP密码破解: hydra -l <用户名> -P <密码字典文件> ftp://<目标IP地址>
- 设置一份字典,使用hydra成功爆破出christine 账户
- 成功登录
端口转发 登录 数据库
- ss用来检测网络连接情况
- -t 显示TCP连接
- -l 显示监听中的连接
- -n显示ip地址和端口号
- 没有数据库管理工具,想要安装下载 显示权限不够,服务又只可以 本地连接该怎么办呢???
- 将本地 1234 端口流量转发到目标主机的 5432 端口
- 成功登录到数据库中
postgresql 使用
- 介绍:PostgreSQL是一个开源的关系型数据库管理系统(RDBMS),它具有高度的可扩展性和可靠性,用于存储和管理大量数据
- \l 显示数据库有哪些
- \c 连接数据库
- \dt 显示有哪些表
- select * from 表名; 显示所有数据
- flag: cf277664b1771217d7006acdea006db1
知识点讲解
端口转发
- 介绍:SSH 隧道或 SSH 端口转发可以用来在客户端和服务器之间建立一个加密的 SSH 连接,通过它来把本地流量转发到服务器端,或者把服务器端流量转发到本地。
- 类型分为:本地端口转发和远程端口转发
本地端口转发
语法:
ssh -L 本地端口:本地主机(localhost):目标端口 ssh@目标主机
- 本地端口转发:本地机器和中间机器之间建立一条通信隧道,将本地机器某个端口的流量通过这条隧道转发到远程机器的端口
- 访问1234本地端口,会被ssh流量转发到目标主机的3306端口
远程端口转发
- 远程端口转发:本地机器和远程机器之间建立一条通信隧道,远程机器某个端口的流量会通过通信隧道转发到本地机器能访问到的机器上
- 两个远程机器不能相互访问,但本地机器可以访问这两个远程机器,这个情况用远程转发
动态端口转发
-
绑定端口
-
建立socket代理
-
成功访问
-
动态端口转发:本地机器特定端口的流量会通过远程机器转发出去,并没有指定目的地,而正向代理在建立 ssh 通道时就确定了
答案
- 1.服务器开放了多少个TCP服务?
2
- 2.FTP上可用的目录名称是:
mail_backup
- 3.默认的账号密码是?
funnel123#!#
- 4.哪个用户没有更改默认密码?
christine
- 5.哪个服务在5432端口运行且只允许本地访问?
PostgreSQL
- 6.由于本地服务器没办法直接访问,需要创建隧道访问,您会使用哪个隧道?
local port forwarding
- 7.具有flag的数据库名称是?
secrets
- 8.是否可以使用动态端口转发?
yes
- 9.flag是?
cf277664b1771217d7006acdea006db1
总结
- 我们介绍了ssh端口转发和hydra工具爆破