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

FAQ

Степан «Step» Ильин (faq@real.xakep.ru)

Евгений «Corwin» Ермаков (hack-faq@gameland.ru)

Хакер, номер #107, стр. 107-132-1

 

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

A: Для поиска фрилансеров существуют специальные сайты. Если ищешь демократичные цены, то лучше прямиком идти на www.free-lance.ru, где анкеты оставляют неискушенные деньгами отечественные работники. При выборе нужно в обязательном порядке посмотреть отзывы других работодателей, проверить портфолио и быть уверенным, что человек в теме, а не рвется в бой на авось: «Чего там сложного? По ходу дела разберусь». Более профессиональных, но и более «дорогих» фрилансеров можно найти на западных ресурсах, например на www.elance.com. На английском сейчас говорят почти все, поэтому проблем с общением не будет. Кстати говоря, рекомендую эти сайты и для обратной ситуации, когда ты сам хочешь найти себе работу или подработку за вполне серьезные деньги. Хорошее портфолио и письменный английский в этом случае – залог успеха.

Q: Купил ноутбук с Windows Vista. Тормозит! Как бы сделать так, чтобы летала она пошустрее.

A: Windows Vista проектировалась из расчета на светлое будущее, когда 2 и более Гб оперативки будет вполне нормальным положением вещей для любого мало-мальски рабочего компьютера. При таких обстоятельствах она, действительно, работает очень даже хорошо. Но сейчас? Производители упорно пихают Висту во все подряд: даже на маленьких субноутах с жалкими 512 Мб оперативки на борту и то установлена новомодная ось. Да разве ж это дело? Ведь тут и XP будет работать с очень большим натягом. Выкрутиться из такой ситуации можно по-разному. Первый способ, он же самый радикальный, - отказаться от новой ОС до лучших времен и поставить XP (подробнее о трудностях, связанных с такой операцией, и путях их преодоления читай в статье «Драйверная адаптация» в прошлом номере). Другой вариант – чуть похитрить и заставить систему работать немного быстрее. Поскольку главной проблемой является недостаток оперативной памяти, то плясать нужно именно от этого. Лучше всего купить еще одну планку ОЗУ, но что если нет денег или все слоты заняты? Вот здесь-то и пригодится довольно интересная фича Висты – ReadyBoost, позволяющая подключить быструю флеш-память (работающую гораздо шустрее жесткого диска) как дополнительное пространство. Флешка-то у тебя есть наверняка! Воспользоваться этой приблудой очень просто: как только ты вставишь флешку в USB-порт, на экране появится окошко, сообщающее о появлении в системе флеш-накопителя. Выбери здесь пункт Speed up my system, далее укажи количество используемой с флешки памяти и наслаждайся результатом.

Q: Недавно приобрел себе КПК со встроенным GPS-модулем, а друг - отдельно GPS-приемник для своего карманника. Хотим немного погулять и покататься по городу в поисках открытых точек доступа. Какой софт использовать?

A: Первое, что, наверное, стоит попробовать, - это Ministumbler (www.netstumbler.com). Эта отличная утилита для сканирования эфира внешне сильно напоминает Netstumbler (ее бы я непременно рекомендовал тебе, если ты бы использовал ноутбук), а внутри и вовсе, скорее всего, полностью является ее клоном. Ведь оба продукта – от одних и тех же разработчиков! Однако при всех преимуществах есть у этой добротной программы один неприятный нюанс, а именно работает она далеко не со всеми беспроводными адаптерами (интегрированными в КПК и коммуникаторы). Лучший способ узнать, совместим ли адаптер с Ministumbler или нет, - запустить программу и посмотреть. Впрочем, даже если «No wireless card» - это единственное, что выводится на экран, расстраиваться не стоит. Советую прямиком идти на сайт www.aspecto-software.com и закачивать утилиту WiFiForum. Это даже еще более навороченный сканер, который может сохранять информацию о точках доступа и их расположении напрямую в формат kml. Напомню, что kml разработал сам Google, поэтому расположение AP’шек можно привязать к снимкам из космоса и картам без каких-либо заморочек с помощью программы Google Earth.

Q: Ресурсов КПК для многих задач не хватает. Можно ли как-нибудь использовать встроенный в карманник GPS-модуль как внешний приемник для ноутбука?

A: Легко! Данные о текущем месторасположении (с GPS-приемника, встроенного в гаджет) передаются в специальном формате NMEA. Разумно предположить, что существует утилита, позволяющая эмулировать GPS-приемник и транслировать всю информацию в эфир. И такая программа есть - она называется GPS2Blue (http://users.skynet.be/hofinger/GPS2Blue.html).

Q: У меня возникла проблема с реализацией приема, описанного в статье «Межгород 4free», а именно с поиском SIP-прокси. Я скачал и установил Python 2.5, скопировал в каталог с интерпретатором утилиту SIPVicious. Далее прописал python svmap.py 10.1.1.1/24 -p 5060 -o scan.csv, но почему-то получил совершенно пустой файл отчета. В чем дело? Что за 10.1.1.1/24? Вы в статье намеренно указали этот заведомо неправильный адрес?

A: Строка для запуска программы была приведена исключительно ради примера. 10.1.1.1/24 – это даже не IP-адрес, а диапазон IP’шников, причем в локальной сети. Смысл использования этой утилиты – поиск SIP-прокси, реализованный простым перебором IP-адресов. Грубо говоря, SIPVicious берет первый IP-адрес из диапазона и пытается подключиться к нему по нужному порту, после этого анализируется ответ сервера и операция повторяется уже со следующим IP. Сервер может принять подключение (значит, с определенной вероятностью можно утверждать, что SIP-прокси там есть) либо же отклонить его (прокси, по крайней мере на этом порту, скорее всего, нет). По завершении работы будет создан отчет scan.csv, в котором будут указаны все найденные SIP-прокси (то есть список тех серверов, которые приняли подключение). Для сканирования можно выбирать любой произвольный диапазон IP-адресов, но разумнее, если эта подсеть будет принадлежать стране, в которую ты собираешься звонить. Тогда велика вероятность, что SIP-прокси разрешит совершать звонки в данном направлении. Хочу еще раз предупредить, что в любом случае за связь кто-то платит. За использование чужих ресурсов можно серьезно получить по голове или вообще попасть под следствие в компетентных органах. Не ищи себе проблем.

Q: Есть следующая проблема. Я разработал довольно солидное приложение Web2.0, в котором активно используется JavaScript и, в частности, AJAX. И все вроде хорошо, красиво, но… медленно. Задержки заметны даже невооруженным взглядом, а если у клиента медленное соединение, то вообще труба. Помогите, как найти узкое место и как можно ускорить код?

A: Начинать, естественно, стоит с поиска того участка кода, который все тормозит. Для этого есть несколько основных инструментов. Если установишь плагин Web Developer (https://addons.mozilla.org/ru/firefox/addon/60) для Firefox’а, то легко сможешь оценить время загрузки каждого из элементов, перейдя в меню «Right Click -> Web Developer -> Information -> View Document Size». Возможно, дело даже не в JavaScript’ах. Firebug – это другой плагин для Огненного Лиса, который ты наверняка использовал для отладки веб-приложения; он также умеет показывать время загрузки элементов (смотри вкладку Net). Просто и четко. Теперь, когда ясно, какие из элементов требуют для загрузки больше всего времени, можно приступить к оптимизации. Есть несколько приемов:

1. Сжать JS-файлы. Первым делом проверяем, правильно ли оформлен код, в чем нам помогает онлайн-сервис www.jslint.com, а потом сжимаем корректный код с помощью Java-тулзы Rhino (www.mozilla.org/rhino). Поскольку написана она на Java, запускать ее следует следующим образом:

java -jar custom_rhino.jar -c myfile.js > myfile.js.packed 2>&1

2. Правильно разместить JS-код. В большинстве случаев мы вставляем тэги для загрузки кода в секции <head>. Поэтому в первую очередь зачастую закачиваются ненужные сразу JS-скрипты, и лишь потом начинается подкачка изображений и верстки странички. Но зачем? Чаще всего предварительная загрузка кода не требуется и большинство команд для включения JS-скриптов можно разместить прямо перед закрывающим тэгом </body>. В этом случае сначала загрузится и отобразится вся страница и лишь потом подгрузится код.

3. Использовать HTTP-компрессию (gzip), о которой мы уже не раз писали.

4. Загружать часть JS-кода только в случае необходимости. Для этого в нужном месте достаточно вставить следующий сниппет:

var script = document.createElement('script');

script.type = 'text/javascript';

script.src = 'snip.js';

document.getElementsByTagName('head')[0].appendChild(script);

Q: Почему при SQL-injection в значении параметра уязвимого скрипта нужно указывать «-1»?

A: Совсем не обязательно. Такое значение ставится для того, чтобы на выходе получить лишь нужную нам информацию, без лишних данных, которые выводит уязвимый сценарий при обычном обращении. К примеру, есть уязвимый скрипт news.php, который выдает новости с определенным значением параметра id. Если подставить в id значение «-1», скрипт просто не найдет в базе данных id с таким значением и выведет лишь результат внедряемого нами запроса.

Q: Требуется программа-автоматизатор слепой SQL-инъекции для довольно экзотической и редко встречающейся СУБД. Можешь что-нибудь подсказать?

A: Совсем недавно я повстречал такой инструмент - ISR-Sqlget. На данный момент поддерживаются следующие системы управления БД:

Q: Знаю, как вытащить названия таблиц и колонок через rownum; не понимаю, как поставить колонки с таблицами, которым они принадлежат, и заполучить всю информацию.

A: Все просто. Получаем колонки в имеющейся таблице:

SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...';

Ну а дальше, как и прежде, используем rownum:

SELECT T.CN FROM (SELECT ROWNUM R, COLUMN_NAME CN FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...') T WHERE R=X

Q: Существует ли устройство для подмены телефонного номера? Я хочу позвонить на определенный телефон и обмануть АОН, подставив нужный мне номер.

A: Это достаточно непросто сделать. Нужна специальная техника. Скорее всего, ты не сможешь просто так заглушить сигнал, исходящий от АТС, поскольку он будет идти по не разговорному каналу. Требуется знать особенности работы станции с АОН. Для подобных целей есть даже утилиты. К примеру, S.O.B. (http://artofhacking.com/orange.htm).

Q: Экстренно понадобилось поставить девственную Винду XP с подключением к инету, и сразу стала появляться «традиционная» ошибка с экзешниками lsass и svchost. Система аварийно завершает работу, так что я даже не успеваю ничего сделать. Как быть?

A: Почаще интересуйся возможностями консоли (да-да, консоль - это очень даже полезная вещь) :). Ради расширения кругозора, посмотрим значение ключа ‘-a’ у команды shutdown:

"-a Прекращение завершения работы системы"

Соответственно, смело вбиваем в консоли:

shutdown -a

А после этого немедленно патчим Windows или, что еще лучше, переустанавливаем ее.

Q: Я начинающий фрикер, и есть желание послушать переговоры интересных подразделений :). На каких частотах идут переговоры в службах вроде УВД, Скорой помощи и прочих госструктурах? Какое оборудование нужно взять, чтобы перехватить сигнал?

A: Ну, во-первых, за подобные деяния тебе могут настучать по башке, поскольку они противозаконны. А во-вторых, для половины «интересных» частот подойдут стандартные радиостанции.

Что касается оборудования, то можно прикупить (или собрать по схемам) сканер/приемник. Насколько я знаю, популярностью пользуется аппарат Yaesu VX-*R (здесь «*» - модель: 5,6 или 7). Одним из лучших сканирующих приемников также считается Icom IC-R20. На сайте http://rlocman.ru ты сможешь отыскать схемы для названных девайсов.

Много информации о радиостанциях находится на ресурсе www.radioscanner.ru/trx.

Напоследок перечислю некоторые частоты интересных московских подразделений (все они выложены в ЖЖ-комьюнити ru_scaner):

  • 462.4725 УВД ВАО г. Москвы
  • 462.4875 ГАИ ЦАО г. Москвы
  • 462.5000 УВД ВАО г. Москвы
  • 460.6100 ГАИ САО г. Москвы
  • 460.8000 ГАИ ЮВАО г. Москвы
  • 460.8125 ГАИ ЦАО г. Москвы
  • 462.7750 УВД ЮАО г. Москвы
  • 462.8000 УВД ЮАО г. Москвы
  • 462.8750 УВД ЮВАО г. Москвы
  • 462.9000 УВД ЮВАО г. Москвы
  • 452.7375 ГАИ ЦАО г. Москвы
  • 452.8000 УВД СВАО г. Москвы

Пожарные службы, для которых подойдут рации

  • 172 .0375 ЦАО
  • 172.050 ЛИНК
  • 172.0625 СВАО
  • 172.075 ЮАО
  • 172.0875 САО
  • 172.100 ВАО
  • 172.1125 СЗАО

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

A: Не знаю, можно ли отнести этот способ к стандартным, но иногда помогает передача параметра в переменную.

http://target/?p[]=1

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

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

Q: Как определить, имею ли я дело со скриптовым honeypot'ом или с реально уязвимым сценарием?

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

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

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

Q: А реально ли на практике получить, что-то полезное через LDAP-инъекцию, о которой писалось в прошлом FAQ’е?

A: Вполне, но, как и в любом деле, здесь не обойтись без сопутствующей удачи. Изложить все тонкости в одном FAQ’е нереально. Рассмотрим лишь основные моменты наших деструктивных действий.

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

Так о чем это я... Итак, у нас существует вероятность наличия бажного серверного программного обеспечения, подверженного LDAP-инъекции. Мы будем смотреть, с чем он имеет дело: с LDAP-сервером или с рядовым серваком на базе Linux. Для этого изучаем листинг директории /usr/local/etc/openldap (или сканируем на доступность порт 389 или 636). Там находятся такие файлы, как slapd.conf, ldap.conf, директория schema. Именно последняя директория может быть для нас полезна - в ней находятся файлы с описанием схем LDAP (core.schema, openldap.schema и т.п.), определения классов объектов и схем. Оттуда мы и получаем данные для успешной LDAP-инъекции.

Также можно установить свой пароль на root-доступ к LDAP-демону (файл slapd.conf, директива rootpw).

P.S. №1: В начале, я не зря говорил про удачу. Для чтения директорий и файлов нужны права. Как правило, именно root-права.

P.S. №2: Все вышеназванные установочные пути относятся к серверу OpenLDAP.

Q: Я постоянно юзаю VPN'ы, криптую всю конфиденциальную информацию, попадающую на ПК, и вообще слежу за своей анонимностью, но, почитав о том, как берут очередного кулхацкера, понимаю, что никто не защищен и попасть в руки к дядям из «К» совсем просто. Вопрос - всю ли технику они прихватывают с собой для расследования и как скрыть свою инфу?

A: Они забирают все то, что, по их мнению (точнее, по мнению приглашенного специалиста), может хранить и передавать информацию. Если использовать спецтерминологию, изымаются все СТК - средства компьютерной техники. Кроме самого системного блока будут обязательно конфискованы лазерные диски и дискеты, флешки. Вообще считай, что тебе крупно повезло, если товарищи из органов примут решение об изъятии техники на месте. В случае если ты работаешь в какой-либо фирме и тебя прямо там и повязали, то велика вероятность, что технику заберут по минимуму. Исходя из всего вышесказанного, наиболее целесообразно будет хранить инфу на самом безобидном носителе, например на iPod'e в скрытой папке. Я сильно сомневаюсь, что у наших гостей из органов сразу же найдется iTunes в своем боевом комплекте софта :). И еще. Если сотрудники решают искать всю полезную для них инфу на месте, то, как правило, используются утилиты, ищущие файлы с определенным расширением (например, txt или xls). Но нам не составит труда переименовать, допустим, файл myroots.txt в myroots.mp3. Да, это примитивно и от спецов с большой буквы не спасет, но от дилетантов, работающих по инструкциям, вполне может.

Содержание
ttfb: 108.35003852844 ms