Close

Як провести зовнішній аудит безпеки веб-додатків? Алгоритм і методика роботи.

Процес аудиту безпеки веб-сайтів є досить тривалим й вимагає терпіння, уважності, спостережливості та зосередженості. Тим не менш, при правильному підході, ця робота є досить ефективною і дозволяє швидко виявити та усунути вразливості. У сьогоднішому мануалі я розкажу як провести аудит безпеки веб-додатків, з яких етапів він складається, які інструменти і які кроки потрібно виконати, з чого почати та багато іншого корисного.

Зміст статті

Підготовка робочого середовища

Pentest Dashboard

Насамперед необхідно налаштувати середовище для роботи, наприклад:

  1. Встановити ОС Linux. Рекомендую використовувати поєднання Linux Mint як хост-система (або Arch Linux) + Kali Linux на віртуалці (або BlackArch) або VPS (через VNC) для пентестів. Можна також використовувати додаткові віртуальні машини з різними іншими дистрибутивами, наприклад Parrot Linux.
  2. Підготувати інструментарій: утиліти, сервіси, кіберпошукові системи і т.д. Підібрати API для інтеграції сторонніх платформ і додатків. Встановити необхідні пакети для відладки і програмування: XAMPP, Python (кілька версій), Go, Perl, Node.js, Selenium Chrome Driver, Git і т.д. Редактори вихідного коду: Visual Studio Code, Pycharm, Sublime Text, IDA Pro, Hexedior, SciTE Editor та інші.
  3. Встановити і налаштувати VPN. Знадобиться для шифрування трафіку, анонімізації вашої IP-адреси і конфіденційності.
  4. Налаштувати проксі. На етапі сканування мереж і веб-додатків корисно використовувати проксі-сервери. Це допоможе уникнути блокування ваших запитів збоку цільових систем. Використовуйте різні типи проксі, такі як HTTP/HTTPS-проксі, SOCKS-проксі або анонімні проксі-сервери, залежно від завдань.
  5. Налаштувати браузер. Використовуйте Mozilla Firefox (Developer Edition) як основний браузер для проведення веб-частини пентесту. Встановіть необхідні розширення для підвищення ефективності роботи (див. матеріали 1, 2). Для OSINT (Open Source Intelligence) та загального веб-перегляду варто звернути увагу на браузер Vivaldi (ex-Opera), який пропонує низку зручних і корисних функцій: стабільність, багатозадачність, групування вкладок, нотатки, зберігання сесій та багато іншого.
  6. Розгорнути середовище для роботи з даними. Сюди входить програмне забезпечення для роботи з документами, таблицями, а також хмарні сервіси, що є важливим інструментом для організації даних під час аудиту. Наприклад, Google Docs і OpenOffice дозволять зберігати, фільтрувати та аналізувати результати сканувань, виявлених вразливостей, тестових сценаріїв. Ці інструменти повністю безкоштовні та зручні для створення звітів, які можуть включати таблиці, графіки, знімки екрану та коментарі. Google Docs також надає переваги спільної роботи в режимі реального часу, що корисно при командній роботі. Google Drive, Mega, Dropbox або Mediafire будуть корисним для зберігання файлів і доступу до них з будь-якого пристрою.

Автоматичне IAST/DAST сканування

DAST (Dynamic Application Security Testing) та IAST (Interactive Application Security Testing) — це методи, які найчастіше використовуються для автоматичного виявлення вразливостей веб-додатків.

Кожен з них має свій підхід до аналізу безпеки:

  • DAST: фокусується на тестуванні веб-додатків ззовні, подібно до того, як це робив би атакуючий. Він аналізує працюючий додаток в реальному часі, симулюючи різноманітні атаки, такі як SQL-ін’єкції або XSS. DAST не має доступу до вихідного коду, а тому не враховує внутрішню логіку додатку, зосереджуючись на поведінці та взаємодії користувача з системою.
  • IAST: працює всередині додатку під час його виконання, інтегруючись з самим кодом. Це дозволяє йому поєднувати аналіз статичного та динамічного типів для більш глибокого виявлення вразливостей. Виконує зондування і сканування. Може спостерігати за потоком даних, відслідковувати, як вони взаємодіють з різними компонентами, і виявляти вразливості, які можуть залишитися непоміченими при використанні тільки DAST або статичного аналізу SAST.

Список популярних IAST/DAST інструментів:

Розгортаємо ці інструменти на віртуалці Kali Linux, запускаємо їх і поки відбуватиметься сканування (а воно буде виконуватись тривалий час), переходимо до ручного тестування.

Напівавтоматичне / ручне сканування

Напівавтоматичне ручне сканування вимагає від спеціаліста певного багажу знань, досвіду та навичок, оскільки поєднує використання автоматичних інструментів та ручний (manual) аналіз для більш детального та точного виявлення вразливостей.

Для проведення усіх вищеперелічених нижче перевірок ви повинні мати попередній досвід: уміти “копати”, розуміти архітектуру і структуру веб-додатків. Усвідомлювати, де можуть знаходитися ті чи інші потенційні точки входу та вразливості.

Збір хостів: доменів, субдоменів, IP-адрес (Host Harvesting / Subdomain Discovery)

Даний етап є частиною OSINT-розвідки. Його завданням є виявлення всіх ресурсів, котрі можуть бути пов’язані з досліджуваним об’єктом й містити додаткові відомості, службові компоненти і т.д. Усі вони можуть бути вразливими до атак. Тому їх необхідно зібрати та вивчити.

Інструменти та сервіси:

Приклади команд:

  • censys subdomains [hostname] — пошук субдоменів з допомогою CLI Censys;
  • python3 censys-subdomain-finder.py [hostname] — виявлення субдоменів з допомогою скрипту на базі API Censys;
  • bbot -t [hostname] -f subdomain-enum — пошук субдоменів з допомогою утиліти BBOT;
  • subfinder -d [hostname] — пошук субдоменів з допомогою утиліти Subfinder;
  • subfinder -dL domains.txt -all -recursive -o list_all.txt — пошук субдоменів із всіх можливих джерел для вказаного списку у файлі;
  • python3 sublist3r.py -d [hostname] — пошук субдоменів з допомогою утиліти Subl1s3r;
  • amass enum -d evil.com -o evil_amass.txt— пошук субдоменів з допомогою утиліти OWASP Amass зі збереженням результатів в файл;
  • amass enum -active -d evil.com -o evil.active_scan.txt — пошук субдоменів з допомогою активного сканування;
  • amass enum -passive -d evil.com -o evil.passive_scan.txt — пошук субдоменів з допомогою пасивного сканування;
  • assetfinder domain.com — пошук субдоменів з допомогою утиліти assetfinder;
  • knockpy -d [hostname] --recon --bruteforce — брутфорс субдоменів з допомогою утиліти knock;
  • python3 cloakquest3r.py [hostname] — брутфорс субдоменів з допомогою утиліти CloackQuest;
  • gobuster dns -d [hostname] -w ~/wordlists/subdomains.txt — енумерація субдоменів по словнику з допомогою утиліти gobuster;
  • dnsenum [hostname] — комплексна перевірка DNS з енумерацією субдоменів;
  • ffuf -w ~/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.example.com" -u [hostname] — брутфорс субдоменів по словнику з допомогою утиліти FFUF;
  • cat * | sort -u | tee subdomains.txt — збирає вміст усіх файлів у поточному каталозі, сортує їх в алфавітному порядку і видаляє дублікати, зберігаючи в файл;
  • cat domains.txt | while read domain; do host $domain | grep "has address" | awk '{print $1, $4}'; done > ips_domains.txt — отримати список IP-адрес для списку доменів зі збереженням у текстовий файл;
  • cat all_domains.txt | httpx -ports 80,443,8009,8080,8081,8083,8090,8180,8443,2082,2083,2086,2087,7080 -sc -cl -title -t 100 -fr -nc | tee subdomains_list.txt — зчитує список доменів або субдоменів із файлу, перевіряє їх доступність на зазначених портах, отримує код статусу, розмір контенту та заголовок сторінки, й зберігає всі результати у файл результату.

На виході будуємо зведену таблицю з впорядкованим списком зібраних ресурсів:

Domains listIP-address
example.comXX.XXX.XXX.XXX
sub2.example.comXX.XXX.XXX.XXX

Читайте також:

Аналіз хостів і IP-адрес (WEBINT)

Продовжуємо кібер-розвідку. На цьому етапі виконуємо WEBINT-дослідження – аналізуємо зібрані хости (домени/субдомени) та їх IP-адреси. Аналізуємо дані WHOIS та інших джерел. Завдання – витиснути і відфільтрувати якомога більше корисної інформації про об’єкти.

Cервіси та інструменти:

Приклади команд:

  • shodan host xx.xx.xxx.xxx — аналіз хоста в кібер-пошуковій системі Shodan CLI;
  • ./shodan_check.shBash-скрипт для масового аналізу ip-адрес з допомогою Shodan;
  • cat ips.txt | ipinfo | less — отримати інформацію по списку IP-адрес з допомогою CLI IPinfo;
  • cat ips.txt | ipinfo summarize — отримати зведену статистику по списку IP-адрес;
  • censys search [hostname] — аналіз ip-адреси хоста в кібер-пошуковій системі Censys CLI;
  • censys view XX.XX.XXX.XX — отримання інформації про досліджуваний ресурс з кіберпошукового сервісу Censys;
  • whois XX.XX.XXX.XXX — отримання інформації про досліджуваний ресурс з реєстру WHOIS: дані про підмережу, реєстратора, власника;
  • ./whois_check.sh — Bash-скрипт для масового аналізу WHOIS доменів і ip-адрес;
  • curl --request GET \ --url https://api.securitytrails.com/v1/history/securitytrails.com/whois \ --header 'APIKEY: ***' — отримання історії WHOIS з допомогою API SecurityTrails;
  • curl https://freeapi.dnslytics.net/v1/ip2asn/XX.XX.XXX.XXX — отримання номеру ASN провайдера з допомогою кіберпошукового сервісу DNSlytics;
  • curl --request GET --url https://api.securitytrails.com/v1/ips/nearby/XX.XX.XXX.XXX --header 'APIKEY: ***' — пошук пов’язаних ресурсів з допомогою API SecurityTrails;
  • ping XX.XX.XXX.XXX — перевірка чи відповідає, пінгується досліджуваний ресурс;
  • traceroute --resolve-hostnames XX.XX.XXX.XXX — визначення маршруту та проміжних вузлів через які проходить з’єднання з досліджуваним ресурсом;
  • traceroute -I XX.XX.XXX.XXX — те саме, тільки використовується ICMP протокол замість UDP.

З отриманих результатів формуємо таку таблицю, яка допомагає систематизувати зібрану інформацію та полегшує її аналіз для прийняття подальших рішень:

Domain / SubdomainIP-addressHostnameServer / OSWhoisOpen portsHosting providerCountryOther
example.comXX.XXX.XXX.XXXexample.default-host1.netnginxВласник: ABC Corp
Створений: XX.XX.XXXX
Дійсний до: XX.XX.XXX
22, 25, 80, 443, 3306AS200000 Hosting Ukraine LTDUAОсновний домен
sub2.example.comXX.XXX.XXX.XXXstatic.your-server2.deapacheВласник: XYZ Ltd
Створений: XX.XX.XXXX
Дійсний до: XX.XX.XXX
80, 443, 587, 465, 2083AS24940 Hetzner Online GmbHDEТестовий домен

Читайте також:

Сканування мережевого периметру (Network Perimeter Overview)

На базі всіх добутих ресурсів, визначаємо мережевий переметр досліджуваної інфраструктури, формуємо мережеву карту.

Сканування проводити бажано на віртуальній машині або сторонньому VPS, щоб не розкривати свою локальну систему і щоб її не забанили зовнішні інтернет-системи.

Приклади команд:

  • sudo masscan -p1-65535 XX.XX.XXX.XXX — сканування мережевих портів методом SYN Stealth з допомогою інструменту massscan.
  • sudo nmap -sV -O -A -Pn XX.XX.XXX.XXX — отримання відомостей про мережеві TCP-порти і компоненти з допомогою NMAP.
  • sudo nmap -sU -p 1-124 XX.XXX.XXX.XXX — отримання відомостей про мерережеві UDP-пороти і компоненти.
  • nmap -sV --script vulners XX.XX.XXX.XXX — сканування по скрипту NMAP з виявленням вразливостей.
  • nmap -sV -p 3306 --script mysql-audit,mysql-databases,mysql-dump-hashes,mysql-empty-password,mysql-enum,mysql-info,mysql-query,mysql-users,mysql-variables,mysql-vuln-cve2012-2122 XX.XX.XXX.XXX — деталізований аналіз і пошук вразливостей MySQL з допомогою NMAP.
  • nmap -sV -p 22 --script ssh-auth-methods,ssh-hostkey,ssh-publickey-acceptance,ssh-run,ssh2-enum-algos,sshv1 XXX.XXX.XXX.XXX — деталізований аналіз і пошук вразливостей SSH з допомогою NMAP.

З отриманих результатів формуємо приблизно таку таблицю з впорядкованим набором інформації:

TargetIP AddressOSPortProtocolServicesApp / Verisons
[hostname]XXX.XX.XX.XXUbuntu 20.0421TCPFTP ServerPureFTPd 1.0.48
22TCPSSH ServerOpenSSH 8.2 p1
53UDPDNS ServerBind 9.16
80TCPHTTP ServerNginx 2.16
111TCPRPC ServerRpcbind 2
443TCPHTTPS ServerNginx 2.16

Аналіз DNS-зони (DNS Discovery)

Цей етап є логічним продовженням попереднього і включає пасивну та активну розвідку даних DNS-зони (Domain Name System), яка містить прив’язування/направлення на різноманітні мережеві ресурси.

Приклади команд:

  • dig -x XX.XX.XXX.XXX — отримати rDNS запис;
  • dig +noall +answer +multiline [hostname] a && dig +noall +answer +multiline [hostname] aaaa && dig +noall +answer +multiline [hostname] mx && dig +noall +answer +multiline [hostname] txt && dig +noall +answer +multiline [hostname] ns && dig +noall +answer +multiline [hostname] soa— комбінована команда для отримання всіх записів DNS-зони з допомогою інструменту dig;
  • dig axfr @ns.example.com [hostname] — перевірка повної передачі записів DNS, вразливість Zone Transfer;
  • python3 dnsrecon.py -d [hostname] — аналіз DNS з допомогою інструменту dnsreacon;
  • curl --request GET \
    --url https://api.securitytrails.com/v1/history/[hostname]]/dns/a \
    --header 'APIKEY: ***' \
    --header 'accept: application/json' — аналіз історії DNS з допомогою API SecurityTrails;
  • fierce --domain [hostname] --subdomains webmail ftp cpanel whm mail cp --connect — аналіз підмережі за вказаними ресурсом та його субдоменами з допомогою утиліти fierce;
  • fierce --domain [hostname] — тест на передачу DNS-зони.
  • cat domains.txt | ./DNSaxfr.sh -r 0 — масова перевірка на передачу DNS-зони з допомогою скрипту DNSaxfr.sh;
  • dnswalk -r -a -d [hostname]. — перевірка DNS;
  • dnsmap [hostname] — маппінг DNS.

З отриманих результатів формуємо приблизно таку таблицю з впорядкованим набором інформації:

[hostname]
DNS RecordTTLValueIPv4IPv6ASNCountry
TXT3600“v=spf1 include:_spf.mail.hostinger.com ~all”XX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
MX1440010 mx2.example.comXX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
NS86400ns2.example.com.XX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
ns1.example.com.XX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
A1218 XX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
AAAA1137 XX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
SOAns1.dns-parking.com. dns.hostinger.com. (
2023101901 ; serial
10000 ; refresh (2 hours 46 minutes 40 seconds)
2400 ; retry (40 minutes)
604800 ; expire (1 week)
600 ; minimum (10 minutes)
)
 XX.XX.XXX.XXXX.XX.XXX.XXProviderUSA, San Francisco
rDNS (PTR)XXX.XXX.XXX.XX.in-addr.arpa domain name pointer web.example.net.     

Таким чином, на базі результатів Network Perimeter Overview та DNS Discovery ми отримали МЕРЕЖЕВУ КАРТУ (Network Mapping) ІТ-інфраструктури досліджуваного ресурсу. Вона наочно показує всі ресурси і компоненти, включаючи домени і субдомени, IP-адреси, сервери, відкриті порти та сервіси.

Візуалізація досліджуваної ІТ-інфраструктури з допомогою сервісу VirusTotal.

Візуалізація досліджуваної ІТ-інфраструктури з допомогою сервісу VirusTotal.

Візуалізація інфраструктури домену на прикладі WhatsApp.com в сервісі DNSdumpster

Візуалізація інфраструктури домену на прикладі WhatsApp.com в сервісі DNSdumpster

Мережева карта допоможе визначити слабкі місця, виявити потенційні вразливості та вектори атак, відстежувати взаємозв’язки між серверами та доменами, а також планувати подальші кроки, залежно від контексту нашого дослідження.

Аналіз TLS/SSL

Наступним кроком буде аналіз TLS-шифрування і SSL-сертифікату. TLS (Transport Layer Security) – це криптографічний протокол для забезпечення передачі даних на рівні сервера. SSL (Socket Layer Security) – це протокол, який забезпечує безпечне HTTPS-з’єднання та регулює його на рівні веб-браузера. Обидва протоколи повинні бути актуальними і валідними, щоби унеможливити перехоплення або модифікацію даних.

Сервіси:

Приклади команд:

  • ./testssl.sh XX.XX.XXX.XXX — тестування SSL/TLS з допомогою утиліти testssl.sh.
  • curl -vvI [hostname] — аналіз ланцюжка SSL сертифікатів.
  • curl -v --cert-status [hostname] — вивід інформації про сертифікат у зручному форматі.
  • curl -tlsv1.2 [hostname] — тест на підтримку TLS 1.2.
  • openssl s_client -connect [hostname]:443 -showcerts — перевірка TLS/SSL з допомогою openssl.

Аналіз SMTP-сервера

Якщо досліджуваний ресурс містить у своєму DNS запис MX, який направлений на корпоративний поштовий сервер, а серед відкритимх портів досліджуваної інфраструктури доступний порт SMTP (25, 465, 587, 2525), необхідно провести аналіз SMTP-сервера.

SMTP-сервер (Simple Mail Transfer Protocol) відповідає за передачу електронної пошти між серверами. Аудит цього компонента важливий, оскільки вразливості можуть призвести до проблем із конфіденційністю, цілісністю та доступністю електронної пошти.

Сервіси:

Приклади команд:

  • nslookup -type=MX example.com — визначення mx-записів для заданого домену;
  • dig mx example.com — визначення mx-записів домену;
  • dig txt example.com — перевірка txt-записів домену для виявлення spf, dmarc, dkim;
  • dig mail.example.com aaaa +short — перевірка AAAA запису в DNS-зоні поштового сервера;
  • sudo nmap -p 25,465,587 mail.example.com — перевірка доступності портів поштового сервера;
  • openssl s_client -starttls smtp -crlf -connect mail.example.com:25 — перевірка підтримки шифрування для захисту переданих даних;
  • openssl s_client -connect mail.example.com:25 -showcerts — показати всі сертифікати, які сервер відправляє у відповідь на запит;
  • curl -4 -v https://mail.example.com — діагностика з’єднання з поштовним сервером з допомогою утиліти curl;
  • smtp-user-enum -U /usr/share/commix/src/txt/usernames.txt -p 587 -t XX.XX.XXX.XXX — виконує сканування SMTP-сервера для визначення наявності облікових записів користувачів.

Перевірка неавторизованого з’єднання та тест на відкритий рілеїнг (Open Relay):

telnet mail.example.com 25
helo localhost
ehlo localhost
mail from: user1@example.org
rcpt to: user2@example.org
data
Subject: Test Subject
Content-Type: text/plain OR Content-Type: text/html
Message content or HTML code
.
quit

Аналіз FTP-сервера

Аудит безпеки FTP-сервера (File Transfer Protocol) є важливою частиною загальної перевірки безпеки інформаційної інфраструктури. FTP-сервери використовуються для передачі файлів між клієнтом і сервером, і через свою природу можуть бути вразливими до атак, якщо їх належним чином не захищено.

Приклади команд:

  • nc -nv X.X.X.X 21 — отримання назви і версії програмного забезпечення, яке обслуговує FTP-сервер.
  • nmap -p 21,20,990 example.com— перевірка доступних портів ftp з допомогою nmap;
  • nmap -sV -p 21 example.com— перевірка версії ftp;
  • nmap -A -p21 XX.XX.XXX.XXX — агресивний аналіз ftp;
  • sudo nmap -p 21 --script ftp-anon,ftp-bounce,ftp-brute,ftp-libopie,ftp-proftpd-backdoor,ftp-syst,ftp-vsftpd-backdoor,ftp-vuln-cve2010-4221 XX.XX.XXX.XXX — перевірка ftp з використанням NSE-скриптів NMAP;
  • ftp XX.XX.XX.XX — перевірка несанкціонованого з’єднання по ftp (перевірка команд dir, ls, put, get, mget та ін.);
  • hydra -l admin -P /usr/share/wordlists/rockyou.txt XX.XX.XXX.XXX ftp — перевірка несанкціонованого з’єднання по ftp з застосуванням логінів та паролів по замовчуванню;
  • hydra -t 2 -L user.list -P passwords.list -M targetIPs.list -s 21 ftp — перевірка стійкості облікових записів FTP;
  • ftp://anonymous:anonymous@XX.XX.XXX.XXX — перевірка з’єднання по ftp через веб-браузер;
  • wget -m ftp://anonymous:anonymous@X.X.X.X — завантаження усіх файлів з FTP-сервера.

Перевірка вразливості Anonymous FTP Login з Metasploit:

use auxiliary/scanner/ftp/anonymous
set RHOSTS file:/home/cyber1/Downloads/ftpanonips.txt
run

Енумерація облікових записів з допомогою Metasploit:

msf > use auxiliary/scanner/ftp/ftp_login
set RHOSTS x.x.x.x
set RPORT 21
set PASS_FILE /usr/share/wordlists/passwords.txt
set USER_FILE /usr/share/wordlists/users.txt
run

Команди постексплуатації FTP:

Аналіз SQL-сервера

Аналіз SQL-сервера є важливою частиною перевірки безпеки бази даних і системи в цілому. SQL-сервери, такі як MySQL, PostgreSQL та інші, часто зберігають чутливу інформацію і можуть стати мішенню для атак, якщо їх не захищено належним чином.

Приклади команд:

  • mysql -p 3306 -h XX.XXX.XX.XXX -u root — перевірка віддаленого з’єднання з MySQL-сервером для користувача root;
  • telnet XX.XX.XX.XX 3306 — перевірка з’єднання з SQL-сервером;
  • nmap -p 1433,3306,5432,1521 x.x.x.x — перевірка доступних портів SQL;
  • sudo nmap -p 3306 --script mysql-audit,mysql-brute,mysql-databases,mysql-dump-hashes,mysql-empty-password,mysql-enum,mysql-info,mysql-query,mysql-users,mysql-variables,mysql-vuln-cve2012-2122 x.x.x.x — перевірка sql по NSE-скриптам;
  • nmap --script=mysql-empty-password -p 3306 x.x.x.x
  • nmap --script=mysql-databases --script-args="mysqluser='root',mysqlpass=''" -p 3306 x.x.x.x
  • hydra -L /path/to/usernames.txt -P /path/to/passwords.txt x.x.x.x sql — перевірка стійкості до атак методом перебору.

Перевірки з допомогою Metasploit:

use auxiliary/scanner/mysql/mysql_login
run mysql://x.x.x.x threads=50 user_file=/users.txt pass_file=/passwords.txt

use auxiliary/scanner/mysql/mysql_version
set RHOSTS x.x.x.x
exploit

use auxiliary/scanner/mysql/mysql_login
set PASS_FILE /tmp/passes.txt
set RHOSTS x.x.x.x
set USER_FILE /tmp/users.txt
Run
auxiliary/admin/mysql/mysql_enum
auxiliary/admin/mysql/mysql_sql
auxiliary/scanner/mysql/mysql_file_enum
auxiliary/scanner/mysql/mysql_hashdump
auxiliary/scanner/mysql/mysql_login
auxiliary/scanner/mysql/mysql_schemadump
auxiliary/scanner/mysql/mysql_version
auxiliary/scanner/mysql/mysql_writable_dirs

Читайте також:

Аналіз SSH-сервера

SSH (Secure Shell) — це протокол, який дозволяє безпечно підключатися до віддалених серверів і взаємодіяти з файловою системою. Аналіз SSH-сервера допомагає забезпечити його безпеку, виявити потенційні вразливості і налаштувати його відповідно до найкращих практик безпеки.

Приклади команд:

  • ssh -v x.x.x.x — перевірка віддаленого з’єднання з SSH-сервером з повним виводом подій;
  • nc -vn x.x.x.x 22 — отримання назви і версії програмного забезпечення ssh (banner grabbing);
  • sudo nmap -p 22 --script ssh-auth-methods,ssh-brute,ssh-hostkey,ssh-vuln-cve2014-0224 x.x.x.x — перевірка SSH на вразливості з допомогою скриптів NMAP;
  • hydra -l username -P passwords.txt x.x.x.x -t 4 ssh— перевірка стійкості SSH до брутфорсу облікових записів.
  • ./ssh-audit.py x.x.x.x — аудит SSH з допомогою утиліти ssh-audit;

Аналіз HTTP-заголовків

HTTP-заголовки – це службова, технічна і описова інформація, яка передається на рівні “клієнт-сервер” при доступі до сайту. HTTP-заголовки діють як своєрідні інструкції, які вказують серверу як саме потрібно відрендерити веб-сторінку. Деякі заголовки виконують роль безпеки (HTTP Security Headers) і захищають ресурс від атак, тому їх відсутність різко підвищує кількість ризиків та вразливостей.

Сервіси:

Приклади команд:

  • curl -I [hostname] — аналіз HTTP-заголовків з допомогою утиліти curl;
  • ./nikto.pl -h [hostname] — аудит з допомогою утиліти Nikto;
  • whatweb -v -a3 [hostname] — аудит з допомогою утиліти WhatWeb.
Звіт по HTTP-заголовкам в сервісі Security Headers by Probely

Звіт по HTTP-заголовкам в сервісі Security Headers by Probely

Аналіз технологій (Technology Lookup)

Аналіз технологій є важливим етапом аудиту веб-додатків, спрямованим на оцінку поточного стану і якості технологій, скриптів, віджетів, фреймворків та інших компонентів, що використовуються на стороні досліджуваного ресурсу.

Аналіз технологій в додатку для браузера Wappalyzer

Аналіз технологій сайту в додатку для браузера Wappalyzer

Застарілі неоновлені компоненти можуть містити відомі вразливості й становити серйозну загрозу безпеці. Знаючи версії ти чи інших бібліотек можна також проаналізувати їх будову і написати експлойт.

Інструменти, додатки і сервіси:

Приклади команд:

  • wpscan --url [hostname] --enumerate u,ap,vt,tt,cb,dbe,m --api-token *** --random-user-agent — сканування сайту на WordPress з допомогою утиліти WPScan;
  • npx hint [hostname] — сканування вихідного коду сайту і пошук вразливих технологій з допомогою сканера WebHint.io.

Результати вносимо у таблицю, наприклад:

ТехнологіяВерсіяОписВразливості
jQuery3.5.1JavaScript-бібліотекаCVE-2020-11022
WordPress4.6.11CMS-системаCVE-2021-29447
Lodash4.17.21JavaScript-бібліотекаCVE-2021-23337
Bootstrap5.1.0CSS-фреймворк– / –

Парсинг структури (збір файлів, папок, URL)

Цей етап включає обхід структури досліджуваного ресурсу, виявлення прихованих папок і файлів, адміністративних частин, парсинг/cкрапінг/фаззінг URL-адрес тощо.

Інструменти і сервіси:

Приклади команд:

  • cat domains.txt | waybackurls | tee wbk_urls.txt — пошук URL для списку доменів з веб-архіву Wayback Machine зі збереженням у файл з допомогою утиліти waybackurls;
  • cat domains.txt | katana -d 5 -ps -pss waybackarchive,commoncrawl,alienvault | tee ktna_urls.txt — пошук URL для списку доменів по різним джерелам з допомогою утиліти Katana;
  • cat domains.txt | gau > gau_urls.txt — пошук URL для списку доменів з допомогою утиліти Gau;
  • cat domains.txt | hakrawler -d 5 -s | tee hkrwlr_url.txt — повний пошук URL, включаючи скрипти, для списку доменів з допомогою утиліти hakrawler;
  • python3 photon.py -u "[hostname]" — парсинг структури заданного ресурсу утилітою photon;
  • python3 pidrila.py -u [hostname] -l ~/dir — сканування структури сайту утилітою pidrila, шукає файли, каталоги які можуть містити важливу інформацію;
  • webpalm -u [hostname] -l1 -x 404,401,403 — парсинг структури сайту з допомогою утиліти webpalm;
  • wget -qO- [hostname] | tr \" \\n | grep https\*:// — вивід усіх URL-адрес зі сторінки на екран в консоль;
  • gospider -q -s "https://example.com" -c 10 -d 5  -tee  gospider_urls.txt — пошук різноманітних URL-адрес з параметрами, включаючи адміністративні, по заданому домену з максимальною глибиною парсингу зі збереженням у файл з допомогою утиліти gospider;
  • gospider -s "https://example.com" -c 10 -d 5 --blacklist ".(jpg|jpeg|gif|css|tif|tiff|png|ttf|woff|woff2|ico|pdf|svg|txt)" --other-source | gospider_urls.txt — аналогічна команда тільки з фільтрацією вказаних розширень і використанням додаткових джерел;
  • dirb [hostname] — сканування директорій з допомогою утиліти dirb;
  • dirhunt [hostname] — сканування директорій з допомогою утиліти dirhunt;
  • gobuster dir -u [hostname] -w /usr/share/dirbuster/wordlists/vulners.txt -e -s 200, 301, 302 — сканування директорій утилітою gobuster з показом результатів, що відповідають зазначеним статусам сервера;
  • python3 dirsearch.py -e php  -u [hostname] --exclude-status 403,401 — сканування на наявність файлів php утилітою dirsearch з показом усіх результатів, окрім відповідей 403 і 401;
  • python3 dirsearch.py -l targets.txt -e php,asp,aspx,jsp,py,txt,conf,config,bak,backup,swp,old,db,sqlasp,aspx,aspx~,asp~,py,py~,rb,rb~,php,php~,bak,bkp,cache,cgi,conf,csv,html,inc,jar,js,json,jsp,jsp~,lock,log,rar,old,sql,sql.gz,sql.zip,sql.tar.gz,sql~,swp,swp~,tar,tar.bz2,tar.gz,txt,wadl,zip -i 200 --full-url — комплексне сканування хостів зі списку на наявність вказаних розширень;
  • ffuf -u [hostname]/FUZZ -w ~/seclists/Discovery/Web-Content/raft-medium-words-lowercase.txt -e .php,.html,.txt -mc 200 — пошук файлів утилітою ffuf по словнику з вказаними розширеннями та кодом відповіді сервера 200;
  • ffuf -w /path/to/wordlist.txt -u https://target.com/FUZZ -e .log,.json,.php,.xml,.md,.zip -mc 200 — пошук файлів заданого формату;
  • cat * | gf urls | tee gf_urls.txt — зчитує вміст усіх файлів у поточному каталозі, шукає в них URL-адреси і зберігає в результуючий файл;
  • python2 cangibrina.py -u example.com --ext php — пошук адмін-панелей з допомогою утиліти cangibrina;
  • php inurlbr.php --target 'https://example.com' -o fuzz.txt -s php_result.txt -t 2 -a 'phpMyAdmin 2.11.4' — фуззинг адмін-панелі phpmyadmin з допомогою утиліти inurlbr;
  • php inurlbr.php --dork 'site:*.example.com.ua' -s 'urls-extracted-robots.txt' -q 1 --robots — парсинг url, які містяться в robots.txt для списку веб-сторінок за вказаним дорком і пошуковою системою (q);
  • sort -u urls.txt -o sorted_urls.txt — сортування url, видалення усіх дублікатів зі збереженням очищеного списку в файл.

Після збору інформації про доступні сторінки та файли, дані структуруються, класифікуються за типами контенту, рівнями доступу, важливістю та ієрархією. В результаті ми отримуємо ієрархічну мапу сайту:

Структура сайту просканована з допомогою сканера вразливостей Acunetix

Обхід структури сайту сканером вразливостей Acunetix

Ця карта відображає взаємозв’язки між сторінками, дозволяє ідентифікувати важливі вузли та їхні залежності, що забезпечує більш ефективний аналіз і подальші дії щодо сайту.

Аналіз параметрів URL

Усі зібрані URL-адреси відправляємо на аналіз. Некоректно оброблені або незахищені параметри URL можуть стати точками компрометації і створити вразливості, які призведуть до таких атак як:

  • SQL injection (SQLi);
  • Cross Site Scripting (XSS);
  • IDOR (Indirect Object Reference);
  • Open Redirect;
  • Broken Object Level Authorization (BOLA);
  • Client Side Request Forgery (СSRF);
  • Server Side Request Forgery (SSRF);
  • Remote File Inclusion (RFI);
  • Local File Inclusion (LFI);
  • Remote Code Execution (RCE) та ін.

Пошук вразливих точок URL є важливим етапом аудиту безпеки, адже можуть вказати на явні проблеми конфіденційності.

Сервіси / інструменти:

Приклади команд:

  • python3 parampp.py -u "https://example.com/login" — пошук вразливих параметрів для вказаної URL-адреси з допомогою утиліти ParamPamPam;
  • python3 xsstrike.py -u "https://example.com" --crawl — краулінг веб-сайту з допомогою утиліти XSStrike;
  • python3 xsstrike.py -u "https://example.com/?p=" --fuzzer — фаазінг (перебір) різноманітних потенційно небезпечних параметрів за вказаним URL;
  • python3 xsstrike.py -u "https://example.com/webmail/?color=" --params — парсинг потенційно небезпечних параметрів;
  • python3 pwnxss.py -u http://vuln.example.com — пошук вразливих параметрів для вказаної URL-адреси з допомогою утиліти PwnXSS;
  • arjun -u https://api.example.com/endpoint — виявлення прихованих вразливих URL-параметрів з допомогою утиліти Arjun;
  • cat allurls.txt | gf xss | tee gf_xss.txt — виконує пошук можливих місць для XSS-уразливостей у списку URL-адрес з допомогою утиліти GF;
  • cat allurls.txt | gf sqli | tee gf_sqli.txt — виконує пошук можливих місць для SQLi-уразливостей у списку URL-адрес;
  • cat allurls.txt | gf lfi | tee gf_lfi.txt — виконує пошук можливих місць для LFI-уразливостей у списку URL-адрес;
  • cat allurls.txt | gf rce | tee gf_rce.txt — виконує пошук можливих місць для RCE-уразливостей у списку URL-адрес;
  • cat allurls.txt | gf ssrf | tee gf_ssrf.txt — виконує пошук можливих місць для SSRF-уразливостей у списку URL-адрес;
  • cat allurls.txt | gf idor | tee gf_idor.txt — виконує пошук можливих місць для SSRF-уразливостей у списку URL-адрес;
  • cat allurls.txt | gf interestingparams | tee gf_params.txt — виконує пошук різноманітних потенційно вразливих параметрів у списку URL-адрес;
  • cat allurls.txt | grep "?" | grep "=" | qsreplace | tee xss_urls2.txt — виконує пошук URL-адрес з параметрами “=” з допомогою утиліти qsreplace;
  • cat urls.txt | gf xss | sed 's/=.*/=/' | sed 's/URL: //' | tee cleanurls.txt — пошук url-адрес з параметрами;
  • cat wbk_urls.txt | uro --filter hasparams | tee uro_urls1.txt — пошук url-адрес з параметрами зі списку і збереження їх у файл з допомогою утиліти uro;
  • cat wbk_urls.txt | uro --filter hasext | tee uro_urls2.txt — пошук url-адрес з різними розширеннями (напр., php, html, js та ін.);
  • cat wbk_urls.txt | uro --filter vuln | tee uro_urls3.txt — пошук вразливих url-адрес;
  • cat urls1_xss.txt urls2_xss.txt | qsreplace '"><script>alert('1447')></script>' | airixss 'alert(1447)' | grep -v "Not" — виконує тестування URL-адрес на вразливість до XSS-ін’єкцій з допомогою утиліти Airixss;
  • dalfox file urls.txt — перевірка параметрів вразливих до XSS-ін’єкцій для списку URL з допомогою утиліти dalfox;
  • dalfox file urls.txt -b xss.example.com — перевірка параметрів вразливих до Blind XSS-ін’єкцій для списку URL з допомогою утиліти dalfox та XSS Hunter;
  • dalfox file hosts --mining-dom --deep-domxss --ignore-return -b 'xss.example.com' --follow-redirects --proxy http://127.0.0.1:8080 — пошук XSS-вразливостей утилітою Dalfox з допомогою XSSHunter і проксі Burpsuite;
  • cat ktna_urls.txt | parth --pipe xss — пошук потенційних XSS-вразливостей по списку url-адрес з допомогою утиліти parth. Доступні також опції: lfi, ssrf, sqli, xss, open_redirect, rce;
  • paramspider -d example.com — пошук URL-адрес з параметрами з допомогою утиліти paramspider;
  • php inurlbr.php -s xss.txt --dork "inurl:search.php?q= site:example.com" -q 1,6 --exploit-get "<script>alert(1)</script>" — пошук і експлуатація вразливих до XSS URL-адрес за вказаним дорком з допомогою утиліти inurlbr;
  • echo http://vuln.example.com | waybackurls | gf xss | uro | httpx -silent | qsreplace '"><svg onload=confirm(1)>' | airixss -payload "confirm(1)" — пошук і експлуатація вразливих до XSS URL-адрес за вказаним дорком з допомогою різних утиліт;
  • python3 payloader.py — експлуатація вразливих до XSS URL-адрес з допомогою утиліти xss loader;
  • sqlmap -u 'https://vuln.example.com/index.php?id=' --dbs — аналіз URL-адреси на SQLi вразливості з допомогою утиліти sqlmap;

Особливо варто звернути увагу і протестувати наступні типи URL:

  • http://example.com/search?query=
  • http://example.com/search?p=
  • http://example.com/index.php?page=
  • http://example.com/gallery.php?id=
  • http://example.com/redirect_uri=
  • http://example.com/return_url=
  • http://example.com/next=
  • http://example.com/index.php?name=
  • http://example.com/Default.aspx?action=
  • http://example.com/index.php?page=
  • http://example.com/get.php?file=
  • http://example.com/product.php?id=
  • http://example.com/basket.php?add=
  • http://example.com/form.php?id=
  • http://example.com/*.php
  • …будь-які інші URL з динамічними, числовими і т.п. параметрами.

Читайте також:

Аналіз вихідного коду (Source Code Analysis)

На цьому етапі перевіряється вихідний веб-код сайту: чи валідний він, чи в ньому немає шкідливого коду, чи застосовуються безпечні методи кодування, чи немає витоків конфіденційної інформації у коді і так далі.

Інструменти, додатки, сервіси:

Приклади команд:

  • npx hint [hostname] — сканування вихідного коду сайту і пошук вразливих технологій з допомогою сканера WebHint.io.
  • snyk code test vuln.js — сканування вихідного коду вказаного файлу з допомогою Snyk CLI.
Пошук вразливостей і помилок у коді з допомогою Snyk

Пошук вразливостей і помилок у коді з допомогою Snyk

Важливо також перевіряти код не тільки з допомогою автоматичних інструментів, а й вручну. Автоматичні інструменти допомагають виявити очевидні помилки та недоліки, такі як синтаксичні помилки, неоптимальний код чи потенційні проблеми безпеки. Однак вони не завжди здатні виявити більш складні проблеми, такі як неправильне використання алгоритмів чи неочевидні баги.

Аналіз веб-елементів (аналіз POST/GET запитів)

Веб-елементи – це будь-які об’єкти та сутності на веб-сторінці, які формують DOM-структуру (структура документа, тіла сторінки), з якою взаємодіє користувач.

Під час ручної перевірки веб-елементів і аналізу GET/POST запитів можна виявити чимало помилок, слабких місць і точок входу, зокрема логічні помилки обробки даних, неправильне використання API, відсутність CSRF-токенів, численні вразливості до XSS/SQL-ін’єкцій, SSRF (Server Side Request Forgery) та інші аспекти, які можуть впливати на якість і надійність досліджуваного ресурсу.

Ось список веб-елементів на які я, зазвичай, звертаю увагу:

  • Текстові поля
  • Кнопки, радіобуттони
  • Блоки
  • Чекбокси
  • Комбобокси, вкладки
  • Випадаючі списки
  • Форми (теги <input value=””>):
    • Форми входу (перевірка форми авторизації на брутфорс)
    • Контактні форми (перевірка довжини полів, прийому спецсимволів і т.д.)
    • Форми відправки даних (перевірка різних Content-Type)
    • Форми завантаження (перевірка різних розширень файлів)
    • Форми підписки
    • Форми опитувань
    • Форми завантаження аватарів
    • Форми створення оголошень
  • Коментарі, відгуки, гостьові книги
  • Лістинги, сторінки товарів
  • Галереї (фото-/відео-)
  • Рейтинги, голосування
  • Кукі (cookies)
  • Закриваючі теги
  • ….інші веб-елементи на сайті.

Деякі поради і рекомендації:

  • Досліджуйте і вивчайте як формуються HTTP-запити, зокрема Get та Post запити (а також Head, Put, Delete, Options та інші), звертаючи увагу на коди відповіді і заголовки. Перехоплюйте і модифікуйте запити з допомогою Burp Suite або OWASP Zap – вони мають стати вашими “очима” і “руками”;
  • Шукайте і вивчайте на веб-сторінках приховані поля, форми, параметри. Часто через них може передаватися конфіденційна інформація, наприклад токени, секретні коди, ліцензійні ключі і таке інше;
  • Перевіряйте будь-які текстові поля, у які можна вставити XSS-payload (корисне або шкідливе навантаження). Це можуть бути поля при реєстрації акаунта, відправці повідомлення через контактну форму, відправка відгуків або публікація коментарів;
  • Вивчайте параметри, які передаються в запитах API. Перевіряйте, чи не містять вони конфіденційну інформацію, таку як токени доступу, паролі або інші чутливі дані. Аналізуйте, чи захищений API від атак типу CSRF (Cross-Site Request Forgery) і чи правильно налаштована політика CORS (Cross-Origin Resource Sharing). Неправильна конфігурація може дозволити небезпечні запити до API з іншого домену;
  • Обов’язково перевіряйте чи є на сайті форми завантаження файлів або відправки даних. Чи фільтруються завантажені файли? Чи є заборона на виконувані файли? Які назви файлів заборонені? Які розширення блокуються? Перевірте чи можна підмінити Content-Type і завантажити реверс шел.
  • Рекомендую ознайомитись з OWASP Web Security Testing Guide та OWASP Application Security Verification Standard. Ці документи містять ряд фундаментальних рекомендацій щодо підходу до аудиту і тестування безпеки.

Ідентифікація та оцінка вразливостей

Провівши сканування і виявивши вразливості, необхідно провести їх ідентифікацію та оцінку, що є частиною Менеджменту вразливостей (Vulnerability Management / Risk Assessment).

Тут допоможуть CVE (Common Vulnerabilities and Exposures) та CWE (Common Weakness Enumeration) системи – це бази даних, які систематизують інформацію про різні вразливості та класифікують їх.

Кожній вразливості в системах CVE/CWE призначається ідентифікатор. По суті, це стандартизовані словники загальновідомих вразливостей і ризиків. Вони наповнюються і підтримуються світовою спільнотою з кібербезпеи. Відрізняються вони один від одного лише тим, що у базу CVE потрапляють конкретні вразливості, а в CWE – категорії.

Ось список популярних CVE/CWE баз даних:

Окрім того, існують бази даних експлойтів, які можуть знадобитися для того, щоб оцінити критичність, зрозуміти як ті чи інші вразливості можуть бути проексплуатовані:

Важливим інструментом є Common Vulnerability Scoring System (CVSS) – це відкрита стандартизована система оцінки вразливостей, яка використовує список CVE та інші джерела для отримання числової оцінки критичності вразливості. Система була розроблена об’єднанням груп реагування на інциденти та безпеку FIRST (Forum of Incident Response and Security Teams) у співпраці з NIST. Автори: Peter Mell, Karen Scarfone, Sasha Romanosky.

CVSS допомагає спеціалістам з кібербезпеки пріоритезувати ризики і підготувати рішення щодо їх усунення.

Калькулятор CVSS існує в різних версіях: CVSS 1.0 (2005), CVSS 2.0 (2007), CVSS 3.0 (2015), CVSS 4.0 (2023).

CVSS оцінює вразливість по 10-бальній шкалі:

Ступінь критичностіБал CVSSОпис
Critical9.0 – 10Критичний рівень вразливості, який однозначно призводить до несанкціонованого доступу, зламу або втрати даних. Потребує негайного реагування.
High7.0 – 8.9Високий рівень вразливості, що може призвести до несанкціонованого доступу, зламу, втрати або компрометації даних. Потребує негайного реагування.
Medium4.0 – 6.9Cередній рівень вразливості, що за певних обставин та дій може призвести до несанкціонованого доступу, зламу, втрати або компрометації даних. Потребує реагування в найкоротші терміни.
Low1.0 – 3.9Низький рівень вразливості, що у поєднанні з іншими вразливостями може являти потенційний ризик, що призводить до несанкціонованого доступу, зламу або втрати даних. Потребує своєчасного, планового реагування.
Info0.1 – 0.9Інформаційний рівень вразливості, що являє собою додаткові відомості, які можуть сприяти подальшій розвідці та плануванню зловмисних атак на ресурс. Потребує ретельного аналізу.

CVSS версії 3.1 складається з таких метрик:

  • Attack Vector (AV) — вектор атаки, визначає, який рівень доступу потрібен зловмиснику для здійснення атаки. Тут можна обрати 4 рівня: Network (N), Adjacent (A), Local (L), Physical (P). Для веб-додатків, доступ до яких здійснюється через Інтернет, ця оцінка завжди буде Network (Мережа).
  • Attack Complexity (AC) — складність атаки: Low (L) або High (H). Високий рівень складності передбачає, що зловмисник повинен мати привілейовані або внутрішні знання про ціль, щоб здійснити атаку. Низький рівень – атаку можна здійснити без спеціальних знань про ціль.
  • Privileges Required (PR) — рівень привілегій, містить три значення: None (N), Low (L), High (H). Якщо атаку можна здійснити без автентифікації, встановлюємо значення None (N). Якщо зловмисник отримав доступ до системи з привілеями звичайного користувача – ставимо Low (L). Якщо цей обліковий запис з привілеями адміністратора – ставимо High (H).
  • User Interaction (UI) — взаємодія з користувачем, містить два значення: None (N) та Required (R).  Наприклад, якщо для здійснення атаки зловмисник повинен взаємодіяти з іншою особою, яка має доступ, тоді обираємо Required (R).
  • Scope (S) — вплив на інші компоненти системи, Unchanged (U) або Changed (C). Якщо зловмисники в результаті експлуатації вразливості можуть отримати додатковий доступ – ставимо Changed (C).
  • Confidentiality (C) — вплив на конфіденційність, None (N), Low (L), High (H). Якщо атака може призвести до зчитування особистих даних, то має місце вплив на конфіденційність. Низький рівень означає, що зловмисники можуть читати лише обмежені або часткові дані, тоді як високий означає, що зловмисники можуть читати будь-які дані, які їм потрібні, використовуючи вразливість.
  • Integrity (I) — вплив на цілісність, None (N), Low (L) або High (H). Цілісність стосується модифікації даних. Якщо доступ обмежений, то він має низький рівень. Якщо зловмисники можуть змінити будь-які дані – високий рівень.
  • Availablity (A) — вплив на доступність, None (N), Low (L), High (H). Означає, що атака може викликати перебої в роботі і доступності веб-додатка, наприклад відмову в обслуговуванні. Низький означає, що додаток може продовжувати працювати, але відчуваючи високе навантаження і перебої. Якщо ж додаток недоступний доти, поки виконується атака, або довше – обираємо високий рівень.

Підготовка звіту

В результаті проведення вищеперелічених дій по кожній знайденій вразливості у звіті аудитора повинна бути присутня настуна таблиця:

НАЗВА І ПОРЯДКОВИЙ НОМЕР ВРАЗЛИВОСТІ
Класифікація:HIGHCVE-ID, CWE-IDCVSS Score: x.x
Шлях:[hostname/path] – домен або ресурс на якому знайдена вразливість
Опис / Технічні деталі:Proof of Concept (POC): Детальний опис кроків, які приводять до вразливості. Вказати команди, які були використані, посилання, текст HTTP-запитів та інші технічні деталі.
Підтвердження (Evidence):Скріншоти і відео, які засвідчують факт наявності вразливості.
Вплив (Impact):Опис впливу: Що може зробити зловмисник з допомогою цієї вразливості? До якої інформації він може отримати доступ? Як це впливає на цільову систему? До яких наслідків може призвести експлуатація вразливості?
Рекомендації:Список рекомендацій як можна усунути вразливість.
Джерела:Список джерел, посилання на документації і матеріали про знайдену вразливість.

Ця структура є умовною, але вона дозволяє зібрати усі необхідні дані для кожної вразливості, забезпечуючи чітке розуміння проблеми та шляхів її вирішення.

Вона є надзвичайно корисною для власника досліджуваного ресурсу з кількох причин:

  • Огляд вразливостей:
    • Зручність перегляду: Таблиця надає зручний формат для перегляду та аналізу вразливостей.
    • Узагальнена інформація: Усі важливі деталі вразливості зібрані в одному місці, що полегшує розуміння масштабів та серйозності проблеми.
  • Пріоритизація виправлень:
    • Оцінка критичності: CVSS оцінка допомагає клієнту визначити, які вразливості потребують негайного виправлення, а які можуть бути відкладені.
    • Фокусування ресурсів: Клієнт може ефективно розподіляти ресурси для усунення найсерйозніших вразливостей перш за все.
  • Конкретні дії:
    • Рекомендації щодо виправлення: Рекомендації надають чіткі вказівки щодо дій, які слід виконати для усунення або зменшення впливу вразливостей.
    • Патчі та оновлення: Інформація про наявні патчі та оновлення допомагає швидко знайти та застосувати виправлення.
  • Розуміння впливу:
    • Опис впливу: Інформація про потенційний вплив вразливостей на конфіденційність, цілісність та доступність допомагає клієнту оцінити ризики для бізнесу.
    • Експлойтабельність: Відомості про те, наскільки легко експлуатувати вразливість, допомагають зрозуміти терміновість і необхідність виправлення.
  • Планування безпеки:
    • Додаткові примітки: Додаткова інформація може містити корисні поради для покращення загальної стратегії кібербезпеки.
    • Метод виявлення: Розуміння методів виявлення допомагає клієнту вдосконалювати свої інструменти та процеси для майбутніх перевірок безпеки.

👉 Детальніше про підготовку звіту та його приклади дивіться тут.

ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:

Отримати комерційну пропозицію
Оформити заявку
Замовити консультацію

Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!

Замовити дзвінок

Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!