04.06.2019 @ 16:56 NSE или обратная сторона Nmap hacking, kali, kali linux 2.0, Nmap, NSE, penetration testing, pentest, Pentestit, безопасность сетевого периметра Кролики — это не только ценный мех, но и три — четыре килограмма диетического, легкоусвояемого мяса. Сегодня мы рассмотрим один из наиболее универсальных инструментов пентестера — Nmap — культовый кроссплатформенный сканер, который расшифровывается как «Network Mapper». Инструмент сам по себе довольно мощный, но его чаще всего используют в связке с другими утилитами, не предполагая, что, помимо способности сканировать сеть, Nmap имеет массу других возможностей. Основная из них — это использование скриптов с помощью NSE (Nmap Scripting Engine) — компонента Nmap, в основе которого лежит скриптовый язык Lua, напоминающий JavaScript. Именно NSE делает Nmap таким универсальным. Допустим, мы просканировали хост и увидели открытые порты: root@kali:~# nmap site.test.lan Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-31 11:58 MSK Nmap scan report for site.test.lan (192.168.60.50) Host is up (0.000030s latency). Not shown: 995 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 90/tcp open dnsix 3306/tcp open mysql MAC Address: 6E:93:12:AA:1F:6D (Unknown) В первую очередь, нас интересует 80 порт. Вероятно, здесь «крутится» сайт. Если запустить скрипт http-enum, то он будет искать всю полезную информацию на веб-сервере точно так же, как это делает сканер уязвимостей Nikto: nmap site.test.lan --script http-enum Сбор информации Узнав, что сайт на WordPress, запустим скрипт http-wordpress-enum. nmap -p80 --script http-wordpress-enum --script-args http-wordpress-enum.search-limit=all site.test.lan Сбор информации Но это еще не все. В стандартном наборе Nmap имеется почти 600 скриптов, а если нет нужного – можно написать свой. Поищем на сайте страницы с авторизацией, если они есть. И в этом нам поможет скрипт http-auth-finder: nmap -p80 --script http-auth-finder site.test.lan Авторизация Если использовать команду nmap --script=auth, то к хосту будут применены по очереди все скрипты из раздела auth. Когда форма авторизации найдена, попробуем подобрать пароль к какой-нибудь учетной записи, используя очередной скрипт http-form-brute: nmap -p-80 --script=http-form-brute --script-args=http-form-brute.path=/wp-login.php site.test.lan Brute-force Весьма неплохо для “сканера портов”. Применяя различные скрипты и используя при этом лишь «сканер портов», мы получили довольно много информации. Но здесь стоит отметить, что, в отличие от Nmap, WPScan выводит не только названия компонентов, но и указывает на их возможные уязвимости. Далее мы видим открытый 22 порт SSH и пробуем подобрать пароль от сервиса, используя скрипт ssh-brute: nmap -p22 --script ssh-brute site.test.lan SSH Также мы видим открытый 21 порт, который, предположительно, указывает на наличие FTP-сервера. Мы можем получить некоторую информацию о сервере при помощи скрипта ftp-syst: nmap -p21 --script ftp-syst site.test.lan FTP Далее произведем перебор пользователей FTP-сервера: nmap -p21 192.168.60.50 --script ftp-brute --script-args userdb=/root/user.txt,passdb=/root/pass.txt brute-force FTP Еще у нас есть MySQL и его открытый порт 3306. Скрипт mysql-info покажет некоторую информацию о MySQL (для этого необходимо запустить Nmap с ключами -sV -sC): nmap -p3306 -sV -sC site.test.lan MySQL Скрипт подключается к серверу MySQL и выводит информацию, такую как номер протокола и версии, идентификатор потока, состояние, возможности и соль пароля. Помимо этого, мы можем перечислить «валидных» пользователей MySQL: nmap -p3306 --script mysql-enum site.test.lan Еще MySQL Если необходимо произвести перечисление нестандартных пользователей, то в аргументах указывается путь к файлу с необходимыми именами. Получив список, можно производить подбор пароля к учетным записям. Hekpo 13874 Network security Читать дальше >>