Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 1

Agora tentaremos outra forma de injeção de SQL. Vamos ver se o banco de dados continua lançando mensagens de erro. Este método é chamado de “aguardando atraso”, e o atraso em si é escrito da seguinte forma: waitfor delay 00:00:01’. Copio isso do nosso arquivo e colo na barra de endereço do navegador.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Tudo isso é chamado de "injeção cega de SQL temporária". Tudo o que estamos fazendo aqui é dizer “espere um atraso de 10 segundos”. Se você percebeu, no canto superior esquerdo temos a inscrição “conectando...”, ou seja, o que nossa página faz? Ele aguarda a conexão e após 10 segundos a página correta aparece no seu monitor. Utilizando esta técnica, entramos em contato com o banco de dados para que nos permita fazer mais algumas perguntas, por exemplo, se o usuário for Joe, então precisamos aguardar 10 segundos. Está claro? Se o usuário for dbo, aguarde também 10 segundos. Este é o método cego de injeção de SQL.

Acho que os desenvolvedores não corrigem essa vulnerabilidade ao criar patches. Esta é uma injeção de SQL, mas nosso programa IDS também não a vê, como os métodos anteriores de injeção de SQL.
Vamos tentar algo mais interessante. Vamos copiar esta linha com o endereço IP e colá-la no navegador. Funcionou! A barra TCP em nosso programa ficou vermelha, o programa detectou 2 ameaças à segurança.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Ótimo, vamos ver o que aconteceu a seguir. Temos uma ameaça ao shell do XP e outra ameaça - uma tentativa de injeção de SQL. No total, foram registradas duas tentativas de ataque ao aplicativo web.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Ok, agora me ajude com a lógica. Temos um pacote de dados de intrusão no qual o IDS diz ter respondido a várias intrusões no shell do XP.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Se rolarmos para baixo, veremos uma tabela de códigos HEX, à direita da qual há um sinalizador com a mensagem xp_cmdshell + &27ping, e obviamente isso é ruim.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Vamos ver aqui o que aconteceu. O que o servidor SQL fez?

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

O servidor SQL disse: “você pode ter a senha do meu banco de dados, você pode pegar todos os registros do meu banco de dados, mas cara, eu não quero que você execute seus comandos em mim, isso não é nada legal”!

O que precisamos fazer é garantir que mesmo que o IDS relate uma ameaça ao shell XP, a ameaça seja ignorada. Se você estiver usando o SQL Server 2005 ou o SQL Server 2008, se uma tentativa de injeção de SQL for detectada, o shell de comando do sistema operacional será bloqueado, impedindo que você continue seu trabalho. Isso é muito chato. Então o que deveríamos fazer? Você deve tentar perguntar ao servidor com muita gentileza. Você deveria dizer isto: “por favor, papai, posso comer esses biscoitos”? É isso que eu faço, sério, peço muito educadamente ao servidor! Peço opções adicionais, peço reconfiguração e peço que as configurações do shell XP sejam alteradas para tornar o shell acessível porque preciso dele!

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Vemos que o IDS detectou isso - veja, 3 ameaças já foram anotadas aqui.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Basta olhar aqui: explodimos os registros de segurança! Parece uma árvore de Natal, tem tanta coisa pendurada aqui! Até 27 ameaças à segurança! Viva pessoal, pegamos esse hacker, pegamos ele!

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Não estamos preocupados que ele roube nossos dados, mas se ele conseguir executar comandos do sistema em nossa “caixa” - isso já é sério! Você pode traçar uma rota Telnet, FTP, pode assumir meus dados, tudo bem, mas não me preocupo com isso, só não quero que você assuma o controle da minha “caixa”.

Quero falar sobre coisas que realmente me emocionaram. Trabalho para organizações, trabalho para elas há muitos anos, e estou lhe contando isso porque minha namorada pensa que estou desempregado. Ela acha que tudo que eu faço é subir no palco e conversar, isso não pode ser considerado trabalho. Mas eu digo: “não, minha alegria, sou consultor”! Essa é a diferença – eu falo o que penso e sou pago por isso.

Direi o seguinte: nós, como hackers, adoramos quebrar a casca, e para nós não há prazer maior no mundo do que “engolir a casca”. Quando os analistas de IDS escrevem suas regras, você vê que eles as escrevem para proteger contra adulteração de shell. Mas se você conversar com o CIO sobre o problema da extração de dados, ele pedirá que você pense em duas opções. Digamos que eu tenha um aplicativo que produza 100 “peças” por hora. O que é mais importante para mim: garantir a segurança de todos os dados desta aplicação ou a segurança do shell “caixa”? Essa é uma questão séria! Com o que você deveria se preocupar mais?

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Só porque o seu shell "caixa" está corrompido não significa necessariamente que alguém obteve acesso ao funcionamento interno dos aplicativos. Sim, isso é mais do que provável e, se ainda não aconteceu, poderá acontecer em breve. Mas observe que muitos produtos de segurança são criados com base na suposição de que um invasor está se movendo pela sua rede. Então eles prestam atenção na execução dos comandos, na implementação dos comandos, e você deve observar que isso é coisa séria. Eles prestam atenção a vulnerabilidades triviais, a scripts entre sites muito simples, a injeções de SQL muito simples. Eles não se importam com ameaças avançadas ou mensagens criptografadas, não se importam com esse tipo de coisa. Você poderia dizer que todos os produtos de segurança procuram ruído, procuram latidos, procuram impedir algo que está mordendo seu tornozelo. Aqui está o que aprendi ao lidar com produtos de segurança. Você não precisa comprar produtos de segurança, não precisa dirigir o caminhão de ré. Você precisa de pessoas competentes e qualificadas que entendam a tecnologia. Sim, meu Deus, exatamente gente! Não queremos gastar milhões de dólares nessas questões, mas muitos de vocês já trabalharam nessa área e sabem que assim que seu chefe vê um anúncio, ele corre para a loja gritando: “Temos que comprar isso! " Mas realmente não precisamos, só temos que consertar a bagunça que ficou para trás. Essa foi a premissa para esta performance.

O ambiente de segurança é algo em que passei muito tempo entendendo como funcionam os mecanismos de segurança. Depois de compreender os mecanismos de proteção, não será difícil contorná-la. Por exemplo, tenho um aplicativo da web protegido por seu próprio firewall. Copio o endereço do painel de configurações, colo na barra de endereços do navegador e vou para as configurações e tento o script entre sites.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Como resultado, recebo uma mensagem do firewall sobre uma ameaça - fui bloqueado.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Acho que isso é ruim, você concorda? Você encontrou um produto de segurança. Mas e se eu tentar algo assim: eu inserir o parâmetro Joe’+OR+1=’1

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Como você pode ver, funcionou. Corrija-me se estiver errado, mas vimos a injeção de SQL derrotar o firewall do aplicativo. Agora vamos fingir que queremos abrir uma empresa de implementação de segurança, então colocaremos nosso chapéu de fabricante de software. Agora incorporamos o mal porque é chapéu preto. Sou consultor, então posso fazer o mesmo com fabricantes de software.

Queremos criar e implantar um novo sistema de detecção de adulteração, então iniciaremos uma empresa de detecção de adulteração. O Snort, como um produto de código aberto, contém centenas de milhares de assinaturas de ameaças de adulteração. Devemos agir de forma ética, para não roubarmos essas assinaturas de outros aplicativos e inseri-las em nosso sistema. Vamos apenas sentar e reescrever todos eles - ei, Bob, Tim, Joe, venha aqui, analise rapidamente todas essas 100 assinaturas!

Também precisamos criar um scanner de vulnerabilidades. Você sabe que o Nessus, um programa para busca automática de vulnerabilidades, possui cerca de 80 mil assinaturas e scripts que verificam vulnerabilidades. Agiremos de forma ética novamente e nós mesmos reescreveremos todos eles em nosso programa.
As pessoas me perguntam: “Joe, você faz todos esses testes usando software de código aberto como Mod Security, Snort e similares, quão semelhantes eles são aos produtos de outros fabricantes?” Eu respondo: “Eles não se parecem em nada!” Como os fabricantes não roubam produtos de segurança de código aberto, eles mesmos sentam e escrevem todas essas regras.

Se você consegue fazer suas próprias assinaturas e cadeias de ataque funcionarem sem usar produtos de código aberto, esta é uma grande oportunidade para você. Se você não consegue competir com produtos comerciais, indo na direção certa, você deve encontrar um conceito que o ajude a se tornar famoso em sua área.

Todo mundo sabe que eu bebo. Deixe-me mostrar por que eu bebo. Se você já fez uma auditoria de código-fonte na vida, com certeza vai beber, acredite, depois disso vai começar a beber.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Portanto, nossa linguagem favorita é C++. Vejamos este programa - Web Knight, é um aplicativo de firewall para servidores web. Tem exceções por padrão. Isso é interessante: se eu implantar esse firewall, ele não me protegerá do Outlook Web Access.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Maravilhoso! Isso ocorre porque muitos fornecedores de software extraem regras de um aplicativo e as colam em seus produtos sem fazer muita pesquisa. Então, quando eu implanto o aplicativo de firewall da web, descubro que tudo relacionado ao webmail é feito incorretamente! Porque quase todo webmail quebra a segurança por padrão. Você tem um código da web que executa comandos do sistema e consultas para LDAP ou qualquer outro armazenamento de banco de dados de usuário diretamente na Internet.

Diga-me, em que planeta algo assim pode ser considerado seguro? Pense bem: você abre o Outlook Web Access, pressiona ctrl + K, procura usuários e tudo mais, gerencia o Active Directory diretamente da Internet, executa comandos do sistema no Linux, se você usa Squirrel Mail, ou Horde ou qualquer coisa assim outro. Você está retirando todas essas avaliações e outros tipos de funcionalidades inseguras. Portanto, muitos firewalls os excluem da lista de riscos de segurança. Tente perguntar ao fabricante do software sobre isso.

Voltemos ao aplicativo Web Knight. Ele roubou muitas regras de segurança do scanner de URL, que verifica todos esses intervalos de endereços IP. Então, todos esses intervalos de endereços estão excluídos do meu produto?

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Algum de vocês deseja instalar esses endereços em sua rede? Você deseja que sua rede funcione nesses endereços? Sim é fantástico. Ok, vamos rolar este programa e ver outras coisas que esse firewall não deseja fazer.

Eles se chamam "1999" e querem que seu servidor web volte no tempo! Algum de vocês se lembra desse lixo: /scripts, /iishelp, msads? Talvez algumas pessoas se lembrem com nostalgia de como era divertido hackear essas coisas. “Você lembra, cara, há quanto tempo nós “matamos” servidores, foi legal!”

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Agora, se você observar essas exceções, verá que pode fazer todas essas coisas - msads, impressoras, iisadmpwd - todas essas coisas que ninguém precisa hoje. E os comandos que você não tem permissão para executar?

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Estes são arp, at, cacls, chkdsk, cipher, cmd, com. Ao listá-los, você é dominado por lembranças dos velhos tempos, “cara, lembra quando assumimos aquele servidor, lembra daqueles tempos”?

Mas aqui está o que é realmente interessante: alguém vê WMIC ou talvez PowerShell aqui? Imagine que você tem um novo aplicativo que funciona executando scripts no sistema local, e esses são scripts modernos porque você deseja executar o Windows Server 2008, e farei uma grande coisa protegendo-o com regras projetadas para o Windows 2000. Para que da próxima vez que um fornecedor vier até você com seu aplicativo da web, pergunte a ele: “ei cara, você incluiu coisas como bits admin ou execução de comandos do PowerShell, você verificou todas as outras coisas, porque vamos atualizar e usar a nova versão do DotNET"? Mas todas essas coisas deveriam estar presentes em um produto de segurança por padrão!

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

A próxima coisa sobre a qual quero falar é sobre erros lógicos. Vamos para 192.168.2.6. Este é quase o mesmo aplicativo que o anterior.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Você pode notar algo interessante se rolar a página para baixo e clicar no link Fale Conosco.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Se você olhar o código fonte da aba “Fale Conosco”, que é um dos métodos de pentesting que faço o tempo todo, você notará esta linha.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Pense nisso! Ouvi dizer que quando viram isso muitos disseram: “Uau”! Certa vez, eu estava fazendo testes de penetração para, digamos, um banco bilionário e percebi algo semelhante. Portanto, não precisamos de nenhuma injeção de SQL ou script entre sites - temos o básico, esta barra de endereço.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Então, sem exagero - o banco nos disse que tinha um especialista em rede e um inspetor web, e não fez nenhum comentário. Ou seja, consideraram normal que um arquivo de texto pudesse ser aberto e lido através de um navegador.

Ou seja, você pode simplesmente ler o arquivo diretamente do sistema de arquivos. O chefe da equipe de segurança me disse: “sim, um dos scanners encontrou essa vulnerabilidade, mas a considerou menor”. Ao que eu respondi, ok, me dê um minuto. Digitei filename=../../../../boot.ini na barra de endereço e consegui ler o arquivo de inicialização do sistema de arquivos!

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Para isso me disseram: “não, não, não, estes não são arquivos críticos”! Eu respondi - mas este é o Server 2008? Eles disseram que sim, é ele. Eu digo - mas este servidor possui um arquivo de configuração localizado no diretório raiz do servidor, certo? “Correto”, eles respondem. “Ótimo”, eu digo, “e se um invasor fizer isso” e digito filename=web.config na barra de endereço. Eles dizem - e daí, você não vê nada no monitor?

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Eu digo - e se eu clicar com o botão direito no monitor e selecionar a opção Mostrar fonte da página? E o que vou encontrar aqui? “Nada crítico”? Verei a senha do administrador do servidor!

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

E você diz que não há problema aqui?

Mas minha parte favorita é a próxima. Você não me permite executar comandos na caixa, mas posso roubar a senha do administrador do servidor web e o banco de dados, examinar todo o banco de dados, extrair todo o material sobre o banco de dados e falhas do sistema e escapar impune. Esse é o caso do bandido dizendo: “ei cara, hoje é o grande dia”!

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Não deixe que os produtos de segurança o deixem doente! Não deixe que os produtos de segurança o deixem doente! Encontre alguns nerds, dê a eles todas aquelas lembranças de Star Trek, faça com que eles se interessem, incentive-os a ficar com você, porque aqueles fedorentos chatos que não tomam banho todos os dias são os que fazem suas redes funcionarem. Estas são as pessoas que ajudarão seus produtos de segurança a funcionar como deveriam.

Diga-me, quantos de vocês conseguem ficar muito tempo na mesma sala com uma pessoa que diz constantemente: “Ah, preciso digitar esse script com urgência!”, e quem está ocupado com isso o tempo todo? Mas você precisa das pessoas que fazem seus produtos de segurança funcionarem.

Vou repetir: os produtos de segurança são estúpidos porque as luzes cometem erros constantemente, fazem coisas ruins constantemente, elas simplesmente não fornecem segurança. Nunca vi um bom produto de segurança que não exigisse que uma pessoa com uma chave de fenda o apertasse quando necessário para que funcionasse mais ou menos normalmente. É apenas uma lista enorme de regras dizendo que isso é ruim, só isso!

Então quero que vocês olhem para a educação, coisas como segurança, formação politécnica, porque há muitos cursos online gratuitos sobre questões de segurança. Aprenda Python, aprenda Assembly, aprenda testes de aplicativos web.

Conferência HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Petesting. Parte 2

Isso é o que realmente ajudará você a proteger sua rede. Pessoas inteligentes protegem as redes, os produtos de rede não! Volte ao trabalho e diga ao seu chefe que você precisa de mais orçamento para mais pessoas inteligentes, eu sei que isso é uma crise, mas diga a ele mesmo assim - precisamos de mais dinheiro para as pessoas, para treiná-las. Se compramos um produto, mas não compramos um curso sobre como usá-lo porque é caro, então por que o compramos se não vamos ensinar as pessoas a usá-lo?

Trabalhei para muitos fornecedores de produtos de segurança, passei praticamente toda a minha vida implementando esses produtos e estou cansado de todo o controle de acesso à rede e outras coisas porque instalei e executei todos esses produtos ruins. Certa vez, cheguei a um cliente que queria implementar o padrão 802.1x para o protocolo EAP, para que tivessem endereços MAC e endereços secundários para cada porta. Eu vim, vi que estava ruim, me virei e comecei a apertar botões na impressora. Você sabe, a impressora pode imprimir uma página de teste do equipamento de rede com todos os endereços MAC e endereços IP. Mas descobriu-se que a impressora não suporta o padrão 802.1x, por isso deveria ser excluída.

Então desconectei a impressora e mudei o endereço MAC do meu laptop para o endereço MAC da impressora e conectei meu laptop, contornando essa solução MAC cara, pense nisso! Então, que bem essa solução MAC pode fazer para mim se uma pessoa pode simplesmente passar qualquer equipamento por uma impressora ou telefone VoIP?

Então, hoje, pentesting para mim é gastar tempo tentando entender e entender o produto de segurança que meu cliente comprou. Hoje em dia, todos os bancos em que faço testes de penetração têm todos esses HIPS, NIPS, LUGTHS, MACS e um monte de outras siglas que são uma porcaria completa. Mas estou tentando descobrir o que esses produtos estão tentando fazer e como estão tentando fazer isso. Então, depois de descobrir que tipo de metodologia e lógica eles usam para fornecer proteção, não será nada difícil contorná-la.

Meu produto favorito que vou deixar para vocês é chamado MS 1103. É uma exploração baseada em navegador que “pulveriza” HIPS, Host Intrusion Prevention Signature ou assinaturas de prevenção de intrusões de host. Na verdade, ele foi projetado para ignorar as assinaturas HIPS. Não quero mostrar como funciona porque não quero tempo para demonstrá-lo, mas faz um ótimo trabalho contornando essa segurança e quero que você experimente.
OK pessoal, estou saindo agora.

Alguns anúncios 🙂

Obrigado por ficar com a gente. Gostou dos nossos artigos? Quer ver mais conteúdos interessantes? Apoie-nos fazendo um pedido ou recomendando a amigos, nuvem VPS para desenvolvedores a partir de US$ 4.99, um análogo exclusivo de servidores básicos, que foi inventado por nós para você: Toda a verdade sobre VPS (KVM) E5-2697 v3 (6 núcleos) 10 GB DDR4 480 GB SSD 1 Gbps a partir de $ 19 ou como compartilhar um servidor? (disponível com RAID1 e RAID10, até 24 núcleos e até 40 GB DDR4).

Dell R730xd 2x mais barato no data center Equinix Tier IV em Amsterdã? Só aqui 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV a partir de US$ 199 na Holanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - a partir de US$ 99! Ler sobre Como construir uma empresa de infraestrutura. classe com o uso de servidores Dell R730xd E5-2650 v4 no valor de 9000 euros por um centavo?

Fonte: habr.com

Adicionar um comentário