Skip to content

TraceHook v0.0.2

Jako że okazało się, iż znalazłem ostatnimi dniami chwilę czasu na powrót do rozwoju projektu TraceHook, postanowiłem oznaczyć to co powstało w wyniku kilkugodzinnej sesji kolejnym numerem – 0.0.2. Do tej pory aplikacja miała charakter czysto praktyczny – była opisana pod konkretny problem i środowisko, jednak powoli staram się uzupełniać go o opcje, które mogą okazać się przydatne w kontekście szerszej publiczności.

Główna idea oraz sposób działania nie uległ zmianie – w dalszym ciągu chodzi o kontrolę i zrzucanie pamięci rodzin procesów oznaczonych jakie malware (jako, że pod ten rodzaj oprogramowania tworzony jest TraceHook). Silnikiem całego mechanizmu jest sterownik systemowy, który zajmuje się bezpieczną obsługą aktualnej listy procesów oraz otrzymywaniem i zarządzaniem notyfikacji o zdarzeniach związanych z tworzeniem i zabijaniem programów.

Aplikacja wzbogacona została o nowy format pliku zrzutu – Windows MiniDump. W przeciwieństwie do pełnego zrzutu surowej pamięci, w całości odbywającego się w trybie jądra, plik minidump tworzony jest z trybu użytkownika. Przeniesienie funkcji dumpującej w user-mode otwiera możliwość rozbudowy projektu o kolejne, bezpieczne funkcje implementujące coraz to nowe formaty, w zależności od potrzeb samego użytkownika.

Kompletna paczka (EXE + źródła): TraceHook.zip (50 kB)

Opcje:

-=*( TraceHook v0.0.2 by j00ru//vx )*=-
 Usage: TraceHook.exe <target executable> [options]

 Available options:
 -pPATH       Sets the dump destination directory to PATH.
              The default dump path is C:\dump.

 -iINTERVAL   Turns the counter mode on. Makes the application terminate
              and automatically dump all the monitored processes after the
              specified amount of time.
              Note: The INTERVAL value is the number of seconds to wait till
                    dumping all processes.

 -m           Activates the MiniDump mode.
 -h           Displays this message.

— CHANGELOG —

2009-10-03: TraceHook v0.0.2
 * Added dump path manipulation option.
 * Added time interval option.
 * Added additional dump file format - Windows MiniDump.
 * Fixed a Denial of Service vulnerability described at http://j00ru.vexillium.org/?p=141#comment-69
 * Fixed many other minor code issues

— TODO —

*** TraceHook v0.0.2 --> v0.0.3
 - Move the dumping process entirely to user-mode, for easier development and safer execution
 - Change the ProcessList structure to sth based on LIST_ENTRY (safer solution ?)
 - Add more dump file formats, i.e. module-only dumps
 - Add support for multiple malware process trees
 - Create some kind of GUI, user-friendly interface

Zachęcam do radosnego ściągania i testowania aplikacji! ;>

{ 2 } Comments

  1. Cyclops | 11-paź-09 at 09:35:57 | Permalink

    Nice one j00ru :)
    MiniDump will be pretty useful for windbg.

  2. Malcom | 28-paź-09 at 04:22:08 | Permalink

    Ciekawe ;)
    Jedna funkcja jest zrodlem malych wycieków pamieci ;p

Post a Comment

Your email is never published nor shared. Required fields are marked *