Средства просмотра файлов и редакторы общего назначения
Пример из жизни. Расшифровка мистических файлов
преступника
Вам вручили компакт диск с какими-то странными файлами, которые были захвачены у предполагаемого хакера. Официальные лица правоохранительных органов надеются, что вы сможете придать смысл этим файлам, поскольку их собственные ресурсы ограничены после обычного урезания бюджета. Так как вы любите помогать хорошим людям, вы решаете выполнить некоторый анализ этих файлов на благо общества.
Файлы с компакт-диска обладают следующими свойствами.
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. Мы предполагаем, что общая картина вам ясна, а выбор конкретного инструмента является в данном случае результатом личного предпочтения.