• FTP匿名登录


    介绍

    从一个服务到另一个服务的目标。凭据可能会丢失在可公开访问的文件夹中的某个位置,这将允许我们通过一个远程shell登录,该shell不受监控。配置错误的服务可能会泄露信息,使我们能够模拟受害者的数字身份。

    现实世界中存在许多可能性。然而,我们将从一些简单的开始。处理一个从其他两个目标拼凑而成的例子,我们将看到一个不安全的FTP上的访问配置和网站的管理登录。让我们继续解构这个矢量及其分量分析

    举例

    我们将从枚举目标开始。我们的第一步是,一如既往地进行彻底的nmap扫描。通过使用以下两个开关进行扫描,我们确保 nmap 脚本分析在任何打开状态中找到 port,并在输出中返回一个最精确的服务版本值

    -sC:使用默认脚本集执行脚本扫描。它相当于——脚本 = 默认。此类别中的某些脚本被视为侵入性脚本,不应在未经许可的情况下针对目标网络运行。

    -sV:启用版本检测,这将检测哪些版本正在哪些版本上运行端口。

    默认分析脚本针对目标运行,因为我们不受扫描干扰程度的限制。如前所述运行扫描,我们可以收到如下所示的结果,其中包含扫描甚至为我们找到的目录片段!

    nmap -sC -sV 10.129.195.119
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    我们有两个开放端口:21 和 80。端口21是专用于FTP(文件传输协议)的端口,这意味着它的主要用途是在同一网络上的主机之间传输文件。

    文件传输协议 (FTP) 是一种标准通信协议,用于将计算机文件从服务器传输到计算机网络上的客户端。FTP 用户可以使用明文登录协议(通常使用用户名和密码)对自己进行身份验证。但是,如果服务器配置为允许匿名连接,则它们可以匿名连接。

    根据维基百科,快速提醒:

    如果将服务器配置为允许,用户可以匿名连接到FTP服务器,这意味着即使我们没有有效的凭据,我们也可以使用它。

    若要连接到远程 FTP 服务器,需要指定目标的 IP 地址(或主机名。然后,提示将要求我们提供登录凭据,这是我们可以填写anonymous用户名的地方。在我们的例子中,FTP服务器不请求密码

    anonymous用户名证明足以让我们收到230代码,登录成功。

    ftp 10.129.195.119
    anonymous
    
    • 1
    • 2

    在这里插入图片描述

    登录后,我们可以键入命令以检查可用命令。

    help
    
    • 1

    在这里插入图片描述

    我们将使用dir和get以列出目录并操作存储在 FTP 服务器上的文件。随着dir命令,我们可以检查远程主机上当前目录的内容,其中两个有趣的文件引起了人们的注意。它们似乎是主机上另一个服务(很可能是 HTTPD Web 服务器)的配置遗留下来的文件。它们的名称是描述性的,暗示了可能的用户名列表和相关密码。

    dir
    
    • 1

    在这里插入图片描述

    get allowed.userlist
    get allowed.userlist.passwd
    
    • 1
    • 2

    在这里插入图片描述

    FTP 连接的终止可以通过使用终端选项卡将其先前状态完成。

    exit
    
    • 1

    在这里插入图片描述

    退出FTP服务外壳后,我们可以立即键入命令以检查我们的文件是否出现在我们上次定位的目录中。为了阅读它们的内容并发现用户名和密码在里面,我们可以用cat命令来打开,后跟我们想要的文件的名称

    cat allowed.userlist
    cat allowed.userlist.passwd
    
    • 1
    • 2

    在这里插入图片描述

    实战

    获取凭据后,下一步是检查它们是在 FTP 服务上用于提升访问,还是在 nmap 扫描期间发现的在端口 80 上运行的 Web 服务器上使用。尝试使用 FTP 服务器上的任何凭据登录都会返回错误代码,这里没有运气,所以我们可以退出FTP服务外壳。

    ftp 10.129.195.119
    aron
    exit
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    但是,我们还有一个选择。在 nmap 扫描期间,在端口 80 上运行的服务被报告为apache httpd 2.4.41 ,一个apache HTTP 服务器。在浏览器的URL搜索栏中输入目标的IP地址会导到此网页。它似乎是服务器托管公司的店面。

    在这里插入图片描述

    阅读有关目标的信息是有帮助的,但只是在表面上。为了更深入地了解他们用于创建网站的技术并可能找到任何相关的漏洞,我们可以使用一个名为Wappalyzer的便捷浏览器插件。此插件分析网页的代码,并返回用于构建网页的所有不同技术,例如 Web 服务器类型、JavaScript 库、编程语言等。我们可以按以下链接将插件添加到我们选择的浏览器中。

    https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/

    在这里插入图片描述

    安装后,我们可以通过按浏览器窗口右上角的图标来访问Wappalyzer。

    以下是我们当前目标的结果。

    在这里插入图片描述

    dir :使用目录/文件枚举模式。

    –url :目标网址。

    –wordlist:单词列表的路径。

    -x :要搜索的文件扩展名。

    从Wappalyzer的输出中,我们可以注意到一些更有趣的项目,特别是用于构建网页的PHP编程语言。但是,目前没有任何东西可以给我们一个直接的攻击计划。同时,使用页面上提供的选项卡和按钮在页面中导航会让我们无处可去。参考之前的文章,提到了一种不同的,更直接的方法来导航任何隐藏的或难以访问的目录和页面,那就是通过dir破坏。使用gobuster作为我们选择的工具,我们可以对脚本使用以下开关来获得最快,最准确的结果。

    对于-x命令,我们可以指定.php和.html,过滤掉所有不必要的杂乱

    PHP 和 HTML 文件通常是页面。我们可能会很幸运地找到一个管理面板登录页面,该页面可以帮助我们结合从FTP服务器中提取的凭据找到针对目标的漏洞。

    gobuster dir --url http://10.129.195.119/ --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -x php,html
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    /login.php,gobuster检索到的最有趣的文件之一是页面。手动导航到URL,以 http://{target_IP}/login.php的形式,我们会遇到一个登录页面,要求输入用户名/密码组合。

    http://10.129.195.119/login.php
    
    • 1

    在这里插入图片描述

    如果我们找到的凭据列表较长,我们可以使用 Metasploit 模块或登录暴力脚本来运行这两个列表中的组合,而不是手动操作。但是,在这种情况下,列表相对较小,允许我们尝试手动登录。

    admin
    rKXM59ESxesUFHAd
    
    • 1
    • 2

    在这里插入图片描述

    在尝试了多个用户名/密码组合后,我们设法登录并遇到了服务器管理器管理面板。一旦到达这里,攻击者就可以以他们想要的任何方式操纵网站,对用户群和所有者造成严重破坏,或者提取更多信息,以帮助他们在托管网页的服务器上站稳脚跟。

    在这里插入图片描述

    c7110277ac44d78b6a9fff2232434d16

  • 相关阅读:
    基于PHP的编程类学习网站设计与实现
    Eclipse ABAP ADT 集成详细安装教程
    Linux 添加路由的方法
    容器内需要编辑文件,但无法下载和使用ed 、vi、vim、nano编辑器
    Linux之httpd及虚拟主机的配置及使用
    PostgreSQL 数据类型详细说明
    快速排序(C语言)
    Java--Spring事务
    【Linux】基本指令(四)
    前端刷新token,判断token是否过期(jwt鉴权)
  • 原文地址:https://blog.csdn.net/m0_53008479/article/details/127564302