В этом выпус­ке: инс­тру­мент для обра­бот­ки боль­ших объ­емов зах­вачен­ного тра­фика, биб­лиоте­ка для обще­ния по про­токо­лам Apple; инте­рак­тивный runtime-ана­лиза­тор на осно­ве QEMU, фрей­мворк для man-in-the-middle атак, упа­ков­щик для ELF-фай­лов, средс­тво динами­чес­кого ана­лиза Android-при­ложе­ний и набор инс­тру­мен­тов для PWN.
 

CapLoader

CapLoader — это инс­тру­мент, пред­назна­чен­ный для обра­бот­ки боль­ших объ­емов зах­вачен­ного сетево­го тра­фика. CapLoader про­изво­дит индекси­рова­ние PCAP/PcapNG-фай­лов и визу­али­зиру­ет их содер­жимое как спи­сок TCP- и UDP-потоков. Поль­зователь же может выб­рать инте­ресу­ющий его поток и быс­тро отфиль­тро­вать соот­ветс­тву­ющие пакеты из дан­ного PCAP-фай­ла. Для ана­лиза выб­ранно­го потока или сетевых пакетов в ана­лиза­торе типа Wireshark или NetworkMiner дос­таточ­но пары кли­ков мыши.

Как ты, наде­юсь, понял, CapLoader — это иде­аль­ный инс­тру­мент для обра­бот­ки гигант­ских PCAP-фай­лов, раз­мер которых более гигабай­та. А даль­нейшая обра­бот­ка осу­щест­вля­ется уже все­ми нами любимы­ми Wireshark и NetworkMiner.

Из осо­бен­ностей мож­но выделить:

  • Иден­тифика­ция про­токо­ла осно­выва­ется на наборе приз­наков, а не на номере пор­та. Это очень полез­но, если сер­вис работа­ет на нес­тандар­тном пор­те. Сей­час при­сутс­тву­ет под­дер­жка око­ло 100 про­токо­лов, сре­ди которых Skype, IRC, FTP, SSH, MS-RPC, P2P и CardSharing.
  • Сбор сетевых пакетов: инс­тру­мент спо­собен дос­тать их из любого фай­ла и сох­ранить в PcapNG фор­мате. Нап­ример, из дам­па памяти, что полез­но при рас­сле­дова­нии инци­ден­тов.
 

Разговариваем с iOS

  • Ав­тор: мно­го кру­тых ребят
  • URL: www.libimobiledevice.org
  • Сис­тема: Windows/Linux/Mac

Libimobiledevice — это кросс‑плат­формен­ная биб­лиоте­ка, пре­дос­тавля­ющая воз­можность общать­ся на про­токо­лах, понят­ных iPhone, iPod Touch, iPad и Apple TV устрой­ствам. В отли­чие от дру­гих похожих про­ектов, дан­ный не зависит ни от каких проп­риетар­ных биб­лиотек и для сво­ей работы не тре­бует джей­лбрей­ка устрой­ства. Биб­лиоте­ка поз­воля­ет дру­гому прог­рам­мно­му обес­печению лег­ко и прос­то:

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

Биб­лиоте­ка раз­рабаты­вает­ся с августа 2007 года, и ее пер­воначаль­ной целью было соз­дание под­дер­жки i-устрой­ств на Linux. Сей­час же эту биб­лиоте­ку активно исполь­зуют раз­личные инс­тру­мен­ты для извле­чения дан­ных с устрой­ств ком­пании Apple. Так­же биб­лиоте­ка час­то при­гож­дает­ся при получе­нии так нами любимых джей­лбрей­ков.

Под Linux пакеты дос­тупны для дис­три­бути­вов openSUSE, Fedora, Mandriva, Ubuntu Debian.

Ра­бота биб­лиоте­ки про­тес­тирова­на на устрой­ствах iPod Touch 1G/2G/3G/4G/5G, iPhone 1G/2G/3G/3GS/4/4S/5/5C/5S, iPad 1/2/3/4/Mini/Air и Apple TV 2G/3G с про­шив­кой вплоть до 7.1.1 под Linux, OS X и Windows.

 

QIRA

QIRA — это инте­рак­тивный runtime-ана­лиза­тор, базиру­ющий­ся на QEMU, от извес­тно­го хакера Geohot. По слу­хам, дан­ный инс­тру­мент — один из тех, что помога­ют ему выиг­рывать CTF-сорев­нования в одно­го. Инс­тру­мент сто­ит рас­смат­ривать как кон­курент strace и gdb.

QIRA име­ет веб‑интерфейс, к которо­му пос­ле запус­ка мож­но обра­тить­ся по адре­су http://localhost:3002/.

QIRA записы­вает всю трас­су выпол­нения прог­раммы и поз­воля­ет отоб­ражать сос­тояние памяти на момент выпол­нения любой инс­трук­ции и, что самое замеча­тель­ное, изме­нять зна­чение дан­ных в памяти и пря­мо отту­да переза­пус­кать прог­раммы (дела­ется fork) с дан­ными изме­нени­ями. Так что в любой момент дос­таточ­но удоб­но вид­но, что делала прог­рамма и с какими дан­ными.

Сей­час при­сутс­тву­ет под­дер­жка архи­тек­туры x86 и идет доработ­ка x64 и ARM. А для удоб­ного переме­щения по коду есть спе­циаль­ный пла­гин для IDA Pro. Для более близ­кого зна­комс­тва с дан­ным инс­тру­мен­том рекомен­дую обра­тить­ся к writeup с PlaidCTF 2014, где задание с heap overflow реша­ется как раз с помощью QIRA.

Ог­раниче­ния:

  • трас­сиров­ка более чем 10 000 000 работа­ет не очень хорошо;
  • под­дер­жка архи­тек­туры x86-64 до сих пор экспе­римен­таль­ная;
  • веб‑фор­ки работа­ют толь­ко на архи­тек­туре i386.
 

MITMf

MITMf — это фрей­мворк для man-in-the-middle атак. Инс­тру­мент базиру­ется на ути­лите sergio-proxy, которая в нас­тоящее вре­мя уже не раз­вива­ется. В основном вся работа с MITMf кру­тит­ся вок­руг пла­гинов, которые мож­но писать и исполь­зовать для раз­личных задач. По умол­чанию прог­рамма работа­ет в режиме sslstrip. Погово­рим о самых основных и наибо­лее инте­рес­ных пла­гинах:

  • мож­но выделить пла­гин JSkeylogger, который поз­воля­ет внед­рять на стра­нич­ку в бра­узер keylogger и смот­реть все, что туда вво­дит жер­тва;
  • так­же инте­ресен пла­гин JavaPwn, который в связ­ке с Metasploit (через msgrpc server) в авто­мати­чес­ком режиме опре­деля­ет вер­сию Java и под­совыва­ет нуж­ный экс­плойт;
  • сле­дующий замеча­тель­ный пла­гин FilePwn поз­воля­ет на лету инфи­циро­вать исполня­емые фай­лы (ELF и PE) и ZIP-архи­вы, на осно­ве the-backdoor-factory;
  • мощ­ный и мно­гоце­левой пла­гин Spoof — под­дер­жка ICMP Redirects, ARP Spoofing, DNS Spoofing и DHCP Spoofing;
  • есть так­же дос­таточ­но стан­дар­тный, но очень полез­ный Inject, который поз­воля­ет встав­лять про­изволь­ное содер­жимое в HTML-стра­ницу.

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

 

ELF packer

Ес­ли упа­ков­щиками для PE-фай­лов никого в наше вре­мя уже не уди­вить, то упа­ков­щики для ELF-фай­лов пред­став­ляют собой дос­таточ­но диковин­ное ПО.

Midgetpack — это упа­ков­щик для ELF-фай­лов, в прин­ципе такой же, как и burneye или upx. Задача дан­ных инс­тру­мен­тов — защитить свои акти­вы (инс­тру­мен­ты, экс­плой­ты) при исполь­зовании их на ненадеж­ных сис­темах (нап­ример, на сис­темах, находя­щих­ся под наб­людени­ем заказ­чика во вре­мя пен­теста).

Midgetpack име­ет два режима работы:

  • Password (PBKCS2, AES-128-cbc, HMAC-SHA-256);
  • curve25519 (Curve25519 kex, AES-128-cbc, HMAC-SHA-256).

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

А вот режим с Curve25519 — это нас­тоящая осо­бен­ность дан­ного инс­тру­мен­та. Вмес­то вво­да какого‑либо пароля или клю­ча клю­чевой файл генери­рует­ся авто­мати­чес­ки во вре­мя упа­ков­ки. И для запус­ка фай­ла надо будет лишь ука­зать дан­ный клю­чевой файл. Он будет исполь­зовать­ся каж­дый раз, ког­да ты захочешь запус­тить защищен­ный исполня­емый файл. Клю­чевой файл защищен асим­метрич­ной крип­тосис­темой Curve25519, осно­ван­ной на эллипти­чес­ких кри­вых, с при­мене­нием алго­рит­мов AES-128 и HMAC-SHA-256 для исклю­чения атак man-in-the-middle.

Прог­рамма с успе­хом под­держи­вает нес­коль­ко архи­тек­тур про­цес­сора: x86-32, x86-64, ARM. Для уста­нов­ки пот­ребу­ются: CMake, GCC.

 

Android hooker

Hooker — это про­ект с откры­тым исходным кодом для динами­чес­кого ана­лиза Android-при­ложе­ний. Дан­ный про­ект пре­дос­тавля­ет раз­личные инс­тру­мен­ты и при­ложе­ния для авто­мати­чес­кого перех­вата и модифи­кации API-вызовов, сде­лан­ных иссле­дуемым при­ложе­нием. Для это­го инс­тру­мент исполь­зует Android Substrate Framework и получен­ную информа­цию сох­раня­ет в elasticsearch базу дан­ных.

Hooker сос­тоит из нес­коль­ких модулей:

  • APK-instrumenter — это Android-при­ложе­ние, которое дол­жно быть уста­нов­лено на ана­лизи­руемое устрой­ство или эму­лятор;
  • hooker_xp — это Python-скрипт, который может быть исполь­зован для управле­ния Android-устрой­ством и может выпол­нять уста­нов­ку при­ложе­ния на него;
  • hooker_analysis — это Python-скрипт, который может быть исполь­зован для сбо­ра резуль­татов;
  • tools/APK-contactGenerator — это Android-при­ложе­ние, которое соз­дает фей­ковые кон­такты на устрой­стве;
  • tools/apk_retriever — это Python-скрипт, который может авто­мати­чес­ки ска­чивать APK из раз­личных пуб­личных Android-магази­нов;
  • tools/emulatorCreator — скрипт для под­готов­ки работы эму­лято­ра работы.

Так что теперь мож­но без осо­бых проб­лем в домаш­них усло­виях активно прой­тись по огромно­му количес­тву Android-при­ложе­ний и насоби­рать там баги.

 

pwntools

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

Pwntools — это набор инс­тру­мен­тов от коман­ды Gallopsled, победи­теля ква­лифи­кации на пос­ледний DEF CON — 22-й по сче­ту.

Для уста­нов­ки дос­таточ­но ввес­ти одну коман­ду:

# pip install pwntools

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

  • pwnlib.asm — для работы с ассем­бле­ром;
  • pwnlib.gdb — для работы с GDB;
  • pwnlib.shellcraft — для генера­ции шелл‑кодов;
  • pwnlib.util.net — для работы с сетью;
  • pwnlib.util.proc — для работы с /proc;
  • и мно­го дру­гих полез­ных.

Пос­ле зна­комс­тва со все­ми клас­сами про­цесс выпол­нения и авто­мати­зации ряда задач уско­ряет­ся и упро­щает­ся в разы. У это­го CTF toolkit даже есть своя хорошо про­рабо­тан­ная до­кумен­тация!

Аватар

d1g1

Редактор рубрики «X-TOOLS», известный white hat, специалист компании <a href="http://www.dsec.ru/">Digital Security</a>

Check Also

F#ck da Antivirus. Как обходить антивирус при пентесте

Антивирус — крайне полезная штука, но только не тогда, когда тебе нужно остаться незамечен…

Оставить мнение