# NMAP Script Engine (NSE)

Расширение функционала за счет LUA скриптов. Запуск всех скриптов в соответствии с правилами внутри:

```
nmap -sC <target>
```

**Размещение скриптов**

/usr/share/nmap/scripts Можно вывести названия скриптов командой

```
ls /usr/share/nmap/scripts/
```

**Типы скриптов**

Количество выполняемых скриптов зависит от правил хоста или порта для этих скриптов.

<table border="1" id="bkmrk-auth-%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B%2C-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD" style="border-collapse: collapse; width: 100%; height: 387.36px;"><colgroup><col style="width: 25.5358%;"></col><col style="width: 74.5834%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">auth</td><td style="height: 29.7969px;">Скрипты, связанные с авторизацией пользователя</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">broadcast</td><td style="height: 29.7969px;">Широковещательные запросы</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">brute</td><td style="height: 29.7969px;">Брутфорс паролей</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">default</td><td style="height: 29.7969px;">Скрипты, выполняемые по умолчанию</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">discovery</td><td style="height: 29.7969px;">Поиск хостов и сервисов</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">dos</td><td style="height: 29.7969px;">Атака dos</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">exploit</td><td style="height: 29.7969px;">Скрипты, использующие уязвимости для атаки</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">external</td><td style="height: 29.7969px;">Зависящие от каких-либо сервисов</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">fuzzer</td><td style="height: 29.7969px;">Генераторы случайных последовательностей</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">intrusive</td><td style="height: 29.7969px;">Могут уронить или сгенерировать большой сетевой трафик</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">malware</td><td style="height: 29.7969px;">Скрипты, связанные с обнаружением вредоносных программ</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">safe</td><td style="height: 29.7969px;">Безопасные</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">version</td><td style="height: 29.7969px;">Определение версий</td></tr><tr><td>vuln</td><td>Скрипты, <span class="aNeGP0gI0B9AV8JaHPyH" data-src-align="44:7">связанные</span> <span class="aNeGP0gI0B9AV8JaHPyH" data-src-align="55:2">с</span> <span class="aNeGP0gI0B9AV8JaHPyH" data-src-align="73:15">уязвимостями</span> в системе <span class="aNeGP0gI0B9AV8JaHPyH" data-src-align="61:8">безопасности</span></td></tr></tbody></table>

Некоторые скрипты требуют настройки.

<table border="1" id="bkmrk-nmap---script-script" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 45.6338%;"></col><col style="width: 54.3662%;"></col></colgroup><tbody><tr><td>nmap --script script\_name &lt;target&gt;</td><td>запуск определенного скрипта. Имя скрипта или путь к папке с расширениями</td></tr><tr><td>nmap --script http-title --script-args http.useragent="Mozilla 999" &lt;target&gt;</td><td>--script-args настраивает параметры скрипта</td></tr><tr><td>nmap -sV --script vuln &lt;target&gt;

nmap -sV --script="version,discovery" &lt;target&gt;

</td><td>Определенная категория</td></tr><tr><td>nmap -sV --script "not exploit" &lt;target&gt;</td><td>Исключая категорию</td></tr><tr><td>nmap -sV --script "(http-\*) and not(http-slowloris or http-brute)" &lt;target&gt;</td><td>  
</td></tr></tbody></table>

**Трассировка выполнения скрипта**

<table border="1" id="bkmrk-nmap--sc---script-tr" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 36.8453%;"></col><col style="width: 63.2739%;"></col></colgroup><tbody><tr><td>nmap -sC --script-trace &lt;target&gt;</td><td>Простая трассировка</td></tr><tr><td>-d\[1-9\]</td><td>Увеличение уровня выводимых сообщений</td></tr></tbody></table>

**Добавление нового скрипта:**

- скопировать скрипт в /scripts в директории установки nmap
- обновить базу ```
    nmap --script-updatedb
    ```

Либо указать путь напрямую

```
nmap --script /root/loot/nonofficial.nse <target>
```

[Библиотека скриптов вне основной поставки](https://secwiki.org/w/Nmap/External_Script_Library)

**Скрипты в поставке**

**Броадкастовые скрипты**

<table border="1" id="bkmrk-broadcast-avahi-dos-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 26.1004%;"></col><col style="width: 73.8996%;"></col></colgroup><tbody><tr><td>broadcast-avahi-dos</td><td>Ищет хосты через DNS service discovery protocol и отправляет NULL UDP пакеты каждому найденному для проверки возможности DOS

</td></tr><tr><td>broadcast-db2-discover</td><td>Ищет DB2 серверы через запрос на 523/udp</td></tr><tr><td>broadcast-dhcp-discover</td><td>Поиск DHCP сервера с использованием статического адреса DE:AD:CO:DE:CA:FE</td></tr><tr><td>broadcast-dns-service-discovery</td><td>Поиск DNS серверов через DNS-SD запросы</td></tr><tr><td>broadcast-dropbox-listener</td><td>Прослушивает сеть и ждет бродкастов от dropbox клиентов (раз в 20 секунд запросы)</td></tr><tr><td>broadcast-listener</td><td>Прослушивает сеть и ждет бродкасты. Пытается разобрать и вытащить данные.</td></tr><tr><td>broadcast-ms-sql-discover</td><td>Поиск Microsoft SQL серверов</td></tr><tr><td>broadcast-novell-locate</td><td>Поиск NCP серверов</td></tr><tr><td>broadcast-ping</td><td>Бродкастовый пинг с выводом IP и MAC Нужны привилегии.</td></tr><tr><td>broadcast-netbios-master-browser</td><td>Поиск NetBios доменов</td></tr><tr><td>broadcast-rip-discover</td><td>Отправляет RIPv2 запросы и определяет хосты на которых это крутится</td></tr><tr><td>broadcast-upnp-info</td><td>Поиск UPnP хостов</td></tr><tr><td>broadcast-wsdd-discover</td><td>Поиск хостов с поддержкой WS-Discovery протокола. Также определяет WCF (.NET 4.0+).</td></tr><tr><td>lltd-discovery</td><td>Использует Microsoft LLTD протокол для поиска хостов</td></tr><tr><td>targets-sniffer</td><td>Слушает сеть 10 секунд и выводит найденные адреса</td></tr></tbody></table>

<div id="bkmrk--1"></div><div id="bkmrk--2"></div><div id="bkmrk-newtargets-is-set%2C-t"></div>