Security WatchSaltos de ilha: armadilha em forma de brindes

Jesper M. Johansson

A técnica de saltos de ilha – penetrar uma rede através de um link fraco e então saltar entre os sistemas nessa rede – existe há anos. Mas ela continua tomando novas dimensões. Nos atuais ambientes de TI que têm preocupação com a segurança, as pessoas são freqüentemente o link mais fraco e os usuários maliciosos estão

sempre buscando formas de usar isso em vantagem própria (considere o phishing e outras formas de engenharia social). Essa combinação pode ser fatal para sua rede.

Um dos melhores casos em que se tirou vantagem do elemento humano foi perpetrado por Steve Stasiukonis, da Secure Network Technologies, durante um teste de penetração para um cliente. Ele implantou no estacionamento do cliente unidades flash USB, cada uma delas com um cavalo de Tróia instalado. Quando os funcionários chegaram para trabalhar na manhã, eles estavam bem empolgados para localizar os gadgets gratuitos distribuídos no estacionamento. Os funcionários coletaram ansiosamente as unidades USB e as conectaram nos primeiros computadores que viram: suas próprias estações de trabalho.

Talvez alguns funcionários fossem inteligentes o suficiente para ignorar essas unidades USB, e é possível que algumas delas fossem descartadas, mas o fato é que basta que apenas um usuário com uma unidade infecte seu próprio sistema e forneça um gateway na rede. Stasiukonis fez esse exercício como um teste, é claro, mas essa técnica foi utilizada por criminosos reais para se infiltrarem em grandes redes corporativas.

As unidades flash USB estão em toda parte atualmente. Em praticamente todas as conferências, há algum fornecedor oferecendo-as como brinde. Essas unidades podem não ter muita capacidade, mas não é necessário muito espaço de armazenamento para se assumir o controle de uma rede inteira. Nessa série de duas partes, investigarei esse tipo de ataque e mostrei formas de ajudá-lo a reduzir o risco. Na edição deste mês, discutirei o que exatamente as unidades flash USB fazem e o que você pode fazer para controlá-las. Na edição do próximo mês da TechNet Magazine, mostrarei como você pode conter um ataque a um único ou pequeno conjunto de sistemas na rede.

Os detalhes técnicos do ataque são, na verdade, bem simples. Todos eles iniciam com uma unidade flash USB infectada sendo inserida em um único computador. O que ocorre então depende da carga nessa unidade e, é claro, de quão ingênuo é o usuário.

Introdução

No palanque havia um laptop autônomo. O palestrante estava ocupado tentando se familiarizar com o público antes de iniciar sua apresentação. O laptop em si estava bloqueado, mas isso não foi muito significativo. O invasor foi para o palanque e ali permaneceu um pouco, aparentando estar apenas aguardando que o palestrante retornasse. Como esses palanques são desenvolvidos para ocultar “itens feios”, como computadores, portas USB, etc., as mãos dos invasores também não são vistas. Assim que a unidade flash USB foi inserida no computador, demorou apenas alguns segundos para que o ataque fosse concluído.

Há algumas variações óbvias sobre esse tema específico. Por exemplo, quando eu costumava viajar pelo mundo palestrando mensalmente, quase sempre, quando eu terminava, havia algumas pessoas pedindo uma cópia dos meus slides. Minha resposta era sempre que eles deixassem um cartão e que me enviassem um email. Por que eu faria isso quando todos apontavam ansiosos uma unidade flash USB na minha direção? Porque eu conheço ferramentas como USB Hacksaw e Switchblade. (Se você não estiver familiarizado com essas ferramentas, consulte wiki.hak5.org.)

Basicamente, essas ferramentas permitem que praticamente qualquer um explore, com muita facilidade, pessoas que deixam suas portas USB desprotegidas. Por exemplo, a ferramenta Switchblade pode despejar o seguinte:

  • Informações do sistema
  • Todos os serviços da rede
  • Uma lista de portas na escuta
  • Todas as chaves de produto de produtos Microsoft no computador
  • O banco de dados de senha local
  • A senha de quaisquer redes sem fio que o computador utilize
  • Todas as senhas de rede que o usuário atualmente conectado tiver armazenado no computador
  • Internet Explorer®, Messenger, Firefox e senhas de email
  • Os segredos da LSA (Local Security Authority, Autoridade de segurança local), que contêm todas as senhas da conta de serviço em texto não criptografado
  • Uma lista dos patches instalados
  • Um histórico recente da navegação

Tudo isso vai para um arquivo de log na unidade flash e leva apenas 45 segundos.

A ferramenta Hacksaw é uma versão levemente modificada; ela instala um cavalo de Tróia no computador, que monitora todos os eventos de inserção de unidade flash USB. Em seguida, ela envia por email para o invasor todos os documentos de todas as unidades flash subseqüentemente inseridas no computador.

As ferramentas que abordamos até o momento usam o U3 (u3.com), uma tecnologia desenvolvida para permitir que os usuários carreguem os programas consigo em uma unidade flash. Em resumo, uma unidade flash habilitada com U3 dissimula sua presença. Ela informa ao SO que é, na realidade, um hub USB com uma unidade flash e um CD conectado a ela. As versões do Windows® anteriores ao Windows Vista® executarão automaticamente, por padrão, programas designados no arquivo autorun.inf em CDs, mas não em unidades USB. Ao se camuflar, a unidade flash USB habilitada com U3 engana o OS ao executar automaticamente algo denominado iniciador de U3. O iniciador de U3, por sua vez, poderá iniciar os programas, apresentar a você um menu ou realizar qualquer ação que você mesmo faria no computador.

Tudo que as ferramentas de exploração fazem é substituir o iniciador pelo código de exploração. Assim que a unidade flash for conectada a um sistema Windows XP, a ferramenta de exploração será executada automaticamente. No Windows Vista, o fluxo de decisão de Reprodução Automática funciona de forma diferente. A Execução Automática está realmente habilitada em dispositivos removíveis, como CDs. Isso significa que algum tipo de ação ocorrerá quando o dispositivo for inserido. Por padrão, será exibida a caixa de diálogo da Reprodução Automática, como mostra a Figura 1.

Figura 1 A caixa de diálogo padrão de Reprodução Automática será exibida quando um usuário inserir uma unidade removível com imagens

Figura 1** A caixa de diálogo padrão de Reprodução Automática será exibida quando um usuário inserir uma unidade removível com imagens **

Observe que a caixa de diálogo na Figura 1 tem uma opção para "Always do this for pictures" (Sempre fazer isso para imagens). Isso define uma opção de Reprodução Automática, que pode ser configurada no Painel de Controle, como na Figura 2.

Figura 2 Configuração de Reprodução Automática no Windows Vista

Figura 2** Configuração de Reprodução Automática no Windows Vista **(Clique na imagem para aumentar a exibição)

A configuração de Reprodução Automática é especialmente interessante para "Software e jogos". Por definição, isso significa que a unidade removível tem um arquivo autorun.inf que especifica que algum programa seja executado. As configurações na Figura 2 relacionadas a "Software e jogos" são armazenadas na seguinte chave de registro:

Hive:    HKEY_CURRENT_USER
Key:    \Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\
UserChosenExecuteHandlers\AutorunINFLegacyArrival 
Value: (Default)
Data:
MSAutoRun – automatically executes the program specified in the autorun.inf file
   
MSPromptEachTime – prompts the user, using strings specified in the autorun.inf file, if available

Como não é necessário ser um administrador para modificar essas configurações, os usuários podem defini-las como desejarem, incluindo a execução automática de qualquer malware, como o que estava na unidade encontrada no estacionamento. Na verdade, eles podem fazer isso marcando a caixa apropriada na caixa de diálogo de Reprodução Automática.

Gerenciando a Reprodução Automática na sua rede

Como administrador, há várias formas de gerenciar a Reprodução Automática em toda a sua rede. Primeiramente, você pode impedir que um usuário habilite a Reprodução Automática para mídia removível e CDs modificando a configuração NoDriveTypeAutoRun, que controla para quais tipos de unidade a Reprodução Automática está habilitada. O Windows XP é fornecido com NoDriveTypeAutoRun definido como 0x95, o que desabilita a Reprodução Automática em tipos de unidades, unidades de rede e dispositivos removíveis desconhecidos. Iniciando com o Windows XP SP2, por padrão, a configuração NoDriveTypeAutoRun está configurada como 0x91. Isso habilita a Reprodução Automática em dispositivos de armazenamento removíveis. Usando a Diretiva de Grupo, há uma configuração em Configuração do Usuário\Modelos Administrativos\Componentes do Windows\Diretivas de Reprodução Automática que permite que você gerencie a configuração NoDriveTypeAutoRun. Ao habilitar a configuração "Turn off AutoPlay setting and select CD-ROM and Removable Drives" (Desativar a configuração de reprodução automática e selecionar CD-ROM e unidades removíveis), você desabilitará a Reprodução Automática em ambos os tipos de unidades.

Conseqüentemente, o usuário não obterá a caixa de diálogo de Reprodução Automática da Figura 1. Na verdade, nada acontece quando o usuário insere a unidade. No entanto, essa pode não ser uma solução ideal, por causar confusão para o usuário que não estiver certo sobre como acessar as informações necessárias na unidade.

O que você provavelmente deseja é controlar quais tipos de conteúdo podem ser reproduzidos automaticamente. Você pode fazer isso, em certa medida, no Windows Vista, pois esse SO tem efetivamente dois níveis de controle em relação à execução automática de software. Outro controle na Diretiva de Grupo, mostrado na Figura 3, permite que você desabilite a Reprodução Automática de software usando arquivos autorun.inf, enquanto mantém intacto o restante do comportamento de Reprodução Automática do Windows Vista.

Figura 3 Desabilitar arquivos autorun.inf com a Diretiva de Grupo

Figura 3** Desabilitar arquivos autorun.inf com a Diretiva de Grupo **(Clique na imagem para aumentar a exibição)

O fluxo de decisão é um pouco complicado quando se trata de Reprodução Automática, e talvez seja mais fácil mostrá-lo com um fluxograma. A Figura 4 descreve o fluxo de decisão usado para determinar se um arquivo deve ser executado automaticamente em uma mídia removível.

Figura 4 O fluxo de decisão da Reprodução Automática

Figura 4** O fluxo de decisão da Reprodução Automática **(Clique na imagem para aumentar a exibição)

Outras noções básicas

É claro, essas são apenas algumas das ferramentas que podem ser usadas para comprometer um computador com uma unidade flash USB. Todos os tipos de ferramenta podem ser adicionados a esse cenário, como uma ferramenta que despeja o hash de senha do Windows NT® do usuário atualmente conectado (consulte microsoft.com/technet/community/columns/secmgmt/sm1005.mspx).

Muitos controladores são, na verdade, dispositivos de DMA (Direct Memory Access, acesso direto à memória). Isso significa que eles podem ignorar o sistema operacional e ler/gravar diretamente na memória do computador. Ignorando o SO, os controles de segurança que ele fornece são ignorados – dessa forma você tem acesso completo e irrestrito ao hardware. Isso resulta em total ineficácia do controle do dispositivo implementado pelo OS. Não tenho conhecimento de quaisquer ferramentas de hacking que atualmente usem essa técnicas, mas duvido muito de que isso ainda não tenha sido feito.

Outra forma de explorar a combinação de dispositivo removível é simplesmente apresentar uma opção atraente. Por exemplo, quantos usuários clicariam na caixa de diálogo na Figura 5? Nem todos, mas, provavelmente, muitos. Essa é a questão: é uma tarefa bastante trivial criar uma caixa de diálogo que será muito atraente para que os usuários a ignorem.

Figura 5 Quantos usuários são vítimas disso?

Figura 5** Quantos usuários são vítimas disso? **

Bloqueio de dispositivo

Novo no Windows Vista, o recurso de Diretiva de Grupo agora tem um conjunto de diretivas que regem a instalação do dispositivo (consulte a Figura 6). Como mostrado, o administrador pode bloquear a instalação de todos os novos dispositivos removíveis caso o driver especifique que eles são removíveis. No entanto, se o driver definir que eles não o são, a diretiva não terá efeito. Assim, essa diretiva pode ser driblada usando drivers personalizados.

Figura 6 Diretivas de instalação de dispositivo do Windows Vista

Figura 6** Diretivas de instalação de dispositivo do Windows Vista **(Clique na imagem para aumentar a exibição)

Para um controle mais granular, o administrador pode usar as diretivas para atuação em classes específicas de configuração de dispositivo. No entanto, isso requer que você conheça a GUID da classe específica do dispositivo que deseja bloquear (ou permitir), tornando essa abordagem consideravelmente mais difícil de gerenciar.

Os privilégios mínimos realmente importam

Ignorando o cenário DMA por um momento, o sucesso dos ataques que abordamos, bem como o das medidas preventivas, dependerá dos privilégios do usuário que acessa o computador. Se for um usuário padrão, a extensão do dano que a exploração pode causar é limitada. Ainda assim, ela poderá roubar os dados desse usuário e tudo que ele acessar. No entanto, o ataque provavelmente não terá muito impacto na rede.

No entanto, se o usuário explorado for um administrador, as conseqüências poderão ser muito piores. No pior dos casos, o usuário é um Administrador de Domínio, e a tomada de toda a rede é trivial. Por exemplo, o invasor poderia extrair o hash de senha do usuário da memória. O sistema armazena em cache o hash no espaço do processo de LSA no logon, de modo que pode ser usado para acessar de forma imperceptível os recursos da rede em nome do usuário. Um invasor com privilégios administrativos pode extrair esse hash e acessar quaisquer recursos da rede com ele. Em outras palavras, se o usuário for um Administrador do Domínio, todo o domínio será comprometido.

Isso nos conduz ao tópico de dependências. Até agora, descrevi um ataque específico em estações de trabalho. No entanto, não explorei o que um ataque pode causar em uma escala de rede. Na coluna do próximo mês, irei explorar o conceito das dependências, mostrando a você o que elas significam para o ambiente como um todo e, mais importante, o que você pode fazer para proteger as dependências.

Jesper M. Johansson é engenheiro de segurança e trabalha com questões de segurança de software, além de editor-colaborador da TechNet Magazine. Ele possui PhD em MIS (sigla em inglês para Sistemas de Gerenciamento de Informação) e mais de 20 anos de experiência em segurança.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..