В этом выпус­ке: сбор­щик информа­ции в OS X, инс­тру­мен­ты Java для кодоге­нера­ции и ана­лиза, фаз­зер обще­го наз­начения с прос­тым кон­соль­ным интерфей­сом, инс­тру­мент для ска­ниро­вания роуте­ров Cisco, инс­тру­мент для фишин­говых атак в сетях Wi-Fi, Android-при­ложе­ние, которое собира­ет и ана­лизи­рует мобиль­ные ради­одан­ные, proof-of-concept упа­ков­щика для исполня­емых фай­лов .NET.
 

OS X forensic

OSXCollector — это сбор­щик информа­ции для рас­сле­дова­ния инци­ден­тов и инс­тру­мен­тарий для их ана­лиза под опе­раци­онную сис­тему OS X. Набор скрип­тов запус­кает­ся на потен­циаль­но заражен­ной машине, и на выходе получа­ется JSON-файл, который опи­сыва­ет целевую машину. OSXCollector собира­ет информа­цию с plists, SQLite баз дан­ных и локаль­ной фай­ловой сис­темы.

При forensic-ана­лизе инс­тру­мент спо­собен помочь отве­тить на ряд воп­росов:

  • Эта машина зараже­на?
  • Как вре­донос­ное ПО попало сюда?
  • Как мож­но пре­дот­вра­тить и обна­ружить это зараже­ние в даль­нейшем?

Сто­ит ска­зать, что авто­ры инс­тру­мен­та про­вели боль­шую работу, что­бы сде­лать вывод OSXCollector наибо­лее прос­тым для чте­ния и понима­ния.

Osxcollector.py — это Python-файл, который запус­кает­ся без каких‑либо зависи­мос­тей на стан­дар­тной OS X машине. Это дей­стви­тель­но очень здо­рово и осво­бож­дает от нас­трой­ки brew, pip, config-фай­лов или перемен­ных окру­жения. Ана­лизи­рует сле­дующие сек­ции:

  • system_info — базовая информа­ция о сис­теме;
  • kext — рас­ширения ядра;
  • startup — информа­ция о LaunchAgents, LaunchDaemons, ScriptingAdditions, StartupItems и так далее;
  • applications — уста­нов­ленные при­ложе­ния;
  • quarantines — каран­тин;
  • downloads — дирек­тория заг­рузок;
  • chrome — информа­ция о веб‑бра­узе­ре Chrome;
  • firefox — информа­ция о веб‑бра­узе­ре Firefox;
  • safari — информа­ция о веб‑бра­узе­ре Safari;
  • accounts — информа­ция об акка­унтах;
  • mail — дирек­тория поч­ты.
 

New Java Decompiler

Го­тов спо­рить, что сей­час при ана­лизе при­ложе­ния на Java (так­же и Android-при­ложе­ния) ты исполь­зуешь что‑то из вот это­го: Java Decompiler, jad, Mocha, DJ Java Decompiler, Fernflower или JD-GUI. Но вот сов­сем недав­но появил­ся прек­расный дви­жок Procyon — набор Java-метап­рограм­мных инс­тру­мен­тов, нацелен­ных на кодоге­нера­цию и ана­лиз, вклю­чая деком­пиляцию кода. Дан­ный дви­жок сей­час показы­вает очень впе­чат­ляющие резуль­таты и при этом име­ет откры­тый исходный код.

Luyten — это Java Decompiler с Gui с откры­тым исходным кодом для движ­ка Procyon.

Уме­ет отоб­ражать:

  • де­ком­пилиро­ван­ный Java-код;
  • ори­гиналь­ный Java bytecode;
  • Bytecode AST;
  • и дру­гие отла­доч­ные пред­став­ления.

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

Ну а лич­но про­веден­ные тес­ты показа­ли более пра­виль­ные резуль­таты, чем тот же JD-GUI, так что совету­ем взять на пос­тоян­ное воору­жение. И про­ект активно раз­вива­ется.

 

Honggfuzz

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

По­лучая на вход набор тес­товых фай­лов, дан­ный инс­тру­мент модифи­циру­ет их, пода­ет на вход ана­лизи­руемой прог­рамме и с помощью ptrace() API/POSIX signal interface обна­ружи­вает и логиру­ет ее падения.

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

  • прос­тая уста­нов­ка, отсутс­твие слож­ных кон­фигура­цион­ных фай­лов — honggfuzz мож­но запус­кать пря­мо из коман­дной стро­ки;
  • быс­тро­та — ты можешь запус­тить нес­коль­ко экзем­пля­ров honggfuzz для более эффектив­ного фаз­зинга;
  • мощ­ный ана­лиза­тор — honggfuzz будет исполь­зовать наибо­лее мощ­ный ана­лиза­тор сос­тояния про­цес­са под дан­ной ОС.

Нес­коль­ко при­меров най­ден­ных им уяз­вимос­тей:

  • FreeType 2 project: CVE-2010-2497, CVE-2010-2498, CVE-2010-2499, CVE-2010-2500, CVE-2010-2519, CVE-2010-2520, CVE-2010-2527;
  • мно­жес­твен­ные уяз­вимос­ти в биб­лиоте­ке libtiff;
  • мно­жес­твен­ные уяз­вимос­ти в биб­лиоте­ке librsvg;
  • мно­жес­твен­ные уяз­вимос­ти в биб­лиоте­ке poppler;
  • мно­жес­твен­ные экс­плу­ата­бель­ные уяз­вимос­ти в IDA Pro.

В сво­ей работе исполь­зует прек­расную биб­лиоте­ку для дизас­сем­бли­рова­ния — capstone.

 

Hack CiscoRouter

CiscoRouter — инс­тру­мент на Java для ска­ниро­вания Cisco-роуте­ров через SSH. Ска­ниро­вание идет на осно­ве заранее соз­данных пра­вил с помощью при­ложе­ния CiscoRule.

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

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

Ис­поль­зование:

  1. Соз­дай необ­ходимые пра­вила для ска­ниро­вания и помес­ти их в дирек­торию rules.
  2. За­пус­ти при­ложе­ние и запол­ни информа­цию о роуте­рах.
  3. (Опци­ональ­но) Сох­рани кон­фигура­цию для будущих ска­нов через File → Save.
  4. За­пус­ти ска­ниро­вание кноп­кой Run Scan.
  5. При­ложе­ние покажет резуль­тат в фор­ме. Мож­но уда­лить ненуж­ные пра­вила и хос­ты, а затем сох­ранить резуль­тат в файл.

Инс­тру­мент может быть полез­ным как адми­нис­тра­торам безопас­ности в сети, у которых мно­го раз­личных Cisco-роуте­ров, так и ауди­торам с пен­тесте­рами — опре­делить, куда мож­но даль­ше прод­вигать­ся по сети пос­ле зах­вата Cisco-роуте­ра. Как ты понима­ешь, пра­вила мож­но сос­тавлять очень гиб­ко, и это мож­но исполь­зовать для поис­ка незашиф­рован­ных паролей и про­чего.

 

Wifiphisher

Wifiphisher — это инс­тру­мент, который поз­воля­ет быс­тро раз­вернуть авто­мати­зиро­ван­ную фишинг‑ата­ку в Wi-Fi-сетях для получе­ния раз­личных сек­ретов и аутен­тифика­цион­ных дан­ных. В общем, он помога­ет про­вес­ти ата­ку по соци­аль­ной инже­нерии. Таким обра­зом, поль­зователь сам тебе ска­жет свои логины и пароли от раз­личных пор­талов и сто­рон­них сай­тов или WPA/WPA2-дан­ные.

Wifiphisher прек­расно работа­ет на Kali Linux. С позиции жер­твы ата­ка сос­тоит из трех эта­пов и выг­лядит сле­дующим обра­зом:

  1. Жер­тва деаутен­тифици­рует­ся от ее точ­ки дос­тупа. Wifiphisher пос­тоян­но дже­мит все целевые точ­ки дос­тупа, так что кли­енты не могут к ним при­соеди­нить­ся.
  2. Жер­тва под­соеди­няет­ся к фаль­шивой точ­ке дос­тупа. Ска­ниру­ет диапа­зон и пол­ностью копиру­ет нас­трой­ки целевых точек дос­тупа. Затем соз­дает иден­тичную под­дель­ную и при этом под­нима­ет NAT/DHCP-сер­вер и проб­расыва­ет пор­ты. Как резуль­тат, кли­ент под­соеди­няет­ся к под­дель­ной точ­ке дос­тупа. Все, теперь жер­тва пол­ностью в MITM.
  3. Жер­тва нап­равля­ется на реалис­тичную кон­фигура­цион­ную стра­ницу роуте­ра. На wifiphisher запущен минималь­ный веб‑сер­вер, который отве­чает на HTTP/HTTPS-зап­росы.

Ког­да жер­тва зап­рашива­ет стра­ницу из интерне­та, инс­тру­мент отве­чает стра­ницей для зап­роса авто­риза­ции, нап­ример спра­шива­ет WPA-пароль для обновле­ния про­шив­ки роуте­ра.

 

SnoopSnitch

Бе­зопас­ность мобиль­ных сетей свя­зи с каж­дым годом ста­новит­ся все акту­аль­нее. SnoopSnitch — это Android-при­ложе­ние, которое собира­ет и ана­лизи­рует мобиль­ные ради­одан­ные для осве­дом­ления об уров­не безопас­ности в тво­ей мобиль­ной сети и информи­рует об угро­зах типа:

  • под­дель­ной базовой стан­ции (IMSI catchers),
  • от­сле­жива­ния поль­зовате­ля,
  • SS7-ата­ках,
  • OTA (over-the-air) обновле­ниях.

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

Тре­бова­ния:

  • Qualcomm-чип­сет;
  • Stock Android ROM вер­сии 4.1 и выше;
  • root-дос­туп.

Всю информа­цию при­ложе­ние так­же переда­ет на про­ект GSM Security Map по адре­су gsmmap.org, где мож­но пос­мотреть сос­тояние дел с безопас­ностью у опе­рато­ров по все­му миру. При этом при­ложе­ние рас­простра­няет­ся с исходным кодом, так что при желании ты можешь его модифи­циро­вать на свое усмотре­ние.

Ус­танов­ка не занима­ет мно­го вре­мени — прог­рамма дос­тупна в виде APK-фай­ла и даже дос­тупна для ска­чива­ния в Google Play.

 

Пакер для .NET

Netcrypt — это proof-of-concept упа­ков­щика для .NET исполня­емых фай­лов, приз­ванный объ­яснить базовые эта­пы runtime-упа­ков­ки. Пол­ностью реали­зован на .NET.

Сам пакер реали­зован в виде раз­деля­емой биб­лиоте­ки, называ­емой netcrypt.dll. Если ты ссы­лаешь­ся на дан­ную биб­лиоте­ку, то мож­но исполь­зовать сле­дующий код для упа­ков­ки фай­ла:

byte[] arrayOfUnpackedExeBytes;
// ...производим загрузку/генерацию кода
byte[] packedExe = Packer.Pack(arrayOfUnpackedExeBytes);

На дан­ный момент спо­собен решать сле­дующие задачи:

  • са­моупа­ков­ка;
  • упа­ков­ка упа­кован­ных фай­лов (про­вере­но четыре уров­ня вло­жен­ности);
  • ав­томати­чес­кий резол­винг зависи­мос­тей для упа­кован­ных exe-фай­лов;
  • це­левая упа­ков­ка для мно­жес­тва вер­сий .NET.

Из­вес­тны сле­дующие побоч­ные сто­роны и проб­лемы:

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

В пап­ке sample про­екта ты най­дешь два фай­ла: input.exe и output.exe. Пер­вый — исходный, а вто­рой — запако­ван­ный, ты сра­зу смо­жешь изу­чить и про­тес­тировать их. Исходный код инс­тру­мен­та дос­тупен, так что впе­ред!

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