Использование поиска и фильтров¶
Вебмониторэкс предоставляет несколько удобных механизмов для поиска обнаруженных атак, инцидентов и уязвимостей. В секции События в Консоли управления Вебмониторэкс доступны следующие механизмы поиска:
-
Фильтры для выбора критериев поиска
-
Поисковая строка для ввода поискового запроса с использованием атрибутов и модификаторов, приближенных к человеческому языку
Значения, установленные в фильтрах, автоматически дублируются в поисковой строке. Значения, указанные в поисковой строке, автоматически дублируются в фильтрах.
Вы можете сохранить любой поисковый запрос или комбинацию фильтров как шаблон, используя опцию Сохранить шаблон поиска.
Фильтры¶
Доступные фильтры поиска представлены в Консоли управления Вебмониторэкс в следующих формах:
-
Панель фильтров, которая разворачивается и сворачивается по кнопке Фильтр
-
Быстрые фильтры для исключения или отображения только событий с конкретным значением параметра
Если в фильтрах заданы значения для разных параметров, результат будет удовлетворять всем условиям. Если указано несколько значений для одного параметра, результат будет удовлетворять любому из значений.
Поисковая строка¶
Поисковая строка принимает поисковые запросы с атрибутами и модификаторами, приближенными к человеческому языку, поэтому запрос можно набрать почти интуитивно. Например:
-
attacks xss
— поиск всех XSS-атак (межсайтовый скриптинг) -
attacks today
— поиск любых атак за сегодня -
vulns sqli
: поиск уязвимостей к атакам типа внедрение SQL‑кода -
vulns 11/01/2020 - 11/10/2020
— поиск уязвимостей за указанный период -
xss 14/12/2020
— поиск всех уязвимостей, подозрений, атак и инцидентов межсайтового скриптинга на 14 декабря 2020 года -
p:xss 14/12/2020
— поиск всех уязвимостей, подозрений, атак и инцидентов, обнаруженных в параметреxss
за 14 декабря 2020 года -
attacks 9-12/2020
— поиск всех атак с сентября по декабрь 2020 года -
rce /catalog/import.php
: поиск всех RCE-атак, инцидентов и уязвимостей по скрипту/catalog/import.php
за последний день
Если в поисковой строке указаны значения для разных параметров, результат будет удовлетворять всем условиям. Если указаны несколько значений для одного параметра, результат будет удовлетворять любому из них.
Поиск по атрибуту со значением НЕ
Чтобы задать исключающее значение атрибута поиска, добавьте !
перед атрибутом. Например: attacks !ip:111.111.111.111
вернет атаки, отправленные с любого IP‑адреса, кроме 111.111.111.111
.
Ниже приведен набор атрибутов и модификаторов, которые могут быть использованы в поисковых запросах.
Поиск по типу объекта¶
Укажите в строке поиска:
-
attack
,attacks
— чтобы искать только атаки, которые не направлены на известные уязвимости -
incident
,incidents
— чтобы искать только инциденты (атаки, эксплуатирующие известную уязвимость) -
vuln
,vulns
,vulnerability
,vulnerabilities
— чтобы искать только уязвимости
Поиск по типу атаки или уязвимости¶
Укажите в строке поиска:
-
sqli
— чтобы искать внедрения SQL‑кода -
xss
— чтобы искать межсайтовый скриптинг -
rce
— чтобы искать удаленное выполнение кода -
brute
— чтобы искать атаки перебора -
ptrav
— чтобы искать атаки типа path traversal -
crlf
— чтобы искать внедрения символов CRLF -
redir
— чтобы искать уязвимости открытых переадресаций -
nosqli
— чтобы искать внедрения NoSQL‑кода -
data_bomb
— чтобы искать логические бомбы -
ssti
— чтобы искать внедрения кода для обработки шаблонизатором -
invalid_xml
— чтобы искать использования небезопасного XML‑заголовка -
overlimit_res
— чтобы искать атаки, направленные на превышение лимита вычислительных ресурсов -
xxe
— чтобы искать внешние XML‑сущности -
vpatch
— чтобы искать виртуальные патчи -
dirbust
— чтобы искать атаки типа forced browsing -
ldapi
— чтобы искать внедрения LDAP-кода -
scanner
— чтобы искать атаки/уязвимости сканеров портов -
infoleak
— чтобы искать атаки/уязвимости раскрытия информации -
mail_injection
— чтобы искать внедрения IMAP/SMTP‑выражений -
ssi
— чтобы искать SSI‑инъекции -
overlimit_res
— чтобы искать атаки типа "Превышение лимита вычислительных ресурсов" -
experimental
— чтобы искать экспериментальные атаки, обнаруженные на основе регулярного выражения -
idor
— чтобы искать уязвимости типа BOLA (IDOR)
Название уязвимости может быть указано как строчными, так и заглавными буквами.
Т.е. SQLI
, sqli
и SQLi
будут восприняты одинаково.
Поиск по CVE и известным эксплойтам¶
-
known
: запросы, которые однозначно являются атаками. К ним относятся запросы с эксплойтами, направленными на уязвимости из базы CVE или другие общеизвестные типы уязвимостей.Чтобы отфильтровать атаки по определенному идентификатору CVE или другому общеизвестному типу уязвимости, вы можете передать соответствующий идентификатор или тип уязвимости вместе с тегом
known
или без него. Например:known:CVE-2004-2402 CVE-2018-6008
илиCVE-2004-2402 CVE-2018-6008
, чтобы вернуть атаки, направленные на уязвимости CVE-2004-2402 и CVE-2018-6008. -
!known
: атаки, которые потенциально могут быть ложными срабатываниями, так как содержат малоизвестные эксплойты или контекст, в котором эксплойты являются легитимными значениями параметров.
Для фильтрации атак по CVE и известным эксплойтам вы также можете использовать быстрый фильтр по типам событий и по CVE и эксплойтам.
Поиск по API-протоколу хита¶
Чтобы отфильтровать хиты по API-протоколу, по которому они были отправлены, используйте префикс proto:
или protocol:
.
Префикс может принимать следующие значения:
-
proto:graphql
-
proto:grpc
-
proto:websocket
-
proto:rest
-
proto:soap
-
proto:xml-rpc
-
proto:web-form
-
proto:webdav
-
proto:json-rpc
Поиск хитов по протоколам аутентификации¶
Чтобы отфильтровать хиты по протоколу аутентификации, который использовал злоумышленник, используйте префикс auth:
.
Префикс может принимать следующие значения:
-
auth:none
-
auth:api-key
-
auth:basic
-
auth:bearer
-
auth:cookie
-
auth:digest
-
auth:hawk
-
auth:jwt
-
auth:ntlm
-
auth:oauth1
-
auth:oauth2
-
auth:scram
Поиск по цели атаки или уязвимости¶
Укажите в строке поиска:
-
client
— чтобы искать атаки/уязвимости пользовательских данных; -
database
— чтобы искать атаки/уязвимости базы данных; -
server
— чтобы искать атаки/уязвимости сервера приложений.
Поиск по уровню опасности¶
Укажите в строке поиска:
-
low
— низкий уровень опасности; -
medium
— средний уровень опасности; -
high
— высокий уровень опасности.
Поиск уязвимостей по идентификатору¶
Для поиска уязвимостей по идентификатору можно указывать его в одном из двух вариантов:
-
полностью:
WLRM-ABCD-X0123
; -
сокращенно:
X0123
.
Поиск по статусу уязвимости¶
Укажите в строке поиска:
-
open
— актуальная уязвимость -
closed
— исправленная уязвимость
Поиск по времени события¶
Задайте в строке поиска временной интервал. Если временной интервал не задан, отображаются события за последние сутки.
Вы можете использовать несколько способов, чтобы задать временной интервал:
-
Дата:
10/11/2020 - 14/11/2020
-
Дата и время (всегда без секунд):
10/11/2020 11:11
,11:30-12:22
,10/11/2020 11:12 - 14/11/2020 12:14
-
Дата и время относительно определенного момента времени, например:
>10/01/20
-
Строковые алиасы:
yesterday
для вчерашней датыtoday
для сегодняшней даты-
last <unit>
для периода с начала полного прошедшего unit'а до текущей даты<unit>
может быть:week
,month
,year
или количество таких unit'ов. Например:last week
,last 3 month
илиlast 3 months
. -
this <unit>
для текущего unit'а<unit>
может быть:week
,month
,year
. Например:this week
вернет события за понедельник, вторник и среду на текущей неделе, если сегодня — среда.
Дата указывается в формате ДД/ММ/ГГГГ, где ММ — полный или сокращенный номер месяца: 10/01/2020
или 10/1/2020
. Если ГГГГ не указан в дате, используется текущий год. Время указывается в 24‑часовом формате, например: 13:00
.
Поиск по IP‑адресу¶
Для поиска по IP‑адресу используется префикс ip:
, после которого вы можете задать:
-
Конкретный IP‑адрес, например
192.168.0.1
— в этом случае будут найдены все атаки и инциденты, для которых адрес источника атаки соответствует этому IP‑адресу. -
Выражение, описывающее диапазон IP‑адресов, для которого необходимо произвести поиск.
-
Общее число IP‑адресов, относящихся к атаке или инциденту.
Поиск по диапазону IP‑адресов¶
Чтобы задать требуемый диапазон IP‑адресов, вы можете использовать:
-
Явный диапазон значений IP‑адресов:
192.168.0.0-192.168.63.255
;10.0.0.0-10.255.255.255
.
-
Часть IP‑адреса:
192.168.
— эквивалентно192.168.0.0-192.168.255.255
. Допускается избыточный формат записи с модификатором*
—192.168.*
.192.168.0.
— эквивалентно192.168.0.0-192.168.0.255
.
-
IP‑адрес или его часть с диапазоном значений внутри последнего октета в выражении:
192.168.1.0-255
— эквивалентно192.168.1.0-192.168.1.255
;192.168.0-255
— эквивалентно192.168.0.0-192.168.255.255
.
Важно
При использовании диапазона значений внутри октета точка в конце не ставится.
-
Префиксы подсетей (CIDR-нотация):
192.168.1.0/24
— эквивалентно192.168.1.0-192.168.1.255
;192.168.0.0/17
— эквивалентно192.168.0.1-192.168.127.255
.
Обратите внимание
Вы можете комбинировать перечисленные выше способы поиска по IP‑адресу. Для этого перечислите все необходимые диапазоны с префиксом ip:
по отдельности.
Пример: ip:192.168.0.0/24 ip:10.10. ip:10.0.10.0-128
Поиск по числу IP‑адресов¶
Также есть возможность искать по общему числу IP‑адресов, связанных с атаками и инцидентами:
-
ip:1000+ last month
— поиск атак и инцидентов за последний месяц, для которых число уникальных IP‑адресов более 1000
(эквивалентно запросуattacks incidents ip:1000+ last month
). -
xss ip:100+
— поиск всех атак и инцидентов межсайтового скриптинга.
Если меньше 100 разных IP‑адресов было зарегистрировано как атакующие с этим типом атаки, результат поиска будет пустым. -
xss p:id ip:100+
— выполнит поиск всех атак и инцидентов типа XSS для HTTP‑параметраid(?id=aaa)
и вернет результат,
только если число разных IP‑адресов превышает 100.
Поиск по дата‑центру IP‑адреса¶
Для поиска по дата‑центру, которому принадлежит IP‑адрес, с которого отправлены атаки, используйте префикс source:
.
Атрибут принимает следующие значения:
-
tor
для узлов Tor -
proxy
для публичного прокси‑сервера или веб‑сервера -
vpn
для сети VPN -
azure
для Microsoft Azure -
gce
для Google Cloud Platform -
ibm
для IBM Cloud -
alibaba
для Alibaba Cloud -
huawei
для Huawei Cloud -
rackspace
для Rackspace Cloud -
plusserver
для PlusServer -
hetzner
для Hetzner -
oracle
для Oracle Cloud -
ovh
для OVHcloud -
tencent
для Tencent -
linode
для Linode -
docean
для Digital Ocean
Поиск по стране регистрации IP‑адреса¶
Для поиска по стране, в которой зарегистрирован IP‑адрес, с которого отправлены атаки, используйте префикс country:
.
Название страны должно быть передано в соответствии со стандартом ISO 3166-1 строчными или заглавными буквами. Например: country:CN
или country:cn
для атак, отправленных из Китая.
Поиск по статусу ответа сервера¶
Для поиска по статусу ответа сервера укажите префикс statuscode:
.
Статус для поиска может быть задан в виде:
-
числа от 100 до 999;
-
диапазона «N−M», где N и M — это числа от 100 до 999;
-
диапазона «N+» и «N-», где N — это число от 100 до 999.
Поиск по размеру ответа сервера¶
Для поиска по размеру ответа сервера укажите в строке поиска префикс s:
или size:
.
В качестве параметра поиска можно указать любое целое число. Числа больше 999 могут задаваться без префикса. Можно указывать диапазоны «N-M», «N+» и «N-». Если в диапазоне числа больше 999, то префикс также можно не указывать.
Поиск по методу HTTP‑запроса¶
Для поиска по методу HTTP‑запроса укажите префикс method:
.
GET
, POST
, PUT
, DELETE
и OPTIONS
в качестве параметра поиска с учетом регистра могут быть указаны без префикса. Для указания всех остальных значений необходимо использовать префикс.
Поиск по количеству хитов в атаке или инциденте¶
Для поиска атак или инцидентов по количеству хитов, используйте префикс N:
.
Например, вы можете найти атаки с более чем 100 хитами по запросу attacks N:>100
или атаки с менее чем 10 хитами по запросу attacks N:<10
.
Поиск по домену¶
Для поиска по домену укажите префиксы d:
или domain:
.
Без префикса обрабатывается любая строка, которая может быть доменом второго и более уровня. С префиксом может быть указана любая строка.
В домене можно использовать маски. Символ *
заменяет любое количество символов, символ ?
заменяет любой один символ.
Поиск по пути¶
Для поиска по пути укажите префикс u:
или url:
.
Без префикса обрабатываются строки, которые начинаются с /
. С префиксом может быть указана любая строка.
Поиск по приложению¶
Для поиска по приложению, на адрес которого отправлены атаки или в котором обнаружены уязвимости, используйте префикс application:
или app:
. Предыдущий префикс pool:
также поддерживается, но не рекомендуется к использованию.
В качестве значения атрибута используется название приложения, заданное на вкладке Приложения в секции Настройки. Например: application:'Example application'
.
Поиск по параметру или парсеру¶
Для поиска по параметру или парсеру используйте префикс p:
, param:
или parameter:
, или суффикс =
. При использовании суффикса строка, которая начинается не с /
, рассматривается как параметр (при этом завершающий =
в значение не входит).
Возможные значения атрибута:
-
Название параметра с признаками атаки.
Например, если необходимо найти атаки на параметр
xss
, а не xss-атаки (например, найти атаку типа SQL‑injection в параметре URLxss
), то в поисковой строке следует ввестиattacks sqli p:xss
. -
Название парсера, который нода применила к параметру для чтения значения. Названия должны передаваться в верхнем регистре.
Например:
attacks p:*BASE64
— для поиска атак на любые параметры, к которым нода применяла парсер base64. -
Последовательность параметров и парсеров.
Например:
attacks p:"POST_JSON_DOC_HASH_from"
— для поиска атак, отправленных в параметреfrom
в теле запроса в формате JSON.
В значении атрибута могут использоваться маски. Символ *
заменяет любое количество символов, символ ?
заменяет любой один символ.
Поиск аномалий в атаках¶
Для поиска аномалий в атаках укажите префикс a:
или anomaly:
.
Поддерживаемые параметры для поиска аномалий:
-
size
; -
statuscode
; -
time
; -
stamps
; -
impression
; -
vector
.
Пример:
Поиск attacks sqli a:size
найдет все атаки вида SQL‑инъекция, где в запросах были аномалии размера ответа.
Поиск по идентификатору запроса¶
Для поиска атак и инцидентов по идентификатору запроса укажите префикс request_id
.
Параметр request_id
имеет значение вида a79199bcea606040cc79f913325401fb
. Далее в примерах используется условное обозначение <requestId>
.
Примеры использования:
-
attacks incidents request_id:<requestId>
– поиск атаки или инцидента сrequest_id
равному<requestId>
; -
attacks incidents !request_id:<requestId>
– поиск атак или инцидентов сrequest_id
не равному<requestId>
; -
attacks incidents request_id
– поиск атак или инцидентов с любымrequest_id
; -
attacks incidents !request_id
– поиск атак или инцидентов с отсутствующимrequest_id
.
Поиск семплированных хитов¶
Чтобы найти семплированные хиты, добавьте в строку поиска sampled
.