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

 

 

 

 

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

 

 

 

 

 

-xcha

 

 

 

 

Центр сертификации Let’s Encrypt 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

139 BUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

-

 

n

e

 

 

 

 

 

x cha

 

 

 

 

Рис.6.2. Конфигурация зоны и делегирование c2.spider.ml IP-адресу нашего экземпляра командно-контрольного сервера

С этими двумя записями запросы для c2.spider.ml будут эффективно отправляться на только что созданный сервер. Любой запрос для поддомена c2.spider.ml также будет отправляться на этот IP-адрес для определения адреса.

Это важно, так как мы должны видеть все запросы на соединение для c2.spider.ml. Можно сделать это несколькими способами. Традиционный способ – настройка BIND для вновь делегированной зоны: c2.spider.ml. Для менее сложной командно-контрольной инфраструктуры существует более простая в настройке альтернатива со множеством других функций.

Центр сертификации Let’s Encrypt

Чтобыобеспечитьбезопасностьпередачиинформации,можносоздатьHTTPSсервер или использовать SMTPS. Мы могли бы применять самоподписанные сертификаты, но это не идеальный вариант. У клиентов возникают подозрения, когда в их браузере появляется предупреждение TLS-протокола, или сетевые прокси-серверы могут полностью разорвать соединение. Нам нужно использовать сертификат, подписанный доверенным корневым центром сертификации. Существует бесчисленное количество центров, предлагающих всевозможные платные TLS-сертификаты,но самым простым и экономически эффективным является Let’s Encrypt.

Let’s Encrypt – корневой центр сертификации, которому доверяет боль­ шинство клиентов. Он позволяет администраторам серверов запрашивать бесплатные, проверенные доменом сертификаты для своих хостов. Его мис-

 

 

 

 

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

 

 

w Click

to

BUY 140  Глава 6.Обнаружение и эксплуатация уязвимостей в приложениях...

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

сия–помочь нам перейти к зашифрованному интернету,и бесплатные серти-

 

 

 

e

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

фикаты – это большой шаг вперед.

Let’s Encrypt предоставляет бесплатные доменные сертификаты для имен хостов и даже Wildcard-сертификаты (сертификаты открытого ключа,которые могутиспользоваться с несколькими под­ областями домена). Более подробную информацию можно найти

на сайте https://letsencrypt.org/.

Вдемонстрационных целях наш командно-контрольный сервер разместятв домене spider.ml, и мы будем запрашивать Wildcard-сертификат.

Первым шагом является загрузка сценария-оболочки certbot-auto, которыйустанавливаетзависимостииавтоматизируетбóльшуючастьпроцессазапроса сертификата Let’s Encrypt. В дистрибутивах на основе Debian, таких как Kali, этот скриптдоступен из:

root@spider-c2-1:~# wget https://dl.eff.org/certbot-auto [...]

root@spider-c2-1:~# chmod +x certbot-auto

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

Опция --manual позволит пройти запрос с пользовательскими параметрами. Мы уточним, для каких доменов сертификат действителен, используя опцию -d. Для Wildcard-сертификатов нужно указать родительский домен spider.ml, а также подстановочный символ * .spider.ml.

root@spider-c2-1:~# ./certbot-auto certonly --manual -d *.spider.ml

-d spider.ml --preferred-challenges dns-01 --server https://acme-v02.api. letsencrypt.org/directory

Для доменных имен с подстановочными символами будем использовать DNS-запрос, а это означает, что нужно добавить настраиваемую запись TXT, чтобы Let’s Encrypt смог проверить,действительно ли мы владеем этим родительским доменом.

root@spider-c2-1:~# ./certbot-auto certonly --manual -d *.spider.ml

-d spider.ml --preferred-challenges dns-01 --server https://acme-v02.api. letsencrypt.org/directory

Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None

 

 

 

 

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

 

 

 

 

e

 

 

 

 

 

 

Obtaining a new certificate

 

 

 

 

 

n

 

 

 

 

 

 

 

-xcha

 

 

 

 

Центр сертификации Let’s Encrypt 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

141 BUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Performing the following challenges: dns-01 challenge for spider.ml dns-01 challenge for spider.ml

[...]

Мастер certbot в конечном итоге предложит создать TXT-запись _acme­ challenge.spider.ml, используя случайно сгенерированное однократно используемое число.

Please deploy a DNS TXT record under the name _acme-challenge.spider.ml with the following value:

dGhlIG9ubHkgd2lubmluZyBtb3ZlIGlzIG5vdCB0byBwbGF5

Before continuing, verify the record is deployed.

---------------------------------------------------------------------

Press Enter to Continue

Прежде чем нажать Enter (Ввод), нужно добавить запись в диспетчере DNS

для spider.ml.

Рис.6.3. Добавление TXT-записи в DNS

Мастер может снова попросить вас обновить значение TXT, и в этом случае,возможно,придетсяподождатьнесколькоминут,преждечемможнобудет продолжить. Низкое значение TTL, например 5 минут или меньше, поможет сократить ожидание.

 

 

 

 

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

 

 

w Click

to

BUY 142  Глава 6.Обнаружение и эксплуатация уязвимостей в приложениях...

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

ЕсливсевпорядкеиLet’sEncryptудалосьпроверитьзаписиTXT,новыйсерти­

 

 

 

e

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

фикат будет выпущен и сохранен на диске где-нибудь в /etc/letsencrypt/ live/.

Waiting for verification...

Cleaning up challenges

IMPORTANT NOTES:

-Congratulations! Your certificate and chain have been saved at:

/etc/letsencrypt/live/spider.ml/fullchain.pem

Your key file has been saved at:

/etc/letsencrypt/live/spider.ml/privkey.pem

[...]

root@spider-c2-1:~#

Эти сертификаты действительны только в течение нескольких месяцев согласно политике Let Encrypt. Вам придется продлить их, используя процесс, аналогичный первоначальному запросу.

Certbot ведет учет запрошенных сертификатов и даты их истечения. При вводе команды Обновить наши сертификаты будутпросмотрены и автоматически обновлены.

Эти PEM-файлы теперь можно использовать в Apache, NGINX, INetSim или на любом другом веб-сервере, который применяется для управления и конт­ роля.

Можем указать наш экземпляр INetSIM на вновь выданные сертификаты, настроив файл конфигурации. Параметры для поиска: https_ssl_keyfile, который указывает на закрытый ключ, и https_ssl_certfile, представляющий собой сам сертификат.

root@spider-c2-1:~# grep https_ssl /etc/inetsim/inetsim.conf

#https_ssl_keyfile

#Syntax: https_ssl_keyfile <filename>

https_ssl_keyfile privkey.pem

#https_ssl_certfile

#Syntax: https_ssl_certfile <filename>

https_ssl_certfile fullchain.pem

[...]

INetSIM ищет эти файлы в каталоге certs, который обычно находится в

/usr/share/inetsim/data/.

Следующий шаг – копирование файлов privkey.pem и fullchain.pem из каталога Let Encrypt live в каталог INetSIM certs. Нужно не забывать делать