Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3480 / 785 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 24:

Средства просмотра файлов и редакторы общего назначения

Пример из жизни. Расшифровка мистических файлов

преступника

Вам вручили компакт диск с какими-то странными файлами, которые были захвачены у предполагаемого хакера. Официальные лица правоохранительных органов надеются, что вы сможете придать смысл этим файлам, поскольку их собственные ресурсы ограничены после обычного урезания бюджета. Так как вы любите помогать хорошим людям, вы решаете выполнить некоторый анализ этих файлов на благо общества.

Файлы с компакт-диска обладают следующими свойствами.

forensic# ls -al /mnt/cdrom
total 306
dr-x------  2   kjones  1000       512  Apr 22 21:58    .   
drwxr-xr-x  11  kjones  1000       512  Apr 22 21:42    ..  
-r-x------  1   kjones  1000      1889  Apr 22 21:59    bin 
-r-x------  1   kjones  1000      1075  Apr 22 21:58    h   
-r-x------  1   kjones  1000      1041  Apr 22 21:58    p   
-r-x------  1   kjones  1000      1212  Apr 22 21:57    s   
-r-x------  1   kjones  1000    290564  Apr 22 21:42    t

Не имея доступа к первоначальным именам файлов, неопытный следователь стал бы нервничать, но вам не о чем беспокоится, потому что вы внимательно прочли эту лекцию! Не так ли?

Запуск команды file. Первым делом вам необходимо запустить команду file, чтобы определить типы файлов. Вы обнаруживаете следующую информацию.

forensic# file *
bin:    tcpdump capture file (little-endian) - version 2.4
        (Ethernet, capture length 65535)
h:      ASCII English text  
p:      ASCII text  
s:      ASCII text  
t:      ELF 32-bit LSB executable, Intel 80386,
           version 1 (FreeBSD), dynamically
             linked (uses shared libs), stripped

Большую часть этой истории вы уже знаете! У преступника была копия tcpdump (вы это обнаружите, если запустите файл "t" в "санитарной среде" или просмотрите в нем строки) и файла вывода, сгенерированного инструментом tcpdump. Поэтому ваш следующий шаг заключается в том, чтобы прочитать лекцию "Анализаторы сетевых потоков" и узнать, как проанализировать этот вывод утилиты tcpdump.

Анализ шестнадцатеричного кода. Вы могли бы сделать дамп содержимого этих файлов, но вы решаете сделать только дамп файлов "h", "p" и "s", поскольку уже знаете, что файл "bin" является выводом утилиты tcpdump, и его надо анализировать, используя непосредственно tcpdump. Следующие результаты отображаются, когда вы используете файл форматирования hexdump.fmt (или опцию -C в FreeBSD).

forensic# hexdump -C h/head 
00000000    23 20 48 6f 73 74 20 44 61 74 61 62 61 73 65 0a |# Host Database.|
00000010    23 20 54 68 69 73 20 66 69 6c 65 20 73 68 6f 75 |# This file shou|
00000020    6c 64 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 61 |ld contain the a|
00000030    64 64 72 65 73 73 65 73 20 61 6e 64 20 61 6c 69 |ddresses and ali|
00000040    61 73 65 73 0a 23 20 66 6f 72 20 6c 6f 63 61 6c |ases.# for local|
00000050    20 68 6f 73 74 73 20 74 68 61 74 20 73 68 61 72 | hosts that shar|
00000060    65 20 74 68 69 73 20 66 69 6c 65 2e 0a 23 20 49 |e this file..# I|
00000070    6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f |n the presence o|
00000080    66 20 74 68 65 20 64 6f 6d 61 69 6e 20 6e 61 6d |f the domain nam|
00000090    65 20 73 65 72 76 69 63 65 20 6f 72 20 4e 49 53 |e service or NIS|
forensic# hexdump -C p/head 
00000000    72 6f 6f 74 3a 2a 3a 30 3a 30 3a 43 68 61 72 6c |root:*:0:0:Charl|
00000010    69 65 20 26 3a 2f 72 6f 6f 74 3a 2f 62 69 6e 2f |ie &:/root:/bin/|
00000020    63 73 68 0a 74 6f 6f 72 3a 2a 3a 30 3a 30 3a 42 |csh.toor:*:0:0:B|
00000030    6f 75 72 6e 65 2d 61 67 61 69 6e 20 53 75 70 65 |ourne-again Supe|
00000040    72 75 73 65 72 3a 2f 72 6f 6f 74 3a 0a 64 61 65 |ruser:/root:.dae|
00000050    6d 6f 6e 3a 2a 3a 31 3a 31 3a 4f 77 6e 65 72 20 |mon:*:1:1:Owner |
00000060    6f 66 20 6d 61 6e 79 20 73 79 73 74 65 6d 20 70 |of many system p|
00000070    72 6f 63 65 73 73 65 73 3a 2f 72 6f 6f 74 3a 2f |rocesses:/root:/|
00000080    73 62 69 6e 2f 6e 6f 6c 6f 67 69 6e 0a 6f 70 65 |sbin/nologin.ope|
00000090    72 61 74 6f 72 3a 2a 3a 32 3a 35 3a 53 79 73 74 |rator:*:2:5:Syst|
forensic# hexdump -C s/head 
00000000    72 6f 6f 74 3a 24 31 24 38 44 65 30 47 66 5a 51 |root:$1$8De0GfZQ|
00000010    24 6c 4f 79 78 59 42 70 2e 6e 59 56 59 74 5a 52 |$lOyxYBp.nYVYtZR|
00000020    45 63 63 42 73 61 31 3a 30 3a 30 3a 3a 30 3a 30 |EccBsa1:0:0::0:0|
00000030    3a 43 68 61 72 6c 69 65 20 26 3a 2f 72 6f 6f 74 |:Charlie &:/root|
00000040    3a 2f 62 69 6e 2f 63 73 68 0a 74 6f 6f 72 3a 2a |:/bin/csh.toor:*|
00000050    3a 30 3a 30 3a 3a 30 3a 30 3a 42 6f 75 72 6e 65 |:0:0::0:0:Bourne|
00000060    2d 61 67 61 69 6e 20 53 75 70 65 72 75 73 65 72 |-again Superuser|
00000070    3a 2f 72 6f 6f 74 3a 0a 64 61 65 6d 6f 6e 3a 2a |:/root:.daemon:*|
00000080    3a 31 3a 31 3a 3a 30 3a 30 3a 4f 77 6e 65 72 20 |:1:1::0:0:Owner |
00000090    6f 66 20 6d 61 6e 79 20 73 79 73 74 65 6d 20 70 |of many system p|
24.1.

Если вы рассмотрите файл "t" с помощью Hexdump и взглянете на более глубокие смещения, то обнаружите следующую информацию:

forensic# hexdump -C t  
...
0003cda0    35 2c 20 31 39 39 36 2c 20 31 39 39 37 0a 54 68 |5, 1996, 1997.Th|
0003cdb0    65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 |e Regents of the|
0003cdc0    20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 | University of C|
0003cdd0    61 6c 69 66 6f 72 6e 69 61 2e 20 20 41 6c 6c 20 |alifornia. All |
0003cde0    72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e |rights reserved.|
0003cdf0    0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0003ce00    40 28 23 29 20 24 48 65 61 64 65 72 3a 20 2f 74 |@(#) $Header: /t|
0003ce10    63 70 64 75 6d 70 2f 6d 61 73 74 65 72 2f 74 63 |cpdump/master/tc|
0003ce20    70 64 75 6d 70 2f 74 63 70 64 75 6d 70 2e 63 2c |pdump/tcpdump.c,|
0003ce30    76 20 31 2e 31 35 38 20 32 30 30 30 2f 31 32 2f |v 1.158 2000/12/|
0003ce40    32 31 20 31 30 3a 34 33 3a 32 34 20 67 75 79 20 |21 10:43:24 guy |
0003ce50    45 78 70 20 24 20 28 4c 42 4c 29 00 75 6e 6b 6e |Exp $ (LBL).unkn|
0003ce60    6f 77 6e 20 64 61 74 61 20 6c 69 6e 6b 20 74 79 |own data link ty|
0003ce70    70 65 20 25 64 00 25 73 00 00 00 00 00 00 00 00 |pe %d.%s........|
0003ce80    61 63 3a 64 65 45 3a 66 46 3a 69 3a 6c 6d 3a 6e |ac:deE:fF:i:lm:n|
0003ce90    4e 4f 70 71 72 3a 52 73 3a 53 74 54 3a 75 76 77 |NOpqr:Rs:StT:uvw|
0003cea0    3a 78 58 59 00 69 6e 76 61 6c 69 64 20 70 61 63 |:xXY.invalid pac|
0003ceb0    6b 65 74 20 63 6f 75 6e 74 20 25 73 00 25 73 3a |ket count %s.%s:|
0003cec0    20 69 67 6e 6f 72 69 6e 67 20 6f 70 74 69 6f 6e | ignoring option|
0003ced0    20 60 2d 6d 20 25 73 27 20 00 28 6e 6f 20 6c 69 | "-m %s" .(no li|
0003cee0    62 73 6d 69 20 73 75 70 70 6f 72 74 29 0a 00 69 |bsmi support)..i|
0003cef0    6e 76 61 6c 69 64 20 73 6e 61 70 6c 65 6e 20 25 |nvalid snaplen %|
0003cf00    73 00 76 61 74 00 77 62 00 72 70 63 00 72 74 70 |s.vat.wb.rpc.rtp|
...
24.2.

Информация, представленная здесь инструментом Hexdump, ясно показывает, что этот файл компилировался из исходного файла, который содержал слово tcpdump.

Чтобы раздел "Пример из жизни" остался достаточно кратким, мы лишь упомянем, что другая информация, например, инструкции по использованию, также представлена в выводе Hexdump, помогая подтвердить ваше предположение о том, что этот файл является программой-анализатором сетевых потоков (sniffer) tcpdump.

Мы решили освободить вас от деталей исследования тех же самых файлов с помощью Hexdump, vi, Frhed, xvi32 и Quickview Plus. Мы предполагаем, что общая картина вам ясна, а выбор конкретного инструмента является в данном случае результатом личного предпочтения.