Banner 1

La realidad colombiana

0 comentarios
Me ha llegado esto al correo y quiero compartirlo.

"Soy pobre pero no me importa que me roben y que los ricos sean cada vez mas ricos, siempre y cuando maten guerrilleros, soy desempleado pero no me importa el trabajo, hay que acabar con las Farc, ...soy comerciante y no me importa mi negocio o la economiasiempre y cuando no se nos meta Chavez, los falsos positivos habrian podido ser de mi familia pero no me importa, porque puedo andar seguro en la carretera ( aunque no tenga dinero para viajar) . Estoy enfermo, pero no me importa mi salud, porque las FARC se pueden rearmar...soy padre de familia pero no me importa la vida y la educación de mi hijo, por que el "mono jojoy" me cae mal. voté por Santos y aunque soy pobre, desempleado, sin oportunidades y enfermo, HOY ME SIENTO UN GANADOR "

Video: Ataque de envenenamiento de cookies (Cookie-Poisoning)

0 comentarios

Otra entrada interezante del blog dragon

---------------------------------------------------

El ataque de envenenamiento de cookies o mas conocido como cookie poison, consiste en modificar el contenido una cookie  con el fin  de saltar algunos mecanismos de seguridad que se basan en este método.¿ Pero que es una cookie? para todos aquellos que no tengan claro que es una cookie (no es una galleta) cito la wiki:
BQIRE Video: Ataque de 
envenenamiento de cookies (Cookie Poisoning)
Una cookie (pronunciado ['ku.ki]; literalmente galleta) es un fragmento de información que se almacena en el disco duro del visitante de una página web a través de su navegador, a petición del servidor de la página. Esta información puede ser luego recuperada por el servidor en posteriores visitas. En ocasiones también se le llama “huella”.
Con este tipo de ataque se pueden hacer cosas muy interesantes entre las cuales tenemos:
  • robo de identidad.
  • Obtener informacion no autorizada.
  • Modificar algunos datos.
  • Robar sesiones.
En el siguiente vídeo la gente de imperva nos muestra como podemos hacer efectivo una ataque de cookie poisoning usando la herramienta llamada: paros proxy la cual funciona como un proxy, permitiendo capturar las peticiones HTTP e incluso las HTTPS, De esta forma  y con un poco de malicia y suerte se pueden realizar este tipo de ataques. A continuación el vídeo demostrativo:
Mas Información:
Using Cookie Poisoning to Bypass Security Mechanisms

FUENTE:
http://www.dragonjar.org/video-ataque-de-envenamiento-de-cookies-cookie-poisoning.xhtml

Video Tutoriales de Wireshark

0 comentarios
Esta entrada la vi en el blog de dragon y la tematica es buena asi que les dejo la copia xD.

-----------------------------------------------------------------------------------------------------------

Wireshark es una herramienta gráfica utilizada por los profesionales de la seguridad y las redes para identificar y analizar el tipo tráfico en un momento determinado. En el mundo de la IT se denominan analizadores de protocolos de red, analizadores de paquetes, packet sniffer o sniffer. Wireshark permite analizar los paquetes de datos en una red activa como también desde un archivo de lectura previamente generado.
Wireshark Video Tutoriales de Wireshark
En la comunidad somos conscientes de la importancia de esta herramienta, por eso hemos publicado el Wireshark Portable, la Guía Básica de Wireshark y ahora les traigo una serie de vídeo tutoriales, creados por CACE Technologies, la casa del Wireshark, donde nos explican el funcionamiento de esta excelente herramientas y nos muestran algunos casos en los que Wireshark ha salvado el día.

Serie de Introducción a Wireshark

Introducción a Wireshark
video1i 
Video Tutoriales de Wireshark
Aprende como empezar con Wireshark.
Duración: 5m 51s
Atajos de teclado personalizados en Wireshark
video2 
Video Tutoriales de Wireshark
Empieza capturando rápidamente con un atajo de teclado personalizado.
Duración: 2m 26s

Serie los Misterios de las Redes

Resolviendo los Misterios de las Redes
videosolvingmysteries90 Video Tutoriales de Wireshark
Betty DuBois presenta la Resolución de la serie Misterios de las Redes.
Duración: 1m 50s
El caso de la Descarga Perdida
videomissingdownload90 Video Tutoriales de Wireshark
Betty nos muestra como Wireshark y CACE Pilot le salva el día a uno de nuestros clientes.
Duración: 5m 6s
The Case of the Slow Network
videoslownetwork90 Video Tutoriales de Wireshark
Betty shows how Wireshark and CACE Pilot saved the day for one of her
clients.
Duración: 5m 44s
El caso del balanceo de cargas en servidor DNS
videodnsbalancer90 Video Tutoriales de Wireshark
Betty resuelve el misterio del balanceo de cargas de un servidor DNS en un ISP.
Duración: 9m 17s
El caso del iSCSI SAN lento
videoslowiscsisan90 Video Tutoriales de Wireshark
Betty sigue la pista del culpable de la lentitud en el iSCSI SAN.
Duración: 8m 6s
En la Campus Party Colombia 2010 nuestro amigo Carlos Andrés Rodallega Obando mas conocido como Roguer, dará una charla y taller sobre Wireshark, espero que estos vídeos les sirva de iniciativa para lo que veremos en este gran evento.

FUENTE:
http://www.dragonjar.org/video-tutoriales-de-wireshark.xhtml

Algunos links útiles

0 comentarios
Voy a aprovechar que es lunes y estamos todos de vuelta de fin de semana para dar algunos links que pueden resultar útiles mientras se aprende sobre ingeniería inversa, assembly y demás temas relacionados.

1. Compiladores, ensambladores, ...., IDEs, con sus respectivos foros y tutoriales para principiantes:

masm32
radasm
easycode
goasm
win32asm

2. Foros de ingeniería inversa:

woodman
reverse-engineering community
Tuts4you
crackslatinos

El segundo de ellos, The Reverse Engineering Community, es muy útil para principiantes. Asociado a éste, tenemos crackmes.de, donde encontraremos numerosos programas para probar nuestros skills en ingeniería inversa.

Woodmann es algo más "duro" y tiene más información de ingeniería inversa en ring-0. Tuts4you tiene de todo.

3. Códigos de virus y troyanos, muchos de ellos en assembly:

VX-heavens
opensc

Dentro de VX-heavens, en library, hay bastante información de polimorfismo y otras técnicas de las que iremos hablando en su momento. Los tutoriales son algo viejos (años 80/90), pero no por ello han dejado de ser actuales. Dentro de VX-heavens, seguramente lo mejor en assembly es lo escrito por 29A y por Zombie (por ejemplo los mutation engine de Zombie, simplemente impresionantes). Bastantes de los miembros de 29A eran españoles.

Opensc está especializado en troyanos. Tiene poquito en assembly, pero mucho en C, que al fin y al cabo puede re-escribirse en asm en poco tiempo.

4. Bibliografía (buscarlos en thepiratebay.org)

Secrets Of Reverse Engineering: no tiene mucho de "secrets", pero es una muy buena introducción al tema.

Windows System Programming: tened cuidado de coger la última edición del libro, que es la cuarta. Este libro es una excelente referencia sobre los internals de windows (interprocess comunication, memoria, etc).

Rootkits, subverting de windows kernel: durísimo libro con muy valiosa información del kernel de windows. No abarca los últimos windows 7 y demás familia, pero las técnicas, muchas de ellas (hooks en la IDT, por poner un ejemplo) están y estarán vigentes por mucho tiempo.

Windows Internals 5th edition: la biblia sobre el funcionamiento de windows (kernel, procesos, memoria, etc). Esta edición abarca hasta windows vista.

5. Herramientas

OllyDbg: maravilloso debugger para user-level. Ya hemos hablado de él.
Ida: el mejor desensamblador con diferencia (como debugger es un poco incómodo). Desensambla todo tipo de librerías y ejecutables de plataformas distintas, tiene su propio lenguaje para hacer scripts ... De todo.
Softice: el mejor debugger de windows para ring-0. Hay otros (WinDbg y Syser), pero no le llegan a la suela de los zapatos ... Tiene dos inconvenientes: sólo funciona hasta winXP con SP3 y es un poco "desagradable" de usar.

6. Otras herramientas para manipular o examinar ejecutables:

LordPe: examinar ejecutables, hacer un dump ...
PeId: suele usarse para ver con qué packer está protegido un programa
FileMon, RegMon: sirven para visualizar los cambios hechos (respectivamente) en archivos y en el registro.
ResHacker: sirve para editar los recursos de un ejecutable (imágenes, strings, ...). Suele usarse para "traducir" programas o para meterle los logos después de crackearlos.
Imprec: reconstrucción de la IAT (lo explicaremos más adelante)

Podríamos poner muchas más, pero estas sirven para hacerse una idea del tipo de herramientas que hay y por dónde buscarlas. Más adelante, iremos hablando de todas ellas y de otros muchos temas (packers, dongles, ... ).

Saludos y hasta pronto.
FUENTE:
http://hacking-avanzado.blogspot.com/2010/04/algunos-links-utiles.html

PASSWORD ÚNICA PARA TODOS LOS DOMINIOS CON PWDHASH

0 comentarios



Me ha gustado mucho este proyecto de Stanford y me gustaría que le echásemos un vistazo. Pwdhash es una extensión para firefox e internet explorer cuya misión es permitirnos emplear una password única para todos los dominios. Por ejemplo, tendríamos:





Como veis, nos ha generado una password distinta para cada uno de los dominios. Notar que lo que enviaremos como password, una vez instalada la correspondiente extensión en el navegador (firefox), es el hash, que es lo que queda almacenado en el servidor.

Si alguien hackea el servidor, lo que obtendría sería un hash de nuestra password, válido únicamente para ese dominio en particular. Es decir, tendría que reventar por fuerza bruta nuestra passwod antes de ser hasheada por pwdhash. Si elegimos una única password fuerte, esto es imposible.

La propia explicación de los autores es bastante ilustrativa:

Specifically, PwdHash captures all user input to a password field and sends hash(pwd,dom) to the remote site, where dom is derived from the domain name of the remote site. [...] This technique deters password phishing since the password received at a phishing site is not useful at any other domain.

El addonn para firefox lo podemos encontrar aquí.



Una vez lo tenemos instalado, su funcionamiento es muy sencillo. Metemos el usuario y antes de escribir la password pulsamos F2, lo que activará el complemento y substituirá el password por el hash creado por pwdhash.

Finalmente, me gustaría hacer notar que los autores de pwdhash han tenido en cuenta que la password podría ser interceptada mediante javascript antes de ser hasheada. Para defenderse de estos ataques, lo que hacen es interceptar la secuencia de caracteres @@ (nosotros hemos usado F2, que es lo mismo), guardar y hashear todo y reemplazar los caracteres antes de pasarlos al navegador. De forma que el siguiente complemento, el del phisher, únicamente recibe basura. Podéis encontrar más info en la página del proyecto.

Es un complemento interesante y que merece la pena conocer.

Saludos y hasta pronto. 
 
FUENTE:
http://hacking-avanzado.blogspot.com/2010/02/protege-tus-passwords-con-pwdhash.html

Automatizando los volcados de memoria

0 comentarios
Pues resulta que andaba yo revisando uno de los PCs traídos de un cliente para ser reparado en taller, y tal como tengo por costumbre, y por eso de ir aprendiendo, me disponía a utilizar windd para volcar la memoria del sistema en un fichero. En esas me encontraba cuando apareció por allí mi compañero, una grandísima persona y aún mejor administrador de sistemas Linux, interesándose por mis maniobras. Después de contarle un poco por encima lo que aquí acabo de describir y verme consultar la ayuda del comando en un par de ocasiones me dijo - yo personalmente, cuando tengo que repetir una tarea al menos dos veces, siempre me genero un script.

Análisis de objetivos

Como suele pasarme con las palabras de mi compañero, no suelo darles importancia en el momento, pero siempre acaban influenciándome. Dándole vueltas al tema me planteé los siguientes requerimientos para el script:
  • Recibirá como argumento la letra de unidad en la que almacenar el volcado resultante.
  • Debería poder detectar si en la unidad indicada hay sufiente espacio disponible para almacenar el volcado, por lo tanto tiene que ser capaz de averiguar la cantidad de memoria física de que dispone el equipo.
  • Tiene que poder detectar el tipo de sistema operativo, 32 ó 64 bits, para lanzar la versión de windd adecuada.
  • El resultado debería almacenarse en un directorio con un nombre significativo y el nombre del fichero debería ser lo suficientemente particular como para no sobreescribir ninguno existente, o ser susceptible de ser sobreescrito.

Si a todo lo anterior le sumamos la posibilidad de ejecutarlo con el menor número de modificaciones en las diferentes versiones NT del sistema operativo Windows, el primer "lenguaje" que me vino a la mente fue "batch scripting", así que lo primero tener a mano los "Assorted NT/2000/XP CMD.EXE Script Tricks", mantenidos por el profesor Timo Salmi.

Descomponiendo el problema en partes mas pequeñas

Empezaré primero tratando de determinar el número de bits del sistema operativo en el que se ejecuta el script. Tal y como sugieren en el siguiente enlace, quedaría algo así:
@echo off & setlocal enableextensions
 
if "%PROCESSOR_ARCHITECTURE%" == "x86" (
 if NOT DEFINED "%PROCESSOR_ARCHITEW6432%" (
  echo Sistema de 32 bits
 ) else (
  echo Sistema de 64 bits
 )
) else (
    echo Sistema de 64 bits
)

Otra alternativa sería la mencionada en el siguiente artículo de la base de conocmientos de Microsoft, How To Check If Computer Is Running A 32 Bit or 64 Bit Operating System, el cual se basa en la comprobación de la siguiente clave del registro:
HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0

y más concretamente en el valor asociado al parametro Platform ID. Sin embargo descarto de inmediato éste método debido a su limitada universalidad (sólo sirve para sistemas W2k y W2k3).

Una vez salvado este punto continúo, por ejemplo, obteniendo la cantidad de memoria física de que dispone el sistema, utilizando para ello el comando integrado systeminfo y algo de parseo de los resultados. Así que añado las siguientes líneas al script:
for /f "tokens=6,7" %%a in (
    'systeminfo^|find "Cantidad total de memoria"') do (
  set memory_=%%a
  set units_=%%b)
echo Memoria total = %memory_% %units_%

Y ya de seguido procedo utilizando el comando fsutil para obtener el espacio libre de una unidad concreta indicada directamente en el script para simplificar así el proceso:
set drive_=C:
for /f "tokens=2 delims=:" %%a in (
    'fsutil volume diskfree %drive_%^|
    findstr /i /c:"bytes libres"') do (
        set totalSizeBytes_=%%a)
if defined totalSizeBytes_ echo Espacio libre en %drive_% %totalSizeBytes_% bytes
if not defined totalSizeBytes_ echo %drive_% The size could not be resolved

El resultado obtenido ejecutando el "programa" en mi portatil sería:
C:\Users\javi\Desktop\pruebas>testsystem.bat
Sistema de 32 bits
Memoria total = 2.047 MB
Espacio libre en C:  17223503872 bytes

La solución encontrada sería "casi perfecta", pero el problema es que me gustaría poder ejecutar el script también en sistemas Windows 2000 y éstos no disponen ni del comando systeminfo ni del comando fsutil. Si además tenemos en cuenta que no es posible realizar
operaciones aritméticas desde la línea de comandos de Windows sin utilizar herramientas de terceros decido currarme yo mismo un programa para suplir estas carencias.

El API de Windows y yo

Si partimos de la base de que no soy programador ni de lejos, pero que me encanta probar y aprender además de ser un experto en cortar, pegar y encajar, seguro que el código es infinitamente mejorable. De hecho os invito a descargarlo, modificarlo y arreglarlo, pero eso sí, compartiendo aquí vuestras mejoras para que aprendamos todos.

Para generar el ejecutable yo he utilizado MS Visual C++ 2008 Express Edition, entorno que puede descargarse de forma gratuita desde la web de Microsoft; el tipo de proyecto es una aplicación de consola Win32. Para los más impacientes he incluido una versión ya compilada junto con el resto de los ficheros que acompañan esta entrada.

Su funcionamiento es muy simple, tal y como puede apreciarse por la escueta ayuda que muestra al invocarlo sin indicar ningún parametro:
C:\Users\javi\Desktop\mkmemdmp>mkmemdmp.exe
Usage: mkmemdmp.exe 

Example: mkmemdmp.exe C:

Básicamente su función es la de comprobar si el volcado de memoria a realizar cabe en la unidad indicada y lanzar el batch script adecuado en función del sistema operativo en que se ejecute.

Como fuentes de documentación he utilizado los siguientes enlaces:

MEMORYSTATUSEX Structure
GlobalMemoryStatusEx Function
Driver Installation for 32-bit and 64-bit Platforms
GetSystemWow64Directory Function
SYSTEM_INFO Structure
GetSystemInfo Function
PROCESS_INFORMATION Structure
STARTUPINFO Structure
Processes: How can I start a process?

Otro poquito de batch scripting

Ya tengo el programa, el cual se encarga de hacer las comprobaciones oportunas y lanzar en consecuencia el script adecuado, dump32.bat para sistemas de 32 bits o dump64.bat para sistemas de 64 bits, indicándole la unidad a utilizar para almacenar los resultados.

El script en primer lugar comprueba si ya existe el directorio almacén, creándolo en caso contrario utilizando para ello el nombre de máquina:
set dir_=%1
set dir_=%dir_%memdmp_%COMPUTERNAME%
 
if not exist %dir_% (
 mkdir %dir_%
)

A continuación genera de forma automática los nombres para los ficheros, tanto para el de volcado como para el de log, utilizando una combinación de la fecha y hora en que se ejecuta:
for /f "tokens=1-3 delims=./-" %%f in ("%date%") do (
    set filename_=%%h%%g%%f
)
for /f "tokens=1-3 delims=:, " %%i in ("%time%") do (
 set filenamedmp_=%filename_%_%%i%%j%%k.dmp
 set filenamelog_=%filename_%_%%i%%j%%k.log
)

Ya por último lanza la herramienta windd, la verdadera estrella de la función, almacenando sus mensajes de salida en el fichero de log y mostrando los parámetros utilizados para ejecutarla. Por defecto el volcado se obtiene en formato raw y se genera el hash SHA1 del mismo.

Juntándolo todo

Para que todo funcione correctamente crearemos primero el directorio mkmemdmp y moveremos allí el ejecutable mkmemdmp.exe y los scripts dump32.bat y dump64.bat. Ahora descargaremos el paquete windd y extraeremos en el directorio anterior los binarios de 32 y 64 bits incluyendo sus drivers correspondientes:
C:\mkmemdmp>dir
 El volumen de la unidad C es SYSTEM
 El número de serie del volumen es: B00D-25C9
 
 Directorio de C:\mkmemdmp
 
08/12/2009  22:03              .
08/12/2009  22:03              ..
08/12/2009  21:46             1.379 dump32.bat
08/12/2009  19:03             1.375 dump64.bat
07/12/2009  21:19             9.216 mkmemdmp.exe
13/11/2009  13:02            92.088 win32dd.exe
13/11/2009  13:02            50.872 win32dd.sys
13/11/2009  13:02           101.304 win64dd.exe
13/11/2009  13:02            58.296 win64dd.sys
               7 archivos        314.530 bytes
               2 dirs  17.214.128.128 bytes libres

Suponiendo ahora que pretendemos almacenar el volcado y los ficheros resultantes en la unidad C: el comando a ejecutar sería:
C:\mkmemdmp>mkmemdmp.exe C:
 
  +---------------------------------------------------------------+
  |              -      Neo System Forensics       -              |
  |              http://neosysforensics.blogspot.com              |
  +---------------------------------------------------------------+
 
  Script para volcado automatizado de la memoria fisica del sistema
  Detecta y utiliza la version adecuada de la herramienta windd (*)
 
  Fichero de dmp generado:
  C:\memdmp_OSIRIS\20091208_220938.dmp
 
  Fichero de log generado:
  C:\memdmp_OSIRIS\20091208_220938.log
 
  Comando windd utilizado:
  win32dd.exe /a /s 1 /f C:\memdmp_OSIRIS\20091208_220938.dmp
 
  (*) windd - Kernel land physical memory acquisition
  Copyright (c) 2007 - 2009, Matthieu Suiche 
  Copyright (c) 2008 - 2009, MoonSols 

Y el contenido del directorio con los resultados sería:
C:\mkmemdmp>dir ..\memdmp_OSIRIS
 El volumen de la unidad C es SYSTEM
 El número de serie del volumen es: B00D-25C9
 
 Directorio de C:\memdmp_OSIRIS
 
08/12/2009  22:09              .
08/12/2009  22:09              ..
08/12/2009  22:10     2.147.155.968 20091208_220938.dmp
08/12/2009  22:10             2.589 20091208_220938.log
               2 archivos  2.147.158.557 bytes
               2 dirs  12.927.860.736 bytes libres


Correción 09/12/2009:

Para que el binario compilado incluido en el paquete comprimido funcione, es necesario tener instalado el Microsoft Visual C++ 2008 Redistributable Package (x86).

Código, scripts y ejecutable: mkmemdmp.zip


Muy buen post de neofito.

FUENTE:
http://neosysforensics.blogspot.com/2009/12/automatizando-los-volcados-de-memoria.html

Windows Vista FE

0 comentarios
No son pocas las distribuciones de Linux orientadas al análisis forense que se distribuyen en forma de Live-CD: Helix, DEFT o FIRE son sólo algunos ejemplos. Sin embargo no es menos cierto que no todos los usuarios se sienten cómodos con el sistema operativo del pingüino.

Si a lo anterior le sumamos lo difícil que resulta en ocasiones pelear con el hardware de última hornada para hacerlo funcionar en Linux, no estaría mal disponer de alternativas, alternativas como puede ser un Live-CD de Windows.

Hasta la aparición de Windows Vista/2008 esta opción era impensable, y era impensable porque Windows "montaba" automáticamente en modo lectura/escritura cualquier partición de disco con un sistema de ficheros que fuera capaz de reconocer, alterando de esta forma las pruebas.

Para generar el live-cd he utilizado un sistema Windows Vista como base para el entorno y descargado e instalado el Automated Installation Kit para Windows Vista SP1 y Windows Server 2008, disponible para descarga en el siguiente enlace. Imprescindible también el documento de Troy Larson describiendo el proceso.

Desde el menú Inicio arrancaremos el Símbolo del sistema de Herramientas de Windows PE y procederemos a crear la estructura base mediante el siguiente comando:
copype.cmd x86 D:\Vista-FE

Estoy indicando la partición D: como destino para los ficheros necesarios y la arquitectura x86 para conseguir la mayor compatibilidad posible.

Llega el momento de modificar la imagen del sistema Windows-PE que utilizaremos para generar el live-cd y para ello primero la montaremos en modo lectura/escritura:
imagex /mountrw D:\Vista-FE\winpe.wim 1 D:\Vista-FE\mount

Indicar que wim es el nuevo formato de imagen aparecido con Windows Vista y que está orientado a simplificar el proceso de despliegue del sistema operativo. Dado que un mismo fichero wim puede contener varias imágenes será necesario indicar el índice de la instancia con la que vamos a trabajar. En este caso el fichero únicamente contiene una imagen, pero si estuviera compuesto por más de una (p.e. fichero wim del DVD de instalación de Windows Vista) podríamos listarlas utilizando el siguiente comando:
imagex /info E:\sources\INSTALL.WIM

Más información sobre WIM e ImageX en cualquiera de los siguientes enlaces:

Aplicando los cambios del registro

Son necesarias dos modificaciones en el registro del sistema embebido en la imagen wim para evitar que, al arrancar un equipo mediante el live-cd, éste monte de forma automática las particiones disponibles en modo lectura/escritura alterando las evidencias.

Abriremos el editor del registro (regedit) en el sistema utilizado para generar el live-cd y nos desplazaremos a la clave HKEY_LOCAL_MACHINE. Situado el cursor en dicha ubicación, menú Archivo, Cargar subárbol... y abriremos el siguiente fichero:
D:\Vista-FE\mount\Windows\System32\config\SYSTEM

Seleccionado el fichero anterior estableceremos un nombre identificativo para el nuevo subárbol, en mi caso utilizaré Vista-FE. Para no alargarme innecesariamente únicamente resumiré los valores a modificar:
HKLM\Vista-FE\ControlSet001\Services\MountMgr
Valor DWORD (32bits)
NoAutomount = 1
 
HKLM\Vista-FE\ControlSet001\Services\partmgr
Valor DWORD (32bits)
SanPolicy = 3

Una vez terminadas las modificaciones y teniendo seleccionada la subclave HKLM\Vista-FE, menú Archivo, Descargar subárbol..., Aceptar.

Agregando drivers y aplicaciones

Vamos a continuar ahora personalizando nuestro Live-CD comenzando por agregarle algún driver. No son pocas las ocasiones en que tengo que enfrentarme con servidores HP Proliant ML-110 y su fake-raid, por eso me he descargado los drivers para Windows Server 2008 (teóricamente compatibles) y voy a integrarlos en la imagen:
peimg.exe /inf=D:\cp009517\*.inf D:\Vista-FE\mount\Windows

En cuanto a las aplicaciones le agregaremos FTK Imager, concretamente la versión Lite, ya que al no precisar de instalación será perfecta en estas circunstancias. Para que sea posible hacer funcionar esta aplicación antes tendremos que copiar una librería desde el sistema utilizado para generar el Live-CD, tal y como comenta DC1743 en este mensaje de su blog:
copy C:\Windows\System32\oledlg.dll D:\Vista-FE\mount\Windows\System32\

Para terminar con la "instalación" extraeremos el software FTK Imager en un directorio, por ejemplo FTK, dentro de la estructura del Live-CD. Es importante mencionar que, si por algún motivo quisieramos eliminar dicho directorio, primero tendríamos que tomar posesión del mismo, ya que si no únicamente obtendremos un error de acceso denegado. Para lidiar con esto ejecutaremos:
takeown /F D:\Vista-FE\mount\FTK /R
rd /s /q D:\Vista-FE\mount\FTK

Solventado este inconveniente, para el caso en que pueda darse, seguiremos con el proceso.

Generando la imagen y probando el Live-CD

Primero desmontaremos la imagen aplicando los cambios al resultado final:
imagex.exe /unmount /commit D:\Vista-FE\mount

El proceso de creación de la imagen iso necesita que el arhivo .wim se sitúe en el directorio adecuado. Para ello:
del D:\Vista-FE\ISO\sources\boot.wim
copy D:\Vista-FE\winpe.wim D:\Vista-FE\ISO\sources\boot.wim

Solo queda un detalle y está relacionado con el menú de arranque que incorporará la imagen resultante. Este menú mostrará un mensaje indicando que será necesario presionar una tecla para iniciar desde el CD, lo cual no es lo deseable si por omisión el sistema objeto de análisis arrancase. Para evitar este comportamiento tal y como menciona DC1743 en este mensaje de su blog:
del D:\Vista-FE\ISO\boot\bootfix.bin

Ahora sí, generaremos la imagen final:
oscdimg -n -o -bD:\Vista-FE\ISO\boot\etfsboot.com D:\Vista-FE\ISO D:\Vista-FE\WinFE.iso

Como resultado tendremos una imagen iso de algo mas de 200MB lista para quemar en un CD con nuestro programa de grabación favorito.

Arrancando que es gerundio

Llega el momento de iniciar el sistema con nuestro Live-CD. El primer script que se ejecuta, y donde podremos incluir nuestros propios comandos de inicialización antes de generar la imagen final, se sitúa en el directorio system32 y su nombre es startnet.cmd. Más sobre esto en el siguiente enlace: "Incluir un script personalizado en una imagen de Windows PE".

Si no hemos modificado dicho script únicamente se utilizará para lanzar el binario wpeinit, el cual es el encargado de inicializar la imagen pe. Ahora, si queremos, podremos indicar manualmente los parámetros de red con un comando como el que sigue:
netsh int ip set address "conexión de área local" static 192.168.0.12 255.255.255.0 192.168.0.1 1

Si vamos a utilizar FTK Imager para hacer una imagen del disco del sistema comprometido primero tendremos que montar la unidad de destino en modo lectura/escritura, y para ello utilizaremos la herramienta interactiva diskpart:
x:\windows\system32>diskpart

Lo primero obtener un listado de los discos disponibles:
DISKPART> list disk

De la lista de discos disponibles seleccionaremos, evidentemente, cualquiera que no se corresponda con el origen de la evidencia. Es importante destacar que un disco USB externo puede servir para nuestros propósitos ya que dichos dispositivos están soportados por Windows-PE. Suponiendo que disponemos de dos discos, uno integrado y otro USB, seleccionaremos éste último:
DISKPART> select disk 1
DISKPART> online

Estableceremos el atributo de escritura/lectura para el disco y listaremos las particiones disponibles:
DISKPART> attributes disk clear readonly
DISKPART> list volume

Suponiendo que el disco únicamente dispone de una partición previamente formateada la seleccionaremos, estableceremos el atributo de escritura/lectura y le asignaremos una letra de unidad, cerrando por último la shell interactiva de diskpart:
DISKPART> select volume 1
DISKPART> attributes volume clear readonly
DISKPART> assign letter=e
DISKPART> exit

Ahora que ya tenemos el disco montado y podemos acceder al mismo mediante la letra de unidad E: ya estamos listos para generar la imagen del disco objetivo del análisis y almacenarla allí. Para iniciar FTK Imager bastará con situarnos en el directorio adecuado y lanzar el ejecutable, tras lo que obtendremos el entorno gráfico de la herramienta:
cd \
cd FTK
FTK Imager.exe

Cuando terminemos el trabajo podremos apagar o reiniciar el sistema, a nuestra eleccción, con cualquiera de los siguientes comandos:
wpeutil shutdown
wpeutil reboot

Y esto ha sido todo, en breve más, y mejor, espero.


FUENTE:
http://neosysforensics.blogspot.com/2010/03/windows-vista-fe.html

VIDEO TUTORIAL SOBRE ZEUS

0 comentarios
He encontrado este video-tutorial en uno de los foros que suelo seguir. Describe cómo se instala el troyano Zeus y cómo se configura el panel de control en el hosting para que vaya recogiendo todos los bots ... Interesante cuanto menos.

Por favor, que a nadie se le ocurra bajarse el troyano y ejecutarlo en su máquina. En todo caso en una máquina virtual, recordando borrarla tras el experimento.

Como no se ve bien el video si lo meto aquí, podéis descargarlo de megaupload.

Saludos y hasta pronto.

FUENTE:
http://hacking-avanzado.blogspot.com/2010/01/video-tutorial-sobre-zeus.html

BORRADO SEGURO CON BLEACHBIT

1 comentarios
En mi búsqueda de herramientas nuevas me he encontrado con BleachBit, una interesante utilidad para borrado seguro de rastros tanto en linux como en windows.

En este artículo vamos a describir qué opciones tiene y su funcionamiento genérico.

La herramienta, en su versión para windows, la descargamos de éste link. La instalamos ...





Y tras ejecutarla podemos ver que tiene como opciones borrar archivos temporales, caché, etc ... no sólo de los típicos, sino también de Acrobat Reader o Flash ... Aparte, podemos encontrar los de toda la vida, como pueda ser el borrado de logs o de archivos temporales.

En nuestro caso, vamos a ver qué es capaz de encontrar "exploración profunda", que en pricipio debería analizar todo el disco duro en busca de archivos de copias de seguridad, thumbs.db (basura típica producida al navegar por internet, etc). Veamos:



Le damos a previsualizar y ...



Ahí tenemos que ha encontrado la restauración de sesión de firefox y otra cosa sobre la que mejor no decir nada ...

Ahora, tenemos dos opciones. La primera sería darle a borrar archivos, pero estos archivos podrían ser recuperados. La segunda es elegir "sobreescribir archivos", con lo que esto ya no sería posible. Esto se hace, dentro de preferencias, tal y como muestra el siguiente pantallazo:



También, dentro de preferencias tenemos una pestañita para añadir otros discos (discos de red incluídos).

Por último, comentar la interesante opción "tritutar", que sirve para realizar el borrado seguro de ficheros:





Una interesante herramienta, de las muchas que hay para estas cosas.

Saludos y hasta pronto.

Muy buen post gracias a eduardo.

FUENTE:
http://hacking-avanzado.blogspot.com/2010/01/borrado-seguro-con-bleachbit.html

Analizando capturas de red

0 comentarios
Las hay más llenas o más vacías, conteniendo cosas banales o secretos de estado, pero lo que todos los sistemas Windows tienen en común al respecto, es que todos tienen una. En esta ocasión hablaré de Windows Vista y 7, porque de los anteriores ya se sabe bastante.

Lo primero es lo primero y el mérito en este caso corresponde a Mitchell Machor, autor del primer análisis en su documento "The Forensic Analysis of the Microsoft Windows Vista Recycle Bin". Yo sólo comento en castellano y propongo una herramienta.

Todos sabemos que cuando eliminamos una carpeta o archivo, y siempre que no mantengamos pulsado el botón de las mayúsculas, ésta o éste se almacenará temporalmente en la Papelera de reciclaje. Lo de temporalmente en ocasiones no es más que un eufemismo ya que la mayoría de las costumbres reales solemos transferirlas voluntaria o involuntariamente al mundo digital, y no son pocas aquellas que amenazan con desbordarse. ¿Pero cómo se organiza internamente este elemento tan particular?

En las últimas versiones de Windows, entiéndase Vista/7, existe un directorio oculto en cada unidad con nombre $Recycle.Bin. Sin embargo me temo que al final todos ellos apuntan al mismo lugar siendo éste su homónimo en la unidad del sistema:

%SystemDrive%\$Recycle.Bin

utilizando las variables de entorno. Si además tenemos en cuenta que Windows es un sistema multiusuario no será fácil deducir que existirá una Papelera por usuario. Veamos un ejemplo de como se gestiona esta característica en un sistema Windows 7 con dos usuarios:
C:\>dir /A:H C:\$Recycle.Bin
 El volumen de la unidad C no tiene etiqueta.
 El número de serie del volumen es: 9C87-DB2F
 
 Directorio de C:\$Recycle.Bin
 
15/02/2010  20:07              .
15/02/2010  20:07              ..
15/02/2010  20:02              S-1-5-21-1730169009-2451939862-3791123446-1001
15/02/2010  20:14              S-1-5-21-1730169009-2451939862-3791123446-1003
               0 archivos              0 bytes
               4 dirs  14.153.822.208 bytes libres

Simple y elegante, se crea un subdirectorio utilizando para ello el SID de la cuenta correspondiente y ya se encarga el Explorador de Windows de enlazarlo adecuadamente desde la sesión del usuario. Por si hay algún despistado, más sobre SIDs en Microsoft, la Wikipedia y como no, Wadalbertia.

El valor de tiempo asociado al subdirectorio puede servir para acotar la fecha y hora de la primera sesión del usuario en el sistema, siempre que éste haya eliminado algún elemento desde dicha sesión y no haya manipulado este valor. Como suele pasar con la mayor parte de las cosas, nada es del todo seguro.

Identificado el mecanismo interno de gestión utilizado por Windows para las papeleras de los usuarios resta saber como se aclara con los diferentes elementos que almacena. Ahora, para un sistema Vista, veamos el contenido de la papelera del usuario:
C:\>dir C:\$Recycle.Bin\S-1-5-21-1435829524-487146864-2118318027-1000
 El volumen de la unidad C es SYSTEM
 El número de serie del volumen es: B00D-25C9
 
 Directorio de C:\$Recycle.Bin\S-1-5-21-1435829524-487146864-2118318027-1000
 
21/02/2010  22:28               544 $I3UT5T8
21/02/2010  22:28               544 $IN3DQ7V.exe
21/02/2010  22:27               544 $ISW6AHM
21/02/2010  22:27              $R3UT5T8
24/06/2009  22:18           454.656 $RN3DQ7V.exe
21/02/2010  22:27              $RSW6AHM
               4 archivos        456.288 bytes
               2 dirs  19.253.620.736 bytes libres

Del listado anterior podemos obtener parejas de elementos con nombres similares si obviamos los 2 primeros carácteres. Así tendríamos:
$I3UT5T8    $IN3DQ7V.exe    $ISW6AHM
$R3UT5T8    $RN3DQ7V.exe    $RSW6AHM

que el Explorador de Windows interpretará como:


Pues resulta que los ficheros encargados de almacenar la información asociada a cada uno de los elementos eliminados son aquellos que empiezan por $I, y los elementos eliminados serían los que empiezan por $R. El formato interno de los ficheros de información:
  • 8 bytes para la cabecera de fichero que siempre es 01 00 00 00 00 00 00 00.
  • 8 bytes para el tamaño del fichero/carpeta asociado, en formato litle endian.
  • 8 bytes para la fecha y hora de eliminación del fichero/carpeta, en formato litle endian y que se corresponde con el número de segundos transcurridos desde la medianoche del 1 de Enero de 1601 (windows filetime).
  • El resto de bytes, 520 hasta completar los 544 que ocupa cada fichero/carpeta, se utiliza para almacenar la ruta que ocupaba originalmente el elemento antes de ser eliminado. Los carácteres que forman la ruta aparecen separados por un byte nulo (00) que también se utiliza para completar el espacio asignado.
Por lo que he podido experimentar no aparece ningún dato dentro del fichero de información que permita identificar si el elemento eliminado es un arhivo o una carpeta, y en el caso de que sea ésto último la modificación del nombre original únicamente afecta al elemento superior:
C:\>dir C:\$Recycle.Bin\S-1-5-21-1435829524-487146864-2118318027-1000\$R3UT5T8
 El volumen de la unidad C es SYSTEM
 El número de serie del volumen es: B00D-25C9
 
 Directorio de C:\$Recycle.Bin\S-1-5-21-1435829524-487146864-2118318027-1000\$R3UT5T8
 
21/02/2010  22:27              .
21/02/2010  22:27              ..
21/02/2010  22:27              wadalbertia
21/02/2010  22:27              web
               0 archivos              0 bytes
               4 dirs  19.251.822.592 bytes libres

Ahora sabiendo todo lo anterior, y como sigo aprendiendo python, vamos a ver como funciona el script:
C:\>intrash.py -h
Usage: intrash.py [options] path
 
Script that gets information about the contents of a recycle bin from a
Windows Vista/7 system
 
Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -f OUTFORMAT, --format=OUTFORMAT
                        format of the output: normal or csv [defaults: normal]
  -o OUTFILE, --output=OUTFILE
                        write output to OUTFILE instead of stdout
  -e OUTENCODING, --output-encoding=OUTENCODING
                        define output encoding [defaults: utf-8]

Tal como indica la ayuda del comando por defecto la salida se vuelca en la consola utilizando utf8, por lo que los carácteres especiales como la ñ y las vocales con acentos aparecerán como caracteres extraños. Para evitar este problema primero obtendremos el encoding utilizado por defecto y posteriormente lo indicaremos en la invocación del comando:
C:\>chcp
Página de códigos activa: 850
 
C:\>intrash.py -e cp850 C:\$Recycle.Bin
 
 
    S-1-5-21-1435829524-487146864-2118318027-1000
 
 
        Trash file: $R3UT5T8
        Path: C:\Users\javi\Desktop\diseñoweb
        Size: 1278246 bytes
        Deleted at: Sun Feb 21 21:28:01 2010 UTC
 
 
        Trash file: $RN3DQ7V.exe
        Path: C:\Users\javi\Desktop\putty.exe
        Size: 454656 bytes
        Deleted at: Sun Feb 21 21:28:21 2010 UTC
 
 
        Trash file: $RSW6AHM
        Path: C:\Users\javi\Desktop\Nueva carpeta
        Size: 0 bytes
        Deleted at: Sun Feb 21 21:27:43 2010 UTC

Ahora si queremos almacenar la salida en un fichero determinado y en formato csv de forma que podamos analizarla facilmente por ejemplo con excel:
C:\>intrash.py -e iso-8859-1 -f csv -o recyclebin.csv C:\$Recycle.Bin
 
C:\>dir recyclebin.csv
 El volumen de la unidad C es SYSTEM
 El número de serie del volumen es: B00D-25C9
 
 Directorio de C:\
 
21/02/2010  23:24               458 recyclebin.csv
               1 archivos            458 bytes
               0 dirs  19.251.257.344 bytes libres

Para facilitar el uso de la herramienta sin tener que obligar a nadie a instalar un intérprete de python he generado los binarios adecuados mediante py2exe. Para utilizar el programa bastará con desempaquetar el fichero zip y almacenar todo su contenido en un mismo directorio, invocándolo desde allí. En el caso de que se muestre un error relacionado con la librería MSVCR90.dll deberá instalarse el paquete "Microsoft Visual C++ 2008 Redistributable Package".

El script está desarrollado de forma que también pueda utilizarse sin problemas desde linux, y como no, he tirado de la inestimable ayuda de mi profesor particular, mi amigo y compañero hilario.

Código, scripts y ejecutable: intrash.zip

En breve más, y mejor, espero.


Muy buen post de neofito.

FUENTE:
http://neosysforensics.blogspot.com/2010/02/la-papelera-de-reciclaje-en-windows.html

Protocolo de respuesta ante incidentes

0 comentarios
Esta es una entrada muy buena que tenia hace tiempo preparada para postearla del blog de pedro , gracias a el por el post.
Saludos

-------------------------------------------------------------------------------------------------------------
 
Hola lectores,

Hoy vamos a tratar los temas relacionados con la respuesta ante incidentes. Tema muy importante dentro de una organización.

En nuestro día a día es mejor prevenir que curar, y la seguridad no es una excepción. Cuando se produce un incidente de seguridad, se debe garantizar que se minimice su repercusión. Para minimizar la cantidad y repercusión de los incidentes de seguridad, debe seguir estas pautas:
  • Establecer claramente y poner en práctica todas las directivas y procedimientos. Las directivas y los procedimientos se deben probar exhaustivamente para garantizar que son prácticos y claros, y que ofrecen el nivel de seguridad apropiado.
  • Evaluar de forma regular las vulnerabilidades del entorno. Las evaluaciones deben ser realizadas por un experto en seguridad con la autoridad necesaria (con derechos de administrador de los sistemas) para llevar a cabo estas acciones.
  • Establecer programas de formación sobre la seguridad tanto para el personal de TI como para los usuarios finales.
  • Se deben enviar mensajes. Carteles de seguridad que recuerden a los usuarios sus responsabilidades y restricciones, junto con la advertencia de que se pueden emprender acciones legales en caso de infracción.
  • Comprobar con regularidad todos los registros y mecanismos de registro. Cortafuegos, IDS's, etc.
  • Comprobar los procedimientos de restauración y copia de seguridad.

Particularmente he realizado un procedimiento de comunicación que nos puede ser útil para estos casos, va por ustedes:

PROTOCOLO DE COMUNICACION

Cuando un problema o incidencia en las instalaciones, medios técnicos o recursos humanos tenga como consecuencia previsible no poder prestar alguno o todos los servicios encomendados se entrará en situación de EMERGENCIA.

Niveles de emergencia


Para establecer los protocolos de actuación se definen los siguientes Niveles de emergencia:

Nivel Descripción Ejemplos
 0 (Prealerta)
Detectada la incidencia pero se prevé su resolución en un periodo inferior a 15 minutos o no afecta de manera importante a los servicios prestados
1 (Básica)
Fallo en las instalaciones o sistemas informáticos que dificultan de manera importante o impiden la prestación de algunos servicios  Pérdida de la conexión a internet, Fallo de algún aplicativo,...
 2 (General)
Fallos en las instalaciones o sistemas informáticos que impiden la prestación de la mayoría de los servicios Caídas de centralita, caídas de corriente eléctrica, pérdida de las comunicaciones , intrusiones
 3 (Crítico)
 Situaciones que exigen al abandono del puesto de trabajo por razones de seguridad  Incendio, emergencias generales del edificio, ...


La valoración del nivel de emergencia en el que se encuentra el departamento de TI y, por tanto, el protocolo de actuación a aplicar será determinado por el Responsable de TI o del Call Center cuando estén presentes en el centro de trabajo ó por el operador que detecte la incidencia, si no se encuentra en el Centro ninguno de los responsables (en adelante, a esta persona la denominaremos COORDINADOR DE LA EMERGENCIA).

Protocolos de actuación

Las acciones a realizar en un supuesto de emergencia son las siguientes:

  1. Identificación del problema y gestión de su resolución
  2. Comunicación a la Dirección de la empresa
  3. Comunicación a Usuarios
  4. Registro y documentación de la incidencia

Identificación del problema y gestión de su resolución (Niveles 0,1,2,3)

Para analizar el nivel de emergencia en el que se encuentra el departamento de TI y la celeridad con la que se deben iniciar las diferentes acciones de este protocolo de actuación, el COORDINADOR DE LA EMERGENCIA deberá evaluar los siguientes aspectos del problema:

  1. Instalaciones y medios técnicos afectadosServicios comprometidos
  2. Duración previsible de resolución

En el caso de que estemos en situación Crítica (Nivel 3), deberá proceder a notificar la incidencia al 112 y seguir las instrucciones, en la medida de lo posible, procederá al apagado ordenado de los equipos de trabajo, siempre y cuando esto no comprometa la seguridad de los trabajadores.
En el resto de los niveles de emergencia, se procederá a informar del problema al personal encargado para su resolución:

  1. Problemas con las instalaciones (electricidad, climatización, ...)
  2. Medios técnicos (centralita, comunicaciones, ordenadores,...)
  3. Personal (accidentes, enfermedad)

El COORDINADOR DE LA EMERGENCIA se encargará de comprobar que los incidencia es resuelta y los servicios se vuelven a prestar con normalidad.

Comunicación a la Dirección

La cadena de mando es la siguiente:

  1. Responsable del servicio de emergencias
  2. Director de Recursos Humanos
  3. Director General

Dependiendo del nivel de emergencia, el COORDINADOR DE LA EMERGENCIA deberá actuar de la siguiente forma:

Nivel Acción
1 (Básica) Localizar mediante llamada al teléfono móvil al Responsable de TI o mandos superiores o a uno de los Directores superiores siguiendo el orden de la cadena de mando
2 (General)
3 (Crítico)
Localizar mediante llamada al teléfono móvil al Responsable de TI o a uno de los Directores siguiendo el orden de la cadena de mando.
La persona contactada deberá informar al resto de la cadena de mando


FUENTE: http://conexioninversa.blogspot.com/2010/02/protocolo-de-respuesta-ante-incidentes.html
Powered by Bad Robot
Helped by Blackubay