Citadelo logo

Všechny články

17 leden 2018 / 3 minuty čtení

Neoficiální Patch Tuesday MSMQ Privilege Escalation Vulnerability Hotfix

Tato bezpečnostní záplata řeší veřejně známou slabinu Windows Message Queuing Service (MSMQ) objevenou společností KoreLogic


Shrnutí

Shrnutí: Tato bezpečnostní záplata řeší veřejně známou slabinu Windows Message Queuing Service (MSMQ) objevenou společností KoreLogic [1]. Ve výchozím nastavení součást Message Queuing není nainstalovaná a zranitelný je pouze operační systém Windows XP. Jelikož Microsoft pro Windows XP přestal vydávat bezpečnostní záplaty [2] a exploit je dostupný v Metasploit [3], rozhodli jsme se vydat hotfix, který ochrání uživatele, kteří se nestihli přesunout z Windows XP a používají tuto službu. Patch byl úspěšně otestován na Windows XP SP3 a neobsahuje žádný škodlivý kód.

UPDATE: Původní verze záplaty nebyla kompatibilní s přepínačem /3GB v boot.ini. Aktuální verze je kompatibilní i s /3GB přepínačem. Děkujeme Patrikovi Horníkovi ze zpravodajského technologického serveru DSL.sk za upozornění.

**Microsoft tuto slabinu neplánuje záplatovat (z KoreLogic advisory):** 

msmq-1.png

1. Spusťte Windows XP v nouzovém režimu [4]
2. Spusťte python skript (záplatu) [5]

Záplata

#!/usr/bin/python<br />
#<br />
# MSMQ Privilege Escalation Vulnerability Hotfix - CVE-2014-4971<br />
# 12th August 2014 - Alino from Citadelo - [email protected]<br />
#<br />
# Disclaimer: Use this security patch at your own risk.</p>
<p>import os<br />
import sys<br />
import ctypes<br />
import shutil<br />
import hashlib<br />
import platform</p>
<p>original = "7849c06480eeb96c0d06689e5db80ddcacc5dd077ce6dfa25ccb7bdf3378c962"<br />
patched = "b014b913a1f913fad4d15cce9b27ff2b54f6f015c768b622c2baf049ca5f5b2e"<br />
old_patch = "f481a1c6ea8508854ee8b4051d423679d58abb66586d904c7240b200fb109432"</p>
<p>driver = os.environ['WINDIR'] + "\\System32\\drivers\\mqac.sys"<br />
driver_bck = os.environ['WINDIR'] + "\\System32\\drivers\\mqac.bck"</p>
<p>print "\n[*] MSMQ Privilege Escalation Vulnerability Hotfix - CVE-2014-4971"<br />
print "[*] 12th August 2014 - Alino from Citadelo - [email protected]"</p>
<p>if platform.release() != "XP":<br />
    sys.exit("\n[-] ERROR: This patch is for Windows XP!")</p>
<p>if ctypes.windll.user32.GetSystemMetrics(67) == 0:<br />
    sys.exit("\n[-] ERROR: Must be run in Safe mode!")</p>
<p>if ctypes.windll.shell32.IsUserAnAdmin() != 1:<br />
    sys.exit("\n[-] ERROR: You must have Administrator rights!")</p>
<p>if not os.path.exists(driver):<br />
    sys.exit("\n[-] ERROR: Driver mqac.sys not found!")</p>
<p>hasher = hashlib.sha256()<br />
with open(driver, "rb") as file:<br />
    buffer = file.read()<br />
    hasher.update(buffer)</p>
<p>if hasher.hexdigest() == patched:<br />
    sys.exit("\n[-] ERROR: Already patched!")</p>
<p>if hasher.hexdigest() != original:<br />
    if hasher.hexdigest() != old_patch:<br />
        sys.exit("\n[-] ERROR: Wrong driver version! This patch is for version 5.1.0.1110")</p>
<p>shutil.copyfile(driver, driver_bck)<br />
print "\n[*] Backup file mqac.bck created"</p>
<p>buffer = buffer[:0x138] + "\x0A\xE1\x01" + buffer[0x13B:] # PE CHECKSUM<br />
buffer = buffer[:0x1EFA] + "\xE9\xDD\x18\x01\x00" + buffer[0x1EFF:] # JMP mqac!_alldiv+0x6<br />
buffer = buffer[:0x1F32] + "\xEB\xC6" + buffer[0x1F34:] # JMP mqac!AC2QM+0x20<br />
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</p>
<p>f = open(driver , "wb")<br />
f.write(buffer)<br />
f.close()</p>
<p>print "[*] Driver sucessfully patched!"<br />

Metasploit selže během exploatace na záplatovaném systému:

msmq

Upozornění

Použití záplaty je na vlastní riziko.

Zůstávejte zabezpečení,
Alino, [email protected]

reference:
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

Přihlaste se k odběru našeho newsletteru a získejte všechny důležité novinky v oblasti kybernetické bezpečnosti a etického hackování.

© 2024 citadelo AG. Všechna práva vyhrazena.

facebooklinkedinxyoutube