Архив метки: security

Проблема небезопасной загрузки динамических библиотек

Проблема небезопасной загрузки динамических библиотек вообще характерна для продуктов Microsoft. Она стала причиной уязвимостей MS10-087, MS10-093, MS10-094, MS10-095, MS10-096, MS10-097, MS11-001, MS11-003, MS11-015, MS11-016, MS11-017, MS11-023, MS11-025, KB2533623, MS11-055, MS11-059, MS11-071, MS11-073, MS11-075, MS11-076, MS11-085, MS11-094, MS11-099, MS12-012, MS12-014, MS12-022, MS12-039, MS12-046, MS12-074, MS14-023.

Ответственность за обеспечение безопасности подключения библиотек в первую очередь на разработчиках. Например, при указании при вызове функции LoadLibraryEx() ключа LOAD_LIBRARY_SEARCH_SYSTEM32 поиск библиотеки начинается с system32 (странно, почему Microsoft не мог просто использовать это в скайпе?).

Но что-то в силах сделать и администраторы.

Во-первых, это ключ SafeDllSearchMode (HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerSafeDllSearchMode), который немного меняет порядок поиска библиотек:

1. Директория, из которой запущно приложение

2. Системная директория

3. Директория Winodws

4. Текущая директория

5. Директории из переменной окружения PATH

Если отключить SafeDllSearchMode, порядок будет такой:

1. Директория, из которой запущно приложение

2. Текущая директория

3. Системная директория

4. Директория Winodws

5. Директории из переменной окружения PATH

Особо интересны два момента:

– Если библиотека с таким именем уже загружена в память, то будет использоваться этот образ

– Если библиотека присутствует в KnownDlls, то она будет загружаться из стандартного пути

На последнем моменте надо остановиться подробнее. Известные библиотеки перечислены в узле реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKnownDLLs и по умолчанию загружаются ТОЛЬКО из системных директорий. Путь их поиска можно задать ключами HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKnownDLLs:DllDirectory и HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKnownDLLs:DllDirectory32.

Поэтому, в общем то, вчерашнюю проблему со скайпом можно решить путем добавления библиотеки в KnownDlls.

Источник: https://t.me/informhardening



2018-02-15T13:03:57
Закрытие уязвимостей

Повышение прав в Windows через Skype

Недавно анонсирована уязвимость повышения прав в Windows через Skype.

Уязвимость примечательна тем, что Microsoft сказал “слишком сложно” и “исправим в следующей версии”.

Для обновления Skype использует не общие механизмы Windows Update, а собственное приложение “%ProgramFiles%SkypeUpdaterUpdater.exe”, которое запускается с правами SYSTEM.

Если обнаружено доступное обновление Updater.exe распаковывает его в “%SystemRoot%TempSKY<abcd>.tmp” и запускает команду “%SystemRoot%TempSKY<abcd>.tmp” /QUIET. Это приложение загружает дополнительные библиотеки, в частности UXTheme.dll, и ищет их сначала в папке запуска (что в общем то обычное дело) %SystemRoot%Temp.

Соответственно, при наличии у пользователя доступа к папке %SystemRoot%Temp он может подменить библиотеку кодом, который выполнится с правами SYSTEM.

Папка %SystemRoot%Temp используется множеством софта, так что нельзя просто взять и ограничить к ней доступ.

Можно было бы удалить Updater.exe, но тогда скайп не будет обновляться. Что ж, давайте сделаем так: скопируем UXTheme.dll из %SystemRoot%system32 в %SystemRoot%Temp и запретим к ней доступ на изменение и запись – скайп будет загружать ее, а подменить ее хакеру с правами рядового пользователя не удастся.

источник: https://t.me/informhardening



2018-02-14T11:08:01
Закрытие уязвимостей

Закрываем уязвимость WordPress CVE 2018-6389

DoS может быть иногда интересен.

Когда речь идет о пограничных маршрутизаторах или о порядка четверти сайтов в интернете.

В WordPress найдена уязвимость, позволяющая не напрягаясь уложить сайт (CVE 2018-6389).

В платформе есть две функции load-scripts.php и load-styles.php, позволяющие указать список загружаемых JS-скриптов или CSS.

Они доступны на странице логина, поэтому не требуют авторизации.

Предполагаемый смысл – уменьшить количество запросов к сайту при загрузке дополнительных файлов. Ну а на деле можно запросить все доступные файлы, загрузив сервер на 2 с лишним секунды и потребовав ответ в 4 МБ.

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

Эксплуатируется очень просто, вот тулза от ресерчера, чтобы повторять запросы: https://github.com/quitten/doser.py.

Запускается для эксплойтинга:

#  python doser.py -g 'http://mywpserver.com/wp-admin/load-scripts.php?c=1&load%5B%5D=eutil,common,wp-a11y,sack,quicktag,colorpicker,editor,wp-fullscreen-stu,wp-ajax-response,wp-api-request,wp-pointer,autosave,heartbeat,wp-auth-check,wp-lists,prototype,scriptaculous-root,scriptaculous-builder,scriptaculous-dragdrop,scriptaculous-effects,scriptaculous-slider,scriptaculous-sound,scriptaculous-controls,scriptaculous,cropper,jquery,jquery-core,jquery-migrate,jquery-ui-core,jquery-effects-core,jquery-effects-blind,jquery-effects-bounce,jquery-effects-clip,jquery-effects-drop,jquery-effects-explode,jquery-effects-fade,jquery-effects-fold,jquery-effects-highlight,jquery-effects-puff,jquery-effects-pulsate,jquery-effects-scale,jquery-effects-shake,jquery-effects-size,jquery-effects-slide,jquery-effects-transfer,jquery-ui-accordion,jquery-ui-autocomplete,jquery-ui-button,jquery-ui-datepicker,jquery-ui-dialog,jquery-ui-draggable,jquery-ui-droppable,jquery-ui-menu,jquery-ui-mouse,jquery-ui-position,jquery-ui-progressbar,jquery-ui-resizable,jquery-ui-selectable,jquery-ui-selectmenu,jquery-ui-slider,jquery-ui-sortable,jquery-ui-spinner,jquery-ui-tabs,jquery-ui-tooltip,jquery-ui-widget,jquery-form,jquery-color,schedule,jquery-query,jquery-serialize-object,jquery-hotkeys,jquery-table-hotkeys,jquery-touch-punch,suggest,imagesloaded,masonry,jquery-masonry,thickbox,jcrop,swfobject,moxiejs,plupload,plupload-handlers,wp-plupload,swfupload,swfupload-all,swfupload-handlers,comment-repl,json2,underscore,backbone,wp-util,wp-sanitize,wp-backbone,revisions,imgareaselect,mediaelement,mediaelement-core,mediaelement-migrat,mediaelement-vimeo,wp-mediaelement,wp-codemirror,csslint,jshint,esprima,jsonlint,htmlhint,htmlhint-kses,code-editor,wp-theme-plugin-editor,wp-playlist,zxcvbn-async,password-strength-meter,user-profile,language-chooser,user-suggest,admin-ba,wplink,wpdialogs,word-coun,media-upload,hoverIntent,customize-base,customize-loader,customize-preview,customize-models,customize-views,customize-controls,customize-selective-refresh,customize-widgets,customize-preview-widgets,customize-nav-menus,customize-preview-nav-menus,wp-custom-header,accordion,shortcode,media-models,wp-embe,media-views,media-editor,media-audiovideo,mce-view,wp-api,admin-tags,admin-comments,xfn,postbox,tags-box,tags-suggest,post,editor-expand,link,comment,admin-gallery,admin-widgets,media-widgets,media-audio-widget,media-image-widget,media-gallery-widget,media-video-widget,text-widgets,custom-html-widgets,theme,inline-edit-post,inline-edit-tax,plugin-install,updates,farbtastic,iris,wp-color-picker,dashboard,list-revision,media-grid,media,image-edit,set-post-thumbnail,nav-menu,custom-header,custom-background,media-gallery,svg-painter&ver=4.9' -t 9999 

 

И этот парень, Barak Tawily, даже позаботился о несчастных владельцах сайтов на WordPress заместо производителя и написал скрипт, который устранит уязвимость: https://github.com/Quitten/WordPress/blob/master/wp-dos-patch.sh.

Источник : https://t.me/informhardening



2018-02-12T11:53:06
Закрытие уязвимостей

Закрываем уязвимость CVE-2018-0101 в Cisco ASA

Считается, что циски весьма отличаются секурностью, но и на старуху найдется проруха.

И не какая-то, а вполне себе полноценное RCE.

В данном случае речь о недавно анонсированной уязвимости CVE-2018-0101 в Cisco ASA, связанной с ошибками в обработке XML. Уязвимость позволяет без аутентификации удаленно выполнить произвольный код, ну или хотя бы вызвать отказ в обслуживании. Эсплуатируется через HTTPS сервисы или IKE2 RemoteAccess VPN. Эксплойтов не дам, сорян, ребята, они есть, но стоят $25k-$100k.

Далее имеем два пути – правильный и ленивый.

Правильный:

Вендор выпустил патчи уязвимости, надо их установить.

Исправленные версии: 9.1.7.23, 9.2.4.27, 9.4.4.16, 9.6.4.3, 9.7.1.21, 9.8.2.20, 9.9.1.2 и выше в ветках 9.1, 9.2, 9.4, 9.6, 9.7, 9.8 и 9.9. Другие ветки не поддерживаются и не обновлены.

Ленивый “не хотим ничего тестировать и обновлять”:

Можно отключить/ограничить доступ к уязвимым сервисам. Надо заметить, что способ ОЧЕНЬ неправильный, потому что сервисы когда-то могут оказаться внезапно включенными. Да и вообще нужны.

ASDM – скорей всего отключать не хочется, но можно ограничить доступ адресами админов:

 http <remote_ip_address> <remote_subnet_mask> <interface_name> 

AnyConnect IKEv2 Remote Access, AnyConnect SSL VPN и Clientless SSL VPN – либо отключить, либо повесить ACL для списка легитимных клиентов (доступ к портам TCP/443, UDP/500 и где у вас настроен Client Services) . Можно юзать IPSec Remote Access с IKEv1, но он совместим только со старым VPN-клиентом Cisco, мда…

Local Certificate Authority – либо отключить (но тогда отвалится аутентификация по сертификатам, если не используется сторонний центр сертификации), либо повесить ACL для тех же клиентов (порт TCP/443).

Mobile Device Manager (MDM) Proxy – выключить или повесить ACL.

Mobile User Security (MUS) – та же фигня, порт конфигурируем, найти можно в строке конфигурации mus server enable port <port #>.

Proxy Bypass – опять же выключить или ACL (порт TCP/443 или другие, если настроены).

Все еще не хочется обновляться? =)

Источник : https://t.me/informhardening



2018-02-08T14:20:12
Закрытие уязвимостей

Уязвимости EternalChampion, EternalRomance и EternalSynergy

Арсенал хакеров пополнился новым крутым эксплойтом уязвимостей EternalChampion, EternalRomance и EternalSynergy (это все входит в MS17-010, как и широкоизвестный EternalBlue).

Эксплойт доступен в виде двух модулей метасплойта https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/smb/ms17_010_psexec.rb и https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/admin/smb/ms17_010_command.rb.

Работает для всех Windows от 2000, как 32, так и 64-битных. Более надежен, чем EternalBlue!

Вот так то, без обновлений дальше жить никак нельзя. (Ну вообще то и раньше нельзя было, но таки убедимся, что все хорошо)

PowerShell способ проверки:

При установке патча обновляется версия файла %systemroot%system32driverssrv.sys и по ее значению можно точно определить, установлено ли обновление.

Windows XP – 5.1.2600.7208 и выше

Windows Server 2003 с пакетом обновления 2 (SP2) – 5.2.3790.6021 и выше

Windows Vista, Windows Server 2008 с пакетом обновления 2 (SP2) – GDR:6.0.6002.19743, LDR:6.0.6002.24067 и выше

Windows 7, Windows Server 2008 R2 – 6.1.7601.23689 и выше

Windows 8, Windows Server 2012 – 6.2.9200.22099 и выше

Windows 8.1, Windows Server 2012 R2 – 6.3.9600.18604 и выше

Windows 10 TH1 v1507 – 10.0.10240.17319 и выше

Windows 10 TH2 v1511 – 10.0.10586.839 и выше

Windows 10 RS1 v1607, Windows Server 2016 – 10.0.14393.953 и выше

Прилагается PowerShell скрипт, который автоматически проверяет соответствие версии.

Сетевой способ проверки:

 # nmap -p445 --script smb-vuln-ms17-010 -Pn -n <target> 

Проверка по KB, содержащим патч:

Их десятки. Перечислены вот тут: https://support.microsoft.com/ru-ru/help/4023262/how-to-verify-that-ms17-010-is-installed

Источник : https://t.me/informhardening



2018-02-07T12:21:14
Закрытие уязвимостей

Как настроить Mozilla Firefox для приватности

Mozilla решил дополнительно подсуетиться о приватности пользователей.

В 59-м Firefoxе заголовок Referer будет содержать не полный URL страницы, а только имя домена. Это при условиях, что включен private browsing и запрос на сторонний домен.

А что вообще стоит включить в Firefoxe для приватности?

network.http.sendSecureXSiteReferrer=false – можно отключить отправку Referer на HTTPS-сайтах

network.cookie.cookieBehavior=1 – отключает использование сторонних cookie

privacy.trackingprotection.enabled=true, privacy.trackingprotection.pbmode=true – включает защиту от отслеживания, которая реализуется в блокировке контента с определенного списка сайтов, замеченных в слежке за пользователями (формируется by Disconnect и встроен в Firefox)

geo.enabled=false – отключает геолокацию

Все настроечки доступны в about:config. Ну и че? А если 100 браузеров надо настроить?

Фаерфокс умеет считывать настроечки из файла, ага, даже не из реестра =/ Считывает он .js файлы из папки defaults/pref (Win, Linux) или Firefox.app/Contents/Resources/defaults/pref (Mac). Однако тут должна быть только ссылка на файл конфигурации, в общем надо создать .js файл со следующим содержанием:

// Any comment. You must start the file with a single-line comment!

pref("general.config.filename", "mozilla.cfg");

pref("general.config.obscure_value", 0);

Ну а теперь в директории, где лежит бинарь Фаерфокса, создаем файл mozilla.cfg уже с интересующими настройками, примерно так:

// Any comment. You must start the file with a comment!

lockPref("network.http.sendSecureXSiteReferrer", false);

lockPref("network.cookie.cookieBehavior", 1);

lockPref("privacy.trackingprotection.enabled ", true);

lockPref("privacy.trackingprotection.pbmode", true);

lockPref("geo.enabled", false);

Тут можно использовать разные уровни применения натроек:

lockPref – юзер не может изменить настройку

pref – настройка считывается при каждом запуске браузера, но юзер может ее перенастроить на время сессии

defaultPref – если юзер задаст новое значение настройки, оно будет использоваться и в новых сессиях

Источник: https://t.me/informhardening

 



2018-02-06T11:54:47
Закрытие уязвимостей