В этом выпус­ке: фрей­мворк для ревер­синга, набор сетевых про­токо­лов, инс­тру­мент для прос­мотра и про­вер­ки OLE/COM-ком­понен­тов, отладчик ассем­блер­ного уров­ня для мобиль­ных плат­форм, ути­лита для тес­тирова­ния веб‑при­ложе­ние на уяз­вимость к ата­кам на ора­кулы допол­нения, тул­за для про­веде­ния man-in-the-middle и спу­финг атак, инс­тру­мент для атак drive-by download.
 

PREF

PREF — это Portable Reverse Engineering Framework, фрей­мворк для ревер­синга, не тре­бующий уста­нов­ки.

Ос­новная филосо­фия дан­ного инс­тру­мен­та — все в одном для ана­лиза бинар­ных дан­ных и фор­матов фай­лов, а так­же дизас­сем­бли­рова­ния для любой из плат­форм, где запус­кают­ся Qt и Lua. С помощью Lua мож­но опи­сывать фор­маты дан­ных, и скрипт авто­мати­чес­ки раз­берет вход­ной файл по опи­санию. Так­же очень полез­ным выг­лядит фун­кци­онал для срав­нения двух фай­лов, который отоб­ража­ет сме­щение и количес­тво изме­нен­ных байт. Дизас­сем­блер находит­ся пока поч­ти в зачаточ­ном сос­тоянии, точ­нее, пока loader и processor необ­ходимо опи­сывать самому — сущес­тву­ет толь­ко для MIPS-плат­формы.

Осо­бен­ности:

  • на­личие SDK;
  • прог­рамми­руемый пар­сер фор­мата фай­лов;
  • прог­рамми­руемый дизас­сем­блер;
  • сиг­натур­ный ска­нер;
  • ви­зуаль­ное пред­став­ление бинар­ного фай­ла;
  • ска­нер строк;
  • отоб­ражение гис­тограмм;
  • каль­кулятор энтро­пии;
  • под­свет­ка дан­ных в бинар­ном фай­ле.

В инс­тру­мен­те при­сутс­тву­ет дос­таточ­но боль­шое количес­тво гра­фичес­ких схем и под­ходов для отоб­ражения бинар­ных дан­ных.

 

UPnP Pentest Toolkit

Universal Plug and Play (UPnP) — набор сетевых про­токо­лов, пос­тро­енных на откры­тых интернет‑стан­дартах и пуб­лику­емый кон­сорци­умом про­изво­дите­лей муль­тимедий­ной и сетевой тех­ники. Основная фун­кция UPnP — авто­мати­чес­кая уни­вер­саль­ная нас­трой­ка сетевых устрой­ств. Для это­го меж­ду пер­сональ­ными компь­юте­рами и раз­личны­ми «умны­ми» устрой­ства­ми уста­нав­лива­ется архи­тек­тура мно­горан­говых соеди­нений меж­ду пер­сональ­ными компь­юте­рами и интеллек­туаль­ными устрой­ства­ми.

В осно­ве все­го это­го — хорошо извес­тные стан­дарты и сетевые тех­нологии, такие как TCP/IP, HTTP и XML. Такая сис­тема обес­печива­ет авто­мати­чес­кое под­клю­чение подоб­ных устрой­ств друг к дру­гу и их сов­мес­тную работу в сетевой сре­де, в резуль­тате чего сеть (нап­ример, домаш­няя) ста­новит­ся лег­кой в нас­трой­ке для боль­шего чис­ла поль­зовате­лей. Естес­твен­но, это еще один потен­циаль­ный век­тор ата­ки в сети. И, как любая цель, он тре­бует необ­ходимо­го инс­тру­мен­тария.

Инс­тру­мент UPnP Pentest Toolkit нацелен на объ­еди­нение широко­го спек­тра фун­кций по оцен­ке безопас­ности UPnP, при миниму­ме уси­лий и с высокой ско­ростью. Тул­за раз­работа­на, что­бы помочь спе­циалис­там по информа­цион­ной безопас­ности в иссле­дова­нии UPnP-устрой­ств.

Бо­лее под­робно об инс­тру­мен­те ты можешь узнать из пре­зен­тации «U Plug, We Play» с кон­ферен­ции BSides Manchester.

 

OLE/COM viewer и inspector

Инс­тру­мент от авто­ра целой серии IE11SandboxEscapes.

OleViewDotNet пред­назна­чен для прос­мотра и про­вер­ки OLE/COM-ком­понен­тов.

OleViewDotNet — это .NET 4 при­ложе­ние, которое пред­став­ляет собой инс­тру­мент, сочета­ющий в себе два клас­сичес­ких инс­тру­мен­та из SDK: OleView и Test Container в одном при­ложе­нии. Это поз­воля­ет находить COM-объ­екты через раз­личные спо­собы прос­мотра (нап­ример, по CLSID, по ProgID, по server executable), перечис­лять интерфей­сы объ­екта, а затем соз­давать их экзем­пля­ры и вызывать их методы. Это так­же базовый кон­тей­нер для атак на ActiveX-объ­екты objects — ты можешь видеть дан­ные и манипу­лиро­вать ими.

Как раз дан­ный инс­тру­мент и исполь­зовал­ся для поис­ка раз­личных спо­собов выхода из sandbox бра­узе­ра Internet Explorer 11. Для более близ­кого изу­чения спо­собов выхода из sandbox советую обра­тить­ся к пре­зен­тации «Legacy Sandboxing — Escaping IE11 Enhanced Protected Mode».

 

Olly для iOS и Android

GikDbg — это отладчик ассем­блер­ного уров­ня для мобиль­ных плат­форм, который поз­воля­ет спе­циалис­там по безопас­ности отла­живать мобиль­ные при­ложе­ния для Android и iOS.

Дан­ный инс­тру­мент базиру­ется на OllyDbg (32-бит­ном отладчи­ке для Microsoft Windows), GDB (GDB, the GNU Project debugger) и LLVM (набор модулей, ком­пилято­ров и вспо­мога­тель­ных прог­рамм).

Осо­бен­ности:

  • ста­тичес­кий ана­лиз ELF/Mach-O исполня­емых фай­лов;
  • ди­нами­чес­кая отладка Android/iOS-при­ложе­ний;
  • уда­лен­ная кон­соль для Android/iOS;
  • ARM ассем­блер и дизас­сем­блер;
  • заг­рузка и выг­рузка фай­лов с устрой­ства;
  • встро­енный GDB и LLDB;
  • под­дер­жка memory breakpoint, software breakpoint, conditional breakpoint;
  • под­дер­жка муль­типоточ­ной отладки;
  • под­дер­жка пат­чинга кода.

Важ­но отме­тить, что для работы с Android-при­ложе­ниями необ­ходимо, что­бы был вклю­чен ART runtime, а не Dalvik. Это озна­чает, что необ­ходимо устрой­ство с ОС не млад­ше вер­сии 4.4.2 Kit. Но так­же есть под­дер­жка DVM Runtime — толь­ко для lib*.so.

Хо­роший при­мер исполь­зования дан­ного инс­тру­мен­та на при­мере отладки экс­плой­та Towelroot от Geohot.

 

YET ANOTHER PADDING ORACLE EXPLOITATION TOOL

YAPOET — это ути­лита, поз­воля­ющая быс­тро про­тес­тировать веб‑при­ложе­ние на уяз­вимость к ата­кам на ора­кулы допол­нения. В отли­чие от сво­их более стар­ших соб­рать­ев (POET, Padbuster, Padbuster.Net), она не затачи­валась под уяз­вимос­ти в кон­крет­ных фрей­мвор­ках и явля­ется уни­вер­саль­ным средс­твом экс­плу­ата­ции уяз­вимос­тей дан­ного клас­са. Текущая реали­зация YAPOET обла­дает сле­дующи­ми воз­можнос­тями:

  • по­луче­ние откры­того тек­ста из шиф­рован­ного;
  • по­луче­ние век­тора ини­циали­зации и шиф­рован­ного тек­ста из про­изволь­ного откры­того;
  • кон­троль парамет­ров ора­кула (режим, век­тор ини­циали­зации, раз­мер бло­ка);
  • под­дер­жка режимов ECB и CBC;
  • кон­троль основных парамет­ров HTTP-зап­росов к ора­кулу;
  • воз­можность пере­опре­деле­ния фун­кций кодиро­вания/декоди­рова­ния шиф­рован­ного тек­ста.

На­пом­ним, что ата­ка на ора­кул допол­нения воз­можна тог­да, ког­да:

  • у ата­кующе­го есть воз­можность кон­тро­лиро­вать шиф­ротекст, переда­ваемый веб‑при­ложе­нию и рас­шифро­выва­емый на сто­роне сер­вера блоч­ным алго­рит­мом, работа­ющим в уяз­вимом режиме;
  • кон­троль оши­бок, реали­зован­ный в веб‑при­ложе­нии, поз­воля­ет отли­чить ошиб­ку уда­ления допол­нения при дешиф­ровании от любых дру­гих видов оши­бок.

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

 

Responder

Responder — это тул­за от SpiderLabs для про­веде­ния раз­лично­го рода man-in-the-middle и спу­финг атак. Изна­чаль­но она затачи­валась для про­веде­ния «спу­фин­га» NBNS- и LLMNR-про­токо­лов, которые слу­жат для резол­ва имен в локаль­ных вин­довых сетях, где не работа­ет DNS. Но сей­час фун­кци­онал ее зна­читель­но рас­ширил­ся, она обросла новыми метода­ми MITM-атак (WPAD, DNS, ICMP redirect, SMB Relay).

С дру­гой сто­роны, Responder вклю­чает в себя фей­ковые сер­веры на основные про­токо­лы: HTTP, SMB, MSSQL, FTP, LDAP, SMTP, POP3. И при этом не толь­ко уме­ет зах­ватывать plain-text пароли, но и под­держи­вает NTLM-аутен­тифика­цию (все вер­сии NTLM про­токо­ла) для них. Мож­но сгра­бить NTLM-хеши и потом переб­рать их, получив пароли поль­зовате­лей.

Та­ким обра­зом, Responder пок­рыва­ет поч­ти все основные виды MITM в локаль­ных сетях. Не хва­тает раз­ве что ARP-poisoning’а, но нич­то не меша­ет исполь­зовать его отдель­ной тул­зой в связ­ке с Responder. При­чем с уче­том того, что в кор­поратив­ных сетях ник­то и не собира­ется отка­зывать­ся от NTLM-про­токо­ла, а ско­рее наобо­рот, его внед­ряют пов­семес­тно (из‑за рас­тущего количес­тва сис­тем), Responder ста­новит­ся мощ­ным ору­жием.

На­писан он на Python’е, что дает ему плюс в виде откры­тос­ти и воз­можнос­ти допилить под свои нуж­ды.

 

Pinpoint

Pinpoint — это инс­тру­мент, который пред­назна­чен в пер­вую оче­редь для людей, час­то стал­кива­ющих­ся по роду сво­ей работы с drive-by download ата­ками. Он поз­воля­ет зна­читель­но быс­трее искать вре­донос­ные объ­екты на сай­тах и уда­лять их с ресур­са.

Pinpoint работа­ет как wget/curl, то есть зах­ватыва­ет веб‑стра­ницу без ее рен­дерин­га и выпол­нения скрип­том на ней. Далее он будет пытать­ся опре­делить, какие ссыл­ки исполь­зуют­ся для сос­тавле­ния веб‑стра­ницы, нап­ример JavaScript, CSS, frame и iframe, и заг­ружа­ет эти фай­лы тоже. И все это отоб­ража­ет в виде дерева докумен­тов в глав­ном окне.

Ин­терес­ные воз­можнос­ти:

  • по­сыл­ка HTTP-зап­роса в сжа­том или обыч­ном виде;
  • вы­чис­ление энтро­пии;
  • рас­позна­вание безопас­ных сай­тов;
  • воз­можность игно­риро­вания внеш­них CSS.

Для поис­ка подоз­ритель­ного JavaScript, а точ­нее обфусци­рован­ного прог­рамма выс­читыва­ет энтро­пию и показы­вает иссле­дова­телю, на что сто­ит обра­тить вни­мание.

И само собой разуме­ется, при работе с прог­раммой мож­но спу­фить зна­чение user-agent и referer, cookie. Работа в связ­ке с Tor так­же пря­мо из короб­ки.

Под­робнее об инс­тру­мен­те мож­но про­читать в дан­ном бло­ге.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии