eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› Использование WinDbg
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
Посл.ответ Сообщение


Ранг: 304.0 (мудрец)
Статус: Участник

Создано: 2 марта 2011 12:29 · Поправил: DenCoder New!
Цитата · Личное сообщение · #1

Странно - топики с вопросами по использованию Ida, Syser есть, а по использованию WinDbg нет. Понимаю, что он более менее документирован, но в его документации черт ногу сломит и в его статьях нередко нет перекрестных ссылок. Хотя сами вопросы были в других темах... Предлагаю здесь задавать вопросы по использованию отладчика WinDbg. Собственно, я первый вопрос задам:

Возникла задача, суть которой проверить предположение, что р0-файловый монитор(драйвер) отлавливает все обращения к файлу, выполняет некоторые проверки, и если условия выполняются, то передает команду (возможных схем много) р3-службе(процессу), в следствие которой эта служба открывает тот же файл. Многочисленные поиски по chm-файлу и переносы ссылок во вкладки ie, попытки методом тыка привели вот к такой команде:

bp <адрес инструкции обращения к сервису ZwCreateFile> "dd /c 1 @esp + 8 L1; dt nt!_OBJECT_ATTRIBUTES ObjectName @@masm($p); bp /1 /p <EPROCESS службы> nt!ZwCreateFile \"dd /c 1 @esp + 0xC L1; dt nt!_OBJECT_ATTRIBUTES ObjectName @@masm($p)\"; g"

Команда установки точек останова еще будет улучшаться, суть не в этом! Использование псевдорегистра $p, который дает последний вывод команд d*- тормозит весь процесс на секунду-две. В итоге составная команда
dd /c 1 @esp + 8 L1; dt nt!_OBJECT_ATTRIBUTES ObjectName @@masm($p);
- не лучший способ достижения описанной цели. Вопрос: можно ли заменить более быстрым аналогом в WinDbg ?

| Сообщение посчитали полезным: stereo2013


Ранг: 1.2 (гость)
Статус: Участник

Создано: 31 марта 2019 12:53 · Поправил: volopas1 New!
Цитата · Личное сообщение · #2

Нашел символы тут:
https://archive.org/download/somewinxpdownloads
WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe/symbols.cab

В архиве symbols.cab файлы вида
autorun.pdb.dll
autorun.pdb.exe
WinDBG не понимает такое. Чезер Total Commander - Multi-Rename Tool... можно удалить лишние расширения , но что делать с повторяющимися файлами?
UPD. Установщик создает папки exe, dll и т.д. и туда копирует файлы уже без лишнего расширения. Можно было заархивировать сразу вместе с папками.
Добавлено спустя 24 минуты
А то, что тут кричали, что всё скачивается, такого в принципе не может быть. windbg отправляет на этот https://vsblobprodscussu5shard90.blob.core.windows.net/

SSL:SSLv2RecordLayer, ClientHello (0x01)

но сервер не отвечает, шифронабора нет на говно-сервере . Если через браузер качать , то сервак выбирает шифронабор TLSCipherSuite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

То что у вас через виртуальную машину качает, так это сама машины отправляет запросы, которые сервер понимает

Ранг: 129.8 (ветеран)
Статус: Участник

Создано: 31 марта 2019 13:20 · Поправил: Alchemistry New!
Цитата · Личное сообщение · #3

Тебе прямо так важна и нужна эта хп? Теперь ищи файлы под эти символы.

Ну так это WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe установщик - выполнить его не судьба?

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 27 апреля 2019 02:00 · Поправил: hash87szf New!
Цитата · Личное сообщение · #4

Мальчики, я сижу на Win10 LTSC и без Storа.
Не мог хто подхватить линк на .appx Windbg Preview Eng и закачать куда?
Или предоставить линк, но он долго не живёт. Можн наверно в облако на прямую.
Я слышал там Time Travel debug встроили. Интересно.

https://www.microsoft.com/en-us/p/windbg-preview/
Жмёш на Get и подхватываешь линк Fiddlerom или Wireshark.

Добавлено спустя 14 часов 32 минуты
http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/6e03eadf-89d8-4ac7-9992-aab4e125de85?P1=1556372639&P2=402&P3=2&P4=oRcMUiafTkNHLEesJEg4ex36pvCduepeatlhCf40DUQKuUAItr0Gk8XHrsANHP2H%2Fj5X%2BjYN%2ByxNS8Rfu%2BojjQ%3D%3D

45mb

http://rgho.st/7NBQ5lh89

| Сообщение посчитали полезным: mak, plutos, dma


Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 29 апреля 2019 00:44 New!
Цитата · Личное сообщение · #5

Как приатачить Windbg с TTD (time travel debug) к х64дбг подопечному.exe?
Пробовал зациклить с jmp, детач хдбг, атачить Windbg
Пробовал suspend через Process Explorer, детач хдбг, атач Windbg
Пробовал просто атач Windbg к стоящему процесу под хдбг.
Все варианты не робят.

Как это правильно делается без TTD?

ТТД мощная штука.
Например Anydesk (remote admin) распаковывает сам себя, вызывает CreateProcess через aclayer. Callstakc в попе.
Стоячим на бряке в aclayer!CreateProcess, если найте все хрефы из Anydesk в aclayer из всех секций и поставить бряки на на хрефы то вызов не найти.
Трейсить это дело xdbg медленно и ужасно.
А Windbg делает это за минуту. DynamoRio crashes ^^
Performance у TTD раз эдак в x20 медленее, и трэйс был на 1.5 гига (не пакованный), но зато остановившись на aclayer, поставив бряк на код Anydesk, и клацнув "беги назад" восстанавливает всё. Да оно и не надо, колстэк был в теме! Штука.

Для реверса из за инструмента - не очень, а вот для дебага каких то ужасный гонок, да есчё с сорцами! Вау.


Ранг: 655.1 (! !)
Статус: Участник
CyberMonk

Создано: 29 апреля 2019 12:21 New!
Цитата · Личное сообщение · #6

hash87szf пишет:
http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/6e03eadf-89d8-4ac7-9992-aab4e125de85?P1=1556372639&P2=402&a
mp;P3=2&P4=oRcMUiafTkNHLEesJEg4ex36pvCduepeatlhCf40DUQKuUAItr0Gk8XHrsANHP2H%2Fj5X%2BjYN%2ByxNS8Rfu%2BojjQ%3D%3D


ERROR 403: Time-Limited URL validation failed

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 29 апреля 2019 12:52 New!
Цитата · Личное сообщение · #7

rghost ведь

Алсо, принцип работы как я понял не как у Пин'а, тоесь не JIT, хотя хз. Они инжектят длл: TTDWriter, TTDRecordCPU.
Алсо, стринги шо вводили в апп под дебагом находятся в трэйс файло, но их позицию найти в Windbg не ясно как.
Так как heap, stack подставляются частично, в зависимости от EIP.
s -a 0 L0000000 "тормоз" - не робит глобально по всему трэйсу.
Был бы формат tracefilа...


symbols included...

Добавлено спустя 13 минут

это идёт индексирование трейса
старт и сразу выход самого Windbg под ТТД
на laptop'чиках это лучше не запускать
индекс трейса живёт в РАМе видать
картинка когда было 500/3000 keyframes индекса сделано
"Successfully created the index in 490820ms." +5gig index file

Добавлено спустя 16 минут
TTDinject подписанный инжектор, проверяет ли он шо он инжектит?


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 29 апреля 2019 14:42 · Поправил: difexacaw New!
Цитата · Личное сообщение · #8

hash87szf

Обычное апп без защиты даже, можно визором крутнуть и всё что только пожелаете получить. А какие то инжекты из ядерного отладчика - изврат, это портит сам отладчик. Вопрос только в задаче, зачем стек вызовов сохранять в файл ?
Он нужен при определённом событии, иначе файлик получится огромным и не нужным.

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 29 апреля 2019 15:09 New!
Цитата · Личное сообщение · #9

сохраняется всё шоб воспроизводить, как и сколько хочешь
а визоров у мну нет, только пины и хдбг


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 29 апреля 2019 15:15 New!
Цитата · Личное сообщение · #10

hash87szf

Я этот пример тоже посмотрю, но задача в чём, что с ним нужно сделать ?

На каждом процедурном ветвлении можно апдейтить лог процедурных вызовов, но опять зачем и что с ним делать ?
Какая задача конкретно с этим апп ?
Или само апп не важно, а это нужно что бы поюзать новые инструменты ?

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 29 апреля 2019 16:43 · Поправил: hash87szf New!
Цитата · Личное сообщение · #11

С каким апп? Анидеск? Ни каких конкретных задач нет.

Хочется всем и всегда хотелось иметь контекст при анализе в статике. Логи вызовов мало, если данные важнее.
Так:
https://raw.githubusercontent.com/neuroo/runtime-tracer/master/screenshot/ida-pin-traces-plugin.png

А ТТД не только даёт контекст но ещё бежит назад, ловит всё аллоки сам, итд.

Его можно использовать параллельно с Ида но не удобно.


Например я пользуюсь DIE (dynamic ida enrichement) + Alleycat

DIE ловит dynamic calls, а Alleycat находит проход. И даже думать о коде не надо...
https://i.imgur.com/1AUdc4N.png
https://i.imgur.com/54wPjyb.png
Но DIE допиливать надо, и он тормознутый Питон, буквально ставит/отпускает бряки Идавским API

| Сообщение посчитали полезным: dma


Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 30 апреля 2019 11:16 · Поправил: Модератор New!
Цитата · Личное сообщение · #12

hash87szf, а вы знакомы с >Processor Tracing'ом<? Если да, то какое у вас мнение по поводу этого инструмента? Может он быть полезным в деле реверсинга?


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 30 апреля 2019 17:22 New!
Цитата · Личное сообщение · #13

hash87szf

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

Для теста там простейшая длл, которая смотрит стек вызовов.

--> Link <-- vx

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 30 апреля 2019 21:32 New!
Цитата · Личное сообщение · #14

пути одинаковые, просто cmdline разная, гуй, -service, -control
зачем всё так хитро не ясно, наверно фрэймворк для кроспрлатформенности, враперы для функций типа createprocess/fork


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 30 апреля 2019 21:41 · Поправил: difexacaw New!
Цитата · Личное сообщение · #15

hash87szf

Изначально я написал простейшую обработку запуска нового процесса на NtResumeThread. Это не отслеживает запуски новых процессов(не все), так как для этого юзаются иные способы(пути"), какой то запуск клонируется напрямую через создание процесса, некоторый запускается как служба, это можно посмотреть визуально в psexplorer. Поэтому что бы не городить огород с загрузкой по имени(опции реестра) пути решения два - добавить импорт, но так как импорта нет и самопроверок, то добавить загрузочный стаб вариант идеальный.

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

Кстате нюанс - вывод в консоль в 8-ке происходить не будет, я знаю это давно и почему(нужно включить флажёк в отладочный в PEB), но не использую её на вм, так что эту мелкую деталь не думал фиксить.

А в целом работает покруче всех ваших тулз

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 2 мая 2019 00:46 New!
Цитата · Личное сообщение · #16

Интересная статья про >Time Travel Debugging (TTD)<. В самой статье есть ссылки на интересную информацию. Думаю, что ветка про WinDbg, от ссылки на статью про Time Travel Debugging - хуже не станет. Пусть будет все в одной ветке для удобства.


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 1 июня 2019 01:16 · Поправил: plutos New!
Цитата · Личное сообщение · #17

Microsoft | TechNet опубликовал (May 29, 2019) статью, посвященную:

--> Time travel debugging <--: It’s a blast! (from the past)

Кое-что уже известно, кое-что новое, но любителям WinDbg, думаю, будет интересно

| Сообщение посчитали полезным: dma


Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 1 июня 2019 01:59 New!
Цитата · Личное сообщение · #18

plutos пишет:
но любителям WinDbg, думаю, будет интересно


Хорошо сказано. Можно еще немного усугубить. Но дилетантам, которым ничего сложнее WinDbg так и не удалось освоить, думаю, будет интересно.


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 4 июня 2019 21:11 New!
Цитата · Личное сообщение · #19

TTD - а как это работает ?

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

Интересно как реализован визор, пин как в сде ?
Этот сде слишком сырой что бы под ним что то работало стабильно.

| Сообщение посчитали полезным: dma


Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 5 июня 2019 01:48 New!
Цитата · Личное сообщение · #20

difexacaw, хорошая тема. VOLKOFF годика полтора назад давал хорошую ссылку на -->хабр-статью<-- - там основной принцип вроде раскрывается. Ну а о плюсах и минусах этого инструмента вы можете порассуждать в этой ветке и выслушать мнения других людей, кто более-менее знает этот инструмент. Я думаю, многим было бы интересно. Только вот сезон жалко сейчас для этого неподходящий - лето, отпуска, юга... Ну может кто и откликнется...


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 28 июля 2019 00:01 New!
Цитата · Личное сообщение · #21

--> LiveCloudKd <--

LiveCloudKd was the first utility to focus on Virtual Machine introspection for memory forensics purposes, it was released in 2010 after some initial research on Hyper-V v1.


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 10 августа 2019 22:55 · Поправил: plutos New!
Цитата · Личное сообщение · #22

mak пишет:
Существует несколько интересных плагинов для подсветки синтаксиса WinDBG по этому линку --> Link <--К сожалению у меня они не работают


Я знаю, что прошло много времени с тех пор, как mak поместил это сообщение, но я попробовал на Windows 7 WinDbg 10.0.17763.162 (remote guest Windows 10 Enterprise): работает хорошо и очень удобно выделяет нужные вещи. Возможно, что автор за два года устранил те недостатки, на которые жаловался mak.
Установка простейшая: распаковал архив, скопировал пару файлов, а потом в WinDbg .load path\blwdbgue.dll и всего делов.
Ну, как бы то ни было, --> рекомендую <--!

| Сообщение посчитали полезным: sty


Ранг: -25.9 (нарушитель)
Статус: Участник

Создано: 11 августа 2019 02:14 New!
Цитата · Личное сообщение · #23

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


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 13 августа 2019 03:21 New!
Цитата · Личное сообщение · #24

Довольно плотный обзор темы по материалам конференции DEFCON 27 workshop.
Сами материалы в комплекте (pdf)

--> Modern Debugging with WinDbg Preview<--


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 28 августа 2019 07:33 New!
Цитата · Личное сообщение · #25

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 24 сентября 2019 14:21 New!
Цитата · Личное сообщение · #26

--> Windbg2ida <--

Windbg2ida lets you dump each step (instruction) in Windbg then give you a dump file and you can use it later in your IDA to put color on each line of the instructions that you've run to show code coverage.
You can use Windbg2ida to see differences between two or more code coverages in IDA.


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 24 сентября 2019 22:54 · Поправил: plutos New!
Цитата · Личное сообщение · #27

dma пишет:
Windbg2ida lets you dump


Вы бы прежде чем лепить новые сообщения использовали функцию --> ПОИСК <--.
Ведь уж месяц как висит тема про этот тул вот --> тут <--

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 24 сентября 2019 23:54 · Поправил: dma New!
Цитата · Личное сообщение · #28

plutos пишет:
Вы бы прежде чем лепить новые сообщения использовали функцию --> ПОИСК <--.


А вы бы прежде чем "ЛЕПИТЬ" безапелляционные обвинения - думали бы логически, где более уместней размещать ту или иную информацию и научились бы выражать свои мысли более культурно, прежде чем обвинять в этом, хотя бы, того же Инди. А то у тех кто мало знаком с "внутренней кухней" кл, может возникнуть подозрение, что вы и Инди, это одно и то же лицо. Подумайте, Плутос, об этом на досуге. Это, во-первых.
Во-вторых, очень внимательно слежу за всеми изменениями в ветке по WinDbg - поэтому даже поиск в этот раз не задействовал, полагаясь на свою память. Теперь буду знать, что доверять логике Плутоса нельзя - лучше ее перепроверять поиском.


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 25 сентября 2019 01:37 · Поправил: plutos New!
Цитата · Личное сообщение · #29

--> Time Travel Debugging and Queries <--

This tutorial demonstrates how to debug C++ code using a Time Travel Debugging recording. This example focuses on the use of Queries to find information about the execution of the code in question.

PS
где-то читал, что source code Time Travel Debug доступен для изучения, но найти сам код нигде не могу. Может кто скинет ссылку?


Ранг: 755.6 (! !)
Статус: Участник
Student

Создано: 25 сентября 2019 15:57 New!
Цитата · Личное сообщение · #30

это им нынче отлаживают x64? или есть более удобные инструменты?


Ранг: 523.8 (!)
Статус: Участник
_Вечный_Студент_

Создано: 26 сентября 2019 00:44 · Поправил: plutos New!
Цитата · Личное сообщение · #31

Isaev пишет:
это им нынче отлаживают x64? или есть более удобные инструменты?


IMHO:
windbg => for kernel debugging (drivers, etc)
x64dbg , Radare2 => for user mode stuff

| Сообщение посчитали полезным: Isaev

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
 eXeL@B —› Софт, инструменты —› Использование WinDbg

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS