elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Pregunta sobre lenguaje de programación orientado a los crypters
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta sobre lenguaje de programación orientado a los crypters  (Leído 2,604 veces)
Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Pregunta sobre lenguaje de programación orientado a los crypters
« en: 31 Julio 2011, 21:17 pm »

Bueno hoy estoy muy preguntón pero es que me gusta aprender y saber cosas.

bueno se que los crypters se hacen en Visual basic y tambien en delphin pero no se si se puede hacer en c++ o en java o en otro lenguaje de programación... o bien por que sea muy complicado..

y otra pregunta casi todos los crypters en que lenguaje suele estar hecho?

Saludos y gracias



En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
CloudswX


Desconectado Desconectado

Mensajes: 806


"La física es el sistema operativo del Universo"


Ver Perfil
Re: Pregunta sobre lenguaje de programación orientado a los crypters
« Respuesta #1 en: 31 Julio 2011, 21:35 pm »

Bueno tenia esto copiado en mis documentos viejos, le dare un copy paste para que lo leas.

PD. Este tutorial fue escrito por Hackmin, yo simplemente lo comparto.

Poco a poco voy a ir soltando y desplegando conocimientos para que todo el mundo pueda optar a entender un poco más lo que utiliza y lo que programa.

¿Qué es un crypter?
Pese a que podré ser colgado por un experto, podríamos definir sin equivocarnos que un crypter será la herramienta que nos transforme un fichero A en un fichero B, realizando cambios (muchos o pocos), sobre el fichero original A, y añadiendole o no alguna funcion que antes no tenia.

¿Para que nos sirve un crypter?

-Habitualmente se utiliza para evitar la decompilación del código, al menos tratar de complicarlo.
-Saltar la heuristica de los antivirus.
-Simplemente camuflar un fichero bajo la apariencia de otro (normalmente, haciendo creer que es inofensivo)

¿Hay tipos de crypter?
Existen 2, pese a que podriamos catalogarlos en más.
-Runtime pueden llegar a ser ejecutados, sin que sean detectados por un anti virus por ejemplo.
-Scantime no son ejecutados, simplemente cuando un antivirus scanea en busca de firmas, heuristica, etc, no detectará nada extraño sobre este fichero.

¿Como funciona un crypter?
Lo normal es que existan 2 ficheros, el primero se encangará de realizar el pastel, es decir, mezclar, batir y aliñar nuestro programa. El segundo, será un lanzador o stub, se encargará de situar el código de nuestro programa en memoria.

¿Puedes ser más técnico?
Aquí es la zona que a mi me gusta, y en la que creo despistaré a unos cuantos.
Previo a entrar en materia supongamos que tenemos un fichero virusmortal.exe, el código de mi virusmoral, será: linea que hace todo el mal.

Un crypter, leera el código de mi programa, en este caso situará en una variable: "linea que hace todo el mal", suponemos que los antivirus detectan por firma la palabra "mal". nota; tristemente el funcionamiento de los antivirus es bastante parecido a esto.

Si guardamos el contenido de la variable, de nuevo en un fichero nuestro antivirus (de ahora en adelante AV), saltará y nos avisará. Por lo tanto algo tiene que hacer el crypter, dependiendo del programador, aplicará una tecnica, ya sea dar la vuelta a la cadena, o encriptarla con xor, con base64, por comodidad yo utilizaré base64.

El programa pasará la cadena que tenia en la variable, por una funcion que me codificará el el texto almacenado, en base64, nos quedaría: "bGluZWEgcXVlIGhhY2UgdG9kbyBlbCBtYWw=". Si guardamos esto de nuevo en virusmortal.exe, NO funcionará, ha perdido el poder de ser ejecutado. Tendriamos un fichero en scantime.

Aquí es donde entra a funcionar el stub, este tambien es un fichero ejecutable, suele funcionar con un código similar a este pseudocódigo:
-Busco mi ruta
-Leo todo mi código
-Ejecuto en memoria todo lo que hay debajo de mi.

Como se puede observar si ejecutamos este fichero, no pasará nada, pues por si solo es completamente inofensivo. Un crypter nos mezclará el código obtenido antes en base64 y pondrá encima de dicho código el stub. El código finalmente quedaría:
-Busco mi ruta (ej: c:\bichito_encriptado.exe)
-Leo todo mi código: Rutinas varias para ejecutar código, des-cifrar, etc.
-Ejecuto en memoria el código des-cifrado: "bGluZWEgcXVlIGhhY2UgdG9kbyBlbCBtYWw=".

El stub... Un poco más a fondo.
Tal y como se ha podido ver, una gran parte del trabajo lo tendrá el stub. Para el programador, es el que más juego puede proporcionar pues se le pueden añadir tantas rutinas como se quiera. Es decir, podriamos meter todo lo necesario para tener un fichero con nuestro código virico, pero no solo eso, si no a su vez que este se replicase por usb por ejemplo. Cosas que se me ocurren podrian ser:
-Replicacion de usb.
-Replicacion por programas de P2P.
-Modificar el fichero host. Para esquivar actualización de los Av.
-Añadir rutinas que imposibiliten o dificulten el analisis. Is debugger present, anti-anubis....
-Crear un nuevo proceso, para asi poder mostrar que la aplicacion funciona y no un simple mensaje de error...
-Modificar algún fichero de sistema o varios, ej: Salvapantallas para que pueda cargar nuestro amigo, taskmngr,explorer,firefox...


En línea



 «Dios no juega a los dados, usa /dev/random.»
twitter: @cloudswx
Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Re: Pregunta sobre lenguaje de programación orientado a los crypters
« Respuesta #2 en: 31 Julio 2011, 22:38 pm »

Ok  gracias...
En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
CloudswX


Desconectado Desconectado

Mensajes: 806


"La física es el sistema operativo del Universo"


Ver Perfil
Re: Pregunta sobre lenguaje de programación orientado a los crypters
« Respuesta #3 en: 3 Agosto 2011, 22:47 pm »

 A tus ordenes...
En línea



 «Dios no juega a los dados, usa /dev/random.»
twitter: @cloudswx
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
algun. lenguaje visual o orientado a objetos
Programación General
linux1 4 2,430 Último mensaje 23 Junio 2010, 07:40 am
por @synthesize
[?] Duda sobre 2 lenguaje programacion
Programación General
yoxter 1 1,304 Último mensaje 1 Junio 2012, 06:21 am
por [Case]
Consultas sobre lenguaje de programación C « 1 2 »
Programación C/C++
ElboxD 10 2,931 Último mensaje 6 Diciembre 2012, 22:40 pm
por 0xDani
Duda sobre que curso realizar sobre un lenguaje de programación.
Programación General
arts 1 1,336 Último mensaje 24 Septiembre 2014, 02:16 am
por arts
duda sobre el lenguaje de programacion c.
Programación C/C++
fedemaxrul 1 962 Último mensaje 22 Noviembre 2016, 16:19 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines