Cómo hackear un sistema informático

Posted on
Autor: Laura McKinney
Fecha De Creación: 4 Abril 2021
Fecha De Actualización: 15 Mayo 2024
Anonim
Cómo hackear un sistema informático - Conocimiento
Cómo hackear un sistema informático - Conocimiento

Contenido

En este artículo: Qué hacer antes de comenzar Introducción a un sistema Resumen del artículo Referencias

En los "buenos viejos tiempos" de la informática, la piratería se utilizaba para obtener información sobre los sistemas y técnicas utilizados en Internet. Más recientemente, y debido a algunos delincuentes, el término piratería ha adquirido una connotación más negativa. Por otro lado, hoy en día, muchas compañías están utilizando antiguos piratas informáticos para probar sus propios sistemas y descubrir sus fortalezas y debilidades. Estos antiguos piratas se han convertido en "piratas informáticos", que conocen y respetan los límites legales que no se deben exceder, y la confianza que inspiran en sus empleadores les permite ganar altos salarios. Si te sientes listo para sumergirte en el mundo de los piratas informáticos y aprender este arte, reserva un poco de tiempo para educarte sobre el tema.


etapas

Parte 1 Qué hacer antes de comenzar



  1. Aprende un lenguaje de programación. No tendrá que limitarse a un idioma en particular, y aquí hay algunos consejos al respecto.
    • El lenguaje C es un poderoso lenguaje de compilación con el que se generó el sistema operativo UNIX. Este lenguaje le enseñará (junto con el lenguaje Assembler) algo vital: cómo funciona la memoria de una computadora.
    • Lenguajes Python o Ruby que son potentes intérpretes de alto nivel utilizables para la automatización de tareas variadas.
    • El lenguaje Perl también es una opción razonable en este campo. Y aprender el lenguaje PHP será interesante porque se usa en la mayoría de las aplicaciones de bases de datos que se ejecutan en la web.
    • El conocimiento del script BASH también es esencial, ya que le permitirá manipular fácilmente el comportamiento de los sistemas operativos UNIX / LINUX. Este tipo de programación consiste en escribir archivos de script que harán la mayor parte del trabajo por usted.
    • Necesitará saber el idioma del ensamblador a su alcance. Este es el lenguaje de "bajo nivel" del procesador de su máquina. Hay varias variantes (una por familia de microprocesador). Finalmente, todos los programas ejecutados se traducen en instrucciones de ensamblador. Realmente nunca podrá modificar un programa si no conoce el ensamblador.



  2. Conoce exactamente tu sistema objetivo. La obtención de información sobre los componentes de hardware y software de este sistema se denomina "enumeración". Cuanto más sepa de antemano acerca de su objetivo, menos sorpresas tendrá después.

Parte 2 Sintroducción en un sistema



  1. Use un terminal Unix / Linux para ingresar sus comandos. En caso de que esté trabajando en Windows, Cygwin lo ayudará a emular un terminal Unix / Linux. El programa Nmap utiliza WinPCap en particular y no necesita CygWin para ejecutarse en Windows. Sin embargo, debe saber que Nmap funciona bastante mal en los sistemas Windows, porque carece de algunos zócalos básico. También debe usar sistemas Linux o BSD, que ofrecen más seguridad, flexibilidad y confiabilidad. Muchas herramientas muy útiles están preinstaladas en la mayoría de las distribuciones de Linux.
    • Desde las actualizaciones recientes de Windows 10 Fall Creators, puede encontrar un terminal Linux en la Tienda Windows para emular comandos Linux a través del Subsistema Windows Linux.



  2. Asegure su máquina en primer lugar. Asegúrese de comprender las técnicas comúnmente utilizadas para protegerse. Comience con lo básico: ¿encontró un servidor que aloja un sitio que ofrece actividades potencialmente no saludables o ilegales? Intenta hackearlo por todos los medios disponibles para ti. No lo modifique, solo use este sitio.


  3. Probar la actividad del sistema de destino. ¿Se puede llegar al sistema remoto? Mientras pueda usar la utilidad ping (incluida en la mayoría de los sistemas operativos) para verificar el estado de actividad del objetivo, no siempre podrá confiar en los resultados porque su funcionamiento se basa en el protocolo ICMP que puede ser fácilmente bloqueado por algunos administradores paranoicos del sistema.


  4. Determine el sistema operativo (SO) utilizado. Un escaneo de los puertos de entrada y salida, realizado mediante las utilidades POF o nmap le proporcionará un informe sobre los puertos abiertos, el sistema operativo remoto utilizado e incluso puede informarle sobre el tipo de firewall o enrutador utilizado para que pueda planificar el curso de su acción. Con nmap podrá detectar el tipo de sistema operativo remoto utilizado al configurar el interruptor "-O" en su línea de comando.


  5. Encuentre una ruta o puerto abierto en el sistema remoto. Los puertos más tradicionales como FTP (puerto 21) o HTTP (puerto 80) a menudo son los mejor protegidos y pueden ser vulnerables a los medios de ataque aún por descubrir.
    • Pruebe con otros puertos TCP y UDP que se hayan olvidado, como Telnet u otros puertos UDP abiertos para uso de LAN.
    • Un puerto abierto 22 generalmente representa evidencia de un servicio Secure Shell (SSH) que se ejecuta en el destino que a veces puede romperse.


  6. Descifra la contraseña o el procedimiento de autenticación. Hay varias formas de descifrar una contraseña, incluido el forzado. Forzar una contraseña es probar cada combinación posible contenida en un diccionario predefinido de un software de forzado.
    • A menudo se alienta a los usuarios a usar una contraseña compleja para que un posible intento de forzamiento tome el mayor tiempo posible. Sin embargo, las técnicas de forzado de software continúan mejorando dramáticamente en velocidad y eficiencia.
    • La mayoría de los algoritmos de hashing son débiles, y es posible aumentar significativamente la velocidad de craqueo explotando estas debilidades (ya que uno podría reducir en un 25% el algoritmo de cálculo MD5, lo que tendría el efecto de acelerarlo considerablemente. ).
    • Las últimas técnicas utilizan el procesador de la tarjeta gráfica como procesador auxiliar, lo que acelera significativamente el forzamiento de contraseñas.
    • Puedes intentar usar las tablas arco iris para hacer grietas lo más rápido posible. Tenga en cuenta, sin embargo, que descifrar una contraseña es válida solo si conoce el hash.
    • No intente todas las contraseñas posibles iniciando sesión en la máquina remota. Podría contaminar los informes del sistema, ser detectado por los sistemas de detección de intrusos, y tomaría años llegar allí.
    • Es posible usar una tableta rooteada, instalar un escáner TCP. Puede ver que la contraseña aparece en su proxy cuando se abra la dirección IP.
    • A menudo es más fácil encontrar otra forma de penetrar en un sistema que descifrar una contraseña.


  7. Obtenga el nivel de privilegio de superusuario. Intente obtener privilegios de "root" si está apuntando a una máquina Unix / Linux, o privilegios de administrador si está en un sistema Windows.
    • La mayor parte de la información de interés vital está protegida y necesitará algún nivel de autenticación para obtenerla. Para ver todos los archivos en una computadora, necesitará el nivel de privilegio "Superusuario", que es una cuenta de usuario correspondiente al nivel de usuario "raíz" en los sistemas operativos Linux y BSD.
    • Esta suele ser la cuenta "admin" predeterminada en los enrutadores (a menos que se haya cambiado antes). En los sistemas Windows, esta es la cuenta "Administrador".
    • Obtener acceso a una conexión no significa que pueda acceder a todo el sistema. Solo el Súper Usuario, la cuenta de Administrador en la cual el nivel de usuario "raíz", dependiendo del sistema operativo, puede acceder a todo el sistema.


  8. Usa varias tácticas. A menudo, para obtener el estado de Superusuario, tendrá que recurrir a tácticas como la de causar un "desbordamiento de desbordamiento de búfer", que tendrá el efecto de vaciar la memoria (volcado de memoria) y, por lo tanto, le permitirá inyectar codificar o realizar una tarea a un nivel superior al que normalmente se le permite.
    • Esto es lo que sucederá en sistemas tipo Unix si se establece el bit "SetUid" del programa con errores, y este programa se ejecutará como si fuera un usuario diferente (Super Usuario). , por ejemplo).
    • Solo escribir o encontrar un programa ejecutable no seguro en la máquina de destino le permitirá hacerlo.


  9. Crear acceso oculto a la puerta trasera. Es una buena idea que tendrá que asegurarse de su posibilidad de volver a este sistema una vez que haya obtenido el control del mismo. Esto se puede hacer modificando para este propósito un servicio importante del sistema de destino, como su servidor SSH. Sin embargo, debe tener en cuenta que este acceso de retorno puede borrarse durante una próxima actualización del sistema de destino. Un pirata informático realmente experimentado preferiría modificar el compilador (o más exactamente una de sus bibliotecas), de modo que cada programa una vez actualizado se convierta en un posible acceso de puerta trasera en el sistema de destino.


  10. Borra tus huellas. No permita que el administrador se dé cuenta de que su sistema ha sido intruso. No modifique el sitio web (si este es el caso) y no cree más archivos de los que necesita. No agregue ningún usuario al sistema. Actúa lo más rápido posible. Si necesita parchear un servidor como SSHD, asegúrese de que su contraseña esté integrada, de modo que si alguien intenta iniciar sesión con esta contraseña, el servidor les permita acceder, pero no pueden entregarla. No hay información crucial.