Creando un rootkit

Solo disponible en BuenasTareas
  • Páginas : 21 (5060 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de febrero de 2011
Leer documento completo
Vista previa del texto
Creando un Rootkit desde cero by E0N

2008 0 – ÍNDICE:
1 – Introducción 1.1 – Notas del autor 1.2 – Agradecimientos 1.3 – Conocimientos previos 1.4 – Objetivos 2 – Acerca de los rootkits 2.1 - ¿Qué es un rootkit? 2.2 - ¿Cómo podemos hacer todo esto?

E0N Productions

3 – La inyección dll 3.1 – Introducción 3.2 – Métodos de inyección 3.3 – Inyección mediante CreateRemoteThread 3.3.1 – Apisnecesarias 3.3.2 - Implementando la inyección mediante CreateRemoteThread y creando nuestra dll 3.4 Inyección sin dll 3.5- Otros usos de la inyección dll 4 – Api Hooking 4.1 - Introducción 4.2 – Funcionamiento del Api Hooking 4.3 – ¿Cuánto vale X? 4.4 – Función hookeadora 4.6 – Función falsa 4.7 – Código completo del rootkit 5 - Despedida

2008 1 – INTRODUCCIÓN:
1.1 - Notas del autor:

E0NProductions

Este manual tiene fines puramente educativos, el objetivo es conocer bien el funcionamiento de estas herramientas para así poder protegernos de ellas, nunca para usarlas contra otros sistemas. No me hago responsable del uso que se le pueda dar a esta información ;) xD

1.2 – Agradecimientos: Esta es una sección que no podía faltar en este manual. En primer lugar agradecer a MazarDsus maravillosos manuales sobre inyecciones dll y api hooking, ya que sin ellos este manual habría sido posible así como su ayuda personal sin la que no habría conseguido hookear ni un MessageBox xD. Recomiendo la lectura de los dos manuales, así como la práctica con los ejemplos que vienen, ya que este manual está basado en ellos en gran medida. (Ver despedida) Y en segundo lugar agradecer lasexplicaciones de mi amigo Hendrix, ya que fue él quien me ayudó a comprender realmente como funcionaba la inyección de dll’s lo que me permitió progresar y comprender bien los conceptos claves sin los cuales nunca podría haber acabado el manual.

1.3 – Conocimientos previos: Para poder seguir bien el manual hacen falta una serie de conocimientos previos, lo fundamental es saber programar con unnivel medio-alto en C/C++ (manejar bien los punteros es fundamental) y una base de ensamblador, no hace falta tener un nivel altísimo con tener una idea muy mínima del lenguaje y de lo que es un jmp es más que suficiente.

2008

E0N Productions

Sobre otros temas como la inyección dll o el api hooking convendría que por lo menos os leyerais los manuales de MazarD y que googleeis un poco,aunque intentaré explicar lo mejor que pueda esos dos conceptos.

1.4 – Objetivos: Los objetivos de este manual son claros, conseguir crear nuestro propio rootkit. En nuestro caso haremos uno a nivel de usuario, no a nivel kernel ;) Para ello dividiremos el aprendizaje en tres grandes bloques: Saber que es un rootkit y como funciona, conseguir inyectar nuestra dll y hacer api hooking. Bueno, yahora si, sin más preámbulos vamos a lo que nos interesa, saber que es un rootkit, como funciona y como crear el nuestro propio.

2 – ACERCA DE LOS ROOTKITS:
2.1 - ¿Qué es un rootkit? Bueno yo creo que si estáis leyendo esto es por que sabéis que es un rootkit y os interesa programar uno, pero para los despistados haré unas aclaraciones. Un rootkit, a grandes rasgos, es una herramienta que permiteocultar al administrador de un sistema información del mismo, ya sean los procesos que están corriendo en su ordenador, conexiones establecidas, archivos… Imaginaos el potencial que tiene una herramienta de este tipo, podemos tomar el control total de un sistema sin que el usuario se entere si quiera. Podemos tener guardados en un servidor (al que hemos accedido mediante técnicas que no setratarán aquí) 50GB de archivos sin que el administrador se entere. El límite está donde esté el límite de nuestra imaginación. Para los que quieran más información sobre los rootkits y sus tipos que consulten la wikipedia.

2008
2.2 - ¿Cómo podemos hacer todo esto?

E0N Productions

Aquí el manual ya empieza a tomar un poco de seriedad y una vez se exponga la técnica que usaremos entraremos...
tracking img