Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #134, ФЕВРАЛЬ 2010 г.

Большой FAQ

Маг (icq 884888, snipper.ru)
Степан «Step» Ильин (twitter.com/stepah)


КОНКУРС

Автор самого интересного вопроса получит в подарок 4G USB-модем Samsung SWC-U200 для работы в сети Yota.

Q: Обожаю копаться в коде различных движков. Какие CMS наиболее популярны в Сети?

A: Сейчас существуют сотни, если не тысячи, более или менее популярных веб-движков, каждый из которых широко известен только в какой-либо стране или сегменте Сети. Поэтому я не возьмусь сам составлять такой топ (любой топ по наиболее используемым CMS будет крайне субъективным), а воспользуюсь уже готовым мнением специалистов портала tutsplus.com.

  1. WordPress - твердое первое место (http://wordpress.org; 116,000,000 результатов в Гугле по запросу «powered by wordpress»);
  2. Drupal - не менее популярный движок, используемый небезызвестным whitehouse.gov (http://drupal.com; получить примерное представление о количестве установленных движков можно в Гугле по запросам «inurl:node/N», где N - любое число);
  3. Joomla! - наиболее любимый хакерами движок (http://joomla.org; 22,000,000 результатов в Гугле);
  4. ExpressionEngine - темная лошадка в топе, распространяется на платной основе и почти не используется в странах СНГ (http://www.expressionengine.com; 3,530,000 результатов);
  5. TextPattern - также довольно известный движок (http://textpattern.com; по разным запросам Гугл выдает до 500k результатов);
  6. Radiant CMS - простая, но очень мощная CMS (http://radiantcms.org; до 400k результатов);
  7. Cushy CMS - крайне интересная разработка, работающая с чистым HTML и не требующая никакого интерпретируемого языка на сервере (http://www.cushycms.com; более 200k результатов);
  8. SilverStripe - движок, чем-то напоминающий WordPress (http://www.silverstripe.org; более 160k результатов);
  9. Alfresco - мощный движок на JSP (http://www.alfresco.com; более 100k результатов по разным запросам);
  10. TYPOlight - широко известный в СНГ движок (http://www.typolight.org; до 100k результатов по разным запросам).

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

P.S. Также советую обратить внимание на сборники менее популярных движков: http://php.opensourcecms.com, http://cmslist.ru, http://cmsmatrix.org и на известнейшее Open Source комьюнити sourceforge.net.

Q: Пишу свой движок. Встала проблема с совместным использованием библиотек jQuery и Prototype. Как разрешить их конфликт?

A: Как раз на такой случай в замечательном фреймворке jQuery предусмотрена фича noconflict-mode. Использовать ее можно, например, так:

<html>
<head>
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();

// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});

// Use Prototype with $(...), etc.
$('someid').hide();
</script>
</head>
<body></body>
</html>

Подробности и другие примеры использования ищи на официальном сайте jQuery - http://docs.jquery.com/Using_jQuery_with_Other_Libraries.

Q: Существуют ли в настоящее время ресурсы - сборники свежих эксплоитов, подобные почившему milw0rm.com?

A: По мнению большинства участников форумов по безопасности, именно ресурс explo.it (или www.exploit-db.com) является преемником внезапно покинувшего нас милворма. Здесь, как и на milw0rm.com, ты сможешь найти разделы:

  • Remote Exploits (удаленные эксплоиты);
  • Local Exploits (локальные эксплоиты);
  • Web Applications (эксплойты для веб-приложений);
  • DoS/PoC (эксплойты для атак отказа в обслуживании);
  • Shellcode (шелл-коды);
  • Papers (статьи);
  • Search (поиск);
  • D (скачивание всех эксплойтов в одном архиве);
  • Submit (добавление своего эксплоита);
  • Rss (подписка на обновления базы данных эксплоитов).

Также советую не забывать про наших старых знакомых: securityfocus.com и securitylab.ru.

Q: Подскажи примеры запросов для Гугла, по которым можно искать уязвимые сайты.

A: Легко! Вот небольшой список дорков (dorks), разделенный на категории:

1. SQL-инъекции:

inurl:".php?id="
inurl:".php?cat="
inurl:".php?catid="
inurl:".php?num="
inurl:".php?bid="
inurl:".php?pid="
inurl:".php?nid="
inurl:".php?avd="
inurl:".php?file="

2. Local File Inclusion/Remote File Inclusion:

inurl:".php?pagina="
inurl:".php?inc="
inurl:".php?include_file="
inurl:".php?page="
inurl:".php?show="
inurl:".php?cat="
inurl:".php?file="
inurl:".php?path_local="
inurl:".php?phpbb_root_dir="
inurl:".php?path_pre="
inurl:".php?nic="
inurl:".php?sec="
inurl:".php?content="
inurl:".php?link="
inurl:".php?filename="
inurl:".php?dir="
inurl:".php?document="
inurl:".php?view="
inurl:".php?sel="
inurl:".php?locate="
inurl:".php?place="
inurl:".php?layout="
inurl:".php?go="
inurl:".php?catch="
inurl:".php?mode="
inurl:".php?name="
inurl:".php?loc="
inurl:".php?f="
inurl:".php?inf="
inurl:".php?pg="
inurl:".php?load="
inurl:".php?naam="

Таких примеров можно привести бесконечно много, стоит лишь подключить свое воображение :).

Q: Слышал, что в *nix-системах можно очень легко найти файлы, измененные командой touch. Как это сделать?

A: Действительно, команда touch изменяет лишь время модификации файла (mtime) и время доступа на то, что было указано в ее параметрах. Те, кто пользуются командой touch для сокрытия своих шеллов от назойливых глаз админов взломанного ресурса, часто забывают, что у файла также есть и такой забавный атрибут, как ctime (Change Time) - время изменения. Данный атрибут фиксирует время изменения метаданных файла (например, прав доступа, владельца, группы и т.д.). Таким образом, для поиска свежезалитых и спрятанных шеллов админу похаканного сайта достаточно лишь воспользоваться утилитой find следующим образом:

"find [КАТАЛОГ] -ctime -1".

Стоит отметить, что менять данный атрибут можно лишь с правами рута. Для этого существуют специальные средства: http://www.krazyworks.com/changing-time/ и http://www.securiteam.com/tools/5JP0H2K7FE.html.

P.S. Спасибо за информацию участнику Античата (Dm).

Q: Какие еще возможности существуют у системы WebMoney, помимо операций с валютой?

A: WebMoney располагает множеством интересных сервисов. Среди наиболее полезных в нашем деле следует отметить:

  1. Передача файлов. WebMoney создала специальный файлообменник, расположенный по адресу https://files.webmoney.ru. С помощью сервиса ты сможешь не просто обмениваться файлами, но еще и проводить защищенные сделки с другими участниками системы - файлообменник логирует все следы передачи файлов в системе.
  2. Передача игровой валюты - специальный сервис для геймеров, позволяющий продавать, покупать и обменивать внутриигровую валюту, персов, артефакты и другие предметы, присутствующие в популярных многопользовательских онлайн-играх. Найти сервис можно по адресу http://gamelot.ru.
  3. Передача цифровых товаров - небезызвестный Digiseller.ru, позволяющий создавать свои собственные онлайн-магазины.
  4. Защита программ от пиратов (Software activation service) - сервис, позволяющий защитить свой софт от пиратов. Подробности читаем на http://www.softactivation.com/asp/about.asp.
  5. Защита сделок - популярный сервис организации WM-трастов, позволяющих объединяться с предполагаемыми партнерами для формирования совместных вкладов. Находится сервис тут: http://trust.webmoney.ru.

Q: Подскажи, как с помощью PHP отправлять письма с чужого e-mail?

A: С поставленной тобой задачей успешно может справиться небольшой и очень простой скрипт:

<?php
//Параметры письма
$subject = 'Заголовок письма';
$message = 'Текст сообщения';
$from_name = 'Имя отправителя';
$from_mail = 'Адрес отправителя';
$to = 'Адрес получателя';
$priority = 1; //приоритет, от 1 до 3

//Заголовки письма
$body = "$message\n";
$from = "$from_name <$from_mail>";
$headers = "Content-Type: text/html; charset=windows-1251\n";
$headers .= "From: $from_mail\n";
$headers .= "X-Mailer: The Bat! 2005\n";
$headers .= "X-Priority: $priority\n";

//Отправка письма
mail($to,$subject,$body,$headers);
?>

Q: Какие существуют сервисы по предоставлению коротких ссылок для редиректа?

A: Один из самых больших списков таких сервисов составил один из участников форума Античат [Life]: http://forum.antichat.ru/thread169495.html. Перечисленные сервисы бесплатны и предоставляют следующие услуги:

  • статистика по переходам;
  • простой редирект;
  • редирект во фрейме;
  • редирект с рекламой и без;
  • ссылка на редирект вида site.com/string;
  • ссылка на редирект вида subdomen.site.com.

От себя добавлю, что самым известным и стабильным сервисом такого рода является http://tinyurl.com.

Q: Достаточно часто стали приходить SMS-ки с просьбой кинуть деньги на определенный номер, перезвонить, кликнуть по линку и т.д. — словом, сплошь и рядом один лохотрон. Более того - ребята даже не стесняются звонить, называя меня по имени и бросая трубку. Очень хочется подчас пробить телефоны по какой-нибудь базе, но понимаю, что ничего такого в открытом доступе нет. К тому же, непонятно, к какому оператору эти номера принадлежат (и соответственно, к каким людям обращаться за справкой). Так вот: как можно выяснить оператора и регион, к которому относится номер? Ведь это, как и коды городов, должно быть открытой информацией?

A: Да, выяснить оператора и регион, к которому приписана симка, можно совершенно бесплатно, воспользовавшись онлайн-сервисом: http://mtt.ru/info/def/index.wbp. Достаточно указать Код DEF (910, 903 и т.д.), означающий, как правило, оператора и регион, и собственно остаток телефонного номера. Возможно и обратное преобразование. Выбери нужного оператора, область РФ — и получишь все номерные емкости в виде списка. Отличный сервис: не хватает разве что XML-интерфейса.

Q: Самые разные знакомые уже замучили просьбами излечить их компьютер от «блокировки порнушкой, которая закрыла весь экран и просит отправить SMS для того, чтобы от нее избавиться». Причем больше половины из них этим способом не преминуло воспользоваться :). Устал работать «ручным антивирусом». Наверняка же есть автоматические тулзы, как раз нацеленные, чтобы эту дрянь удалить?

A: Ох, скольким я уже помог - не счесть. Теперь, когда времени нет, я просто даю линки на так называемые деблокеры: Unlocker от Dr.Web (www.drweb.com/unlocker/index) и Deblocker от Лаборатории Касперского (support.kaspersky.ru/viruses/deblocker). В каждом из этих онлайн-сервисов необходимо ввести телефона номер, на который предлагается отправить SMS, а сервис в свою очередь предоставляет код для разблокировки.

Q: Что за история с открытой админкой в «Яйце от Yota» - маленьком девайсе, позволяющим расшарить WiMax-инет через Wi-Fi?

A: Нюанс заключается в наличии у устройства двух админок: одной - официальной от оператора Yota, и второй - оригинальной панели администратора, доступной в устройстве Interbro KWI B2200 от производителя. Секрет в том, что всем пользователям предлагается использовать упрощенную и усовершенствованную админку от Yota (192.168.1.1), в то время как оригинальная админка девайса незаметно располагается по адресу 192.168.1.254, а факт ее наличия остается недокументированным. Увы, пароль на последнюю оставался неизменным с завода, и, набрав admin/admin, каждый, кто уже подключился к девайсу по Wi-Fi, мог подключиться и управлять «Яйцом от Yota». Понятно, что, не зная ключа на Wi-Fi (в случае если беспроводная сеть была защищена), подключиться к админке было невозможно. Но если с тобой поделились ключом или ты вообще попал на открытую сеть, то такая атака была возможной. Баг после публичной огласки быстро прикрыли.

Q: Много пишу на JS для сайтов (онлайн-игры). Понял, что многие проверки, реализующие безопасность, использую во многих местах и оформил их в виде небольшого фреймворка. Хотел бы сравнить свое решение с подобными разработками от авторитетных разработчиков. Можете что-нибудь посоветовать?

A: Хотя бы раз, но ты наверняка использовал какую-нибудь утилиту, входящую в проект OWASP (www.owasp.org), который объединяет большое количество программ для людей, занимающихся информационной безопасностью. В рамках этого проекта разрабатывается и OWASP ESAPI4JS (http://code.google.com/p/owasp-esapi-js). Разработанный китайскими хакерами, фреймворк предоставляет большое количество функций, реализующих проверки и фильтрацию ввода, пользователю для того, чтобы быстро писать безопасный JS-код. К тому же, с использованием ESAPI4JS исходники становятся намного читабельнее и опрятнее.

Q: Есть шелл-код в бинарном виде. Как проще преобразовать его в разные форматы: например, в \u4241\u2743\u0D22\u000A, или, скажем, \x41\x42\x43\x27\x22\x0D\x0A\x00? Лениво каждый раз делать это вручную.

A: Есть классная утилита BETA3 (http://code.google.com/p/beta3), позволяющая преобразовать шелл-код из бинарного представления в текстовой вид, причем в 16 различных форматов - любых, какие только могут понадобиться. Рекомендую.

Q: Хочу внутри компании поднять своего поискового робота – что-то вроде Google-бота, который будет серфить внутренние ресурсы и индексировать все данные для дальнейшего поиска. Нужно решение, причем обязательно open-source!

A: Существует немало подобных решений, но я советую начать с изучения следующих проектов:

  • BDDBot (www.twmacinta.com/bddbot) - очень простое, но потому и очень полезное решение, если ты хочешь разобраться, как в принципе устроен поисковик;
  • Sphider (www.sphider.eu) - решение с легко читаемым кодом на PHP, представляющее собой веб-паука, который хранит данные в базе MySQL;
  • OpenWebSpider (www.openwebspider.org) - паук для индексирования данных, оптимизированный именно для работы с веб, в котором реализованы механизмы многопоточности.
  • Nutch (lucene.apache.org/nutch) - реализация поискового механизма на Java;
  • XQEngine (xqengine.sourceforge.net) - поисковик по данным, хранящимся в XML-формате.

Q: Можно ли как-нибудь ограничить учетную запись Windows для запуска строго определенных приложений, и при этом использовать только локальные политики?

A: Такая возможность, наконец-то, появилась в Windows 7. Для этого:

  • запускаем оснастку для управления локальными политиками: выполнить -> «gpedit.msc»;
  • переходим в ветку «User Configuration\Administrative Templates\System»;
  • ищем раздел «System» и в нем ключ - Run only;
  • устанавливаем значение «Enable» и ниже, в секции «Options», нажимаем кнопку «Show» рядом с опцией «List of allowed applications»;
  • в появившемся списке заносим программы, которые разрешены для запуска обычным пользователем.

Защита, прямо скажем, так себе, поэтому если нужно действительно серьезное ограничение на запуск программ, то лучше взглянуть в сторону технологии Applocker, также появившейся в Windows 7.

Q: Для своей небольшой компании хочу организовать автоответчик с меню, которым может воспользоваться дозвонившийся человек. «Нажмите 0 для связи с секретарем, 1 - для того, чтобы узнать свой баланс» и т.д. Подскажи, как наиболее просто это сделать?

A: Тебе поможет небезызвестный Asterisk (www.asterisk.org). Это очень гибкая телефонная платформа, на основе которой достаточно легко строить приложения. Например, простейшее IVR-меню (Interactive Voice Response), т.е. систему предварительно записанных голосовых сообщений, которая выполняет функцию маршрутизации звонков, пользуясь информацией, вводимой клиентом с помощью тонального набора. Такое приложение с помощью астерикса может быть построено за 20 минут, при этом наибольшее время потребуется для записи звуковых файлов для меню. За примером простейшей системы отправляйся на http://nag.ru/news/17515.

Содержание