Nemesida Scanner предназначен для выявления уязвимостей в веб-приложениях, таких как SQL injection, XSS, LFI/RFI, XXE, Оpen-redirect, поиска компонентов с известными уязвимостями и критичных данных в открытом доступе, выявления недостатков конфигурации веб-приложения, сканирования портов, и т.д. Nemesida Scanner предоставляется в виде консольной версии для популярных Linux-дистрибутивов.


Зачем писать свой сканер, если их и так полным полно? Давайте разберемся. Большинство современных сканеров представляют из себя тяжеловесные GUI-приложения (либо веб-версию в виде веб-сервера, СУБД и т.д.) (помимо того, что они стоят довольно дорого). Консольные (легкие) варианты сканеров несомненно существуют, но у них есть как достоинства, так и недостатки. Примером отличного консольного сканера является узкоспециализированный wpscan. Консольная версия w3af довольно замороченная в плане настроек.


Поэтому мы решили реализовать простой, но многофункциональный сканер, не нагружающий систему и имеющий богатый (причем постоянно добавляемый) функционал.


Nemesida Scanner содержит большую базу современных векторов атак и полезных нагрузок (payload), не требователен к аппаратному обеспечению. Также существует "облегченная версия" Nemesida Scanner, используемая в Nemesida WAF для выявления уязвимостей веб-приложений и создания правил виртуал-патчинга.



 


Описание


Nemesida Scanner является отличным помощником при выполнении работ по анализу защищенности веб-приложений и тестированию на проникновение, позволяя:


  • выявлять различные веб-уязвимости, такие как: SQL-инъекции, XSS, LFI/RFI, XXE, Оpen-redirect;
  • выявлять компоненты с известными уязвимостями;
  • обнаруживать критичные данные (файлов, каталоги, поддомены) в открытом доступе;
  • определять версии и типы установленных CMS, а также их плагины;
  • выявлять недостатки конфигурации веб-приложения;
  • подбирать пароли;
  • сканировать порты и определять сервисы.

Установка сканера довольно тривиальна. Далее представлен пример установки в ОС Debian (существует также и CentOS версия) Необходимо установить зависимости:


# apt-get update && apt-get install apt-transport-https 

Добавить репозиторий:


# echo "deb https://nemesida-security.com/ns/debian stretch non-free" > /etc/apt/sources.list.d/NemesidaScanner.list

Установить ключ gpg.key:


# wget -O - https://nemesida-security.com/ns/gpg.key | apt-key add -

И выполнить установку:


# apt-get update && apt-get upgrade && apt-get install nscanner-cli

После установки укажите лицензионный ключ в файле /opt/nscanner-cli/nscanner-cli.conf (параметр: "license_key = "). Лицензионный ключ для работы «Nemesida Scanner»: 9cfc363d886c85f51cb0c9abe6c10cf1.


Пример команды запуска:


# nscanner-cli --host http://example.com.ru --auth admin:password --sql --pdf /tmp/report.pdf

Примеры использования


Для тестирования на проникновение веб-приложения нет необходимости использовать несколько инструментов, все необходимое уже входит в состав Nemesida Scanner. Например, при начале тестирования необходимо просканировать порты исследуемого веб-сервера:


nscanner-cli --host https://testsite --port


Ознакомиться с функционалом и документацией.


Запрещается использование Nemesida Scanner в противоправных и противозаконных целях.


UPD: поддерживается работа в официальных дистрибутивах, указанных в репозитории. Работа в других дистрибутивах не гарантируется.

Комментарии (29)


  1. openkazan
    01.02.2018 14:20

    Лиц ключ ввел,apt-transport-https установил, но выводит:
    Can't connect to Nemesida Scanner API (https://nemesida-security.com/ns/keys/auth_api)
    Дистрибутив: Linux Mint 18 Sarah


    1. LukaSafonov Автор
      01.02.2018 14:35

      Если прямой доступ — проверьте telnet'ом:
      telnet nemesida-security.com 443
      Если через прокси — используйте --sysproxy


      1. openkazan
        01.02.2018 14:38

        В смысле, интернет?
        Да, конечно. /etc/resolv.conf 8.8.8.8 прописано
        curl nemesida-security.com/ns/keys/auth_api
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
        405 Method Not Allowed
        Method Not Allowed

        The method is not allowed for the requested URL.



        Всё ок…


        1. LukaSafonov Автор
          01.02.2018 14:41

          Комментарий выше обновил, проверьте.


      1. openkazan
        01.02.2018 14:41

        telnet nemesida-security.com 443
        Trying 188.165.231.27…
        Connected to nemesida-security.com.
        Escape character is '^]'.
        GET / HTTP1.1
        HTTP/1.1 400 Bad Request
        Server: nginx
        Date: Thu, 01 Feb 2018 11:41:08 GMT
        Content-Type: text/html
        Content-Length: 166
        Connection: close

        400 Bad Request
        400 Bad Request


        nginx


        Connection closed by foreign host.

        Проксей нет
        Пробовал и напрямую и через VPN и под root и под обычным пользователем


        1. LukaSafonov Автор
          01.02.2018 14:51

          Может быть ключ неверно вставлен? Лицензионный ключ «Nemesida Scanner» в файле конфигурации должен иметь следующий вид:

          [main]
          license_key = 9cfc363d886c85f51cb0c9abe6c10cf1


          1. openkazan
            01.02.2018 14:53

            cat /opt/nscanner-cli/nscanner-cli.conf
            [main]
            license_key = 9cfc363d886c85f51cb0c9abe6c10cf1
            user_agent =

            user_agent пробовал вставлять — то же самое


            1. LukaSafonov Автор
              01.02.2018 14:59

              Проверьте с помощью следующей команды:

              curl -k  https://nemesida-security.com/ns/keys/auth_api -v -d "KEY=9cfc363d886c85f51cb0c9abe6c10cf1" -L


              1. openkazan
                01.02.2018 15:01

                curl -k nemesida-security.com/ns/keys/auth_api -v -d «KEY=9cfc363d886c85f51cb0c9abe6c10cf1» -L
                * Trying 188.165.231.27…
                * Connected to nemesida-security.com (188.165.231.27) port 443 (#0)
                * found 148 certificates in /etc/ssl/certs/ca-certificates.crt
                * found 607 certificates in /etc/ssl/certs
                * ALPN, offering http/1.1
                * SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
                * server certificate verification SKIPPED
                * server certificate status verification SKIPPED
                * common name: nemesida-security.com (matched)
                * server certificate expiration date OK
                * server certificate activation date OK
                * certificate public key: RSA
                * certificate version: #3
                * subject: OU=Domain Control Validated,OU=PositiveSSL,CN=nemesida-security.com
                * start date: Tue, 25 Apr 2017 00:00:00 GMT
                * expire date: Wed, 25 Apr 2018 23:59:59 GMT
                * issuer: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO RSA Domain Validation Secure Server CA
                * compression: NULL
                * ALPN, server accepted to use http/1.1
                > POST /ns/keys/auth_api HTTP/1.1
                > Host: nemesida-security.com
                > User-Agent: curl/7.47.0
                > Accept: */*
                > Content-Length: 36
                > Content-Type: application/x-www-form-urlencoded
                >
                * upload completely sent off: 36 out of 36 bytes
                < HTTP/1.1 201 CREATED
                < Server: nginx
                < Date: Thu, 01 Feb 2018 12:01:14 GMT
                < Content-Type: text/html; charset=utf-8
                < Content-Length: 12
                < Connection: keep-alive
                < X-Frame-Options: SAMEORIGIN
                < X-Content-Type-Options: nosniff
                < X-XSS-Protection: 1; mode=block
                <
                * Connection #0 to host nemesida-security.com left intact
                Key is valid


                1. LukaSafonov Автор
                  01.02.2018 15:03

                  Пришлите листинг:

                  export


                  1. openkazan
                    01.02.2018 15:12

                    declare -x COLORTERM=«gnome-terminal»
                    declare -x DISPLAY=":0.0"
                    declare -x HISTCONTROL=«ignoreboth»
                    declare -x HOME="/root"
                    declare -x LANG=«ru_RU.UTF-8»
                    declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
                    declare -x LESSOPEN="| /usr/bin/lesspipe %s"
                    declare -x LOGNAME=«root»
                    declare -x LS_COLORS=«rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:»
                    declare -x MAIL="/var/mail/root"
                    declare -x MC_SID=«12982»
                    declare -x MC_TMPDIR="/tmp/mc-root"
                    declare -x OLDPWD="/home/user/Документы"
                    declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
                    declare -x PWD="/home/user/Документы/shipco"
                    declare -x SHELL="/bin/bash"
                    declare -x SHLVL=«2»
                    declare -x SUDO_COMMAND="/bin/su"
                    declare -x SUDO_GID=«1000»
                    declare -x SUDO_UID=«1000»
                    declare -x SUDO_USER=«user»
                    declare -x TERM=«xterm»
                    declare -x USER=«root»
                    declare -x USERNAME=«root»
                    declare -x XAUTHORITY="/home/user/.Xauthority"
                    declare -x XDG_SESSION_COOKIE=«ce8273644bbb4905b5f12c71c31193d0-1517380854.321775-601433664»


                    1. LukaSafonov Автор
                      01.02.2018 15:53

                      Сканер предназначен для использования в Debian 9/CentOS 7. В ближайшее время выпустим обновление для других дистрибутивов.


                      1. openkazan
                        01.02.2018 16:01
                        +1

                        Парни, мне кажется тут добавлять ничего не нужно. У вас _мне_как_кажется_ программист извратился и свой стек TCP/IP написал, вместо использования библиотек стандартных из репозитариев… копайте туда в первую очередь.


                        1. sidristij
                          01.02.2018 20:40

                          Вы думаете это случайность? :)


  1. bisor
    01.02.2018 15:28
    -2

    Зашел на сайт этой НЕМЕСИДА, такое ощущение, что заброшенная кантора и тухлым сайтом.
    Инфа с линкедина: «Nemesis Security was originally founded in 2014 by two cyber security professionals who partnered together with the common goal of making the internet more secure for everyone. With over fifteen years of experience in the field between them, they performed security assessments and private investigations as a way of giving back to the internet community and securing the web.»


    1. LukaSafonov Автор
      01.02.2018 15:32
      +1

      Вы нашли какой-то другой сайт. Страница сканера на нашем сайте: https://www.pentestit.ru/nemesida-scanner/


      1. bisor
        01.02.2018 17:13

        Ок. Видимо так и было.
        www.pentestit.ru/nemesida-scanner работает ))


  1. DenimTornado
    01.02.2018 15:42

    Немного оффтопа… Интересное название для сканера) Он точно только сканирует или всё же «карает» тоже?)


    1. RomanovR
      01.02.2018 16:53

      Название было выбрано для первого продукта — Nemesida WAF (нам показалось это символично), потом мы сделали сканер и продолжили линейку ПО Nemesida


      1. DenimTornado
        01.02.2018 17:04

        Спасибо за ответ, теперь ясно


  1. past
    01.02.2018 16:01

    На CentOS 7.4.1708 не ставится


    Загружены модули: changelog, fastestmirror, rhnplugin, versionlock
    This system is receiving updates from RHN Classic or Red Hat Satellite.
    Loading mirror speeds from cached hostfile
    Разрешение зависимостей
    --> Проверка сценария
    ---> Пакет nscanner-cli.x86_64 0:1.4.17-1 помечен для установки
    --> Обработка зависимостей: libpython3.5m.so.1.0()(64bit) пакета: nscanner-cli-1.4.17-1.x86_64
    --> Проверка зависимостей окончена
    Ошибка: Пакет: nscanner-cli-1.4.17-1.x86_64 (NemesidaScanner)
                Необходимо: libpython3.5m.so.1.0()(64bit)
     Вы можете попробовать --skip-broken чтобы обойти проблему
     Вы можете попробовать запустить: rpm -Va --nofiles --nodigest


    1. RomanovR
      01.02.2018 16:50

      Спасибо, в ближайшем билде проблема будет исправлена, возможно, сегодня


  1. alibertino
    01.02.2018 19:51

    nemesida-security.com/ns/keys/auth_api

    502 Bad Gateway

    Can't connect to Nemesida Scanner API (https://nemesida-security.com/ns/keys/auth_api)


    1. LukaSafonov Автор
      01.02.2018 20:20

      Пробуйте, исправили.


      1. alibertino
        01.02.2018 20:50

        А в докер засунуть не возможно?


        1. RomanovR
          01.02.2018 23:35

          образа для Docker пока нет



  1. Merkat0r
    01.02.2018 23:52

    https://nemesida-security.com/ns/gpg.key > Response: 404


  1. trigun117
    02.02.2018 21:57
    +1

    Dockerfile с котого можно собрать образ для докера и крутить немезиду в контейнере: gist.github.com/trigun117/e95cb94bbdea2c258b888be1dac10bdf