Showing posts with label usb. Show all posts
Showing posts with label usb. Show all posts

Tuesday, February 23, 2010

Evil Maid Attack - Ataque ao TrueCrypt Full Disk Encryption

Evil Maid Attack - Ataque da Camareira Malvada

Muitas vezes a consciência da insegurança é melhor do que a falsa sensação de segurança.

Como vocês sabem, a frequente atualização é um pré-requisito para qualquer profissional de Segurança da Informação. São tantas novidades, papers, apresentações, notícias e outras fontes de informação interessantes que nem sempre conseguimos testar e validar rapidamente todas as informações a que somos expostos diariamente. Por isto, muitos assuntos interessantes acabam ficando em um "TO DO" list guardado em algum lugar...

Um destes assuntos que estava encalhado há alguns meses (e que tive a oportunidade de conhecer / testar mais aprofundadamente durante o carnaval) foi o ataque à implementações de Criptografia de Discos - Full Disk Encryption) publicado pela Joanna Rutkowska em seu blog em Outubro do ano passado. O que me chamou a atenção foi a facilidade do ataque descrito. Como vocês verão abaixo, realmente é muito simples..

O próprio nome da técnica "Evil Maid Attack" - ou numa tradução livre "Ataque da Camareira Malvada" já é por si só interessante e indica claramente a necessidade de acesso físico ao computador (ou no mínimo ao disco) onde a tecnologia de Full Disk Encryption está sendo utilizada. Vale a pena ressaltar que outras implementações de FDE , além do TrueCrypt, também são vulneráveis ao mesmo ataque.

Antes de mais nada, vamos fazer uma breve introdução sobre a tecnologia de Full Disk Encryption - cada vez mais utilizada por empresas e pessoas preocupadas com as informações guardadas principalmente em computadores portáteis.

Segue a entrada da Wikipedia sobre o assunto (tradução livre minha):
O termo "full disk encryption" é usado quando todos os dados presentes em uma mídia digital são criptografados, incluindo o caso de programas que criptografam partições "bootáveis" de sistemas operacionais. Mas para funcionar eles precisam deixar o master boot record (MBR) - e portanto parte do disco - descriptografado. 
Vale também ressaltar que existem as tecnologias de hardware-based full disk encryption e hybrid full disk encryption que podem criptografar o disco inteiro de boot, incluindo a MBR.

O TrueCrypt é uma aplicação GPL que trabalha com os algorítimos AES-256, Serpent, e Twofish. Eles são fortes o suficiente para sobreviver à ataques de força bruta, mas E SE o atacante não estiver preocupado em fazer isto, e sim em obter a sua passphrase?

Isto posto, vamos à descrição e algumas fotos que fiz do ataque sendo executado em um notebook que possui a última versão do TrueCrypt com Full Disk Encryption instalado:

Primeira fase: um atacante tem acesso físico ao computador, insere o pendrive USB já contendo a imagem da ferramenta bootável e em cerca de um minuto, os 63 setores do disco são copiados para o pendrive e o o loader do TrueCrypt presente na MBR é infectado:


Segunda fase: Depois da utilização do computador pelo usuário, basta bootar o computador mais uma vez via USB e a informação que foi digitada pelo usuário - que já foi capturada pela alteração da função do TrueCrypt que pergunta pela passphrase: AskPassword( ) - é mostrada na tela, conforme pode ser visto abaixo:


Game Over.

Vale a pena ressltar que o atacante não precisa necessariamente ter acesso físico à máquina para efetuar a segunda fase - caso a implementação do ataque envie as informações via internet para o atacante, ao invés de salvar temporariamente a informação no disco atacado.

Algumas sugestões de mitigações - usar uma Ferramenta de Full Disk Encryption com suporte a chips TPM - Trusted Platform Module podem ser bypassadas por ataques mais sofisticados - como o que comentamos aqui aqui em junho de 2008: "Cold Boot Attack" - que é capaz de identificar e recuperar a chave criptográfica utilizada direto de um dump da memória RAM congelada. Para os mais paranóicos, o segredo é garantir que seu notebook não caia - nem mesmo temporariamente - em mãos erradas =)

O FAQ do TrueCrypt discorda da sugestão de mitigação acima:
The only thing that TPM is almost guaranteed to provide is a false sense of security (even the name itself, "Trusted Platform Module", is misleading and creates a false sense of security). As for real security, TPM is actually redundant (and implementing redundant features is usually a way to create so-called bloatware). Features like this are sometimes referred to as security theater
Para os que usam tecnologias de Full Disk Encryption TrueCrypt / PGP / BitLocker / etc, repito a primeira fase do post: Muitas vezes a consciência da insegurança é melhor do que a falsa sensação de segurança. Resumindo: se um atacante sofisticado teve acesso físico ao seu computador - possivelmente ele não é só seu daí em diante... Por isto a única mitigação garantida é uma excelente segurança física.


Esta contribuição tratá benefícios em investigações envolvendo computadores em que o suspeito esteja usando Full Disk Encryption – mediante obviamente uma autorização judicial diferenciada de 'busca e apreensão' de computadores  - o que certamente aumentará substancialmente a qualidade das informações disponíveis durante o processo de aquisição/coleta de evidências.


Mais detalhes sobre o ataque e sobre a ferramenta: veja o post da Joanna. Para os interessados, o código fonte do infector está disponível.

Monday, March 30, 2009

Conficker / DownadUp / Kido: De um erro de programação a um WORM Global

[imagem: infecções do conficker no mundo - fonte: Conficker Working Group]

[ 02/11/2009 - Update ]

No aniversario de um ano do Conficker, analistas da ShadowServer divulgaram que detectaram atraves de sinkhole servers mais de 7 milhoes de IPs unicos estao infectados atualmente com o worm, que apesar de nao estar mais chamando tanta atencao tem infectado no minimo 500.000 novos computadores por mes!


[ 08/05/2009 - Update ]

Hoje uma atualização está sendo feita nos milhares de computadores infectados com a variante .C do Conficker. Está sendo instalado um spambot (para envio de spam) e uma ferramenta de segurança falsa chamada Spyware Guard 2009 (dicas para remoção).

Com esta atualização, o objetivo de ganho financeiro dos criadores do Conficker fica bem claro, pois além do envio maciço de spams (que normalmente é um serviço contratado), a falsa ferramenta de segurança cobra $49.95 (quase cinquenta dólares) do usuário infectado para não fazer nada.

[ 01/04/2009 - Update ]

Vários acessos via buscas no Google tem chegado à este post sobre o Conficker. Foram mais de 700 IPs únicos no dia 31/03. Por este motivo irei sumarizar abaixo as informações mais procuradas. Caso você queira saber de mais detalhes sobre o Worm, desde seu surgimento, continue a ler os demais [ Updates ].


Informações Gerais:

  • O Conficker (também chamado de DownadUp e Kido) é um Worm sofisticado que já infectou mais de 15 milhões de máquinas no mundo inteiro, desde Novembro de 2008.
  • Ele explora máquinas Windows que não possuem a correção MS08-67 da Microsoft
  • Outras formas de propagação são os compartilhamentos windows sem senha (ou com senhas fracas) e dispositivos externos como pendrives USB.
  • Existem 3 variantes conhecidas até o momento (A, B e C), sendo que a variante C no dia de hoje (01/04) modificou sua forma de comunicação com seus criadores, antes eram gerados 250 domínios aleatóriamente, e para dificultar o bloqueio destes domínios a partir de hoje estão sendo gerados 50.000 domínios dentre os quais as máquinas infectadas tentam contactar 500.

Testes e Remoção:
  • Para remoção do Conficker, acesse de uma máquina não infectada uma das ferramentas a seguir: [ F-Secure MSRT da Microsoft, SunBelt ] e execute na máquina afetada.
  • Para verificar se seu computador está infectado, visite esta página e confira o resultado (serão carregadas imagens de domínios bloqueados pelas variantes do Conficker, caso você utilize proxy pode haver falso-negativo).
  • Para detecção do Conficker em uma rede interna, hoje a melhor técnica é utilizar a última versão da ferramenta nmap (4.85BETA7), com os seguintes parâmetros: nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns --script-args safe=1 [redes_alvo]. Caso você tenha uma rede grande para testar, veja aqui como utilizar output xml no nmap e um script em perl para facilitar o seu trabalho.
  • Para mais dicas de como se proteger, procure ao final deste post o título "Defesa em profundidade".

Mais detalhes técnicos sobre o assunto, incluindo o funcionamento do worm e defesas propostas estão descritos nos Updates abaixo (listados do mais recente ao mais antigo):


[ 29/03/2009 - Update ]

Como os senhores sabem, estamos acompanhando o desenvolvimento do Conficker / DownadUp / Kido há algum tempo (vejam os updates no decorrer deste post).

É raro, mas hoje temos boas notícias sobre o Worm mais bem sucedido dos últimos tempos:

Algumas ferramentas inovadoras (e gratuitas) para auxiliar a detecção / contenção do Conficker foram disponibilizadas para download por pesquisadores da Universidade de Bonn na Alemanha. Veja também o post sobre o assunto do Dan Kaminsky - que auxiliou os pesquisadores.

Os alemães publicaram um paper bastante completo com vários detalhes e novidades sobre o Conficker - na série Know Your Enemy do Projeto HoneyNet.

Dê uma olhada nas novas ferramentas disponibilizadas, certamente se você é responsável pela segurança de uma rede grande, se interessará por várias delas:

  • scs.zip - ferramenta de varredura de rede (scanner) que busca por máquinas infectadas com o conficker em redes internas (pré-requisitos: Python e biblioteca "Impacket"). Esta é a maior contribuição dos alemães - pois independentemente da forma de exploração (pen-drive infectado, compartilhamento de rede, vulnerabilidade RPC referente ao boletim MS08-67, etc..), o computador infectado irá responder de forma detectável (por isto é possível o fingerprinting) a mensagens RPC especialmente construídas para este fim - Isto se deve à forma que a função NetpwPathCanonicalize() passa a funcionar depois que o Conficker se instala na máquina.
  • regnfile_01.exe / conficker_names.zip (código fonte) - ferramenta para encontrar arquivos e entradas de registro criados pelo Conficker (os nomes aparentemente randômicos são baseados no hostname da máquina).

  • nonficker.zip / conficker_code.zip (código fonte) - ferramenta "vacina" para "enganar" o Conficker criando um mutex igual ao que é criado pelo Conficker (faz o código malicioso acreditar que a máquina já está infectada).
  • downatool2 - nova ferramenta de geração de domínios que serão utilizados pelo Conficker (variantes A, B e C) Vale ressaltar que na variante "C" o ele pode gerar domínios brasileiros (.com.br)
  • collisions_april - lista de colisões previstas para abril. A partir do próximo mês serão 5000 domínios gerados diariamente e além disto nesta variante os domínios podem possuir somente 4 letras, o efeito de colisão com domínios existentes será mais preocupante (imagine o dono de um domínio destes recebendo a comunicação de milhões de máquinas ao mesmo tempo..)
Segue a lista de colisões para domínios .com.br, dia a dia do mês de abril:

c_lookups_20090401.txt

cibi.com.br -> 75.119.205.170
aasv.com.br -> 189.107.67.131
aebs.com.br -> 75.125.94.122
clts.com.br -> 201.81.16.57
uili.com.br -> 74.220.215.83
tiat.com.br -> 75.126.176.66
sesd.com.br -> 75.126.203.16
nesb.com.br -> 72.233.57.166
ctur.com.br -> 189.38.80.25
hkdf.com.br -> 200.199.201.32
piss.com.br -> 201.76.47.133
mapc.com.br -> 200.234.220.117
arre.com.br -> 74.52.178.66
bejo.com.br -> 200.234.196.100
eama.com.br -> 75.126.176.78
shou.com.br -> 66.135.39.22
dude.com.br -> 189.38.57.226
mapim.com.br -> 74.53.43.162
rahl.com.br -> 200.185.126.118
ekto.com.br -> 189.21.116.35
adpe.com.br -> 201.20.20.79
cgdp.com.br -> 66.135.42.153
yale.com.br -> 217.151.193.164
essa.com.br -> 82.98.86.169
gedd.com.br -> 209.162.188.193
jfly.com.br -> 200.234.196.208
inec.com.br -> 216.32.92.218
guru.com.br -> 189.1.1.232
dotl.com.br -> 200.185.109.100
uvcb.com.br -> 189.45.245.2
carz.com.br -> 200.98.197.8
ebcv.com.br -> 67.15.84.68
artz.com.br -> 70.85.168.173
kras.com.br -> 82.197.131.24
asac.com.br -> 200.234.200.125
cgam.com.br -> 201.48.251.238
lako.com.br -> 200.215.118.16
icia.com.br -> 200.155.10.120
gnac.com.br -> 198.106.36.245
ctbl.com.br -> 67.205.85.70
apbp.com.br -> 200.201.133.25
sier.com.br -> 200.229.199.197
mrbee.com.br -> 66.7.214.84
acip.com.br -> 201.76.50.48
winb.com.br -> 201.76.50.45
fria.com.br -> 64.38.46.204
rota.com.br -> 200.212.239.136
faem.com.br -> 200.98.196.20

c_lookups_20090402.txt

nabs.com.br -> 64.22.71.89
konb.com.br -> 208.97.180.123
sdbp.com.br -> 74.55.137.226
idda.com.br -> 200.234.196.88
lebl.com.br -> 70.85.180.226
hmvb.com.br -> 200.202.210.168
ncbb.com.br -> 82.98.86.171
sophy.com.br -> 200.219.245.132
oney.com.br -> 195.64.164.87
rptv.com.br -> 200.169.230.163
agos.com.br -> 200.234.200.30
hmvs.com.br -> 200.169.97.82
aapc.com.br -> 189.38.24.3
cshg.com.br -> 200.160.117.37

c_lookups_20090403.txt

gtbr.com.br -> 200.219.214.21
wrun.com.br -> 200.192.130.184
ricz.com.br -> 74.55.91.194
bhil.com.br -> 69.93.129.194
ziph.com.br -> 209.85.101.11

c_lookups_20090404.txt

tdma.com.br -> 64.38.46.203
ghap.com.br -> 200.234.196.144
damy.com.br -> 66.45.240.106
isexp.com.br -> 200.196.238.46

c_lookups_20090405.txt

edaj.com.br -> 70.84.37.212
mrol.com.br -> 66.7.202.150
ildv.com.br -> 74.55.65.190
bmlaw.com.br -> 200.234.196.177
evix.com.br -> 200.234.196.231

c_lookups_20090406.txt

ynai.com.br -> 200.234.200.30
inat.com.br -> 200.157.225.252
kwtv.com.br -> 189.126.193.11
mobs.com.br -> 69.89.31.103

c_lookups_20090407.txt

hong.com.br -> 200.143.10.138
iboa.com.br -> 70.85.181.50

c_lookups_20090408.txt

ictc.com.br -> 174.133.129.152
suun.com.br -> 200.169.230.165
ceem.com.br -> 200.234.220.47
nyhx.com.br -> 189.38.90.14
rrvm.com.br -> 200.234.200.89

c_lookups_20090409.txt

emtd.com.br -> 75.125.40.202
kria.com.br -> 200.154.100.210
pfoa.com.br -> 200.234.200.162

c_lookups_20090410.txt

tupy.com.br -> 200.193.75.1
gdurp.com.br -> 200.142.86.14
gbeb.com.br -> 204.3.187.130

c_lookups_20090411.txt

gata.com.br -> 66.154.35.211
mueb.com.br -> 74.53.178.114
theg.com.br -> 200.186.48.99
sesa.com.br -> 200.234.203.76
escd.com.br -> 200.234.196.102
jecp.com.br -> 200.226.246.22
bait.com.br -> 200.234.196.152

c_lookups_20090412.txt

mgbv.com.br -> 200.98.196.57
omaa.com.br -> 98.131.74.166

c_lookups_20090413.txt

wini.com.br -> 189.21.116.35
acir.com.br -> 189.50.206.9

c_lookups_20090414.txt

itix.com.br -> 67.228.166.162
kron.com.br -> 74.55.22.50
kruf.com.br -> 200.226.246.40
veda.com.br -> 208.113.213.132

c_lookups_20090415.txt

peek.com.br -> 67.205.45.53
qtec.com.br -> 67.19.213.82
pman.com.br -> 198.106.30.194
coll.com.br -> 208.109.252.178

c_lookups_20090416.txt

bnvc.com.br -> 74.53.3.4
keal.com.br -> 66.135.39.22
quer.com.br -> 174.133.228.82
ystv.com.br -> 200.98.197.2
kelf.com.br -> 82.98.86.167

c_lookups_20090417.txt

crsb.com.br -> 200.196.44.131
bmgi.com.br -> 74.55.201.34
etec.com.br -> 200.219.245.132
padd.com.br -> 208.43.200.244
cibi.com.br -> 75.119.205.170

c_lookups_20090418.txt

aasv.com.br -> 189.107.67.131
aebs.com.br -> 75.125.94.122

c_lookups_20090419.txt

clts.com.br -> 201.81.16.57
uili.com.br -> 74.220.215.83
tiat.com.br -> 75.126.176.66

c_lookups_20090420.txt

sesd.com.br -> 75.126.203.16
nesb.com.br -> 72.233.57.166
ctur.com.br -> 189.38.80.25
hkdf.com.br -> 200.199.201.32
piss.com.br -> 201.76.47.133
mapc.com.br -> 200.234.220.117
arre.com.br -> 74.52.178.66

c_lookups_20090421.txt

bejo.com.br -> 200.234.196.100
eama.com.br -> 75.126.176.78
shou.com.br -> 66.135.39.22
dude.com.br -> 189.38.57.226
mapim.com.br -> 74.53.43.162
rahl.com.br -> 200.185.126.118

c_lookups_20090422.txt

ekto.com.br -> 189.21.116.35
adpe.com.br -> 201.20.20.79
cgdp.com.br -> 66.135.42.153
yale.com.br -> 217.151.193.164

c_lookups_20090423.txt

essa.com.br -> 82.98.86.169
gedd.com.br -> 209.162.188.193
jfly.com.br -> 200.234.196.208
inec.com.br -> 216.32.92.218
guru.com.br -> 189.1.1.232

c_lookups_20090424.txt

dotl.com.br -> 200.185.109.100
uvcb.com.br -> 189.45.245.2
carz.com.br -> 200.98.197.8
ebcv.com.br -> 67.15.84.68
artz.com.br -> 70.85.168.173

c_lookups_20090425.txt

kras.com.br -> 82.197.131.24

c_lookups_20090426.txt

asac.com.br -> 200.234.200.125

c_lookups_20090427.txt

cgam.com.br -> 201.48.251.238
lako.com.br -> 200.215.118.16
icia.com.br -> 200.155.10.120
gnac.com.br -> 198.106.36.245
ctbl.com.br -> 67.205.85.70
apbp.com.br -> 200.201.133.25
sier.com.br -> 200.229.199.197

c_lookups_20090428.txt

mrbee.com.br -> 66.7.214.84
acip.com.br -> 201.76.50.48
winb.com.br -> 201.76.50.45
fria.com.br -> 64.38.46.204
rota.com.br -> 200.212.239.136
faem.com.br -> 200.98.196.20
nabs.com.br -> 64.22.71.89

c_lookups_20090429.txt

konb.com.br -> 208.97.180.123
sdbp.com.br -> 74.55.137.226
idda.com.br -> 200.234.196.88
lebl.com.br -> 70.85.180.226

c_lookups_20090430.txt

hmvb.com.br -> 200.202.210.168
ncbb.com.br -> 82.98.86.171
sophy.com.br -> 200.219.245.132
oney.com.br -> 195.64.164.87
rptv.com.br -> 200.169.230.163
agos.com.br -> 200.234.200.30
hmvs.com.br -> 200.169.97.82
aapc.com.br -> 189.38.24.3


  • Além disto, os pesquisadores alemães disponibilizaram assinaturas atualizadas do snort para detectar as variantes A e B do Conficker (para regras de IDS para a variante .C, siga este link)


Conficker.A
Conficker.A:y any -> $HOME_NET 445 (msg:
"conficker.a shellcode"; content: "|e8 ff ff ff ff c1|^|8d|N|10
80|1|c4|Af|81|9EPu|f5 ae c6 9d a0|O|85 ea|O|84 c8|O|84 d8|O|c4|O|9c
cc|IrX|c4 c4 c4|,|ed c4 c4 c4 94|&
Conficker.B
alert tcp any any -> $HOME_NET 445 (msg: "conficker.b shellcode";
content: "|e8 ff ff ff ff c2|_|8d|O|10 80|1|c4|Af|81|9MSu|f5|8|ae c6 9d
a0|O|85 ea|O|84 c8|O|84 d8|O|c4|O|9c cc|Ise|c4 c4 c4|,|ed c4 c4 c4
94|&


[ 23/03/2009 - Update ]

No próximo dia primeiro (1o de Abril), a variante "C" do Conficker (que é a menos comum) irá modificar a forma de contactar os servidores de Command & Control do Worm (veja no FAQ abaixo) - não é esperado nenhum ataque específico neste dia.

Simplificando o que vai ocorrer é que as máquianas infectadas irão passar a utilizar um novo algorítmo que gera 500 domínios em 50.000 possíveis (versus os atuais 250 que já estão "marcados" pelos White Hats).

[ 16/03/2009 - Update ]

Novas versões do worm são criadas, e a Mcafee lançou um interessante documento PDF contendo dicas atualizadas de como detectar e remover o Conficker.

[ 13/02/2009 - Update ]

1 -
A Microsoft, a ICANN e outros tomaram uma medida interessante no combate ao Worm Conficker - já que se trata de uma ameaça global muitíssimo bem sucedida que já infectou dezenas de milhares de computadores mundo afora, utilizando técnicas avançadas (veja o próximo ítem). O contra-ataque perfeito: Recompensa de U$ 250.000,00 - no estilo "Velho Oeste" para quem dedurar ou entregar o(s) autor(s) do worm (vivos ou mortos) ...

Antes de criticar, lembre-se: funcionou com o Sasser em 2005 (o artifício foi usado tb contra o Mydoom em 2004)

2 -
Uma excelente análise do Conficker (variantes .A e .B) foi publicada no site da SRI - MUITO bem escrito... Vale a leitura! (Estão desconfiando que o autor é Ucraniano).

3 -
A Microsoft registrou um redirecionador para o site que centraliza as informações sobre o worm: http://www.microsoft.com/conficker. O Sans Institute também está centralizando informações (de mais origens e por isto mais interessantes) sobre o worm no seguinte link: http://isc.sans.org/diary.html?storyid=5860

4 - A Microsoft está fazendo desde ontem o que a F-Secure já faz a mais de um mês - Divulgando uma lista dos domínios (.zip) que poderão ser usados para contactar o cérebro do Worm. A vantagem é que esta lista tem 113501 domínios, listados por variante e dias em que serão utilizados (de 01/10/2008 a 30/06/2009)

5 -
Michael Ligh disponibilizou (código fonte e executável) um interessante utilitário chamado Downatool (funciona bem com o Wine), que serve para a) listar os domínios utilizados a cada dia; b) gerar os IPs a serem "atacados" com o mesmo algorítimo do Worm, c) mostrar os ranges de IPs que já entraram em blacklist por ação das entidades de segurança envolvidas no caso (CERT, Microsoft, Avira, Symantec, etc..)

[ 07/02/2009 - Updates ]

1 -
O Conficker continua crescendo, e o Brasil agora é o segundo da lista de países com mais novas infecções (atrás somente da China). Uma boa explicação para isto é que o Brasil possui muitas cópias piratas de windows (xp,vista,...) e por isto milhares de máquinas sem atualizações de segurança.

2 - Até agora o impacto maior é a infecção dos mais de 15 milhões de máquinas, mas um impacto maior devido ao USO deste exército de máquinas não vai demorar, já que já se detectou uma associação entre o Conficker e a conhecida rede de Bots "ASPROX".

3 - Há um UPDATE interessante nos métodos de defesa, pois a OPENDNS se uniu à Kaspersky e agora está bloqueando os domínios utilizados pelo Conficker (gerados à cada dia pelo Worm).
Para mais informações de como utilizar o serviço da OpenDNS - e de quebra ter uma navegação mais rápida e segura - clique aqui.

4 - A Microsoft lançou dois guias de proteção ao Conficker, um para usuários domésticos, e outro para Administradores de T.I.

5 - Alguns detalhes técnicos das inovações utilizadas pelo Conficker, como o modelo de injeção na memória, para bypassar FW e HIPS - tem sido publicadas.

[ 15/01/2009 - Post Original ]

No último post sobre categorização de erros de programação relacionados à segurança de softwares, apontamos que não é fácil manter um nível adequado de segurança quando se desenvolve softwares complexos.

O problema:

A Microsoft não é exceção, e apesar das grandes evoluções com relação a segurança - incluindo uma abordagem madura de desenvolvimento seguro chamada "Secure Development Lifecycle (SDL)" - um erro de programação permitiu que hackers começassem no final de 2008 a explorar o "Server Service" via RPC (Remote Procedure Calls) em todas as versões do Windows (XP a 2008), sendo que em XP, 2000 e 2003 a exploração pode ser feita por um usuário não autenticado.

De volta ao passado:

Worms que se utilizam de exploits de RPC costumam ser muito bem sucedidos:

Sasser - http://www.secureworks.com/research/threats/sasser/
Blaster - http://www.cert.org/advisories/CA-2003-20.html

Depois destes dois, muita gente acreditou que seriam os últimos grandes "worms de rede". A lição é: Nunca diga nunca.

Complexidade + Conectividade:

Existe um post interessante na MSDN avaliando por que esta vulnerabilidade "passou batida" pelo processo de revisão de código e fuzz tests previstos no SDL - simplificando, a complexidade de uma função específica em C++ e a falta de controle estrito de seus argumentos em um loop permitiu a vulnerabilidade, que não é facilmente detectada por analisadores automatizados de qualidade de código.

Já em seu boletim de segurança MS08-67, publicado em 23/10/2008, a Microsoft alertou que a correção era emergencial e que a falha poderia ser exploradas transformar por WORM, pelas suas características e grande conectividade dos componentes envolvidos. Vale ressaltar que a vulnerabilidade já estava sendo utilizada por atacantes (até aquele momento, era um "0-day" - possivelmente muito valioso).

Simplicidade de Exploração:

Apenas duas horas depois da divlugação do boletim MS08-67, pesquisadores conseguiram codificar exploits 100% efetivos - dada a simplicidade de exploração da vulnerabilidade.

A partir de então, registrou-se um crescimento constante na exploração da vulnerabilidade (incluindo exploits públicos). Neste interim, o foco do mundo de segurança se voltou para outra vulnerabilidade crítica - desta vez afetando o Internet Explorer (MS08-78).

Enquanto isto os Worms (como o coreano Gimmiv) que exploram esta vulnerabiliade se sofisticaram, e nos últimos dias temos visto muitos alertas sobre o crescimento do WORM "Conficker" - também chamado de "Downadup" e "Kido".

Expansão Global:

O Worm Conficker / DownadUp está em plena expansão, em um ritmo de mais de um milhão de máquinas infectadas por dia (note que cada IP roteável na lista da F-Secure abaixo pode indicar uma rede com muitos computadores). O último cálculo feito indica que quase 4 milhões de máquinas estão infectadas, sendo que em suas análises iniciais, o Brasil era o segundo país com mais infecções!

Update (16/01/2009): A F-Secure divulgou novos números: 8976038 computadores infectados (9 milhões!) e 353495 endereços IPs envolvidos. A F-Secure detalhou mais tarde como chegou a estes números...

A Qualys divulgou que 30% dos computadores do mundo ainda estão vulneráveis ao vetor de exploração principal do WORM (Vuln. Windows RPC MS0867)


Sofisticação
:

O Conficker / DownadUp utiliza algumas técnicas interessantes e bem sucedidas para garantir sua efetividade / propagação:

Além de explorar a vulnerabilidade RPC referente ao boletim MS08-67 (a) , ele :

(a) utiliza o exploit publicado pelo projeto metasploit, otimizando assim as taxas de infecções para diferentes versões e linguagens do Windows (usando fingerprinting smb).
(b) se copia para compartilhamentos sem senha,
(c) faz força bruta de senhas nos demais compartilhamentos (inclusive ADMIN$),
(d) se copia para dispositívos USB com uma interessante técnica de obsfuscação.
(e) se utiliza de métodos de engenharia social para se propagar
(f) impede a comunicação com vários sites de segurança/anti-virus para dificultar sua limpeza.
(g) utiliza nomes e extensões randômicas em seus arquivos, para evitar detecção
(h) usa técnicas de mudança de timestamp (iguala datas e horas de acesso/modificação/criação às do arquivo %System%\kernel32.dll)
(i) inicia um servidor HTTP em uma porta randômica da máquina infectada para garantir a atualização de seu código.
(j) Faz um hook na API NetpwPathCanonicalize para evitar que ele ou malware explore a vulnerabilidade RPC (MS08-67) novamente.
(k) Manda informações para seu dono de quantas máquinas conseguiu infectar (ex: 129 máquinas para a requisição "GET /search?q=129 HTTP/1.0") Mais info aqui.
(l) Utiliza uma variante simples do método "fast-flux" - garantindo a sobrevivência de atualizações (*)

* o endereço de atualização é escolhido dentre 250 possíveis dominios gerados por dia (seguindo um algorítimo interno). Desta forma o controlador do Worm precisa registrar apenas um destes domínios para comandar as maquinas (que consultam todos). A F-Secure aproveitou e registrou um dos domínios, conseguindo assim medir o tamanho do problema.

Identificação de Hosts Vulneráveis:


Uma sugestão minha para identificar o grau de infecção e quais IPs de uma rede local grande estão comprometidas: acompanhe HOJE E AMANHÃ as resoluções DNS para os domínios listados pela F-Secure ou registre em seu DNS interno os domínios utilizados pelo Worm, e faça com que eles resolvam um IP interno de um honeypot simples (ou deixe rodando um tcpdump que registre as tentativas de acesso ao domínio.

Defesa em profundidade:

1 - A mais óbvia defesa, esteja certo de que o PATCH - referente ao boletim MS08-67 - esteja aplicado em todas as máquinas sob sua responsabilidade.

2 - Esteja certo que as regras de Firewall estão com "default-deny" e bloqueand oacesso externo às portas 139/tcp e 445/tcp.

3 - Encontre e feche os compartilhamentos sem senha da sua rede antes do Worm

4 - Caso você tenha IDS/IPS internos, atualize suas regras e monitore pela tentativa de exploração desta vulnerabilidade.

5 - Usando uma solução SIM - Security Information Management, monitore os logs das suas máquinas Windows, usando regras de correlação para detectar a exploração da vulnerabilidade RPC MS08-067 e para detectar tentativas sucessivas de logon com falha (força bruta) em máquinas Vista e 2008.

6 - Inclua em seu Logon-Script alguma ferramenta de remoção automática do Conficker / DownadUp (F-secure F-Downadup.zip ou Microsoft Malicious Software Removal Tool).

7 - Desabilite USB Autoplay e Autorun em suas máquinas, e evite esta forma de propagação de vários malwares, dicas nestes links.

8 - Bloqueie (via dns, controle de conteúdo ou proxy) os possíveis domínios que serão utilizados futuramente (até o dia 16/01/2009) pelo Worm. Update (16/01/2009): A F-Secure divulgou o uma nova lista contendo 3749 domínios que podem ser utilizados pelo Worm até o dia 31/01/2009. Update 13/02/2009 - use esta lista de domínios mais atualizada (até 30/06/2009)
9 - Um bom anti-virus atualizado ajuda.

10 - Soluções de Segurança "In-The-Cloud" como a da Prevx, tem alardeado sucesso em bloquear todas as variantes deste Worm até o momento.

Labels

forense (50) resposta a incidentes (40) segurança em profundidade (27) vulnerabilidade (27) treinamento (22) cyberwar (18) conferência (16) forense de memória (15) hackers (15) malware (15) blogs (14) windows (13) ddos (12) vazamento de informações (12) china (11) criptografia (11) dns (11) exploit (11) google (11) microsoft (11) ferramenta (10) memoria (10) botnet (9) csirt (9) forense de disco (9) forense de rede (9) ftk (9) legislação (9) phishing (9) 0-day (8) NIST (8) accessdata (8) encase (8) evento (8) ferramentas (8) kaspersky (8) linux (8) negação de serviço (8) netwitness (8) sans (8) volatility (8) cert.br (7) correlacionamento (7) desafios (7) forense corporativa (7) internet explorer (7) livros (7) pageviews (7) pci (7) twitter (7) usa (7) APURA (6) Guidance Software (6) espionagem industrial (6) governo (6) iccyber (6) metasploit (6) monitoração (6) privacidade (6) skype (6) techbiz (6) 0day (5) CDCiber (5) blackhat (5) brasil (5) dlp (5) falha (5) fbi (5) ids (5) inteligencia (5) java (5) memoryze (5) modelagem de ameaças (5) métricas (5) nsa (5) patch (5) pdf (5) policia federal (5) python (5) registry (5) richard bejtlich (5) rsa (5) segurança (5) segurança de rede (5) siem (5) CyberCrime (4) Enscript (4) adobe reader (4) algoritmo (4) android (4) anti-forense (4) anti-virus (4) arcsight (4) auditoria (4) backdoor (4) backtrack (4) campus party (4) ccc (4) certificação digital (4) ciberespionagem (4) defacement (4) drive-by (4) estatísticas (4) exploit kit (4) firefox (4) fud (4) gsi (4) mandiant (4) md5 (4) online (4) pentest (4) programação (4) safe browsing (4) sandbox (4) slowloris (4) ssl (4) storm worm (4) stuxnet (4) trojan (4) wikileaks (4) windows7 (4) .gov (3) ameaça (3) blackberry (3) ceic (3) chrome (3) ciberguerra (3) cloud (3) conscientização (3) crackers (3) cymru (3) dan geer (3) defesa (3) dsic (3) engenharia social (3) enisa (3) evidence (3) fast flux (3) forense digital (3) hardware (3) htcia (3) https (3) imperva (3) intel (3) ips (3) live cd (3) logs (3) man in the middle (3) networkminer (3) perícia digital (3) processo (3) ransomware (3) registro (3) reportagem (3) revista (3) risco (3) secunia (3) shodan (3) sox (3) sql injection (3) tools (3) truecrypt (3) verizon (3) virus (3) vista (3) voip (3) worm (3) .mil (2) BSIMM (2) Encase Enterprise (2) JDFSL (2) TPM (2) Virustotal (2) XSS (2) adobe flash (2) aduc (2) amazon (2) apache (2) apple (2) autenticação (2) bloqueador de escrita (2) breno silva (2) bruce schneier (2) bundestrojaner (2) cache poisoning (2) caine (2) carders (2) carnegie mellon (2) carolina dieckmann (2) carving (2) censura (2) cipav (2) cofee (2) coldboot (2) comodogate (2) conficker (2) consciência situacional (2) cooperação (2) core (2) cucko´s egg (2) cuda (2) cyberwarfare (2) database security (2) digital intelligence (2) direito digital (2) dnschanger (2) dpf (2) engenharia elétrica (2) engenharia reversa (2) etir (2) expressões regulares (2) f-response (2) finfisher (2) fingerprinting (2) firmware (2) flash (2) fraude (2) ftkimager (2) full disclosure (2) fuzzy (2) gsm (2) hacktivismo (2) hbgary (2) heap spray (2) iOS (2) immunity (2) impacto (2) insecure magazine (2) insiders (2) interceptação (2) iphone (2) irc (2) irã (2) jaquith (2) loic (2) mac (2) mastercard (2) mestrado (2) mobile (2) ms08-067 (2) openioc (2) openssl (2) otan (2) palantir (2) paypal (2) pcap (2) pdgmail (2) portugal (2) presidência (2) prisão (2) proxies (2) ptfinder (2) rbn (2) recompensa (2) recuperação (2) regripper (2) relatório (2) resumo (2) rio de janeiro (2) ross anderson (2) russia (2) securid (2) segurança por obscuridade (2) shell (2) sift (2) snort (2) snowden (2) sony (2) sorteio (2) spam (2) spoofing (2) spyeye (2) sql (2) ssd (2) stealth (2) suricata (2) sysinternals (2) tecnologia (2) trend micro (2) unb (2) usb (2) virtualização (2) visa (2) vulnerability (2) waf (2) winen (2) wireless (2) wpa (2) wpa2 (2) xry (2) zeus (2) .edu (1) .pac (1) 3g (1) ABNT (1) AR-Drone (1) AppleGate (1) Asterisk (1) Audit Viewer (1) BIOS (1) CCDCOE (1) CEF (1) CERT (1) CSI Cyber (1) CarbonBlack (1) Craig Wright (1) DC3 (1) Diginotar (1) Dilma (1) DoD (1) Equation (1) FACE (1) FRED (1) Facebook (1) Fred Cohen (1) GPU (1) Gene Spafford (1) HP (1) ICOFCS (1) ICS (1) IDMEF (1) IJDCF (1) IJDE (1) IJOFCS (1) INFOSEG (1) IODEF (1) IPv6 (1) ISIS (1) ISO (1) MAEC (1) MCT (1) MMEF (1) Michael Cloppert (1) Ministério da Defesa (1) Netwtiness (1) OVAL (1) PL84/99 (1) RH2.5 (1) RNP (1) SDDFJ (1) SbSeg (1) Seccubus (1) Stratfor (1) TED (1) TJX (1) TV5 (1) TV5Monde (1) Tallinn (1) USCyberPatriot (1) USSTRATCOM (1) VERIS (1) VRT (1) WPS (1) WiPhire (1) Wifi Protected Setup (1) Windows10 (1) XMLHttpRequest (1) YARA (1) a5/1 (1) a5/3 (1) active defense (1) adeona (1) adhd (1) aes (1) afflib (1) akamai (1) alemanha (1) ambev (1) angler (1) anti-theft (1) antisec (1) anubisnetworks (1) apt (1) apwg (1) aquisição (1) arbor (1) armoring (1) artefatos (1) artillery (1) asprox (1) assinaturas (1) atenção seletiva (1) attack (1) aurora (1) australia (1) autonomous systems (1) avg (1) avi rubin (1) avware (1) awards (1) baixaki (1) bash (1) bbc (1) bear trap (1) belkasoft (1) bgp (1) birthday attack (1) bitlocker (1) black tulip (1) blackhat seo (1) blacklist (1) blind sql injection (1) bluepex (1) bluepill (1) breaking point (1) bug (1) bulk_extractor (1) byod (1) c2c (1) capacidade (1) carbon black (1) careto (1) carnivore (1) cartão de crédito (1) cbs (1) cellebrite (1) celular (1) centera (1) cerberus (1) certificações (1) cheat sheet (1) chip (1) chris paget (1) chromium (1) citrix (1) clean pipe (1) cliff stoll (1) cloudfare (1) cloudflare (1) cloudshield (1) cnasi (1) cnet (1) cnn (1) codenomicon (1) coleta (1) comodo (1) comodobr (1) compliance (1) comsic (1) convenção de budapeste (1) convergence (1) copa do mundo (1) coreia do norte (1) corey johnson (1) cpbr (1) crime na rede (1) crise (1) cristine hoepers (1) cuckoo (1) cyberattack (1) cyberbunker (1) daemonlogger (1) dam (1) dancho danchev (1) darkmarket (1) dcom (1) decaf (1) decaf v2 (1) decloack (1) deepweb (1) defcon (1) deutche telekom (1) dfrws (1) digitask (1) dimmit (1) diário oficial (1) dnsbl (1) dnssec (1) dou (1) downadup (1) drdos (1) drwxr (1) dsd (1) dumpcap (1) dumpit (1) duqu (1) e-evidence (1) ediscovery (1) eff (1) elcomsoft (1) emc (1) emprego (1) energia (1) enigma (1) entrevista (1) escola nacional de defesa cibernetica (1) eset (1) esteganografia (1) estonia (1) estratégia (1) etld (1) europa (1) eventos (1) evil maid (1) evilgrade (1) exercito (1) exploit-db (1) exportação (1) extorsão (1) f-secure (1) falso positivo (1) fantastico (1) fatal error (1) fecomercio (1) fernando carbone (1) ff4 (1) finlândia (1) flame (1) flexispy (1) foremost (1) forense de vídeo (1) forensic focus (1) forensic magazine (1) forensics (1) forensics.wiki.br (1) forensicswiki (1) força bruta (1) frança (1) full disk encryption (1) g1 (1) gauss (1) gcih (1) ghostnet (1) globo (1) gmail (1) gpcode (1) gpl (1) gps (1) grampo (1) guardium (1) guerra (1) guilherme venere (1) hack (1) hackerazzi (1) hackingteam (1) hakin9 (1) hardening (1) harlan carvey (1) hash (1) helix (1) hitler (1) holanda (1) honeynet (1) honeypot (1) hope (1) hosts (1) hotmail (1) httpry (1) iPhoneTracker (1) idefense (1) ig (1) impressoras (1) india (1) info exame (1) insecure maganize (1) intenção (1) interpol (1) interview (1) into the boxes (1) investimento (1) ioerror (1) iphone forensics (1) ironport (1) isc2 (1) israel (1) j2ee (1) jacomo dimmit (1) jailbreak (1) javascript (1) jesse kornblum (1) jotti (1) junho 2008 (1) kaminsky (1) kasumi (1) kgb (1) kits (1) klaus steding-jessen (1) kntools (1) kraken (1) langner (1) lime (1) limites (1) lista (1) lm (1) locaweb (1) lockheed martin (1) lynis (1) lógica (1) mac memory reader (1) mac memoryze (1) macosx (1) magic lantern (1) map (1) marcapasso (1) marcelo caiado (1) marcos ferrari (1) mawlare (1) mbr (1) mcafee (1) mcgraw (1) memscript (1) metasploitable (1) mindmap (1) mit (1) mitigação (1) mitm (1) moonsols (1) moxie (1) mrtg (1) ms08-033 (1) nac (1) nessus (1) netcontinuum (1) netflow (1) networking (1) ngrep (1) nit (1) nmap (1) norma (1) norse (1) notebook (1) ntlm (1) ntop (1) ntp (1) nuclear (1) obama (1) oi (1) oisf (1) oiss (1) olimpiadas (1) openbts (1) openvas (1) opm (1) oportunidade (1) oracle (1) orkut (1) otp (1) owasp (1) packers (1) panda (1) pattern matching (1) payback (1) pcre (1) pedofilia (1) pentesting (1) perforce (1) pericia (1) perl (1) perícia (1) pfsense (1) pgp disk (1) phonecrypt (1) pki (1) ploks (1) poisoning attack (1) policia civil (1) polypack (1) port knocking (1) português (1) post-mortem (1) postgres (1) powershell (1) prefeitura (1) premiação (1) preparação (1) princeton (1) provedores (1) ps3 (1) psn (1) psyb0t (1) pushpin (1) pwn2own (1) pymail (1) quebra de sigilo (1) r2d2 (1) rainbow tables (1) rar (1) realengo (1) reação (1) record (1) referência (1) regex (1) registry viewer (1) regulamentação (1) remnux (1) renato maia (1) renault (1) replay (1) reversing labs (1) roi (1) rootkit (1) router (1) rpc (1) ruby (1) sanitização (1) santoku (1) sc magazine (1) scada (1) scanner (1) scm (1) secerno (1) second life (1) security (1) securityonion (1) senasic (1) sentrigo (1) sep (1) sequestro de dados (1) sha1 (1) shadowserver (1) shmoocon (1) siemens (1) sites (1) skorobogatov (1) slideshare (1) smartcard (1) snapcell (1) software (1) sotirov (1) sp (1) spamhaus (1) spidertrap (1) squid (1) sri (1) ssdeep (1) sseguranca (1) sslstrip (1) sting (1) stj (1) street view (1) sucuri (1) superinteressante (1) são paulo (1) takedown (1) teamcymru (1) technosecurity (1) telefônica (1) terra (1) terrorismo (1) timeline (1) tizor (1) tls (1) token (1) topcell gsm (1) tresor (1) trustwave (1) tse (1) turquia (1) txtBBSpy (1) umass (1) unix (1) urna eletrônica (1) us-cert (1) usenix (1) userassist (1) vazamentos (1) venda de senhas (1) venere (1) verdasys (1) verisign (1) videntifier (1) visualização (1) visualize (1) vivo (1) vm (1) votação (1) wargaming (1) wasc (1) web 2.0 (1) weblabyrinth (1) websense (1) whitelisting (1) whois (1) wigle (1) win32dd (1) winacq (1) windbg (1) windd (1) winifixer (1) wipe (1) wired (1) wireshark (1) wlan (1) wordpress (1) wrf (1) xerxes (1) xp (1) zdi (1) zlob (1)