domingo, 31 de mayo de 2020

Nueva vulnerabilidad de DNS permite lanzar ataques DDoS a gran escala

Investigadores israelíes de ciberseguridad han revelado detalles sobre una nueva vulnerabilidad que afecta el protocolo DNS. Esta puede ser explotada para lanzar ataques amplificados y distribuidos a gran escala de denegación de servicio (DDoS) para desactivar sitios web específicos.

La vulnerabilidad ha sido llamada NXNSAttack y depende del mecanismo de delegación de DNS. Esto para obligar a los solucionadores de DNS a generar más consultas DNS a los servidores autorizados de elección del atacante. Estas acciones pueden causar una interrupción al estilo de una botnet en los servicios en línea.

“La cantidad de mensajes DNS intercambiados en un proceso de resolución típico podría ser mucho mayor en la práctica de lo esperado en teoría. Esto principalmente debido a una resolución proactiva de las direcciones IP de los servidores de nombres”, dijeron los investigadores en el documento.

 

“Mostramos cómo esta falla se convierte en un cuello de botella. Podría usarse para montar un ataque devastador contra uno o ambos, resolutivos recursivos y servidores autorizados”.

Tras la divulgación responsable de NXNSAttack, varias de las compañías a cargo de la infraestructura de Internet, incluidas PowerDNS (CVE-2020-10995) y CZ.NIC (CVE-2020-12667). Asimismo, Cloudflare, Google, Amazon, Microsoft, Dyn, propiedad de Oracle, Verisign e IBM Quad9, han parcheado su software para solucionar el problema.

La infraestructura de DNS ha estado previamente en el extremo receptor de una serie de ataques DDoS a través de la infame botnet Mirai. También otros ataques contra el servicio DynDNS en 2016, estos paralizaron algunos de los sitios más grandes del mundo, incluidos Twitter, Netflix, Amazon y Spotify.

Método NXNSAttack:

Una búsqueda DNS recursiva ocurre cuando un servidor DNS se comunica con varios servidores DNS autorizados en una secuencia jerárquica. Esto para ubicar una dirección IP asociada con un dominio (por ejemplo, www.google.com) y devolverla al cliente.

Esta resolución generalmente comienza con la resolución DNS controlada por tus ISP o servidores DNS públicos, como Cloudflare (1.1.1.1) o Google (8.8.8.8). según lo que esté configurado con tu sistema.

La resolución pasa la solicitud a un servidor de nombres DNS autorizado si no puede localizar la dirección IP de un nombre de dominio determinado.

Pero si el primer servidor de nombres DNS autorizado tampoco contiene los registros deseados, devuelve el mensaje de delegación. El mensaje incluye las direcciones a los siguientes servidores autorizados a los que puede consultar el solucionador DNS.

En otras palabras, un servidor autorizado le dice al solucionador recursivo: “No sé la respuesta, ve y consulta estos y estos servidores de nombres. Por ejemplo, ns1, ns2, etc.”.

Este proceso jerárquico continúa hasta que el solucionador DNS llega al servidor autorizado correcto que proporciona la dirección IP del dominio. Esto permite al usuario acceder al sitio web deseado.

Explotación:

Los investigadores descubrieron que estos grandes procesos pueden explotarse para engañar a los resolutivos recursivos. Lo hacen enviando de manera contundente una gran cantidad de paquetes a un dominio objetivo en lugar de servidores legítimos autorizados.

Para organizar el ataque a través de un resolutor recursivo, el atacante debe estar en posesión de un servidor autorizado, dijeron los investigadores.

“Esto se puede lograr fácilmente comprando un nombre de dominio. Un adversario que actúa como un servidor autorizado puede elaborar cualquier respuesta de referencia NS como respuesta a diferentes consultas DNS”, dijeron los investigadores.

NXNSAttack funciona enviando una solicitud de un dominio controlado por el atacante (por ejemplo, “attacker.com”) a un servidor de resolución de DNS vulnerable. Este reenviaría la consulta DNS al servidor autorizado controlado por el atacante.

En lugar de devolver direcciones a los servidores autorizados reales, el servidor autorizado controlado por el atacante responde a la consulta DNS con una lista de nombres de servidor falsos. También con subdominios controlados por el atacante que apuntan a un dominio DNS víctima.

El servidor DNS, luego, reenvía la consulta a todos los subdominios inexistentes, creando un aumento masivo en el tráfico al sitio de la víctima.

Los investigadores dijeron que el ataque puede amplificar la cantidad de paquetes intercambiados por el resolutor recursivo en un factor de más de 1,620. De esta manera abruma no solo a los que resuelven DNS con más solicitudes que pueden manejar, también inunda el dominio de destino con solicitudes superfluas. Todo lo anterior conlleva a la interrupción del sitio.

Aumento de ataques:

Además, el uso de una botnet como Mirai como cliente DNS puede aumentar aún más la escala del ataque.

“Controlar y adquirir un gran número de clientes y un gran número de NS autorizados por un atacante es fácil y barato en la práctica”.

“Nuestro objetivo inicial era investigar la eficiencia de los resolutivos recursivos y su comportamiento bajo diferentes ataques. Terminamos encontrando una nueva vulnerabilidad seria, NXNSAttack”, concluyeron los investigadores.

“Los ingredientes claves del nuevo ataque son: 1) la facilidad con la que uno puede poseer o controlar un servidor de nombres autorizado. 2) el uso de nombres de dominio inexistentes para servidores de nombres. 3) la redundancia adicional colocada en el DNS estructura para lograr tolerancia a fallas y tiempo de respuesta rápido,

Se recomienda encarecidamente que los administradores de red que ejecutan sus propios servidores DNS actualicen su software de resolución DNS a la última versión.

Anonymous regresa y amenaza a Estados Unidos con exponer red de corrupción

Anonymous ha regresado con un poderoso mensaje que amenaza a Estados Unidos y al gobierno de Donald Trump con exponer una red de corrupción policial.

El año 2020 se pone cada vez más extraño y nos ha demostrado que la realidad supera a la ficción. No por nada decíamos que Black Mirror no tendría una sexta temporada porque este año es un nuevo episodio que la humanidad entera está viviendo.

La pandemia de coronavirus, el cambio climático, las protestas en Estados Unidos o el lanzamiento de una nave al espacio, son sólo algunos de los sucesos que nos han hecho sentir como si estuviéramos viviendo en una historia ficticia.

Por si eso fuera poco, Anonymous de pronto aparece con un mensaje que amenaza al gobierno estadounidense y a su estado autoritario. Al estilo de Mr. Robot o cualquier otra producción de ciberseguridad, el grupo de hackers advirtió que pronto expondría una red de corrupción policial.

Anonymous se pronuncia ante la muerte de George Floyd

El mensaje de Anonymous no llega sin motivo aparente. De hecho, el grupo de hackers protesta por el asesinato del afroamericano George Floyd en Estados Unidos.

Todo comenzó con el reporte de un billete falso de 20 dólares en una tienda de comestibles. Y culminó con la muerte de George Floyd, un afroestadounidense de 46 años, después de haber sido arrestado por la policía en Minneapolis, Minesota.

Un oficial llamado Derek Chauvin, colocó su rodilla contra el cuello de Floyd, mientras él estaba esposado y boca abajo en el suelo. En dos ocasiones, la víctima mencionó que no podía respirar hasta que, finalmente, perdió la vida.

La muerte de George Floyd ha conmocionado al mundo entero y, en Estados Unidos, más de 20 ciudades se han estado manifestando para exigir justicia.



Para unirse a esta causa, Anonymous ha regresado, condenando la reputación del departamento por la brutalidad policial y agrega que la muerte de Floyd es «simplemente la punta del iceberg». «Esta parodia ha durado demasiado y ahora la gente ha tenido suficiente», señala el personaje anónimo.

En el mensaje, Anonymous advierte que no confían en la policía de Estados Unidos porque la consideran una organización corrupta. Como consecuencia, el grupo de hacktivistas amenazó con mostrar todos los crímenes que le han ocultado al mundo.wall

Puedes ver el mensaje completo en la siguiente publicación:


miércoles, 27 de mayo de 2020

InfoG – Una herramienta de recopilación de información de código abierto

InfoG es un Shellscript utilizado para recopilar información sobre un objetivo.
Permite a los hackers éticos recopilar información durante las fases iniciales de una prueba de penetración.
Esta herramienta tiene muchas características. Podemos destacar las siguientes:

  • Ver información del sitio web
  • Ver información telefónica
  • Rastreador de IP
  • Verificar correo electrónico válido
  • Comprobar si el sitio está activo o inactivo
  • Comprobar la velocidad de internet
  • Comprobar información personal
  • Encontrar la IP detrás de Cloudflare
  • Encontrar subdominios
  • Escaneo de puertos (multihilo)
  • Comprobar CMS
  • Comprobar la filtración de DNS

¡Iniciemos!

Primero, necesitamos instalar la herramienta escribiendo el siguiente comando:

root@kali:~# git clone https://github.com/thelinuxchoice/infog



Luego cambiamos el directorio a infog escribiendo el siguiente comando:

root@kali:~# cd infog


Ahora, queremos ver el contenido del directorio, por lo que escribimos el siguiente comando:

root@kali:~# ls

Tu pantalla debería verse así:



Luego ejecutamos la herramienta escribiendo el siguiente comando:

root@kali:~/infoga# bash infog.sh

La herramienta se iniciará, y tu pantalla debería verse así:




Posteriormente, echamos un vistazo a las opciones que ofrece la herramienta.

Puedes elegir cualquier opción de tu elección.

Como primera prueba, vamos a verificar si el sitio web está activo o inactivo. Así que escribimos:

[*] Choose an option: 5

La herramienta nos pedirá que ingresemos al sitio web de destino. Puedes escribir cualquier sitio web de tu elección (donde estés autorizado a hacerlo).

En nuestro caso, escribimos:

www.certifiedhacker.com

La herramienta ejecutará la prueba y devolverá los resultados. Tu pantalla debería verse así:




El host remoto está activo. Como se muestra en la captura de pantalla anterior, la herramienta imprime ¡Site is Up!

Hagamos otra prueba

Ahora, queremos comprobar los puertos abiertos de un sitio web determinado.

Una vez más, escribimos:

root@kali:~/infog# bash infog.sh

luego seleccionamos la opción 12 escribiendo:

[*] Choose an option: 12

Después de seleccionar la opción, la herramienta nos solicitará que ingresemos al host.

Entonces digitaremos lo siguiente:

www.certifiedhacker.com

La herramienta nos preguntará si queremos escanear un solo puerto o un rango de puertos.

Seleccionamos el rango de puertos, escribiendo lo siguiente:

[*] 1) Single Port, 2) Port Range: 2


Luego, la herramienta nos pedirá que ingresemos el rango de los puertos que nos gustaría escanear. En nuestro caso, queremos escanear desde el número de puerto 1 a 1000.

Así que escribimos:

[*] Port Range (E.g. 1 1000): 1 1000


Luego, la herramienta nos solicita ingresar el número de hilos. El valor predeterminado de la herramienta es 10. Por eso lo mantenemos en 10 escribiendo lo siguiente:

[*] Threads (Default: 10): 10


Si lograste seguir los pasos con éxito, la pantalla tendría que mostrarse así:



Entonces comenzará nuestro escaneo. Y tu pantalla debería verse como las siguientes capturas de pantalla:








En las capturas de pantalla anteriores, la herramienta está escaneando diferentes puertos y está mostrando los abiertos a medida que avanza el escaneo.

Al final del escaneo, la herramienta nos dará un resumen de los puertos abiertos descubiertos.

En este caso, el escáner mostró lo siguiente:



Hay muchas otras características y opciones para explorar dentro de esta herramienta.

¿Qué calificación le asigno?

Esta es una herramienta útil que un investigador de seguridad puede agregar a su caja de herramientas. También ofrece interesantes funciones relacionadas con la red. Me gusta la característica de fuga de DNS.

La característica de CMS también es genial. La herramienta es fácil de usar. La mayoría de las funcionalidades funcionan como esperarías. Sin embargo, no me impresionaron los resultados obtenidos cuando seleccioné la opción 1 (recopilar información sobre el sitio web de destino).

Además, si el sitio web está configurado de manera segura para no filtrar/devolver información, la herramienta no nos informa que no encontró nada. Como resultado, esta herramienta obtiene 7 puntos de 10 posibles.

lunes, 25 de mayo de 2020

Ataque Remoto de Contraseñas utilizando THC-Hydra

En los ataques remotos de contraseñas se intenta hacer "login" o registrar el ingreso en un sistema a través de la red. En la fase correspondiente a la captura de información e identificación de vulnerabilidades existen altas probabilidades de haber capturado posibles nombres de usuarios "logins". En esta fase se utilizará esta información para intentar acceder al sistema como un usuario autorizado. THC-Hydra permite realizar un ataque por fuerza bruta de contraseñas contra servicios del sistema de manera remota.

THC-Hydra

Hydra es una herramienta que permite realizar ataques para intentar adivinar las contraseñas, el cual funciona en paralelo con soporte de diversos protocolos. Actualmente soporta Asterisk, Cisco auth, FTP, HTTP, IMAP, MS-SQL, MYSQL, entre muchos otros más. Para HTTP, POP3, IMAP y SMTP, incluye diversos mecanismos de login como Plain y MD5 digest, etc.

THC-Hydra es un código de prueba de concepto (PoC), para proporcionar a los investigadores y consultores en seguridad la posibilidad de mostrar cuan fácilmente se puede obtener acceso no autorizado remoto hacia un sistema.

Al momento realizar el presente escrito, Kali Linux no brinda la versión más reciente de THC-Hydra, por lo tanto se procede a descargar y compilar la versión más reciente desde la sitio web del proyecto.


# wget http://www.thc.org/releases/hydra-8.0.tar.gz





Descomprimir y desempaquetar el archivo descargado.


# tar xzvf hydra-8.0.tar.gz




Se configura, compila e instala hydra.


# ./configure


# make


# make install





Para las siguiente prácticas se utilizará una máquina virtual con Kali Linux y otra máquina virtual con Metasploitable2.

Mencionar un directorio importante en Kali Linux “/usr/share/wordlists”, donde se incluyen referencias a listas de palabras incluidas en otras herramientas, como metasploit, sqlmap, w3af, etc.



El directorio de nombre “metasploit” corresponde a Metasploit Framework, en el cual se incluyen diversos archivos conteniendo listas de palabras de usuarios y contraseñas. “/usr/share/metasploit-framework/data/wordlists”.



Se ejecuta THC-Hydra con la opción “-L” la cual permite definir un archivo conteniendo una lista de palabras de posibles usuarios del sistema. La opción “-P” define un archivo conteniendo una lista de palabras de posibles contraseñas para la lista de usuarios definidos con la opción “-L”. La opción "-t" define el número de conexiones en paralelo por objetivo, en este caso tres conexiones. En la parte final se define el texto “postgres” el cual es el nombre del servicio a atacar.


# hydra -t 3 -V -L /usr/share/metasploit-framework/data/wordlists/postgres_default_user.txt -P /usr/share/metasploit-framework/data/wordlists/postgres_default_pass.txt 192.168.0.16 postgres





En la siguiente práctica se utiliza la opción “-l”, la cual define un único “usuario” contra el cual se probarán todas las contraseñas contenidas en el archivo definido con la opción “-P”. Anotar que en este caso, una vez encontrada la contraseña para el usuario “root” el proceso culmina. En esta oportunidad se está acatando el servicio ssh.


# hydra -t 3 -V -l root -P /usr/share/wordlists/500-worst-passwords.txt 192.168.0.16 ssh





Una de las funcionalidades básicas pero en ciertos escenarios muy efectiva, es la definida utilizando la opción “-e”. Esta opción tiene tres parámetros, “s” para intentar el mismo login como contraseña, “n” para intentar una contraseña vacía, y “r” para invertir el login y utilizarlo como contraseña.


# hydra -t 3 -e nsr -V -L /usr/share/metasploit-framework/data/wordlists/unix_users.txt 192.168.0.16 ssh





Adicionalmente hydra tiene un modo de Fuerza Bruta definida utilizando la opción “-x”. En esta práctica se generarán contraseñas en minúsculas con una longitud mínima de 1 caracter y una longitud máxima de 3 caracteres. Además se define el ataque de un único usuario contra el servicio ftp.


# hydra -t 3 -l user -x 3:5:a -V 192.168.0.16 ftp





Los ataques remotos de contraseñas generan tráfico que puede activar los mecanismos de seguridad implementadas en los objetivos en evaluación. Una manera de evitar esto es reducir el número de pruebas o intentos a realizar, utilizando nombres de usuarios de los cuales se tenga una alta certeza de su existencia. Se sugiere también definir un tiempo considerable entre cada prueba a realizar. Además de utilizar listas personalizadas de nombres de usuarios y sus probables contraseñas generadas de la información capturada desde el objetivo de evaluación.

domingo, 24 de mayo de 2020

Como instalar y usar la herramienta John The Ripper

La mítica herramienta John the Ripper es conocida por la gran mayoría de administradores de sistemas, responsables de seguridad, hackers y crackers. Aunque a primera vista sea un programa que será utilizado con fines maliciosos o como herramienta de cracking, su uso puede ser muy útil en el ámbito de la administración de sistemas y seguridad para asegurarnos de que las contraseñas utilizadas en los sistemas cumplen con los requisitos establecidos. Para esto como bien sabréis, hay otros medios proactivos en lugar de reactivos, como por ejemplo establecer políticas de seguridad para las contraseñas con el módulo PAM (Linux Pluggable Authentication Modules) del cual prepararé un artículo en los próximos días.tope

John the Ripper en su faceta mas básica es una herramienta criptográfica que a través de la fuerza bruta y ataques de diccionario intenta descifrar contraseñas, entre sus cualidades destaca la capacidad de romper algoritmos de cifrado y hash como el DES, SHA-1, MD5, Blowfish… También permite trabajar con add-ons o módulos externos como MD4, LDAP o MySQL entre otros.

Instalación de John the Ripper

La instalación es tan sencilla como instalar la herramienta a través de los repositorios:

Debian y Ubuntu

root@antrax:~# apt-get install john

CentOS, RHEL, Fedora, Scientific Linux

John The Ripper no está disponible en los repositorios oficiales así que tendremos que hacer uso de un repositorio de terceros o bajar directamente el RPM de uno de estos repos. En este caso instalamos el repositorio RepoForge
root@antrax:~# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
root@antrax:~# yum install rpmforge-release-0.5.3-1.el6.rf.i686.rpm 
root@antrax:~# yum install john

Instalación manual compilando las fuentes

root@antrax:~# wget http://www.openwall.com/john/j/john-1.8.0.tar.gz
root@antrax:~# tar -xzvf john-1.8.0.tar.gz
root@antrax:~# cd src 
root@antrax:~# make
root@antrax:~# make clean SYSTEM
root@antrax:~# make clean generic
root@antrax:~# cd ../run
root@antrax:~# ./john --test

Cómo utilizar John The Ripper:

El uso más básico de John The Ripper es el siguiente; se ejecuta el comando «john» especificando un fichero passwd sobre el cual comenzar el ataque de diccionario y fuerza bruta. Podemos hacer una copia del fichero «/etc/passwd» del sistema y trabajar sobre esa copia:

Nota: Los usuario de CentOS y derivados pueden recibir el siguiente error al ejecutar el comando:

root@antrax:~# john  /var/tmp/passwd 
Created directory: /root/.john
fopen: $JOHN/dynamic.conf: No such file or directory

La solución es comentar la siguiente línea del fichero de configuración de John The Ripper:

root@antrax:~# vi /etc/john.conf
root@antrax:~# Dynamic ($dynamic_n$) scripting code, in an external file
root@antrax:~# also shows/tests that .include  works the same as .include "$JOHN/file"
root@antrax:~# .include 

Esta sería entonces la ejecución básica:

root@antrax:~# john  /var/tmp/passwd 
No password hashes loaded (see FAQ)

¿Por qué aparece el mensaje «No password hashes loaded«? Aparece debido a que las contraseñas hasheadas, por seguridad, no se almacenan en el archivo /etc/passwd ya que tiene lectura para todo el mundo:

root@antrax:~# ls -l /etc/passwd
-rw-r--r-- 1 root root 1453 Sep 14 15:03 /etc/passwd

Se almacenan en el archivo /etc/shadow, el cual está protegido para que sólo root pueda leerlo:

root@antrax:~# ls -l /etc/shadow
---------- 1 root root 889 Sep 14 15:03 /etc/shadow

Así pues debemos copiar también el archivo /etc/shadow a la ruta temporal para procesarlo junto al passwd:

root@antrax:~# cp -p /etc/shadow /var/tmp

Ahora ejecutamos el comando «unshadow» que combinará ambos archivos en uno, que será el que
procesemos con john:

root@antrax:~# unshadow /var/tmp/passwd /var/tmp/shadow > /var/tmp/mypasswd

Así que al fin y al cabo podríamos habernos ahorrado los pasos anteriores y ejecutar directamente (quería que vierais lo que pasaba de todos modos):

root@antrax:~# unshadow /etc/passwd /etc/shadow > /var/tmp/mypasswd

Ahora sí que sí, ejecutamos john. Al ser un ataque de diccionario y fuerza bruta es completamente normal que la CPU se ponga prácticamente al 100%:

Tasks: 106 total,   2 running, 104 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.3%us,  5.9%sy,  2.6%ni, 87.7%id,  0.8%wa,  0.1%hi,  0.6%si,  0.0%st
Mem:    768756k total,   219004k used,   549752k free,    10364k buffers
Swap:   204792k total,        0k used,   204792k free,   146688k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                
 1552 root      39  19  9116 3172 1684 R 93.4  0.4   0:47.80 john

Mientras se estará ejecutando john en primer plano:

root@antrax:~# john /var/tmp/mypasswd 
Loaded 1 password hash (generic crypt(3) [?/32])

El resultado irá apareciendo por pantalla y también quedará almacenado en nuestra home de usuario, concretamente en el archivo $JOHN/john.pot. Ojo, este archivo no es legible, hay que usar un comando para procesarlo:

root@antrax:~# ls -l ~/.john/john.pot 
-rw------- 1 root root 0 Oct  4 17:24 /root/.john/john.pot

En esa misma ruta está el log con todas las operaciones que la herramienta va realizando:

root@antrax:~# head -10 ~/.john/john.log 
0:00:00:00 Starting a new session
0:00:00:00 Loaded a total of 1 password hash
0:00:00:00 - Hash type: generic crypt(3) (lengths up to 72)
0:00:00:00 - Algorithm: ?/32
0:00:00:00 - Candidate passwords will be buffered and tried in chunks of 96
0:00:00:00 - Configured to use otherwise idle processor cycles only
0:00:00:00 Proceeding with "single crack" mode
0:00:00:00 - 1081 preprocessed word mangling rules
0:00:00:00 - Allocated 1 buffer of 96 candidate passwords
0:00:00:00 - Rule #1: ':' accepted as ''

En mi ejecución he puesto varias contraseñas extremadamente obvias y se puede ver como las va sacando. Contraseña «1234» para el usuario «pruebas» y «test» para el usuario «test»:

root@antrax:~# john /var/tmp/mypasswd 
Loaded 3 password hashes with 3 different salts (generic crypt(3) [?/32])
test             (test)
1234             (pruebas)

Para visualizar las contraseñas que ha ido sacando para mi archivo mypasswd usamos el parámetro «–show» que parsea el contenido del archivo john.pot que he comentado antes:

root@antrax:~# john --show /var/tmp/mypasswd
test:test:504:505::/home/test:/bin/bash
pruebas:1234:505:506::/home/pruebas:/bin/bash

2 password hash cracked, 1 left

Quizás nos interese ver los usuarios root (con UID 0) y que pertenezcan a grupos de super-usuario de los cuales se ha averiguado la clave:

root@antrax:~# john --show --users=0 /var/tmp/mypasswd
root@antrax:~# john --show --groups=0,1 /var/tmp/mypasswd

También podemos utilizar listas de palabras para los ataques de diccionario externas cargandolas con el parámetro «–wordlist»:

root@antrax:~# john --wordlist=diccionario.lst --rules /var/tmp/mypasswd

Por supuesto el proceso puede ser ejecutado en segundo plano:

root@antrax:~# john /var/tmp/mypasswd &
root@antrax:~# jobs
[1]+  Running                 john /var/tmp/mypasswd &

Para ver el estado del proceso, ejecutamos john con el parámetro «–status», que muestra el número de contraseñas conseguidas, el tiempo de ejecución y porcentaje completado:

root@antrax:~# john --status
guesses: 2  time: 0:00:03:40 4.3% (2)  c/s: 20.60

Finalmente, si tenemos tiempo y CPU para ejecutar el password cracking, podemos hacer uso del parámetro «–incremental». Es el modo más potente que tiene John The Ripper para sacar las contraseñas, eso sí, ya podéis ir a dar un paseo porque es el más costoso ya que efectua todas las comprobaciones posibles para sacar las contraseñas:

root@antrax:~# john --incremental /var/tmp/mypasswd

Hay muchas más opciones y parámetros de utilización, podéis ejecutar el comando «john» sin parámetros para verlos y probar vosotros mismos diferentes combinaciones:

root@antrax:~# john
John the Ripper password cracker, ver: 1.7.9-jumbo-5 [linux-x86-sse2]
Copyright (c) 1996-2011 by Solar Designer and others
Homepage: http://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
--config=FILE             use FILE instead of john.conf or john.ini
--single[=SECTION]        "single crack" mode
--wordlist=FILE --stdin   wordlist mode, read words from FILE or stdin
                --pipe    like --stdin, but bulk reads, and allows rules
--encoding=NAME           the input data is in a 'non-standard' character.
                          encoding. NAME = utf-8, koi8-r, and others. For a
                          full list, use --encoding=LIST
--rules[=SECTION]         enable word mangling rules for wordlist mode
--incremental[=MODE]      "incremental" mode [using section MODE]
--markov[=LEVEL[:opts]]   "Markov" mode (see documentation)
--external=MODE           external mode or word filter
--stdout[=LENGTH]         just output candidate passwords [cut at LENGTH]
--restore[=NAME]          restore an interrupted session [called NAME]
--session=NAME            give a new session the NAME
--status[=NAME]           print status of a session [called NAME]
--make-charset=FILE       make a charset file. It will be overwritten
--show[=LEFT]             show cracked passwords [if =LEFT, then uncracked]
--test[=TIME]             run tests and benchmarks for TIME seconds each
--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only
--groups=[-]GID[,..]      load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..]    load users with[out] this (these) shell(s) only
--salts=[-]COUNT[:MAX]    load salts with[out] COUNT [to MAX] hashes
--pot=NAME                pot file to use
--format=NAME             force hash type NAME: des/bsdi/md5/bf/afs/lm/
                          dynamic_n/bfegg/dmd5/dominosec/epi/hdaa/ipb2/krb4/
                          krb5/mschapv2/mysql-fast/mysql/netlm/netlmv2/netntlm/
                          netntlmv2/nethalflm/md5ns/nt/phps/po/xsha/crc32/
                          hmac-md5/lotus5/md4-gen/mediawiki/mscash/mscash2/
                          mskrb5/mssql/mssql05/mysql-sha1/nsldap/nt2/oracle11/
                          oracle/phpass-md5/pix-md5/pkzip/raw-md4/raw-md5thick/
                          raw-md5/raw-sha1/raw-sha/raw-md5u/salted-sha1/sapb/
                          sapg/sha1-gen/raw-sha224/raw-sha256/raw-sha384/
                          raw-sha512/xsha512/hmailserver/sybasease/crypt/trip/
                          ssh/pdf/rar/zip/dummy
--subformat=LIST          get a listing of all 'dynamic_n' formats
--save-memory=LEVEL       enable memory saving, at LEVEL 1..3
--mem-file-size=SIZE      size threshold for wordlist preload (default 5 MB)
--field-separator-char=C  use 'C' instead of the ':' in input and pot files
--fix-state-delay=N       performance tweak, see documentation
--nolog                   disables creation and writing to john.log file
--crack-status            emit a status line whenever a password is cracked
--plugin=NAME[,..]        load this (these) dynamic plugin(s)

También se pueden establecer configuraciones personalizadas en el archivo de configuración /etc/john.conf, en todo caso serían configuraciones avanzadas pues para un uso básico de la herramienta con lo que hemos visto en esta entrada es más que suficiente.






Etiquetas:

jueves, 21 de mayo de 2020

¿Qué es el anti-DDoS?

Con el crecimiento exponencial del volumen de datos en la red, los ataques por denegación de servicio distribuidos (DDoS) son cada vez más frecuentes.

Thumbnail

Un ataque DDoS tiene como objetivo inhabilitar un servidor, un servicio o una infraestructura. Existen diversas formas de ataque DDoS: por saturación del ancho de banda del servidor para dejarlo inaccesible, o por agotamiento de los recursos del sistema de la máquina, impidiendo así que esta responda al tráfico legítimo.








Thumbnail
























Durante un ataque DDoS, se envían simultáneamente múltiples solicitudes desde distintos puntos de la red. La intensidad de este «fuego cruzado» compromete la estabilidad, y, en ocasiones, la disponibilidad del servicio.

OVH ha creado el anti-DDoS para hacer frente a estos ataques por denegación de servicio distribuidos. Todos nuestros servicios incluyen una solución de mitigación basada en una tecnología exclusiva que combina tres técnicas para:
  • analizar de forma rápida todos los paquetes en tiempo real,
  • desviar el tráfico de entrada al servidor,
  • y separar los elementos ilegítimos del resto, dejando pasar el tráfico legítimo.









Thumbnail
















__________________________________________________________________________




Desarrollo de un ataque DDoS:

1-.El servidor está operativo enviando y recibiendo paquetes normalmente.

2-.El ataque DDoS se produce por la sobrecarga del ancho de banda o por el agotamiento de los recursos del sistema.

3-.La red se satura, por lo que el servidor no puede procesar los paquetes legítimos entre la masa de información entrante.

martes, 19 de mayo de 2020

Ghidra: Primer análisis con la herramienta de Ingeniería Inversa “cortesía” de la National Security Agency

En el mes de enero ya se comentaba en todo Internet que la NSA (National Security Agency) planeaba liberar una herramienta para realizar trabajos de Ingeniería Inversa (Reverse Engineering) llamada Ghidra. Ha sido ya durante el mes de marzo cuando al fin ha visto la luz, y en el mundo de la ciberseguridad se habla mucho hoy sobre ella. Es por eso que nos hemos decidido a probarla y ver qué tal funciona.

Figura 1: Ghidra: Primer análisis con la herramienta de Ingeniería Inversa
“cortesía” de la National Security Agency

Antes de probar la herramienta vamos a dejar algunas preguntas con sus respuestas, para las dudas que puedan surgir.
  • Qué es Ghidra: Una herramienta desarrollada en Java, y que ha sido usada durante más de 10 años por la NSA para temas de ingeniería inversa.
  • Dónde ver el código fuente de Ghidra: Aún no se ha hecho público el código, pero según vemos en su GitHub pasará a ser un proyecto Open Source.
Figura 2: Ghidra, una herramienta de Ingeniería inversa “cortesía” de la NSA
  • Qué requisitos tiene Ghidra: Todo ello viene recogido en su documento “Ghidra Installation guide”, pero aquí lo dejamos listado:
- Sistema Operativo de 64 bits (Linux, macOS o Windows)
- 4GB Ram y 1GB de almacenamiento
- Java 11 Runtime and Development Kit (JDK)
  • Extensibilidad: Sí, es extensible. Podemos crear nuestro código para Ghidra y extender su funcionalidad, en la guía de instalación lo tienes todo. Además, permite la integración con herramientas como IDAPro o Eclipse.
Un prueba de uso de Ghidra

Una vez tengamos todo listo, podemos pasar a la prueba de concepto, y ver la herramienta en funcionamiento. Cualquier persona que se haya dedicado al reversing se sentirá cómodo trabajando con la aplicación, probablemente te resulte familiar a otros entornos como IDA.

Figura 3: Nuevo proyecto en Ghidra

Aquí no vamos a ver todas las opciones ya que no pretendemos entrar en muchos detalles. Vamos a ver por encima la herramienta, para os podáis hacer una idea de su potencial y comenzar a utilizar.

Para usar Ghidra, lo primero que tenemos que hacer es crear un nuevo proyecto, que puede de ser de dos tipos, compartido - para trabajar con más personas - o no compartido, como se ve en la Figura 3.

Figura 4: Creando un proyecto de prueba con Ghidra

Cuando demos a Next, tendremos que elegir la ruta donde se creará el proyecto, y el nombre que le queremos dar. Nos saldrá el proyecto activo y ya podremos elegir un binario con el que trabajar, podemos hacer uso de “Drag & Drop”, aquí vamos a usar la calculadora para la prueba, como se ve en la Figura 4.

En Format en el menú de la Figura 4 se puede elegir “Raw” y seleccionar el lenguaje por nosotros mismos. Si le das a Options, podrás marcar o desmarcar diferentes acciones, como por ejemplo seleccionar si quieres que cargue librerías externas (por defecto desmarcada). Cuando le demos al OK, veremos como empieza a importar el archivo tal y como se ve en la Figura 5.

Figura 5: Importando los binarios del proyecto

Al terminar nos dará un resumen del fichero cargado. En el apartado que pone Additional Information se puede comprobar si se cargan correctamente las librerías o no se encuentran. En este caso es un archivo de sistema operativo Microsoft Windows con librerías en formato DLL (Dynamic-Link Library).

Figura 6: Análisis de los binarios del proyecto

Una vez revisada la información, damos a OK y veremos nuestro archivo binario cargado. Como en esta ocasión se ha elegido cargar librerías externas, veremos diferentes DLLs. Ahora, como siguiente fase de la prueba, nos vamos a centrar en el archivo “calc.exe” y pasamos a correr sobre él una herramienta llamada CodeBrowser.

Figura 7: Ejecución de herramientas de análisis sobre Calc.exe

Para lanzar CodeBrowser se puede arrastrar el binario a la "Cabeza de dragón verde", o en el menú Tools > Run Tool > CodeBrowser, y seleccionando el archivo en File > Open. Nos saltará un aviso, donde pone que no se ha analizado aún para saber si queremos hacerlo ahora. En esete caso decimos que sí. Las opciones del analizador las podemos dejar por defecto o modificarlas a nuestro gusto.

Figura 8: Opciones del analizador de código

El análisis, como es lógico tardará dependiendo de la aplicación a analizar. En la parte izquierda veremos la estructura del programa (Program Trees), navegación por el código (Symbol Tree), donde podremos buscar por palabras y por último el tipo de datos (Data Type Manager).

Figura 9: Resultados del análisis realizado

En la parte central se encuentra el código en ensamblador, mientras que en la parte derecha de la ventana se encuentra el código decompilado y en la parte inferior tienes la consola para ejecutar y ver logs.

PoC en vídeo

Para ver mejor el funcionamiento de la herramienta, se ha grabado un vídeo siguiendo los pasos vistos anteriormente.

Figura 10: PoC: Primer uso de Ghidra

Hasta aquí llega la pequeña prueba de concepto que hemos hecho a Ghidra. ¿Vosotros qué opináis de la herramienta? Ahora ya puedes empezar a explorarla tú. Y usarla para probar muchas de las técnicas que se explican en el libro de Linux Exploiting donde se ve cómo reversear un binario y explotarlo. Ahora puedes probar con Ghidra. ¡Hasta pronto!

domingo, 17 de mayo de 2020

21 SITIOS PARA PRACTICAR SUS HABILIDADES DE HACKING Y CIBERSEGURIDAD

Servicios y soluciones de ciberseguridad se encuentran en tan alta demanda en este momento. A medida que el mundial siga convirtiendo todo en una aplicación y conectando incluso los dispositivos más básicos de internet, la demanda sólo va a crecer, por lo que no es de extrañar que todos quieran aprender hacking estos días.

Sin embargo, casi todos los días nos encontramos con un mensaje en el foro en el que alguien está pidiendo a donde deben empezar a aprender hacking o la forma de practicar hacking. Hemos recopilado esta lista de algunos de los mejores sitios de ciberseguridad, seguridad perimetral y hacking acuerdo a curso de ciberseguridad que esperamos sea un valioso recurso para los que se preguntan cómo pueden construir y practicar su conjunto de habilidades de hacking.

1. CTF365

En CTF365 los usuarios construyen y defienden sus propios servidores con soluciones de ciberseguridad, mientras que lanzan ataques a los servidores de otros usuarios. El entorno de formación CTF365 está diseñado para profesionales de seguridad perimetral que están interesados en el curso de ciberseguridad y formación de sus habilidades ofensivas o sysadmins interesados en mejorar sus habilidades defensivas. Si usted es un principiante a infosec, puede registrarse para obtener una cuenta gratuita para principiantes y empezar a probar con algunos servidores vulnerables pre-configurados.

CTF365

2. OverTheWire

OverTheWire está diseñado para personas de cualquier nivel de experiencia con soluciones de ciberseguridad para aprender y practicar conceptos de curso de ciberseguridad. Los principiantes absolutos van a querer comenzar en los retos del Bandit, ya que son los bloques de construcción que utilizará para completar otros retos.

CTF365

3. Hacking-Lab

Hacking-Lab ofrece los desafíos del CTF (Desafío Europea para la Seguridad Cibernética), sino que también alberga desafíos en marcha para su plataforma que cualquiera puede participar. Según expertos de soluciones de ciberseguridad, sólo es necesario registrarse con cuenta gratuita, configurar vpn y comenzar a explorar los desafíos que ofrecen.

CTF365
4. pwnable.kr

pwnable.kr se centra en los retos ” pwn”, similar a CTF, que requieren encontrar, leer y enviar archivos de “bandera” que corresponden a cada desafío. Debes usar algún tipo de programación, ingeniería inversa o habilidad explotación para acceder al contenido de los archivos antes de estar en condiciones de presentar las soluciones de ciberseguridad. Dividen el reto en 4 niveles de habilidades de curso de ciberseguridad: Toddler’s Bottle, Rookiss, Grotesque and Hacker’s Secret.

CTF365

5. IO

IO es un juego de guerra de los creadores de netgarage.org, un proyecto comunitario, donde personas afines comparten conocimientos acerca del curso de ciberseguridad, seguridad perimetral, la IAVR y mucho más. Han creado 3 versiones, IO, IO64 y IOarm, con IO que es el más maduro. Conecte a IO a través de SSH y puedes comenzar el hackeo en sus desafíos.

CTF365

6. Smash The Stack

Smash The Stack se compone de 7 diferentes juegos de guerra contra soluciones de ciberseguridad – Amateria, Apfel, Blackbox, Blowfish, CTF logic y Tux. Cada juegeo tiene una variedad de desafíos que van desde las vulnerabilidades estándar para retos de ingeniería inversa de malware.

CTF365

7. Microcorruption

Microcorruption es un CTF de seguridad incorporado donde usted tiene que hacer ingeniería inversa a dispositivos Lockitall de tipo candado electrónico. Según expertos de curso de ciberseguridad y seguridad perimetral en el camino usted aprenderá un poco de montaje, cómo utilizar un depurador, cómo desbloquear en un solo paso el código de bloqueo, establecer puntos de interrupción, y examinar la memoria, todo ello en un intento de robar los bonos al portador de los almacenes.

CTF365

8. reversing.kr

reversing.kr cuenta con 26 desafíos para poner a prueba sus capacidades de ingeniería inversa y soluciones de ciberseguridad. El sitio no ha sido actualizado desde finales de 2012, pero los desafíos aún están disponibles y son valiosos recursos de aprendizaje.

CTF365

9. HackThissite

HackThissite es un sitio libre para probar juegos de guerra y ampliar sus habilidades de hacking y seguridad perimetral. Cuenta con numerosas misiones de hacking contra soluciones de ciberseguridad a través de múltiples categorías, incluyendo básico, realista, aplicación, programación, phreaking teléfono, JavaScript, forense, Stego y misiones de IRC.

CTF365

10. W3Challs

W3Challs es una plataforma de curso de ciberseguridad con numerosos retos a través de diferentes categorías, incluyendo hacking, cracking, juegos de guerra, forense, Criptografía, esteganografía y programación. Según expertos de seguridad perimetral, el objetivo de la plataforma es proporcionar retos realistas, no simulaciones y los puntos se otorgan en base a la dificultad del reto (fácil, medio, difícil). Hay un foro de seguridad perimetral donde se puede discutir y atravesar los desafíos con otros miembros.

CTF365

11. pwn0

pwn0 es la VPN donde (casi) todo pasa. Según profesor de curso de ciberseguridad y seguridad perimetral está enfocado a Ir en contra de pwn0bots u otros usuarios y sumar puntos mediante la obtención de la raíz en otros sistemas.

CTF365
12. Exploit Exercises

Exploit Exercises ofrece una variedad de máquinas virtuales, la documentación y los desafíos que se pueden utilizar para aprender sobre una variedad de temas curso de ciberseguridad y seguridad perimetral como escalada de privilegios, análisis de vulnerabilidad, explotar el desarrollo, depuración, ingeniería inversa, y las soluciones de seguridad cibernética en general.

CTF365

13. RingZer0 Team Online CTF

RingZer0 Team Online CTF ofrece un montón de desafíos, alrededor de 234, que pondrá a prueba sus habilidades de hacker a través de múltiples categorías, incluyendo la criptografía, Escapar de la cárcel, análisis de malware, inyección SQL, codificación Shell y más. Según profesor de curso de ciberseguridad después de completar con éxito un reto, puede escribir hasta su solución y enviarlo al RingZer0team. Si se acepta su escritura, usted ganará RingZer0Gold que puede ser intercambiado por consejos durante los retos futuros.

CTF365

14. Hellbound Hackers

Los hackers hellbound ofrece tradicionales desafíos de explotación, pero también ofrecen algunos de los retos que otros no tienen, como web y parcheo de aplicaciones y desafíos cronometrados. Acuerdo a curso de ciberseguridad y seguridad perimetral en los retos web y parcheo de aplicaciones tienen que evaluar un pequeño fragmento de código, la identificación de la código explotable y sugerir el código de parche.

CTF365

15. Try2Hack

Try2Hack proporciona retos orientados a las soluciones de ciberseguridad y seguridad perimetral para su entretenimiento y es uno de los sitios más antiguos de desafíos que aun esta alrededor. Los desafíos son diversos y se hacen progresivamente más difíciles.

CTF365

16. Hack.me

Hack.me es una gran colección de aplicaciones web vulnerables para practicar sus habilidades de hacker ofensivos y seguridad perimetral. Todas las aplicaciones web vulnerables son aportadas por la comunidad y cada uno se puede ejecutar en un entorno limitado de seguridad aislado.

CTF365

17. HackThis !!

HackThis !!Se compone de más de 50 niveles de hacking y seguridad perimetral; cada uno tiene un valor de un número determinado de puntos en función de su nivel de dificultad.

CTF365

18. Enigma Group

Enigma Group cuenta con más de 300 desafíos con un enfoque en las Top 10 OWASP vulnerabilidades y curso de ciberseguridad. Ellos cuentan con casi 48.000 miembros activos y albergan desafíos CTF semanales, así como concursos semanales y mensuales de seguridad perimetral.

CTF365

19. Google Gruyere

Google Gruyere muestra cómo vulnerabilidades de las aplicaciones web pueden ser explotadas y cómo defenderse contra estos ataques. Acuerdo a curso de ciberseguridad, usted tendrá la oportunidad de hacer algunas pruebas de intrusión real y realmente explotar una aplicación real con ataques como XSS y XSRF.

CTF365
'
20. Game of Hacks

Game of Hacks te presenta una serie de fragmentos de código, estilo cuestionario de opción múltiple, y se debe identificar la vulnerabilidad del código correcto.CTF365

21. Root Me

Root Me acoge a más de 200 desafíos de hacking, soluciones de ciberseguridad y 50 entornos virtuales que te permiten practicar tus habilidades de hacker a través de una variedad de escenarios.CTF365

Podría aprender más sobre soluciones de ciberseguridad, seguridad perimetral etc durante el curso de ciberseguridad.

 

CLOWN SAW