Red de conocimiento informático - Material del sitio web - Cómo convertirse en un maestro de la red y utilizar la red con facilidad

Cómo convertirse en un maestro de la red y utilizar la red con facilidad

Cómo convertirse en un maestro de la red

Esta es una publicación de una BBS extranjera.

No escribo este artículo porque esté cansado de responder las mismas preguntas una y otra vez, sino considerando que esta es realmente una pregunta significativa y, de hecho, muchas personas (90) realmente necesitan hacerla. Pregunta, pero nunca preguntada.

Muchas veces me han hecho preguntas sobre seguridad, como por ejemplo: ¿Qué lenguaje de programación admiras más? ¿Qué libros debería leer primero? En pocas palabras, así es como convertirse en una persona influyente en seguridad. Como mi respuesta es diferente a las respuestas habituales, quiero dar mi opinión.

1. ¿Por dónde empezar?

Mi opinión puede ser diferente a la de la persona promedio, si recién estás comenzando, te recomendaría no comenzar con Technotronic, Bugtraq, Packetstorm, Rootshell, etc., ¿verdad? No empieces por ahí (aunque son sitios fantásticos, no digo que no los visites) por la sencilla razón de que si crees que conocer "seguridad" significa conocer los últimos exploits, terminarás sin aprender nada.

Estoy de acuerdo en que comprender dónde existen las vulnerabilidades es fundamental, pero no proporciona una base sólida para dominarlas. Por ejemplo, usted sabe que RDS es la vulnerabilidad más reciente, sabe cómo descargar y utilizar la herramienta de script que la explota, sabe cómo parcharla (tal vez, muchas personas sólo saben cómo atacar, no cómo proteger), pero luego . 3 meses después, los parches vuelan por todas partes y la vulnerabilidad ya no existe... ¿De qué sirve el conocimiento que tienes ahora? Y es posible que no comprenda en absoluto el análisis de vulnerabilidades.

¿Qué deberías aprender? ¿Es análisis? ¿O un método de ataque?

Esto es lo que quiero enfatizar nuevamente. Lo que quizás la gente no haya notado es que ya hay muchas personas que se consideran expertos en seguridad porque conocen las últimas vulnerabilidades, ¡no! Sólo conocen "vulnerabilidades" pero no "seguridad".

Por ejemplo, conoces la vulnerabilidad phf, la vulnerabilidad showode.asp, las vulnerabilidades count.cgi y test.cgi, pero ¿sabes por qué son vulnerabilidades CGI? ¿Sabes cómo escribir un programa de puerta de enlace universal segura? ¿Puedes decir qué vulnerabilidades o aspectos de CGI podrían deberse en función de cómo funciona? ¿O simplemente eres consciente de que estos CGI tienen errores?

Así que te sugiero que no empieces con las vulnerabilidades y pretendas que no existen (ya sabes a qué me refiero), lo que realmente debes hacer es empezar con los usuarios habituales.

2. Conviértete en usuario

Es decir, necesitas tener al menos algo de sentido común básico. Por ejemplo, si aprendieras a hackear web, ¿es posible que ni siquiera sepas cómo usar un navegador? ¿Puedes abrir Netscape, abrir IE? Vas a escribir tu nombre, sabes que HTML son páginas web, está bien, tienes que seguir haciéndolo y convertirte en un usuario competente. ¿Diferenciarías entre ASP y CGI, que es dinámico, qué es PHP? ¿Qué son las redirecciones, las cookies y SSL? No ataque las vulnerabilidades, simplemente úselas. Sin este conocimiento básico (quizás aburrido), no puede convertirse en un experto. Aquí no hay atajos.

Bien, ahora ya sabes todo lo que hay aquí y lo has utilizado. Antes de hackear UNIX, al menos deberías saber cómo iniciar y cerrar sesión, cómo usar comandos de shell y cómo usar programas comunes (correo, FTP, Web, Lynx, etc.).

Para convertirte en administrador, debes dominar las siguientes operaciones básicas.

3. Conviértase en administrador

Ahora ha ido más allá del alcance de los usuarios comunes y ha entrado en un campo más complejo, y necesita dominar más conocimientos.

Por ejemplo, ¿qué tipos de servidores web existen y en qué se diferencian de otros servidores? ¿Cómo configurarlo, cosas así, cuanto más sabes, más entiendes cómo funciona? ¿Qué hace? ¿Entiendes el protocolo HTTP? ¿Conoce la diferencia entre HTTP 1.0 y HTTP 1.1? ¿Comprender el alojamiento virtual HTTP1.1 ayuda a configurar un servidor web?

Necesitas conocer el sistema operativo, si nunca has configurado NT, ¿cómo puedes atacar a un servidor NT? ¿Nunca ha utilizado Rdisk (Administrador de usuarios) pero espera descifrar la contraseña del administrador y obtener derechos de usuario? ¿Quiere utilizar RDS pero ha estado utilizando la GUI para operaciones NT? Debe ser ascendido de Administrador a "Superadministrador", lo que no significa que tenga derechos de superusuario, pero sí que tenga conocimientos en todos los dominios. Genial, puedes agregar usuarios en la GUI, pero ¿puedes agregarlos en modo comando? Además, ¿para qué se utilizan todos los archivos .exe en system32? ¿Sabes por qué USERNETCTL debe tener privilegios de superusuario? ¿Nunca antes has trabajado con USERNETCTL? No creas que saber hacerlo es suficiente, aprende todo lo que puedas y conviértete en un líder tecnológico, pero….

No se puede saberlo todo.

Este es un hecho que debemos afrontar. Si crees que lo sabes todo, te estás engañando. Lo que debes hacer es elegir el área que más te interese y aprender más sobre ella.

Convertirse en un usuario experto, administrador, líder técnico y el mejor en un campo determinado es más que simplemente aprender a usar un navegador web y a escribir CGI. Conoces HTTP y cuál es el principio. servidor de red? ¿Sabes cómo funcionan HTTP y los servidores web? ¿Sabes cómo hacer que el servidor funcione correctamente cuando no funciona correctamente? Cuando tenga algo de experiencia en este campo, naturalmente sabrá cómo atacar y proteger.

En realidad, es muy simple, si sabe todo en este campo, también conocerá los riesgos de seguridad. Enfrente todas las vulnerabilidades (nuevas, antiguas, futuras), puede encontrar vulnerabilidades desconocidas usted mismo (en este momento ya es un maestro de la red)

Puede encontrar vulnerabilidades, pero debe comprender la causa raíz de la vulnerabilidad . Así que deja tu bigote y descubre qué hace exactamente CGI. ¿Cómo hacen que los servidores web a través de HTTP sean vulnerables? Pronto descubrirás exactamente qué hace Whisker.

4. Lenguaje de programación

De todas las preguntas que me hacen, la que más escucho es: "¿Qué lenguaje de programación crees que debería aprender?

Supongo que depende de la situación, ¿cuánto tiempo estás dispuesto a dedicar a aprenderlo? ¿Qué quieres hacer con el idioma? ¿Cuánto tiempo quieres completar un programa? Aquí hay algunas opciones.

Visual Basic

Hay muchos libros al respecto y muchos son gratuitos. El código fuente está disponible públicamente. Debería poder usarlo pronto. pero el lenguaje tiene algunas limitaciones, por ejemplo, no es tan potente como C, es necesario ejecutarlo en Windows y necesita un entorno de programación VB (ya sea pirata o genuino, de todos modos no es gratuito). escribir código de ataque o parches en VB.

C

Es probablemente el lenguaje más potente que existe. Hay muchos códigos fuente y libros gratuitos en Internet, incluidos entornos de programación. Es más complicado que VB y lleva más tiempo dominarlo. Las cosas simples son fáciles de aprender y las cosas poderosas son difíciles de entender, lo que requiere que usted lo haga usted mismo.

Probablemente el lenguaje más complejo y más difícil de aprender.

Si lo aprendes como primer idioma, rara vez te dará vueltas la cabeza. Sin embargo, una vez que aprenda primero el lenguaje ensamblador, otros lenguajes de programación serán más fáciles. Hay algunos libros sobre este tema en el mercado, pero el número de libros de texto sobre este tema está disminuyendo. Sin embargo, el conocimiento del ensamblaje es fundamental en algunas áreas, como los ataques de desbordamiento del búfer.

perl

Un gran lenguaje. Es tan fácil de aprender como VB y tiene sus limitaciones. Pero funciona en la mayoría de las plataformas (UNIX y Windows), lo cual es una de sus ventajas. Hay muchos libros sobre este tema y son completamente gratuitos. Puede usarlos para crear algunas herramientas de ataque de uso común. Se utiliza principalmente para algunas técnicas de ataque basadas en texto y no es adecuado para crear programas binarios.

Supongo que eso es todo lo que quieres saber, es seguro decir que c/c es la mejor opción.