Szeretném az alábbiakat megvalósítani. Mutatok egy log kimenetet, ezzel kellene bűvészkedni. Az elméletét ismerem, szerintem így megvalósítható.
Gondolom lemásolom az alábbi logot, diff -el összehasonlítom, de nem tudom, hogy kellene a differenciát egy fájlba tenni, majd ebben kikeresni amit kell és azt ismét egy fájlba tenni. Na megmutatom mire gondoltam:
A nepenthes loggol egy fájlba, ez így néz ki valahogy:
[09032009 23:10:20 spam] Stored Hexdump /var/lib/nepenthes/hexdumps/d93213fe11460562870f2d6158fef713.bin (0x080a2428 , 0x00000005).
[09032009 23:10:20 spam] Stored Hexdump /var/lib/nepenthes/hexdumps/de01871634fc971ab1d312084ac3224e.bin (0x080a2428 , 0x0000000a).
[09032009 23:10:20 spam] Stored Hexdump /var/lib/nepenthes/hexdumps/bca72084eeb7341710b0751051d6516d.bin (0x080a2428 , 0x0000000f).
[09032009 23:10:21 spam] Stored Hexdump /var/lib/nepenthes/hexdumps/9ff335ee773226a2596bdf1e70da7d2a.bin (0x080a2428 , 0x00000014).
[09032009 23:10:21 warn module] Unknown exploit 0 bytes
[09032009 23:10:21 module] Ignoring zero-length hexdump.
[14032009 05:44:03 crit net handler] Could not Bind Socket to Port 25 Address already in use
[14032009 05:44:03 crit net handler] ERROR Could not init Socket Address already in use
[14032009 05:44:03 crit net mgr] ERROR Binding :25 failed
[14032009 05:44:03 info sc module] Loading signatures from file /etc/nepenthes/signatures/shellcode-signatures.sc
[14032009 05:44:12 info mgr] Changed logfile /var/log/nepenthes.log owner to 102:0 (nepenthes:root)
[14032009 05:44:12 crit mgr] Compiled without support for capabilities, no way to run capabilities
[14032009 05:44:12 info mgr] Process userid 102
[14032009 05:52:51 info sc module] Loading signatures from file /etc/nepenthes/signatures/shellcode-signatures.sc
[14032009 05:52:52 info mgr] Changed logfile /var/log/nepenthes.log owner to 102:0 (nepenthes:root)
[14032009 05:52:52 crit mgr] Compiled without support for capabilities, no way to run capabilities
[14032009 05:52:52 info mgr] Process userid 102
[14032009 05:58:30 crit mgr] Exit 'cause of 15
[14032009 05:58:50 crit net handler] Could not Bind Socket to Port 25 Address already in use
[14032009 05:58:50 crit net handler] ERROR Could not init Socket Address already in use
[14032009 05:58:50 crit net mgr] ERROR Binding :25 failed
[14032009 05:58:50 info sc module] Loading signatures from file /etc/nepenthes/signatures/shellcode-signatures.sc
[14032009 05:58:50 info mgr] Changed logfile /var/log/nepenthes.log owner to 102:0 (nepenthes:root)
[14032009 05:58:50 crit mgr] Compiled without support for capabilities, no way to run capabilities
[14032009 05:58:50 info mgr] Process userid 102
honey:~#
A felső 4 sor az ami minket érdekel, illetve amit logolni akarok.
Syslog-ng fut a gépen, ami egy központi logszerverbe loggol. A syslog-ng -ben van olyan lehetőség,hogy fájlból loggoljon, pl. a kernel logjait, de amikor rácatoltam az alábbi /proc/kmsg fájlra, úgy vettem észre ez egy nyitott fájl. A syslog-ng -ben source -ként ezt megadva lehet fájlból loggolni:
file("/proc/kmsg" log_prefix("kernel: "));
Azt kellene megcsinálni, hogy figyelni a nepenthes logot időközönként, pl 10sec -enként és ha különbséget találunk, megnézzük szerepel -e ebben a különbségben a "/var/lib/nepenthes" string, mert akkor tuti olyan logot látunk, amikor valaki valamelyik szolgáltatást törögeti. Ne tévesszen meg a .bin kiterjesztés, rácatolva látszik benne az infó.
Ha megvan a különbség és abban szerepel egy string, akkor ezt bele kellene rakni egy ilyen nyitott fájlba, pl. egy mkfifo -s nyitott fájlba, amiből aztán a syslog-ng már ki tudja olvasni az infókat és tovább tudja küldeni.
Akinek van kedve és tud scriptet írni segíthetne mert én sosem írtam még ilyet. Bash script -re gondolok, etch alá.