
Continuamos a conversa para casos interessantes no trabalho de pentesters. No último
post, falamos sobre testes de penetração externa, hoje falaremos dos testes de teste interno mais interessantes que implementamos recentemente. A essência deles é que devemos, estando no perímetro interno do cliente, receber o máximo de privilégios no domínio e obter quaisquer dados importantes. Por acaso ficou surpreso. Mas as primeiras coisas primeiro.
Caso 1. O gerenciador de senhas é bom, mas eles precisam poder usar
Realizamos testes de penetração interna para um grande cliente que já tinha administradores de sistema treinados e um serviço de IS. No decorrer do trabalho, recebemos várias contas com as quais já podíamos acessar a rede e conectar-se às máquinas de outros usuários. Em algum momento, eles se instalaram no carro de um dos administradores de sistema e encontraram um eldorado lá. O administrador do sistema usou senhas realmente complexas (seria difícil encontrá-las) e até mesmo as armazenou em keepass. Mas aqui está a má sorte: o próprio gerenciador de senhas nunca foi bloqueado - não depois de 15 minutos ou no momento do bloqueio da tela. Com esse bônus, obtivemos direitos administrativos em sistemas críticos de clientes, sem ruídos e poeira.
Outro cliente teve um caso semelhante. Senhas também complicadas, também comuns, embora ainda houvesse um bloqueio automático após 15 minutos. Como poderíamos usar isso? Eles esperaram até o administrador bloquear a área de trabalho e partir (para o almoço?). Então era uma questão pequena.
Se você usa gerenciadores de senhas, use-os com sabedoria - ative a opção de bloqueio com uma tela de bloqueio e na ausência de atividade por 1 a 5 minutos.
Caso 2. Empregados demitidos
Muitas vezes, durante os protestos internos, obtemos acesso selecionando senhas - os usuários geralmente são preguiçosos para criar combinações complexas, especialmente quando a política de senhas exige atualizá-las todos os meses. Muitas vezes, os números simplesmente mudam - então, superpassword_03.2019 um mês depois se transforma em superpassword_04.2019 e mais abaixo na lista.
Mas, às vezes, os clientes surgem do nada. Portanto, ao realizar um ataque de pulverização de senha em uma das empresas, obtivemos várias contas e uma delas foi especialmente interessante para nós: ela tinha direitos bastante amplos, embora não direitos de administrador. Uma senha leve foi definida para ela (qaz12345), e os comentários sobre essa entrada no AD indicaram que o funcionário foi demitido - a julgar pela data, quase um ano atrás. Ou seja, após a demissão, a conta não foi bloqueada, basta redefinir a senha para "padrão" e definir a opção "alterar senha no primeiro login". Para a felicidade do cliente, fomos os primeiros convidados a fazer isso.
Caso 3. Patches? Nah, não
A parte mais difícil do teste interno é obter a primeira conta. Há muitas ferramentas e maneiras de fazer isso, começando com um desfile de espionagem no escritório, procurando adesivos com senhas e pegando os aflitos com um Wi-Fi clonado no escritório, terminando com ataques ao Kerberos e quebra de contas. Mas, às vezes, mesmo com a verificação inicial, você pode encontrar softwares que ninguém atualiza há dez mil anos (por que se preocupar em atualizar o software na infraestrutura interna?).
Em um desses projetos, eles encontraram o software de gerenciamento da HP, no qual o RCE foi encontrado sem autenticação - a partir dele, eles fizeram parte das contas.
¯ \ _ (ツ) _ / ¯
Parecia que tudo seria mais simples - Mimikatz, e o problema está no chapéu, mas as contas recebidas não possuíam os privilégios de que precisávamos. Como se costuma dizer, nossa força está na prontidão para a nuvem: usando a magia do nmap e o script smb-enum-shares, descobrimos que uma das contas tinha direitos de administrador local no servidor de teste, no qual os administradores de domínio estavam envolvidos ativamente naquele momento =).
Caso 4. Fechaduras
Finalmente, vamos falar um pouco sobre o possível bloqueio de acesso. Trabalho no "vnutryanka" que realizamos com mais frequência com acesso remoto. O esquema é assim: nos conectamos à VPN, obtemos o endereço interno e depois nos agarramos à máquina alocada para nós via RDP. E com esta máquina já estamos começando a realizar trabalhos, mas para isso precisamos transmitir de alguma forma nossas ferramentas. Muitos de nossos clientes usam servidores proxy com listas brancas de sites, às vezes até com listas brancas de portas, para acessar a Internet (por exemplo, você pode se conectar a um site com a porta 80, mas não pode mais se conectar ao 8081). Isso realmente torna o trabalho um pouco mais difícil, especialmente se copiar e colar através do RDP for proibido.
Mas onde em nosso negócio sem nuances. Um cliente tinha regras muito rígidas e não podíamos encher nossas ferramentas de maneira oficial, por assim dizer, eles impediam a penetração pela “entrada principal”. Tipo, aqui está uma máquina virtual e direitos mínimos para você - sofra como hackers reais.
Não tive que sofrer por muito tempo. O proxy realmente bloqueou bastante, nem mesmo era possível conectar-se ao servidor http (não está nas listas brancas), copiar e colar era proibido, o navegador se recusava a ir a qualquer lugar, exceto http (80 / tcp) e https (443 / tcp), e em algum lugar que não seja portais internos. Tentamos usar o PowerShell - ele também não funciona, ele não fica sem proxy e os proxies o proíbem. Mas o utilitário FTP embutido do Windows funcionou bem - não havia regras no firewall que bloqueariam esse tráfego. Por isso, arrastamos todas as nossas ferramentas para dentro do perímetro e conseguimos fazer um ótimo trabalho.
No final
Vou repetir as recomendações da parte anterior, porque a repetição é a mãe dos ensinamentos da
gagueira . Realize testes periódicos de penetração - eles ajudarão você a encontrar pontos delicados em sua defesa, como, por exemplo, no caso 3. Você pode considerar que não é necessário corrigir os sistemas no perímetro interno, mas às vezes leva a graves conseqüências.
Construa um sistema de gerenciamento de patches - elimine não apenas vulnerabilidades de "alto perfil" (como EternalBlue ou BlueKeep), mas também menos conhecidas, mas não menos perigosas no caso de sua operação (como é o caso do HP AM). Em resumo, acompanhe todos os seus sistemas.