В этом выпус­ке: инс­тру­мент для бэк­дорин­га про­шивок роуте­ров, бес­плат­ный ска­нер и плат­форма для тес­тирова­ния, ска­нер ShellShock, модифи­кация karma c набором рас­ширений для авто­мати­зации, уни­вер­саль­ный рас­паков­щик, редак­тор таб­лицы IAT, фрей­мворк для быс­тро­го реаги­рова­ния на инци­ден­ты.
 

Router Post-Exploitation Framework

Пос­тепен­но появ­ляет­ся боль­ше и боль­ше хакер­ских инс­тру­мен­тов, которые все бли­же и бли­же к миру железа.

Инс­тру­мент rpef (Router Post-Exploitation Framework), написан­ный на Python с эле­мен­тами си, пред­назна­чен для прот­рояни­рова­ния/бэк­дорин­га про­шивок роуте­ров. В текущих реалиях это очень инте­рес­но и акту­аль­но — при этом все с откры­тым исходным кодом, и мы можем спо­кой­но модифи­циро­вать это все.

За­пуск очень прост:

./rpef.py <firmware image> <output file> <payload>

Здесь

  • <firmware image> — образ про­шив­ки, которую необ­ходимо модифи­циро­вать;
  • <output file> — модифи­циро­ван­ный образ про­шив­ки;
  • <payload> — при­меня­емая боевая наг­рузка.

Те­кущие боевые наг­рузки:

  • ми­нима­лис­тичный пакет­ный сни­фер;
  • ми­нима­лис­тичный Bind Shell;
  • ми­нима­лис­тичный IRC Bot.

Сей­час есть под­дер­жка про­шивок (для ряда устрой­ств) от таких про­изво­дите­лей, как Belkin, D-Link, Linksys, NETGEAR, TRENDnet.

При этом мож­но с помощью пра­вил добавить под­дер­жку и дру­гих про­изво­дите­лей.

 

Vega для web

Vega — это бес­плат­ный ска­нер и плат­форма для тес­тирова­ния с откры­тым исходным кодом для про­вер­ки безопас­ности web-при­ложе­ний. Vega может помочь най­ти и про­верить SQL injection, cross-site scripting (XSS), неп­редна­мерен­ное рас­кры­тие кон­фиден­циаль­ной информа­ции (inadvertently disclosed sensitive information) и дру­гие уяз­вимос­ти.

Глав­ные осо­бен­ности:

  • ав­томати­чес­кий кра­улер и ска­нер уяз­вимос­тей;
  • удоб­ный поль­зователь­ский интерфейс;
  • кра­улер web-сай­тов;
  • пе­рех­ватыва­ющий прок­си‑сер­вер;
  • SSL MITM;
  • кон­тен­тный ана­лиза­тор;
  • рас­ширя­емость через мощ­ный модуль­ный JavaScript API;
  • нас­тра­иваемые опо­веще­ния;
  • ис­поль­зование базы дан­ных и модели Shared Data.

Инс­тру­мент написан на Java, име­ет хороший гра­фичес­кий интерфейс. Ну и конеч­но, ска­нер име­ет свой кра­улер сай­тов, что очень полез­но при пол­ном авто­мати­чес­ком ска­ниро­вании ресур­са. Так­же есть под­дер­жка работы с прок­си‑сер­верами.

Для руч­ной же работы будет очень кста­ти перех­ватыва­ющий прок­си‑сер­вер, при работе с которым удоб­но смот­реть переда­ваемые дан­ные и изме­нять их. Мож­но писать модули обна­руже­ния для Vega на язы­ке JavaScript, что при­ятно. Это поз­воля­ет прос­то соз­давать новые модули для атак, исполь­зуя богатый API от Vega. Про­ект очень доб­ротный и может приг­лянуть­ся тем, кто любит и не боит­ся рас­ширять фун­кци­онал чужих про­ектов.

 

ShellShock Scanner

Спе­циалис­ты счи­тают, что уяз­вимость CVE-2014-6271 в bash не усту­пает по сво­ему мас­шта­бу и воз­можным пос­ледс­тви­ям печаль­но извес­тно­му багу Heartbleed в OpenSSL. И воз­можно, даже пре­вос­ходит его.

И дело не толь­ко в том, что уяз­вимость при­сутс­тво­вала в bash око­ло 22 лет. И не в том, что опе­ратив­но выпущен­ные апдей­ты не исправ­ляют ее. Глав­ная проб­лема — нас­коль­ко широко рас­простра­нен этот баг и нас­коль­ко богатые воз­можнос­ти для взло­ма он пре­дос­тавля­ет. Уяз­вимы не толь­ко сер­веры и пер­сональ­ные компь­юте­ры, но и мар­шру­тиза­торы, камеры виде­онаб­людения и мно­гие дру­гие устрой­ства. Огромное количес­тво ста­рых устрой­ств так и не получит обновле­ния.

Не будет пре­уве­личе­нием ска­зать, что в течение бли­жай­ших лет мно­гие компь­юте­ры под Linux и OS Х все еще будут откры­ты для уда­лен­ного выпол­нения кода. Прош­ло поч­ти пол­года с момен­та обна­руже­ния Heartbleed, но до сих пор не все сис­темы про­пат­чены. Вспом­ни так­же, что ShellShock запат­чили сна­чала не пол­ностью ;).

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

 

Mana

Mana — всем хорошо зна­комая hostapd karma c набором рас­ширений для авто­мати­зации атак на все слу­чаи жиз­ни. Все­воз­можные прок­си, кон­тент‑спу­феры, сис­темати­зация налов­ленных кукисов и про­чих кре­дов, интегра­ция с JTR для немед­ленно­го начала бру­та про­лета­ющих хешиков. Есть даже интегра­ция с MSF и набор фишин­говых стра­ничек.

Тул­кит содер­жит в себе:

  • kali/ubuntu-install.sh — прос­тые скрип­ты инстал­ляции для Kali 1.0.9 и Ubuntu 14.04 (trusty);
  • slides — информа­ция о том, что мы тут вооб­ще дела­ем;
  • run-mana — скрип­ты кон­трол­лера;
  • hostapd-manna — модифи­циро­ван­ный hostapd, который вклю­чает в себя новые karma-ата­ки;
  • crackapd — инс­тру­мент для авто­мати­чес­кой переда­чи дан­ных EAP во внеш­нюю ути­литу для взло­ма и добав­ления их в кон­фиг EAP hostapd;
  • sslstrip-hsts — модифи­кации для ути­лит LeonardoNVE’s и moxie’s;
  • apache — apache vhosts для спе­циаль­ных хаков noupstream; нуж­но ско­пиро­вать в /etc/apache2/ и /var/www/ соот­ветс­твен­но.

Все из короб­ки, что хорошо. Но боль­шую часть фун­кци­она­ла это­го монс­тра я поот­клю­чал за ненадоб­ностью. Основная же отли­читель­ной фичей, на мой взгляд, наличие собс­твен­ного PEAP-аутен­тифика­тора, который мож­но исполь­зовать для атак на WPA2-ENT, не замора­чива­ясь с наложе­нием пат­чей на отдель­но раз­верну­тый Radius-сер­вер.

Прос­тей­ший спо­соб уста­нов­ки тул­кита на Kali Linux — это apt-get install mana-toolkit. В Ubuntu и ста­рых вер­сиях Kali пот­ребу­ется руч­ной запуск скрип­тов kali-install.sh или ubuntu-install.sh.

 

Распаковка что надо

TitanMist приз­ван решить задачу уни­фика­ции про­цес­са рас­паков­ки раз­личных пакеров. Основные осо­бен­ности:

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

Не­сом­ненным плю­сом явля­ется то, что пат­терны поч­ти иден­тичны все­ми любимым пат­тернам из PEiD (??, ?x, x?). При­мер пат­терна для UPX:

60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ?? 5? 83 CD FF EB 10
90 90 90 90 90 90 8A 06 46 88 07 47 01 DB 75 07

Так­же TitanMist под­держи­вает слож­ные пат­терны с такими опе­раци­ями, как пов­торение (*) или диапа­зон ([00–7F]) или опци­ональ­ность (необя­затель­ное при­сутс­твие), сме­щения (+offset) и так далее. В ито­ге язык для опи­сания сиг­натур ста­новит­ся очень уни­вер­саль­ным. Сам рас­паков­щик мож­но писать на любом язы­ке: C, C++, MASM, Delphi, LUA, Python и TitanScript (осно­ван на ODbgScript от SHaG & Epsylon3).

Под­робнее об инс­тру­мен­те ты можешь узнать из пре­зен­тации авто­ров с Black Hat USA 2010 под нес­кром­ным наз­вани­ем TitanMist: your first step to reversing nirvana.

 

IAT patcher

Наз­начение дан­ного инс­тру­мен­та понят­но сра­зу из его наз­вания: он необ­ходим для модифи­кации IAT (Import Address Table) таб­лицы. Про­цесс импорта зак­люча­ется:

  • в отоб­ражении (пос­редс­твом стра­нич­ной пере­адре­сации) нуж­ной нам DLL в адресное прос­транс­тво нашего про­цес­са;
  • в сох­ранении адре­сов нуж­ной нам фун­кции из этой DLL в спе­циаль­но отве­ден­ном для это­го мес­те — таб­лице импорти­руемых адре­сов (Import Address Table — IAT).

Все это авто­мати­чес­ки про­делы­вает­ся сис­темой при заг­рузке фай­ла на исполне­ние.

И вот как раз цель дан­ного при­ложе­ния — сде­лать перех­ват фун­кций на уров­не IAT более быс­трым и прос­тым про­цес­сом. Для это­го дос­таточ­но прос­то ука­зать, в каком исполня­емом фай­ле и какую фун­кцию необ­ходимо перех­ватить. А даль­ше ука­зать свою собс­твен­ную DLL, в которой ты реали­зовал фун­кцию для замеще­ния текущей в исполня­емом фай­ле.

Фор­мат опи­сания: Myddl.dll!Myfunc

Единс­твен­ное тре­бова­ние к такой фун­кции — она дол­жна пол­ностью соот­ветс­тво­вать по call convention и количес­тву парамет­ров той, что она заменя­ет. Таким обра­зом, очень прос­то убрать какой‑то фун­кци­онал из прог­раммы (нап­ример, надо­едли­вые напоми­нания nag screen), добавить логиро­вание парамет­ров фун­кции и так далее.еуче

 

Масштабная форензика

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

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

  • ба­зиру­ется на фрей­мвор­ке Rekall для ана­лиза памяти;
  • мощ­ный поиск и воз­можнос­ти по ска­чива­нию фай­лов и реес­тра Windows;
  • под­дер­жка безопас­ных ком­муника­ций для работы через интернет;
  • под­дер­жка авто­мати­чес­ких обновле­ний;
  • де­таль­ное информи­рова­ние о CPU, memory, IO.

Осо­бен­ности сер­вера:

  • OS-level и raw file system дос­туп с исполь­зовани­ем SleuthKit (TSK);
  • эн­тер­прайз уро­вень под­дер­жки;
  • пол­ное мас­шта­биро­вание при боль­шом раз­ворачи­вании сис­темы;
  • ав­томати­чес­кое пла­ниро­вание для пов­торя­ющих­ся задач;
  • быс­трый и прос­той сбор тысячи циф­ровых арте­фак­тов для форен­зики;
  • асин­хрон­ный дизайн поз­воля­ет работать с кли­ента­ми по рас­писанию;
  • web-гра­фичес­кий интерфейс на AJAX;
  • пол­ный скрип­товый дос­туп через IPython-кон­соль;
  • ин­фраструк­тура отче­тов.

Инс­тру­мент пок­рыва­ет огромное количес­тво задач в про­цес­се ана­лиза инци­ден­тов и задач форен­зики.

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