Тестування сайту дає змогу виявити вразливості та помилки, які можуть бути використані зловмисниками. Якщо ви адміністратор сайту, рекомендуємо додати тестування на проникнення до свого списку інструментів і регулярно виконувати пошук вразливостей для того, щоб забезпечити повну безпеку ваших сайтів. Виявлені проблеми допоможуть вам усунути слабкі місця.
Тестування безпеки включає дуже багато різних інструментів і завдань. У цій статті охопимо основні аспекти пошуку вразливостей на сайті. За допомогою цієї інструкції ви зможете зберегти свій ресурс у безпеці.
Тестування на проникнення і пошук вразливостей на сайті передбачає виконання кількох дій. Тут недостатньо запустити один інструмент і перевірити сайт, потрібен правильний підхід, який допоможе вам зібрати якомога більше інформації про безпеку вашої системи.
Основні етапи:
Далі розглянемо, що слід виконати на кожному з етапів і які інструменти для цього потрібно використовувати. Краще не встановлювати всі ці програми окремо, а використовувати вже готове середовище для тестування на проникнення - Kali Linux. Це спеціально підготовлений дистрибутив Linux, який уже містить усі необхідні програми. Так вам не доведеться нічого встановлювати. Ви можете запускати систему з флешки або ж встановити Kali Linux на жорсткий диск.
Щоб дізнатися, яку інформацію про вашу систему можуть дізнатися інші люди, необхідно застосовувати кілька інструментів:
nmap
- це один із найпопулярніших інструментів для сканування мереж. За допомогою нього ви можете подивитися, які сервіси запущені на сервері вебсайту, які порти вони використовують, які їхні версії, і навіть версію операційної системи. Щоб подивитися відкриті порти на своїй машині, виконайте таку команду в терміналі Kali Linux:
$ nmap -sS 192.168.91.249
192.168.91.249
- це ip адреса ресурсу. Цією командою виводять відкриті порти і назви сервісів. Ви можете отримати більш детальну інформацію, наприклад, уже на цьому етапі можна зібрати багато інформації про систему. Наприклад, тут ви можете бачити, що на машині запущено SSH сервер, веб-сервер, служби обміну файлами Samba і проксі сервер на порту 3128. Усі вони можуть бути потенційно вразливими.
Сканер Nmap дає змогу копнути глибше, за допомогою інтенсивнішого сканування. Для цього використовуйте опцію -A:
$ nmap -A 192.168.91.62
Тут ви вже побачите набагато більше інформації, наприклад, версії сервісів, системний час, систему управління контентом і навіть версію операційної системи. Також, якщо будуть виявлені прості вразливості, такі як слабкий пароль FTP, то ви про це теж дізнаєтеся. Прочитати докладніше як користуватися Nmap ви можете в окремій статті. Також потрібно використовувати інші доступні джерела інформації. Важливо зрозуміти, яка інформація про вас доступна в мережі та чи зможе зловмисник отримати інформацію, до якої у нього не повинно бути доступу.
Ось деякі сервіси:
Для сканування часто застосовується фаззинг. Суть фаззингу полягає в передачі великої кількості випадкових даних вашому сайту, щоб спробувати виявити вразливості. Різні інструменти, які ми розглянемо нижче, імітуватимуть атаки, щоб перевірити вразливість застосунку.
Застосунки фаззингу дають змогу виявити вразливості, але для кращого результату варто розібратися, як працюють ці застосунки, і в чому полягає помилка. Якщо у вас є доступ до вихідних кодів проєкту, то ви можете паралельно використовувати фаззинг і ручний аналіз, щоб з більшою точністю знайти проблеми. Атаки фаззингу працюють дуже голосно оскільки вимагають передачі великої кількості даних. Система захисту від вторгнень помітить їх, слід бути обережним. Далі розглянемо інструменти, які можна використовувати.
WPScan - це проєкт із відкритим вихідним кодом, написаний на Ruby спеціально для сканування WordPress. Він дуже простий у використанні і може бути корисним для сайтів, які використовують велику кількість плагінів або не оновлюються. Утиліті не потрібен вихідний код, вона виконує сканування віддалено.
Nikto - це сканер вразливостей для веб-сайтів. Він працює набагато довше ніж WPSan, але розрахований не тільки на WordPress. Він містить безліч плагінів, і під час сканування буде виконано дуже багато запитів. Наприклад, програма може знайти файл, який виводитиме інформацію phpinfo. Але Nikto генерує дуже багато помилкових спрацьовувань, тому вам потрібно уважно аналізувати висновок.
Burp Suite - це дуже потужна програма для пошуку вразливостей на сайті або у веб додатках. Цей інструмент працює тільки через веб-браузер. Утиліта дає змогу перевірити всі форми, які є на сайті, перевірити надсилання різних заголовків, переглянути відповіді та запити браузера, виконати активне сканування URL, виконати статичний аналіз коду javavasсrirt, а також виконати пошук XSS вразливостей на сайті. Це чудовий інструмент, але він може здатися складним.
SQLMap - програма для пошуку sql вразливостей сайту. Ви можете знайти всі можливі місця, де можуть бути виконані SQL ін'єкції. Наприклад, якщо ви припускаєте, що в параметрі id може бути sql ін'єкція, використовуйте таку команду
$ sqlmap -u http://example.com/?id=1 -p id
Програма виконуватиме тестування для різних типів баз даних, тому ви можете вказати лише потрібну:
$ sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id
Ці команди дають змогу перевірити поля, вказувати різні параметри, такі як бази даних, таблиці або паролі.
Експлуатація завершує пошук вразливостей на сайті і являє собою використання вразливостей для отримання доступу до системи або даних. Загалом, якщо ви змогли знайти дірки у вашій системі безпеки і закрити їх, то більше нічого вам робити не потрібно. Але іноді потрібно довести, що проблема дійсно серйозна.
Рекомендується не використовувати експлуатацію вразливостей на виробничих системах, тому що це може призвести до проблем. Краще створити віртуальну машину і вже в ній показувати все, що потрібно. Ось деякі інструменти, які можна використовувати:
Metasploit - це ціле середовище для проведення тестування на проникнення, в якому міститься безліч готових експлойтів. Ви можете знайти експлойти для встановлених плагінів або виявлених на першому етапі сервісів. Ми більш детально розглянемо, як користуватися Metasploit, в одній із наступних статей.
Це заключний етап пошуку вразливостей. На основі всього того, що було знайдено, потрібно зробити висновки і закрити всі дірки. Коли у вас є всі дані про вразливі місця. Розподіліть пріоритети та виправте все, що знайшли. Якщо ці вразливості змогли знайти ви, значить їх може знайти будь-хто інший.
У цій статті ми зробили дуже інтенсивний курс у пошук вразливостей на сайті та розглянули основні програми для пошуку вразливостей на сайті, які ви можете використовувати для забезпечення максимальної безпеки свого ресурсу або інфраструктури. Багато з цих інструментів є промисловим стандартом. Зараз ви можете продумати стратегію тестування і спробувати усунути всі вразливості.
Apply the discount by inserting the promo code in the special field at checkout: