Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР 116, АВГУСТ 2008 г.

Easy-Hack

Хакер, номер #116, стр. 116-036-1

Задача

  • Серфить WEB через браузер Opera без мышки

Решение

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

1. Запомни и прочувствуй собственными пальцами все горячие клавиши браузера, такие как:

  • F2 - перейти по адресу
  • F3 - поиск на странице
  • F4 - боковая панель
  • F5 - обновить страницу
  • F11 - развернуть (свернуть) Оперу на весь экран
  • F12 - быстрые настройки (выключить JS etc.)
  • + - увеличить масштаб
  • - - уменьшить масштаб
  • CTRL + 0 (ноль) - масштаб 100%
  • CTRL + T - создать вкладку
  • CTRL + W - закрыть вкладку
  • CTRL + S - сохранить страницу
  • CTRL + P - печатать страничку
  • CTRL + D - добавить страницу в закладки
  • CTRL + F2 - настройки
  • CTRL+ TAB - переключиться между вкладками

Если ты потерял вкладку (случайно закрыл), и не помнишь ссылки, то нажми CTRL+Z

  • SHIFT+СТРЕЛКИ - двигаться по ссылкам
  • TAB - навигация по элементам управления (кнопки, поля для ввода, etc)

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

  • RIGHTB + мышь влево - назад
  • RIGHTB + мышь вправо - вперед
  • RIGHTB + мышь вниз - создать новую вкладку

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

Задача

  • Парсить бажные ресурсы при помощи специальных запросов в Yandex

Решение

Наверняка ты знаком со специальными запросами Гугла, и они не раз выручали при поиске той или иной баги. Однако с недавнего времени Гугл стал завинчивать гайки и парсить с его помощью становится проблематично (особенно, если речь идет об автоматизированном поиске). Поэтому многие устремили взгляды в сторону других поисковиков, в том числе и Яндекса. Сейчас мы рассмотрим наиболее полезные команды поисковика. Затем ты сможешь опробовать их в деле :).

  1. $title (выражение) — позволяет провести поиск в заголовке страницы, например, $title (название бажного скрипта).
  2. #image="значение" — такой запрос позволит произвести поиск картинок с указанным названием, полезно при работе с локальными инклудами.
  3. #hint=(выражение) — команда проводит поиск в подписях к изображениям.
  4. #url="значение" — означает поиск на заданном ресурсе, аналог "insite" в Гугле, например, #url="www.target.com".
  5. #link="значение" — команда позволяет задать поиск ссылок на заданный сайт, например, #link="www.blabla.com". Помогает при парсинге бажных движков, имеющих в своем контенте линк на сайт производителя.
  6. host="www.host.ru" — команда аналогична "url" с именем хоста, но учитывает все зеркала сайта.
  7. rhost="ru.url.*" или rhost="ru.url.www" – этот оператор аналогичен host, но имя хоста записывается в обратном порядке: вначале домен верхнего уровня, затем второго и т. д. Если в конце указано .*, то поиск идет по всем поддоменам заданного домена (но – не включая домен ru.url!), например, rhost="ru.target.*".
  8. lang="язык" — такая команда отбирает для поиска страницы, написанные на определенном языке: на русском (ru), украинском (uk), белорусском (be), английском (en), французском (fr), немецком (de) и т.д., например, lang="de". Очень удобно, когда работаешь по какой-то определенной стране.
  9. like="url.ru/file.html" — парсит страницы, похожие на заданный адрес. Весьма полезная команда.
  10. domain="домен" — с помощью такой записи можно произвести поиск по страницам, которые расположены в заданном домене: domain="target" /+1 domain="com".
  11. date="ГГГГ{*|ММ{*|ДД}}" — в этом случае поиск производится только по страницам, дата которых удовлетворяет заданному условию, что позволяет пропускать при парсинге старые, не обновляемые ресурсы.

Как видишь, не только Гугл способен удовлетворять твои ненасытные потребности.

Задача

  • Проверить уникальность текста aka реферата/курсовой

Решение

Зачастую нам необходимо удостовериться в уникальности полученного текста, будь то статья, курсовая или даже дипломная работа. Конечно, взаимодействие с Гуглом/Яндексом никто не отменял, но искать ручками несколько напрягает. Намного продуктивнее будет воспользоваться специализированным сервисом от www.textbroker.ru. Для этого от тебя требуется совсем немного.

  1. Заходим на www.textbroker.ru и сливаем утилу в виде клиентского приложения: http://textbroker.ru/main/dcfinder.html.
  2. Тулза не требует установки, поэтому прописываем ей разрешение в фаере и запускаем.
  3. Жмем «Далее». Затем указываем текстовый файл, который необходимо прочекать, либо указываем урл с текстом или же вбиваем текст ручками.
  4. Опять нажимаем «Далее» и ждем результатов поиска.

В качестве ответа прога выдаст: уникален твой текст или нет. В случае если текст все же имеет копии и гуляет по Сети, в доказательство тебе будет предоставлено до 50 линков :).

Задача

  • Создать Windows Live CD

Решение

Глядя на большое разнообразие *nix-дистрибутивов, работающих с диска, порой возникает желание получить Винду, не требующую установки. Ниже будет описано одно из решений, помогающих создать некое подобие автозагрузочного Windows Live CD (DVD). Потеря в функционале будет покрываться мобильностью. Тестировалось все на WinXp SP2.

  1. Ставим прогу Bart PE Builder (www.nu2.nu/pebuilder) – чем свежее, тем лучше.
  2. Запускаем PE Builder и кладем в сидюшник установочный диск с обычной Виндой либо, если есть, монтируем образ на виртуальный привод. Показываем проге путь к инсталляционным файлам Windows в первом поле «Источник». Будет проведена автоматическая проверка. При отсутствии нужных файлов утила ругается, что ей дали не то.
  3. Создаем папку с коллекцией прог, не нуждающихся в установке либо их portable-версиями. Указываем путь к ней в графе «Дополнительно».
  4. Выбираем способ записи на носитель: довериться механизмам записи PE Builder или создать ISO-образ для дальнейшего прожига любимой горелкой. Экспериментировать с подсовыванием этого образа в WMWare не стоит, куда веселее работать «вживую».
  5. Посещаем раздел «Модули» и включаем нужное. Не стесняемся обращаться к разделу «Помощь»: там есть и описание модуля, и адрес для закачки при его отсутствии.
  6. Наконец, щелкнув «Создание сборки», наблюдаем, как бегают по экрану буквы отчета...

Вот и готов наш диск. Но почему его размер ~150 мегабайт? К сожалению, очень многое урезано. Восстанавливать функционал можно только вручную, постепенно подбирая нужный набор прог и драйверов. Например, мы потеряли explorer – кидаем Opera portable, TotalCommander (пункт 3) либо юзаем встроенный менеджер файлов. В нем, кстати, не забудь сменить шрифт на Arial с кириллицей, иначе тебя ожидает пустое дерево файлов и окошко с папками.

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

Задача

  • Просмотр недокачанного видео в p2p-сетях

Решение

Как часто радость от закачки долгожданного фильма заканчивается уже на первых минутах просмотра! Видео скачалось не до конца.

Проблема решается довольно просто:

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

Рассмотрим второй вариант применительно к популярной p2p-сети DirectConnect.

  1. Открываем директорию с временными файлами клиента DC. Как правило, это папка Incomplete в каталоге, куда установлен сам клиент. Если такой нет, уточнить можно в его настройках: «File -> Settings -> Downloads -> Directories -> Unfinished_downloads_directory».
  2. Находим нужный файл вида «<название>.<~39символов TTH>.dctmp». Например, «Брат.avi.XV7BZG45BINZZQ2VX3IUWNUQQKQG3KKI4LVQ2RI.dctmp».
  3. Копируем его, дабы не мешать DC-клиенту работать.
  4. Качаем и ставим бесплатный (GNU) «Vlc media player» – vlc-0.8.6f-win32 либо посвежее.
  5. Запускаем плеер, перетаскиваем выбранный файл. Читаем предупреждение о том, что файл поврежден и выбираем «No» в ответ на предложение восстановить его (есть куда более удобные утилы для восстановления видеофайлов). Теперь смотрим то, что успело закачаться, и делаем выводы, стоит ли продолжать сливать этот фильм.

Для любителей комфорта можно посоветовать Crystal Player (Pro) (www.crystalplayer.com). Некоторые фильмы он проигрывает более стабильно, чем Vlc media player, и имеет более приятный интерфейс.

Если же все-таки захочется попробовать покопаться с восстановлением поврежденного недокачанного видео (первый способ), можно посоветовать прогу File Salvage. Хоть ее и продвигают как утилиту для копирования файлов с плохо читающихся CD и DVD, для наших целей она вполне подойдет.

Задача

  • Как найти шлюз в чужой WiFi-сети?

Решение

Иногда возникает необходимость найти роутер в WiFi-сети, особенно если он скрывается не на традиционных адресах по CIDR-нотации. Делается это для разных целей, в том числе для взлома админки и абордажа всей сети. Если тебе уже выдало IP-адрес, то проанализировать, где же заветный сервак, можно по названию производителя. Согласись, при виде CISCO не подумаешь, что перед тобой обычный воркстейшн. При таком раскладе в ход идет самая известная хакерская программа Cain&Abel. Скачиваем ее, а затем:

1. Жмем «sniffer». Переходим на вкладку «Sniffer», нажимаем на знак «+», жмем ОК. Так ты получишь список всех объектов в сети и их производителей с опорой на MAC-адрес и базу OUI. А вот другой способ не опирается на догадки. Проект Максима Суханова под названием AntiNat позволяет находить искомое на основе прослушивания трафика. В его комплекте есть специальная утилита NATSCAN.

2. Пример ее использования:

natscan 192.168.0.1 192.168.0.254 213.180.204.8 192.168.0.15

Первые два параметра задают диапазон подсети. Третий – это реальный адрес, к которому можно обратиться (ya.ru), ну и последний – твой айпишник. При атаке для аудита защищенности WEB-составляющей роутеров можно использовать профессиональную утилиту Алексея «ksuri» Сурикова (IRATitdefence.ru/hauditor/hauditor_LITE.txt):

perl hauditor.pl -s 192.168.0.1 -e 192.168.0.100 -r ha_report.html

В отчете ты получишь всю информацию о предполагаемых местах его нахождения и сведения об админке. Если же трудности так и остались неразрешенными, вспомни о вещах, связанных с тем, откуда ты получал IP и поснифай себя на предмет запросов DHCP-OFFER (предложение IP-адреса от DHCP-сервера). Сделать это можно известными средствами Wireshark, Commview или tcpdump.

Задача

  • Максимально быстро изменить атрибуты какой-либо секции, когда под рукой только редактор hiew

Решение

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

  1. Открываем необходимый PE-файл при помощи Hiew.
  2. Нажимаем <F4> для выбора режима редактирования файла.
  3. В появившемся окне выбираем «Decode» для отображения в режиме дизассемблера.
  4. Нажимаем кнопку <F8> (пункт меню «Header») для перехода в режим отображения заголовков секций.
  5. Жмем <F6>, чтобы выбрать редактируемую секцию. В появившемся меню, как правило, представлено несколько секций с типичными названиями: «.text», «.data», «.rsrc» и так далее. Чаще всего исследователя интересует «.text» – секция кода. Выбираем необходимую секцию.
  6. После того, как секция выбрана, нажимаем <F3> (пункт меню «Edit») для редактирования ее атрибутов.
  7. Появится окно, содержащее различные параметры редактируемой секции. Нас интересует последняя строка, а именно – «Attributes», которая содержит четырехбайтную флаговую переменную с атрибутами секции. Выделяем строку «Attributes» и нажимаем <F3>.
  8. Появится окно, содержащее четыре байта флаговой переменной в двоичном виде. Чтобы разрешить запись в секцию, необходимо соответствующий бит (в данном случае – старший) перевести в значение «1». Точно также необходимо действовать и при изменении других атрибутов секции.
  9. Трижды нажимаем <F9> (пункт меню «Update») для подтверждения изменений.

Дабы получить требуемую комбинацию параметров, совсем не обязательно помнить, какой бит «взводят» в единичное значение или сбрасывают в нулевое. Нужно лишь сложить шестнадцатеричные значения, соответствующие конкретным атрибутам, и получить готовую четырехбайтную флаговую переменную.

  • 0x00000020 - секция содержит код
  • 0x00000040 - секция содержит инициализированные данные
  • 0x00000080 - секция содержит неинициализированные данные
  • 0x01000000 - секция содержит расширенные поправки
  • 0x02000000 - секция может быть игнорирована
  • 0x04000000 - секция не кешируема
  • 0x08000000 - секция не сбрасывается в страничный файл
  • 0x10000000 - общая секция
  • 0x20000000 - секция выполняемая
  • 0x40000000 - секция для чтения
  • 0x80000000 - секция для записи

Задача

  • Выудить пароль из работающего клиента qip версии 8070, имея в арсенале отладчик OllyDbg

Решение

Представьте ситуацию: приятель отошел покурить, а мы очень хотим узнать пароль его аськи :). Сделать это проще, чем кажется. Необходимо лишь действовать методом строго научного тыка. Исследовав QIP версии 8070, я обнаружил, что пароль всегда хранится в памяти в открытом виде. Это очень опасно и может позволить любому продвинутому трояну «утащить» твою аську. Чтобы найти алгоритм поиска пароля, я действовал так: запускал qip, входил под конкретным аккаунтом, затем искал в памяти пароль (свой пароль, естественно, мне известен). При этом была выявлена очень интересная деталь: пароль всегда находился в одной и той же секции памяти, но по разным адресам (00E20000-00F1FFFF). Хотя промежуток и небольшой, поддающийся ручному просмотру, необходимо было выделить еще один признак, по которому можно было бы безошибочно искать пароль в памяти загруженного ICQ-клиента. Присмотревшись внимательнее, я заметил, что перед паролем в памяти находится сигнатура, всегда одинаковая, которая выглядит так:

1A 00 00 00 02 00 00 00 XX 00 00 00,

где XX – длина пароля. Например, для пятизначного пароля сигнатура будет выглядеть так:

1A 00 00 00 02 00 00 00 05 00 00 00

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

  1. Запускаем отладчик и приаттачиваемся к работающему процессу qip.exe;
  2. Открываем карту памяти процесса (<alt+m>);
  3. Выбираем двойным щелчком область памяти, начинающуюся по адресу 00E20000;
  4. Комбинацией клавиш <ctrl-b> открываем окно поиска;
  5. Вставляем в нижнее поле появившегося окошка поиска двоичный код-сигнатуру (1A 00 00 00 02 00 00 00 XX 00 00 00) и нажимаем «Ok»;
  6. Текст, следующий сразу после найденной сигнатуры, является паролем.

P.S. Не удивлюсь, если узнаю, что после выхода этого выпуска EASYHACK появится новый релиз QIP.

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