Що таке Nmap та як ним користуватися - Підручник для найбільшого інструменту сканування за весь час

Nmap - найвідоміший інструмент сканування, який використовують тестери проникнення. У цій статті ми розглянемо деякі основні особливості Nmap, а також кілька корисних команд.

Що таке Nmap?

Nmap - це скорочення від Network Mapper. Це інструмент командного рядка з відкритим кодом Linux, який використовується для сканування IP-адрес та портів у мережі та виявлення встановлених програм.

Nmap дозволяє адміністраторам мережі знаходити, які пристрої працюють в їх мережі, виявляти відкриті порти та служби та виявляти вразливості.

Гордон Ліон (псевдонім Федір) написав Nmap як інструмент, який допоможе легко картографувати всю мережу та знайти її відкриті порти та служби.

Nmap набув надзвичайної популярності, і пройшов у таких фільмах, як "Матриця" та популярних серіалах "Містер Робот".

Навіщо використовувати Nmap?

Існує низка причин, чому професіонали безпеки віддають перевагу Nmap перед іншими інструментами сканування.

По-перше, Nmap допомагає швидко скласти карту мережі без складних команд або конфігурацій. Він також підтримує прості команди (наприклад, перевірити, чи працює хост) та складні сценарії за допомогою механізму сценаріїв Nmap.

Інші особливості Nmap включають:

  • Можливість швидкого розпізнавання всіх пристроїв, включаючи сервери, маршрутизатори, комутатори, мобільні пристрої тощо в одній або декількох мережах.
  • Допомагає визначити служби, що працюють у системі, включаючи веб-сервери, DNS-сервери та інші поширені програми. Nmap також може виявляти версії додатків з достатньою точністю, щоб допомогти виявити наявні уразливості.
  • Nmap може знайти інформацію про операційну систему, що працює на пристроях. Він може надати детальну інформацію, як версії ОС, що полегшує планування додаткових підходів під час тестування на проникнення.
  • Під час аудиту безпеки та сканування вразливостей ви можете використовувати Nmap для атаки на системи, використовуючи існуючі сценарії з Nmap Scripting Engine.
  • Nmap має графічний інтерфейс користувача під назвою Zenmap. Це допомагає вам розробити візуальні відображення мережі для кращого використання та звітності.

Команди

Давайте розглянемо деякі команди Nmap. Якщо у вас не встановлений Nmap, ви можете отримати його тут.

Основні скани

Сканування списку активних пристроїв у мережі - це перший крок у відображенні мережі. Для цього можна використовувати два типи сканування:

  • Сканування пінгу - сканує список пристроїв, що працюють у певній підмережі.
> nmap -sp 192.168.1.1/24
  • Сканувати один хост - сканує один хост для 1000 добре відомих портів. Ці порти використовуються популярними службами, такими як SQL, SNTP, Apache та інші.
> nmap scanme.nmap.org

Стелс-сканування

Стелс-сканування виконується шляхом надсилання пакета SYN та аналізу відповіді. Якщо SYN / ACK отримано, це означає, що порт відкритий, і ви можете відкрити TCP-з'єднання.

Однак стелс-сканування ніколи не завершує тристороннє рукостискання, через що цілі важко визначити систему сканування.

> nmap -sS scanme.nmap.org

Ви можете використовувати команду '-sS', щоб виконати стелс-сканування. Пам’ятайте, стелс-сканування відбувається повільніше і не настільки агресивно, як інші типи сканування, тому, можливо, доведеться почекати деякий час, щоб отримати відповідь.

Сканування версії

Пошук версій додатків є вирішальною частиною тестування на проникнення.

Це полегшує вам життя, оскільки ви можете знайти наявну вразливість із бази даних загальних вразливостей та експлоїтів (CVE) для певної версії служби. Потім ви можете використовувати його для атаки машини за допомогою інструменту експлуатації, такого як Metasploit.

> nmap -sV scanme.nmap.org

Щоб виконати сканування версії, використовуйте команду '-sV'. Nmap надасть перелік послуг зі своїми версіями. Майте на увазі, що сканування версій не завжди є на 100% точним, але це робить вас на крок ближче до успішного потрапляння в систему.

Сканування ОС

На додаток до служб та їх версій, Nmap може надавати інформацію про основну операційну систему за допомогою відбитків пальців TCP / IP. Nmap також спробує знайти час роботи системи під час сканування ОС.

> nmap -sV scanme.nmap.org

Ви можете використовувати додаткові прапори, такі як osscan-limit, щоб обмежити пошук кількома очікуваними цілями. Nmap відобразить відсоток довіри для кожної здогадки ОС.

Знову ж таки, виявлення ОС не завжди є точним, але це робить довгий шлях до того, щоб допомогти тестеру ручок наблизитися до цілі.

Агресивне сканування

Nmap має агресивний режим, який дозволяє виявляти ОС, виявляти версії, сканувати сценарії та трасувати маршрути. Ви можете використовувати аргумент -A для виконання агресивного сканування.

> nmap -A scanme.nmap.org

Агресивне сканування дає набагато кращу інформацію, ніж звичайне сканування. Однак агресивне сканування також посилає більше зондів, і це, швидше за все, буде виявлено під час перевірок безпеки.

Сканування декількох хостів

Nmap має можливість одночасного сканування декількох хостів. Ця функція дуже корисна, коли ви керуєте величезною мережевою інфраструктурою.

Ви можете сканувати кілька хостів за допомогою численних підходів:

  • Запишіть усі IP-адреси в один рядок, щоб сканувати всі хости одночасно.
> nmap 192.164.1.1 192.164.0.2 192.164.0.2
  • Скористайтесь зірочкою (*) для сканування всіх підмереж одночасно.
> nmap 192.164.1.*
  • Додайте коми, щоб відокремити закінчення адрес, а не вводити цілі домени.
> nmap 192.164.0.1,2,3,4
  • Використовуйте дефіс, щоб вказати діапазон IP-адрес
> nmap 192.164.0.0–255

Сканування портів

Сканування портів є однією з найбільш фундаментальних особливостей Nmap. Сканувати порти можна кількома способами.

  • Використання параметра -p для сканування одного порту
> nmap -p 973 192.164.0.1
  • Якщо ви вказали тип порту, ви можете просканувати інформацію про певний тип підключення, наприклад, про TCP-з'єднання.
> nmap -p T:7777, 973 192.164.0.1
  • Діапазон портів можна відсканувати, розділивши їх дефісом.
> nmap -p 76–973 192.164.0.1
  • Ви також можете використовувати прапор -top-ports, щоб вказати верхні n портів для сканування.
> nmap --top-ports 10 scanme.nmap.org

Сканування з файлу

Якщо ви хочете відсканувати великий список IP-адрес, це можна зробити, імпортувавши файл зі списком IP-адрес.

> nmap -iL /input_ips.txt

Вищевказана команда видасть результати сканування всіх заданих доменів у файлі “input_ips.txt”. Окрім простого сканування IP-адрес, ви також можете використовувати додаткові опції та прапори.

Докладність та експортування результатів сканування

Тестування на проникнення може тривати дні або навіть тижні. Експорт результатів Nmap може бути корисним, щоб уникнути зайвої роботи та допомогти у створенні підсумкових звітів. Давайте розглянемо деякі способи експорту результатів сканування Nmap.

Багатослівний вихід

> nmap -v scanme.nmap.org

Детальний висновок надає додаткову інформацію про виконуване сканування. Корисно стежити за покроковими діями, які Nmap виконує в мережі, особливо якщо ви сторонній особа, яка сканує мережу клієнта.

Нормальний вихід

Сканування Nmap також можна експортувати у текстовий файл. Він буде дещо відрізнятися від вихідного виводу в командному рядку, але буде враховувати всі основні результати сканування.

> nmap -oN output.txt scanme.nmap.org

Висновок XML

Сканування Nmap також можна експортувати в XML. Це також найкращий формат файлів більшості інструментів тестування пера, що робить його легким для аналізу при імпортуванні результатів сканування.

> nmap -oX output.xml scanme.nmap.org

Кілька форматів

Ви також можете експортувати результати сканування одночасно у всі доступні формати, використовуючи команду -oA.

> nmap -oA output scanme.nmap.org

Вищевказана команда експортує результат сканування у три файли - output.xml, output. Nmap і output.gnmap.

Довідка Nmap

Nmap має вбудовану команду довідки, яка перелічує всі прапори та параметри, якими ви можете скористатися. Це часто зручно, враховуючи кількість аргументів командного рядка, з якими постачається Nmap.

> nmap -h

Двигун сценаріїв Nmap

Nmap Scripting Engine (NSE) - це неймовірно потужний інструмент, який можна використовувати для написання сценаріїв та автоматизації численних мережевих функцій.

Ви можете знайти безліч сценаріїв, розподілених по Nmap, або написати власний сценарій, виходячи з ваших вимог. Ви навіть можете модифікувати існуючі сценарії за допомогою мови програмування Lua.

NSE також має сценарії атаки, які використовуються для атаки на мережу та різні мережеві протоколи.

Поглиблене вивчення механізму сценаріїв буде недоступним для цієї статті, тож ось додаткова інформація про механізм сценаріїв Nmap.

Zenmap

Zenmap - графічний інтерфейс користувача для Nmap. Це безкоштовне програмне забезпечення з відкритим кодом, яке допоможе вам почати роботу з Nmap.

На додаток до забезпечення візуального відображення мережі, Zenmap також дозволяє зберігати та шукати скани для подальшого використання.

Zenmap чудово підходить для початківців, які хочуть перевірити можливості Nmap, не проходячи інтерфейс командного рядка.

Висновок

Nmap, безсумнівно, є «швейцарським армійським ножем» мережевих мереж завдяки своєму інвентарю різноманітних команд.

Це дозволяє швидко сканувати та знаходити важливу інформацію про вашу мережу, хости, порти, брандмауери та операційні системи.

Nmap має численні налаштування, прапори та налаштування, які допомагають системним адміністраторам детально аналізувати мережу.

Якщо ви хочете глибоко вивчити Nmap, ось вам чудовий ресурс.

Вам сподобалась ця стаття? Приєднуйтесь до мого бюлетеняі отримувати резюме моїх статей та відео кожного понеділка.