Red de conocimiento informático - Consumibles informáticos - Entran los maestros

Entran los maestros

1 Resumen

2. ¿Qué es ipc$?

3. ¿Qué es una sesión nula?

4. session do

5. Los puertos utilizados por ipc$

6. La importancia de las tuberías ipc en los ataques de piratería

7.

8. Razones de copia del error del archivo

Nueve. Acerca del comando AT y las restricciones de XP en ipc$

Diez cómo abrir el IPC$* del objetivo. ** share y otros *** recursos compartidos

Once algunos comandos que requieren shell para completarse

Doce comandos que pueden usarse en la invasión

Trece Comparación de Invasiones pasadas y presentes de ipc$

Cómo prevenir la intrusión de ipc$ en el día 14 del siglo XIX

Preguntas y respuestas seleccionadas sobre la intrusión de ipc$ en el día 15 del siglo XV

Un resumen

Nota: Los diversos temas tratados en este artículo De forma predeterminada, la situación ocurre en el entorno win NT/2000 y win98 no se incluirá en esta discusión.

2. ¿Qué es ipc$?

IPC$ (Conexión de proceso de Internet) es el único recurso para compartir "canalizaciones con nombre". Es una canalización con nombre abierta para permitir la comunicación entre procesos. , al proporcionar un nombre de usuario y una contraseña confiables, las dos partes pueden establecer un canal seguro e intercambiar datos cifrados a través de este canal, logrando así acceso a la computadora remota. IPC$ es una nueva característica de NT/2000. Tiene la característica de que sólo se permite establecer una conexión entre dos IP al mismo tiempo. Si bien NT/2000 proporciona la función ipc$, también abre la partición predeterminada cuando se instala el sistema por primera vez, es decir, todas las particiones lógicas (c$, d$, e$...) y el directorio del sistema winnt. O ventanas(admin$)***. Todo esto, la intención original de Microsoft es facilitar la gestión del administrador, pero, intencionadamente o no, conduce a una reducción de la seguridad del sistema.

Normalmente escuchamos a la gente hablar sobre la vulnerabilidad ipc$. De hecho, ipc$ no es una vulnerabilidad real. Creo que la razón por la que algunas personas dicen esto debe ser porque Microsoft la instaló ellos mismos. Esa 'puerta trasera': sesión nula. Entonces, ¿qué es una sesión vacía?

3. ¿Qué es una sesión vacía?

Antes de presentar la sesión vacía, debemos comprender cómo se establece una sesión segura.

En Windows NT 4.0, el protocolo de respuesta a desafío se utiliza para establecer una sesión con una máquina remota. Una sesión establecida exitosamente se convertirá en un túnel seguro a través del cual las dos partes pueden intercambiar información. El proceso es el siguiente:

1) El solicitante de la sesión (cliente) transmite un paquete de datos al receptor de la sesión (servidor), solicitando el establecimiento de un túnel seguro

2) El servidor genera un número aleatorio de 64 dígitos (desafío de implementación) y lo envía de vuelta al cliente.

3) El cliente obtiene el número de 64 dígitos generado por el servidor y lo codifica; con la contraseña de la cuenta que intenta establecer la sesión, y finaliza

El resultado se devuelve al servidor (implementación de la respuesta

4) El servidor acepta la respuesta y envía); a la Autenticación de seguridad local (LSA) verifica la respuesta utilizando la contraseña correcta del usuario para confirmar la identidad del solicitante. Si la cuenta del solicitante es local para el servidor, la verificación se produce localmente; si la cuenta solicitada es una cuenta de dominio, la respuesta se envía al controlador de dominio para su verificación. Cuando se verifica que la respuesta al desafío es correcta, se genera un token de acceso y se envía al cliente. El cliente utiliza este token de acceso para conectarse a los recursos del servidor hasta que finalice la sesión propuesta.

Lo anterior es el proceso general para establecer una sesión segura, pero ¿qué pasa con una sesión vacía?

Una sesión vacía es una sesión establecida con el servidor sin confianza (es decir, no se proporciona ningún nombre de usuario ni contraseña. Sin embargo, según el modelo de control de acceso de WIN2000, el establecimiento de una sesión vacía también requiere). un token Sin embargo, la sesión vacía no ha sido autenticada con información del usuario durante el proceso de establecimiento, por lo que el token no contiene información del usuario. Por lo tanto, esta sesión no puede permitir que se envíe información cifrada entre sistemas, pero esto no significa que la sesión esté vacía. El token de la sesión vacía no contiene el identificador de seguridad SID (que identifica al usuario y el grupo al que pertenece). Para una sesión vacía, el SID del token proporcionado por LSA es S-1-5-7. SID de la sesión vacía El nombre de usuario es: INICIO DE SESIÓN ANÓNIMO (este nombre de usuario se puede ver en la lista de usuarios, pero no se puede encontrar en la base de datos SAM y pertenece a la cuenta integrada del sistema. Este token de acceso contiene). siguiente grupo disfrazado:

Todos

Red

Bajo las restricciones de la política de seguridad, esta sesión vacía estará autorizada a acceder a toda la información que los dos anteriores los grupos tienen acceso. Entonces, ¿qué puedes hacer exactamente creando una sesión vacía?

¿Qué puede hacer una sesión de cuatro vacías?

Para NT, bajo la configuración de seguridad predeterminada, con la ayuda de una conexión vacía, puede enumerar usuarios y recursos compartidos en el host de destino. y acceder a todos los permisos ** Compartir, acceder a una pequeña parte del registro, etc., no tiene mucho valor de uso, tiene aún menos efecto en 2000, porque en Windows 2000 y versiones posteriores, de forma predeterminada solo los administradores y operadores de respaldo; tiene derecho a acceder al registro desde la red, es incómodo de implementar y requiere herramientas.

De esto podemos ver que esta sesión no confiable no es de mucha utilidad, pero a partir de una intrusión completa de ipc$, la sesión vacía es un trampolín indispensable, porque a partir de ella podemos obtener al usuario. lista, y la mayoría de las herramientas de escaneo de contraseñas débiles usan esta lista de usuarios para adivinar contraseñas. La exportación exitosa de la lista de usuarios aumenta en gran medida la tasa de éxito de la adivinación. Solo desde este punto, es suficiente explicar las consecuencias de las sesiones vacías. Es incorrecto decir que las sesiones vacías son inútiles. Los siguientes son algunos comandos específicos que se pueden usar en una sesión vacía:

1 Primero, establecemos una conexión vacía (por supuesto, esto requiere que el objetivo abra ipc$)

Comando: net use \ \ip\ipc$ "" /user:""

Nota: El comando anterior incluye cuatro espacios, un espacio entre net y use, uno después del uso y un espacio a la izquierda y derecho de la contraseña.

2 Ver los recursos compartidos del host remoto

Comando: net view \\ip

Explicación: La premisa es que después de que se establece una conexión vacía, use esto El comando puede ver los recursos compartidos del host remoto. Si activa el uso compartido, puede obtener los siguientes resultados, pero este comando no puede mostrar el uso compartido predeterminado.

Recursos compartidos en \\*.*.*.*

Notas de uso del tipo de nombre compartido de recurso

---- ------- ------------------------------------- -----

NETLOGON Disk Logon server share

SYSVOL Disk Logon server share

El comando se completó correctamente.

3 Verifique la hora actual del host remoto

Comando: net time \\ip

Explicación: use este comando para obtener la hora actual de un host remoto anfitrión.

4 Obtenga la lista de nombres de usuario NetBIOS del host remoto (debe abrir su propio NBT)

Comando: nbtstat -A ip

Utilice este comando para obtener un host remoto Una lista de nombres de usuario NetBIOS del host, que arroja los siguientes resultados:

Dirección IP del nodo: [*.*.*.*] ID de alcance: []

Tabla de nombres de máquinas remotas NetBIOS

Estado del tipo de nombre

--------------------- ------------------ ---------

SERVIDOR <00>ÚNICO Registrado

OYAMANISHI-H <00> GRUPO Registrado

OYAMANISHI-H <1C> GRUPO Registrado

SERVIDOR <20> ÚNICO Registrado

OYAMANISHI-H <1B> ÚNICO Registrado

OYAMANISHI-H <1E> GRUPO Registrado

SERVIDOR <03> ÚNICO Registrado

OYAMANISHI-H <1D> ÚNICO Registrado

.. __MSBROWSE__.<01> GRUPO Registrado

INet~Services < 1C> GRUPO Registrado

IS~SERVIDOR......<00> ÚNICO Registrado

Dirección MAC = 00-50-8B-9A-2D-37

Lo anterior es lo que hacemos a menudo usando sesiones vacías. Parece que podemos obtener muchas cosas. Sin embargo, una cosa a tener en cuenta: la operación de establecer una conexión IPC$ dejará un registro en el Registro de Eventos, independientemente de si inicia sesión exitosamente o no. Bien, entonces echemos un vistazo al puerto utilizado por ipc$.

Cinco puertos utilizados por ipc$

Primero, comprendamos algunos conocimientos básicos:

1 SMB: (Server Message Block) familia de protocolos de Windows, utilizado para archivos la impresión es el servicio más exclusivo

2 NBT: (NETBios Over TCP/IP) utiliza el puerto 137 (UDP) 138 (UDP) 139 (TCP) para realizar la interconexión de red NETBIOS basada en el protocolo TCP/IP.

3 En Windows NT, SMB se implementa en base a NBT, es decir, utilizando el puerto 139 (TCP), en Windows 2000, además de estar basado en NBT, SMB también se puede implementar directamente a través del puerto 445; .

Con estos conocimientos básicos, podemos analizar más a fondo la elección del puerto para acceder a la red compartida:

Para el cliente win2000 (iniciador):

1 Si NBT Si se le permite conectarse al servidor, el cliente intentará acceder a los puertos 139 y 445 al mismo tiempo. Si el puerto 445 responde, enviará un paquete RST al puerto 139 para desconectarse y utilizar el puerto 455. Realice una sesión. 445 no responde, se usa el puerto 139. Si ambos puertos no responden, la sesión falla.

2 Si el servidor está conectado cuando NBT está deshabilitado, el cliente solo intentará acceder al puerto 445. El puerto 445 no responde, la sesión fallará.

Para servidor win2000:

1 Si se permite NBT, los puertos UDP 137, 138 y TCP 139, 445 estarán abiertos (ESCUCHA); 2 Si NBT está deshabilitado, solo el puerto 445 está abierto.

La selección de puerto para la sesión ipc$ que establecimos también sigue los principios anteriores. Obviamente, si el servidor remoto no está escuchando en el puerto 139 o 445, no se puede establecer la sesión ipc$.

La importancia de seis canalizaciones ipc en los ataques de piratería

La canalización ipc fue diseñada originalmente por Microsoft para facilitar a los administradores la gestión remota. Sin embargo, desde la perspectiva de los intrusos, el uso de open. Los hosts de ipc pipelines parecen ser más fáciles de conseguir. A través del canal IPC, podemos llamar de forma remota a algunas funciones del sistema (en su mayoría implementadas a través de herramientas, pero requieren los permisos correspondientes), lo que a menudo es la clave del éxito o el fracaso de una intrusión. Si no los considera, solo desde el punto de vista de la transferencia de archivos, el canal ipc ha brindado un gran apoyo a los intrusos e incluso se ha convertido en el medio de transmisión más importante. Por lo tanto, siempre puede ver a algunos amigos en los foros principales porque no pueden. Abrí el archivo. Abrí el tubo ipc de la máquina de destino pero no pude hacer nada y grité pidiendo ayuda. Por supuesto, no podemos ignorar el importante papel que desempeñan los permisos en la canalización de IPC. Debe haber experimentado la vergüenza de una sesión vacía, no hay nada que podamos hacer si se abre la canalización. Pero una vez que el intruso obtenga los derechos de administrador, el arma de doble filo del oleoducto IPC mostrará su lado feroz.

Siete razones comunes para fallas en la conexión ipc$

Las siguientes son algunas razones comunes para fallas en la conexión ipc$:

1 La conexión IPC es Windows NT y superior. Las funciones únicas del sistema no se pueden ejecutar en sistemas Windows 9.x/Me porque requieren el uso de muchas funciones DLL en Windows NT. En otras palabras, sólo nt/2000/xp pueden establecer conexiones ipc$ entre sí, 98/me. no se puede establecer una conexión ipc$;

2 Si desea establecer con éxito una conexión ipc$, el respondedor debe habilitar el uso compartido de ipc$***, incluso si es una conexión vacía si el respondedor se cierra. Sin compartir ipc$***, no se establecerá la conexión;

3 El iniciador de la conexión no ha iniciado el servicio Lanmanworkstation (nombre para mostrar: Estación de trabajo): proporciona enlaces de red y comunicaciones, y sin él, el el iniciador no puede iniciar la solicitud de conexión

4 El respondedor no inició el servicio Lanmanserver (nombre para mostrar: Servidor): proporciona soporte RPC, archivos, impresión y uso compartido de canalizaciones con nombre, ipc$ depende de este servicio, no El host no podrá responder a la solicitud de conexión del iniciador, pero la conexión ipc$ aún se puede iniciar sin ella.

5 El respondedor no ha iniciado NetLogon, que admite identidades de inicio de sesión de cuenta de paso para; computadoras en la red (pero esto parece que no hay muchos casos)

6 Los puertos 139 y 445 del respondedor no están en estado de escucha o bloqueados por el firewall; 7 El iniciador de la conexión no abre los puertos 139 y 445;

p>

8 Error de nombre de usuario o contraseña: si se produce tal error, el sistema le dará un mensaje de error similar a 'No se puede actualizar contraseña' (obviamente una sesión vacía excluye este error);

9 Error de entrada de comando: puede haber más o menos espacios Cuando el nombre de usuario y la contraseña no contienen espacios, las comillas dobles en ambos lados. se puede omitir Si la contraseña está vacía, puede ingresar directamente dos comillas ""

10 Si la otra parte reinicia la computadora cuando se ha establecido la conexión, la conexión ipc$ se desconectará automáticamente. es necesario restablecer la conexión.

Además, también puedes analizar el motivo en función del número de error devuelto:

Error número 5, acceso denegado: Es muy probable que el usuario que estás utilizando no tenga derechos de administrador

Error número 51, Windows no puede encontrar la ruta de red: hay un problema con la red

Error número 53, no puede encontrar la ruta de red: la dirección IP es; incorrecto; el destino no está encendido; el servicio lanmanserver de destino no está iniciado; el destino tiene Firewall (filtrado de puerto)

Error número 67, nombre de red no encontrado: su servicio lanmanworkstation no está iniciado o el el objetivo ha eliminado ipc$;

Error número 1219, credenciales proporcionadas. Conflicto con un conjunto de credenciales existente: ya ha establecido un ipc$ con la otra parte, elimínelo e inténtelo de nuevo.

Error número 1326, nombre de usuario desconocido o contraseña incorrecta: el motivo es obvio;

Error número 1792, al intentar iniciar sesión, pero el servicio de inicio de sesión de red no se inicia: el servicio NetLogon de destino no se inicia;

Error número 2242, la contraseña de este usuario ha caducado: el objetivo tiene una política de cuenta, lo que obliga a requisitos periódicos de cambio de contraseña.