Делаем компьютер неуязвимым. Отличия в работе разных программ. Применение сканеров уязвимости

У нас очень часто надеются на “авось” и начинают бороться с последствиями, когда уже всё случилось. Особенно это касается информационной безопасности. Но зачем ждать, когда ваш компьютер взломают или заразят вирусом, если можно заранее решить все возможные проблемы. Мы в Qihoo 360 Technology Co много знаем про профилактику заражений и взломов и предлагаем вам воспользоваться нашим чек-листом, с помощью которого вы сами сможете проверить ваш компьютер.

Антивирусная проверка

Самое простое и самое первое средство проверки вашего компьютера на уязвимости - это его регулярное сканирование на предмет обнаружения вирусов и вредоносных программ. Современные антивирусы научились достаточно точно выявлять любые зловреды ещё на этапе их попыток внедрения в систему, но, однако, человеческий фактор ещё никто не отменял. По статистике большинство заражений компьютеров вирусами происходят именно по вине самих пользователей. Любой может случайно нажать “пропустить” на предупреждение антивируса и вот уже система заражена.

Так что лучше всего поставить в расписание антивируса регулярную полную проверку. И не забыть при этом все носители, которые вы используете, так как на них могут храниться копии вирусов. Если же вы опасаетесь, что система уже заражена, то мы бы рекомендовали провериться несколькими разными антивирусами. Или одним 360 Total Security, в состав которого входят такие известные антивирусные движки, как Avira, Bitdefender, облачный сканер 360 Cloud и QVM AI. В совокупности они справятся с самым хитрым заражением.

Оптимизация системы

Конечно, проверка уязвимостей не может ограничиваться одними лишь антивирусами. Существует множество программ, которые не определяются как вредоносные. Это так называемое рекламное ПО, надоедливые панели инструментов в браузере и hijacker-утилиты, которые меняют стартовые страницы, потенциально нежелательные программы (PUP) и так далее. Эти программы маскируются и даже выполняют некоторые полезные функции, но при этом позволяют себе загружать вашу систему в плане использования оперативной памяти и процессора, и ваш мозг в плане показа совершенно ненужной рекламы.

Подобный софт нужно удалять из установленных программ и, конечно, тщательно изучать запланированные задачи, автозагрузку и сервисы. Именно там они очень часто прячутся от обычных методов удаления. Если не проверить, то есть большой шанс, что через некоторое время эти программы вернутся в строй и продолжат своё чёрное дело. Антивирус 360 Total Security умеет автоматически определять и удалять подобный вредоносный софт и, вдобавок, отключать некоторые запланированные задания, ненужные службы, а также оптимизировать сетевое соединение. Причём антивирус даёт пользователю возможность самостоятельно выбрать исключения для оптимизации - таким образом, можно оставить в нетронутом виде те программы и утилиты, автозапуск которых по тем или иным причинам критичен.

Обновления ОС и программ

Разберёмся в самом понятии «уязвимость». В компьютерной безопасности оно используется для обозначения недостатка в ОС или программе, используя которую злоумышленник может нарушить работу системы или даже получить над нею контроль. Уязвимости возникают чаще всего из-за ошибок в программировании и лечатся патчами, которые выпускают разработчики.

Казалось бы, как может повлиять скрытая ошибка на её безопасность программного обеспечения. Так и думает обычный пользователь, запрещая операционной системе и программам автоматическое обновление. Однако, такая известная уязвимость, как переполнения буфера вполне может позволит злоумышленнику загрузить и выполнить произвольный машинный код от имени программы и с правами учетной записи, от которой она выполняется. А утечки памяти могут и без каких либо действий со стороны нарушить работу всей системы. Внедрение SQL-кода может дать возможность атакующему выполнить произвольный запрос к базе данных программы или сайта и получить возможность чтения или записи локальных файлов. И, конечно, как тут не упомянуть CSRF - «Межсайтовую подделку запроса». Этот вид атак применяется к посетителям сайтов и осуществляется путем размещения на веб-странице ссылки или скрипта, который может имитировать нормальную работу. Таким образом воруются пароли, личные данные и даже ваши деньги с банковских карт.

Часть всех уязвимостей должны закрываться администраторами серверов и сайтов, а вот другая только пользователями на своих компьютерах. Принцип: «вроде стабильно работает и ладно» здесь не работает и разработчики недаром выпускают обновления ПО. Это делается не только, чтобы добавить какие-то новые функции, но и закрыть ошибки, которые были обнаружены другими пользователями и профессиональными тестировщиками.

Уязвимости операционных систем представляют большую опасность, чем уязвимости отдельных программ, так как они гораздо сложнее и используются повсеместно. Закрываются они своевременной установкой обновлений безопасности, которые исправляют ошибки в уязвимых компонентах системы. В ОС Windows за это отвечает специальная служба “Центр обновления Windows”, которая в автоматическом режиме проверяет наличие новых обновлений устанавливает их, если, конечно, это не запрещено пользователем.

Уязвимости в программах меньше влияют на безопасность, чем уязвимости операционной системы. Но, например, ошибки безопасности в браузерах или офисных приложениях могут приводить к очень серьёзным последствиям. Устранять такие уязвимости необходимо и делается это либо вручную с сайтов разработчиков, либо через средства обновления, заложенные в сами программы.

В 360 Total Security мы встроили специальный механизм, которая проверяет операционную систему и установленные программы на апдейты. Этот сервис мониторит исполняемые файлы и саму ОС, сравнивает со специально базой и выдаёт рекомендации по обновлению.

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

Очистка системы и браузеров

Саму систему и браузеры, которые на данный момент являются одним из основных источников потенциальной опасности для вашего компьютера, время от времени необходимо чистить. Удалять временные файлы и следы вашей деятельности в интернете: историю посещений, cookie, сохранённые пароли. Так же следует проверять установленные расширения, среди которых могут быть элементы рекламного и следящего ПО.

Это важный пункт проверки вашего компьютера на уязвимости, потому что, удаляя весь этот мусор из системы, вы подчищаете все “хвосты” вирусов, от которых вы уже избавились. А вовремя удалённая история вашего браузера может сохранить в неприкосновенности ваши личные данные.

Все эти возможности входят в модуль “Очистка” в 360 Total Security. Он удаляет различный мусор вроде временных файлов, кэш-файлов браузеров, системного мусора и т.д… К тому же с помощью System Backup Cleaner можно очистить резервные копии драйверов и временные файлы обновлений. И вам не нужно устанавливать дополнительный софт. В процессе работы с антивирусом пользователь может проставить или снять хинты напротив временных файлов, которые следует или не стоит удалять (например, если вы не хотите чистить кэш браузера или опасаетесь удалять временные файлы Windows).

Защита в реальном времени

После проверки вашего компьютера и удаления всего лишнего, необходимо позаботиться о том, чтобы ваш компьютер был защищён от заражения на самых ранних этапах. Проверьте ваш антивирус на все возможные функции мониторинга системы в реальном времени. Конечно же, он должен проверять любые подключённые носители сразу при подключении. Когда-то давно вирусы успешно распространялись через USB-флешки и даже DVD-диски, копируя себя на компьютер. Времена немного изменились и даже простейшие антивирусы научились блокировать подобные угрозы, но всё же забывать о них никак нельзя.

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

Антивирус также просто обязан уметь проверять загружаемые файлы прямо на этапе их загрузки, а не после их запуска. И если уж продолжать тему браузеров, то вам, конечно, необходима защита при онлайн-покупках. Вы же не хотите потерять данные ваших банковских карт. 360 Total Security при включении этого режима блокирует операционную систему, чтобы предотвратить возможные угрозы или запуск неизвестных приложений, которые могут перехватывать сайты интернет-магазинов или онлайн-транзакции.

Запуск подозрительных программ в «песочнице»

Продолжая тему возможностей вашего антивируса, необходимо отдельно рассказать о такой возможности, как “песочница”. С помощью этой функции вы можете запустить потенциально опасные программы на вашем компьютере и не бояться, что это как-то повлияет на вашу систему. Ведь она запустится она в ограниченной среде, без доступа к сети и возможностью сообщаться с ОС. Если программа начнёт устанавливать вредоносное ПО или заменять системные файлы, то сработают защитные механизмы антивируса. Но так как вы запустили её в “песочнице”, то никаких последствий не будет. Если же программа безопасна, то её можно устанавливать в систему и работать.

Обязательно проверьте свой антивирус на все эти возможности. В 360 Total Security она есть.

Must read&save чек-лист для обязательной проверки уязвимостей

Антивирусная проверка - регулярная полная проверка по расписанию, контроль внешних устройств (флешки, карты памяти, внешние диски, гаджеты)

Обновления операционной системы и программ - обязательно проверять наличие и состав обновлений, накатывать полезные патчи

Очистка системы и браузеров - периодически чистить ненужные и неактуальные временные файлы, cookies, историю посещений и сохранённые пароли

Защита в реальном времени - защитить веб-камеру от несанкционированного доступа, отключить кейлогеры, проверять файлы при загрузке

Запуск подозрительных программ в «песочнице» - если нужная программа вызывает подозрение, запускать её в песочнице и устанавливать в систему только в случае её полной безопасности

Заключение

Как правило, большинство из того, что описано выше, выполняется разными программами. Клинеры очищают систему от мусора, антивирусы - от вредоносных программ. И если первые в большинстве своём бесплатны (и иногда несут на борту то самое рекламное ПО), то вторые вам придётся покупать, чтобы пользоваться всеми нужными функциями. Однако, наш

Ты наверное до сих пор думаешь, что хакеры ищут уязвимости в программных
продуктах в ручную, постоянно смотря в исходный код или ручками вставляя
спецсимволы в переменные скриптов? Ты глубоко ошибаешься, мой дорогой друг.
Существует масса пауков сканеров и вспомогательных программ, которые позволяют
по максимуму сократить время исследования. Конечно, многие из них стоят кучу
денег. поэтому достать их проблематично (хотя вполне реально, те же Xspider,
Nessus), другие же не обладают нужной функциональностью. Но всегда есть золотая
середина. Сейчас я поведаю о очень полезных бесплатных программках которые
окажут отличную помощь взломщику, а также затронем тему локального поиска
уязвимостей в исходниках вебскриптов.

RPVS — во Франции также есть хакеры

Скромную заметку о этой программе я на днях отыскал на одном элитном
международном хакерском форуме. Программа однозначно из класса Must Have. Тем
более, что софтина имеет как консольный, так и графический интерфейс. Полное ее
название — Remote PHP Vulnerability Scanner. Этот сканер затачивался под
удаленное исследование сайтов написанных на PHP. Программа способна находить
такие уязвимости: XSS, SQL-Injection, уязвимости подключения файлов функциями
include() и fopen() и раскрытия инсталляционного пути. Программа работает как с
GET, так и POST запросами. Имеет несколько режимов работы и отличную скорость
сканирования. Принцип ее работы состоит в полном собрании линков с сайта, после
чего подставляют спецсимволы в переменные и проводится анализ на показанных PHP
ошибках и сигнатурах. Протестировав ее на одном из небольших сайтов, я получил
подробный отчет о найденных уязвимостях.

Rapport on http://test3.ru/

Number of made request: 24
vuln include: 0
vuln xss: 12
err fopen: 0
err inc: 0
err sql: 0
—————————————————-
Vuln XSS:
/?year=2006&month=02&day=6941337%22%27
/?year=6941337
%22%27&month=01
/?year=6941337
%22%27&month=02&day=05
/?year=2006&month=6941337
%22%27&day=05
/?year=6941337
%22%27&month=03
/?year=6941337
%22%27&month=02
/?year=6941337
%22%27&month=12

Vuln SQL:
/?id=6941337
%22%27
/?id=15&c=6941337
%22%27

Видишь, неплохой отчет. Автоматизация — отличный процесс, который неплохо
экономит время и нервы. Да, кстати, в сети есть вполне компилируемые исходники
этой чудо программы —
http://81.57.125.106/~slythers/rpvsv1.3-src.rar .

В некоторых случаях, когда масштабное сканирование не удается произвести, работу
можно полуавтомазировать с помощью такого софта как Mini-Browser (http://www.aignes.com)
и Advanced HTTP Header Constructor 1.2 (http://www.ru24-team.net).
Программы умеют многое и в любом случае тебе понадобятся, Mini-Browser позволяет
подделывать POST/GET запросы и кукисы, а также вытаскивать все ссылки на
странице. В программу встроен браузер (на движке ИЕ), что делает работу еще
удобнее. Ну а эстеты могут посмотреть на других вкладках исходник или лог
Клиент-Сервер. Advanced HTTP Header Constructor работает с HTTP-заголовками,
позволяет составлять/подделывать/отсылать POST и GET заголовки, а также многое
другое. Для установки нужен свежий Framework.

Acunetix Web Vulnerability Scanner 3 — Достойная замена XSpider

Когда-то просматривая каталог линков с astalavista.box.sk я и наткнулся на
эту программу. Ее описание мне пришлось по вкусу. По своим возможностям она даже
превосходит XSpider. Acunetix Web Vulnerability Scanner — cканер уязвимостей
вэб-сайтов, сканирует как комплексно так и профильно, то есть Cross site
scripting, SQL injection, cgi-test, CRLF Injection, Directory traversal,
Authentication hacking. Также в сканере присутствует очень интересный тип атаки
— Google hacking на определенный сайт. Этот тип атаки использует поисковые
системы для поиска уязвимостей, что очень полезно и оригинально. Сканер также
отлично определяет версии веб-сервера и его модули. Плюс в него встроены
различные перекодировщики и шифровальщик, HTTP снифер и средства подмены
заголовков. Этот софт обязательно должен поселится в джентльменском наборе
хакера. Так что не поленись, скачай и зацени! Плохо лишь одно, как и все
программные продукты подобного рода, этот софт стоит больших денег (1500$). Но
все лечится, защита там слабенькая. Тем более обновление доступно и в
trial-версии. Кто ищет, тот всегда найдет. Я нашел 🙂

Google – Величайший сканер уязвимостей

С помощью поисковых систем, на самом деле, очень удобно искать нужные
уязвимые скрипты. Нужно только вспомнить о эпидемии червячка Santy, который
искал в Google все бажные phpBB форумы. Подробнее о червячке можно почитать
здесь —
http://www.f-securлe.com/v-descs/santy_a.shtml . Также примеры реализации
подобных сканеров ты найдешь на сайте команды AntiSecurity (http://antisec.2×4.ru).
Так что при грамотном написании программы и хорошей уязвимости, хакер получает
контроль над огромным количеством сайтов.

Теперь мне бы хотелось затронуть тему переполнения буфера. Искать уязвимости
такого типа вручную можно несколько лет, так что будем автоматизировать 🙂
Кстатиь, компания eyee.com утверждает, что большинство уязвимостей они нашли
автоматически, используя специальное программное обеспечение.

RATS — Грубый Инструмент Ревизии для Защиты

RATS, Rough Auditing Tool for Security (Грубый Инструмент Ревизии для Защиты)
является утилитой ревизии защиты для C и C ++ кода. RATS просматривает исходный
текст, находя потенциально опасные обращения к функциям. Цель этого инструмента
— не окончательный поиск ошибки, а скорее обеспечение разумной отправной точки
для выполнения ручной ревизий защиты. Мой хороший знакомый уже давно пользуется
данной программой и очень доволен ее результатами. И еще конечно же радует
открытость ее исходного кода.

Также следует обратить внимание на аналогичный софт под названием ITS4 (http://www.securitylab.ru/_tools/its4-1.1.1.tgz).
Этот инструмент командной строки ищет уязвимости C и C ++ кода и работает на
платформах Windows и Unix. Есть еще одна полезная программа из данного класса —
Flawfinder (http://www.dwheeler.com/flawfinder/).
В отличие от ITS4, flawfinder имеет полностью открытое программное обеспечение
(распространяется согласно лицензии GPL).

BofCheck — Buffer Overflow, Environment Variables Overflow/Format String
Vulnerabilities Binary Tester

BofCheck используется для проверки программ на наличие основных уязвимостей.
Программа проверяет переполнение буфера и уязвимости в параметрах командной
строки. Софтину стоит использовать только когда нет под рукой исходного кода или
поиск в нем не дал результатов.

Qaudit — Perl приходит на помощь

Оказывается классные вещи можно написать на интерпретируемом языке Perl.
Qaudit.pl — сценарий для быстрой ревизии C и C ++ исходных файлов на наличие
переполнения буфера, ошибок форматной строки, запросов исполняемых вызовов,
переменных среды, и разных функций, которые часто имеют проблемы защиты. Лично я
не ожидал от скрипта таких возможностей 🙂 Кстати, на Perl написано множество
полезных программ, таких как cgi-сканеры, эксплоиты, и даже IDS системы!
Скачивай скриптик от сюда —

http://www.SecurityLab.ru/_exploits/other/qaudit.txt .

Между прочим

Что касается глобальной автоматизации, то автоматизировать можно все. Но
нужно ли это? Не всегда автоматизация помогает, так что ты сам должен решать
каждый раз как действовать. В статье я специально не рассмотрел популярный софт,
такой как XSpider, Hydra и им подобные, о них многие знают, да и писать бы
пришлось целую книгу. Более подробно о способах внутреннего обследования системы
можешь почитать в моей статье " ".

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

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

Тестирование на проникновение и поиск уязвимостей на сайте состоит из нескольких этапов. Тут недостаточно запустить один инструмент и проверить сайт, нужен правильный подход, который поможет вам собрать как можно больше информации о безопасности вашей системы. Вот основные этапы:

  • Разведка - поиск и сборка информации о вашей сети или серверах;
  • Сканирование - на этом этапе нужно проверить сайт на уязвимости опираясь на собранную информацию;
  • Эксплуатация - этот шаг необязательный и не всегда нужный тестировщикам на проникновение. Это необходимо, если вам нужно показать реальную опасность уязвимостей;
  • Исправление - на этом этапе нужно исправить все найденные уязвимости на вашем сайте.

Теперь рассмотрим что нужно делать на каждом из этапов и какие инструменты для этого нужно использовать. Лучше не устанавливать все эти программы отдельно, а использовать уже готовую среду для тестирования на проникновение - Kali Linux. Это специально подготовленный дистрибутив 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, то вы об этом тоже узнаете. Прочитать подробнее вы можете в отдельной статье.

Также нужно использовать другие доступные источники информации. Важно понять, какая информация о вас доступна в сети и сможет ли злоумышленник получить информацию, к которой у него не должно быть доступа. Вот некоторые сервисы:

  • whois - с помощью этого сервиса вы можете узнать общедоступную информацию о домене, регистратора, владельца и другую контактную информацию;
  • recon-ng - полезный инструмент для анализа, который поставляется вместе с Kali Linux;
  • Maltego Chlorine - это очень популярный инструмент с открытым исходным кодом, предназначенный для сбора информации с открытых источников;
  • Netcraft - полезный инструмент, позволяющий найти поддомены сайта;
  • hackertarget.com/reverse-ip-lookup - позволяет узнать какие еще сайты работают на вашем ip адресе.

После того, как вы завершили сбор информации на этапе разведки, нужно перейти к сканированию, непосредственно выполнить поиск уязвимостей на сайте Kali Linux.

Сканирование

Для сканирования часто применяется такой метод, как фаззинг. Его суть в передачи большого количества случайных данных вашему сайту чтобы попытаться обнаружить уязвимости. Различные инструменты которые мы рассмотрим ниже будут имитировать атаки чтобы проверить уязвимость приложения.

Приложения фаззинга позволяют выявить различные уязвимости, но это не заменит понимания того как работают эти приложения, и в чем состоит ошибка. Если у вас есть доступ к исходным кодам проекта, то вы можете параллельно использовать фаззинг и ручной анализ, чтобы с большей точностью найти проблемы.

Важно заметить, что атаки фаззинга работают очень громко поскольку требуют передачи большого количества данных. И скорее всего, ваша система защиты от вторжений заметит их, поэтому будьте осторожны. А теперь рассмотрим некоторые инструменты, которые можно использовать.

WPScan - это проект с открытым исходным кодом, написанный на Ruby специально для сканирования WordPress. Он очень прост в использовании и может быть полезным для сайтов, которые используют большое количество плагинов или не обновляются. Утилите не нужен исходный код, она выполняет сканирование удаленно.

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

Burp Suite - это очень мощная программа для поиска уязвимостей на сайте или в веб приложениях. Этот инструмент работает только через веб-браузер. Утилита позволяет проверить все формы, которые есть на сайте, проверить отправку разных заголовков, посмотреть ответы и запросы браузера, выполнить активное сканирование URL, выполнить статический анализ кода JavaScript, а также выполнить поиск XSS уязвимостей на сайте. Это отличный инструмент, но он может показаться сложным.

https://youtu.be/M_h_absC5yE

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

С помощью этой команды вы можете проверить различные поля, и указывать различные параметры, такие как базы данных, таблицы или пароли.

Эксплуатация

Эксплуатация завершает поиск уязвимостей на сайте и предоставляет из себя использование уязвимостей для получения доступа к системе или данным. В целом, если вы смогли найти дырки в вашей системе безопасности и закрыть их, то больше ничего вам делать не нужно. Но иногда нужно доказать, что проблема действительно серьезна. Рекомендуется не использовать эксплуатацию уязвимостей на производственных системах. потому что это может привести к проблемам. Лучше создать виртуальную машину и уже в ней показывать все, что нужно. Вот некоторые инструменты, которые можно использовать:

  • SQLMap - очень эффективный инструмент для поиска sql уязвимостей и их эксплуатации;
  • Burp Suite - инструмент для поиска XSS уязвимостей и эксплуатации;
  • Metasploit - эксплуатация уязвимостей в системе.

Metasploit - это целая среда для проведения тестирования на проникновение, в которой содержится множество готовых эксплойтов. Вы можете найти эксплойты для установленных плагинов или обнаруженных на первом этапе сервисов. Мы более подробно рассмотрим как пользоваться Metasploit в одной из следующих статей.

Исправление

Это заключительный этап поиска уязвимостей. На основе всего того, что было найдено нужно сделать выводы и закрыть все дыры. Когда у вас есть все данные об уязвимых местах. Распределите приоритеты и исправьте все, что нашли. Если эти уязвимости смогли найти вы, значит их может найти любой другой.

Выводы

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

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Уязвимости сайтов – это проблемные области функционала ресурсов, позволяющие злоумышленнику получить неправомерный доступ, нарушить работу или похитить персональные данные пользователей.

Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Чтобы разобраться, что такое уязвимости сайта, рассмотрим простой пример.

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

Но один злодей перепрыгнул стену, другой притворился мирным жителем и прошел сквозь ворота, а третий использовал неохраняемый потайной лаз, сделанный для хозяев замка.

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

Виды уязвимостей сайта

Специалисты по информационной безопасности ежедневно сталкиваются с однотипными проблемами в коде и внутренней конфигурации тысяч веб-ресурсов. Все уязвимости делятся на несколько основных видов.

SQL-инъекции

Один из самых частых и действенных методов атаки на динамические . Злоумышленник подставляет специально сформированные строки SQL-кода в запрос к серверу, получая таким способом контроль над базой данных сайта. Единственное, что будет ограничивать хакера – права пользователя, от которого выполняется запрос к БД.

Лучший способ защиты от – предварительный анализ и парсинг элементов, поступающих из браузера в скрипт.

XSS

Безобиден для сайта, сервера и его администратора. Но вряд ли понравится вашим клиентам. Межсайтовый скриптинг позволяет воровать все личные данные пользователя с помощью заготовленных JavaScript функций. Хакер передаёт зараженный код на сайт с помощью формы, например, сообщения на форуме. Сообщение выводится на экран всем пользователям, где запускается вредоносный скрипт.

Способ защиты схож с SQL-инъекциями – преобразование управляющих HTML и JS последовательностей. Браузер должен читать скрипт как текст и не выполнять его.

Незащищенная работа с персональной информацией

Известная ошибка новичка-программиста – хранить пароли пользователей в базе данных в открытом виде. Но стоит представить, что хакер получил к себе дамп таблицы, и становится не по себе. Все пароли принято не только хэшировать, но ещё и «солить» с помощью некоторой операции с дополнительным ключом, например md5($pass.$salt) в PHP.

Проблемы распределения уровней доступа

Иногда дело доходит до того, что пароли к базе данных хранятся в.txt файле под названием config в открытом виде на сервере. Главное правило работы с уровнями доступа – все, что пользователю видеть не обязательно, должно быть скрыто. Закройте все служебные папки сайта файлами , запретите просмотр директорий сервера в браузере при отсутствии индексного файла.

Внутри скриптов постоянно проверяйте, разрешено ли то или иное действие для данного пользователя. Помните, что злоумышленник может подменить все параметры запроса, поэтому проверяйте поступающие данные на достоверность

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

Плохая конфигурация модулей

После установки программного обеспечения на сервер многие забывают о настройке отдельных модулей для предотвращения неприятностей. Примером является разрешение на root доступ по SSH или отображение ошибок исполнения скриптов на PHP. Выдавайте на руки хакерам как можно меньше информации, скрывайте и блокируйте ненужные функции. Так вы убережете себя от лишних проблем.

Настройте фаервол сервера так, чтобы извне были доступны только нужные для работы порты.

Брутфорс-атака

Злоумышленник, не найдя уязвимых мест, может начать перебор паролей «в лоб». Запустив ботнет, рано или поздно он сможет подобрать ключи к SSH, FTP и административной панели. Поэтому всегда ставьте ограничение на допустимое количество попыток входа с одного IP. Для SSH это может быть, к примеру, утилита fail2ban.

Регулярно меняйте пароли и не заходите на сайт с зараженных компьютеров.

Как найти уязвимость на сайте

Аудит информационной безопасности – одна из важнейших частей процесса отладки проекта перед запуском. Существуют специальные , рассмотрим их подробнее

  • Coder-diary. Проверяет сайт на самые популярные и простые типы уязвимостей. Забытые служебные файлы, собственная постоянно пополняемая база.
  • Find-xss. Включает в себя не только XSS-сканер, но и анализатор SQL-инъекционных атак. Комплексный и довольно популярный инструмент, выполняющий широкий спектр задач проверки сайта различные виды проблем безопасности.
  • Nikto. Входит в легендарную сборку Kali Linux. Проводит долгий и эффективный анализ всех работающих на сайте скриптов, находит устаревшее программное обеспечение и проблемные места проекта. Включает в себя множество плагинов и всегда генерирует много запросов.
  • Acunetix. Интуитивно понятный и мощный инструмент для онлайн-анализа вашего сайта. Бесплатного функционала чаще всего достаточно для первичного ознакомления с возможностями этого монстра.
  • The Metasploit Framework. Полноценный инструмент хакера. Исходя из специфики используемого протокола атаки, программа подбирает различные эксплойты и пытается взломать сервис. В связке с утилитой NMAP процесс взлома практически автоматизируется, так как она сама находит уязвимые порты и сервисы на домене.