Difference between revisions of "OpenChaos/Malware Linux"
(Added two links and another rootkit hunter.) |
(added a bit content) |
||
Line 1: | Line 1: | ||
− | Folien unter | + | Folien des OpenChaos unter [[Image:Openchaos-malware-unix.pdf]] |
==runtime kernel patching== | ==runtime kernel patching== | ||
− | + | ||
− | + | Die Techniken wird im zugehörigen [http://phrack.org/phrack/58/p58-0x07 Phrack-Artikel] beschrieben | |
− | |||
− | == | + | * /dev/kmem - Capability SYS_RAWIO wird benötigt für Zugriff, ausserdem +rw |
− | * | + | * Fünf Schritte: |
− | * | + | ** Suche in /dev/kmem nach der Adresse der sys-call-table und Position von kmalloc() |
− | * parasitic module infection (adore-ng optional), | + | ** Ersetze Position von "ungebrauchtem" sys-call mit Adresse von kmalloc() |
− | * runtime-kernel patching (suckit) (copy der syscall table ... | + | ** Call kmalloc() um Kernelspeicher zu reservieren |
− | * static kernel patching - im | + | ** Kopiere code vom rootkit in freien Speicherbereich |
+ | ** Modifiziere sys-call-table wieder und Aufruf des codes | ||
+ | * SucKIT ändert pointer auf sys-call-table in der IDT | ||
+ | |||
+ | == Verstecken von Modulen== | ||
+ | * Löschen des Moduls aus der Modulliste: Ändern des Pointers aus der linked list (adore) | ||
+ | |||
+ | cleaner.c: | ||
+ | int init_module() | ||
+ | { | ||
+ | if (__this_module.next) | ||
+ | __this_module.next = __this_module.next->next; | ||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | |||
+ | * Verändern des Virtual Filesystems (VFS) (adore-ng) | ||
+ | * "parasitic module infection" (adore-ng - optional) | ||
+ | Verändern eines anderen Moduls, sehr ähnlich zu Virus | ||
+ | |||
+ | Die Technik wird im zugehörigen [http://phrack.org/phrack/61/p61-0x0a_Infecting_Loadable_Kernel_Modules.txt Phrack-Artikel] beschrieben | ||
+ | |||
+ | * "runtime-kernel patching" (suckit) (copy der syscall table ...IDT) | ||
+ | * "static kernel patching" - im Kernelimage code ablegen | ||
+ | Die Technik wird im zugehörigen [http://www.phrack.org/phrack/60/p60-0x08.txt Phrack-Artikel] beschrieben | ||
==Sebek== | ==Sebek== | ||
− | * baut sk_buff struct und schickt sie an | + | * baut sk_buff struct und schickt sie an Device |
+ | * stealth communication | ||
+ | * vielleicht in rootkit einbauen? | ||
==Virus== | ==Virus== | ||
Line 23: | Line 48: | ||
* [http://www.chkrootkit.org chkrootkit] | * [http://www.chkrootkit.org chkrootkit] | ||
* [http://rootkit.nl rkhunter] | * [http://rootkit.nl rkhunter] | ||
− | * tiger | + | * [http://www.nongnu.org/tiger/ tiger] |
==grsec== | ==grsec== | ||
− | * grsec, trusted path execution, benutzer | + | * grsec, trusted path execution, benutzer können keine programme ausführen, die sie schreiben können |
==Antivirus Virus Linux== | ==Antivirus Virus Linux== | ||
Line 32: | Line 57: | ||
* clamav | * clamav | ||
* hb-antivir | * hb-antivir | ||
− | |||
− | |||
[[Category:OpenChaos]][[Category:Events]] | [[Category:OpenChaos]][[Category:Events]] |
Revision as of 21:27, 11 November 2004
Folien des OpenChaos unter File:Openchaos-malware-unix.pdf
Contents
runtime kernel patching
Die Techniken wird im zugehörigen Phrack-Artikel beschrieben
- /dev/kmem - Capability SYS_RAWIO wird benötigt für Zugriff, ausserdem +rw
- Fünf Schritte:
- Suche in /dev/kmem nach der Adresse der sys-call-table und Position von kmalloc()
- Ersetze Position von "ungebrauchtem" sys-call mit Adresse von kmalloc()
- Call kmalloc() um Kernelspeicher zu reservieren
- Kopiere code vom rootkit in freien Speicherbereich
- Modifiziere sys-call-table wieder und Aufruf des codes
- SucKIT ändert pointer auf sys-call-table in der IDT
Verstecken von Modulen
- Löschen des Moduls aus der Modulliste: Ändern des Pointers aus der linked list (adore)
cleaner.c: int init_module() { if (__this_module.next) __this_module.next = __this_module.next->next; return 0; }
- Verändern des Virtual Filesystems (VFS) (adore-ng)
- "parasitic module infection" (adore-ng - optional)
Verändern eines anderen Moduls, sehr ähnlich zu Virus
Die Technik wird im zugehörigen Phrack-Artikel beschrieben
- "runtime-kernel patching" (suckit) (copy der syscall table ...IDT)
- "static kernel patching" - im Kernelimage code ablegen
Die Technik wird im zugehörigen Phrack-Artikel beschrieben
Sebek
- baut sk_buff struct und schickt sie an Device
- stealth communication
- vielleicht in rootkit einbauen?
Virus
- ELF header infection
- RST.B Virus
rootkit hunter
grsec
- grsec, trusted path execution, benutzer können keine programme ausführen, die sie schreiben können
Antivirus Virus Linux
- f-prot
- clamav
- hb-antivir