Cómo disfrazar el sistema Linux Establecer la ilusión del sistema para piratas informáticos

  

Los piratas informáticos pueden escanear fácilmente las computadoras en la red con herramientas u otros medios para encontrar vulnerabilidades en el sistema y luego atacarlas.

Al disfrazar el sistema Linux y configurar la ilusión del sistema para los piratas informáticos, es posible aumentar la dificultad del análisis de los piratas informáticos del sistema y atraerlos para que se desvíen, lo que mejora aún más la seguridad del sistema informático. Tomemos como ejemplo a Red Hat Linux para introducir algunos métodos comunes de enmascaramiento del sistema Linux para varios hackers.

Para servicios HTTP

Al analizar el tipo de servidor web, puede adivinar aproximadamente el tipo de sistema operativo. Por ejemplo, Windows usa IIS para proporcionar servicios HTTP y el más común es Apache.

No hay ningún mecanismo de protección de la información en la configuración predeterminada de Apache y se permite la navegación en el directorio. Al navegar por el directorio, generalmente puede obtener información como "Apache /1.3.27 Server at apache.linuxforum.net Port 80" o "Apache /2.0.49 (Unix) PHP /4.3.8".

La información relacionada con Apache se puede ocultar modificando el parámetro ServerTokens en el archivo de configuración. Sin embargo, Apache que ejecuta Red Hat Linux es un programa compilado. La información de solicitud se compila en el programa. Para ocultar esta información, debe modificar el código fuente de Apache. Luego, vuelva a compilar el instalador para reemplazar las solicitudes.

Usando Apache 2.0.50 como ejemplo, edite el archivo ap_release.h y modifique " #define AP_SERVER_BASEPRODUCT "Apache" """ # " #define "AP_SERVER_BASEPRODUCT" Microsoft-IIS /5.0 \\ " ". Edite el archivo os /unix /os.h y modifique " #define PLATFORM \\ " Unix \\ " " como " #define PLATFORM \\ " Win32 \\ " ". Después de la modificación, recompile e instale Apache.

Una vez completada la instalación de Apache, modifique el archivo de configuración httpd.conf y cambie "ServerTokens Full" a "ServerTokens Prod"; cambie "ServerSignature On" a "ServerSignature Off" y guarde y salga. Después de reiniciar Apache, use la herramienta para escanear y encontrar que el sistema operativo es Windows en el mensaje de aviso.

Para servicios FTP

A través del servicio FTP, también puede especular sobre el tipo de sistema operativo. Por ejemplo, el servicio FTP en Windows es principalmente Serv-U, mientras que Linux se usa comúnmente vsftpd, proftpd y pureftpd. Software

Usando proftpd como ejemplo, modifique el archivo de configuración proftpd.conf y agregue el siguiente contenido:


El siguiente es el fragmento de código: ServerIdent on \\ " Serv-U FTP Server v5.0 para WinSock ready ... \\ "


Después de guardar y salir, reinicie el servicio proftpd e inicie sesión en el servidor de FTP con la información modificada para la prueba:


Aquí está el código Fragmento: C: \\\\ > ftp 192.168.0.1 Conectado a 192.168.0.1 220 Serv-U FTP Server v5.0 para WinSock listo ... Usuario (192.168.0.1:(none)): 331 Contraseña requerida para (ninguno Contraseña: 530 Inicio de sesión incorrecto. Ftp > quit 221 Goodbye


Entonces, en la superficie, el servidor es un Windows con Serv-U.

Para el valor de retorno TTL

Puede usar el comando ping para sondear un host y puede adivinar el tipo de sistema operativo basado en la base TTL. Para una red que no pasa ninguna puerta de enlace y ruta, el valor TTL obtenido haciendo ping directamente al otro sistema se denomina "base TTL". En la red, el TTL se reduce en 1 por cada paquete que pasa a través del enrutador. Cuando el TTL es 0, el paquete se descarta.

Normalmente, la base TTL de Windows es 128, mientras que la base TTL de Red Hat Linux y Solaris es 255. FreeBSD y la nueva versión de Red Hat Linux tienen una base TTL de 64. Por ejemplo, haga ping a un sistema de Red Hat, la pantalla es la siguiente:


A continuación se muestra un fragmento de código: Pinging 192.168.0.1 con 32 bytes de datos: Respuesta de 192.168.0.1: bytes = 32 tiempo < 10ms TTL = 64 Respuesta de 192.168.0.1: bytes = 32 tiempo < 10ms TTL = 64 Respuesta de 192.168.0.1: bytes = 32 tiempo < 10ms TTL = 64 Respuesta de 192.168.0.1: bytes = 32 tiempo < 10ms TTL = 64 Ping Estadísticas para 192.168.0.1: Paquetes: Enviados = 4, Recibidos = 4, Perdidos = 0 (0% de pérdida), Viaje de ida y vuelta aproximado en milisegundos: Mínimo = 0 ms, Máximo = 0 ms, Promedio = 0 ms

El comando modifica la base TTL de Red Hat Linux a 128 (que originalmente es 64):



El siguiente es el fragmento de código: # echo 128 > /proc /sys /net /ipv4 /Ip_default_ttl


Para que la configuración sea permanente, puede modificar el archivo de configuración /etc/sysctl.conf y agregar la siguiente línea:



Aquí está el código Fragmento: net.ipv4.ip_default_ttl = 1 28


Después de guardar y salir, haga ping a 192.168.0.1, la base TTL se convierte en 128.



Aquí está el fragmento de código: #iptables -I INPUT -s! xx.xx.xx.xx -p tcp --dport 22 -j DROP


Para 3389 puertos y 22 puertos

A veces, al escanear 3389 puertos y 22 puertos, también puede especular sobre el tipo de sistema operativo. Windows generalmente utiliza el puerto 3389 del protocolo TCP para el control remoto, mientras que Linux puede usar el puerto 22 del protocolo TCP para proporcionar un servicio SSH con transmisión cifrada.

Por seguridad, puede utilizar iptables para limitar los inicios de sesión SSH de 22 puertos, de modo que no existan exploraciones de IP no autorizadas en los puertos TCP 22:



Es el fragmento de código: #iptables -I INPUT -s! Xx.xx.xx.xx -p tcp --dport 22 -j DROP


Utilizando iptables, transfiera el puerto TCP 3389 de esta máquina a En otras computadoras con puertos 3389, el sistema Linux pretende ser un puerto TCP 3389 que proporciona servicios. El comando es el siguiente:



El siguiente es el fragmento de código: #echo 1 > /proc /sys /net /ipv4 /ip_forward #iptables -t nat -I PREROUTING -p tcp - -dport 3389 -j DNAT - a xx.xx.xx.xx #iptables -t nat -I POSTROUTING -p tcp --dport 3389 -j MASQUERADE


El primer comando indica los datos permitidos Reenvío de paquetes; el segundo comando indica el reenvío TCP 3389 a xx.xx.xx.xx; el tercer comando indica que el paquete de reenvío implementa la "ruta bidireccional" para establecer un canal de retorno correcto para el paquete. Si desea que el reenvío sea permanente, puede agregar el comando anterior al archivo /etc/rc.local.

Por lo tanto, cuando un hacker escanea el puerto abierto por el servidor, no puede encontrar el puerto 22, pero ve un puerto enmascarado 3389, que no puede determinar correctamente el tipo de sistema operativo.

Para netcraft

netcraft es un motor de escaneo muy poderoso. Puede conocer el sistema operativo, el programa de servicio web y el tiempo de arranque del servidor (Uptime) del servidor probado a través de un simple TCP 80. Y otra información.

Los métodos descritos anteriormente no son efectivos para netcraft. Para netcraft, puede usar iptables para enmascarar el sistema, de modo que netcraft juzgue mal el sistema operativo:



El siguiente es el fragmento de código: #iptables -t nat -I PREROUTING -s 195.92.95.0 /24 -p tcp --dport 80 -j DNAT - to xx.xx.xx.xx #iptables -t nat -I POSTROUTING -s 195.92.95.0/24 -p tcp --dport 80 -j MASQUERADE


Debido al descubrimiento del paquete, netcraft tiene más de un servidor, por lo que necesita reenviar y falsificar el segmento de red donde se encuentra.

Resumen

El método anterior solo puede prevenir y bloquear el análisis de vulnerabilidades del sistema por parte de piratas informáticos desde un cierto ángulo y, hasta cierto punto, reducir la posibilidad de que una computadora sea atacada, pero sigue siendo " El anti-caballero, no contra los villanos, es solo para brindarle una nueva idea de aprendizaje y uso.

Copyright © Conocimiento de Windows All Rights Reserved