[Guía] "Quiero ser hacker" - Por dónde empezar

Iniciado por @synthesize, 1 Marzo 2015, 18:17 PM

0 Miembros y 2 Visitantes están viendo este tema.

@synthesize

Mucha gente pasa por el foro a dejar una pregunta, ya bastante repetida. ¿Qué tengo que hacer para "ser hacker"? Y creo que no se suele dar una respuesta que les anime a continuar con ello, así que voy a intentarlo yo. Os recomiendo leer todo con atención. Y como primer consejo, no os limitéis a leer: Si no entiendes algo, no dudes en buscarlo. Si algo te da curiosidad, también, búscalo. Así es como se empieza.
Ánimo.


Si crees que tengo que cambiar, añadir, o eliminar algo de aquí, encantado de recibir opiniones :D

¿Qué es un "hacker"?

He de empezar diciendo que la palabra "Hacker" está bastante prostituida; La usa mucha gente, para definir a muchas personas bastante distintas y sin conocimiento, de la propia palabra, ni de lo que hacen esas personas. Es típico ver en los medios de comunicación que un "hacker" es un chaval que ha conseguido hacer alguna pillería, en plan, dejar sin servicio alguna página web importante durante un rato. También se relaciona últimamente mucho con  grupos, como por ejemplo, Anonymous.

Según mi opinión (Lo ideal es que no te fíes de mi, no bases tu criterio en el mío, lee, infórmate, investiga, curiosea) nacemos siendo "hackers". Desde bebés, lo primero que hacemos es relacionarnos con nuestro entorno, investigamos las cosas, queremos saber (Sin que nadie nos lo haya enseñado previamente, lo hacemos por instinto y naturaleza). Si nos ponen un sonajero en las manos, lo moveremos, lo escucharemos. Es probable que lo golpeemos, y hagamos mil tonterías. Pues creo que esta es la razón básica,  es algo que está implícito en nuestra naturaleza. El sentido que veo más acorde para la palabra "hacker", es alguien que se dedica a saber, investigar, aprender, cómo funciona algo en concreto. En nuestro caso, lo aplicamos al mundo de la tecnología Por eso, una buena equiparación, es decir que un "hacker" es un experto en tecnología, un experto en informática, un experto en telecomunicaciones... O lo que se ponga por delante.

Por todo esto me parece tan malo generalizar tanto, con esa única palabra. Es cierto que, desde las comunidades de gente han ido surgiendo varios nombres surgidos de "hacker":


  • Phreaker: De phone freak ("monstruo telefónico"). Son personas con conocimientos amplios tanto en teléfonos modulares (TM) como en teléfonos móviles.
  • Lamer o script-kiddie: Es un término coloquial inglés aplicado a una persona falta de habilidades técnicas, generalmente no competente en la materia, que pretende obtener beneficio del hacking sin tener los conocimientos necesarios. Su alcance se basa en a buscar y descargar programas y herramientas de intrusión informática, cibervandalismo, propagación de software malicioso para luego ejecutarlo como simple usuario, sin preocuparse del funcionamiento interno de éstos ni de los sistemas sobre los que funcionan. En muchos casos presume de conocimientos o habilidades que no posee.
  • Newbie: Newbie es un alguien nuevo al hacking o al phreaking y que no posee casi nada de conocimiento o experiencia en el manejo de tecnología y hacking.
  • Hacktivista: (Este lo añado yo un poco por mi cuenta) una persona que es parte de una conciencia colectiva que promueve la libertad del conocimiento y la justicia social
(fuente: Wikipedia)

Hay muchos términos que me he dejado fuera, estos son los que más se ven últimamente. Ahora, yo personalmente no he sido nunca de usar nomenclaturas de este tipo. Nunca me he considerado nada de lo descrito, ni si quiera hacker. Soy una persona con ciertos gustos, ciertas habilidades, y que aprovecha sus habilidades para desempeñar su trabajo. Y ya está. Por eso, me hace gracia cuando viene alguien diciendo "Quiero ser hacker", o "Soy newbie" o "No quiero ser lamer". (Una broma que tenía con mis compañeros de trabajo era "Escribir Lammer es de Lamers"  :P)


¿Por dónde empezar?

Esta duda suele ser eterna para muchos. Cabe decir que la informática, es un mundo enorme y que no para de crecer, y por eso me encanta. A mi, que me encanta estudiar, leer y aprender, es un mundo que me viene genial. Todos los días puedes descubrir tecnologías nuevas, programas nuevos, cacharros nuevos. Pero, creo que también es básico no ser "aprendiz de todo, maestro de nada". Creo que es bueno centrarse en pocas cosas e intentar desarrollarlas al máximo. Pero esa es mi opinión, y opiniones hay para todos los gustos. Hay gente que he conocido que eran máquinas en cualquier situación en las que les pusieras, y ciertamente no es algo inalcanzable, pero si hay que tener claro la cantidad de horas, dedicación y esfuerzo que eso necesita. Espero que vayas deduciendo varias cosas con lo poco que llevas leído, como que por ejemplo, tienes que tener muchas ganas reales de aprender.

Hay varias ramas grandes dentro del mundo de la informática, está bien como dije conocerlas todas. Los nombres lo voy a poner yo a mi antojo.


  • Técnica: Personas con amplios conocimientos técnicos. Es lo más común, capacidad para saber qué problema tiene un ordenador y arreglarlo.
  • Programación: La capacidad de hacer programas informáticos. Suelen ser personas con una mente bastante lógica y con cocimientos matemáticos.
  • Redes: Personas capaces de gestionar redes informáticas. También de auditarlas.
  • Cracking: La capacidad de estudiar de forma inversa cómo funciona algo (Desde un programa hasta dispositivos electrónicos).

Esto está MUY resumido. No es ni la mitad de la mitad de lo que puedes hacer. Por eso te animo a buscar e indagar. A lo mejor resulta que lo que mejor se te da en este mundo son los gráficos 3D. Pues oye, prueba a potenciar eso. Busca tu lugar, en el que te sientas más cómodo. Tampoco te olvides de que existen más cosas. A mi por ejemplo, se me dan fatal las redes, pero soy algo bueno programando. Bueno, trabajo en eso, algo bien se me tiene que dar ajaja.

Si tienes alguna predilección, ya tienes por dónde empezar. Si no la tienes, tu primera tarea es indagar qué posibilidades tienes, y elegir las que más te gustan.


¿Cómo continuar?

Ya lo he repetido varias veces, porque el proceso no cambia. Aprender, curiosear, investigar. Si por ejemplo, te has decidido a empezar a programar, tienes muchas cosas que leerte. La historia de la programación, qué programadores buenos hay y por qué han llegado a ser buenos, qué lenguajes de programación hay, cómo empezar... qué libros leer, qué tutoriales seguir, etc. Sin prisa pero sin pausa.

Utiliza foros como este, es una buena herramienta para aprender de cualquier tema. Lee post, aunque creas que no te pueden interesar, resuelve dudas que ya sepas a gente que no, y comenta tus propias dudas para que alguien te ayude a resolverlas. No sólo este foro, Internet es un mundo inmenso, hay miles y miles de páginas en las que podrás hacer todo esto.


¿Y ahora qué?

Ya es tu trabajo ponerte las pilas y empezar con todo. Si realmente te gusta y le pones entusiasmo y ganas, la cosas empezarán a salir cosas. De nuevo, ánimo.
No se me olvide comentar, que tienes que ver también todo esto desde un punto de vista ético. Sobre el papel, todo lo que hacemos tiene que ser legar. Está muy bien que aprendas  a romper la seguridad de un router, pero que sea el tuyo, no el de tu vecino, y menos para conectarte a su red y putearle. Está muy bien encontrar un fallo de una página web o un programa, pero no te aproveches de el para sacar información o joder el programa/la web. Comunica el error al creador. Así es como evoluciona el mundo.


FAQ Extra

¿Qué lenguaje de programación elijo para empezar en el mundillo?

Es uno de los caminos más comunes y bonitos dentro del mundo de la informática. Algunos vemos la programación como un arte, y no estamos muy equivocados, ya que en el cerebro se crean procesos muy parecidos cuando programas, a cunado un pintor pinta, un músico compone una canción, etc. Muy parecidos pero no iguales, ya que, si bien es verdad que necesitas la misma creatividad, para programar también necesitas tener mucha capacidad lógica y de resolución de problemas.

http://es.wikipedia.org/wiki/Inteligencia_l%C3%B3gica-matem%C3%A1tica
http://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_problemas

Antes de empezar a programar es necesario que tengas algunos conocimientos previos. El primero, y más importante, debes de saber cómo funciona un ordenador. Claro, imagina aprender a pilotar un avión sin saber si quiera lo que es un avión. Debes tener, como ya comenté, ciertas habilidades técnicas, lógicas, resolutivas y matemáticas. ¡Y creatividad!.

Antes de elegir un lenguaje de programación, aprende los conceptos básicos. Por ejemplo, qué es un algoritmo, o un diagrama de flujo. Una búsqueda en Google de estilo "que saber antes de programar" te puede venir muy bien.

http://es.wikipedia.org/wiki/Diagrama_de_flujo
http://es.wikipedia.org/wiki/Algoritmo

Si ya crees estar curtido para empezar, llega el eterno dilema de qué lenguaje usar. Pues creo tener la respuesta correcta, aunque como siempre digo, es mi opinión y tu deberías formar tu propia opinión.

Similitud automovilistica

Primero hay que comprender qué "no se aprende a programar en cierto lenguaje" igual que no "se aprende a conducir en cierto coche". Si sabes conducir un renault clio, sabes conducir un ferrari testarossa. Ahora bien, también hay que comprender que cada coche es distinto, y aunque sepas conducir tu viejo clio, quizás alguien te tenga que explicar que cuando te sientes en el testarossa no se va a comportar igual. Muchos elementos cambiarán. Con los lenguajes de programación pasa lo mismo. Si tu sabes programar, significa que conoces y saber aplicar cierto tipos de normas y procesos, y deberías ser capaz de aplicarlas en cualquier lenguaje, aunque previamente necesitarás conocer ese lenguaje para saber cómo aplicarlas.

También es importante saber qué coche necesitas para cada caso. Para ir a comprar el pan al lado de casa, es más eficiente el clio, ya que el pan cabe de sobra y va a consumir menos combustible que el testarossa. (Aún así es mejor ir a por el pan andado :D). Si vas a echar una carrera contra el mercedes de tu amigo en un circuito, yo en el clio no iría, al menos si pretendo ganar. Con los lenguajes pasa exactamente lo mismo. Hay muchos y para distintas cosas. no es lo mismo C, que PHP y que Objective-C. Son distintos y valen para cosas distintas, aunque sobre el papel su sintaxis es bastante parecida.

Para aprender a programar, el lenguaje más común suele ser C. http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n) Pero como ya dije, hay muchos tipos de lenguajes. Lo más ideal es que busques por tu cuenta el que más te convenga. Por mi parte te voy a dejar una mini guía;

- ¿Quieres aprender a programar de formalmente y como empieza casi todo el mundo?
http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
http://es.wikipedia.org/wiki/C%2B%2B

- ¿Te cuesta asimilar la sintaxis y quieres hacer cosas sencillas antes de ponerte más en serio?
http://es.wikipedia.org/wiki/Python

- ¿Quieres aprender a programar webs?
http://es.wikipedia.org/wiki/PHP
http://es.wikipedia.org/wiki/HTML

(HTML NO es un lenguaje de programación, es un lenguaje de marcado o de etiquetado: http://es.wikipedia.org/wiki/Hipertexto)

- ¿Quieres aprender a desarrollar aplicaciones móviles?
http://es.wikipedia.org/wiki/Java_%28lenguaje_de_programaci%C3%B3n%29
http://es.wikipedia.org/wiki/Objective-C

- ¿Quieres centrarte en aprender a programar para Windows? (Cosa que no recomiendo al principio)
http://es.wikipedia.org/wiki/C_Sharp
http://es.wikipedia.org/wiki/Visual_Basic

Son sólo ejemplos comunes. Quizás lo que buscas no está en esos enlaces... Investiga por tu cuenta, pregunta por el foro,...  :silbar: ¡Indaga leñe!


Soy nuev@ en el mundo GNU/Linux/BSD/UNIX/ETC, ¿Por dónde empiezo?

Si te va el rollo de la administración de sistemas operativos, deberías al menos manejar y controlar, con cierta soltura y de forma casi natural, los sistemas operativos más usados. Por supuesto, pese a quien le pese, Windows y Mac, son los más usado... pero... los más usados en entornos domésticos y laborales.

Cuando se necesita un sistema operativo para un servidor (por ejemplo, un servidor web) el sistema operativo más común es GNU/Linux.

https://es.wikipedia.org/wiki/Servidor
https://es.wikipedia.org/wiki/Servidor_web

CURIOSIDAD: http://top500.org es una página que lista las supercomputadoras más potentes y veloces, ¡Te animo a comprobar qué sistemas operativos usan y cómo funcionan!

Si vas a empezar en este mundo, deberías tener claros unos cuantos conceptos (no os lo voy a dar todo mascado):

Lo primero, un poco de historia:

S.O.: https://es.wikipedia.org/wiki/Sistema_operativo
Unix: https://es.wikipedia.org/wiki/Unix
GNU: https://es.wikipedia.org/wiki/GNU
Linux: https://es.wikipedia.org/wiki/GNU/Linux
Distro: https://es.wikipedia.org/wiki/Distribuci%C3%B3n_Linux
Ubuntu: https://es.wikipedia.org/wiki/Ubuntu (Si lo conoces, te recomiendo pasar a Debian)
Debian: https://es.wikipedia.org/wiki/Debian
Shell: https://es.wikipedia.org/wiki/Shell_(inform%C3%A1tica)

(En construcción...)


¿Cómo puedo hackear whatsapp/facebook/twitter...?

Lo primero que he de decir, es que si te has leído la primera parte de este post, sabrás que la respuesta es NO. No es que no puedas, es que nadie con un mínimo de ética en este foro te va a decir formar de hacer algo ilegal para joder a los demás.

Lo segundo, es que si lo que deseas es encontrar seriamente bugs en este tipo de servicios, lo primero, empieza a leerte la parte de programación de este post, y lo segundo, debes saber que existen hackathones, retos para encontrar bugs, etc. Y además, suelen estar bien pagados.

Lo tercero, y en honor a la verdad, si quieres usar técnicas que no requieran programar, deberás estudiar técnicas más relacionadas con seguridad informática. Como es evidente, no te voy a decir el qué  :P pero si te voy a dejar alguna pista, para animarte a estudiar por tu cuenta.

http://es.wikipedia.org/wiki/Hackathon
http://es.wikipedia.org/wiki/Spoofing

Recuerda: Entrar en las cuentas de otra persona, robar datos, o si quiera intentarlo, es INMORAL. Pero como esto a algunos os importa una *****, también os recuerdo que es ILEGAL y está penado.

Baal_30

«La suerte es el cuidado de los detalles». -Winston Churchill

patilanz

Acabo de ver esto:

Hacking, Hacking Ético, Hacktivismo y Seguridad Empresarial -> http://www.gitsinformatica.com/hackers.html
Puede que sea de ayuda

ElInquisidor

Cita de: @synthesize en  1 Marzo 2015, 18:17 PM


(HTML NO es un lenguaje de programación, es un lenguaje de marcado o de etiquetado: http://es.wikipedia.org/wiki/Hipertexto)



Cabe resaltar...

Reina_Negra

Genial, muchas gracias por aportar un granito de arena a los nuevos  ;-)  ;-)
Quien te odia es porque un día quiso ser como tú y no pudo.

Usuario Invitado

#5
Good job @synthesize, te ganaste 1/2Kg de hierba :xD

A esto deberían de ponerle chincheta. Lectura obligada para los novatos.

PD al staff: Hagan un sencillo script que cuando se detecte las palabras en cualquier orden: "quiero", "ser", "hacker", "como", se le muestre un pop-up donde se le invite a entrar a éste tema. Si cierra el pop-up igual podrá crear por si la intención del autor no es saber "cómo ser hacker". Por ejemplo, una llamada AJAX a un script que cuente el número de palabras "sospechosas" y que de acuerdo al número de concordancias, se muestre el pop-up, caso contrario se envíe la publicación.

Algo así:

Código (php) [Seleccionar]
$postTitle = $_POST["postTitle"];
$titleTokens = explode(" ", $postTitle);
$warningWords = ["cómo","como","quiero","ser","hacker"];
$warningWordsCounter = 0;

foreach($titleTolens as $token) {
foreach($warningWords as $word) {
if(strtolower($token) == $word)
$warningWordsCounter++;
}
}

echo $warningWordsCounter;
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

hackinglow

Muchisimas gracias por tu aporte @synthesize, da gusto ver que hay personas a las que no les cuesta exponer parte de lo que ha aprendido para que el resto "se culturice".


@synthesize

Gracias a todos... yo sigo añadiendo cositas.

Os recuerdo que acepto ayuda... podéis mandarme privados con sugerencias y tal. Así no llenamos el post.

.:UND3R:.

Le he puesto chincheta, creo que falta más, la idea es genial pero si se puede más bienvenido sea, saludos y gracias por la guía  ;-)

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

@synthesize

Cita de: .:UND3R:. en  6 Marzo 2015, 17:04 PM
Le he puesto chincheta, creo que falta más, la idea es genial pero si se puede más bienvenido sea, saludos y gracias por la guía  ;-)

Gracias ^^

Poco a poco iré poniendo cosas, cuando se me ocurra, o cuando me hagáis sugerencias...  :silbar: