服务攻防-协议漏洞-FTPRDPSSHRsyncProFTPDlibsshOpenssh-Hydra工具使用口令猜解未授权访问

article/2025/9/30 15:07:15

目录

一、导图

二、口令猜解-Hydra-FTP&RDP&SSH

1、协议介绍

2、Hydra工具介绍

3、实例演示

三、配置不当-未授权访问-Rsync 文件备份

1、Rsync介绍

2、漏洞成因——配置不当

3、实例演示 

四、协议漏洞-应用软件-FTP&ProFTPD搭建

1、引入

2、ProFTPD介绍

3、实例演示

五、协议漏洞-应用软件-SSH&libssh&Openssh

1、引入

2、libssh和Openssh介绍

3、存在的漏洞

4、Openssh漏洞演示  

5、libssh漏洞演示  


一、导图

二、口令猜解-Hydra-FTP&RDP&SSH

1、协议介绍

        ▶FTP(传文件---21端口)

        FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的协议。它允许用户通过网络将文件从一个计算机传输到另一个计算机。

        FTP协议有两个组件:FTP客户端和FTP服务器。FTP客户端是用户使用的软件,它允许用户从服务器上下载文件或将文件上传到服务器。FTP服务器则是一台计算机,它运行FTP服务软件,允许用户通过FTP客户端访问它上面的文件。

        FTP协议使用两个端口来传输数据。FTP客户端使用端口21与FTP服务器建立连接,这是控制连接(control connection)。一旦控制连接建立,FTP客户端和FTP服务器将使用不同的端口传输数据,称为数据连接(data connection)。数据连接通常使用端口20或其他随机端口。

        ▶RDP(远程操控---3389端口)

        RDP(Remote Desktop Protocol)是一种用于远程访问Windows操作系统的协议。

        RDP协议在Windows中得到广泛支持,包括Windows XP、Windows 7、Windows 8和Windows 10等版本。此外,许多第三方软件和工具也支持使用RDP协议进行远程访问,例如远程桌面软件和远程管理工具等。

        需要注意的是,为了使用RDP协议进行远程访问,必须在远程计算机上启用远程桌面功能,并在本地计算机上使用RDP客户端软件。另外,为了保证安全,建议在使用RDP协议进行远程访问时采取一些安全措施,例如使用强密码、启用双重身份验证等。

        SSH(远程操控---22端口)

        SSH(Secure Shell)是一种网络协议,用于在不安全的网络中为计算机之间的加密通信提供安全性。SSH最初是由Tatu Ylönen于1995年开发的,旨在解决传统的Telnet和FTP协议的安全性问题。

        SSH协议通过加密传输来保护数据的安全性,包括传输的命令、数据和文件等。它还提供了身份验证功能,以确保只有经过授权的用户才能访问计算机。SSH协议通常用于通过终端访问远程计算机、远程执行命令和传输文件等。

        SSH协议的工作原理如下:当客户端尝试连接到SSH服务器时,它会向服务器发送其公共密钥。服务器使用此公共密钥来生成一个会话密钥,并将其发送回客户端。客户端使用其私有密钥来解密会话密钥,并使用该密钥加密和解密所有数据。

        SSH协议通常使用22号端口进行通信,但是也可以通过更改SSH服务器的配置来使用其他端口。

        总的来说,SSH协议是一种非常安全和灵活的协议,被广泛用于远程管理和传输文件等场景。SSH协议的许多实现和客户端软件都可以免费获取和使用,例如OpenSSH和PuTTY等。

2、Hydra工具介绍

        ▶工具下载地址

                https://github.com/vanhauser-thc/thc-hydra

        ▶工具简介:  

        Hydra是一种强大的网络登录破解工具,它可以尝试多种用户名和密码组合来尝试登录网络服务,例如SSH、FTP、Telnet、SMTP、POP3等等。

        Hydra支持多线程并发登录尝试,并能自动处理输入和输出,使其成为自动化扫描和攻击测试的理想工具。此外,Hydra还支持使用代理服务器、设置超时时间、支持多种协议等高级功能。

        Hydra通常被用于渗透测试和网络安全评估,以检测目标系统中可能存在的弱点和安全漏洞。但是需要注意的是,Hydra的使用也可能违反法律和道德规范,因此在使用Hydra时需要遵守法律法规和道德标准,以避免不必要的风险和后果。

        总的来说,Hydra是一款非常强大的网络登录破解工具,可以帮助网络安全专业人员在渗透测试和安全评估中发现潜在的安全漏洞,从而提高系统和网络的安全性。

        ▶使用命令

-s PORT 可通过这个参数指定非默认端口。
-l LOGIN 指定破解的用户,对特定用户破解。
-L FILE 指定用户名字典。
-p PASS 小写,指定密码破解,少用,一般是采用密码字典。
-P FILE 大写,指定密码字典。
-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P 参数。
-M FILE 指定目标列表文件一行一条。
-o FILE 指定结果输出文件。
-f 在使用-M 参数以后,找到第一对登录名或者密码的时候中止破解。
-t TASKS 同时运行的线程数,默认为 16。
-w TIME 设置最大超时的时间,单位秒,默认是 30s。
-v / -V 显示详细过程。

3、实例演示

        首先用到两台主机。

        在命令提示符里输入下面内容来调用远程连接,输入服务器ip地址后点击下面的连接。

        在弹出的窗口内写入当前电脑的密码然后点击确定即可远程连接到服务器。

        成功连接到了服务器。

        此时利用到的就是3389端口的RDP协议,这里验证了计算机的用户和密码,计算机的默认用户就是administrator,密码如果我们未知,就可以使用hydra来进行爆破。

        这里我们使用的是kali内自带的hydra。

        连接到kali。

        执行下面的命令即可开始爆破,等待其爆破成功即可。

hydra -l administrator -P 10top1K.txt 47.110.53.159 rdp -V

        可以看到成功爆破出了密码。

        我们对其进行端口扫描,来查看有没有其它可以利用的端口。

        在上面我们发现了21端口也处于开启状态,所以我们考虑对21端口进行爆破。

        执行下面的命令(因为我们爆破的是ftp,其用户名可能是随机的,所以我们对用户名也设置一个字典)。

hydra -L 10top1K.txt -P 10top1K.txt 47.110.53.159 ftp -V    #比较花时间hydra -l test -P 10top1K.txt 47.110.53.159 ftp -V    #这里为了节省时间指定了正确的用户名

        爆破成功。


        前面的两个爆破都是对windows进行的爆破,下面尝试对Linux进行爆破。


        首先扫描其端口,可以看到22号端口打开,因此可以尝试对ssh协议的爆破。

        执行下面的命令来进行爆破。

hydra -l root -P 10top1K.txt 47.110.53.159 ssh -V

        可以看到成功爆破出了密码。

三、配置不当-未授权访问-Rsync 文件备份

1、Rsync介绍

        rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

        已支持跨平台,可以在Windows与Linux间进行数据同步。

        对应端口号为:873。

2、漏洞成因——配置不当

        rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并目没有配置ACL或访问密码,我们将可以读写目标服务器文件。

3、实例演示 

        找到对应的靶场环境。

        将环境启动。

        接下来我们来对其进行测试,测试使用的命令是rsync这条命令,这条命令在Windows内没有,所以需要使用Linux来进行测试。

        <判断>

        执行下面的命令来进行测试,如果返回下面的内容,则说明存在安全问题——未授权访问,反之,则没有未授权访问。

        <利用>

        此时我们执行下面的命令就可以看到文件夹下的内容了。

        执行下面的命令后成功将文件下载到了本地的当前目录下。

        执行下面的命令后成功将文件进行了上传。 

四、协议漏洞-应用软件-FTP&ProFTPD搭建

1、引入

        有一些服务是需要用 软件或者应用来搭建起来的,比如FTP服务可以使用软件ProFTPD来搭建起来。

        FTP的默认控制连接端口号是21,用于建立客户端与FTP服务器之间的连接。

        FTP的默认数据连接端口号是20,用于在客户端和服务器之间传输文件和目录等数据。

2、ProFTPD介绍

        ProFTPD是一个开源的FTP服务器软件,它可以在Linux、Unix、Windows等操作系统上运行,适用于多种场景,并且易于配置和扩展。

        ProFTPD的安装和配置相对容易,并且具有良好的性能和可靠性,因此它广泛用于Web主机、FTP服务提供商和企业网络等场景。

3、实例演示

        找到对应靶场。

        将靶场环境启动。

        从网上下载exp,下载地址为:https://github.com/tOkx/exploit-CVE-2015-3306。

        运行py文件。

        这个exp会上传一个文件到网站,首先来验证文件不存在。

        执行下图所示的命令。

        执行后刷新页面,发现文件存在了。

        查看exp源码可以看到其可以执行cmd命令。

         借下来我们尝试执行,可以看到执行成功了。

五、协议漏洞-应用软件-SSH&libssh&Openssh

1、引入

        有一些服务是需要用软件或者应用来搭建起来的,比如ssh服务可以使用软件Openssh或者libssh来搭建起来。

        Linux内自带OpenSSH。

        SSH默认端口号为:22。

2、libssh和Openssh介绍

        libssh和OpenSSH都是SSH(Secure Shell)客户端和服务器的实现,提供了加密的远程登录和文件传输功能。它们的主要区别在于使用的编程语言和应用场景不同。

        libssh是用C语言编写的SSH客户端和服务器库,它可以嵌入到其他应用程序中,为应用程序提供SSH功能。它主要用于开发自定义SSH客户端和服务器应用程序,并且可以轻松地与其他C语言代码集成。libssh提供了与OpenSSH类似的功能,包括基于口令和密钥的身份验证、SSH连接的创建和管理、文件传输和端口转发等。

        OpenSSH是一种完整的SSH解决方案,包括SSH客户端、SSH服务器和其他一些辅助工具。OpenSSH是用C语言编写的,主要运行在Unix和类Unix系统上。OpenSSH提供了一种安全的远程登录和文件传输方式,能够抵御网络攻击,并保证数据的机密性和完整性。OpenSSH支持基于口令和密钥的身份验证、端口转发、动态端口转发、X11转发等功能,是Unix和类Unix系统中广泛使用的SSH实现。

        总的来说,libssh和OpenSSH都提供了安全的远程登录和文件传输功能,但它们的使用场景和编程语言不同。如果需要将SSH功能嵌入到其他应用程序中,可以选择使用libssh,而如果需要一个完整的SSH解决方案,可以使用OpenSSH。

3、存在的漏洞

4、Openssh漏洞演示  

        找到对应靶场。

        将靶场环境启动。

        下载exp,下载地址为:GitHub - Rhynorater/CVE-2018-15473-Exploit: Exploit written in Python for CVE-2018-15473 with threading and export formats

        使用exp执行下面的命令,可以看到成功枚举出了用户名。

        真鸡肋...

5、libssh漏洞演示  

        找到对应靶场。

        将靶场环境启动。

        下载exp,下载地址为:https://www.seebug.org/vuldb/ssvid-97614

        使用exp执行下面的命令。

        可以看到获取到了root权限。 

         执行下面的命令——whoani。

        可以看到成功执行了命令并得到了返回值。


http://chatgpt.dhexx.cn/article/1j29DmOt.shtml

相关文章

提示:The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]

JMeter连接SQLservice数据库。 1、测试计划添加sqljdbc41.jar 2、添加数据库配置 3、添加请求 3、按着上面的配置&#xff0c;执行&#xff0c;然后报错误了。 提示“Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL S…

SSH暴力破解

ssh暴力破解解决方案 https://www.cnblogs.com/walkingzq/p/8191900.html 最近在使用腾讯云服务器的过程中&#xff0c;被比特币黑客黑了一次服务器&#xff08;如下图所示&#xff09;。 图1 比特币勒索信息 继而认识到网络安全的重要性。在重新安装系统之后&#xff0c;发现…

SSL/TLS Cipher Suites

Cipher Suite 一个加密算法套件&#xff08;CipherSuite&#xff09;是一个四件套&#xff0c;由各类基础的加密算法组成&#xff0c;主要包含了四类&#xff1a; 1&#xff09;Key Exchange 密钥交换算法&#xff1b; 2&#xff09;Authentication 身份认证算法&#xff1b…

The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]

springboot启动时报错 com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client prefer ences [TLS13, TLS12]”。 原因&…

centos7 SSH防暴力破解五种方法

什么是暴力破解&#xff0c;简单来说就是对一个服务器进行无数次尝试登陆&#xff0c;并用不同的密码进行登陆直到可以登陆成功。暴力破解的基本步骤可以分为以下几步&#xff1a; 找到对应的linux服务器 Ip地址扫描端口号&#xff1a;22 nmap扫描端口开始暴力破解 : 一般root…

Linux云服务器防止暴力破解(三道SSH安全策略)

前言 新购入的服务器&#xff0c;往往用户名默认为root&#xff0c;ssh默认开放22端口&#xff0c;且配置SSH服务时往往同时允许密码和公钥二重登录。然而&#xff0c;许多非法服务器运行着暴力破解程序&#xff0c;通过访问用户名root的22默认端口&#xff0c;暴力获取获取您的…

kali Linux 工具 BurpSuite-暴力破解

关于渗透的实验&#xff0c;我们大多数能在kali的工具集找到&#xff0c;其中关于抓包工具BurpSuite的使用&#xff0c;我做一个比较简单的实验————————暴力破解—————————— 暴力破解&#xff0c;顾名思义&#xff0c;就是我们把密码一个个尝试&#xff0c;只…

拒绝ssh远程暴力破解-以centos7及centos8为例

一、centos8 参考&#xff1a; 如何在CentOS 8上安装和配置Fail2ban - A5互联 - 博客园 (cnblogs.com)https://www.cnblogs.com/a5idc/p/13650056.html上面这一个讲的比较详细&#xff1a;要点摘录如下 默认的Fail2ban安装中带有两个配置文件&#xff0c;/etc/fail2ban/jail…

SSHD 服务防止暴力破解

SSHD 服务防止暴力破解 目录 1、 配置安全的 SSHD 服务&#xff08;方法一&#xff09; 2、通过开源的防护软件来防护安全&#xff08;方法二&#xff09; 1、配置安全的 SSHD 服务 1.1、 服务器安全策略 密码足够复杂&#xff1a; 密码的长度要大于 8 位不大于 20 位。密…

TLS1.0协议漏洞修复

漏洞描述&#xff1a; 远程服务接受使用TLS 1.0加密的连接。TLS 1.0有许多密码设计缺陷。TLS 1.0的现代实现减轻了这些问题&#xff0c;但是像1.2和1.3这样的TLS的新版本是针对这些缺陷而设计的&#xff0c;应该尽可能使用。截至2020年3月31日&#xff0c;为TLS 1.2及更高版本启…

linux red hat 8.0 root密码破解

简介&#xff1a; root用户是linux用户最大权限的用户&#xff0c;如果不慎将其密码忘记是不可直接更改的&#xff0c;只能通过破解的方式来重置root密码。 linux系统的启动过程&#xff1a; 1 开机自检&#xff08;POST&#xff09;&#xff0c;初始化部分硬件 2 搜素可用…

STL库实践

STL库实践 1 写在最前面的话1.1 容器(container)1.2 算法(algorithm)1.3 迭代器(iterator)1.4 仿函数1.5 适配器1.6 空间配置器1.7 stl初试牛刀 2 容器之 string2.1 string 构造函数2.2 string基本赋值操作2.3 string存取字符操作2.4 string拼接操作2.5 string查找和替换2.6 st…

【C++进阶——STL库】

STL库 介绍 STL是一个具有工业强度的&#xff0c;高效的C程序库&#xff0c;包含了很多计算机科学领域里所常用的基本数据结构和基本算法&#xff1b;六大组件&#xff1a;容器(Container)、迭代器(Iterator)、算法(Algorithm)、仿函数、适配器、分配器&#xff1b; 容器 定…

STL库:map和set

STL库&#xff1a;map和set 文章目录 STL库&#xff1a;map和set1.STL库中set的官方介绍2.set的常用接口3.set的总结4.STL库中multiset的官方介绍5.STL库中map的官方介绍6.map中的键值对pair7.map的常用接口7.1 map的访问操作7.2 map的修改操作7.3 map的查找操作 8.map的总结9.…

STL库(1)

STL库&#xff08;1&#xff09; vectorvector介绍vector使用初始化元素访问内存扩容插入删除 listlist介绍初始化&#xff0c;元素访问插入删除元素 vector和list区别 vector vector介绍 vector是可以改变大小的数组的容器。其内存结构和数组一样&#xff0c;使用连续的存储…

【C++学习五】STL库的应用

文章目录 初识C之 STL标准库1. CSTL的三大核心组件2. 自定义函数与算法对容器实现操作3. 基于自定义函数以及操作模板实现简易数字图像处理3.1 图像灰度变换3.2 图像二值化 4. 初识STL容器之&#xff1a;set集合5.初识STL容器之&#xff1a;map(关联容器)结语 初识C之 STL标准库…

STL库:vector

STL库&#xff1a;vector 文章目录 STL库&#xff1a;vector1.STL库对vector的官方介绍2.vecotr的常用接口2.1 vector的构造函数2.2 vector的迭代器与遍历操作2.3 vector的容量操作2.4 vector的访问操作2.5 vector的修改操作 3.vector迭代器失效问题3.1 insert导致的迭代器失效…

深入理解STL库

关注本人公众号&#xff0c;获取更多学习资料&#xff01; 微信公众号搜索&#xff1a;阿Q正砖 上期说过C这块面试问的东西也蛮多&#xff0c;简历上只要出现C这几个字&#xff0c;那么STL库就是必问。 总不能是面试官问你了解STL库吗&#xff1f;你尴尬的说这块不怎么熟悉。…

C++ STL标准库

STL 组件 STL 是 C 标准程序库的核心。STL 内的所有组件都由模板构成&#xff0c;其元素可以是任意型别。程序员通过选用恰当的群集类别调用其成员函数和算法中的数据即可&#xff0c;但代价是 STL 晦涩难懂。 STL 组件主要包括容器&#xff0c;迭代器、算法和仿函数。 容器…

C++语法篇之STL库

1. STL介绍 STL是Standard Template Library的缩写&#xff0c;即标准模板库。之前在写 Templates 模板的时候&#xff0c;提到过STL对于模板的应用。STL是由多个模板类构成&#xff0c;能够为开发者提供通用的数据结构和算法。 STL主要包含以下内容&#xff1a; 容器 Conta…