Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: BigBear en 29 Agosto 2014, 21:13 pm



Título: [C#] Creacion de un Server Builder
Publicado por: BigBear en 29 Agosto 2014, 21:13 pm
[Titulo] : Creacion de un Server Builder
[Lenguaje] : C#
[Autor] : Doddy Hackman

[Temario]

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

0x01 : Introduccion
0x02 : Creacion del builder
0x03 : Creacion del stub
0x04 : Probando el programa

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

0x01 : Introduccion

Ya habia hecho este manual en Delphi pero como me gusta traducir codigos ahora le toca a C# , para empezar el server builder se usa en el malware para poder generar el virus
o programa malicioso con datos importantes para el atacante como la ip , puerto o alguna configuracion que el server builder considera importante para el programa malicioso.
En este caso veremos solo la ip y el puerto , comencemos ...

0x02 : Creacion del builder

Para crear el server builder tenemos que crear un nuevo proyecto en Visual Studio de esta manera si usan la version 2010 :

Archivo -> Nuevo -> Proyecto -> Elegimos Aplicacion de Windows Forms y le damos en aceptar

Como en la siguiente imagen :

(http://doddyhackman.webcindario.com/images/make_proyect.jpg)

Ahora creemos dos textbox , uno va a ser para la IP y el otro textbox para el puerto , tambien agregamos un boton que sere el encargado de escribir en el stub , pueden poner
los tres en el lugar que quieran o sino haganlo como en la siguiente imagen :

(http://doddyhackman.webcindario.com/images/examplebuilderuno.jpg)

Una vez hecho el diseño del form del builder vayan al codigo del formulario y agreguen este linea al inicio del codigo.

Código
  1. using System.IO; // Agregar esta linea al inicio del codigo para el manejo de archivos
  2.  

Despues hagan doble click en el boton que crearon para agregar el siguiente codigo :

Código
  1. FileStream abriendo = new FileStream("stub.exe", FileMode.Append); // Abrimos el stub.exe para escribir en el usando "abriendo"
  2. BinaryWriter seteando = new BinaryWriter(abriendo); // Usamos BinaryWriter para poder escribir en el archivo binario usando "seteando"
  3. seteando.Write("-IP-" + textBox1.Text + "-IP-" + "-PORT-" + textBox2.Text + "-PORT-"); // Escribimos en el archivo binario la IP y el puerto
  4.                                                                                       // usando los valores de los textBox1 y textBox2
  5. seteando.Flush(); // Hace que los datos almacenados en el buffer se escriban
  6. seteando.Close(); // Cerramos el BinaryWriter "seteando"
  7. abriendo.Close(); // Cerramos el FileStream "abriendo"
  8.  

Les deberia quedar algo asi :

(http://doddyhackman.webcindario.com/images/examplebuilderdos.jpg)

Con esto ya estaria el server builder , ahora vamos al stub ...

0x03 : Creacion del stub

Bueno , ahora les voy a explicar como hacer el stub , para empezar creamos otro proyecto de la siguiente manera :

Archivo -> Nuevo -> Proyecto -> Elegimos Aplicacion de Windows Forms y le damos en aceptar

Como en la siguiente imagen :

(http://doddyhackman.webcindario.com/images/make_proyect2.jpg)

Una vez creado el proyecto , agregamos al formulario 2 textBox y un boton que servira para cargar la configuracion , les deberia quedar algo asi :

(http://doddyhackman.webcindario.com/images/examplebuildertres.jpg)

Unz vez terminado todo , agregamos estas dos lineas al inicio del codigo del formulario :

Código
  1. using System.IO; // Agregar esta linea para el manejo de archivos
  2. using System.Text.RegularExpressions; // Agregar esta linea para el manejo de las expresiones regulares
  3.  

Ahora hacemos doble click en el boton creado :

Código
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3.  
  4. string ip = ""; // Declaramos la variable que contendra la IP como string
  5. string puerto = ""; // Declaramos la variable que tendra el puerto como string
  6.  
  7. StreamReader viendo = new StreamReader(Application.ExecutablePath); // Inicializamos la instancia StreamReader como "viendo" para abrir el stub
  8.  
  9. string contenido = viendo.ReadToEnd(); // Leemos el contenido del programa y guardamos el resultado en la variable "contenido"
  10.  
  11. Match regex = Regex.Match(contenido, "-IP-(.*?)-IP--PORT-(.*?)-PORT-", RegexOptions.IgnoreCase); // Usamos una expresion regular para buscar la ip
  12.                                                                                            // y el puerto
  13. if (regex.Success) // Si se encontro algo ...
  14. {
  15. ip = regex.Groups[1].Value; // Guardamos la ip encontrada en la variable "ip"
  16. puerto = regex.Groups[2].Value; // Guardamos el puerto encontrado en la variable "puerto"
  17. }
  18.  
  19. textBox1.Text = ip; // Ponemos la ip que obtuvimos en el textBox1
  20. textBox2.Text = puerto; // Ponemos el puerto que obtuvimos en el textBox2
  21.  
  22. }
  23.  

Les deberia quedar algo asi :

(http://doddyhackman.webcindario.com/images/examplebuildercuatro.jpg)

Con todo esto ya tenemos listo el server builder tanto el builder como el stub ahora nos toca probarlo ...

0x04 : Probando el programa

Una vez compilado el builder y el stub procedemos a probarlo , carguen el builder y ponganle los datos que les venga en gana en mi caso voy a poner como ip "localhost" y
como puerto "666" , despues carguen el stub y hagan click en el boton para cargar la configuracion , a continuacion les dejo una imagen de como quedaria el server builder
ademas en la imagen les muestro el stub cargado en WinHex para que vean que si funciona :

(http://doddyhackman.webcindario.com/images/examplebuilderfinal.jpg)

Eso seria todo.

Proximamente se viene un tutorial sobre como hacer un Keylogger en C# ...

--========--
  The End ?
--========--

Version PDF (http://doddyhackman.webcindario.com/descargas/serverbuildercsharp.pdf).

Version VideoTutorial :

JqTx_lKF84E