Hacking ético y pentesting

Tema genérico de Seguridad en las Tecnologías de la Información y las Comunicaciones: Ciberguerra, ciberespionaje, ciberdelito, redes sociales.
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Hacking ético y pentesting

Mensaje por vfrbgt »

Buenas me presento. Soy una persona entusiasta en el mundo de la ciberseguridad, y autodidacta en el campo del hacking ético y pentesting.
Este tema lo creo básicamente para escribir posts sobre "Proof of concept" o tutoriales de las técnicas usadas en el pentesting de sistemas, al igual que noticias de fuentes de información públicas encontrados en blogs de seguridad informática. También desarrollos de CTF. Y comparto esta información básicamente por la importancia de la ciberseguridad actualmente en nuestro país y en el mundo.
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Cómo identificar el proceso que está usando un puerto TCP determinado
Seguro que ya os ha pasado, al iniciar un servicio (o una shell }:-)) falla porque hay otro proceso que ya levantó anteriormente el mismo puerto TCP...
Para encontrar rápidamente que proceso está usando el puerto en cuestión lo más fácil y recurrente es usar el comando "netstat" y bueno... vi una breve entrada en la wiki de SAP y siempre está bien tener una chuleta a mano en el blog... :-P
LINUX:

Código: Seleccionar todo

> netstat -nepal|grep 8080
tcp 0 0 :::8080 :::* LISTEN 10404 18906159 7952/java
En este primer ejemplo (Linux) vemos que el proceso con PID 7952 (java) está usando el puerto TCP 8080.
WINDOWS:

Código: Seleccionar todo

> netstat -nao|findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3696
TCP []:8080 []:0 LISTENING 3696
En este ejemplo en Windows, encontramos que el proceso con PID 3696 es el que tiene ocupado el puerto (8080).
También es posible usar en Windows "netstat -ab" que mostrará todos los procesos asociados al puerto. La opción "a" lista todas las conexiones y la opción "b" muestra el ejecutable correspondiente.
AIX:

Código: Seleccionar todo

> netstat -Aan | grep 8000 | grep LISTEN
f1000e000130bbb8 tcp4       0      0  *.8000                *.*                   LISTEN
> rmsock f1000e000130bbb8 tcpcb
The socket 0xf1000e000130b808 is being held by proccess 13893704 (icman).
> ps -ef | grep 13893704
  vmcadm 13893704  9175156   0   Dec 22      -  0:17 icman -attach pf=/usr/sap/VMC/SYS/profile/VMC_DVEBMGS00_is4039
SOLARIS:

Código: Seleccionar todo

> ps -ef| awk '{print $2}'| xargs -I '{}' sh -c 'echo Verifying PID {}; pfiles {} 2>/dev/null|grep "port: 3900"|grep -v grep'
(...)
Verifying PID 3150
Verifying PID 4848
Verifying PID 4891
Verifying PID 7900
   sockname: AF_INET 0.0.0.0  port: 3900
Verifying PID 4831
Verifying PID 23568
Verifying PID 7928
Verifying PID 9662
(...)
> ps -ef|grep 7900|grep -v grep
  qpkadm  7900  7840   0   Jun 21 ?           1:38 ms.sapQPK_DVEBMGS00 pf=/usr/sap/QPK/SYS/profile/QPK_DVEBMGS00_fs4400

El primer comando mostrará la lista con el PID de todos los procesos activos en el sistema. El número de puerto debe ser indicado con el comando "grep".

El PID que está usando el puerto será el inmediatamente anterior a la línea que termina en "port: " ("port: 3900" en el ejemplo anterior).

El segundo comando mostrará la informacion del proceso en sí mismo.
Fuente:http://www.hackplayers.com/2016/08/como ... uerto.html
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Pentesting a la abeja (Parte I)
Buenas hackers! En este CTF vamos a hacer un pentesting a esta maquina de Vulnhub
Es una maquina muy completa que permite realizar un test de intrusión al servidor, además de hacer retos de pentesting web tal como SQLi, XSS, LFI etc...

----------------
bee-box - README
----------------

bee-box is a custom Linux VM pre-installed with bWAPP.

With bee-box you have the opportunity to explore all bWAPP vulnerabilities!
bee-box gives you several ways to hack and deface the bWAPP website.
It's even possible to hack the bee-box to get root access...

This project is part of the ITSEC GAMES project. ITSEC GAMES are a fun approach to IT security education.
IT security, ethical hacking, training and fun... all mixed together.
You can find more about the ITSEC GAMES and bWAPP projects on our blog.

We offer a 2-day comprehensive web security course 'Attacking & Defending Web Apps with bWAPP'.
This course can be scheduled on demand, at your location!
More info: http://goo.gl/ASuPa1 (pdf)

Enjoy!

Cheers

Malik Mesellem
Twitter: @MME_IT



Atención Spoiler!!
Se verá dirbuster para realizar una busqueda mediante fuerza bruta en directorios y archivos del servidor. Existen distintos diccionarios en la carpeta wordlists sobre esta herramienta.
Una vez visto con dirbuster el listado de directorios obtenidos y garantizado un metodo de acceso para poder subir un backdoor, vamos a iniciar el metasploit para comprobar FTP por el puerto 21, y asi un medio de subida al servidor.
Con el usuario anonymous se aprecia que tiene permisos de lectura y escritura, y por tanto que esta habilitado este tipo de usuario en el servidor FTP, muy usado en las organizaciones para acceso publico.
Se crea un backdoor en php, para poder obtener una shell reversa, con msfvenom.
Una vez subido necesitamos tener el exploit multi/handler a la escucha de la conexión inversa o payload creado con msfvenom en php. Por tanto tenemos que elegir el payload que usamos para crear ese rabbit.php
Una vez a la escucha, abrimos el navegador y enviamos una peticion http clickeando el archivo rabbit.php y asi se nos abrira una sesion meterpreter a nivel usuario del servidor.
https://www.youtube.com/watch?v=Pe6BlAaKGN4
Fuente:https://fwhibbit.blogspot.com/2016/08/p ... rte-i.html
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Eventos que no te debes perder [Agosto-Septiembre]
El verano va pasando y pronto en el panorama nacional habrán diferentes eventos de seguridad. Todos estamos recargando pilas y es que lo que viene en este final de año es mucho, así que prepararos. Comenzamos el Tour con la Tomatina CON a finales de Agosto, exactamente el 29 y 30 de Agosto en Buñol. Tendré la ocasión de compartir evento con Josep Albors, Eduardo Sánchez o Rafa Otal. Evento gratuito.
La siguiente parada vuelve a ser Valencia el próximo 9 de Septiembre en Rooted Satellite Valencia. El día 9 impartiré el taller sobre Hacking Ético, mientras que el sábado 10 de Septiembre impartiré una charla denominada "PSBot: No tools, but no problem! With Powershell". En Rooted Valencia habrá investigadores como Alejandro Ramos, Ramón Pinuaga, Jordi Ubach, Elías Grande, Juan Grande o Fernando Perera.
La siguiente parada será Qurtuba CON en Córdoba, el día 17 de Septiembre. Charlas, talleres y networking de la mano de este congreso que llega a su segunda edición. Ponentes del mundo de la seguridad informática, junto a otros ponentes del mundo del derecho y la legalidad juntos en un congreso. Congreso con toque distinto. Tendré la oportunidad de impartir taller junto a Carlos García, "Pokemon Red VS Blue: Can u catch the red team?".

Para finalizar el mes de Septiembre llega una nueva edición de Navaja Negra, uno de los eventos más importantes del panorama nacional. Un evento especial, el cual seguirá siendo diferente por la forma de llevarse a cabo. Aún no tenemos agenda de Navaja Negra, tendremos que esperar a Septiembre.
Como ves hay diferentes eventos, de distintos tipos y para todos los públicos a lo largo del territorio nacional. Si puedes no dudes en pasarte por alguno de ellos y disfrutar de las charlas, talleres y el networking con la gente.
Fuente:http://www.flu-project.com/2016/08/even ... gosto.html
Yo estaré en la QurtubaCON, en los talleres. Os lo recomiendo ;)
Última edición por vfrbgt el 15 Ago 2016 15:01, editado 1 vez en total.
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Un nuevo troyano roba archivos de Microsoft Office
Tenemos la necesidad de hablar de una nueva amenaza que está afectando a los usuarios con sistema operativo Windows en sus equipos. Se trata de un nuevo troyano que se está distribuyendo a través de páginas web hackeadas y correos electrónicos spam buscando recopilar hasta 11 tipos de archivos distintos, pertenecientes en su mayoría a la suite Microsoft Word.
Aug_1st_java.exe es el archivo con el que muchos usuarios se están encontrando en sus equipo y que es el instalador de una amenaza que por el momento posee un ratio bastante bajo detección por parte de las principales herramientas de seguridad existentes.

La primera operación a realizar tras finalizar el proceso de instalación es modificar el registro del sistema operativo Windows para ganar persistencia en el sistema y no ser vulnerable a los reinicios o apagados que se lleven a cabo en el equipo.

Aunque el troyano aún no ha sido bautizado con ningún nombre, los expertos en seguridad sí han conseguido realizar un primer análisis de la amenaza y de su comportamiento. En primer lugar decir que se hace pasar por un proceso relacionado con el navegador Google Chrome para así pasar desapercibido ante la búsqueda de los usuarios de un proceso extraño en el administrador del sistema.

También hay que decir que se estaba difundiendo haciendo uso de un dominio web, habiendo procedido ya el servicio de hosting al cierre y limpieza del mismo. Sin embargo, el servidor de control aún continúa activo y la amenaza buscará distribuirse a través de otro tipo de medios, como por ejemplo unidades USB o carpetas compartidas a través de entornos de red.

Microsoft Office en el punto de mira

Tal y como ya hemos indicado al comienzo, la amenaza busca sobre todo recopilar información de archivos pertenecientes a la suite ofimática Microsoft Office, de ahí que el listado de archivos sea el siguiente: NP, SQL, PDF, RTF, TXT, XLSX, XLS, PPTX, PPT, DOCX y DOC.

Una vez encontrados la finalidad de la amenaza no es otra que enviar estos al servidor remoto ya mencionado con anterioridad.
- See more at: http://www.redeszone.net/2016/08/15/nue ... WnMGn.dpuf
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Pentesting Moodle - Parte I Desde fuera
Buenas compañeros,

Este post inicia una serie de entradas sobre Moodle, sobre el que hice mi trabajo de fin de carrera y quería mostraros un par de detalles que saqué en su día.

En esta primera entrada os voy a mostrar un par de vulnerabilidades web que posee esta plataforma. Para comenzar Moodle es un CMS, que es un gestor de contenidos multimedia que facilita la gestión de contenido dinámico en un servidor web. La verdad es que como todos los demás CMS como Drupal, Wordpress o Joomla, se han publicado numerosas vulnerabilidades durante su desarrollo (https://www.cvedetails.com/product/3590 ... or_id=2105)

Moodle es muy empleado en universidades,centros de estudio y academias, pues se basa en una plataforma web online para la gestión de contenido que facilita la interacción entre profesor y alumnos.

En primer lugar, citar que las pruebas que se van a mostrar se realizarán en entornos controlados y virtuales, por lo que la finalidad de esta entrada es con fines educativas y formativos, no nos hacemos responsables de uso para otro fin.

Las vulnerabilidades que se van a mostrar se corresponden con Moodle 2.6.3 que a pesar de estar desactualizado ( el día que hice la auditoría la última version estable era la 2.7.3), todavía se encuentra muy empleado hoy en día.

Para realizar las pruebas en un entorno seguro os invito a que os instaléis Moodle en un SSOO Linux manualmente (así jugáis!) apoyándoos en la documentación de Moodle (https://docs.moodle.org/26/en/Step-by-s ... for_Ubuntu) aunque también podéis emplear el gestor AMPPS (http://www.ampps.com/downloads) que lo tiene preinstalado y con tan sólo clicar en instalar lo tenéis corriendo...para gustos los colores!

Adquiriendo un enfoque de caja negra, es decir, sin ningún conocimiento del sitio web.

Denegación de servicio (DoS)

Accediendo al típico README.txt que se suele encontrar accesible desde el exterior, se puede observar que muestra rutas interesantes como la existencia de un script llamado cron.php, basado en realizar tareas de limpieza y mantenimiento.

Por lo tanto, como podéis deducir había que probar a entrar a esa ruta a ver si estaba accesible desde el exterior por supuesto... Y efectivamente estaba accesible, pudiendo observar que se ejecuta dicho script y llama la atención que en función de cómo esté de cargado ( número de cursos, alumnos de alto, material subido en la aplicación) el servidor tarda más o menos consumiendo una cantidad de RAM considerable.
Esto me hice pensar como uno de los "malos", ¿ Y si creó un script para realizar N peticiones cada X segundos a la url de tal manera que se ejecute el script constantemente y no paré de consumir memoria RAM?

Antes de lanzar el script, entré dos o tres veces de manera consecutiva y par mi sorpresa...efectivamente "petó" el servidor web quedándose sin memoria y dejar de estar accesible provocando un ataque de denegación de servicio.
Aunque ya se verá más adelante en detalle, adelanto que esta vulnerabilidad se puede corregir en la configuración de Moodle pudiendo evitar el acceso vía web a la url y así evitar la ejecución del script, sin embargo, por defecto no viene seleccionado.

Cabe destacar que esta vulnerabilidad fue reportad en su día al equipo de seguridad de Moodle, teniendo como respuesta:

"Web CLI cron has been disabled by default since 2.9,"

Por lo tanto, le comenté que las versiones anteriores, seguían con esta vulnerabilidad debido a la configuración por defecto...sin embargo, citan:

"There is not a huge risk and cron is designed to be run very frequently anyway "

Lo cual como se ha mostrado anteriormente parece que no es así...


Enumeración de usuarios

Esta vulnerabilidad se basa en identificar posibles nombres de usuarios registrados en la aplicación interaccionando con la lógica de la misma. Esta vulnerabilidad suele encontrarse en un gran números de aplicaciones web.

El proceso de reseteo de contraseña ofrece dos posibilidades para reestablecer la contraseña, ya sea introduciendo el nombre de usuario o bien mediante la dirección de correo con la que se registró el usuario.
Examinando la funcionalidad de la opción de resetear la contraseña mediante nombre de usuario, la aplicación devuelve dos tipos de mensajes en función de si existe una cuenta que emplee el nombre de usuario introducido.

Como prueba de concepto se introducen nombre de típicos de usuarios estándar recién creados: admin, administrador, profesor, profe, alumno,…

A continuación empleando diccionarios del ámbito de cualquier plataforma learning se detecta que el mensaje varía facilitando una enumeración de cuentas válidas en la aplicación a través de sus nombres de usuarios.
De esta manera, se puede conseguir una enumeración de usuarios válido en el sistema. Además si se tiene algún pdf o recurso ofimático accesible desde el exterior, se podrían extraer los metadatos y si hay suerte obtener usuarios, tal que se podría probar la existencia de los mismos.


Como se ha indicado anteriormente, el contenido de esta entrada es para fines educativos y formativos, ¡no seáis malos!

Ante cualquier cosa, comentad en el apartado de comentarios y estaré encantado de responder.

Saludos.

NaxHack5

La mejor defensa es un buen ataque

Fuente:https://fwhibbit.blogspot.com.es/2016/0 ... fuera.html
Blog de hacking ético https://fwhibbit.blogspot.com
intelcendu
Mensajes: 1
Registrado: 08 Nov 2010 23:21

Re: Hacking ético y pentesting

Mensaje por intelcendu »

Pos claro que comparto tu punto de vista sobre la importancia de conocer estás técnicas, gracias por colgar estos interesantes artículos. :wink:
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

intelcendu escribió:Pos claro que comparto tu punto de vista sobre la importancia de conocer estás técnicas, gracias por colgar estos interesantes artículos. :wink:
Gracias por el feedback!
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

MAT: una herramienta para borrar metadatos en múltiples formatos
Cuando haces una foto tú cámara añade por defecto al fichero resultante los datos del modelo del dispositivo y dónde y cuándo se tomó dicha foto; en la mayoría de los documentos ofimáticos (pdf u office) se incluye automáticamente información del autor y la compañía correspondientes... Son los típicos ejemplos de lo que (y ya sabes de lo que estamos hablando) se denomina comúnmente metadatos.

Toda esta información que dejamos (casi siempre de forma inconsciente) en numerosos archivos incluso en Internet, puede exponer nuestra privacidad y es auténtico "oro" para muchos con no demasiadas buenas intenciones. Por eso si vas a subir un archivo y quieres mantener cierto nivel de anonimato puede ser es buena idea limpiar los metadatos antes.

Para ello hoy hablamos de MAT (Metadata Anonymisation Toolkit), una herramienta escrita en Python para limpiar metadatos que fue desarrollada durante el Google Summer of Code de 2011 bajo el paraguas del proyecto Tor y que se incluye por defecto en Tails y en los repositorios de Debian.
Y quizás su característica más interesante es que, a diferencia de otras herramientas como exiftool, es capaz de tratar un gran número de formatos:

Portable Network Graphics (.png)
JPEG (.jpg, .jpeg, …)
TIFF (.tif, tiff, …)
Open Documents (.odt, .odx, .ods, …)
Office OpenXml (.docx, .pptx, .xlsx, …)
Portable Document Fileformat (.pdf)
Tape ARchives (.tar, .tar.bz2, …)
MPEG AUdio (.mp3, .mp2, .mp1, …)
Ogg Vorbis (.ogg, …)
Free Lossless Audio Codec (.flac)
Torrent (.torrent)
Proyecto: https://mat.boum.org/
pd. No obstante si quieres ser totalmente anónimo usa formatos que no contengan metadatos, o mejor, usa texto plano. Aún así ten en cuenta que existen múltiples técnicas de fingerprinting y seguimiento. ¡Se cuidadoso!
Fuente:http://www.hackplayers.com/2016/08/mat- ... orrar.html
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Inyección de comodines SQL en búsquedas de tipo LIKE
A continuación voy a hablar de una vulnerabilidad muy poco conocida y tradicionalmente considerada como de poco riesgo, aunque como vamos a ver en algunas situaciones puede tener un gran impacto.

Esta vulnerabilidad consiste en la posibilidad de inyectar un comodín (wildcard) en el campo de búsqueda del operador LIKE de una sentencia SQL.

OWASP menciona brevemente en sus guías este tipo de inyecciones.

En SQL tenemos 2 tipos de comodines:

% que equivale a cualquier cadena de cero o más caracteres.
_ que equivale a cualquier carácter único.


Una aplicación es vulnerable a este ataque cuando realiza una búsqueda de tipo LIKE con un parámetro recibido del usuario sin filtrar estos 2 comodines.

Por ejemplo si tenemos una aplicación con la siguiente URL:
http://www.ejemplo.com/fruta.php?nombre=manzana

Que muestra un texto extraído de una BBDD mediante una sentencia SQL como la siguiente:
SELECT texto FROM tabla WHERE fruta LIKE ‘$nombre’

En vez de usar la forma simple:
SELECT texto FROM tabla WHERE fruta=‘$nombre’

Aunque la variable $nombre esté saneada para evitar la inyección de SQL (por ejemplo filtrando el carácter comilla simple) sigue siendo posible la inyección de los comodines de búsqueda, de la siguiente forma:
http://www.ejemplo.com/fruta.php?nombre=man%

En una aplicación de este tipo, el poder alterar la lógica de la búsqueda tal vez no sea crítico, pero ¿y si tenemos otra aplicación como la siguiente? (de la que no conocemos ningún nombre de usuario):
http://www.ejemplo.com/userfoto.php?nombre=pepe

Podemos fácilmente hacer lo siguiente para obtener un listado de todos los usuarios disponibles:
http://www.ejemplo.com/userfoto.php?nombre=a%
http://www.ejemplo.com/userfoto.php?nombre=b%
http://www.ejemplo.com/userfoto.php?nombre=c%


Podemos automatizar el proceso mediante un pequeño script que nos vaya sacando los nombres de cada usuario carácter a carácter (a lo película juegos de guerra).

¿En qué situaciones puede ser peligrosa una vulnerabilidad de este tipo?:

En formularios de login. Me he encontrado varias veces esta vulnerabilidad en el campo “usuario” de alguno de estos formularios y menos habitualmente en el campo “contraseña”.
En formularios de recuperación de contraseñas. Puede permitirnos resetear la contraseña de terceros usuarios.
En campos que contienen identificadores de sesión o tokens. Nos podría permitir “robar” tokens o sesiones de otros usuarios.
La inyección del carácter % a veces puede ser problemática, porque suele estar filtrado para evitar ataques de encoding o precisamente porque es decodificado incorrectamente (en este caso podemos probar %25, %2525).

Hace tiempo me encontré una curiosa situación en una aplicación que autenticaba mediante un identificador de sesión que almacenaba en una base de datos y que extraía mediante una búsqueda vulnerable, de esta forma:

http://www.ejemplo.com/admin/privado.ph ... 0123456789

El servidor filtraba el carácter %, pero se permitía el carácter _ de forma que podíamos explotar la vulnerabilidad de la siguiente forma:

http://www.ejemplo.com/admin/privado.ph ... __________

Si queríamos acceder a alguna sesión en concreto solo teníamos que hacer un barrido:

http://www.ejemplo.com/admin/privado.ph ... 0_________
http://www.ejemplo.com/admin/privado.ph ... 1_________
http://www.ejemplo.com/admin/privado.ph ... 2_________


¿Porque algunos programadores son víctimas de un bug tan evidente?

Algunas veces supongo que será por despiste, pero también he detectado que algunos frameworks encapsulan las llamadas SQL de forma transparente para el programador y si internamente usan el operador LIKE, es posible que este ni siquiera lo sepa.

Por ejemplo en Django la siguiente sentencia:
result=Entry.objects.get(headline__contains='Lennon')

Equivale a:
SELECT ... WHERE headline LIKE '%Lennon%'

Lo que puede derivar fácilmente en múltiples vulnerabilidades si el desarrollador no es cuidadoso.

O también este otro bug del mismo estilo en el módulo Propel de Symfony.
Fuente:http://www.pentester.es/2016/02/like-sqli.html
Blog de hacking ético https://fwhibbit.blogspot.com
Responder

Volver a “STIC”