Начини на плащане Abuse

Търсене на уязвимости в уебсайта

13.07.2021, 19:11

Тестването на сайтове ви позволява да откриете уязвимости и грешки, които могат да бъдат използвани от нападателите. Ако сте администратор на сайт, препоръчваме ви да добавите тестване за проникване към списъка си с инструменти и редовно да търсите уязвимости, за да сте сигурни, че сайтовете ви са напълно защитени. Откритите проблеми ще ви помогнат да отстраните слабостите.

Тестването на сигурността включва толкова много различни инструменти и задачи. В тази статия ще разгледаме основните аспекти на намирането на уязвимости в даден уебсайт. С помощта на тази инструкция ще можете да поддържате ресурса си в безопасност.

НАМИРАНЕ НА УЯЗВИМОСТИ В УЕБСАЙТ

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

Основните стъпки са:

  1. Разузнаване - търсене и събиране на информация за вашата мрежа или сървъри;
  2. сканиране - тази стъпка включва проверка на сайта за уязвимости въз основа на събраната информация;
  3. експлоатиране - тази стъпка не е задължителна и невинаги е необходима на тестващите проникването. Тя е необходима, ако трябва да се покаже реалната опасност от уязвимостите;
  4. поправяне - на този етап трябва да поправите всички уязвимости, открити в сайта ви.

След това нека разгледаме какво трябва да се направи на всеки от етапите и какви инструменти трябва да използвате за това. По-добре е да не инсталирате всички тези програми поотделно, а да използвате готова среда за тестване за проникване - 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 в отделна статия. Трябва да използвате и други налични източници на информация. Важно е да разберете каква информация е налична за вас в мрежата и дали нападателят може да получи информация, до която не би трябвало да има достъп.

Ето някои услуги:

  1. Whois - можете да използвате тази услуга, за да откриете публично достъпна информация за домейна, регистратора, собственика и друга информация за контакт;
  2. recon-ng - полезен инструмент за анализ, който се предлага с Kali Linux;
  3. Maltego Chlorine - много популярен инструмент с отворен код за събиране на информация от отворени източници;
  4. Netcraft - полезен инструмент, който ви позволява да намерите поддомейни на даден уебсайт;
  5. hackertarget.com/reverse-ip-lookup - позволява ви да разберете какви други сайтове работят на вашия ip адрес.
  6. След като приключите със събирането на информация във фазата на разузнаване, трябва да преминете към сканиране, директно търсене на уязвимости в сайта на Kali Linux.

Сканиране

За сканиране често се използва fuzzing. Идеята на фазирането е да се изпрати голямо количество случайни данни на вашия сайт, за да се опитате да намерите уязвимости. Различните инструменти, които ще разгледаме по-долу, ще симулират атаки, за да тестват уязвимостта на дадено приложение.

Фазирането на приложенията може да идентифицира уязвимости, но за да постигнете най-добри резултати, си струва да разберете как работят тези приложения и каква е грешката. Ако имате достъп до изходния код на проекта, можете да използвате паралелно fuzzing и ръчен анализ, за да откриете проблемите с по-голяма точност. Атаките на fuzzing са много шумни, защото изискват предаване на много данни. Системата за защита от проникване ще ги забележи, трябва да бъдете внимателни. След това нека разгледаме инструментите, които могат да се използват.

WPScan е проект с отворен код, написан на Ruby, специално за сканиране на WordPress. Той е много лесен за използване и може да бъде полезен за сайтове, които използват много плъгини или не са актуализирани. Помощната програма не се нуждае от изходен код и извършва сканиране от разстояние.

Nikto е скенер за уязвимости за уебсайтове. Той работи много по-дълго от WPSan, но е предназначен не само за WordPress. Тя включва много плъгини и ще изпълнява много заявки по време на сканирането. Например софтуерът може да намери файл, който ще изведе информация за phpinfo. Но Nikto генерира много фалшиви положителни резултати, така че трябва внимателно да анализирате изхода.

Burp Suite е много мощна програма за намиране на уязвимости в уебсайт или уеб приложения. Този инструмент работи само чрез уеб браузър. Инструментът ви позволява да проверявате всички форми, които се намират в уебсайта, да проверявате подаването на различни заглавия, да виждате отговорите и заявките на браузъра, да извършвате активно сканиране на URL адреси, да извършвате статичен анализ на кода на javascript и да търсите 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

Тези команди ви позволяват да тествате полета, да задавате различни параметри, например бази данни, таблици или пароли.

Използване на

Exploitation (Експлоатация) завършва търсенето на уязвимости в сайта и осигурява използването на уязвимостите за получаване на достъп до системата или данните. Като цяло, ако сте успели да намерите дупки в сигурността си и да ги затворите, не е необходимо да правите нищо друго. Но понякога трябва да докажете, че проблемът е наистина сериозен.

Препоръчва се да не използвате експлоатиране на уязвимости в производствени системи. защото това може да доведе до проблеми. По-добре е да създадете виртуална машина и още в нея да покажете всичко, което ви е необходимо. Ето някои инструменти, които можете да използвате:

  • SQLMap - инструмент за намиране на sql уязвимости и тяхното използване;
  • Burp Suite - инструмент за намиране на XSS уязвимости и използването им;
  • Metasploit - използване на уязвимости в системата.

Metasploit е цяла среда за тестване за проникване, която съдържа много готови експлойти. Можете да намерите експлойти за инсталираните плъгини или услуги, открити в първата стъпка. Ще разгледаме по-подробно как да използваме Metasploit в някоя от следващите статии.

Поправка на

Това е последният етап от търсенето на уязвимости. Въз основа на всичко, което е намерено, трябва да направите изводи и да затворите всички дупки. Когато разполагате с всички данни за уязвимостите. Определете приоритетите и поправете всичко, което сте открили. Ако вие сте успели да откриете тези уязвимости, то всеки друг може да ги открие.

Изводи

В тази статия направихме един много кратък курс по намиране на уязвимости в уебсайтове и разгледахме основните софтуери за намиране на уязвимости в уебсайтове, които можете да използвате, за да гарантирате, че вашият ресурс или инфраструктура са възможно най-сигурни. Много от тези инструменти са стандартни за индустрията. Сега можете да помислите за стратегията си за тестване и да се опитате да елиминирате всички уязвимости.