Читаем IT-безопасность: стоит ли рисковать корпорацией? полностью

Теперь хакер использует известную программную ошибку для получения прав суперпользователя по доступу к системе. (Хакер пишет несколько строк программы для переполнения буфера в rdist и затем засылает команды в rdist, которые исполняются.) Если бы в систему были установлены правильные патчи, то это не было возможным!

1 valley% sh

2 $ who

3 ingres ttypO Jan 18 23:02

4 root ttyp2 Jan 15 18:38 (canyon)

5 $ cp /home2/jeff/bin/kermit,orig kermit

6 $ kermit

7 C-Kermit 5A(178) ALPHA, 29 Jan 92, SUNOS 4.1 (BSD)

8 Type? or HELP for help

9 C-Kermit>rece fi

10 Escape back to your local Kermit and give a SEND command…

11 # N3

12 0Yz*@-#Y1-N!y-13

13 %!YfiO

14 #"Y@

15 ##YA

16#$YB

17#%YC

18#&YD

19C-Kermit>

20 Stopped

21 valley% sh

22 Stopped (signal)

23 valley% sh

24 переполняет буфер (удалено из соображений безопасности)

25 $ /tmp/sh

Строки с № 26 по № 27

Хакер теперь имеет права доступа суперпользователя (root). Он уже внутри! Он устанавливает режим и разрешения и изменяет имя на нечто такое, что он, вероятно, не забудет. Заметьте, что он удаляет файл /tmp/sh, так как не хочет оставлять какого-либо следа своего визита.

Строка № 28

Он ошибается в написании команды.

Строки с № 29 по № 45

Он выдает команду ls (list) с параметром — t (time), определяющим формирование списка файлов каталога с новейшими файлами в начале списка. Выдается список файлов.

Строки с № 46 по № 48

Просто еще одна проверка на отсутствие в системе кого-либо. Большинство хакеров продолжают проверять систему на наличие в ней других регистраций на протяжении всей атаки.

Строка № 49

Здесь он использует команду grep для поиска строки "est". (Параметр — i говорит UNIX, что допустимы символы как верхнего, так и нижнего регистров.) Предположительно, хакер ищет наличие других регистрации в системе из домена DNS".West". (Если вы не знакомы с UNIX, то "grep" — это общая команда, расшифровывающаяся как Grab Regular Expression. В основном grep используется для поиска в системе конкретной строки, имеющейся в файлах этой системы.)

26 # rm /tmp/sh

27 rm: override protection 755 for /tmp/sh? у

28 # Isll

29 # Is — tal

30 total 1049

31 drwxr-xr-x4 ingres 512 Jan 18 23:04.

32 — rwsrwsrwx 1 root 24576 Jan 18 23:04 suck

33 — rw-r-r-1 root 61 Jan 18 23:04 c.c

34 — rwxr-xr-x 1 ingres 442368 Jan 18 23:03 kermit

35 — rwxrwxrwx 1 ingres 360448 Jan 16 11:02 testit

36 drwxr-xr-x 30 root 1024 Dec 18 20:27..

37 — rw-r-r-1 ingres 1148 Jun 9 1992 foo

38 drwxrwsrwx 6 ingres 6144 Aug 23 1991 SERVICE

39 — rwxr-xr-x 1 ingres 106496 Feb 25 1991 sun4Jookup

40 — rwxr-xr-x 1 ingres 98304 Feb 25 1991 sun3_lookup

41 drwxr-xr-x 3 ingres 512 Jan 23 1991 quoter

42 — rw-r-r-1 ingres 306 Nov 20 1987.cshrc

43 — rw-r-r- 1 ingres 1159 Nov 20 1987.install

44 — Г-Г-Г-1 ingres 20 Nov 20 1987.version

45 — rw-r-r- 1 ingres 36 Jan 26 1987.oemstring

46 # who

47 ingres ttypO Jan 18 23:02

48 root ttyp2 Jan 15 18:38 (canyon)

49 # last | grep — i est

Строки с № 50 по 57

Теперь он ищет что-то конкретное — "lorin". Очевидно, "lorin" не входил в систему с того времени, как хакер в последний раз взломал систему и удалил файл с учетными записями (16 января). Хакер пытается найти "lorin" в /etc/passwd с помощью команды grep, но ошибается при наборе команды. Затем он вспоминает, что именем пользователя, о котором он думает, является "lorimo", а не "lorin". Это значит, что наш парень побывал здесь раньше.

Строки с № 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

Перейти на страницу:

Похожие книги