21.05.2014

»спользование метода Ђхолоднойї перезагрузки и других криминалистических техник в пентестах

image

«аканчиваетс€ рабочий день, и вы как можно скорее хотите покинуть свой офис. ¬есь день вы работали над отчетом и знаете, что его необходимо будет доделать утром. ¬ы заблокировали свой компьютер и думаете, что ваши данные в безопасности. «лоумышленники не смогут воспользоватьс€ утилитой Ophcrack или самозагружаемым Linux-дистрибутивом, наподобие Kali, поскольку у вас установлен надежный пароль и зашифрован весь диск. ¬ы думаете, что все путем, однако вы ошибаетесь. ¬се чаще и чаще злоумышленники используют сочетание различных методов, включа€ новейшие криминалистические техники, чтобы добратьс€ до вашей информации.

јвтор: don

«аканчиваетс€ рабочий день, и вы как можно скорее хотите покинуть свой офис. ¬есь день вы работали над отчетом и знаете, что его необходимо будет доделать утром. ¬ы заблокировали свой компьютер и думаете, что ваши данные в безопасности. «лоумышленники не смогут воспользоватьс€ утилитой Ophcrack или самозагружаемым Linux-дистрибутивом, наподобие Kali, поскольку у вас установлен надежный пароль и зашифрован весь диск. ¬ы думаете, что все путем, однако вы ошибаетесь. ¬се чаще и чаще злоумышленники используют сочетание различных методов, включа€ новейшие криминалистические техники, чтобы добратьс€ до вашей информации.

Ќа вашем компьютере существует отдельна€ область, содержаща€ конфиденциальную информацию, к которому злоумышленник будет не прочь прикоснутьс€ своими руками, – это оперативна€ пам€ть. —истема хранит всевозможную ценную информацию в пам€ти дл€ того, чтобы до нее проще было добратьс€. ћеханизм полного шифровани€ диска должен хранить ключи, предназначенные дл€ шифровани€, где-то в оперативной пам€ти. ¬се то же самое справедливо и в случае ключей шифровани€ дл€ Wi-Fi. ¬от лишь небольшой список того, что хранитс€ в оперативной пам€ти:

  • —екции реестра (registry hives) ќ— Windows и, следовательно, секции System и SAM
  • Ѕольшинство буферов промежуточного хранени€ данных (clipboard)
  • ѕароли многих приложений

¬ывод из всего этого можно сделать следующий: оперативна€ пам€ть Ц кладезь ценной информации, котора€ необходима множеству программ. „тобы получить доступ к этой информации злоумышленники прибегают к техникам, используемым криминалистами. ¬ этой статье будет рассказано о некоторых из таких техник, использу€ которые вы сможете расширить свой арсенал дл€ выполнени€ пентестов.

¬водное слово

ѕолноценный профиль системы можно легко получить, использу€ дамп пам€ти. ¬ последние годы снимки оперативной пам€ти использовались экспертами-криминалистами и в основном игнорировались пентестерами. » на это есть несколько причин.  риминалисты используют специальное программное обеспечение дл€ захвата оперативной пам€ти и обычно делают это после авторизации на устройстве. ѕодобные снимки пам€ти используютс€ дл€ поиска вредоносов и скрытых процессов. ѕентестера обычно больше интересуют хеши, файлы и запущенные процессы. ƒл€ получени€ подобной информации нет необходимости в дампах пам€ти, если у пентестера есть доступ к системе.

ќднако существует несколько случаев, когда снимки пам€ти очень пригодились бы пентестеру. –ассмотрим такой сценарий: при проведении внутреннего расследовани€, пентестер получил доступ к машинам, наход€щимс€ снаружи системы предпри€ти€.  лиент уверен, что специалист по безопасности не сможет использовать эти машины дл€ доступа к системе. Ќа машинах использовать полное шифрование диска, что делает невозможным использование Ophcrack и загрузку хешей. Ћюба€ из машин внутри системы также заблокирована. ќднако клиент даже не догадываетс€, что опытный пентестер, которые знаком с некоторыми криминалистическими техниками, может получить содержимое оперативной пам€ти системы. ¬ частности, существует две техники, которые можно использовать в этой ситуации: метод холодной перезагрузки и атака через Firewire.

јтака при помощи метода холодной перезагрузки

¬ начале 2008 года исследователи из ѕринстонского университета, а также организации, защищающей права и свободы личности в киберпространстве (Electronic Frontier Foundation) и компании Wind River Systems обнародовали документ озаглавленный «Lest We Remember: Cold Boot Attacks on Encryption Keys», где детально описан новый вид атак на работающие системы (live systems), целью которых €вл€етс€ получение информации из оперативной пам€ти. Ётот вид атак основан на получении информации, котора€ остаетс€ в оперативной пам€ти. ѕрин€то считать, что данные в оперативной пам€ти после выключени€ компьютера немедленно тер€ютс€.

ќднако исследователи показали, что сей факт не совсем верен. Ќа самом деле, требуетс€ некоторое врем€ дл€ очистки данных из пам€ти. ѕри отключении питани€ компьютера больша€ часть информации на секунду или две остаетс€ в целости и сохранности. Ёто врем€ можно раст€нуть путем охлаждени€ пам€ти, дл€ чего исследователи использовали один старый трюк Ц опрыскивали плату пам€ти, баллончиком со сжатым воздухом, перевернутым верх ногами. ќхлаждение платы позвол€ет данным оставатьс€ в пам€ти дес€тки секунд или даже минуты, что позволило исследовател€м разработать серию инструментов, которые могли извлекать информацию из пам€ти на машинах, где произошло быстрое выключение и повторное включение питани€.

ѕри использовании этого метода относительно велика веро€тность получить небольшие ошибки внутри снимка пам€ти, из-за чего его избегают использовать эксперты-криминалисты. ќднако пентестеру не требуетс€ образ пам€ти, соответствующий стандартам криминалистики. ƒаже 2% повреждений вполне допустимо, если ключи шифровани€ и база данных SAM наход€тс€ в целости и сохранности, что позвол€ет использовать этот метод (хот€ и с некоторыми трудност€ми) дл€ внутренних пентестов.

јвторы документа ЂLest We Rememberї разработали комплект утилит дл€ реализации атаки методом холодной перезагрузки, который можно загрузить с сайта ѕринстонского университета по адресу https://citp.princeton.edu/research/memory/code/. ќсновна€ утилита - USB/PXE Imaging, которую можно загрузить как tar-архив.  роме того, команда исследователей создала серию make-файлов дл€ упрощени€ процесса компил€ции. ѕлюс к каждому архиву прилагаетс€ документаци€. 32-битную версию следует компилировать в 32-битной системе (или виртуальной машине), а 64-битную, соответственно, в 64-битной системе (или виртуальной машине). Ќе забывайте использовать корректную версию дл€ соответствующей целевой системы, поскольку 32-верси€ будет работать на 64-битной машине, но не будет захватывать полностью адресное пространство пам€ти, так как 32-верси€ не сможет обратитьс€ к полному 64-битному диапазону пам€ти.

¬ результате компил€ции получаетс€ файл с именем scraper.bin, представл€ющий собой самозагружаемую утилиту, которую можно скопировать на USB устройство. ѕоскольку USB устройство будет использовать также и дл€ хранени€ образа пам€ти, рекомендуетс€ использовать устройство объемом не менее 16 √Ѕ, учитыва€ тот факт, что на современных системах объем оперативной пам€ти от 4 до 8 √Ѕ. —копируйте файл на USB устройство при помощи утилиты dd из-под пользовател€ root (в нашем случае, sdb Ц местонахождение устройства):

sudo dd if=scraper.bin of=/dev/sdb

»так, USB устройство готово к использованию на целевой системе. ¬ идеале у пентестера должно быть две флешки: на 8 √Ѕ с 32-битной версией утилиты и на 16 √Ѕ с 64-битной, чтобы быть готовым к работе с любыми целевыми системами. ѕлюс к этому, желательно иметь баллончик со сжатым воздухом. ÷елева€ машина должна быть включена и заблокирована. Ќе имеет значени€, авторизовалс€ ли на ней пользователь или нет.  роме того, на целевой машине должно присутствовать полное шифрование диска Ц в противном случае всю работу можно сделать при помощи дистрибутива Kali или Ophcrack более качественно и с меньшими трудозатратами.

 ак только подход€ща€ система найдена, пентестер (естественно, с разрешени€ клиента) начинает свою работу. ƒл€ начала следует подключить USB устройство, после чего пентестер может охладить оперативную пам€ть при помощи баллончика, держа его верх ногами и опрыскива€ плату пам€ти. ѕоскольку в процессе заморозки на чипе по€витс€ слой ине€, необходимо аккуратно опрыскивать пам€ть и старатьс€ не попадать на остальные части материнской платы. Ќа –исунке 1 показана охлажденна€ пам€ть перед реализацией атаки.

–исунок 1: ќхлажденна€ пам€ть перед реализацией атаки по методу холодной перезагрузки

 ак только плата пам€ти охлаждена, пентестер должен выключить питание и включить его так быстро, насколько это возможно. Ќа настольных компьютерах сделать это относительно просто путем нажати€ кнопки выключени€ питани€. ќднако поскольку большинство переносных компьютеров не имеют подобных кнопок, быстро выполнить включение-выключение значительно труднее. Ќаилучший метод Ц быстро вынуть батарею, затем вставить ее обратно, а затем включить питание. ¬не зависимости от системы, чем быстрее вы включите питание, тем более целостным будет образ пам€ти.

¬о врем€ загрузки машины с USB устройства, утилита автоматически сделает дамп пам€ти на устройство. Ќа –исунке 2 показан ход выполнени€ этого процесса.

–исунок 2: ѕроцесс создани€ дампа пам€ти

¬ зависимости от размера пам€ти и скорости USB-порта, процесс создани€ дампа может зат€нутьс€ вплоть до нескольких часов при большом объеме пам€ти.  ак только утилита завершила свою работу, система будет перезагружена. ѕентестеру нужно просто вынуть USB устройство и вернутьс€ к своей машине, где проходила компил€ци€ утилиты дл€ сн€ти€ дампа. ¬нутри архива есть утилита с именем USBdump, котора€ копирует каждый байт с USB устройства на машину пентестера. —делать это можно при помощи следующей команды:

sudo ./usbdump /dev/sdb > memdump.img

ќп€ть же этот процесс может зан€ть несколько часов в зависимости от размера снимка пам€ти. ¬ результате вы получите файл с полным образом пам€ти, содержащий побайтовый снимок целевой машины, с надеждой на то, что там будет небольшое количество ошибок.

јтака через Firewire

IEEE 1394 интерфейс, продвигаемый компанией Apple как FireWire, - высокоскоростной коммуникационный интерфейс, который первоначально задумывалс€ в качестве замены SCSI. √лавна€ составл€юща€ FireWire Ц высокоскоростна€ передача информации. »менно поэтому данный протокол преимущественно используетс€ дл€ передачи больших объемов видео- и аудио-данных. ќдна из фишек FireWire, котора€ позвол€ет передавать информацию на высокой скорости, - непосредственное обращение к пам€ти через DMA (Direct Memory Access), полностью мину€ CPU. ѕодобный расклад хорош как дл€ приложени€ по видеомонтажу при загрузке многочасовых фильмов с видеокамеры, так и дл€ пентестера.

ѕр€мой доступ пам€ти в FireWire позвол€ет пентестеру получить физический доступ к целевой машине дл€ обхода парольной защиты в операционной системе путем перезаписи области пам€ти, содержащей функции по контролю за доступом. DMA также позволит пентестеру загрузить первые 4 √Ѕ оперативной пам€ти. ѕодобный вид доступа представл€ет серьезную у€звимость в спецификации интерфейса IEEE 1394, хот€ у FireWire есть доступ только к первым 4 √Ѕ оперативной пам€ти и этот интерфейс может быть защищен антивирусом дл€ предотвращени€ доступа через DMA. »з-за того, что FireWire функционирует в режиме hot-plug, целева€ машина может быть заблокирована во врем€ проведени€ атаки.  роме того, большинство операционных систем пытаютс€ ограничить доступ к DMA только дл€ известных устройств (например, iPod’ов), но подобную защиту относительно легко обойти и подделать эти устройства.

Ќесмотр€ на то, что в основном подобные атаки направлены на FireWire, их можно реализовать на любом устройстве, которое использует подобную шину: ExpressCard (EC), PC Card и интерфейс Thunderbolt, распространенный на всех новый продуктах от компании Apple.

 арстен ћартмэнн-ћо (Carsten Maartmann-Moe) разработал утилиту Inception, заметно упрощающую эксплуатацию FireWire. —аму утилиту можно загрузить по адресу http://www.breaknenter.org/projects/inception/. Inception необходимо запускать на рабочей станции под управление операционной системы Linux. ¬ этом случае Linux не может использоватьс€ как виртуальна€ машина, поскольку там не реализован мост к FireWire (по уважительной причине).  роме того, пентестеру необходимо установить пакеты Python 3 и libforensic1394 (последний пакет создал ‘редди ”итерден (Freddie Witherden)). », наконец, на обеих машинах (целевой и той, с которой производитс€ атака) должен быть какой-либо из следующих интерфейсов: FireWire, EC, Thunderbolt, или PC Card.

 ак только Inception установлен и подготовлен к работе, пентестеру нужно просто соединить свою и целевую машины при помощи кабел€ FireWire и запустить следующую команду с root-привилеги€ми:

Incept

ѕосле запуска Inception доберетс€ до областей пам€ти, которые управл€ют доступом, и Ђпропатчитї их, после чего мы сможем получить доступ к целевой машине без парол€. ≈стественно, в оперативной пам€ти целевой машины есть много полезной информации, и пентестер может сдампить первые 4 √Ѕ оперативной пам€ти при помощи следующей команды:

incept Цd

јнализ дампа пам€ти

—делать дамп пам€ти Ц полдела. ѕосле этого предстоит его проанализировать.   счастью, существует несколько утилит дл€ решени€ этой задачи, однако лишь мала€ часть этих инструментов спроектирована с прицелом дл€ использовани€ во врем€ пентеста, а большинство разработаны дл€ криминалистов, которые используют эти утилиты дл€ поиска запущенных процессов, вредоносов и скрытой информации.  риминалистический анализ оперативной пам€ти Ц относительно нова€ область, в особенности дл€ 64-битных систем. ћногие полезные и мощные инструменты все еще ограничены использованием только среди представителей органов правопор€дка. »сход€ из этого, существуют такие задачи, которые могут выполн€ть с риском дл€ клиента.

јвторы статьи ЂThe Lest We Rememberї также создали утилиту дл€ анализа сн€тых образов оперативной пам€ти. ѕоскольку в основном стать€ была посв€щена извлечению ключей шифровани€ из пам€ти, их утилита под названием AESKeyFind искала развертки AES-ключи и извлекала эти ключи. Ёту утилиту можно загрузить с того же самого сайта. ¬ составе этой утилиты также идет make-файл дл€ упрощени€ компил€ции. ѕосле компил€ции запуск производитс€ при помощи следующей команды:

./aeskeyfind Цv memoryimage.raw

ѕосле запуска AESKeyFind перейдет к поиску AES-ключей, а затем отобразить их на экране. AESKeyFind найдет и 128 и 256-битные ключи. ƒаже если образ испорчен или содержит ошибки, утилита сможет достать ключи. Ќа –исунке 3 показаны ключи, найденные AESKeyFind, в образе, который содержит огромное количество ошибок:

–исунок 3: ѕеречень ключей, найденных в испорченном образе оперативной пам€ти

Ёти развертки AES-ключей могут быть использованы дл€ различных целей.   примеру, это могут быть универсальные ключи дл€ шифровани€ диска или трафика в протоколе VPN или беспроводной сети. ѕосле извлечение ключей останетс€ вы€снить лишь то, что они расшифровывают.

≈ще одна полезна€ утилита Ц Volatility, котора€ представл€ет собой фреймворк с открытым исходным кодом дл€ выполнени€ криминалистического анализа. ” Volatility есть несколько модулей, позвол€ющих пентестеру извлекать полезную информацию о запущенных процессах и настройках целевой машины. ≈сли образ не содержит ошибок, пентестер даже может извлечь Windows-хеши.

ѕервым шагом необходимо опознать архитектуру образа пам€ти. ƒл€ этого используетс€ модуль imageinfo. Ќа –исунке 4 показаны результаты работы модул€ imageinfo и профили пам€ти, опознанные Volatility.

–исунок 4: ѕри помощи модул€ imageinfo определ€етс€ архитектура образа оперативной пам€ти

ѕолучив эту информацию, пентестер может использовать дополнительные модули дл€ поиска ветвей SAM и System, наход€щихс€ в реестре. Windows хранит реестр в оперативной пам€ти во врем€ работы системы. ћодуль hivelist можно использовать дл€ того, чтобы найти местонахождение каждой из ветвей в пам€ти. Ќа –исунке 5 показаны результаты работы модул€ hivelist с использованием информации о наиболее веро€тном профиле, который был найден модулем imageinfo.

–исунок 5: Ќайдено местонахождение ветвей System и SAM

ƒл€ работы с 32-битными системами в составе Volatility идет модуль hashdump, который может автоматически извлекать хеши паролей, если этому модули передать адреса ветвей SAM и System.   сожалению, этот модуль не работает с 64-битными системами, тем самым ограничива€ свою полезность. “ем не менее, утилита идет с открытым исходным кодом, и нет ни одной причины, чтобы этот модуль не был разработан.  роме того, технически возможно извлечение ветвей SAM и System из образа пам€ти, как только опознано их местонахождение, а затем использовать другие утилиты дл€ извлечени€ хешей паролей.

«аключение

” Security Response Center компании Microsoft есть дес€ть непреложных правил безопасности. ѕравило 3 гласит: Ђ≈сли злоумышленник получил неограниченный физический доступ к вашей системе, эта система больше не принадлежит вамї. ћногие клиенты уверены, что шифрование всего диска и стойкие пароли защит€т их информацию даже в случае, если злоумышленник получил физический доступ к системе. ќднако они не учитывают опасность, котора€ таит в себе оперативна€ пам€ть. ¬ оперативной пам€ти хранитс€ достаточное количество информации, использу€ которую пентестер может получить доступ к конфиденциальным данным или даже доступ ко внутренней сети. ѕодобна€ проблема никогда не принималась во внимание, поскольку не было практического способа получени€ образа пам€ти со стороны внешнего источника. ќднако атака методом холодной перезагрузки и атака через Firewire делают возможным не только получение доступа к пам€ти, но и получение доступа к секретным ключам.

—сылки

  • Dieterle, D. (2011). Memory Forensics: How to Pull Passwords from Memory Dump. Cyber Arms Ц Computer Security. Retrieved 2013-11-18.
  • Halderman, J. Alex; Schoen, Seth; Heninger, Nadia; Clarkson, William; Paul, William; Calandrino, Joseph A; Feldman, Ariel J.; Appelbaum, Jacob et al. (2008-02-21). Lest We Remember: Cold Boot Attacks on Encryption Keys. Princeton University. Retrieved 2013-11-18.
  • Maartmann-Moe (Last update 2013). Inception. Available at http://www.breaknenter.org/projects/inception/. Accessed 2013-11-18.
или введите им€

CAPTCHA
George
25-05-2014 15:26:38
Ќе у всех в биосе стоит загрузка с юсб устройств! ј у некоторых даже модуль доверенной загрузки присутствует. ќп€ть же авторизаци€ в системе может быть с помощью смарт карт.
0 |