Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

domingo, 30 de abril de 2017

Nuestra herramienta de hacking Web, ahora con soporte para distribuciones ArchLinux.


WebHack SHL es un conjunto de herramientas desarrollado por Security Hack Labs, para realizar auditorías de seguridad web desde básicas hasta avanzadas, diseñado para sistemas Debian o basados en el,  así como para sistemas ArchLinux y basados  en él. En este post anterior puedes obtener una explicación detallada de su funcionamiento, click aquí.

Instalar WebHackSHL en ArchLinux. 


Abran la Terminal:

Instalar git "si no lo tienes instalado":

~$ sudo pacman -S git


Abrimos la carpeta WebHackSHL:

~$  ls

~$ cd WebHackSHL

~$ python2 webhackshl.py


La herramienta nos actualiza y instalas las dependencias que no tenemos instaladas.


WebHackSHL verifica que el servicio tor esté activado y nos da el menu de opciones: 


#Soporte y contacto.

Sala Riot: https://riot.im/app/#/room/#securityhacklabs:matrix.org
Facebook: https://fb.me/sechacklabs
Twitter: https://twitter.com/Sechacklabs

jueves, 27 de abril de 2017

Instalar OpenVAS en ArchLinux


OpenVAS es un escáner y gestor avanzado de vulnerabilidades de código abierto que le ahorrará mucho tiempo al realizar un análisis y una evaluación de vulnerabilidades. El uso de un escáner de vulnerabilidades actualizado, en la prueba de penetración a menudo ayuda a encontrar vulnerabilidades que se pueden pasar fácilmente por alto durante una evaluación manual. El escáner OpenVAS utiliza más de 47.000 pruebas de vulnerabilidad de red (NVT) a partir de junio de 2016.

Instalar OpenVAS en ArchLinux. Anteriormente explicamos los pasos a seguir para la instalación de ArchLinux, además de como convertir ArchLinux en una distribución de Pentesting

Abrimos la terminal:

$ sudo pacman -S openvas


Le damos a enter para instalar todos por omisión.

Creamos certificados:

# openvas-mkcert

# openvas-mkcert-client -n -i

Descargarnos la base de datos con las amenazas:
# openvas-nvt-sync

# openvas-scapdata-sync

# openvas-certdata-sync


Iniciamos el servicio:

#systemctl start openvas-scanner

Instalando las bases:

#openvasmd --rebuild --progress

crear el usuario de openvas. En este caso de ejemplo, el usuario será admin con password admin que luego cambiare.

# openvasmd --create-user=admin --role=Admin

# openvasmd --user=admin --new-password=admin

Corremos la interfaz web:

# gsad --http-only --listen=127.0.0.1 -p 9392

# openvasmd -p 9390 -a 127.0.0.1

O configuramos el navegador: 127.0.0.1 puerto 9390


Abrimos el navegador colocamos en la barra http://127.0.0.1:9392


Una vez dentro podemos empezar el ataque: podemos ver un botón morado de forma de varita mágica y un buscador donde colocaran la dirección ip o el hostname a realizar el test. 



Si tienes alguna duda, sugerencia o pregunta, déjala en los comentarios y si les gustó siguenos en FacebookTwitter y unete a nuestra charla en Riot.

domingo, 9 de abril de 2017

Bypasseando Cloudflare y detectando el Sistema Operativo, servicios y sus versiones en un servidor Web.


Como la gran mayoría conoce, Cloudflare es un CDN (Content Delivery Network o Red de Distribución de Contenido) gratuito que actúa como un proxy (intermediario) entre los visitantes del sitio y el servidor. Al actuar como un proxy, CloudFlare guarda temporalmente contenido estático del sitio, el cual disminuye el número de peticiones al servidor pero sigue permitiendo a los visitantes el acceso al sitio. CloudFlare tiene servidores proxy localizados alrededor del mundo. Los servidores proxy están localizados cerca de los visitantes, con lo cual estos podrán cargar el sitio más rápido directo de los servidores proxy, Cloudflare es generalmente utilizado para evitar ataques de tipo DDoS o DoS ya que al actuar como intermediario prohibe que el servidor principal sea atacado interponiendo sus proxys durante el ataque. Para realizar una auditoría a cualquier sistema, sitio web, servidor o maquina remota, es indispensable conocer la verdadera identificación (IP) de la maquina, de lo contrario todo lo que hagamos todo será inutil ya que estaría dirigido a otro objetivo que no nos interesa. A continuación explicare las maneras más efectivas y fáciles de Bypassear Cloudflare y seguidamente explicaré la detección de servicios y sus versiones, así como la manera de encontrar y explotar posibles fallos.

NOTA: Durante este post usaré la web https://hispachan.org para realizar la prueba.

* Bypasseando cloudflare.

Es el primer paso que debemos realizar, para ello podemos usar diversas maneras:
Manualmente: Podemos realizarlo mediante la busqueda manual de subdominios y revisando las IP en caso de encontrarse uno, ya que es algo tedioso podemos usar el navegador y un buscador para realizar la busqueda, por ejemplo: site: *.hispachan.org en Google, realizando un ping a cada subdominio encontrado y luego revisando que no pertenezca a cloudflare dicha IP.

Automaticamente (Con hatclud): Hatcloud es una herramienta especializada para realizar la evasión de Cloudflare, escrita en ruby y disponible en Github. Para su instalación basta con descargarla y ejecutar el script usando el comando ruby hatcloud.rb -b $sitioweb, reemplazando sitio web por el deseado, o bien usando el comando pacman -S hatcloud, este ultimo para aquellos que han seguido nuestros post sobre convertir a ArchLinux en una distro de pentesting.


Ahora probamos abriendo la direccion IP "real" que nos arroja el script y vemos que: Usa Nginx 1.11.12!


Usando bruteforce (fierce): Fierce es un script para la enumeración de DNS, el cual puede buscar todos los NS Records para probar tranferencias de zona o Zone Tranfer, realizar ataques de fuerza bruta automaticos y configurados manualmente, entre otras. Está escrito en perl y disponible los repositorios de las principales distribuciones. Se encuentra en los repositorios de la mayoria de distribuciones. Para su instalación lo hacemos desde nuestro gestor de paquetes, o bien usando pacman -S fierce, y su sintaxis básica es la siguiente: fierce.pl -dns $sitioweb, reemplazando el sitio por el deseado. Nota: Si el sistema no reconoce el comando fierce.pl, prueba con fierce.



Como podemos observar, alternativamente a los DNS de Cloudflare, nos arroja otros muy importantes, mail.hispachan.org y smtp.hispachan.org, los cuales apuntan a la misma dirección IP, abrimos esa IP en el navegador y vemos.


Muy bien, todo parece indicar que es la dirección IP real del servidor principal, para asegurarnos podemos probar un pequeño ataque DDoS y verificar si se trata de la dirección real del servidor, para este paso pueden usar la herramienta que deseen de las muchas que existen.





Bien, al parecer si es la dirección del servidor real, ahora probaremos un escaneo con Nmap para ver que podemos encontrar.

[root@SecHackLabs shl]# nmap -sV -T4 -O -v 89.248.171.171

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-09 01:29 -05
NSE: Loaded 40 scripts for scanning.
Initiating Ping Scan at 01:29
Scanning 89.248.171.171 [4 ports]
Completed Ping Scan at 01:29, 0.19s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 01:29
Completed Parallel DNS resolution of 1 host. at 01:29, 0.33s elapsed
Initiating SYN Stealth Scan at 01:29
Scanning mail.hispachan.org (89.248.171.171) [1000 ports]
Discovered open port 993/tcp on 89.248.171.171
Discovered open port 587/tcp on 89.248.171.171
Discovered open port 110/tcp on 89.248.171.171
Discovered open port 80/tcp on 89.248.171.171
Discovered open port 111/tcp on 89.248.171.171
Discovered open port 21/tcp on 89.248.171.171
Discovered open port 53/tcp on 89.248.171.171
Discovered open port 22/tcp on 89.248.171.171
Discovered open port 143/tcp on 89.248.171.171
Discovered open port 3306/tcp on 89.248.171.171
Discovered open port 25/tcp on 89.248.171.171
Discovered open port 995/tcp on 89.248.171.171
Discovered open port 443/tcp on 89.248.171.171
Discovered open port 2222/tcp on 89.248.171.171
Discovered open port 465/tcp on 89.248.171.171
Completed SYN Stealth Scan at 01:29, 7.14s elapsed (1000 total ports)
Initiating Service scan at 01:29
Scanning 15 services on mail.hispachan.org (89.248.171.171)
Completed Service scan at 01:30, 48.70s elapsed (15 services on 1 host)
Initiating OS detection (try #1) against mail.hispachan.org (89.248.171.171)
Retrying OS detection (try #2) against mail.hispachan.org (89.248.171.171)
NSE: Script scanning 89.248.171.171.
Initiating NSE at 01:30
Completed NSE at 01:30, 13.24s elapsed
Initiating NSE at 01:30
Completed NSE at 01:30, 0.35s elapsed
Nmap scan report for mail.hispachan.org (89.248.171.171)
Host is up (0.16s latency).
Not shown: 979 closed ports
PORT     STATE    SERVICE        VERSION
21/tcp   open     ftp            Pure-FTPd
22/tcp   open     ssh            OpenSSH 6.6.1 (protocol 2.0)
25/tcp   open     smtp           Exim smtpd 4.87
53/tcp   open     domain         ISC BIND 9.9.4
80/tcp   open     ssl/http       Apache/2
110/tcp  open     pop3           Dovecot DirectAdmin pop3d
111/tcp  open     rpcbind        2-4 (RPC #100000)
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
143/tcp  open     imap           Dovecot imapd
443/tcp  open     ssl/ssl        Apache httpd (SSL-only mode)
445/tcp  filtered microsoft-ds
465/tcp  open     ssl/smtp       Exim smtpd 4.87
587/tcp  open     smtp           Exim smtpd 4.87
593/tcp  filtered http-rpc-epmap
993/tcp  open     ssl/imap       Dovecot DirectAdmin imapd
995/tcp  open     ssl/pop3       Dovecot DirectAdmin pop3d
2222/tcp open     http           DirectAdmin httpd 1.50.1 (Registered to Ecatel International Network)
3306/tcp open     mysql          MariaDB (unauthorized)
4444/tcp filtered krb524
6129/tcp filtered unknown
Device type: general purpose|storage-misc|firewall|WAP
Running (JUST GUESSING): Linux 4.X|3.X|2.6.X|2.4.X (96%), Synology DiskStation Manager 5.X (87%), WatchGuard Fireware 11.X (87%)
OS CPE: cpe:/o:linux:linux_kernel:4.4 cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:2.6.32 cpe:/o:linux:linux_kernel cpe:/a:synology:diskstation_manager:5.1 cpe:/o:watchguard:fireware:11.8 cpe:/o:linux:linux_kernel:2.4
Aggressive OS guesses: Linux 4.4 (96%), Linux 4.0 (93%), Linux 3.11 - 4.1 (92%), Linux 2.6.32 (92%), Linux 2.6.32 or 3.10 (92%), Linux 3.10 - 3.12 (92%), Linux 2.6.32 - 2.6.35 (90%), Linux 3.13 (90%), Linux 2.6.32 - 2.6.39 (90%), Linux 2.6.32 - 3.0 (89%)
No exact OS matches for host (test conditions non-ideal).
Uptime guess: 2.088 days (since Thu Apr  6 23:23:53 2017)
Network Distance: 14 hops
TCP Sequence Prediction: Difficulty=256 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: Host: b06s25.novogara.com; OS: Red Hat Enterprise Linux 7; CPE: cpe:/o:redhat:enterprise_linux:7

Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 96.57 seconds
           Raw packets sent: 1111 (51.064KB) | Rcvd: 1072 (44.920KB)

Como  podemos observar el equipo usa un sistema GNU/Linux y tiene muchos puertos abiertos, los cuales podemos ir probando cada uno a su gusto en su navegador o realizar un escaneo con nmap a un puerto especifico. Existe un puerto en especial, el 2222 que tiene como descripción DirectAdmin httpd 1.50.1 (Registered to Ecatel International Network), lo abrimos y podemos observar que es un panel Login de Administración!





Este servicio lo provee una compañia con esta pagina web https://www.directadmin.com de hecho podemos realizar un demo en la misma pagina web entrando a https://demo.directadmin.com:2222/ usando las credenciales demo_admin y la passwd demo.



 Ahora regresando a nuestra pagina objetivo, nmap nos arroja que la versión de dicho software es 1.50.1, echemos un vistazo para ver si existen vulnerabilidades disponibles.

Aquí encontramos una, la cual afecta a la mencionada versión. Ver vulnerabilidad.

Como podemos observar, si realizamos un procedimiento correcto podemos hacer las cosas de la manera más sencilla y eficiente, no continuaré con el proceso de explotación ya que estaría convirtiendo esto en un post de estilo black-hat y esa no es nuestra filosofia. Aclaramos que de antes de realizar este procedimiento con la anterior pagina web se pidieron los respectivos permisos. Si tienes alguna duda, sugerencia o pregunta, dejala en los comentarios y si les gustó siguenos en Facebook, Twitter y unete a nuestra charla en Riot.

miércoles, 5 de abril de 2017

Network Mapper, mapeador de redes en ArchLinux


Nmap (Network Mapper, mapeador de redes) es una sofisticada utilidad para la exploración y auditoría de seguridad de redes TCP/IP. Ha sido diseñado para escanear de forma rápida, sigilosa y eficaz tanto equipos individuales como redes de gran tamaño. Es una herramienta gratuita, de código abierto bajo licencia GPL, bien documentada, multiplataforma, disponible para consola, y que ofrece también una interfaz gráfica para facilitar su uso. Está escrita por un hacker conocido como Fyodor, y se beneficia de las aportaciones de una nutrida comunidad de colaboradores. 


sudo pacman -S nmap

La sintaxis de Nmap es la siguiente:

nmap [Tipo(s) de análisis] [Opciones] [Objetivos]

Ejemplo desde la terminal:

$ nmap

Podemos ver un menú de los tipos análisis y opciones.

lunes, 3 de abril de 2017

WordPress Exploit Framework (wpxf), un "Metasploit" para pruebas de penetración a WordPress


WordPress Exploit Framework es una herramienta escrita en Ruby, la cual esta diseñada para el uso y la creación de exploits y modulos que ayudan a realizar pruebas de penetración y ataques a sistemas y sitios web que usan como CMS (Content Management System) WordPress. Wpxf es una herramienta de codigo abierto licenciada bajo GPL y su codigo fuente está disponhible en github.

* Requisitos para ejecutar WordPress Exploit Framework (Wpxf)

Debemos tener instalado Ruby 2.2.6 o posterior en nuestro sistema, para eso vamos a una terminal y escribimos el comando ruby --version y la salida del comando será nuestra versión de ruby.


Otro requisito es tener instalado bundler, si no está instalado lo podemos hacer con el comando gem install bundler && bundle install

* Ejecutando Wpxf

Lo primero que haremos será usar git para clonar la herramienta, ya que la herramienta está en github usamos el comando git clone https://github.com/rastating/wordpress-exploit-framework, seguido esto entramos a la carpeta donde se ha clonado la herramienta y ejecutamos el comando ruby wpxf.rb si tenemos todos los requisitos necesarios nos deberá aparecer esto:


En caso de obtener un error de dependecias de gemas faltantes como colorize, nokogori, mimetypes, etc; lo que debemos hacer es ejecutar gem install bundler && bundle install dentro de la carpeta de descarga de Wpxf. En sistemas Debian asegurate de tener instalados los paquetes build-essential patch ruby-dev zlib1g-dev liblzma-dev.

Nota: Si has seguido nuestros post sobre como convertir ArchLinux en una distribución de Pentesting, solo basta con ejecutar pacman -S wordpress-exploit-framework para realizar la instalación.

* Uso y opciones de Wpxf.

Los  comandos de Wpxf son similares a los de metasploit, con help podemos ver las diferentes opciones para usar, explicaré brevemente cada una de ellas.



* Opciones Generales

back - regresa a la opción inmediatamente anterior.
check - Realiza la comprobación de que el modulo cargado actualmente puede ser usado en el target establecido.
clear - Limpia la pantalla
exit - Finaliza wpxf
gset [opcion] [valor] - Asigna un valor a una variable globalmente la cual es usada para los modulos actuales y futuros con el mismo valor.
gunset [opcion] - Reasignal un valor a una variable que fue modificada con gset.
help - Muestra la ayuda.
info - Muestra información del modulo actual.
quit - Sale de Wpxf.
run - Ejecuta el modulo cargado actualmente.
set [opcion] [valor] - Modifica el valor de una variable para la sesion actual.
search [palabras] - Realiza una busqueda dentro de los modulos de las palabras dadas (Muy util para busquedas especificas de exploits).
show advanced - Muestra opciones avanzadas de configuracion del modulo actual.
show auxiliary  - Muestra los modulos auxiliares disponibles.
show exploits - Muestra los exploits disponibles.
show options - Muestra las opciones de configuración necesarias para ejecutar un modulo (host, path, puerto, etc)
unset [opcion] - Reasigna un valor a una variable modificada con set.
use [modulo/exploit] - Usa el modulo especificado si esta disponible en la ruta especificada.

* Uso y ejecución de modulos.

Diferencia entre los modulos auxiliares y exploit: Un modulo auxiliar no te permite ejecutar payloads en la maquina remota, pero si te permite extraer información, escalar privilegios y realizar ataques tipo DDoS en el target.

Por el contrario los exploits son fragmentos de codigo diseñados especificamente para un tipo de ataque determinado a una vulnerabilidad encontrada, estos necesitan que el usuario especifique un payload, el cual puede ser elegido de acuerdo a lo que necesites, ya sea: ejecutar codigo arbitrario en el target para obtener shells remotas, extraer información y otras cosas que tu desees.



* Payloads disponibles

bind_php - Scrip para obtener una shell remota con wpxf.
custom - Sube y ejecuta un payload que tu hayas creado o descargado.
download_exec - Descarga y ejecuta un archivo remoto.
exec - Ejecuta un comando en la maquina remota
reverse_tcp - Permite establecer una shell usando una conexiónTCP inversa.

Video de instalación y opciones.
  

 


Si les gustó siguenos en Facebook, Twitter y unete a nuestra charla en Riot.