Веб-хакинг: стартовый сбор информации [ЧАСТЬ 1]

Веб-хакинг: стартовый сбор информации [ЧАСТЬ 1]



На повестке дня три вопроса.

  1. Чем мы будем заниматься?
  2. Что мы получим в итоге?
  3. Какие начальные требования?

1. Мы будем учиться находить и эксплуатировать уязвимости в веб-приложениях.


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

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


Начальные требования

Что нужно для этого курса? Браузер, denwer (или аналог).

Все остальное будет идти в комплекте либо будут даны ссылки на соответствующие ресурсы.

Предполагаю, что вы хотя бы шапочно знаете:

  • html, css, javascript
  • SQL
  • php
  • regexp
  • nix-системы
  • Tcp/Ip
  • http-протокол
  • Apache (базовая настройка, модуль mod_rewrite)

Если вам нужно освежить знания, я рекомендую следующие материалы:

html, css - Самоучители на htmlbook.ru (да и вообще, недостатка в материалах по html/css нет).

javascript - Самоучитель на learn.javascript.ru, Курсы Специалиста (specialist.ru) по javascript.

SQL - базовые знания даст книжка "SQL - 10 минут на урок".

RegExp - базовые знания даст книжка "Регулярные выражения - 10 минут на урок"

nix - базовые знания даст книжка "UNIX - 10 минут на урок"

php - Курсы Специалиста по php, уровень 1/2.

http, Apache - Курсы Специалиста "Веб-мастеринг", RFC 2616

Это теоретический минимум, необходимый для понимания уроков курса. Все перечисленные выше материалы легко усваиваются и их легко найти в инторнетах (торрентах и т.д.).


Стартовый сбор информации

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


Пассивный сбор информации:

  • Узнаем IP
  • Whois
  • DNS
  • Сканируем порты
  • Хостинг
  • Reverse-IP
  • SEO-параметры
  • Разработчики
  • Контакты
  • Сотрудники
  • Вакансии
  • Конкурентная разведка
  • Веб-архив
  • Поисковые системы
  • Блек-листы


Пассивный сбор информации

1. Узнаем IP. Тут все относительно просто. Запускаем консольку (Win+R, печатаем 'cmd', жмем Enter) и пишем всем знакомое:

(Пожалуйста, продолжайте читать, дальше все не настолько плохо))

Удобнее установить в браузер плагин, который будет сразу показывать IP сайта.

Подобные плагины можно найти практически под любой браузер.

В некоторых (крайне запущенных) случаях можно воспользоваться онлайн-сервисами:

  • http://www.softholm.com/services/lookup.php
  • http://www.prime-speed.ru/ip-host.php
  • http://ip-whois.net/website_ip.php
  • http://www.nslookup.su/
  • http://speed-tester.info/site_location.php
  • http://2ip.ru/lookup/
  • http://ru.siteipaddr.com/
  • http://get-site-ip.com/
  • http://ping.eu/ping/
  • http://www.selfseo.com/find_ip_address_of_a_website.php
  • http://ipinfo.info/html/ip_checker.php
  • http://www.checkip.com/

Если ресурс большой, было бы неплохо проверить его на сервисе вроде ping-admin.ru.

Вполне может быть, что у ресурса IP не один, а сразу несколько:

Попробуйте, скорее всего это не будет лишним.


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

В данном случае мы воспользовались сервисом whoer.net. Мы увидели страну и провайдера, которому принадлежит IP адрес. Помимо этого, мы можем увидеть некоторые дополнительные данные:

Очевидно, что IP принадлежит сервису CloudFlare, что в свою очередь значит, что реальный IP сайта от нас скрыт (можно воспользоваться сервисом http://exonapps.nl/cfresolver/).

Проделываем те же самые операции только для домена (данные везде от балды, не удивляйтесь, что ip cloudflare, a ns-сервера - хостер.ру).

Мы можем увидеть ns-записи. Чаще всего они прямо указывают на хостинг сайта. Иногда - на проксирующий сервис. Иногда на сам домен, что позволяет заключить, что сайт находиться на выделенном сервере.

Легко найти сервисы для проверки whois:

  • http://whoer.net/
  • https://www.nic.ru/whois/
  • http://www.whois-service.ru/
  • https://who.is/
  • http://www.ripn.net/nic/whois/
  • http://www.whois.net/
  • http://whois.domaintools.com/
  • http://r01.ru/domain/whois/
  • https://www.reg.ru/whois/
  • http://tools.whois.net
  • http://betterwhois.com
  • http://iptools.com
  • http://geektools.com
  • http://networksolutions.com
  • http://whois.arin.net
  • http://domaintools.com
  • http://centralops.net
  • http://google.com/?q=whois+online

Стоит добавить, что есть такой замечательный сервис - http://www.whoishistory.ru/. Благодаря ему, мы можем узнать, как изменялись данные whois (сейчас, например, почта вообще не показывается).

У этого сервиса есть один минус - работает он только с доменами .ru, .su и .рф. Для буржуйских сайтов существует сервис http://www.domaintools.com/research/whois-history/, но он к сожалению платный. А для триала нужен картон...


3. Проверяем dns-записи. Существует большое количество самых разных видов DNS-записей (A, MX, NS, CNAME, SOA, SRV, PTR, RP, HINFO). Нам нужно узнать поддомены сайта - увеличить количество целей для атаки, и следовательно увеличить шансы взлома.

Чтобы узнать поддомены, можно воспользоваться запросом в гугл вида:

site:*.target.com

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

Но, чтобы получить все dns-записи, мы спросим все что нам надо у DNS-серверов. Есть такая штука, под названием передача зоны DNS (AXRF). Нужно это для того, чтобы DNS сервера поддерживали в актуальном состоянии свои базы (если вам нужны детали - википедия вас ждет с распростертыми объятьями). Т.е. отправили AXRF-запрос, получили все DNS-записи. В нормальном режиме это полезная штука, но когда DNS-сервер отвечает всем подряд без разбора, это уже несекьюрно.

Я не в курсе, что касается windows, но на *nix команда выглядит так:

dig -t AXFR target.com @ns.target.com

Разумеется есть и онлайн-сервисы:

  • http://sergeybelove.ru/tools/axfr-test/?domain=
  • https://tools.digitalpoint.com/zone-transfer?domain=
  • http://checkdnspropagation.com/axfr/
  • https://www.ultratools.com/tools/zoneFileDump
  • http://hackertarget.com/zone-transfer/

В случае успеха, мы получаем все DNS-записи:

Разумеется, это не всегда получится (не все dns-сервера отдают инфу кому попало), да и не у всех сайтов вообще есть поддомены. Если не получилось узнать с помощью AXRF, стоит воспользоваться брутфорсером поддоменов.

https://code.google.com/p/dns-discovery/

Аналогов не нашел, но при желании можно самому накодить подобный скрипт.


4. Сканируем порты. Получив большой список поддоменов, IP, мы натравливаем сканер портов, например nmap:

И разумеется не только в дефолтном режиме (об этом напишем в других статьях).

Мы должны определить все открытые порты, сервисы, ОС.

Если нет желания палить собственный IP, или лень разбираться с nmap то можно воспользоваться сервисами:

  • http://hideme.ru/ports/
  • https://pentest-tools.com/discovery-probing/tcp-port-scanner-online-nmap
  • http://mxtoolbox.com/PortScan.aspx
  • http://www.t1shopper.com/tools/port-scan/
  • https://w3dt.net/tools/portscan
  • http://scannmap.com/
  • http://nmap.online-domain-tools.com/

Возможно найдется рабочий эксплоит под какой-то из сервисов/демонов, может быть сможем сбрутить ftp, ssh, rdp, и тогда даже не нужно будет возиться с веб-приложением. В любом случае — чем больше информации о цели, тем проще найти лазейку.


5. Хостинг.

Способы определения хостинга:

5.1. Домен третьего уровня (к примеру - target.freehosting.com, кто является хостером, очевидно).

5.2. Реклама на сайте. Частенько, фрихостинги пихают свою рекламу во все возможные места - popup, iframe, шапка, футер. В таком случае, определить хостинг не составляет труда.

5.3. 403/404. Пробуем открыть заведомо несуществующую страницу (вызвать ошибку 404). Или попытаемся вызвать ошибку 403 - пробуем зайти в папки /admin/, /images/ и т.д. Очень часто мы увидим заглушку от хостера.

5.4. index.html. При создании нового сайта в этом файле может находиться заглушка от хостера.

5.5. NS-записи. Изучая ns-записи, мы можем столкнуться с тремя ситуациями:

  • Сайт: target.com
  • ns-записи: ns1.hosting.com, ns2.hosting.com
  • Наиболее распространенный случай на shared хостингах. Хостингом является hosting.com.
  • Сайт: target.com
  • ns-записи: ns1.target.com, ns2.target.com
  • Владелец сайта использует свои собственные dns-сервера. Вероятно это VDS/DS.
  • Сайт: target.com
  • ns-записи: ns1.freedns.com, ns2.freedns.com
  • Владелец сайта использует сторонние dns-сервера. Вместо freedns.com может быть любой другой подобный сервис.

5.6. Проверяем данные по IP адресу. Смотрим на e-mail для контакта. Выглядят они как admin@superhost.com. Очевидно, что стоит смотреть на сайт superhost.com. Это может быть мыло как хостера, так и датацентра, где хостер арендует/держит серваки. В любом случае, хоть какая-то информация.

5.7. Заходим по IP адресу. Т.е. если Ip сайта - 123.123.23.23, мы вбиваем в браузере http://123.123.23.23/ и смотрим, что нам выдаст веб-сервер. У крупных хостеров стоит заглушка (по которой мы хостера резко и чотка опознаем). У мелких хостеров мы увидим либо вход в панель управления (ISP и подобные), либо один из сайтов, которые находятся на данном сервере.

5.8. Reverse DNS lookup. На линухе достаточно пингануть IP, на винде - использовать nslookup. Хостинг получается определить благодаря тому, что в PTR записях обычно используется название хостинга:

Например тут видно, что хостер - webhost1.ru. Для получения тех же результатов можно воспользоваться одним из сервисов:

  • http://remote.12dt.com/lookup.php
  • http://www.dnsqueries.com/en/reverse_lookup.php
  • http://mxtoolbox.com/ReverseLookup.aspx
  • http://www.dnswatch.info/
  • http://www.reverse-dns.org/
  • http://rdnslookup.com/
  • http://www.lookupserver.com/

5.9. Traceroute. Воспользуемся штатной утилитой traceroute (в винде - tracert).

Благодаря трассировке, мы узнаем не только хостера, но и дата-центр (в данном случае это hetzner.de) Ежели лень наша не знает границ, мы опять таки, воспользуемся онлайн-сервисами:

  • http://traceroute.monitis.com/
  • http://www.ip-ping.ru/tracert/
  • http://russianproxy.ru/traceroute
  • http://centralops.net/co/
  • http://traceroute.nmonitoring.com/
  • http://www.tracert.org/traceroute/
  • http://www.subnetonline.com/pages/network-tools/online-traceroute.php

5.10. SMTP. Делаем коннект на 25 порт. Если там висит почтовый сервис, он нам сходу выдаст имя хоста (способ похож на предыдущие 2 - определяем хостинг по имени хоста).

Набираем:

telnet

o firststeps.ru 25

Видим:

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

  • http://www.adminkit.net/telnet.aspx
  • http://telnet.browseas.com/
  • http://www.linestarve.com/telnet/

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

Проделав вышеописанные операции мы с вероятностью в 90% определим хостинг сайта. Исключение составят те случаи, когда IP сайта скрыт сервисами типа cloudflare или чем-то подобным.

Итак, что мы можем узнать, зная хостинг:


Виртуальный хостинг. Топаем на сайт хостера, изучаем сайт, изучаем форум, если он есть. Читаем FAQ. Можно даже оплатить аккаунт или взять тестовый, чтобы изучить хостинг вдоль и поперек. Смотрим, как происходит восстановление пароля, как происходит взаимодействие с техподдержкой. Работает ли ftp, ssh, что возможно сделать через панель хостера. Есть ли WAF. Какие настройки php (можно попросить показать вывод функции phpinfo()).

Узнаем, были ли взломы сайтов данного хостера. Если были, то как это происходило, есть ли дыры сейчас.

Если сайт находится на платформе типа ucoz, blogspot или подобных, то поиск уязвимостей на сайте равносилен поиску уязвимостей на самой платформе (что существенно усложняет задачу). Однако, есть плюс в том, что мы можем использовать методы социальной инженерии не только к владельцу сайта, но и к техподдержке хостинга.


VPS/VDS/DS. Если хостер так и не определен, то скорее всего мы имеем дело с выделенным сервером. В некоторых случаях это может быть арендованный сервер в дата-центре, может и домашний комп со белым IP, который не выключают сутками. Есть шанс, что админ выделенного сервера не настолько опытен, как админы крупных хостингов, и совершил ошибки при настройке сервера.

Данные phpinfo() на некоторых хостингах:

  • 1and1 | http://res.championik.com/htests/info.php
  • 1gb | http://younumberone.ru/htests/info.php
  • Agava | http://redhappy.ru/htests/info.php
  • Aiwebhost | http://hosting-ninja.su/htests/info.php
  • Anhosting | http://videperez.ru/htests/info.php
  • Arvixe | http://cofemug.ru/htests/info.php
  • Awardspace | http://liniauspeha.ru/htests/info.php
  • Beget | http://77secrets.ru/htests/info.php
  • Canadian | http://kaizenman.com/htests/info.php
  • Domishko | http://mediapriz.ru/htests/info.php
  • Dreamhost | http://www.monsterpapa.ru/htests/info.php
  • Eomy | http://teloboga.ru/htests/info.php
  • Eskhosting | http://mediaboomer.ru/htests/info.php
  • EuroByte | http://hosting-ninja.mobi/htests/info.php
  • FastWebHost | http://5hostel.ru/htests/info.php
  • FullSpace | http://infobusiness.me/htests/info.php
  • Gigahost | http://xtremer.ru/htests/info.php
  • Host-ed | http://3tatushki.ru/htests/info.php
  • hostcab.ru | http://voskotop.ru/htests/info.php
  • Hostenko | http://www.10mind.ru/htests/info.php
  • Hoster | http://www.bigvalueforyou.ru/htests/info.php
  • Hoster.ru http://www.bigvalueforyou.ru/htests/info.php
  • HostGator | http://longlifesecret.ru/htests/info.php
  • Hostia | http://3volhva.ru/htests/info.php
  • Hostiq | http://hninja.ru/htests/info.php
  • HostMonster | http://japanhost.ru/htests/info.php
  • HostPapa | http://drwhite.ru/htests/info.php
  • HTS | http://champion-of-live.com/htests/info.php
  • InMotion | http://1popoff.ru/htests/info.php
  • iPage | http://mylonglife.ru/htests/info.php
  • iPipe | http://slovosovesti.ru/htests/info.php
  • ISPserver | http://suncenter-ufa.ru/htests/info.php
  • It-mcp | http://arenda-spartak.ru/htests/info.php
  • Jino | http://newgenerationman.ru/htests/info.php
  • justhost | http://redmoneymaker.ru/htests/info.php
  • Logol | http://vashapilorama.ru/htests/info.php
  • Mainhost | http://hosting-ninja.org/htests/info.php
  • Majordomo | http://delaemblog.ru/htests/info.php
  • Mchost | http://hosting-ninja.biz/htests/info.php
  • Megahoster | http://hosting-ninja.me/htests/info.php
  • Onelim | http://hosting2vps.ru/htests/info.php
  • Radiushost | http://ruporpravdi.ru/htests/info.php
  • redhosting | http://videoboomer.ru/htests/info.php
  • Reg.ru | http://www.10hostel.ru/htests/info.php
  • Relevate | http://moneyinself.ru/htests/info.php
  • Rusonyx | http://champion-of-russia.com/htests/info.php
  • RX-name | http://listmetala.ru/htests/info.php
  • Siteko | http://champion-of-life.ru/htests/info.php
  • SpaceWeb | http://zapuskbloga.ru/htests/info.php
  • sprinthost | http://money-money-money.ru/htests/info.php
  • Superb.net | http://krasapolei.ru/htests/info.php
  • TAGhosting | http://hostrix.ru/htests/info.php
  • TimeWeb | http://99secrets.ru/htests/info.php
  • Tuthost | http://video-dragon.ru/htests/info.php
  • UnixHost | http://uspehiudacha.ru/htests/info.php
  • Versio | http://kaizenman.ru/htests/info.php
  • WebGuard | http://trepetvetra.ru/htests/info.php
  • Yutex | http://7hostel.ru/htests/info.php

Эта инфа выдрана с сайта hosting-ninja.ru (там чуть больше хостингов).

Наиболее интересны для нас следующие директивы php:

  • allow_url_fopen - поддержка оберток URL (URL wrappers), которые позволяют работать с объектами URL как с обычными файлами.
  • allow_url_include - возможность использования URL в функциях include, include_once, require, require_once (одно из основных условий для уязвимости RFI).
  • display_errors - опция отвечающая за отображение ошибок в выводе страницы, если отключена, то вы не увидите ничего вроде "Warning:....", "Deprecated:....", "Fatal error:....", "Parse error:....", либо пустой экран, либо вывод без ошибок (основное условие для уязвимости FPD).
  • expose_php - если включена, то в заголовках ответа можно узнать версию php
  • file_uploads - опция, разрешает/запрещает загрузку файлов на сервер, с помощью php (могут возникнуть сложности при заливке шелла).
  • magic_quotes_gpc - автоматическое экранирование кавычек, двойных кавычек, нулл-байта, обратного слеша обратным слешем в данных полученных из Get/Post/Cookie (могут возникнуть сложности при эксплуатации SQL-инъекций)
  • register_globals - уже редкость, чаще всего отключена. Если включена, то есть возможность передавать значения переменных через get, post, cookie.
  • safe_mode - безопасный режим. Много ограничений, включается запрет функций использования команд.
  • safe_mode_exec_dir - если включено, то можно запускать команды в пределах указанной директории (у недалеких админов бывает равно "/", что сводит на нет эту директиву).
  • disable_functions - Отключенные функции (чаще всего отключают функции выполнения команд).

6. Reverse-IP. На одном IP и на одном сервере может находится множество сайтов:

Не существует 100% способа узнать все сайты на одном IP. Онлайн сервисы позволяют находить сайты на одном IP только благодаря большим базам (парсят денно и нощно). Поэтому необходимо использовать максимальное кол-во сервисов reverse-ip:

  • http://www.yougetsignal.com/tools/web-sites-on-web-server/
  • http://reverseip.domaintools.com/
  • http://ipaddress.com/reverse_ip/
  • http://www.iwebtool.com/reverse_ip
  • http://www.ipfingerprints.com/reverseip.php
  • http://viewdns.info/reverseip/
  • http://www.majesticseo.com/reports/neighbourhood-checker
  • http://www.myipneighbors.com/
  • http://logontube.com/reverseip/
  • http://www.tcpiputils.com/domain-neighbors
  • http://ip-www.net/
  • http://www.ip-address.org/reverse-lookup/reverse-ip.php
  • http://bgp.he.net/ip/
  • http://bing.com/?q=ip:xxx.xxx.xxx.xxx

Сайты меняют хостинг, домены дропаются, поэтому полученные данные надо обязательно перепроверять. Если IP-адреса сайтов совпадают, можно утверждать, что они находятся на одном сервере. В некоторых случаях сайты могут находится на одном сервере, даже если у них различается последний октет IP адреса - 121.1.1.1, 121.1.1.2, 121.1.1.3.


7. SEO-параметры.

Узнаем основные seo-параметры сайта:

1. Тиц. PR. Яндекс-каталог. DMOZ.

2. Беклинки

3. Внешние ссылки.

Получив все эти данные мы можем сделать несколько выводов.

Во-первых, мы узнаем, на какую примерную сумму можно рассчитывать, если продавать доступ к данному сайту(50 шекелей? 30? 10?).

Во-вторых, мы можем проверить совпадают ли IP беклинков и внешних ссылок с IP цели. Если есть совпадения, то мы можем предположить, что эти сайты находятся не только на одном сервере, но и на одном аккаунте хостинга. Это означает, что достаточно взломать всего 1 сайт и мы автоматом получим доступ к остальным (которые совпали).

Объясню прошлый абзац. Представьте, что есть фрилансер Феофан Крохоборов. Феофан делает сайты. И берет за них деньги. А чтобы заработать больше денег, Феофан размещает сайты своих клиентов на одном аккаунте хостинга (в итоге Феофану платят 10 человек по 100р в месяц за хостинг, а сам Феофан платит за хостинг 50р в месяц, выгода!) Только Феофан не осознает, что взломав даже 1 сайт из 10, подлый хацкер получит доступ и ко всем остальным 9. А вычислят Феофана легко - он везде ставит линк на основной сайт ("Сделано в студии Феофана КРохоборова"), а если он прочитал пару статей по SEO, то еще и перелинкует все ресурсы.

Если на сайте target.com используется счетчик liveinternet, то получить статистику можно по следующим ссылкам:

  • http://counter.yadro.ru/values?site=target.com
  • http://counter.yadro.ru/hit?t27.1;uhttp://target.com

Если счетчиков нет, то можно попробовать определить кол-во трафика через AlexaRank. Это актуально для бурж сайтов.


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

8.1. Смотрим футер сайта, ищем надпись, кровоточащую эгоизмом и завышенной самооценкой, что-то вроде "Элитарная студея разрабатывания сайтингов". Переходим на сайт, если линк активный, либо гуглим название.

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

8.3. Проверяем мета-теги, комментарии. Ищем что-то в духе:

<meta name="author" content="Petroff Studio">

или:

<!-- super-site by artemka-diz.ru -->

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

8.5. Спросить владельца сайта. Ссым в уши, дескать, дизайн вашего сайта настолько великолепен, что мы не можем не спросить вас, кто же создал такое дивное чудо, достойное вершин поисковой выдачи и сотен тысяч WMZ. Нередки ситуации, когда создатель сайта == владелец сайта.

Когда нам становится известно, кто являлся разработчиком сайта, у нас появляется несколько лазеек:

  • Мы можем сделать заказ на разработку сайта (разумеется если CMS самописная) и получить исходники. Изучить их вдоль и поперек и найти все возможные дыры. Велик шанс, что в сайт вшит дефолтный пароль или бекдор.
  • В процессе общения, разработчику легко пихнуть троян и получить доступ к сохраненным логинам/паролям и исходникам.
  • Если общение с разработчиком неуместно или не дало результатов, мы будем ломать все сайты в портфолио (если это реально, разумеется). В случае успеха - скачиваем исходники и ищем уязвимости. И потом пробуем пароли со взломанного сайта к другим ресурсам в портфолио. Крайне эффективная методика.
  • Если совсем ничего не получилось, информацию о разработчике можно использовать для атаки с использованием социальной инженерии. Рассылаем по клиентам "свежее обновление", "патч", "заплатку", просим предоставить логин/пасс. Я уверен вы придумаете что-нибудь поинтересней.


9. Контакты. Достаточно мельком взглянуть на сайт, чтобы найти контакты:

contacts2

Нас интересует все. Телефоны, e-mail, skype, icq, jabber, facebook, linkedin, формы обратной связи, фактический адрес (снимок Google Earth со спутника добавит нотку экзотики). Каждый из контактов - возможная зацепка, возможный способ взлома.


10. Сотрудники. Если на сайте есть список сотрудников, то все становится еще веселее - атака с применением социальной инженерии будет особенно эффективной. Собирайте всю информацию по сотрудникам - адреса, контакты, дни рождения, аккаунты соцсетей, фотографии с работы (можно найти очень интересные данные). Если работаете по буржу, можете воспользоваться сервисами поиска:

  • pipl.com
  • people-search сервисы
  • people.yahoo.com
  • address.com
  • www.123people.com
  • zabasearch.com
  • wink.com
  • publicpeoplefinder.com
  • peoplefinders.com
  • peoplelookup.com

Обязательно ознакомьтесь с утилитой maltego - великолепная штука для сбора информации (хорошее описание есть тут - http://habrahabr.ru/post/73306/).

Фактически, чем больше в конторе сотрудников, тем больше шансов, что найдется долбоеб, готовый запустить crober_priv8_bootkit.exe, предварительно отключив антивирус и файрволл (и взлом сайта будет лишь приятным дополнением).

Хорошая иллюстрация вышесказанного:

11. Вакансии.

 Если фирма крупная, имеет смысл просматривать сайты с вакансиями.

Рунет:

  • http://www.job.ru/
  • http://www.avito.ru/
  • http://zarplata.ru/
  • http://www.superjob.ru/
  • http://rabota.ru/
  • и т.д.

Бурж:

  • http://www.job-hunt.org
  • http://usa.jobs/
  • http://www.monster.co.uk/

Будет повод вступить в переписку, отправить троян или в конце концов устроиться на нормальную работу ("...и вынести все под ноль" (с) Не грози южному централу). Если вам повезло и вакансия IT-шного характера, можно выудить массу информации о настройках сервера, используемых фреймворках, получить тестовый доступ и т.д.


12 Конкурентная разведка. Она же бизнес-разведка или деловая разведка.

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

Если мы ломаем топовую фирму, работающую в высококонкурентной сфере, или крупную организацию (коммерческую, некоммерческую, государственную) то даже крупицы информации могут сыграть ключевую роль. Вместо тысячи слов - http://www.slideshare.net/SkillFactory/10-27807036

Разумеется, если цель - сайт вашей школы, то смело пропускайте этот пункт. Да и вообще, как вы до сюда дочитали? Тут нет ни читов, ни ддос-ботов, ни локеров...


13. Смотрим веб-архив. Заходим на интернет-архив(http://archive.org/web/):

И смотрим, что было раньше с сайтом:

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

Вообще очень полезный инструмент во всех отношениях.


14. Поисковые системы. Если вам нужно изучить контент сайта, но не хочется следить в логах, можно изучить сохраненной копией страницы (к примеру в Google, но это фича доступна и для других поисковиков).

Мы также можем найти ошибки и многое-многое другое. Если вам не знаком термин Google-hacking, то вот вам блиц курс:

1. Читаем ман https://support.google.com/websearch/

2. Используя полученные знания ищем инфу по всем операторам поиска Google.

3. Бонус. Гуглим про гугль-хакинг.

Используем Google-хакинг супротив нашей цели:

  • Поиск папок открытых на просмотр:
  • site:target.com intitle:index.of
  • Поиск файлов с настройками:
  • site:target.com ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini
  • Поиск файлов с бекапами БД:
  • site:target.com ext:sql | ext:dbf | ext:mdb
  • Поиск файлов с логами:
  • site:target.com ext:log
  • Поиск бекапов:
  • site:target.com ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup
  • Поиск админки:
  • site:target.com inurl:login
  • Поиск ошибок, говорящих о SQL-инъекциях:
  • site:target.com intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:"Warning: mysql_query()" | intext:"Warning: pg_connect()"
  • Поиск документов:
  • site:target.com ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv
  • Поиск файла с phpinfo():
  • site:target.com ext:php intitle:phpinfo "published by the PHP Group"

Еще больше дорков (дорк - это хитрый запрос для получения информации) тут - http://www.exploit-db.com/google-dorks/. Вообще в сссрнете по разному трактуют слово "dork", учитывая что простой перевод с английского дает черти-что ("мужлан", "придурок"), а судя из контекста, очень сложно дать единственно верную, точную формулировку.

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

И не зацикливайтесь только на гугле, используйте все поисковики:

  • Google
  • Yandex
  • Bing
  • Yahoo
  • Shodan (!!!)
  • DuckDuckGo

Shodan - весьма непривычный поисковик. Всю мощь его можно оценить, вбив в поиск "default password" или "nuclear". Ищет не по контенту сайтов, а по http-заголовкам, IP, баннерам сервисов на разных портах и т.д. К сожалению без регистрации можно делать не более 10 запросов (прокси никто не отменял) и выдача серьезно ограничена. С регистрацией - 50.

15. Проверка на virustotal/blacklist's. Вполне может быть, что раньше сайт/сервер ломали. И можно найти что-то интересное. Заходим на вирустотал:

Выбираем "Найти". И вуаля:

Все уже поломано до нас. Если кто-то смог, то и мы сможем) А может и шелл до сих пор не удалили и пароль стоит по умолчанию...

Разумеется не стоит ограничиваться исключительно virustotal'ом.


Заключение

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

В следующей части мы уже вплотную займемся веб-приложением.


Report Page