Nemesida Scanner — сканер уязвимостей веб-приложений


     
    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: поддерживается работа в официальных дистрибутивах, указанных в репозитории. Работа в других дистрибутивах не гарантируется.

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 33

      0
      Лиц ключ ввел,apt-transport-https установил, но выводит:
      Can't connect to Nemesida Scanner API (https://nemesida-security.com/ns/keys/auth_api)
      Дистрибутив: Linux Mint 18 Sarah
        0
        Если прямой доступ — проверьте telnet'ом:
        telnet nemesida-security.com 443
        Если через прокси — используйте --sysproxy
          0
          В смысле, интернет?
          Да, конечно. /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.



          Всё ок…
            0
            Комментарий выше обновил, проверьте.
            0
            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 и под обычным пользователем
              0
              Может быть ключ неверно вставлен? Лицензионный ключ «Nemesida Scanner» в файле конфигурации должен иметь следующий вид:

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

                user_agent пробовал вставлять — то же самое
                  0
                  Проверьте с помощью следующей команды:
                  curl -k  https://nemesida-security.com/ns/keys/auth_api -v -d "KEY=9cfc363d886c85f51cb0c9abe6c10cf1" -L
                    0
                    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
                      0
                      Пришлите листинг:
                      export
                        0
                        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»
                          0
                          Сканер предназначен для использования в Debian 9/CentOS 7. В ближайшее время выпустим обновление для других дистрибутивов.
                            +1
                            Парни, мне кажется тут добавлять ничего не нужно. У вас _мне_как_кажется_ программист извратился и свой стек TCP/IP написал, вместо использования библиотек стандартных из репозитариев… копайте туда в первую очередь.
                              0
                              Вы думаете это случайность? :)
                          0
                          Добрый день, та же проблема.
                          curl выдаёт Key is valid, но сканер не запускается, говорит что Can't connect to Nemesida Scanner API (https://nemesida-security.com/ns/keys/auth_api)
                          CentOS Linux release 7.4.1708 (Core)

                          uname -a
                          Linux myhostname.mydomain 4.13.11-1.el7.elrepo.x86_64 #1 SMP Thu Nov 2 11:29:36 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

                          #cat nscanner-cli.conf
                          [main]
                          license_key = 9cfc363d886c85f51cb0c9abe6c10cf1
                          user_agent =
            –3
            Зашел на сайт этой НЕМЕСИДА, такое ощущение, что заброшенная кантора и тухлым сайтом.
            Инфа с линкедина: «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.»
            0
            Немного оффтопа… Интересное название для сканера) Он точно только сканирует или всё же «карает» тоже?)
              0
              Название было выбрано для первого продукта — Nemesida WAF (нам показалось это символично), потом мы сделали сканер и продолжили линейку ПО Nemesida
                0
                Спасибо за ответ, теперь ясно
              0

              На 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
                0
                Спасибо, в ближайшем билде проблема будет исправлена, возможно, сегодня
                  0
                  Проблема устранена
                  0
                  Обновите пакет с репозитория.
                  0
                  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)
                  0
                  https://nemesida-security.com/ns/gpg.key > Response: 404
                    0
                    Проверили, все в порядке
                    +2
                    Dockerfile с котого можно собрать образ для докера и крутить немезиду в контейнере: gist.github.com/trigun117/e95cb94bbdea2c258b888be1dac10bdf

                    Only users with full accounts can post comments. Log in, please.