Recon-ng – Професионален OSINT фреймуърк за разузнаване

Recon-ng - Професионален OSINT фреймуърк за разузнаване

Какво е 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 интерфейсите на множество популярни платформи, включително:

  • Facebook
  • LinkedIn
  • Instagram
  • 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 за киберсигурност.

Picture of Велислав Никифоров
Велислав Никифоров

Web Developer & Cybersecurity Enthusiast