citadelo

Všetky články

15 január 2018 / 3 minúty čítania

Neoficiálny “Patch Tuesday” – MSMQ Privilege Escalation Vulnerability Hotfix

Táto bezpečnostná záplata rieši verejne známu zraniteľnosť vo Windows Message Queuing Service (MSMQ) objavenú spoločnosťou KoreLogic


Zhrnutie

Táto bezpečnostná záplata rieši verejne známu zraniteľnosť vo Windows Message Queuing Service (MSMQ) objavenú spoločnosťou KoreLogic [1]. V predvolenom nastavení súčasť Message Queuing nie je nainštalovaná a zraniteľný je iba operačný systém Windows XP. Keďže Microsoft pre Windows XP prestal vydávať bezpečnostné záplaty [2] a exploit je dostupný v Metasploite [3], rozhodli sme sa vydať hotfix, ktorý ochráni používateľov, ktorí nestihli zmigrovať z Windows XP a používajú túto službu. Patch bol úspešne otestovaný na Windows XP SP3 a neobsahuje žiadny škodlivý kód.

UPDATE: Pôvodná verzia záplaty nebola kompatibilná s prepínačom /3GB v boot.ini. Aktuálna verzia je kompatibilná aj s /3GB prepínačom. Ďakujeme Patrikovi Horníkovi zo spravodajského technologického servera DSL.sk za upozornenie.

Microsoft túto zraniteľnosť neplánuje zaplátať (z KoreLogic advisory):

msmq

Ako aplikovať záplatu

1. Spustite Windows XP v núdzovom režime [4]
2. Spustite python skript (záplatu) [5]

Záplata

#!/usr/bin/python
#
# MSMQ Privilege Escalation Vulnerability Hotfix - CVE-2014-4971
# 12th August 2014 - Alino from Citadelo - [email protected]
# 
# Disclaimer: Use this security patch at your own risk.
 
import os
import sys
import ctypes
import shutil
import hashlib
import platform
 
original = "7849c06480eeb96c0d06689e5db80ddcacc5dd077ce6dfa25ccb7bdf3378c962"
patched = "b014b913a1f913fad4d15cce9b27ff2b54f6f015c768b622c2baf049ca5f5b2e"
old_patch = "f481a1c6ea8508854ee8b4051d423679d58abb66586d904c7240b200fb109432"
 
driver = os.environ['WINDIR'] + "\\System32\\drivers\\mqac.sys"
driver_bck = os.environ['WINDIR'] + "\\System32\\drivers\\mqac.bck"
 
print "\n[*] MSMQ Privilege Escalation Vulnerability Hotfix - CVE-2014-4971"
print "[*] 12th August 2014 - Alino from Citadelo - [email protected]"
 
if platform.release() != "XP":
    sys.exit("\n[-] ERROR: This patch is for Windows XP!")
 
if ctypes.windll.user32.GetSystemMetrics(67) == 0:
    sys.exit("\n[-] ERROR: Must be run in Safe mode!")
 
if ctypes.windll.shell32.IsUserAnAdmin() != 1:
    sys.exit("\n[-] ERROR: You must have Administrator rights!")
 
if not os.path.exists(driver):
    sys.exit("\n[-] ERROR: Driver mqac.sys not found!")
 
hasher = hashlib.sha256()
with open(driver, "rb") as file:
    buffer = file.read()
    hasher.update(buffer)
 
if hasher.hexdigest() == patched:
    sys.exit("\n[-] ERROR: Already patched!")
 
if hasher.hexdigest() != original:
    if hasher.hexdigest() != old_patch:
        sys.exit("\n[-] ERROR: Wrong driver version! This patch is for version 5.1.0.1110")
 
shutil.copyfile(driver, driver_bck)
print "\n[*] Backup file mqac.bck created"
 
buffer = buffer[:0x138] + "\x0A\xE1\x01" + buffer[0x13B:] # PE CHECKSUM
buffer = buffer[:0x1EFA] + "\xE9\xDD\x18\x01\x00" + buffer[0x1EFF:] # JMP mqac!_alldiv+0x6
buffer = buffer[:0x1F32] + "\xEB\xC6" + buffer[0x1F34:] # JMP mqac!AC2QM+0x20
buffer = buffer[:0x137DC] + "\xE8\x00\x00\x00\x00\x5B\x8B\x5B\x73\x8B\x1B\x3B\xF3\xBB\x00\x00\x00\x00\x0F\x83\xE2\xE7\xFE\xFF\xE9\x3B\xE7\xFE\xFF" + buffer[0x137F9:] # CALL mqac!_alldiv+0xb; POP EBX; MOV EBX,DWORD PTR [EBX+73h]; MOV EBX,DWORD PTR [EBX]; CMP ESI,EBX; MOV EBX,0; JNB mqac!AC2QM+0xfc; JMP mqac!AC2QM+0x5a
 
f = open(driver , "wb")
f.write(buffer)
f.close()
 
print "[*] Driver sucessfully patched!"

Metasploit modul zlyhá počas exploitácie na zaplátanom systéme:

msmq

Upozornenie

Použitie záplaty je na vlastné riziko.

Zostávajte zabezpečení,
Alino

Referencie:

  1. https://www.korelogic.com/Resources/Advisories/KL-001-2014-003.txt

  2. http://windows.microsoft.com/en-us/windows/end-support-help

  3. http://www.rapid7.com/db/modules/exploit/windows/local/mqac_write

  4. http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/boot_failsafe.mspx

logo
Member of Boltonshield

Prihláste sa k odberu nášho newslettera a získajte všetky dôležité novinky v oblasti kybernetickej bezpečnosti a etického hackovania.

© 2024 citadelo AG. Všetky práva vyhradené.

facebooklinkedinxyoutube