Сейчас на форуме: Magister Yoda, subword (+9 невидимых)

 eXeL@B —› Основной форум —› OllyEye plug-in
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 11 декабря 2008 23:15
· Личное сообщение · #1

Today, I would like to present a new plug-in that I wrote called OllyEye. I wrote the plug-in to speed up the process of hunting vulnerability in applications. Here is a screenshot of the OllyEye plug-in:

How does OllyEye work?

Sometimes we want to find out where in a module the code parsing is done. In the example below, we want to find the code that parses the QuickTime video codecs that are in Windows media player. We know that the codecs support the raw, rle, jpeg, mjpb, and rpza tags, so all we need to do is to search for those tags in our module--in this case, the "quartz.dll" module.

The OllyEye hunter knows that it should check for the video codec’s tags such as code.equals ("rpza") and that in assembly it should be done with the CMP command that represents it. For this reason, it searches for the CMP command that matches the 'rpza' keyword. Here we can see the results of the OllyEye when the hunter searches for such patterns:


At the address 0x748FD28B, we see CMP EAX,617A7072. The ASCII translation of 617A7072h is 'azpr', which is one of the QuickTime video codec’s supported tags. Now all the hunter has to do is set a breakpoint there, load the movie file, and wait for the breakpoint to be triggered.

A QuickView in IDA shows us that our address, 0x748FD28B, is inside the QTDec::CheckInputType when the QTDec is QT=QuickTime and Dec= Decoder. Based on this information, we know that we reviewed part of QuickView codec's decoder.

Attached here is the source code of the OleEye plugin. You are welcome to extend it and to shoot us the update

b7d3_11.12.2008_CRACKLAB.rU.tgz - OllyEye.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 12 декабря 2008 00:00
· Личное сообщение · #2

ну и в дополнение по реверсингу сетевых протоколов

OllySocketTrace
About
OllySocketTrace is a plugin for OllyDbg (version 1.10) to trace the socket operations being performed by a process. It will record all buffers being sent and received. All parameters as well as return values are recorded and the trace is highlighted with a unique color for each socket being traced.

The socket operations currently supported are: WSASocket, WSAAccept, WSAConnect, WSARecv, WSARecvFrom, WSASend, WSASendTo, WSAAsyncSelect, WSAEventSelect, WSACloseEvent, listen, ioctlsocket, connect, bind, accept, socket, closesocket, shutdown, recv, recvfrom, send and sendto.

Usage
Simply install the plugin and activate OllySocketTrace when you wish to begin tracing socket operations. OllySocketTrace will automatically create the breakpoints needed and record the relevant information when these breakpoints are hit. To view the socket trace select the OllySocketTrace Log.

Double clicking on any row in the OllySocketTrace Log window will bring you to the callers location in the OllyDbg disassembly window. The recorded socket trace is highlighted with a unique color for each socket being traced. Right clicking on any row will give you some options such as to view the recorded data trace. You can also filter out unwanted information if you are only concerned with a specific socket.

Screenshot




OllyCallTrace
About
OllyCallTrace is a plugin for OllyDbg (version 1.10) to trace the call chain of a thread allowing you to monitor it for irregularities to aid in the debugging of stack based buffer overflows as well as to quickly plot the execution flow of a program you are reversing.

Usage
Simply install the plugin and set a breakpoint on a location you want to trace from, e.g. ReadFile() or WSARecv(). When this breakpoint is hit, activate OllyCallTrace and press F7 to begin the automated single stepping and recording of the call chain. When you are finished tracing the code, pause execution or disable OllyCallTrace and view the OllyCallTrace Log to see the recorded call chain.

Double clicking on any Call/Return instruction in the OllyCallTrace Log window will bring you to that location in the OllyDbg disassembly window. The recorded call chain is highlighted with blue being for the main module, yellow for system modules and green for all other modules. The call chain is also displayed in a nested format to make it easier to read. All irregularities are marked in red.

Example
This example shows how OllyCallTrace handles the recording of a stack based buffer overflow. In the screenshot below we can see where an overflow occurred when returning from the function at 0x00401198 and an attempt was made to return to 0x41414141. We can see that the return address should have been 0x0040120E which was originally called from 0x00401209. We can also note that the memset operation before the stack smash is suspicious and probably the cause of the vulnerability. This information would not have been available without OllyCallTrace recording the call chain as the stack is destroyed after the overflow.

Screenshot


OllyHeapTrace
About
OllyHeapTrace is a plugin for OllyDbg (version 1.10) to trace the heap operations being performed by a process. It will monitor heap allocations and frees for multiple heaps, as well as operations such as creating or destroying heaps and reallocations. All parameters as well as return values are recorded and the trace is highlighted with a unique colour for each heap being traced.

The primary purpose of this plugin is to aid in the debugging of heap overflows where you wish to be able to control the heap layout to overwrite a specific structure such as a chunk header, critical section structure or some application specific data. By tracing the heap operations performed during actions you can control (for example opening a connection, sending a packet, closing a connection) you can begin to predict the heap operations and thus control the heap layout.

Usage
Simply install the plugin and activate OllyHeapTrace when you wish to begin tracing heap operations. OllyHeapTrace will automatically create the breakpoints needed (RtlAllocateHeap, RtlFreeHeap, RtlCreateHeap, RtlDestroyHeap, RtlReAllocateHeap, RtlSizeHeap, GetProcessHeap and RtlInitializeCriticalSection, RtlDeleteCriticalSection) and record the relevant information when these breakpoints are hit. To view the heap trace select the OllyHeapTrace Log.

Double clicking on any row in the OllyHeapTrace Log window will bring you to the callers location in the OllyDbg disassembly window. The recorded heap trace is highlighted with a unique colour for each heap being traced. Right clicking on any row will give you some options such as to view the heap chunks data or the heap itself (only a raw dump of the memory is given, no parsing of the heap structures is performed). You can also filter out unwanted information if you are only concerned with a specific heap.

OllyHeapTrace has been successfully tested on:

Windows 2000 SP4
Windows XP SP3
Windows Server 2003 SP2
Windows Vista SP1
Windows Server 2008 SP1
Screenshot



-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 12 декабря 2008 01:30
· Личное сообщение · #3

Can you build it by yourself? I have no C++ compiler installed.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 12 декабря 2008 01:37 · Поправил: progopis
· Личное сообщение · #4

Гы-гы-гы
lib\ollydbg.txt (антивирь упёр в карантин либу):
Code:
  1. FILE QUARANTINED
  2. Microsoft Forefront Security for Exchange Server removed a file since it was found to match a filter.
  3. File name: "winmail.dat->Unnamed Attachment->lib\ollydbg.lib"
  4. Filter name: "FILE FILTER= SMTP List: *.lib"

ARCHANGEL, я думаю что mak не сам писал эту тулзу (иначе зачем писать в основном форуме по-английски? Worldwide есть для этого). Попробую собрать. Только вот SDK надо скачать.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 12 декабря 2008 02:17
· Личное сообщение · #5

скомпиленная и либа

c3b4_11.12.2008_CRACKLAB.rU.tgz - OllySnake.dll+ollylib.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 12 декабря 2008 02:22
· Личное сообщение · #6

скомпиленная всеравно на запускается чегото

Вот те 3 дополнительных , забыл их приложить

caa0_11.12.2008_CRACKLAB.rU.tgz - OLDBG plugin3x.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 32.5 (посетитель), 3thx
Активность: 0.030
Статус: Участник

Создано: 12 декабря 2008 16:36
· Личное сообщение · #7

mak пишет:
OllySocketTrace

То что давно искал. Спасибо!!!



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 12 декабря 2008 16:43
· Личное сообщение · #8

mak пишет:
скомпиленная всеравно на запускается

У меня вообще не компилится. Link не может разрешить импорт из ollydbg.lib. Ты какой версией компилил?



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 12 декабря 2008 17:29
· Личное сообщение · #9

Dem0n1C
давным давно все это дело выложено! Че искать то ?

-----
My love is very cool girl.





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 12 декабря 2008 17:40
· Личное сообщение · #10

mak
Эмм... еще былоб замечательно дать урл на сайтег автора www.harmonysecurity.com/tools.html

-----
Computer Security Laboratory




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 12 декабря 2008 18:13 · Поправил: progopis
· Личное сообщение · #11

[HEX]
Ну это автор второго блока плагинов. А тема называется OllyEye plug-in

Вот нечто похожее на первоисточник OllyEye. Правда скомпиленной либы там все равно нет
http://securitylabs.websense.com/content/Blogs/3244.aspx http://securitylabs.websense.com/content/Blogs/3244.aspx




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 12 декабря 2008 18:48
· Личное сообщение · #12

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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 12 декабря 2008 20:03 · Поправил: progopis
· Личное сообщение · #13

mak
Я тоже ей же. Но не получалось. Можешь скинуть весь проект (включая компиленную либу) сюда? В крайнем случае можно в IDA посмотреть, почему не работает...



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 декабря 2008 03:38
· Личное сообщение · #14

Просьба всем: кто может скомпилить или уже имеет скомпиленную версию этого плагина - выложить сюда.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 14 декабря 2008 03:47
· Личное сообщение · #15

progopis пишет:
скомпиленную версию этого плагина


какого именно? Snake есть, уже и не помню, сам компилил или взяд где. Правда ниразу так и не заюзал



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 декабря 2008 03:52
· Личное сообщение · #16

Подсказка: тема называется OllyEye plug-in




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 14 декабря 2008 05:28 · Поправил: Модератор
· Личное сообщение · #17

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




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 14 декабря 2008 05:43 · Поправил: ClockMan
· Личное сообщение · #18

Ребята давайте небудим ссориться
Насчёт OllySnake у меня есть такой плагин но насколько я знаю без Windows debuggers он работать не будет(если вы его иммели в веду)
-----------------------------------------------------------------
Вот этот проект поинтереснее будет radare.nopcode.org/new/?img


6b95_13.12.2008_CRACKLAB.rU.tgz - OllySnake.dll

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 декабря 2008 05:49
· Личное сообщение · #19

ClockMan
Версия устарела, но все равно спасибо. У mak'а вообще не рабочий.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 14 декабря 2008 13:47
· Личное сообщение · #20

Поскипал пару постов и подправил 1. Не нужно собачиться тут.


 eXeL@B —› Основной форум —› OllyEye plug-in
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати