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)
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.»LukaSafonov Автор
01.02.2018 15:32+1Вы нашли какой-то другой сайт. Страница сканера на нашем сайте: https://www.pentestit.ru/nemesida-scanner/
DenimTornado
01.02.2018 15:42Немного оффтопа… Интересное название для сканера) Он точно только сканирует или всё же «карает» тоже?)
RomanovR
01.02.2018 16:53Название было выбрано для первого продукта — Nemesida WAF (нам показалось это символично), потом мы сделали сканер и продолжили линейку ПО Nemesida
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
alibertino
01.02.2018 19:51nemesida-security.com/ns/keys/auth_api
502 Bad Gateway
Can't connect to Nemesida Scanner API (https://nemesida-security.com/ns/keys/auth_api)LukaSafonov Автор
01.02.2018 20:20Пробуйте, исправили.
trigun117
02.02.2018 21:57+1Dockerfile с котого можно собрать образ для докера и крутить немезиду в контейнере: gist.github.com/trigun117/e95cb94bbdea2c258b888be1dac10bdf
openkazan
Лиц ключ ввел,apt-transport-https установил, но выводит:
Can't connect to Nemesida Scanner API (https://nemesida-security.com/ns/keys/auth_api)
Дистрибутив: Linux Mint 18 Sarah
LukaSafonov Автор
Если прямой доступ — проверьте telnet'ом:
telnet nemesida-security.com 443
Если через прокси — используйте --sysproxy
openkazan
В смысле, интернет?
Да, конечно. /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.
Всё ок…
LukaSafonov Автор
Комментарий выше обновил, проверьте.
openkazan
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 и под обычным пользователем
LukaSafonov Автор
Может быть ключ неверно вставлен? Лицензионный ключ «Nemesida Scanner» в файле конфигурации должен иметь следующий вид:
[main]
license_key = 9cfc363d886c85f51cb0c9abe6c10cf1
…
openkazan
cat /opt/nscanner-cli/nscanner-cli.conf
[main]
license_key = 9cfc363d886c85f51cb0c9abe6c10cf1
user_agent =
user_agent пробовал вставлять — то же самое
LukaSafonov Автор
Проверьте с помощью следующей команды:
openkazan
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
LukaSafonov Автор
Пришлите листинг:
openkazan
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»
LukaSafonov Автор
Сканер предназначен для использования в Debian 9/CentOS 7. В ближайшее время выпустим обновление для других дистрибутивов.
openkazan
Парни, мне кажется тут добавлять ничего не нужно. У вас _мне_как_кажется_ программист извратился и свой стек TCP/IP написал, вместо использования библиотек стандартных из репозитариев… копайте туда в первую очередь.
sidristij
Вы думаете это случайность? :)