Google - лучший друг хакера
Перепост с : http://bozza.ru
За последние несколько лет появилось множество статей, которые предупреждают о том, что хакеры (или cracker'ы, если хотите) используют поисковую систему google для получения доступа к файлам, к которым, по идее, они доступа иметь не должны. То, что я расскажу вам, возможно, кто-то уже давно использует в своих целях, но мне всегда было интересно самому узнать, как это работает. В 2001 году, James Middleton написал статью для vnunet.com, в которой шла речь об использовании хакерами специальных слов в поисковой машине google, для нахождения важной банковской информации:
"В сообщении, находившемся в одной из security конференций было сказано, что введя 'Index of / +banques +filetype:xls' в строку поиска, в конечном счете можно было заполучить важные / секретные таблицы Excel из Французских банков. Та же самая технология может быть использована для поиска файлов с паролями"[1]
В другой статье, которая появилась на wired.com, рассказывается, как Adrian Lamo, хакер часто попадающий в сводки компьютерных преступлений, использовал Google, чтобы получить доступ к web сайтам крупных корпораций.
"Например, введя фразу "Select a database to view" - обычная фраза, используемая в FileMaker Pro database interface" - Google выдает примерно 200 ссылок, большинство из которых ведут на страницу с доступом к FileMaker для всех пользователей."[2]
Подобные статьи продолжали и продолжали появляться в internet. Правительственные и Военные сайты Соединенных Штатов были тоже уязвимы, потому что скрипты используемые админами, можно было легко найти с помощью google. Медицинские карты, личные записи - все могло неожиданно оказаться в руках пользователей этой поисковой системы. Но в статьях никогда не было описано, как можно использовать Google в "таких" целях. Даже пример строки, которую вводил хакер не предоставлялся широкой аудитории. После того, как я последний раз прочитал подобную статью, я решил, что пора самому во всем разобраться - действительно ли google позволяет делать все то, о чем так много раз упоминалось в различных докладах. Следующий текст является результатом моих исследований.
Теория
На самом деле, теория очень проста. Чтобы получить интересующую вас информацию, вам нужно попробовать представить, в каких файлах эта информация может находиться, а затем просто попытаться их найти. (Например, попробуйте поискать *.xls файлы). Или же вы можете избрать более интересный подход - подумать, какой софтустановленный на атакуемой машине, предоставляет возможность выполнять нужные вам задачи, затем ввести критические/опасные файлы этого программного обеспечения в строку поиска. Примером может послужить система управления содержанием сайта (content management system). Вам нужно исследовать эту систему, выяснить, какие файлы она в себя включает, а затем воспользоваться google. Но вернемся к примеру о базе данных, рассмотренном чуть выше. Вы знаете, что строка "view database" находится на тех web страницах, которые не должны быть вам доступны. Следовательно, вам остается только найти страницы, в которых содержится данная строка или же узнать, что, например, опция "view database" ссылается на страницу "viewdbase.htm", то есть ее и надо будет ввести в строку поиска.
Самое главное - четко поставить перед собой цель и знать, что вы хотите найти. Только после этого вы можете воспользоваться Google.
Опции поиска Google
Специальные типы файлов: *.xls, *.doc, *.pdf *.ps *.ppt *.rtf
Google позволяет искать специальные типы файлов, то есть, как результат поиска, вы получаете не html-страницы (web сайты), а, например, файл Microsoft Excel. Вот что нужно ввести в строку поиска:
Filetype:xls (для файлов excel) или filetype:doc для файлов Word.
Наверное, будет интереснее найти файлы *.db и *.mdb. Можно поискать и другие типы файлов. Первое, что приходит на ум - *.cfg или *.pwd, *.dat файлы и т. п. Сначала подумайте, какие файлы могут содержать ценную информацию.
Inurl
Еще одна полезная опция при поиске - inurl: опция, которая позволяет искать заданные слова в url. Это дает вам возможность искать нужные каталоги.
Пример: inurl:admin Результатом поиска станут web-сайты, у которых в url имеется слово "admin".
Index of
Опция "index of" тоже не до конца продумана разработчиками google, но нам она очень пригодится. Если вы используете опцию "index of", то как результат, google вам покажет листинг директории на сервере. Вот пример:
"index of" admin или index.of.admin В результате вы получите листинг множества директорий 'admin'.
Site
Опция "site" позволяет показывать результаты поиска только по определенному домену или сайту. Например, вы можете искать как на всех .com или .box.sk или .nl сайтах, так и только на одном сайте. Будет очень интересно поискать на военных и правительственных сайтах. Вот пример строки поиска:
Site:mil или site:gov
Site:neworder.box.sk "board"
Intitle
Intitle - еще одна интересная опция. Она позволяет вам искать html файлы, в заголовке которых присутствует нужное вам слово или комбинация слов. Строка поиска при этом будет выглядеть так: intitle:здесь_слово. Вы можете узнать, какие слова присутствуют в заголовке, скажем, той же системы управления содержанием сайта, а затем искать эти слова в google, используя при этом опцию Intitle. В результате, вы получите доступ к подобным системам на других сайтах.
Link
Опция Link позволяет вам узнать, на каких web страницах есть ссылка на указанный вами сайт. Как описано в книге 'Hacking Exposed Third Edition' (Секреты Хакеров Третье Издание), эту опцию мы также можем использовать в своих целях.
Комбинируем опции при поиске
Все вышеупомянутые опции могли быть, а могли и не быть вам известны. В любом случае, используя их, мы получим интересный результат. Факт остается фактом - свою магическую силу google проявляет тогда, когда мы начинаем комбинировать друг с другом эти опции. Например, можете попробовать поискать это:
inurl:nasa.gov filetype:xls "restricted" или это: site:mil filetype:xls "password" или может быть это: site:mil "index of" admin
(Эти примеры я взял из головы и не знаю, выдаст ли google что-нибудь интересное. Вам необходимо найти такое сочетание опций, чтобы получить ожидаемый результат).
Примеры; Практический Материал
Специальные типы файлов: *.xls, *.doc, *.pdf *.ps *.ppt *.rtf
Для начала, попробуйте поискать те файлы, в которых, вы думаете, находится интересующая вас информация. Для меня очевидным выбором стали следующие вещи:
Password, passwords, pwd, account, accounts, userid, uid, login, logins, secret, secrets. Конечно, все эти слова я искал с расширением *.doc, *.xls и *.db
Вот и появились первые интересные результаты, особенно, если искать файлы с расширением *.db. Правда, пароли я также находил и в *.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, в большинстве случаев, конфигурационный файл админа. Многие разработчики софта также используют имена типа "config", "admin" или "setup". Часто такие файлы содержат чувствительную информацию и поэтому они не должны быть доступны большинству людей. Я попытался поискать файл admin.cfg, используя следующую строку поиска:
inurl:admin.cfg "index of"
В результате, google выдала множество файлов, среди которых были очень интересные ;). Я, например, нашел файл: http://www.alternetwebdesign.com/cgi-bin/directimi/admin.cfg, в котором находились пароли Один пароль был от базы данных, которая находилась по адресу: http://www.alternetwebdesign.com/cgi-bin/directimi/database.cgi?admin.cfg. В базе данных находилась конфиденциальная информация клиентов этой компании. Я решил связаться с этой компанией и рассказать об уязвимости. Люди там оказались дружелюбные и сказали, что в ближайшее время постараются залатать брешь.
Webadmin
Некоторое время назад, когда я работал над этой статьей, я зашел на web сайт:
http://wacker-welt.de/webadmin/
Там было написано, что "webadmin" позволяет удаленно редактировать содержимое web сайта, загружать файлы и т.д. Главная страничка центра управления (control center) webadmin называется "webeditor.php". Очевидно, что следующим моим шагом стало посещение google и использование опции 'inurl', чтобы найти страницы webeditor.php. Вот, что я ввел в строке поиска:
inurl:webeditor.php
и вот, что я нашел:
http://orbyonline.com/php/webeditor.php
http://www-user.tu-chemnitz.de/~hkri/Neuer%20Ordner/webeditor.php
http://artematrix.org/webeditor/webeditor.php
http://www.directinfo.hu/kapu/webeditor.php
Ко всем этим файлам доступ был неограничен, а все потому, что владельцы сайтов не потрудились поставить (правильно) защиту, используя .htaccess. Подобная ошибка позволяет абсолютно любому пользователю интернета заменять web страницы на сервере, а, следовательно, и дефейсить сайт. Возможность загружать свои файлы дает возможность получить полный доступ к серверу.
Походив по этим сайтам, я заметил, что файл, позволяющий загружать файлы, называется "file_upload.php". Затем в дело вступает google.
http://www.hvcc.edu/~kantopet/ciss_225/examples/begphp/ch10/file_upload.php
Вот хороший пример:
http://www.pelicandecals.com/admin/webeditor.php
Данный скрипт позволяет вам изменять файлы, как и в предыдущих примерах, включая index.php. По идее, любой заинтересованный человек может изменить существующий или загрузить свой скрипт на сервер и выполнить его. О последствиях, думаю, упоминать не стоит.
Там также присутствовала ссылка "Return Administration", кликнув по которой, я оказался здесь:
http://www.pelicandecals.com/admin/administration.html
Тут была доступна информация о покупателях, возможность менять цены на товары и т.д.
Системы управления содержанием сайта
Системы управления содержанием сайта - это программы, позволяющие web мастерам редактировать, изменять содержимое web сайта. Тоже относится и к панелям управления web сайтов. Суть заключается в том, что вам надо определить, какие файлы являются ключевыми в данном продукте. Таким файлом может быть "cms.html", "panel.html" или "control.cfg".
Frontpage Server Extensions HTML Administration Forms
"Вы можете удаленно администрировать FrontPage Server Extensions с любого компьютера, подключенного к internet, используя FrontPage Server Extension HTML Administration Forms."
Вот, что говорит об этом документация Microsoft. Это значит, пользователи, имеющие доступ к этим формам, могут выполнять некоторые функции администратора, удаленно. А это значит, что формы должны быть хорошо защищены от неавторизованных пользователей. Ну что, как насчет поискать такие формы в интернете? Первое, что нам нужно сделать - выяснить, какие файлы использует этот софт Краткий визит на web сайт Microsoft или беглый взгляд в документацию FrontPage покажет, что главной страницей всех форм администратора является "fpadmin.htm". Именно этот файл мы и будем искать. Но, сначала, мы должно правильно подобрать те опции, которые будут использоваться в строке поиска, чтобы получить нужный нам результат. Если проводится установка по умолчанию, то все файлы помещаются в директорию "admin". Вспомнив все, что мы узнали об опциях google и теории поиска, ожидаемый результат может выдать строка поиска типа:
inurl:fpadmin.htm "index of" admin или inurl:admin/fpadmin.htm
А вот и полученные при поиске результаты:
http://www.lehigh.edu/~ineduc/degree_programs/tbte/admin/
http://blackadder.eng.monash.edu.au/frontpage/admin/
http://www.lehigh.edu/collegeofeducation/degree_programs/tbte/admin/
http://www.vsl.gifu-u.ac.jp/freeman/frontpage4/admin/
http://www.tech-geeks.org/contrib/loveless/e-smith-fp-2002/frontpage/version5.0/admin/1033/fpadmin.htm
http://fp.nsk.fio.ru/admin/1033/fpadmin.htm
Вот что еще написано в документации к FrontPage:
"Из соображений безопасности, HTML Administration Forms сразу после установки не активны, что не позволит удаленно администрировать FrontPage из web браузера."
Это означает только одно - некоторые ссылки, которые выдала нам поисковая система google, могут оказаться бесполезными и есть только один способ проверить их работоспособность - попробовать воспользоваться некоторыми функциями администратора и посмотреть на результат. Я решил не заходить так далеко, чтобы не нарушать закон. Но я здесь не для того, чтобы учить вас хорошим манерам, по крайней мере сегодня.
Freesco Router
Программное обеспечение Freesco router для Linux по умолчанию устанавливает маленький браузер, который позволяет владельцам контролировать работу роутера через http протокол. По умолчанию, логин и пароль для панели управления - "admin". Очень многие пользователи freesco не знают об этом. Вы можете поискать панель управления Freesco роутеров, использую следующую строку:
intitle:"freesco control panel" или "check the connection" эти слова находятся либо в заголовках страниц, либо на самих страницах. Все сводится к одному - вы должны изучить софт найти те его части, которые отвечают за что-то важное (та же страница администратора) и составить такую строку, воспользовавшись которой, вы получите доступ к этим самым частям.
Дополнительные советы
- Запомните, Английский, самый распространенный в интренете язык, но он не единственный. Пробуйте искать слова или строки из вашего родного языка или Французского или Немецкого и т.д. Например, "beeheer" по-немецки означает "администрация".
- Вы можете использовать строки из списка уязвимостей любого сканера безопасности (security scanner). За примерами можно обратиться сюда: http://paris2k.at.box.sk/listings/
- Пробуйте искать файлы "config.inc.php" или "mysql.cfg" - они могут содержать комбинации логин-пароль от базы данных MySQL Попробуйте в строке поиска использовать слова PHP SQL, mySQL и т.д.
- Попробуйте следующие комбинации: inurl:admin "index of" "database" или inurl:phpmyadmin "index of" или inurl:mysql "index of" site:neworder.box.sk intitle:index.of или intitle:index.of.private( = intitle:"index of private")
Заключение
Internet - это сеть, к которой подключены сотни тысяч, а то и миллионов web серверов и по идее, можно получить доступ к любым данным, конечно, если они не защищены подобающим образом. Как разработчики программного обеспечения, так и конечные пользователи должны уделять больше внимания конфигурации защиты, устанавливаемой по умолчанию и политике безопасности. В конце концов, всегда найдутся люди, которые допускают ошибки, устанавливают все по умолчанию, используют плохо защищенное программное обеспечение и совсем об этом не беспокоятся или все еще верят, что ничего не произойдет если они поместят все это в таком виде в интернет. Но все же находятся любопытные личности, которым нравится находить интересную информацию не для посторонних глаз. Google может вам значительно помочь в таких делах, к тому же это совсем не трудно.