Depende de que rama de hacking te gusta más.
Como base troncal tendrías que empezar a aprender programación (cualquier lenguaje de propósito general) y algo de redes (saber que es IP y TCP/UDP). Incluso te recomendaría que exploraras un poco sobre criptografía (a un nivel superficial)
Luego ya vendría la parte de profundizar en lo que más te llama:
- Pentesting básico: aprender el proceso de enumeración, explotación y de escalado. Es decir, a utilizar las herramientas de enumeración, a detectar vulnerabilidades y a explotarlas.
- Ataques WEB: Para esto tendrías que aprender lenguajes de programación WEB (php, mysql, js y html por ejemplo). Una vez que entiendes como funcionan las web podrías entender y practicar las vulnerabilidades que puede tener una página web.
- Exploiting: Esta rama es más compleja de entender y aprender pero es otra rama a tener en cuenta. Necesitarías aprender C/C++ y entender como funcionan los programas por debajo (nivel de CPU, RAM, etc..).
- Reversing (ingeniería inversa): Consiste en entender la lógica que hay detrás de una aplicación/sistema y de ser capaz de manipularla. Este campo es muy amplio y cada tipo de tecnología tendrá sus herramientas y características específicas. Por ejemplo, podrías aprender a reversear un apk de android o a modificar un juego para tener vidas infinitas.
Resumiendo, céntrate en las base que es lo más importante para ir avanzando poco a poco.
Como base troncal tendrías que empezar a aprender programación (cualquier lenguaje de propósito general) y algo de redes (saber que es IP y TCP/UDP). Incluso te recomendaría que exploraras un poco sobre criptografía (a un nivel superficial)
Luego ya vendría la parte de profundizar en lo que más te llama:
- Pentesting básico: aprender el proceso de enumeración, explotación y de escalado. Es decir, a utilizar las herramientas de enumeración, a detectar vulnerabilidades y a explotarlas.
- Ataques WEB: Para esto tendrías que aprender lenguajes de programación WEB (php, mysql, js y html por ejemplo). Una vez que entiendes como funcionan las web podrías entender y practicar las vulnerabilidades que puede tener una página web.
- Exploiting: Esta rama es más compleja de entender y aprender pero es otra rama a tener en cuenta. Necesitarías aprender C/C++ y entender como funcionan los programas por debajo (nivel de CPU, RAM, etc..).
- Reversing (ingeniería inversa): Consiste en entender la lógica que hay detrás de una aplicación/sistema y de ser capaz de manipularla. Este campo es muy amplio y cada tipo de tecnología tendrá sus herramientas y características específicas. Por ejemplo, podrías aprender a reversear un apk de android o a modificar un juego para tener vidas infinitas.
Resumiendo, céntrate en las base que es lo más importante para ir avanzando poco a poco.