Какво е Recon-ng?
Recon-ng е модулен OSINT фреймуърк, разработен от Tim Tomes от Black Hills Information Security. Инструментът е написан на Python и е концептуално вдъхновен от Metasploit Framework, по-специално от неговия команден интерфейс msfconsole.
Ако вече имаш опит с Metasploit, Recon-ng ще ти бъде познат още от първата минута – начинът на работа с модули, командите и логиката на фреймуърка са сходни. Това го прави изключително удобен както за начинаещи, така и за напреднали специалисти по сигурност.
Защо Recon-ng е толкова ценен инструмент
От моя опит като уеб девелопър и cybersecurity ентусиаст, Recon-ng се отличава с няколко ключови предимства:
Модулна архитектура
Recon-ng използва модулен подход, който позволява:
- лесно добавяне и премахване на функционалности
- фокусирана работа само с нужните инструменти
- бързо адаптиране към различни цели и сценарии
Силен фокус върху OSINT и социално разузнаване
Recon-ng е изключително ефективен при:
- откриване на поддомейни
- събиране на информация от социални мрежи
- анализ на публично достъпни данни чрез API
Използването на официални API интерфейси прави процеса по-надежден и по-малко податлив на блокиране.
Вградена система за отчети
Всеки penetration test или OSINT анализ завършва с доклад. Recon-ng разполага с възможности за експортиране на резултати в различни формати, което го прави особено полезен в професионална среда.
Стартиране на Recon-ng в Kali Linux
Recon-ng е предварително инсталиран в Kali Linux, което го прави леснодостъпен за всеки, който работи в среда за киберсигурност. Можете да го намерите тук – recon-ng
Стъпка 1: Стартиране на инструмента
Отвори нов терминал и изпълни:
recon-ng
└─$ recon-ng
[*] Version check disabled.
_/_/_/ _/_/_/_/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/_/_/
_/ _/ _/ _/ _/ _/ _/_/ _/ _/_/ _/ _/
_/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/_/
_/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/_/ _/ _/
_/ _/ _/_/_/_/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/_/_/
/\
/ \\ /\
Sponsored by... /\ /\/ \\V \/\
/ \\/ // \\\\\ \\ \/\
// // BLACK HILLS \/ \\
www.blackhillsinfosec.com
____ ____ ____ ____ _____ _ ____ ____ ____
|____] | ___/ |____| | | | |____ |____ |
| | \_ | | |____ | | ____| |____ |____
www.practisec.com
[recon-ng v5.1.2, Tim Tomes (@lanmaster53)]
[2] Recon modules
[1] Discovery modules
[recon-ng][default] >
След стартирането ще видиш началния екран, който показва версията на инструмента, броя налични модули и текущото работно пространство (workspace).
Основни команди в Recon-ng
Стъпка 2: Преглед на наличните команди
За да се ориентираш в интерфейса, използвай:
help
[recon-ng][default] > help
Commands (type [help|?] ):
---------------------------------
back Exits the current context
dashboard Displays a summary of activity
db Interfaces with the workspace's database
exit Exits the framework
help Displays this menu
index Creates a module index (dev only)
keys Manages third party resource credentials
marketplace Interfaces with the module marketplace
modules Interfaces with installed modules
options Manages the current context options
pdb Starts a Python Debugger session (dev only)
script Records and executes command scripts
shell Executes shell commands
show Shows various framework items
snapshots Manages workspace snapshots
spool Spools output to a file
workspaces Manages workspaces
[recon-ng][default] >
Командата показва всички налични функции – управление на модули, workspaces, marketplace, API ключове и експортиране на данни. Това е най-доброто начало за всеки, който тепърва се запознава с инструмента.
Модули и Recon-ng Marketplace
Стъпка 3: Търсене на налични модули
Recon-ng разполага със собствен marketplace, от който можеш да разглеждаш и инсталираш допълнителни модули.
За да видиш всички налични модули:
marketplace search
[recon-ng][default] > marketplace search
+--------------------------------------------------------------------------------------------------+
| Path | Version | Status | Updated | D | K |
+--------------------------------------------------------------------------------------------------+
| discovery/info_disclosure/cache_snoop | 1.1 | not installed | 2020-10-13 | | |
| discovery/info_disclosure/interesting_files | 1.2 | installed | 2021-10-04 | | |
| exploitation/injection/command_injector | 1.0 | not installed | 2019-06-24 | | |
| exploitation/injection/xpath_bruter | 1.2 | not installed | 2019-10-08 | | |
| import/csv_file | 1.1 | not installed | 2019-08-09 | | |
| import/list | 1.1 | not installed | 2019-06-24 | | |
| import/masscan | 1.0 | not installed | 2020-04-07 | | |
| import/nmap | 1.1 | not installed | 2020-10-06 | | |
| recon/companies-contacts/bing_linkedin_cache | 1.0 | not installed | 2019-06-24 | | * |
| recon/companies-contacts/censys_email_address | 2.1 | not installed | 2022-01-31 | * | * |
| recon/companies-contacts/pen | 1.1 | not installed | 2019-10-15 | | |
| recon/companies-domains/censys_subdomains | 2.1 | not installed | 2022-01-31 | * | * |
| recon/companies-domains/pen | 1.1 | not installed | 2019-10-15 | | |
| recon/companies-domains/viewdns_reverse_whois | 1.1 | not installed | 2021-08-24 | | |
| recon/companies-domains/whoxy_dns | 1.1 | not installed | 2020-06-17 | | * |
| recon/companies-multi/censys_org | 2.1 | not installed | 2022-01-31 | * | * |
| recon/companies-multi/censys_tls_subjects | 2.1 | not installed | 2022-01-31 | * | * |
| recon/companies-multi/github_miner | 1.1 | not installed | 2020-05-15 | | * |
| recon/companies-multi/shodan_org | 1.1 | not installed | 2020-07-01 | * | * |
В резултатите ще забележиш две важни колони:
- D (Dependencies) – модулът има външни зависимости
- K (API Key) – необходим е API ключ за достъп до външна услуга
Пример за такъв модул е recon/companies-contacts/censys_email_address, който използва платформата Censys – една от най-популярните OSINT услуги за анализ на интернет инфраструктура.
Обновяване на Marketplace
Стъпка 4: Refresh на marketplace
Преди да започнеш работа, е добра практика да обновиш локалната информация за модулите:
marketplace refresh
[recon-ng][default] > marketplace refresh
[*] Marketplace index refreshed.
[recon-ng][default] >
Това гарантира, че разполагаш с най-актуалните модули и зависимости.
Търсене на модул за откриване на поддомейни
Стъпка 5: Търсене по ключова дума
Нека използваме реален пример – откриване на поддомейни чрез Bing.
Търсенето става с:
marketplace search bing
[recon-ng][default] > marketplace search bing
[*] Searching module index for 'bing'...
+-----------------------------------------------------------------------------------------------+
| Path | Version | Status | Updated | D | K |
+-----------------------------------------------------------------------------------------------+
| recon/companies-contacts/bing_linkedin_cache | 1.0 | not installed | 2019-06-24 | | * |
| recon/domains-hosts/bing_domain_api | 1.0 | not installed | 2019-06-24 | | * |
| recon/domains-hosts/bing_domain_web | 1.1 | installed | 2019-07-04 | | |
| recon/hosts-hosts/bing_ip | 1.0 | not installed | 2019-06-24 | | * |
| recon/profiles-contacts/bing_linkedin_contacts | 1.2 | not installed | 2021-08-24 | | * |
+-----------------------------------------------------------------------------------------------+
D = Has dependencies. See info for details.
K = Requires keys. See info for details.
Тази команда показва всички модули, свързани с Bing, без да е нужно да знаеш точния им път.
Инсталиране на модул
Стъпка 6: Инсталиране на bing_domain_web
Модулът, който ни интересува, е:
recon/domains-hosts/bing_domain_web
Инсталираме го с:
marketplace install recon/domains-hosts/bing_domain_web
Преглед на инсталираните модули
Стъпка 7: Проверка на наличните модули
За да видиш кои модули са инсталирани:
modules search
[recon-ng][default] > modules search
Discovery
---------
discovery/info_disclosure/interesting_files
Recon
-----
recon/domains-hosts/bing_domain_web
recon/domains-hosts/hackertarget
Това е полезно при работа с по-голям брой модули или различни проекти.
Зареждане и конфигуриране на модул
Стъпка 8: Зареждане на модула
modules load recon/domains-hosts/bing_domain_web
След зареждането prompt-ът се променя, което показва, че работиш в контекста на конкретния модул.
[recon-ng][default] > modules load recon/domains-hosts/bing_domain_web
[recon-ng][default][bing_domain_web] >
За информация и настройки използвай:
info
Задаване на цел и стартиране
Стъпка 9: Задаване на SOURCE
Основният параметър на модула е SOURCE – домейнът, който ще анализираме:
options set SOURCE h4cker.org
След това стартираме модула:
run
Резултатите показват откритите поддомейни, намерени чрез Bing. В примерния сценарий бяха открити няколко поддомейна само за секунди.
Истинската сила на Recon-ng
Recon-ng използва API интерфейсите на множество популярни платформи, включително:
- YouTube
- Indeed
- Flickr
- Shodan
Това го прави изключително мощен инструмент за OSINT анализ и разузнаване.
Комбиниране на модули и изграждане на методология
Recon-ng не е „магически бутон“. Истинската му стойност идва, когато комбинираш различни модули и мислиш стратегически.
Например:
- първоначално откриване на поддомейни чрез Bing
- последващо DNS brute-force търсене с
recon/domains-hosts/brute_hosts - корелация на данните с други OSINT източници
Киберсигурността не е просто използване на инструменти – тя е начин на мислене. Да мислиш като атакуващ, да изграждаш собствена методология и да надграждаш отвъд default настройките.
Recon-ng – основа на ефективното OSINT разузнаване
Recon-ng е един от най-добрите OSINT фреймуъркове, налични днес. Той съчетава:
- мощ
- гъвкавост
- професионален подход
- отлична структура
Независимо дали си начинаещ или напреднал специалист, Recon-ng е инструмент, който заслужава място във всеки toolkit за киберсигурност.



