|
Holy_Father
Di seguito il materiale presente un tempo nel
defunto sito http://hxdef.org |
 |
Driver coding tutorial: ottima guida alla creazione di
driver; mirata principalmente a spiegare per gradi come creare
un driver per eseguire l'hooking di API di Windows in kernel
mode
Sorgenti in C
Driver_Coding_Tutorial.7z
|
 |
File Faker: simpatico programma per creare file di
piccole dimensioni che però vengono visti da Windows come file
di dimensione enorme: più precisamente il programma consente di
specificare la dimensione del file che verrà restituita da
Windows. Sorgenti in Delphi
file_faker.7z
|
 |
Morphine: famoso crypter di
eseguibili. Doppia versione del sorgente: C e Delphi anche se
fondamentalmente in entrambi i casi l'implementazione delle
funzioni è totalmente in assembler
Morphine.7z
|
 |
Hacker Defender: il famoso rootkit; sorgenti del
programma principale in Delphi, alcune funzioni implementate in
assembler, driver in C
Hacker_Defender.7z
|
 |
TCP Port Redirector: redirector di porte TCP; in
assembler (MASM)
sredir.7z
|
 |
KHS: ottimo esempio di come trovare ed anche eliminare
servizi di Windows tenuti nascosti tramite api hooking. Il
programma scansiona il ramo di registro
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services una
prima volta senza utilizzare le api di Windows e poi una seconda
volta usando le api di Windows; esegue quindi un confronto tra i
2 risultati ottenuti. Se qualche programma ha messo degli hook
sulle api di Windows dedicate alla manipolazione del registro,
vi potranno essere degli elementi presenti nella prima e non
nella seconda scansione che corrispondono appunto ai servizi di
Windows che si vuole tenere nascosti. Per la scansione del
registro senza l'utilizzo delle API, il programma utilizza
l'ottima implementazione dell'accesso nativo al registro fornita
da Petter Nordahl-Hagen nel suo celeberrimo
boot floppy che
consente di avviare il pc da floppy (o da CD) e modificare in *
la password dell'utenza administrator delle installazioni di
Windows presenti sul computer. E' la cosidetta "NT Registry Hive
access library" (ntreg.c e ntreg.h) che consente di navigare i
rami del registro nella stessa maniera in cui si navigano da linea
di comando le cartelle del file system.
Sorgenti in C
KHS
|
 |
Open Handles: l'unico esempio in circolazione di
applicativo che restituisce gli handles dei vari processi e per
ognuno di essi tutte le informazioni che vengono restituite da
Process Explorer. Programma principale in Delphi con
implementazione di alcune funzioni in Assembler e driver in C.
N.B. l'enumerazione degli handles non si blocca mai (chi ha
cercato di sviluppare una applicazione simile sa bene di cosa
sto parlando, la gestione degli handle e soprattutto prelevare
le caratteristiche di ognuno di essi non è una operazione
triviale)
OpHandle.7z
|
 |
Open Ports: ottimo esempio di come ottenere le porte TCP
ed UDP aperte con associato il processo ed altre informazioni
importanti: è un caso particolare del programma Open Handles in
quanto le porte TCP ed UDP vengono elencate tra gli handle
aperti; in particolare sono handle di tipo File e di nome \Device\Tcp
(porte TCP) e \Device\Udp (porte UDP). Programma principale in
Delphi con implementazione di alcune funzioni in Assembler e
driver in C.
OpPorts.7z
|
 |
Logoner: applicativo che si pone come obiettivo quello di
loggare username e password in chiaro ad ogni login in Windows. In
realtà contiene molto altro: l'applicativo finale infatti è un
esempio dell'utilizzo di un sistema modulare che l'autore ha
chiamato AttoCode. Nei sorgenti è interessante analizzare le parti
relative all'implementazione di un Loader di moduli dll ed exe che
si vuole sostituire al loader di Windows.
logoner002.7z
|
 |
Invisibility on NT boxes: il famoso articolo sulla
invisibilità di una applicazione sotto Windows
hidingen.txt
|
 |
Delphi Driver Development Kit (DDDK): il pacchetto per creare
driver con Delphi
DDDK_Delphi_Driver_Development_Kit_0_0_4.7z
|
 |
Technics of hooking API functions on Windows
hookingen.txt
|
 |
Process Master:
elenca i processi in esecuzione restituendo parecchie
informazioni su ognuno; pone particolare enfasi sulla
terminazione dei processi consentendo di definire vari livelli
di "uccisione" di un processo specificato a seconda della
situazione; sorgenti del programma principale in Delphi, driver
in C pm12.7z
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|