Category Archive HPSI

ByDrok3r

CROSS SITE SCRIPTING (XSS) – PRUEBAS DE VULNERABILIDAD

XSS

 

Antes de comenzar a leer este post te recomiendo leer: Cross Site Scripting – Introducción

 

Una vez localizada la sección en la página web la cual pueda recibir texto por parte del usuario y que este lo pueda mostrar como resultado, pasaremos a realizar pruebas para de esta manera determinar si esta sección es vulnerable al XSS.

Este sitio web es completamente vulnerable a multitud de ataques web, el cual usaremos para explicar esta sección. También usaremos el Mantra de OWASP.

En el caso de este sitio encontramos el apartado para hacer búsquedas. Como podemos ver de resultado nos devuelve nuestra entrada y aparte nos la muestra en la url “search.aspx?txtSearch=drok3r” en esta sección es donde comprobaremos si la pagina es vulnerable a XSS

Para esto ingresamos el siguiente código:

<script>alert("Hacked!!!")</script>

Este código lo que hace es mostrar una alerta en la página web la cual contenga el texto dentro de las casillas. Algunos pentesters o atacantes suelen llamarlos “payload”

Como podemos ver, la pagina es vulnerable a XSS

Sin embargo el código anterior puede que no funcione en la mayoría de los casos debido a ciertos filtros de seguridad Anti-XSS los cuales rechazan o imposibilitan el uso de ciertos caracteres o de palabras en concreto. La mayoría de estos filtros, bloquean caracteres como <>, “”, (), ; , /.

Por otro lado algunos bloquean las etiquetas de forma completa <script> esto dificulta en gran medida verificar si la pagina es vulnerable a XSS por lo que pasaríamos a comprometer su seguridad y brincarnos su filtro Anti XSS.

QUE SE PUEDE HACER AL DETECTAR UNA VULNERABILIDAD XSS

Como siempre se ha dicho, las posibilidades dependerán de la imaginación del atacante, en el post anterior se hizo mención de que es lo se podría realizar con un ataque de XSS de una manera muy general. Sin embargo lo que se puede hacer es:

  • Infectar el navegador de un usuario
  • Phishing
  • Realizar X acción en la página web
  • Modificar o crear perfiles en la aplicación web ya sean de usuarios comunes o administradores
  • Defacement
  • Ataques DDoS
  • Utilización de Gusano XSS

Sin embargo las posibilidades dependerán en su gran mayoría dependerán de las funciones que ofrezca el sitio vulnerable.

MÉTODOS PARA EXPLOTAR XSS

Existen distintos métodos o tecnias para explotar un XSS, su nombre dependerá de las zonas de código de la aplicación web donde quedara nuestro código JavaScript malicioso.

1.- El código se copia entre dos etiquetas HTML.

Este es el método mas snecillo, pues solo debemos de inyectar el código.

[PAYLOAD]: <script>alert(“HACKED”)</script>

2.- Código dentro de una etiqueta “value” de una etiqueta <input>

Este es el ejemplo mencionado con anterioridad, en donde la inyección se realiza en el buscador de la aplicación web

 [PAYLOAD]: /><script>alert(‘hacked’)</script>

HTML: <input type=”text” name=”search” value=”[PAYLOAD]”

<input type=”text” name=”search” value=”/>

<script>alert(‘hacked’)</script>

Como podemos ver, nuestro payload quedo dentro de “” por lo que esto nos puede generar ciertos problemas, por lo cual podemos cerrar la etiqueta anteponiendo “/> o remplazando las comillas dobles de nuestro payload por unas comillas simples: <script>alert(‘hacked’)</script>

Recomiendo probar ambas.

Por lo cual nos quedaría como resultado:

<input type=”text” name=”search” value=””/>
<script>alert(“hacked”)</script>;<div class=””>

3.- Código dentro de un comentario en HTML

En este caso, buscamos mensajes de depuracion en el codigo HTML, algunas desarroladores tienen la mala costumbre de dejar algo como esto:

<!-- Se realizo la busqueda "[search]" -->

[search] es la cadena de texto buscada, en donde podemos introducir nuestro codigo malicioso, en donde deberemos de cerrar los caracteres del comentario, nos quedaria algo como lo siguiente:

--><script>alert("hacked")</script><!--

El resultado final seria:

<!-- Se realizo la busqueda "--><script>alert("hacked")</script><!---" --->

4.- Código dentro de código

Algo muy comun cuando las paginas utilizan las entradas de los usuarios para generar algun tipo de evento, por medio de JavaScript o el simple hecho de almacenar la informacion. algo como:

<script>var search="[busqueda]"</script>

 

En este ejemplo no es necesario incluir las etiquetas <script>, pues podemos directamente poner el codigo. No poner las etiquetas nos puede ayudar a evadir los filtros Anti-XSS.

";alert"("Hacked")//

Las diagonales al final nos ayudan a comentar el resto de la linea del JavaScript original para que este no interfiera con el codigo.

Resultado final

<script> var search="[busqueda]"="";alert("Hacked");//";</script>

 

 

EXTRA

También podemos realizar pruebas de inyección de código HTML, de igual manera que en el XSS solo que en lugar de mandar condigo en JavaScript mándalos código en HTML. Por ejemplo si nuestra aplicación web a auditar nos permite realizar búsquedas dentro de ella misma, si en el resultado incluye o muestra nuestra búsqueda “Resultados de <TEXTO>“.

Ejemplo:

Si buscamos “hola” en www.ejemploHTML.com  nos devolverá lo siguiente:

Resultados de la búsqueda hola

Y en la url tenemos:

https://ejemplo.HTML.com/Search.php?q=hola

Podemos ver que en la url nos muestra nuestra búsqueda o el texto que ingresamos para ser buscado…

Lo podemos hacer para comprobar que esta pagina es vulnerable a inyección de código HTML solo debemos incluir en nustra busqueda etiquetas HTML.

Por ejemplo en lugar de buscar “hola” buscaremos “<b>hola</hola>” en html las etiquetas <b> o <strong> hacen que el texto que contengan se muestre en negritas, por lo que cuando hagamos esta busqueda nos debería devolver el siguiente resultado:

Resultados de la búsqueda hola

Y en la url tenemos:

https://ejemplo.HTML.com/Search.php?q=hola

Si en la parte de la pagina nos muestra el texto introducido en negrita, quiere decir que la pagina es vulnerable a inyecciones de código HTML. Muy similar al XSS.

En el video anterior muestro una vulnerabilidad de XSS e inyeccion de codigo HTML

 

 

Pagina Vulnerable:

[ http://demo.testfire.net/default.aspx ]

Byaci

IoT Vs Seguridad

Desde el año 2000 el término IoT (Internet de las cosas) fue mencionado en The Guardian, Scientific American y The Boston Globe, pero hasta el año 2005 la Unión Internacional de Telecomunicaciones (UIT) publico el primer estudio sobre el tema. Hasta 2011, se comenzó a trabajar en el estándar IoT – GSI Global Standards y concluyo hasta junio de 2015. El IoT-GSI tiene por objeto promover un enfoque unificado en el UIT-T para el desarrollo de normas y técnicas (Recomendaciones) que permitan el Internet de las cosas a escala mundial.

IoT es una tecnología que va creciendo a pasos gigantes, para el año 2020 se estima que 50 mil millones de dispositivos estén conectados, es decir, 6 dispositivos por cada persona.

Pero, ¿Se ha considerado la seguridad para estos dispositivos?; La Comisión de Estudios 17 (SG17) del UIT-T coordina la labor relacionada con la seguridad. La SG17 actualmente trabaja en la seguridad de aplicaciones y servicios para Internet de las cosas (IoT).

Por otro lado, la Iniciativa Mundial de Normalización de la UIT sobre Internet de las cosas (IoT-GSI), se basa en la labor de ciertos ámbitos como: los aspectos de los sistemas de identificación de la red (NID), las redes de sensores ubicuos (USN), las comunicaciones orientadas a las máquinas (MOC), la web de las cosas (WoT). La iniciativa IoT-GSI tiene como objetivo:

  • Crear una plataforma de trabajo común agrupando los grupos de la UIT que realizan trabajos sobre IoT.
  • Elaborar una definición y descripción general de la IoT y preparar un plan de trabajo que servirá para establecer un programa de normalización de la IoT a escala mundial.
  • Elaborar las normas detalladas necesarias para la implantación de la IoT.

A pesar de que se trabaja para crear estándares y normas sobre el uso y seguridad de IoT, siendo una tecnología en crecimiento y recién adopción por empresas y usuarios de casa, estamos más susceptibles a ciberataques, desafortunadamente IoT afecta al mundo de una manera directa y física, ya que esta tecnología se usa desde coches, electrodomésticos, aviones, wearables (uso diario); por lo que se convierten en riesgos reales para una persona. Internet de las cosas puede ser percibida como una concepción de repercusiones tecnológicas y sociales.

“Una nueva dimensión se ha agregado al mundo de las tecnologías de información y la comunicación (TIC): a cualquier hora, en cualquier lugar, ahora vamos a tener conectividad para cualquier cosa. Las conexiones se multiplican y crearán una nueva red dinámica de redes con redes, una Internet de las Cosas”, UIT.

Desde nuestra perspectiva se deben considerar varios aspectos para minimizar los riesgos de un posible ciberataque a un dispositivo con tecnología IoT. Estos aspectos pueden abarcar desde la seguridad lógica y física, para la parte lógica se recomienda poner atención en el uso de software, control de usuarios y accesos a los datos, dentro de la parte física se debe considerar la gestión de identidad sobre todo en un ambiente de IoT, donde pueden existir muchos puntos de entrada. Se puede considerar una segmentación en la red para aislar todos estos dispositivos. Contar con servicios profesionales que ayuden con asesorías para afrontar los retos de seguridad, con estrategias alineadas al negocio, procesos y políticas.

 

Referencias:

http://www.itu.int

http://www.itu.int/en/ITU-T/gsi/iot/Documents/tor-iot-gsi.pdf

Byaruzat

IP Spoofing y su potencial.

Buenos días, tardes o noches a todos, en esta ocasión vengo a hablar sobre un tema que ya llevo tratando vario tiempo y es interesante contarlo y compartirlo con la comunidad.

 

¿Qué es spoofing?

Spoofing, mayormente conocido como suplantación es una técnica por la cual el atacante se hace pasar por una entidad distinta a través de la falsificación de los datos en una comunicación.
En simple palabras suplanta su identidad en comunicaciones, como las DNS, IP´s, email´s, etc…

 

¿Qué es el IP spoofing?

El IP spoofing es un método de suplantación de IP, se utiliza para realizar ataques DDoS, ya que si lo intentamos utilizar como proxy nunca sería efectivo ya que la respuesta del servidor ante las peticiones irían al destino de la IP suplantada y no al nuestro. Es por esto que se utiliza para los ataques de denegación de servicio.

 

¿Por qué es tan efectivo?

El ataque es muy efectivo debido a la complicación que es detenerlo.

 

Ejemplo de ataque SIN spoofing IP:

 

192.168.0.102 (atacante)  ——————————————–(paquetes)—————————————-> 192.168.0.101 (victima)

 

En este caso la victima (192.168.0.101) solo tiene que bloquear el trafico de la IP atacante (192.168.0.102) y no responder al ataque DDoS, de esta forma se mitigaría un ataque normalmente.

 

Ejemplo de ataque CON spoofing IP:

 

 

192.168.0.102 (atacante)   ——(192.168.0.104 —192.168.0.103—192.168.0.105)—————(paquetes)—————————————–>192.168.0.101 (victima)

 

En este otro caso, la victima (192.168.0.101) estaría recibiendo un ataque de 3 IP´s diferentes, pero… ¿qué pasa si son 500 IP´s diferentes?, en ese caso la victima tendría un gran problema al intentar mitigar el ataque. Esto también se puede dar en caso donde el atacante recaude IP´s de los usuarios de la pagina/servidor para atacar con esas IP´s y así bloquear a los usuarios.

 

 

 

 

 

IMPORTANTE: 

Los ISP bloquean los ataques de Spoofing IP, es posible que si intentas enviar un ataque spoofeado a una página o persona, tu ISP lo bloquee, es por eso que estos ataques son ilegales y están prohibidos en muchos países. Solo algunos VPS tienen la capacidad de realizar estos ataques pero son muy escasos, de igual forma no se recomienda hacerlos.

 

 

Byaci

Estrategia Nacional de Ciberseguridad (México)

…”Hacia una Estrategia Nacional de Ciberseguridad” (México) plan estratégico impulsado por el Gobierno de la República Mexicana, donde colaboran diferentes sectores como: gobierno, sector privado, comunidad técnica, sociedad civil y académica.

El documento hace mención que para el año 2030 México será un país mejor preparado ante ciberataques y con una mejor cultura en ciberseguridad.

La Estrategia contemplara 4 Objetivos Estratégicos y 8 Ejes Trasversales:

Economía: Debido a el gran crecimiento y la continua evolución de las TIC, se requiere la implementación de proyectos relacionados con el desarrollo y la innovación de las tecnologías. con el fin de crear una cultura de prevención e impulsar al país como una de las economías emergentes más proliferas:

  • Concientizar de los actos de riesgo aosciados en el ciberespacio.
  • Desarrollo de proyectos de investigación e innovación, fomentando el capital humano especializado en materia de ciberseguridad.
  • Mitigación de riesgos y amenazas que puedan afectar la economía y la estabilidad del país.
  • Generación de tecnología propia.
  • Desarrollo de buenas prácticas, normas y estándares conforma a las necesidades del país y en distintos sectores.
  • Mecanismos, marco jurídico y normas técnicas para el crecimiento económico del país a través de la innovación tecnológica, manteniendo la protección las Infraestructuras Críticas de la Información.
  • Regular las operaciones que se realizan a través de Internet.
  • Métricas sobre el uso y confianza de servicios de comercio electrónico.

Sociedad: La estrategia tiene como factor primordial al factor humano y a cuidar sus derechos, es por ello, que la estrategia se enfoca en fortalecer la confianza de los usuarios que utilizan servicios en línea, así mismo la concientización de adoptar medidas de ciberseguridad y promover el manejo adecuado y seguro de las TIC.

  • Campañas que contemplen la autoprotección, autoregulación y mejores practicas.
  • Protección de adolescentes, niños y niñas a la exposición con depredadores informáticos.
  • Estimular la profesionalización de la ciberseguridad.
  • Prevención y combate de incidentes con la participación ciudadana.
  • Construir un ciberespacio seguro y confiable.
  • Lineamientos que coadyuden al bienestar de la población.
  • Procedimientos y mecanismos para la protección de las Infraestructuras Criticas de la Información e Inteligencia Especializada.
  • Un marco jurídico que contemple el enfoque de los derechos humanos, de caracter preventivo.
  • Indicadores de medición de efectividad de las campañas de concienciación y cambio cultural, así como de los incidentes de ciberseguridad.

Gobierno: La gestión pública a través de las TIC contiene gran variedad de datos e información sensible, tanto de los entes públicos, como de la población, por lo que:

  • Se requiere crear campañas para mejorar el nivel del servicio público.
  • Políticas y programas de actualización tecnológica.
  • Fortalecer la ciberseguridad en la gestión de la información relativa a la prestación de trámites y servicios a la población.
  • Prestación más eficiente, segura y confiable de los trámites y servicios para la población.
  • Criterios y controles para estandarizar los procesos de seguridad de la información y el tratamiento de datos de los entes públicos.
  • Instauración de canales de comunicación seguros ante posibles ataques.
  • Brindar certeza jurídica en la prestación de trámites y servicios a la población.
  • Proceso gradual de adopción voluntaria de los procesos referidos en el Manual Administrativo de Aplicación General en materia de Tecnologías de la Información y Comunicaciones y de Seguridad de la Información (MAAGTICSI).

Seguridad Nacional: El incremento de las amenazas globales y los delitos a nivel mundial, conllevan a fortalecer la Seguridad Nacional para preservar la integridad, estabilidad y permanencia del Estado Mexicano.

  • Campañas dedicadas a las Instancias de Seguridad Nacional, manejo de información general, personal y laboral.
  • Contar con una base de conocimientos centralizada.
  • Mecanismos de colaboración y cooperación entre dependencias vinculadas con la Seguridad Nacional para el intercambio de información e inteligencia.
  • Desarrollo tecnológico, investigación e intercambio de conocimiento a fin de fortalecer la ciberseguridad en las dependencias que cuenten con Infraestructura Crítica de la Información del Estado Mexicano.
  • Estandarización del proceso de seguridad de la información y el tratamiento de activos de información en las Instancias de Seguridad Nacional.
  • Protocolos de comunicación y cooperación entre los sectores involucrados para la ciberdefensa en situaciones de un ciberataque que afecte las Infraestructuras Críticas de la Información o Información e Inteligencia Especializada, con una posible afectación al orden y paz social.
  • Armonización de la legislación en relación a delitos en relación a delitos como ciberterrorismo, delitos que usan TIC para su comisión (ciberdelitos), ciberataques y ciberamenazas, el cual debe contemplar la investigación y sanción correspondiente.
  • Estadísticas globales para conocer las tendencias de los incidentes cibernéticos.

La ENCS ( Estrategia Nacional de Ciberseguridad) se presentara durante la Semana Nacional de Ciberseguridad del 9 al 13 de octubre de 2017.

Si deseas conocer a detalle el documento de la ENCS, puedes consultar el siguiente enlace:

https://www.gob.mx/cms/uploads/attachment/file/239446/Documento_de_trabajo_ENCS_v0.pdf

 

Byaruzat

(parte 1) Sockets con Python.

Hola, ya llevo un tiempo de inactividad dentro de la página, pero vuelvo con mas ganas y con mas aprendizajes. En este caso vamos a hablar de los “sockets con python” una rama muy interesante y de verdad, muy divertida de python, pero primero…

¿Qué son los sockets?

Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a los procesos o hilos apropiados. Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.

Entonces se podría decir que un socket es un paquete en español, algo que tiene un destino, un inicio, el puerto por donde va a ir y el protocolo.

Empezando con la programación:

 

CLIENTE

 

  • Primeramente vamos a importar la libreria “socket”.
import socket

 

 

  • Despues vamos a definir un socket de flujo, para concordar nuestra conexión con envio de datos TCP ( “s” es la variable de la conexión,  AF_INET es la conexión a internet y SOCK_STREAM define el uso de protocolo TCP)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

 

 

  • Luego utilizamos la variable “s” y le asignamos una IP y un PUERTO, esto hara que el cliente busque el servidor y haga la conexión exitosa.
s.connect(("192.168.0.101", 7777))

 

 

  • Seguidamente vamos a crear un “While” el cual va a capturar un mensaje a través de un raw_input y va a mandarlo hacía el servidor definido. (“s.send(mensaje)” va a mandar la variable mensaje al servidor definido anteriormente).
while True:
    mensaje = raw_input("Escribe un mensaje: ")
 
    s.send(mensaje)
 
    if mensaje == "cerrar":
        break

 

 

  • Finalmente luego del break se cerrara la conexión, dando por terminada la misma.
s.close()

 

SERVIDOR

 

  • Para hacer más rápido el proceso, el servidor voy a comentar todo sobre las lineas de codigo, es practicamente lo mismo, nada más que va a recibir la información en vez de enviarla.
import socket
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
s.bind(("", 7777)) #Va a escuchar conexiones del puerto 7777 y de cualquier IP.
 
s.listen(5) #Se pone en modo de escucha a las conexiones entrantes y las limita a 5.

sc, addr = s.accept() #Instanciamos un objeto sc (socket cliente) para recibir datos, al recibir datos este devolvera tambien un objeto que representa una tupla con los datos de conexion: IP y puerto
 
while True:
 
    recibido = sc.recv(1024)
 
    if recibido == "cerrar":
        break
 
    print str(addr[0]) + " dice: ", recibido
 
sc.close()
s.close()

 

Aclaración:

Tanto el SERVIDOR como el CLIENTE, deben ir separados y ambos guardador con extención “.py”.

 

Bien, esta es la parte 1 de sockets con python, en la parte 2 vamos a ver como aplicar esto mismo con threads para aceptar varias conexiones y hacer un chat dinamico, mucha suerte!

BySin Rostro

Reversing en Malware 3 – Análisis estático

Bueno, bueno, ya por fin comenzaremos con la practica, no es que no quiera pasar de lleno a ella, si no que quiero que queden claros algunos recursos que usaremos. Además podemos aprender más cosas así 🤓.

Sin han llegado hasta aquí sin haber leído mis 2 anteriores post les recomiendo ir rápidamente allá y leerlas porque están geniales aquí tienes el Primer Post y acá tienes el Segundo Post.

Análisis Estático

Ok, lo primero que haré será dejar una serie de cosas que debemos (aunque sea una hipótesis) obtener con este análisis. Están en el orden en que yo las haría. Así que si encuentras la ultima o la 3ra no importa pero si deberíamos tener la mayoría si no es que todas 😉.

1.- Información del archivo (tipo de archivo, cabeceras, tamaño, etc)
2.- Hashing y análisis con VirusTotal
3.- PE Información (DLLs, Librerías, etc)
4.- Recolección de Strings
5.- Ejecución del archivo
6.- Captura Trafico de Red
7.- ¿¿Como ha llegado ahí??

Ya había pasado el link del primer archivo con el que trabajaremos pero por si acaso no lo has descargado aquí esta de nuevo recuerden que la contraseña es “hpsi”.

1.- Información del archivo

Ya lo he descargado y comenzare abriendo el archivo desconocido (aún) con un editor hexadecimal estoy usando HxD – Hexeditor. Y esto es lo que veo cuando le cargo el archivo desconocido.

Como se pueden dar cuenta la cabecera del archivo me dice MZ, si eres de los que alguna vez a realizado wargames de esteganografía sabrán casi inmediatamente de que tipo de archivo se trata si no, les dejo una lista del inicio las cabeceras de algunos archivos.

.PNG                     PNG   |END
.GIF                       GIF   |END
.JPG/JPEG         ÿØÿà   ÿÙ
.BMP                    BM
.EXE                     Mz
.MP3                    ID3
.RAR                    Rar
.ZIP                      Pk
.PDF                    %PDF

Bueno con esto podemos decir que el tipo de archivo es un .EXE, un ejecutable del OS win2, así que podemos agregarle la extensión a ese archivo el cual se vera así.

2.- Hashing y análisis en VT

Bien ahora quisiera pasarlo al script de python que creamos en el post anterior y ver que resultados nos arroja.

Baya si que es un chico peligroso, como pueden ver de los 63 tests, 59 fueron True osea que fue amenaza positiva y la mayoría me dice que es un troyano/backdoor así que ya podemos ir imaginando que es lo que este chico hace.

3.- PE información

Ok, veamos que nos devuelve la información del PE en este caso usare dos herramientas para que vean que esta cosa del análisis es muy versátil 😂😂.

La primera es PEview veamos que es lo que esta importando.

Ok en este programa esta haciendo 5 importaciones veamos en el segundo que nos devuelve.

EL programa se llama CFF explorer.

Bueno al parecer no hay problema en eso ya que nos devuelve los mismos resultados ustedes eligen 😁😁

Ok, Ok, ¿¿Bueno pero para que me sirve saber esto de las importaciones?? se estarán preguntando. La respuesta es sencilla, para saber que es lo que planea hacer el archivo.exe.

Por ejemplo la DLL 5 osea la WS2_32.dll le permite al .exe configurar conexiones de red ya que esta DLL configura sockets como lo podemos leer aquí.

4.- Strings

Muy bien hagamos una recopilación de información que tenemos hasta ahora:

El archivo desconocido ya no lo es más, ya que identificamos que era un .EXE,

sabemos que la mayoría de los antivirus lo reconocen como troyano/backdoor,

que importa 5 DLLs y que una de ellas es usada para crear o configurar conexiones de red,

vaya, si que parece un troyano 😈😈.

Ahora deberíamos tratar de averiguar a donde es que hace esa conexión, si es que la hace.

Con la obtención de strings podríamos averiguar eso y otras cosas más.

Un ejemplo, si el archivo manda un mensaje al ser ejecutado…, podríamos saber que es lo que este dice o si crea una carpeta o ingresa a una ruta cual es el nombre de estas, etc, etc. El problema aquí como en cualquier caso de Ingeniería Reversa claro, será la cantidad de strings que se puedan obtener ya que esta puede ser extremadamente grande y en ocasiones nos puede confundir en lugar de ayudarnos.

Vamos pues a ello, utilizare esta vez la herramienta llamada Bin Text pero de nuevo ustedes pueden usar la que crean conveniente. Esto es lo que me arroja.

Esas 4 llaman mi atención (Bueno hay mas pero por ahora no lo mencionare 😉).

  1. http://www.ueopen.com/test.html
  2. cmd.exe
  3. /c del
  4. 60.248.52.95:443

Algunas de las otras me dan una idea de como es que trabaja pero estas 4 son muy llamativas al ojo, ¿No creen?

Bueno ya con estas cadenas de texto podríamos suponer que hace 2 conexiones una a la URL y otra a la dirección IP y que probablemente borre nuestro disco duro 😱😱😱😱 jajaja no, no, bromeo cmd /c indica un comando en este caso del., el cual sí quiere decir borrar (delete) pero aun no se que exactamente, ¿¿tal vez la siguiente linea que esta abajo de ese string??

Bueno mientras son peras o son manzanas pasemos al siguiente punto.

5.- Ejecución del archivo

Nota importante:.

Estoy trabajando en Virtual Environment (Entorno virtual) osea que si se me jode el sistema, tengo la posibilidad de recuperarlo, siempre y cuando tenga configurado un snapshot.

Espero no me juzguen por mi paradoja de lo virtual que intento explicar con la imagen 😅😂😥.

Bien explicando un poco mejor, estoy virtualizando un sistema Win2, dentro de ese sistema operativo win2 he creado un punto en donde he preservado el estado actual de la máquina, sus dispositivos, documentos, configuraciones, etc. Por supuesto, puedes crear snapshots dentro de los snapshots, por eso decía eso de las paradojas, por que es como si crearas 2 o 3 o mas realidades que afectan a ese sistema operativo win2. Una imagen vale más que 1000 palabras.

Puedes regresar a cualquier estado al cual le tengas hecho un snapshot, claro siempre y cuando no esté dañado 😂.

Bueno continuando con lo que nos interesa es momento de correr nuestro debian 64 bits y corroborar que existe conexión entre las dos máquinas.

Muy bien tengo conexión de win2 a Debian, ahora haré un snapshot de este punto antes de ejecutar el archivo.

Mientras tanto en Debian tengo corriendo wireshark y veo que a capturado el ping que he realizado, confirmándome que efectivamente hay conexión entre las máquinas.

Muy bien corro el archivo y esto es lo que sucede.

Obtenemos las capturas de estos paquetes, he señalado 3 cosas., de izquierda a derecha,

tenemos la dirección IP del Win2,

la dirección IP a la que el malware intenta hacer la conexión,

el Puerto Local que ha usado el malware en Win2

y por ultimo el puerto Remoto de la dirección IP posible del C&C.

He realizado la misma captura pero desde el mismo Win2 y obviamente son los mismo resultados.

Noten que el archivo mientras era ejecutado y hacia las debidas conexiones sigue estando en el escritorio pero una vez terminada esas tareas ha desaparecido, bueno en realidad ha sido eliminado por el mismo.

Resumiendo,

podemos decir que con la ayuda PEview obtuvimos la muy posible fecha de compilación del archivo, no podemos afirmar con toda certeza pero al menos tenemos una fecha estimada.

Ok veamos.

- fecha: 2009/05/14
- Lenguaje: Microsoft Visual C++ 6.0
- Strings encontradas(Ahora si añadiré una más):
   - 60.248.52.95:443 # Host y puerto al que conecta
   - http://www.ueopen.com/test.html # ?? Probablemente url de test para conexion ???
   - cmd.exe # Referencia hacia la consola de windows 
   - /c del  # Comando para su auto-eliminación (delete itself  "cmd.exe /c $PATH > null")
   - *(SY)#  # Usado posiblemente para generar una Shell remota
- Despues de correr el archivo:
   - conecta a 60.248.52.95
   - genera una Shell inversa
   - y se auto elimina
- Con la información que hemos recolectado no podríamos decir como ha llegado
  ese archivo a la computadora, quiero decir, si ha sido enviado por medio 
  de phishing, un downloader lo a descargado, venia empaquetado con otra app,
  o de plano nos lo hemos bajado nosotros tratando de encontrar el crack para
  plant Vs zombies o alguna otra herramienta de softonic... 
  

Y podemos decir que nuestras hipótesis acerca de lo que este archivo realizaba estaban bien fundadas, bueno eso y además que el análisis con virustotal también nos dijo eso 😂😂😂.

Bueno hasta aquí creo que es un buen inicio en análisis estático hay muchas cosas mas que afrontar en este tipo de análisis pero como dije es una introducción ya iremos adentrando más en ello.

Saludos Hackers y hasta la próxima.

Byaci

¿Por qué crear una Estrategia de Seguridad?

Espionaje, hactivismo, ciberataques; son algunas de las palabras más sonadas durante el primer semestre de 2017. Ataques a nivel mundial que nos hacen replantear la idea de una estrategia de seguridad a nivel empresa, nacional y a nivel mundial.

México, el país más afectado  de América Latina por el cibercrimen, desde 2014 ha comenzado a trabajar en la creación de una Estrategia Nacional de Ciberseguridad, sin embargo, hasta el 2017 se ha iniciado el diseño de esta política. Los días 19 y 20 de abril se realizó el taller “Hacia la Estrategia Nacional de Ciberseguridad”;  donde se manifestó la importancia de los derechos humanos dentro del ciberespacio; añadiendo a esto, la OEA reafirmó su compromiso de apoyar al gobierno de México en el desarrollo de su Estrategia.

Desde nuestro punto de vista, una estrategia a nivel nacional no será eficaz, si no partimos de lo menos a lo más; si dentro de nuestras organizaciones o empresas, no contamos con una estrategia de seguridad en la información, seguiremos vulnerables a los ciberataques, que día a día aumentan en nivel de riesgo.

Por mencionar algunos incidentes recientes, el pasado 21 de julio de 2017 se dio a conocer la peor fuga gubernamental de Suecia, el error: trasladar toda su información secreta de la nación a la nube (cloud), entre la información sensible que vio la luz tenemos, nombres de pilotos, todos los carnets de conducir de Suecia, datos de protección de testigos, información personal sobre las Unidades de Fuerza, detalles de vehículos militares, entre otra información. Tras toda esta información filtrada se destaca la actitud generalmente descuidad y negligente; la sentencia a este incidente ha sido dar el salario de medio mes, debido a que fue el propio gobierno quien expuso dicha información.

Un segundo incidente que salió a la luz el pasado 8 de agosto de 2017 fue la filtración de 11,000 documentos internos sobre LexNet y Orfila (Organizaciones de España). Este incidente ha sido totalmente un descuido, la información filtrada se encontraba en un servidor con acceso desde Internet completamente abierto (sin contraseña).

“Cuando vi lo que ocurrió con LexNet la semana pasada me puse a buscar información. No sabía cómo funcionaba. Me metí en Shodan y encontré una IP de Justicia no securizada. Entré y te daba acceso a un directorio, estaba abierto y sin contraseña. Otro fallo de configuración hacía que pudieras acceder con permisos de administrador al panel de monitorización de LexNet y a carpetas con miles de documentos sobre esta plataforma y sobre Orfila. Todo eso no debería estar ahí”, explica a Teknautas una de las personas que accedió al material, un estudiante de ingeniería de 20 años. “Si yo lo he encontrado, cualquiera podría haberlo hecho”.

El 87% de las empresas en México ha tenido incidentes de seguridad de la información, el costo promedio de un incidente de seguridad es de 1 millón 581,641 dólares;  algunas de las empresas solo destinan el 3.87% del presupuesto a ciberseguridad, presupuesto reducido para proteger el activo más valioso de las Organizaciones.

De acuerdo con la experiencia, pocas empresas cuentan con una estrategia en seguridad de la información claramente definida acorde a su negocio. Una estrategia debe verse como un proceso más dentro de la Organización. Es importante que todas las áreas sean partícipes, ya que la seguridad no es un problema específico de un área. Se deben crear políticas, procesos y lo más importante implementarlas, mismas que deben ser auditadas para obtener una mejora continua en el proceso. Es importante dejar en claro que las herramientas tecnológicas son un complemento de la seguridad, contar con un firewall o un detector de intrusos minimizara el riesgo de algunos ataques, sin embargo para estas herramientas deben de existir políticas de actualización de parches, procesos de configuración, añadiendo a esto, es recomendable realizar pruebas de penetración (pentest), con la finalidad de validar y verificar la existencia de huecos de seguridad dentro de la infraestructura tecnológica. Las empresas deben evitar ser juez y parte de las validaciones o auditorias de seguridad, por lo que se recomienda contar con un proveedor, con experiencia que pueda ofrecer asesoramiento personalizado.

 

Referencias

Hacia la Estrategia Nacional de Ciberseguridad

Incidentes de Seguridad en México

LexNet y Orfila

Incidente Suecia

 

BySin Rostro

Reversing en Malware 2 – Hashing.

Un hash es un algoritmo matemático que es generado/creado a partir de una entrada como un texto, una contraseña o un archivo. Pero hoy lo usaremos en análisis de malware 😈.

¿NOS SIRVE EN ANÁLISIS DE MALWARE?

La respuesta es si.

Los hash son generados tomando bloques de datos arbitrarios y devolviendo una serie de caracteres con una longitud especifica. Es decir que a partir de los datos de entrada se genera la cadena que solo puede volverse a generar con esos mismos datos. Bueno en teoría eso debe de pasar pero en algunos casos como el de SHA1 que en meses anteriores ha sido colisionado por Investigadores de Google.

Aun así existen muchos más algoritmos. En nuestro caso vamos a estar utilizando MD5. ¿Pero? que es exactamente y como es que funciona.

Ya saben que no me gusta atiborrarlos de información además de que no estamos en un curso de cifrado 😆, así que tratare de explicarles en practica.

Imagina que estas descargando un archivo “juego.exe”, en la página del desarrollador menciona que el MD5 es:

8033E2DDE927771A125F26A158C282A3

Pero al descargarlo te das cuenta de que el MD5 que generas tu con ese mismo archivo es:

5F778048775E0ECE6DBB97B6997019B2

Claramente no es igual lo que nos da a pensar de acuerdo a la introducción de más arriba, que el archivo tiene bloques de datos diferentes al archivo que han desarrollado los creadores, con esto podríamos concordar en que este archivo puede contener código que bien podría o no, ser malicioso 😈😈.

Pasemos a la practica 😉

Tengo aquí un archivo.

Utilizare una utilidad llamada “QuickHash”

Después de abrir el archivo con la utilidad y elegir MD5 nos genera la cadena correspondiente a ese archivo

Y así de sencillo podríamos obtener el MD5 de los archivos. Bien con eso ya sabemos una manera de obtener MD5, pero para que nos sirve el MD5 en análisis de malware?

Bueno imagina que este archivo es un sample que tienes que analizar, para no subir el archivo completo a un motor de búsqueda que te ayude a saber si es o no una amenaza (ya sabes puede pesar mucho y aveces nuestras datas no alcanzan 😂), bueno pues con el MD5 podemos averiguar lo que queremos.

Para ello usaremos un sitio bastante conocido virusTotal y con el MD5 obtenido veremos los resultados que nos arroja.

Quiero que vean algo, el primer parámetro, el que esta arriba del nombre del archivo dice:

SHA256: 46532f3def025aca4da1fa5646f5d19fafb2ec00e3b262ad87712ec6756902f9

Este es un tipo de hash yo ingrese el MD5 no el SHA256. Lo que sucede es que ese motor de búsqueda calcula además del MD5 otros datos para que se tenga total certeza de que hablamos del mismo:

Y ahora mi parte Favorita 😍

Hazlo con python 😁

He desarrollado un pequeño script en python que nos calcula el MD5 del archivo.

# Script en python para calcular Hash MD5
# Analizar Samples
# Desarrollado por Eric Alberto Martínez
# Hacking Publico & sistemas informáticos
# AguasHack - No Hacking No Fun
# Versión 1.0
''' Este script permite calcular el Hash MD5 de archivos
  
    el código puede ser manipulado y/o copiado manteniendo las 
    11 primeras lineas de código.
''' 

# Importar librerías
import hashlib

# Acontinuación creamos una función
# que nos permitira abrir un archivo leer
# sus datos y generar su Hash MD5
 
def calcularMd5(archivo):
  archivo = open(archivo, 'rb')
  print "\nEl MD5 es: " + hashlib.md5(archivo.read()).hexdigest()
  archivo.close()

print "Hola, Ingresa la ruta del archivo"
archivo = raw_input("\n::> ")
calcularMd5(archivo)

Y., uno más un poco mejor elaborado, con este script interactuamos con el sitio de Virus Total para obtener los resultados del sitio. El script aun esta en desarrollo le quiero dar un poco más de formato, teniendo en cuenta que lo acaba de crear creo que es funcional y para nuestras pruebas durante las próximas entradas sera suficiente.

Como puedes ver son los mismos resultados que nos genero en la web de virustotal

– Nota:  Trate de dejarlo lo más simple posible le añadí comentarios a casi todo el código para que sea un poco más fácil de entender.

# Analizar Samples 
# Api VirusTotal
# Desarrollado por Eric Alberto Martinez
# Hacking Publico & sistemas informaticos
# AguasHack - No Hacking No Fun
# Version 1.0
''' Este script permite calcular el Hash MD5 de archivos
    y manipular los resultados obtenidos en Virus Total,
    el codigo puede ser manipulado y/o copiado manteniendo las 
    11 primeras lineas de codigo.
''' 
# Importamos librerias

import requests
import hashlib

# Tu llave API de virus Total (Tienes que registrarte)
apiKey = ''
    
# clase para obtener datos o subir archivos
class virusApi:
    

    # Funcion para escanear un archivo
    def escanear(self, apiKey, archivo):
        print "Analisando el archivo...\n"
        # Configuramos la APIKEY
        params = {'apikey': apiKey}
        # Abrimos el archivo en modo binario                                    
        files = {'file': (archivo, open(archivo, 'rb'))} 
        # Hacemos la peticion al sitio              
        response = requests.post('https://www.virustotal.com/vtapi/v2/file/scan', 
                                files=files, params=params)
        # obtenemos la respuesta del sitio
        json_response = response.json()                                 
    
    # Funcion para Re-escanear
    def rescanear(self, apiKey, md5):
        # confirguramos la APIKEY y el hashMD5
        params = {'apikey': apiKey, 
                'resource': md5}                                        
        # Hacemos la peticion al sitio
        response = requests.post('https://www.virustotal.com/vtapi/v2/file/rescan',
                                params=params)
        # Obtenemos la Respuesta del sitio                          
        json_response = response.json()                                 
    
    # Funcion para Obtener los resultados de un analisis
    def obtenerResultados(self, apiKey, md5):
        print "Obteniendo Resultados...\n"
        # Configuramos la APIKEY y el HashMD5
        params = {'apikey': apiKey, 
                'resource': md5} 
        # Creamos las cabeceras                                     
        headers = {
          "Accept-Encoding": "gzip, deflate",
          "User-Agent" : "gzip,  Mi Aplicacion python para VirusTotal"
          }     
        # hacemos la peticion al sitio                                                      
        response = requests.get('https://www.virustotal.com/vtapi/v2/file/report',
                                params=params, headers=headers)
        # obtenemos la respuesta del sitio      
        json_response = response.json() 
        # obtenemos solo las claves de la respuesta                             
        claves = json_response.keys()   
        # declare una variable                              
        x = 'scans'     
        # ciclo para obtener los primeros resultados excepto los de la deteccion                                                 
        for clave, valor in json_response.items():  
            # si la clave no es igual a 'scans'                 
            if clave != x:
                # imprimimos los primeros resultados                                                
                print clave, ':\t\t', valor
        # declaramos una lista                          
        lista = []
        # ciclo para obtener las claves del segundo resultado                                                       
        for i in json_response['scans'].keys(): 
            # agrega cada clave a la lista                              
            lista.append(i) 
            # Reasignamos la variable                                           
            j = json_response
            # Variable que contiene si el archivo es detectado o no p/c antivirus                                           
            detectado = str(j['scans'][i]['detected'])
            # Variable que contiene el tipo de amenaza que es detectada p/c antivirus                  
            resultado = str(j['scans'][i]['result'])
            # imprimimos el resultado                   
            print i + "\t\t" + detectado + "\t\t" + resultado           

# Instanciamos la clase
virusTotal = virusApi()                                                 
'''
Creo que apartir de aqui el codigo no necesita explicacion
ya que son cosas basicas que son faciles de entender, aun 
asi si existen dudas no duden en comentar en el grupo de
Hacking Publico & sistemas informaticos
'''
print "\nHola, Bienvenido\nQue deseas hacer?"
print '''
[1] Escanear
[2] Re Escanear
[3] Obtener resultados
'''
eleccion = raw_input("\n::> ")
if eleccion == '1':
    archivo = raw_input("\nIngresa la ruta del archivo \n::> ")
    virusTotal.escanear(apiKey, archivo)                                
    archivo = open(archivo, 'rb')
    # Calculamos el MD5 del archivo                                     
    md5 = hashlib.md5(archivo.read()).hexdigest()                       
    archivo.close()
    print "El hashMD5 del archivo es: " + md5
    virusTotal.obtenerResultados(apiKey, md5)
elif eleccion == '2':
    archivo = raw_input("\nIngresa la ruta del archivo \n::> ")
    archivo = open(archivo, 'rb')
    # Calculamos el MD5 del archivo
    md5 = hashlib.md5(archivo.read()).hexdigest()
    archivo.close()
    print "El hashMD5 del archivo es: " + md5
    virusTotal.rescanear(apiKey, md5)
    virusTotal.obtenerResultados(apiKey, md5)
else:
    archivo = raw_input("\nIngresa la ruta del archivo \n::> ")
    archivo = open(archivo, 'rb')
    # Calculamos el MD5 del archivo
    md5 = hashlib.md5(archivo.read()).hexdigest()
    archivo.close()
    print "El hashMD5 del archivo es: " + md5
    virusTotal.obtenerResultados(apiKey, md5)

Bueno hasta aquí esta entrada creo que lo han tomado bien, 😅😅 nos leemos en la próxima entrada.

Saludos Hackers!

Byaci

SHELLBIND es un malware descubierto este mes que explota SambaCry

La compañía de ciberseguridad Trend Micro ha alertado de la existencia de un nuevo malware que explota la vulnerabilidad SambaCry, que afectó sobre todo a sistemas operativos Linux.

Para los que anden despistados, SambaCry fue una vulnerabilidad presente desde hace 7 años descubierta y parcheada hace dos meses y que tenía como principal objetivo a servidores NAS con el fin de realizar minado de criptodivisas. Su nombre recuerda a WannaCry, y no es para menos, ya que afectaba a Samba, una implementación software libre del protocolo SMB/CIFS utilizado por Windows para compartir archivos y otros recursos a través de red, facilitando así la convivencia de Windows con otros sistemas operativos Unix y Unix-like.

A pesar de que se lanzó un parche de forma rápida, parece que a día de hoy sigue habiendo muchos dispositivos con una instalación de Samba sin actualizar, lo que ha motivado el desarrollo de malware por parte de actores malintencionados.

Llamado SHELLBIND, el malware recientemente descubierto por Trend Micro es capaz de funcionar en varias arquitecturas además de x86 (Intel y AMD), abarcando también PowerPC, MIPS y ARM. Se distribuye a través de un fichero de Objeto Compartido (.so) que acaba en carpetas públicas compartidas, siendo después cargado a través de la vulnerabilidad SambaCry.

Una vez implementado en la máquina objetivo, SHELLBIND establece una comunicación con el servidor de mando y control del atacante, que ha sido localizado en el este de África. Además de órdenes procedentes del servidor, también permite a un atacante tomar el control de la máquina infectada.

Para empeorar la situación, encontrar máquinas expuestas al público que hacen uso de Samba es relativamente sencillo, ya que solo hay que buscar el puerto 445, uno de los dos utilizados por Samba, a través del buscador Shodan para obtener una lista de IP de potenciales víctimas para SHELLBIND. Por otro lado, se desconocen los motivos de los actores maliciosos tras este malware.

El peligro está en los dispositivos IoT

Las distribuciones Linux más conocidas suelen ser diligentes a la hora de suministrar actualizaciones que parchean vulnerabilidades críticas, por lo que el impacto de SHELLBIND tendría que ser limitado.

Sin embargo, el verdadero problema no está en las distribuciones Linux “tradicionales”, sino en el IoT, ya que los dispositivos que abarcan esta área son casi siempre actualizados por el fabricante, dejando al usuario sin margen de maniobra y desprotegido en caso de no ser diligentes a la hora de suministrar actualizaciones de seguridad.

De hecho, la desidia de muchos fabricantes ha terminado por convertir al IoT en un área poco fiable en términos de seguridad.

Aun así, prescindir de Samba sería una buena idea

¿Eres usuario de Linux o de otro sistema operativo Unix o Unix-like? En caso de no necesitar Samba, sería buena idea desinstalar el correspondiente servidor para evitar su exposición.

En caso de necesitar Samba para compartir recursos, se recomienda encarecidamente tener el servidor actualizado con los últimos parches a nivel de seguridad y los puertos 139 y 445 cerrados en el router.

Source link

BySin Rostro

Intro a Python 2

Bueno pues esta vez les traigo la segunda parte de la introducción a python, hablamos acerca de Scapy y lo poderoso que puede llegar a ser si se aprende a usar de forma correcta y de como es posible remplazar con este muchas de las herramientas de red que existen y por ultimo les muestro lo que se puede llegar a realizar con un script de python }:)

Moviéndonos con Scapy