-
Notifications
You must be signed in to change notification settings - Fork 15
/
crk.html
119 lines (96 loc) · 3.48 KB
/
crk.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<html>
<head>
<title>.CRK/.XCK infection</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor=#AAAAAA text=#000000>
<h1 align=center>О ЗАРАЖЕНИИ .CRK/.XCK ФАЙЛОВ</h1>
<h2 align=center>О ФАЙЛАХ</h2>
<p>В .CRK и .XCK файлах, как известно, хранятся отличия файлов исходных от
файлов похаканных.<br>
В общем случае отличия хранятся так:</p>
<pre><font color=#000080>
-------------------------------
всякие комментарии
HACKME.EXE
00012345: 74 EB
...
-------------------------------
</font></pre>
<p>Поскольку сей текст для людей более-менее понимающих, я здесь не буду
подробно (да и вообще) описывать формат этих несчастных файлов.</p>
<h2 align=center>ЗАРАЖЕНИЕ</h2>
<p>Рассматривается ситуация, когда на диске есть крак (.CRK/.XCK),
а самого файла как бы нет.<br>
(я говорю о том файле, на который крак направлен, в примере - HACKME.EXE)</p>
<p>Заражение происходит в 3 этапа:</p>
<ol>
<li>при нахождении крака - сохраняем его содержимое в тело вируса
<li>при нахождении исполняемого файла,<br>
если в вирусе сохранен крак, направленный на этот файл
<ul>
<li>заражаем файл вирусом
<li>изменяем крак таким образом, чтобы он содержал вирус
</ul>
<li>при повторном нахождении крака - сохраняем "зараженный" крак поверх исходного
</ol>
<p>В результате чего все файлы, к которым будет применен такой модифицированный
крак станут заражены вирусом.</p>
<p>Очевидно, на этапы заражение разделено потому, что на одном компьютере
может быть крак, но не быть файла, и наоборот.<br>
Таким образом крак будет "ходить" вместе с вирусом до тех пор, пока не будет
найден нужный ему файл.</p>
<h2 align=center>ПРИМЕР</h2>
<table width=100% border=0 cellspasing=0 cellpadding=0>
<td width=50%>
<pre><font color=#000080>
--исходный крак----------------
всякие комментарии
HACKME.EXE
00012345: 74 EB
...
-------------------------------
</font></pre>
<td width=50%>
<pre><font color=#000080>
--"зараженный" крак------------
всякие комментарии
HACKME.EXE
00005F00: 00 0F // вирус
00005F01: 00 01
...
00012345: 74 EB // старый крак
...
-------------------------------
</font></pre>
</table>
</pre>
<h2 align=center>ОГРАНИЧЕНИЯ</h2>
<ul>
<li>Очевидно, что в один вирус много краков не напихаешь.
Утешает то, что их можно сжать, ибо числа в них шестнадцатиричные,
а последующие смещения изменяемых байт склонны не сильно (часто на 1)
отличаться от предыдущих.
<li>Что касается комментариев в краках, то вообще можно их не хранить,
можно хранить частично, а можно генерировать из фиксированного набора
строк.
<li>На метод заражения накладываются серьезные ограничения.<br>
Например файл не должен увеличивать свою длину, и тогда
заражение должно происходить записью вируса (или троянца) в нулевые
области файла, либо в области стандартных библиотек, что сложнее.
<li>Понятно, что зараженные краки будут весьма большими (+длина_вируса*17),
что сильно демаскирует объект.
<li>Также ясно, что на заражение краков уходит много времени.
(в рассматриваемом случае смена 2х компьютеров, хотя может быть и 0 и 100)
<li>Кряки редко используют. (в смысле один раз крак применили, и все)
</ul>
<h2 align=center>ЗАЧЕМ</h2>
<ul>
<li>Кряки не проверяются антивирусами. (теперь наверно будут)
<li>При отсутствии файла определить вероятность заражения
можно только по длине крака.
<li>Кряки, хоть и меньше чем файлы, но распространяются.
<li>Кряки, как и файлы, склонны попадать на компакты.
</ul>
<p align=center>Да и вообще, заражать нужно ВСЕ. И ПОБОЛЬШЕ, ПОБОЛЬШЕ! ;-)</p>
<p al