¿Cómo aprender las pruebas de penetración en el hogar?

47

Estoy interesado en aprender hackeo ético o pruebas de penetración para avanzar hacia una carrera en esa dirección.

Tengo un gran conocimiento de linux y unix, teoría y práctica básicas de la computadora y conocimientos básicos de programación (arrays, métodos, bucles).

He mirado gruyere y webgoat, sin embargo, encuentro que estos son demasiado avanzados para mí. Piden resolver un problema sin explicar suficientemente el problema, por qué se puede utilizar para atacar y dar ejemplos.

¿Hay cursos o programas interactivos, gratuitos, que pueda hacer desde casa y que pueda enseñarme esta información?

Un bono sería dar lecciones de programación útiles en esta área, por ejemplo, enseñar JavaScript para demostrar ataques y manipulaciones de cookies.

    
pregunta Cyrus 06.02.2012 - 22:50
fuente

14 respuestas

50

Las opciones gratuitas son pocas, pero hay toneladas de videos y tutoriales sobre vectores de ataque específicos o productos / herramientas. NO te harán un probador de penetración, pero son recursos de aprendizaje gratuitos.

Algunas opciones decentes para comenzar:

Para la práctica, hay una serie de recursos:

  • VM Metasploitable (y otras VM a propósito vulnerables)
  • DVWA
  • Mutillidae
  • WebGoat
  • Vulnhub
  • hack.me

Realice una búsqueda en este sitio para otras personas que ofrecen opiniones sobre recursos de aprendizaje gratuitos. Pero, la única manera de aprender es ensuciarse las manos.

¡Sigue trabajando en ello y sigue haciendo preguntas!

    
respondido por el schroeder 07.02.2012 - 00:42
fuente
8

Además de los enlaces a herramientas, aplicaciones de práctica vulnerables, etc., el Estándar de Ejecución de Pruebas de Penetración pretende ser el estándar definitivo sobre cómo enfocar las pruebas: enlace

    
respondido por el Rory Alsop 07.02.2012 - 08:39
fuente
6

Puedes ponerlos en una máquina virtual usando VM Player y jugar.

Damn Vulnerable Linux ( enlace )

De-Ice / Hackerdemia ( enlace )

Para aprender, me gustaría ver diferentes metodologías de pruebas de penetración como el Manual de Metodología de Pruebas de Seguridad de Código Abierto (http://isecom.securenetltd.com/osstmm.en.2.1.pdf). Estos comúnmente dan una lista de cosas para verificar. Luego puede tomar estas listas de verificación y consultar varios tutoriales en la web sobre cómo derrotar a las distintas tecnologías.

Uno de los mejores libros que he leído recientemente fue Escribir herramientas de seguridad y explotaciones ( enlace ). Cubre el ensamblaje básico, la creación de shellcode, consejos sobre cómo encontrar y escribir desbordamientos de búfer, cadenas de formato, ataques de montón y más. El libro está un poco anticuado y no cubre temas como ASLR y NX, pero ofrece una base sólida con numerosos ejemplos con grandes explicaciones.

    
respondido por el Dylan 07.02.2012 - 06:42
fuente
5

La seguridad de la información es un campo muy amplio, que consta de varios subcampos: seguridad de la infraestructura, seguridad de la aplicación, seguridad de la red, etc. Por su pregunta, creo que el campo que le interesa es la seguridad de aplicaciones web: WebGoat y Gruyeres son dos aplicaciones vulnerables dedicadas a enseñar las vulnerabilidades más comunes en la seguridad de aplicaciones web. Este es el único tema que mencionan y explican.

En mi opinión sincera, la mejor manera de comenzar en la seguridad de la aplicación web es leer OWASP top 10 lista y explicaciones, y luego continúe probando vulnerabilidades en las aplicaciones web (por supuesto, solo en contra de sus propias máquinas de control de calidad o con el consentimiento por escrito de los administradores). Como se mencionó, la serie Fundme (ahora Mcafee) Hacme es muy buena, viene en muchos idiomas (por lo que puede encontrar un idioma con el que esté familiarizado) y viene con tutoriales detallados sobre cómo manipular y romper las aplicaciones Hacme.

Para obtener una lista más completa de aplicaciones vulnerables y máquinas virtuales, puede probar el Mercado de aplicaciones vulnerables

Otra excelente forma de aprender, aunque es un poco antigua, es pasar los MSDN Security Labs que son gratis y enseñan una amplia variedad de temas:

  • Developer Starter Kit: desbordamientos de búfer
  • Kit de inicio para desarrolladores: Análisis de código
  • Kit de inicio para desarrolladores: defensas del compilador
  • Kit de iniciación para desarrolladores: Pruebas Fuzz
  • Developer Starter Kit: Revisión del código de seguridad Kit de inicio para desarrolladores: Vulnerabilidades de inyección SQL

¡Buena suerte!

    
respondido por el Boaz Tirosh 17.04.2013 - 14:21
fuente
3

La mayoría de las sugerencias aquí apuntan a algunos grandes recursos e ideas. Recomiendo usar VirtualBox para su entorno de prueba de VM. Además, si tiene los fondos de repuesto, obtenga una Suscripción a TechNet para que pueda crear un montón de cajas de prueba. Creo que CERT u otra organización también publica algunas imágenes de máquinas virtuales basadas en Windows que puede descargar, pero no puedo recordar con certeza quién las hace o dónde encontrarlas.

Si bien prefiero y recomiendo VirtualBox para ejecutar máquinas virtuales, se debe tener en cuenta que las pruebas funcionan mejor cuando todas sus máquinas virtuales se ejecutan en la misma plataforma de virtualización. Por lo tanto, si desea piratear sistemas que se ejecutan en VMWare Player, también debe tener su sistema de ataque en VMWare Player.

    
respondido por el Iszi 07.02.2012 - 17:37
fuente
2

Para agregar un poco a la excelente respuesta de schroeder (+1).

enlace son interesantes; Es un par de máquinas virtuales con desafíos para escalar de alguna manera. Nebula enseña cómo pasar de una cuenta normal a una raíz en entornos defectuosos; muchas de las soluciones son trucos estándar (no confíe en las variables de entorno o ejecute eval en la entrada del usuario o haga suposiciones de que el ejecutable se ejecutará como se sugiere) .

Los Protostar / fusion son más avanzados (por ejemplo, los desbordamientos de búfer).

También recomiendo leer WAHH (no es gratis; pero es barato) y Programación segura en Linux / Unix .

    
respondido por el dr jimbob 07.02.2012 - 17:07
fuente
1

Descargue varias aplicaciones PHP en el período inicial, alojelas en su servidor local y luego intente encontrar vulnerabilidades usando 2 metodologías diferentes, cualquiera que desee

  1. Metodología de prueba de OWASP - enlace 2.WATC - enlace

Si no tiene mucho conocimiento sobre el pentesting manual, ejecute acunetix y nessus contra su aplicación alojada en localhost, vea los resultados generados por ellos y luego intente explotarlos manualmente utilizando el paquete BURP. Eso te dará un impulso y confianza.

Luego ve por cualquiera de estas metodologías.

Una vez que tenga experiencia en esta metodología, intente hacer su propia lista de verificación de pruebas y agregar nuevos casos de prueba cada vez que lo encuentre.

Una vez que haces todo esto, ve por el programa de recompensas de errores.

BUGCROWD es un programa de recompensas de errores muy reputado y aquí puede encontrar la lista de proveedores en los que puede hacer pentest. enlace

Así es como debería ser todo el proceso.

    
respondido por el FrOgY 04.04.2014 - 23:50
fuente
1

No he leído todas las respuestas, pero para aprender acerca de las pruebas de penetración y hacer esto de forma gratuita, puedes probar este conjunto de tutoriales de irongeek.com aquí: enlace

Estas son instrucciones sobre cómo descargar una aplicación web intencionalmente vulnerable llamada mutillidae que puede utilizar para practicar la prueba de la pluma. La aplicación, mutillidae, tiene sugerencias que puedes habilitar para aprender. Si tiene algún tipo de servidor LAMP, simplemente puede colocar la carpeta en la carpeta www de su servidor y acceder a ella en su dirección de bucle de retorno local, 127.0.0.1. Sin embargo, también tiene que crear algunas tablas de base de datos en el servidor MySQL, por lo que esta herramienta de prueba de pluma puede ser más avanzada en este momento. Sin embargo, poblar mesas no es tan difícil. Tampoco está creando la base de datos necesaria. : D

Esto sería genial para ejecutar en una máquina virtual que ejecuta Kali Linux o Ubuntu. Especialmente, si su máquina tiene suficiente RAM y potencia de CPU.

Puede aprender todo tipo de cosas a través de esto, como Inyección de SQL, Secuencias de comandos entre sitios y otros tipos de ataques en los que puede educarse para poder defenderse mediante prácticas de codificación seguras, etc.

    
respondido por el user_loser 16.04.2014 - 01:46
fuente
0

En primer lugar, debe considerar qué tipo o área de pentestación le gustaría comenzar. Por ejemplo, puede comenzar a buscar vulnerabilidades en sitios web (OWASP, CTF), puede comenzar a buscar puertos abiertos y analizar qué servicios se están ejecutando (buscando información sobre las vulnerabilidades para la versión actual), etc.

Recomiendo el primero. Primero porque es más fácil de entender, segundo porque es más común encontrar una vulnerabilidad en una red mal codificada que en un sistema, y tercero porque hay una gran cantidad de material sobre el tema y desafíos gratuitos donde puede probar su conocimiento (CTF)

    
respondido por el yzT 11.02.2013 - 16:28
fuente
0

Aunque no soy un experto, pasé bastante tiempo con el Banco Hacme de Foundstone (solo pensé que sería bueno agregar este también).

    
respondido por el Lex 11.02.2013 - 17:48
fuente
0

¿Quieres empezar desde lo básico? Saltar a 0:57

Casi toda la explotación existe porque explotamos la arquitectura de Von Neumann. Siempre que pueda tratar los datos como código, tendrá un vector de ataque. No importa qué es la arquitectura, qué es la plataforma, qué es la pila de tecnología ... las aplicaciones web modernas cruzan múltiples contextos: HTML / Javascript en el navegador. (Attack vector!)

La explotación significa que está logrando que su objetivo ejecute su código. Ese es el punto detrás de la inyección SQL, XSS, shellcodes, ¡sobre todo! Si quieres aprender a ser un pentester ... obtén el "kit de herramientas de código abierto de Pentester". (Hay versiones gratuitas que se pueden obtener legalmente).

Las conferencias de Defcon están disponibles de forma gratuita, y son algunas de las mejores clases generales que he tomado. Pero más que nada: tienes que ensuciarte las manos. Usted mencionó webgoat. ¿Instalaste Tamperdata en Firefox? ¿Instalaste wirehark? La piratería se trata de tener tantas herramientas como sea posible para recopilar datos para que sepas lo que está pasando. Este video habla mucho sobre el monitoreo ... todo ...

enlace

    
respondido por el avgvstvs 05.04.2014 - 00:51
fuente
0

Me gustaría agregar mis dos centavos a la olla. Creo que estoy revisando algunos de los videos de seguridad de Tom Scott en Computerphile y su propio canal es una excelente manera de comenzar. Son técnicamente sólidos y explican los conceptos de una manera muy clara. A continuación, deja que la curiosidad te guíe.

Intente instalar nmap y vea qué puede averiguar acerca de los servidores de Amazon. Buscar cosas en la inyección SQL. ¿Qué pasa con el arranque libre SHA-1 o MD5? ¿Cuánto costaría? Preguntas como estas pueden guiarlo más profundamente en el campo de la seguridad de la información.

Ten esto en cuenta para: Necesitas saber las cosas que estás tratando de proteger o piratear; por ejemplo, debe conocer TCP para hackear redes y también JS para sitios web.

La respuesta de Jeff ofrece algunas ideas, aunque de manera lateral. Intente configurar su propio servidor de Amazon AWS y haga DDoS utilizando varios tipos de herramientas, por ejemplo.

También puedes probar tus habilidades como hacker (legalmente) en sitios web reales y ganar un poco de dinero en programas de recompensas de errores de seguridad. Hackerone ofrece un directorio de dichos programas.

    
respondido por el noɥʇʎԀʎzɐɹƆ 13.07.2016 - 23:25
fuente
-1

Para la seguridad de la aplicación web es posible que desee probar

Puede ser parcial, pero es el único laboratorio virtual gratuito sobre el tema;)

    
respondido por el Armando 11.02.2013 - 15:18
fuente
-3

La mejor manera de aprender es haciendo. No estoy sugiriendo nada ilegal, pero vea si puede obtener un concierto de prueba de lápiz. Encuentra una pequeña empresa local y hazlo gratis. Encuentra una iglesia y ofréceles tus servicios. Solo algunas sugerencias si sigues esta ruta:

  • ¡Haz que retrocedan antes de hacer cualquier cosa!
  • Simplemente comienza haciendo reconocimiento pasivo y activo.

Sé que el escaneo de puertos no es necesariamente el glamour de las pruebas con lápiz, pero es un buen lugar para comenzar.

Respuesta editada

Actualizando mi respuesta ya que muchos downvotes. Sostengo que la mejor manera de aprender es hacerlo, pero FUERTEMENTE declare que nunca debe piratear a ninguna empresa sin el consentimiento expreso por escrito del propietario, y aun así, debe contratar un abogado (OMI). ). También a los puntos a continuación, si no sabes lo que estás haciendo, puedes hacer algo. Es mejor aprender sobre tus propias cosas. Entonces,

  

No hackear. Permanece en la escuela. No consumas drogas.

Ahora que el descargo de responsabilidad está hecho:

Empecé a revisar algunas herramientas con Kali Linux (anteriormente backtrack), y hay muchas herramientas geniales allí. El que estoy usando en este momento es DVWA (aplicación web extremadamente vulnerable), que tiene un nivel de seguridad personalizable para que pruebes CSFR, XSS, ataques de fuerza bruta, inyecciones de SQL, ejecución remota de shell, etc. Hay algunos otros recursos como este, una búsqueda de google lo revelará. Solo piensa, "¿Qué quiero pwn?" Si la respuesta es sistemas, redes o aplicaciones, incluya eso en su búsqueda.

Algunos recursos más:

respondido por el Jeff 07.02.2012 - 06:01
fuente

Lea otras preguntas en las etiquetas