domingo, 4 de octubre de 2015

Mr. Robot - Una serie para nosotros

Con el objetivo de retomar mi tan descuidado blog, hoy compartiré una pequeña entrada sobre una serie que particularmente me llama mucho la atención Mr. Robot, serie que trata sobre una Elliot un especialista en seguridad informática que trabaja en Allsafe empresa que brinda servicios sobre seguridad a diferentes empresas.


Elliot es una persona asocial que una de las formas de interactuar con la sociedad se dedicaba a comprometer la seguridad de sus “amigos” para conocer un poco mas de su vida.

Por el momento existe coherencia en los términos utilizados, herramientas y técnicas; en cada capitulo se puede observar el uso de herramientas o comandos nativos de Linux.

Incluso en un capitulo escuche el termino “cadena de custodia”, para la preservación de la evidencia de los archivos comprometidos por un grupo de Hackers denominado Fsoecity.


Saludos
iA

viernes, 20 de marzo de 2015

En búsqueda de Malware

Este artículo nace de un escenario real en el cual se “sospechaba” que un servidor fue infectado con un indeterminado malware, el objetivo es describir de forma general las etapas que nosotros los analistas deberíamos seguir (no estoy afirmando que sea la verdad absoluta del universo).

El análisis del Binario o Ejecutable queda fuera del alcance de este artículo, sin duda  alguna el objetivo a mediano plazo es desarrollar cada una de las etapas del análisis de malware en una serie de artículos.

Buscando Malware
Como lo comente anteriormente, cada una de las etapas será "destripada" para determinar las herramientas utilizadas y el objetivo de cada una de ellas dentro del análisis del Malware.

Saludos!


miércoles, 18 de marzo de 2015

Artefactos Forenses II

Ejecución de Programas

UserAsist

Es una clave de registro en la cual se almacena información sobre la ejecución y uso frecuente de los programas por parte de los usuarios del sistema operativo, lo que me llamo mucho la atención que “documentación oficial” por parte de Microsoft no existe, de acuerdo a las investigaciones realizadas el algoritmo de cifrado que utiliza es ROT13 (cifrado cesar).

En un determinado escenario analizar y reconstruir en una línea de tiempo tomando en cuenta la fecha, hora y la cantidad de veces que una aplicación fue ejecutada por una determinada sesión o usuario podría ser considerada como una evidencia fundamental para determinar una acción por parte de un usuario.
UserAsist
Last Visited MRU

Esta clave permite identificar el ejecutable específico utilizado por una determinada aplicación para abrir los archivos de que se encuentran documentados en OpenSavedMRU, de igual manera almacena la ubicación del directorio.
LastVisitedMRU
RunMRU Start Run

Esta clave de registro permite identificar las aplicaciones lanzadas desde la "ventanita" Ejecutar.

RunMRU
Application Compatibility Cache

Cualquier aplicación ejecutada en los sistemas Windows puede ser identificada en esta clave, podemos utilizar esta clave para identificar malware, tomando en cuenta datos como la fecha y hora, podríamos determinar el último momento de ejecución o actividad en el sistema.
Application Compatibility Cache.
Windows7 Jump List

Proporciona información sobre la primera ejecución de la aplicación en el sistema operativo, la barra de tarea de windows 7 fue diseñada para permitir a los usuarios "saltar" a los elementos mas frecuentemente utilizados de forma rápida y fácilmente.
Win7 Jump List
Prefetch

Mecanismo de "cache" que permite almacenar las aplicaciones mas utilizadas en el sistema operativo, fue implementando con el objetivo de mejorar el rendimiento utilizando información pre-cargada de las aplicaciones para su ejecución.
Prefetch
Service Events

El análisis de los logs permite determinar la ejecución de servicios desconocidos al momento de iniciar el sistema operativo. Hace una revisión de los eventos relacionados con iniciar, parar o deshabilitar algún determinado servicio del sistema.
Service Events
Cuando llevamos acabo un análisis forense el determinar la ejecución, la fecha y la hora, las aplicaciones utilizadas, los archivos ejecutados y la relación de los archivos con las aplicaciones permite generar una linea de tiempo basada en datos de una manera objetiva y sin "suponer" alguna información. 

Por si no leíste el primer articulo podes leer aqui:












martes, 17 de marzo de 2015

Artefactos Forenses I

Cuando decidí escribir este artículo recordé el famoso principio de intercambio de Emond Locard “Siempre que dos objetos entran en contacto transfieren parte del material que incorporan al otro objeto”, a medida que pasaba el tiempo leí o escuchaba el termino “artefacto”, los sistemas operativos cuentan con procesos o mecanismos de registro sobre toda actividad realizada por el sistema o el usuario, programas utilizados, accesos, conexiones, aplicaciones, descargas desde Internet, etc.

Estos elementos nombrados anteriormente son considerados como “artefactos”,  agrupamos los artefactos de acuerdo a la actividad:
  • Archivos Descargados
  • Ejecución de programas
  • Creación y Apertura de archivos
  • Eliminación de archivos
  • Locación física
  • USB & Dispositivos
  • Uso de Cuentas
  • Uso de Navegadores

Archivos Descargados

Archivos Recientes
Correo Electrónico : Outlook  
Historial de Actividades de Skype
En un artículo anterior hablamos detalladamente de la base de datos de Sky, haciendo un análisis con la herramienta que desarrolle para facilitar las tareas de análisis de archivos sqlite específicamente para Sky
Paginas Visitadas por el Usuario

Descargas desde Internet
Podemos complementar para el "artefacto" de Downloads específicamente de Firefox en este artículo donde detallo sobre la información generada por este navegador la misma que es almacenada en el sistema operativo.

Nos vemos en el siguiente Articulo sobre Artefactos forenses!








sábado, 14 de marzo de 2015

Análisis de la memoria RAM

En nuestro anterior post hablábamos de la captura o volcado de la memoria física del sistema operativo, ahora hablamos del análisis que fue realizado con el Framework Volatility.

Capturando la memoria RAM

Cuando nos enfrentamos a un análisis forense digital tenemos de 2 sopas, un análisis offline o análisis “en vivo” (live) del equipo (Dispositivo) en cuestión, de acuerdo al grado de volatilidad que establece en el RFC 3227 se establece en la preservación de la memoria RAM, hoy vamos a utilizar Dumpit, FTK Imager algunas herramienta que permiten capturar la tan preciada memoria RAM del sistema operativo.

El generar una imagen forense de la memoria RAM permite posteriormente en la fase de análisis “extraer” información valiosa del Sistema Operativo, a continuación  enumero algunas de ellas:
  • Procesos ejecutados
  • Conexiones establecidas
  • Malware
  • Contraseñas
  • Servicios Cargados por el Sistema Operativo
  • Archivos en Ejecución
Es importante recordar que mientras las herramientas sean menos intrusivas en el sistema operativo será mejor, por eso seria absurdo pensar en instalar alguna aplicación en el equipo al cual se esta realizando un análisis forense digital.

Device\PhysicalMemory

En los sistemas Microsoft Windows  el objeto \Device\PhysicalMemory es el utilizado por algunas aplicaciones para acceder a la memoria física. Para capturar o volcar la memoria física las aplicaciones deben de acceder a este objeto para poder obtener el contenido.

Objeto PhysicalMemory

Dumpit
Esta herramienta permite capturar la memoria RAM (en entornos Windows de 32 y 64bits) de una forma sencilla, solo con un tímido “doble” click permite realizar la captura.
Dumpit sobre S.O Win 7 Sp1 64 bits
Es importante que la imagen forense sea firmada digitalmente con el objetivo de preservar la evidencia.
Calculando MD5 y SHA1
Existen numerosas herramientas que permiten calcular el HASH o firmar digitalmente una imagen forense, en este caso utilice hashcalc

FTK Imager

En este caso hablamos de una herramienta con un entorno grafico sencillo y facil de utilizar, esta versión es gratuita de AccessData.
FTK Imager - Capturando la memoria RAM
Tan sencillo como indicar la dirección en la cual se creara nuestra imagen forense de la memoria RAM y generar!, de igual forma como se hizo con Dumpit, se debe firmar el archivo generado para preservar la integridad del archivo.
Archivo generado de la memoria RAM
Definitivamente no son las únicas herramientas que existen para la captura o volcado del contenido de la memoria física, en nuestro siguiente post realizaremos el análisis de la imagen generada por Dumpit. 

jueves, 19 de febrero de 2015

Volvemos (un poco tarde, pero volvemos) 2015!

Mi ultimo post fue escrito el 4 de enero del 2014, descuide totalmente mi blog; desde enero del 2014 hasta la fecha pasaron cosas, las mas importantes desde el punto de vista profesional son las certificaciones que obtuve la C|EH (Certified Ethical Hacker v8) & C|HFI (Computer Hacking Forensic Investigator V8).

 


Por las peripecias de la vida me aleje un poco de la parte “técnica” (la cual siempre fue y será motivo de curiosidad e inquietud de saber como funcionan las cosas), adentrando en un mundo interesante como es el mundo de las normas ISO, ISO/IEC 27001, ISO 20000 y la ultima y la mas querida (a palos) la norma ISO 22301:2012 “Seguridad de la sociedad – Sistemas de gestión de la continuidad del negocio”.

 

Para este año me encuentro en la disyuntiva de las siguientes certificaciones entre las opciones mas cercanas se encuentran: LA27001, LA22301, CISSP. Cada una de ellas con su grado de complejidad.

Hoy vuelvo a retomar la parte técnica para no olvidar mis raíces, un amigo me comento algunas cosas de las cuales se me ocurrieron un par de ideas para mis siguientes post, como introducción a este 2015 os dejo algunos de mis siguientes temas : Android Forensic, Exploiting, Pentesting, Malware Analysis 

sábado, 4 de enero de 2014

Hombre en el medio MITM (La práctica )

Retomando un post del año pasado sobre una técnica conocida como hombre en el medio, en la primer parte hablamos sobre la teoría y como funciona el envenenamiento ARP, en este caso vamos hacer un ejemplo sencillo pero que cumple con la teoría.
Figura 1. Escenario para un envenenamiento ARP
Una vez identificado el escenario procedemos a ejecutar la técnica, en este caso lo que necesitamos son las direcciones MAC, utilizando un script en Kali linux identificamos a los clientes de una red.

Figura 2. Identificando clientes de una red

Modificamos el estado de nuestra tarjeta de red a un modo promiscuo, solo escribiendo el valor en 1 en el archivo ip_forward estamos ordenando que la tarjeta cambie su modo a promiscuo , gracias Linux por ser tan sencillo! ;)
Figura 3. Tarjeta en modo promiscuo 

Ya con la tarjeta en modo promiscuo e identificado nuestro objetivo atacamos su tabla de arp, para engañar a nuestro objetivo.
Figura 4. Tabla ARP del objetivo envenenada.

Para demostrar la prueba de concepto en este caso vamos a utilizar un equipo con "windows" y lo haremos en un protocolo en el cual la información baja en texto plano el Sr. FTP, y lo vamos hacer al puro estilo Matrix (jajaja). un agradecimiento al ronald! que me presto su equipo.

Figura 5. Generando un sesión FTP 

Generamos una sesión a un servidor de ftp, en este caso con la ayuda de wireshark vamos a interferir la comunicación licita para obtener las credenciales de usuario y contraseña de nuestro objetivo.


Si bien esto ya es muy viejo y existen formas para contrarrestar estas técnicas, muchas empresas son vulnerables a este tipo de ataques.Utilizar protocolos que cifran la información como el caso de HTTPS no es la solución al problema, ya que existen herramientas como SSLstrip que permiten interceptar la  información antes de ser cifrada.

Es recomendable utilizar soluciones a nivel de equipos de telecomunicación con algún dispositivo Cisco.






domingo, 29 de diciembre de 2013

Deep Sqlite I (El análisis)

Cada día se ve mas Sqlite como base de datos  gracias a los "smartphone" y no solo a ellos a firefox, skype, dropbox y muchos mas utiliza esta tecnología para almacenar su información.

Esta vez nos vamos a centrar en la cabecera de cualquier archivo sqlite (que no este cifrado), en los 100 primeros bytes encontramos informacion imporante de sqlite (The SQLite Database File Format).

Figura 1. Cabecera de un archivo Sqlite
Ahora que tenemos la estructura de la cabecera vamos a ver un ejemplo abriendo con un editor hexadecimal para analizar los primeros 100 bytes, en este ejemplo vamos a ver una base de datos de Skype (main.db)

Figura 2. Cabecera Sqlite

53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 : Cadena escrita que termina con "00"
10 00 : Tamaño de la página 4096 bytes
01: No dispone de modo WAL para escritura
01: No dispone de modo WAL para lectura
0000134C: El fichero ha sido cambiado 4.940 veces
0000011D: El fichero contiene 285 páginas
00000119: Número de la primera página libre troncal
00000001: Codificación de texto UTF-8
00000000: Al estar todo a 0, no hay auto-vacuum
002DE225 : Equivale a la version de la Base de datos

Write Ahead Logging es un método de rollback desde la versión 3.x , el cual invierte el proceso tradicional de rollback. En teoría los cambios de una base de datos son escritos en el mismo archivo original llevando un control en un registro de modificaciones en otro fichero del cual podrá ser recuperado si algo no fue escrito de forma correcta por algún problema.

La tecnología WAL crea un nuevo fichero con el mismo nombre agregando el (-wal) al final, donde se harán los cambios y se sobrescribirá el original cuando de se ejecute la orden de sobrescritura.

En el siguiente post, vamos hablar de las "hojas", arboles y demás ;)





viernes, 20 de diciembre de 2013

Destripando Skype (Análisis Forense Digital)

Dejamos el "hacking" por un lado (muy cerca , no tan lejos ) y continuamos con lo que es el análisis forense digital , en este caso nos enfocaremos en el cliente de mensajería, Chat , VoIP  llamado Skype.

Muchas veces cuando se realiza un análisis forense digital y necesitamos extraer información de los clientes de mensajería no se cuenta con una herramienta "amigable" que permite llevar acabo un análisis en este caso de la relación de información almacenada en una base de datos.

Encontré una que otra herramienta (script) escritos en python (love it) , pero no son tan amigables , decidí crear una herramienta que permite realizar el análisis de una forma mas fácil y amigable , estas son algunas de sus funciones:
  1. Crear un perfil del o de los usuarios de Skype de un determinado Equipo
  2. Lista de Contactos de Skype  (Nombre , User , Pais ,Fecha de relación de amistad ) 
  3. Lista de Conversaciones (Chat)
  4. Relación de conversaciones  (Conversación entre usuarios , fecha , Usuario)
  5. Transferencia de archivos (Quien envió a quien , fecha , archivo enviado , nombre del archivo , donde se encontraba, fecha de envio , tamaño del archivo)
  6. Vídeo llamadas (Participantes, duración de la vídeo conferencia , ip de llamadas )
  7. Generar un Hash (MD5 y SHA1) del archivo analizado , preservación de la evidencia
  8. Reportes de las funcionalidades en formato .xls
Por el momento considero que le falta madurar a la herramienta , dentro de algunos días soltare la versión Free de la herramienta.

El Splash de mi App (me quedo de 10 )
Bueno para no ser diseñador me quedo bien ! , continuando  con la aplicación tenemos la opción principal de abrir la base de datos (SQLITE) una vez cargada la BD se procede a analizar y relacionar la información.
Seleccionando la base de datos para analizar
 Por el momento estas son las funciones con las que cuenta mi aplicación, a medida que vaya madurando se vera la necesidad de implementar algunas nuevas funciones.
Las funciones de la aplicación 
Una de las funciones importantes desde mi humilde punto de vista es la de transferencia de archivos , si bien usuarios "inteligentes" borran sus conversaciones de la base de datos no se borran , entonces podríamos determinar si existe fuga de información (si utilizan este medio para hacerlo).

Algo que me llamo la atención fue las direcciones IP que se registran en las vídeo llamadas ya que con eso podemos determinar la ubicación geográfica de los participantes

La herramienta esta en su fase de desarrollo , no  soy muy bueno con la interfaz si alguien me da la mano con eso Bienvenido!.

Espero liberar pronto la version Free, saludos!

EOF


viernes, 13 de diciembre de 2013

Tras las huellas del Zorro I

Los navegadores web son una fuente importante de información desde el punto de vista de un análisis forense, ya que en ellos podemos llegar a recuperar datos que posteriormente analizados podemos reconstruir lo sucedido.

En esta oportunidad vamos a analizar Firefox uno de los navegadores mas utilizados,existen muchos puntos en los cuales van a diferir de acuerdo al sistema operativo , lo cual dificulta el análisis hasta cierto punto, uno de los puntos a favor en este caso del forense es que todo se almacena con una tecnología, en este caso la mas utilizada por aplicaciones de teléfonos y por este navegador web Sqlite.

 Firefox por defecto se instala en la siguientes direcciones (esto no es algo que este escrito en piedra el usuario puede decidir donde instalarlo)

Windows XP

C:\Documents and Settings\[User]\Application Data\Mozilla\ Firefox\Profiles\xxxxxxxx.default\
C:\Documents and Settingd\[user]\Local Settings\Application Data\ Firefox\Profiles\xxxxxxxx.default\Cache\

Windows 7 y 8

C:\Users\[User]\AppData]Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\Cache\
C:\Users\[User]\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\

Linux

~/.mozilla/firefox/xxxxxxxx.default/

Mac

~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/
~/Library/Application Support/Mozilla/Extensions
~/Library/Caches/Firefox/Profiles/xxxxxxxx.default/Cache/

Las tareas básicas de un navegador

Los navegadores son las aplicaciones mas utilizadas ya que con ellas podemos acceder a recursos (paginas web) en Internet , navegar,enviar y recibir información , vamos a ver las principales características de un navegador.
  1. Interfaz de usuario : Toda la pantalla del navegador
  2. Motor del navegador : El que se encarga de interpretar los .css , .html 
  3. Motor de Renderizado :  se encarga formatear la información  de tal manera que puedan ser visualizados en nuestro navegador
  4. Networking : se encargar de realizar las consultas mediante el protocolo HTTP
  5. Motor de Javascript :  se encarga de interpretar el contenido de los archivos .js (javascript,jQuery,etc)
  6. Almacenamiento de la información :  es la capa que se encarga de almacenar la información de nuestro navegador en el disco duro (nuestro objetivo).

Cuando uno ingresa una dirección URL en la barra de direcciones el navegador lo que hace es comunicarse con un servidor de de nombre (DNS) para resolver una dirección IP y acceder al servidor web apropiado, una vez conectado mediante los comandos del protocolo HTTP puede realizar consultas y recibir la información.

El navegador lee el codigo HTML , desplegando la información de los recursos solicitados,esos recursos pueden ser paginas html , pdf, archivos de diferentes extensiones o formatos, el navegador web almacena la información en su cache para reducir el uso de ancho de banda y la carga de recursos desde los servidores.

Ubicación del Cache en Firefox

Se almacenan metadatos , la ubicación del cache de firefox mozilla es la siguiente.

C:\Users\[User]\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\Cache
C:\Users\[User]\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\jumplistCache
C:\Users\[User]\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\OfflineCache
C:\Users\[User]\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\startupCache

En el directorio C:\Users\[User]\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\Cache se encuentran 4 archivos primarios que son los siguientes.
  1. _CACHE_001_ :  almacenamiento de metadatos de bloques de 512  bytes
  2. _CACHE_002_ :  almacenamiento de metadatos de bloques de 1204 bytes
  3. _CACHE_003_:  almacenamiento de metadatos de bloques de 4096 bytes
  4. _CAHCE_MAP_: este archivo se encarga de cruzar la informacion de metadatos y datos
Por el momento concluimos con la parte teórica, ya que viene una segunda parte con un poco de teoría y una tool ;) 

viernes, 29 de noviembre de 2013

Favelas 2.0 (Internet Profunda )

Hablando de la Internet profunda podemos decir que es todo lo que no se encuentra en la Internet superficial , es decir todo las "cosas" que Google no indexa en su motor de búsqueda.


Existe un mundo 2.0 que desconocemos y podemos encontrar todo tipo de cosas , desde pasaportes falsos, trata y trafico de personas , "hackers", pedofilos , pederastas, asesisno a sueldos (y ellos exigen seriedad en el trabajo!).

Del 100 % de internet solo llegamos a navegar por un 20% y el 80% es conocida como la Deep Web , aqui les dejo algunos ejemplos de búsquedas en Google.

Imagen 1  - Algún capo de Sinaloa

Aquí podemos encontrar "hackers" , gente que quiere destruir Chile , espero que no se arme la "Guerra"

Imagen 2  "Hackers" de alquiler

 De igual forma demos encontrar pasaportes, actas de nacimiento , permisos para conducir , compra y venta de billetes falsos.

Imagen 3  Compra y venta de Pasaportes , Billetes Falsos

Existe un mercado que mueve mucho dinero en Internet ,si los buscadores tuvieran la capacidad de acceder a toda la información , entonces la magnitud de la "Internet profunda" se reduciría casi en su totalidad. No obstante  , no desaparecería totalmente porque siempre existirán paginas privadas.

EOF




jueves, 28 de noviembre de 2013

Análisis Forense Digital (Entrenamiento)

Hace algunos días culmino el primer entrenamiento de Análisis forense digital (Fundamentos) en Guatemala, el cual lo impartí orientado al análisis de sistema operativo Microsoft Windows.

El grupo era nuevo en este tema , la misión era un poco complicada ya que considere que deberían captar la base y un cimiento solido sobre la metodología de trabajo y no en las herramientas de análisis forense.

Creo totalmente en la frase "el conocimiento es libre " y es deber de nosotros compartir y contribuir a la sociedad.

Al finalizar el curso y comenzar a revisar los informes que presentaron, me alegre de ver que si habían captado la base del Análisis forense Digital y no solo la parte técnica sino también la parte del marco legal de Guatemala.

Dos grupos los cuales sintieron un antes y un después del curso, por los "pasillos" se escuchan rumores que quieren un curso mas avanzado , el despertar la curiosidad por esta rama de la tecnología.


Espero seguir aportando con el conocimiento (muy poco) y bueno nos vemos en el proximo Entrenamiento de AFD.

Saludos!



domingo, 1 de septiembre de 2013

Escribiendo un Exploit ( Buffer Overflow) I

Existen muchos artículos en Internet "de todos los colores y sabores del arcoiris" que explican como funciona el "buffer overlflow" , voy a tratar de explicarlo como me hubiera gustado que me lo expliquen xD.

Antes de entrar a sobre-escribir las direcciones de memoria y buscar un jmp , tenemos que conocer la teoría para llevarlo a la practica.

Comencemos por lo básico que son los registros del procesador, si necesitas saber sobre sistemas de numeración como ser binario , decimal o hexadecimal te sugiero el siguiente enlace.

La forma en que se representa la memoria depende únicamente de la arquitectura del procesador dicho esto existen 2 formas de hacerlo
  • Big Endian: El byte más significativo se representa a la izquierda.De izquierda a derecha).
  • Little Endian: El byte mas significativo se representa a la derecha. Análogamente, de derecha a izquierda
Representación de la dirección de memoria 01234567

EAX , EBX , ECX , ESI , EDI : Son registros multipropositos para usarlo segun el programa.

EAX: Es el registro acumulador cualquier instruccion de retorno la almacena el valor en EAX.

EBX: Este registro es utilizado como manejador o "handler" de ficheros de direcciones de memoria.

ECX: Se utiliza como registro contador , por ejemplo para aplicar un ciclo o loop , cuando ECX llega a 0 el ciclo acaba
ESI & EDI: Son registros que son utilizados para guardar direcciones de memoria.
EIP: Es el registro donde se almacena la dirección de la siguiente instrucción que debe ejecutar el ordenador.

EBP: Es el registro "puntero a base", apunta al elemento mas alto de la pila ; la pila es una estructurara de datos que utiliza el procesador para ayudarse en la ejecución de los programas.

ESP:  Es el registro que apunta a la "cima" , apunta a la direccion de memoria (donde comienza la pila).

NOP: Instrucción en ensamblador que significa "No Operation" , lo único que hace e aumentar en uno el registro de la siguiente instrucción "EIP".

Cabe aclarar que el modo de acceso a la "pila" es LIFO , "last in ;first out" el ultimo en entrar el primero en salir.


¿Que es el desbordamiento de memoria?

Sencillamente se puede definir como un error en nuestro código que no controla correctamente la cantidad de datos que se copian sobre una area de memoria reservada (Buffer).

Si tenemos asignados en un array (independiente del lenguaje de programación) 30 espacios y nosotros "introducimos" 40 espacios en , estamos causando un desbordamiento de memoria por que los asignados son 30 y no 40.

El siguiente código (escrito en C) es vulnerable


#include  
int main (int argc, char **argv)

    char buffer[64];
    if (argc < 2){ 
        printf ("Introduzca un argumento al programa\n");  
        return 0;  acaba
        }
    strcpy (buffer, argv[1])
    return 0; 
}

La funcion principal recibe argumentos como parametro ,reservamos un buffer de 64 espacios continuos en memoria de tipo "char" creando nuestro buffer.

char *strcpy(char *cadena1, const char *cadena2);

La funcion strcpy copia la cadena2 (incluyendo el caracter nulo "\0" en la cadena1) , el gran problema es que no verifica que la cadena2 sea del mismo "tamaño" o menor a la del buffer sobre-escribiendo las direcciones de memoria contiguas generando el desbordamiento.

Creo que para ser la introducción por el momento estamos bien!  , en el proximo post, queda totalmente prohibido la teoria y directo a la practica!

Slds

sábado, 31 de agosto de 2013

Ingeniera Social con SET

Social Engineer Tool Kit , es un script que nos proporciona una infinidad de herramientas de ingeniería social , este conjunto de herramientas se integran perfectamente a Metasploit .

Podemos seleccionar el tipo de vector de ataque que mas nos guste ;) en mi caso selecciono el vector Web

Menu principal de nuestro SET
seleccionamos la opción numero 1 y luego el vector de ataque web 


Este vector de ataque nos permite utilizar  plantillas web o clonar  :3 , para verificar el poder de la herramienta decidimos clonar 


Como se puede observar en la imagen especificamos la ip la cual nos va a permitir robar las credenciales y el dominio que deseamos clonar , como esto es una prueba de concepto  y no un ataque real , no se explicara como envenenar un dns o suplantar un dns eso se los dejo a uds ;) 


accedemos por un navegador a nuestra ip 192.168.0.17 y este es el resultado.


Clonación perfecta! , ingresamos nuestros datos y hacemos un submit y del lado del atacante aparece la siguiente información en SET.


Datos interesantes , si ya tenemos iniciada una sesión de gmail , el ataque redirecciona la ip falsa a la verdadera bandeja de entrada, y lo mas importante las preciadas Credenciales.

Slds
Related Posts Plugin for WordPress, Blogger...