EagleEye, разпознаването на лица и OSINT
Преди няколко седмици попаднах на списък с интересни инструменти, свързани с етичното хакерство. Вниманието ми привлече EagleEye - не само защото беше първи в списъка, има интересно име, но и заради цялостната концепция и принципа му на работа.
Описанието, на авторите на EagleEye е лаконично - "Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search". Това звучи доста технически и дори малко научно, но като цяло идеята зад разработката е много елегантна - ако разполагате със снимка на някого и знаете неговото име, чрез инструмента е възможно да се опитате да откриете публични (подчертавам - публични) FB и Twitter профили, свързани с търсения човек.
Търсене по снимка или видео кадър е често срещана функционалност на специализираните системи в редица холивудски екшъни. Действителността показва, че разпознаването на образи и изкуственият интелект са достигнали много високи нива (за наша радост все още сме далеч от SkyNet), но те все още не се използват масово при OSINT и етичното хакерство.
Инсталирането на EagleEye (в примерите е използван Kali Linux) е сравнително лесно:
git clone https://github.com/ThoughtfulDev/EagleEye.git
./EagleEye/install.sh
wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
tar zxvf geckodriver-v0.24.0-linux64.tar.gz
mv geckodriver /usr/bin
Някои от необходимите компоненти изискват време за приключване на процесите за тяхното комплириане и се налага да бъдете търпеливи. Ако инсталацията е била успешна можете да стартирате eagleeye.py и да прегледате програмните аргументи:
root@kali:~/EagleEye# ./eagle-eye.py --help
███████╗ █████╗ ██████╗ ██╗ ███████╗ ███████╗██╗ ██╗███████╗
██╔════╝██╔══██╗██╔════╝ ██║ ██╔════╝ ██╔════╝╚██╗ ██╔╝██╔════╝
█████╗ ███████║██║ ███╗██║ █████╗ Version █████╗ ╚████╔╝ █████╗
██╔══╝ ██╔══██║██║ ██║██║ ██╔══╝ 0.2 ██╔══╝ ╚██╔╝ ██╔══╝
███████╗██║ ██║╚██████╔╝███████╗███████╗ ███████╗ ██║ ███████╗
╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝ ╚══════╝ ╚═╝ ╚══════╝
root, you have been activated
usage: eagle-eye.py [-h] [-sFB] [-sY] [-json [JSON]] [-fbList [FACEBOOKLIST]]
optional arguments:
-h, --help show this help message and exit
-sFB, --skipfb Skips the Facebook Search
-sY, --skipyandex Skips the Yandex Reverse Search
-json [JSON], --json [JSON]
Generates a json report. Specify a Filename
-fbList [FACEBOOKLIST], --facebookList [FACEBOOKLIST]
A file which contains Links to Facebook Profiles. '--
skipfb' options must be enabled to use this
Подбрах снимка на популярен български спортист от Google и я записах в директория ~/EagleEye/known.
Стартирането на EagleEye не изисква параметри, но се налага да въведете името на търсената личност (в примера Grigor Dimitrov) и стойност за параметъра jitters:
███████╗ █████╗ ██████╗ ██╗ ███████╗ ███████╗██╗ ██╗███████╗
██╔════╝██╔══██╗██╔════╝ ██║ ██╔════╝ ██╔════╝╚██╗ ██╔╝██╔════╝
█████╗ ███████║██║ ███╗██║ █████╗ Version █████╗ ╚████╔╝ █████╗
██╔══╝ ██╔══██║██║ ██║██║ ██╔══╝ 0.2 ██╔══╝ ╚██╔╝ ██╔══╝
███████╗██║ ██║╚██████╔╝███████╗███████╗ ███████╗ ██║ ███████╗
╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝ ╚══════╝ ╚═╝ ╚══════╝
root, you have been activated
==> Enter the persons name to find on FB: Grigor Dimitrov
==> How many jitters, higher is better [max 100] (default=70): 70
Инструментът стартира Firefox и проверява в FB за профили, свързани с посоченото име:
Зарежда се изображението от директория ~/EagleEye/known и се преминава към извличане на характерни признаци за лицевите характеристики, посредством OpenCV:
Извършва се търсене в Google за подобни изображения:
Стартира се и аналогично търсене в Yandex:
На база на анализираното изображение се реализира филтриране на резултатите и по този начин значително се намалява броя на неточните.
След приключване на изпълнението си EagleEye генерира доклад в PDF формат, съдържащ получените резултати:
Предполагам, че ще си помислите, че подобно търсене може да се извърши и ръчно и ще сте прави. Въпросът е колко бързо ще анализирате изображението, ще проверите за публични профили в FB, ще разгледате сходните изображения в Google и Yandex? Вижда се, че автоматизацията на подобни действия има редица предимства, а едно от най-силните е, че можете да използвате повече от едно изображение по което да се извърши цялото търсене.
Сега се върнете в началото на публикацията и погледнете версията на EagleEye. Виждате, че за толкова ранен етап реализираната функционалност е изключително сериозна и инструментът може да претърпи значителни подобрения, както и включване на нови функции.
Разбира се, получените резултати не са изчерпателни и винаги е целесъобразно да стартирате и други проверки с различни инструменти, например Social Mapper.