Cómo penetrar el firewall de Windows
El primer paso: proxy SOCKS
En términos generales, para evitar que los empleados internos sean holgazanes, el jefe a menudo cierra los puertos de protocolo de las herramientas de entretenimiento comunes, como el puerto UDP4000. utilizado por QQ, pero a menudo el puerto SOCKS 1080 no se cierra. De esta manera, si lo que desea utilizar es compatible con el proxy SOCKS, será fácil utilizar el proxy directamente.
SOCKS es una puerta de enlace a nivel de circuito desarrollada por David Koblas en 1990. Desde entonces, ha sido un estándar abierto en Internet RFC. SOCKS se ejecuta en la capa TCP de la pila de protocolos y su puerto común es 1080. A diferencia de Winsock, SOCKS no requiere que las aplicaciones sigan una plataforma de sistema operativo específica, como Windows como Winsock. El proxy SOCKS es diferente del proxy de la capa de aplicación y del proxy de la capa HTTP. Simplemente transmite paquetes de datos sin preocuparse por el protocolo de la aplicación (como las solicitudes FTP, HTTP y NNTP), por lo que el servidor proxy SOCKS es mucho más rápido que el servidor proxy de la capa de aplicación. , es precisamente porque el servidor proxy SOCKS tiene tal función que podemos conectarnos a Internet a través de él. Los proxies SOCKS de uso común incluyen SOCKS4 y SOCKS5. El proxy SOCKS4 solo admite el protocolo TCP y el proxy SOCKS5 admite los protocolos TCP y UDP. También admite varios mecanismos de autenticación, resolución de nombres de dominio del lado del servidor, etc. En pocas palabras, se pueden usar SOCKS4 y SOCKS5, pero lo contrario no es posible. Por ejemplo, QQ solo puede usar el proxy SOCKS5, mientras que FTP puede usar SOCKS4 y SOCKS5, porque el mecanismo de transmisión de datos de QQ es UDP. mientras que el mecanismo de transmisión de datos utilizado por FTP es TCP.
El protocolo SOCKS es un protocolo proxy casi universal. Aunque no puede comprender la estructura interna de los datos que reenvía, puede reenviar fielmente los paquetes de datos y completar las funciones que el protocolo originalmente debía realizar. La diferencia entre este y su proxy HTTP común es que el proxy HTTP se realiza a través del protocolo HTTP. El software del servidor proxy HTTP comprende la estructura interna del paquete de comunicación y realiza algunas modificaciones y conversiones en la comunicación durante el proceso de reenvío. Veamos cómo uso el proxy SOCKS para penetrar el firewall.
Primero echemos un vistazo a cómo usamos el proxy SOCKS en QQ. Primero, haga clic derecho en el ícono en el área de notificación de la barra de tareas de QQ, luego seleccione Parámetros del sistema, luego seleccione Configuración de red, seleccione Usar "Servidor proxy SOCKS5", complete la dirección del proxy SOCKS y el número de puerto que está utilizando (Figura 1 ), y puede hacer clic en Probar para ver si este proxy SOCKS5 está disponible. Después de la confirmación, su QQ está en línea a través del proxy SOCKS5 61.136.132.138:1080. Todos sus paquetes de datos ahora se envían a este servidor proxy y luego se reenvían, para que pueda omitir el puerto UDP4000 y pasar a través de él. También podemos usar otro QQ que pueda ver la IP para ver la IP donde se encuentra actualmente su QQ (como se muestra en la Figura 2. La IP mostrada es 61.136.132.138). Esto tiene una función adicional, es decir, oculta tu IP real, por lo que ya no necesitas ser invisible cuando chateas con extraños. La IP que ve es también la dirección IP del servidor proxy SOCKS.
Echemos un vistazo a cómo penetrar el firewall y utilizar la herramienta FTP AbsoluteFTP (Figura 3) para descargar cosas de Internet. AbsoluteFTP es una poderosa herramienta de descarga FTP que admite proxies SOCKS4 y SOCKS5 y tiene una interfaz china completa. Si su red de área local ha bloqueado el puerto 21 y no puede usar descargas FTP, puede usar este software para agregar un proxy SOCKS para evitar el firewall. Implementar la función FTP. FTP puede usar el proxy SOCKS4 o SOCKS5, a diferencia de QQ, que solo puede usar el proxy SOCKS5.
En la configuración de opciones de AbsoluteFTP, seleccione el firewall en la configuración global (Figura 4), luego puede elegir si desea usar el proxy SOCKS4 o SOCKS5, si se requiere autenticación de identidad, etc., y luego complete en el servidor proxy SOCKS y el puerto. Se requiere el nombre de usuario y la contraseña para la autenticación para que se pueda utilizar FTP a través del firewall.
El segundo paso: Socks2HTTP combinado con SocksCap32
En el primer paso, si la administración de red solo abre el puerto 80, cierre los puertos comúnmente utilizados por SOCKS o el software que desee. El uso del proxy SOCKS no lo admite, como Foxmail, o no puede encontrar un proxy SOCKS disponible (la cantidad de servidores proxy SOCKS disponibles en Internet es mucho menor que la cantidad de servidores proxy HTTP disponibles. En este momento, el primer truco). no funciona ¿Qué debo hacer? Consulte el segundo truco: Socks2HTTP combinado con SocksCap32. El resultado de usar los dos juntos es que siempre que tenga un proxy HTTP disponible, puede usar una variedad de software para evitar directamente el firewall independientemente de si es compatible con el proxy SOCKS. Lo vemos en dos situaciones.
1. El firewall ha cerrado el puerto SOCKS, pero el software que desea utilizar admite el proxy SOCKS.
En este caso, puede utilizar Socks2HTTP directamente. Desarrollado por Socks2HTTP(), es una herramienta que permite que todas las aplicaciones Winsock utilicen el proxy SOCKS. Cap significa sombrero en inglés. Como sugiere el nombre, SocksCap32 agrega un "sombrero" a la biblioteca de llamadas del sistema Winsock, para que se pueda usar todo. en el entorno de SocksCap, las llamadas Winsock generadas por la aplicación serán interceptadas por SocksCap y luego estas solicitudes se convertirán automáticamente en solicitudes a un proxy SOCKS específico. De esta manera, su aplicación que originalmente no admite el proxy SOCKS también se puede utilizar. . SocksCap32 admite proxies SOCKS4 y SOCKS5. En resumen, la función de SocksCap es convertir llamadas de Winsocks en llamadas SOCKS, de modo que el software que no admite la interfaz SOCKS, como la herramienta Telnet Cterm (todos los que a menudo usan BBS saben que es una poderosa herramienta para regar, una ¡pistola de agua imprescindible!), Outlook, FoxMail, etc. ¡también tienen interfaces SOCKS! Todo este software necesita llamar a la interfaz Winsock al establecer una conexión con un servidor en línea. A través de SocksCap, se convierten en llamadas SOCKS y se puede usar un proxy SOCKS. Lo que es muy interesante es que SocksCap puede convertir el proxy SOCKS en proxy HTTP, y Socks2HTTP puede convertir el proxy HTTP en proxy SOCKS. Con estos dos programas, podemos nadar en el mundo en línea. ¿Por qué usarlos en combinación? Debido a que SocksCap usa un proxy SOCKS, hay muy pocos proxies SOCKS y se dividen en SOCKS4 y SOCKS5, y SOCKS4 solo se puede usar como un proxy de protocolo TCP. Entonces, ¿cómo solucionarlo? Hay una manera de solucionarlo con Socks2HTTP. Hay muchos servidores proxy HTTP en Internet. Siempre que exista un proxy HTTP, existe un proxy SOCKS. Porque Socks2HTTP simula un proxy HTTP en un proxy SOCKS. Si coopera con el Socks2HTTP que acabamos de mencionar, puede penetrar el firewall y usar software que no tiene una interfaz SOCKS.
Ahora hay una versión china de SocksCap en Internet
(/softview.asp?softid=3021). Puede usarla después de la instalación de acuerdo con las indicaciones de la interfaz principal. (imagen
9) es la consola de SocksCap.
Para una mejor comprensión, dividí este proceso en varios pasos:
Paso 1: Primero configura tu Socks2HTTP como en la primera parte, completa el proxy HTTP disponible e inicia, luego Tendrá un servidor proxy SOCKS local 127.0.0.1, el puerto es 1080 y ahora puede usar este proxy SOCKS para configurar su SocksCap.
Paso 2: Ejecute SocksCap Si es la primera vez que lo ejecuta, el sistema le preguntará automáticamente si desea ingresar a la interfaz de configuración. Si no es la primera vez que lo ejecuta, puede seleccionar. Archivo → Configuración en SocksCap para ingresar a la interfaz de configuración como se muestra en la Figura 10.
Paso 3: en la interfaz de configuración de SocksCap, complete el proxy SOCKS local 127.0.0.1 simulado por Socks2HTTP, el puerto es 1080 y seleccione "SOCKS versión 5 (5)" → "Por" en el "Protocolo" "Determinar todos los nombres de forma remota". El resto, como la configuración de conexión directa, es para que algunas URL internas se puedan conectar directamente sin el proxy SOCKS. La sección de registro se puede configurar para generar registros. la causa del error de conexión. Podemos hacer otras cosas aquí. Algunos adoptan directamente la configuración predeterminada.
Paso 4: Crear un "elemento de identificación de la aplicación". El elemento de identificación de la aplicación es un acceso directo creado en SocksCap. Este acceso directo apunta a la herramienta que desea utilizar. Iniciar esta herramienta en SocksCap equivale a "dar" la capacidad de interfaz SOCKS de esta herramienta. Hay dos formas de crear este acceso directo:
1. Utilice el mouse para arrastrar la tecla de acceso directo Cterm en el escritorio a un espacio en blanco en SocksCap. Suelte el mouse y aparecerá un menú. Elemento de identificación" "El sistema creará automáticamente los elementos de identificación (ver Figura 11), simplemente haga clic en Aceptar.
2. También puede hacer clic en "Nuevo", completar el contenido correspondiente en el cuadro de diálogo emergente y hacer clic en Aceptar.
Paso 5: Ejecuta el programa. Haga doble clic en el acceso directo de Cterm recién creado en la consola de SocksCap para usarlo directamente. Por ejemplo, quiero conectarme a bbs.mit.edu (Figura 12). y el administrador de la red bloqueó Telnet. No puedo conectarme a este BBS en el puerto 23. Ahora, a través de Socks2HTTP y SocksCap, no solo puedo ir al extranjero, sino también usar el servicio Telnet para conectarme al BBS del MIT, ¡penetrante en el firewall! También se pueden utilizar otras herramientas, como FTP, Outlook, etc. Lo que vale la pena mencionar es que puede usar Outlook para recibir correos electrónicos de Hotmail. Si no existe tal método, aquellos de nosotros, los pobres en la red educativa (sin permiso para ir al extranjero), solo podemos usar el proxy HTTP para acceder. el sitio web de Hotmail. Recibir correo en modo WWW. Sería fantástico tener esto ahora. Equivale a equipar Outlook con una interfaz SOCKS y puede recibir correo directamente en Outlook.
El tercer truco: HTTPTunel
Los dos trucos anteriores pueden ser suficientes, pero el requisito previo para utilizar los dos trucos anteriores es que debe tener un proxy HTTP disponible y enviarlo desde usted. Todos los paquetes de datos se empaquetan y luego pasan por el proxy y luego llegan a su destino. Esto provocará dos problemas:
Primero: problema de velocidad, por ejemplo, los datos enviados desde A pasan por el proxy. B llega a C. Si no hay un firewall, los datos se envían directamente de A a C. Ahora, para evitar el firewall, los datos enviados desde A primero deben encapsularse para que puedan evitar el firewall y luego enviarse al agente B. y luego B Los datos se desbloquean y luego se pasan a C. Los datos devueltos por C también pasan por el mismo proceso. De esta manera, independientemente del tiempo que lleva encapsular y desencapsular los datos, simplemente atravesar un círculo tan grande a través de C definitivamente reducirá la velocidad, por lo que, en términos generales, definitivamente no es tan rápido como una conexión directa.
Segundo: Problemas de estabilidad causados por la excesiva dependencia de los servidores proxy. Los servidores proxy que se encuentran en Internet definitivamente no son muy estables. En muchos casos, es probable que se produzcan pérdidas de paquetes e interrupciones del servicio. De hecho, no tenemos que usar un proxy para transferir. Por ejemplo, tu amigo abre FTP en el dormitorio y luego pone una película maravillosa. Quieres verla, pero el administrador de red de tu LAN. Cerré el puerto FTP 21, así que no puedes. La ley no funciona, ¿qué debo hacer? Utilice HTTPTunnel. La palabra inglesa Tunnel significa túnel. Por lo general, HTTPTunnel se denomina túnel secreto HTTP. Su principio es disfrazar datos en forma de datos HTTP para pasar a través del firewall. Conexiones de datos virtuales para penetrar firewalls.
En pocas palabras, significa configurar un programa de conversión en ambos lados del firewall para encapsular los paquetes de datos originales que deben enviarse o recibirse en un formato de solicitud HTTP para engañar al firewall, de modo que no requiera otros servidores proxy y penetra directamente el firewall. HTTPTunnel solo tenía una versión Unix al principio, pero ahora alguien lo ha portado a la plataforma Windows. Incluye dos programas, htc y hts, donde htc es el cliente y echémosle un vistazo. Por ejemplo, la IP de la máquina con FTP habilitado es 192.168.1.231 y la IP de mi máquina local es 192.168.1.226. Ahora no puedo conectarme a FTP localmente debido al firewall. El proceso de uso de HTTPTunnel es el siguiente:
Paso 1: Iniciar el cliente HTTPTunnel en mi máquina (192.168.1.226). Inicie el modo de línea de comando de MS-DOS y luego ejecute el comando como se muestra en la Figura 13, donde htc es el programa cliente y el parámetro -f indica que todos los datos de 192.168.1.231:80 se reenviarán al puerto 8888. de la máquina local. Este puerto se puede seleccionar a voluntad, siempre que la máquina no esté ocupada.
Luego usamos Netstat para observar los puertos actualmente abiertos en esta máquina y encontramos que el puerto 8888 ya está escuchando (Figura 14).
Paso 2: inicie el servidor HTTPTunnel en la máquina de la otra parte y ejecute el comando "hts -f localhost:21 80". Este comando significa enviar todos los datos enviados por el puerto 21 del local. redirijalo a través del puerto 80 y abra el puerto 80 como puerto de escucha. Luego use Neststat para mirar su máquina y encontrará que el puerto 80 también está en estado de escucha (Figura 15).
Paso 3: Utilice FTP en mi máquina para conectarme al puerto 8888 de esta máquina (Imagen 16). Ahora que me he conectado a la máquina de la otra parte, veo que no hay ninguna película (Imagen 17). Jeje, date prisa. ¡Haz clic para descargar!
Pero ¿por qué la gente ve la dirección 127.0.0.1 en lugar de 192.168.1.231? Debido a que me estoy conectando al puerto 8888 de esta máquina, el firewall definitivamente no responderá porque no he enviado el paquete. Por supuesto, el firewall de la LAN no lo sabe. Ahora, después de conectarse al puerto 8888 de la máquina, los paquetes de datos FTP, ya sean información de control o información de datos, son disfrazados por HTC como paquetes de datos HTTP y luego enviados allí. A los ojos del firewall, todos estos son datos normales. , lo que equivale a engañar al firewall.
Cabe señalar que el uso de este método requiere la cooperación de otras máquinas, lo que significa iniciar un hts en su máquina y redirigir los servicios que proporciona, como FTP, etc., a lo permitido por el firewall en el puerto 80, para que pueda evitar el firewall con éxito. Algunas personas definitivamente preguntarán, si la máquina de la otra parte tiene un servicio WWW, es decir, su puerto 80 está escuchando, ¿entrará en conflicto? La ventaja de HTTPTunnel es que incluso si el puerto 80 estaba abierto en su máquina antes, no habrá problemas si lo usa ahora. El acceso web normal sigue la ruta anterior y el servicio de túnel redirigido tampoco tiene obstáculos. Además, algunas personas utilizaron el famoso sistema de detección de intrusos Snort para detectar este método, pero no fue descubierto. Está muy oculto.
Pero hay un último punto que es necesario recordar: todos estos trucos en realidad están aprovechando las vulnerabilidades en la configuración del firewall y la gestión de seguridad del sistema. Si te encuentras con un administrador de red obstinado, acechando en la puerta de enlace. Durante todo el día, veamos si hay alguna laguna que no se haya solucionado, o mejor aún, use TCPDump para capturar paquetes y analizarlos uno por uno. Entonces solo podemos rendirnos. Ups, estoy exhausto. Se acabó la salida de clase...