Глава 13. Разведка
201
Таблица 13.1.
Стандартные порты
Протокол сервера
Номер порта
FTP
TCP.21
SMTP
TCP.25
HTTP
TCP.80
В большинстве операционных систем баннер может быть изменен системным
администратором. Баннер можно удалить полностью либо заставить его сооб-
щать ложную информацию. Его также можно рассматривать как индикатор типа
операционной системы или приложения, но полностью ему доверять нельзя.
В.главе.9.мы.рассматривали,.как.с.помощью.сценария.
scan.sh
.сканировать.сетевой.
порт..Этот.сценарий.можно.расширить.таким.образом,.что.при.каждом.обнаруже-
нии.узла.с.одним.из.открытых.портов.(FTP,.SMTP.или.HTTP).он.будет.пытаться.
получить.и.сохранить.баннер.сервера.
Вы.уже.видели,.как.можно.использовать.команду.
curl
.для.захвата.заголовка.
HTTP,.который.может.содержать.баннер:
curl -LI https://www.oreilly.com
Для.захвата.баннера.с.FTP-сервера.можно.использовать.команду.
ftp
:
$ ftp -n 192.168.0.16
Connected to 192.168.0.16.
220 (vsFTPd 3.0.3)
ftp>
Параметр.
-n
.применяется,.чтобы.команда.
ftp
.не.пыталась.автоматически.войти.
на.сервер..Чтобы.после.подключения.закрыть.FTP-соединение,.с.терминала.
ftp>
.
введите.команду.
quit
.
Самый.простой.способ.перехватить.баннер.с.SMTP-сервера.—.использовать.
команду.
telnet
.с.сетевым.портом.
25
:
$ telnet 192.168.0.16 25
Connected to 192.168.0.16
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix (Ubuntu)
202
Часть III • Тестирование на проникновение
Команда.
telnet
.доступна.в.большинстве.версий.Linux,.но.в.Git.Bash.и.во.многих.
версиях.Windows.она.отсутствует..В.этих.случаях,.чтобы.получить.аналог.коман-
ды.
telnet
,.вы.можете.написать.небольшой.сценарий,.используя.дескриптор.bash.
/dev/tcp
.
В.примере.13.1.показано,.как.для.подключения.к.SMTP-серверу.и.захвата.баннера.
использовать.файловый.дескриптор.bash.TCP.
Пример 13.1.
smtpconnect.sh
#!/bin/bash -
#
# Bash и кибербезопасность
# smtpconnect.sh
#
# Описание:
# Подключение к SMTP-серверу и печать приветственного баннера
#
# Использование:
# smtpconnect.sh
# SMTP-сервер для соединения
#
exec 3<>/dev/tcp/"$1"/25
echo -e 'quit\r\n' >&3
cat <&3
При.запуске.этого.сценария.мы.получим.следующий.вывод:
$ ./smtpconnect.sh 192.168.0.16
220 localhost.localdomain ESMTP Postfix (Ubuntu)
В.примере.13.2.показано,.как.это.все.объединить.для.автоматического.извлечения.
баннеров.с.серверов.FTP,.SMTP.и.HTTP.
Пример 13.2.
bannergrabber.sh
#!/bin/bash -
#
# Bash и кибербезопасность
# bannergrabber.sh
#
# Описание:
# Автоматическое извлечение баннеров с HTTP-, SMTP- и FTP-серверов
#
# Использование: ./bannergrabber.sh hostname [scratchfile]
# scratchfile используется во время обработки, но удаляется;
# по умолчанию: "scratch.file" или сгенерированное имя
#
Do'stlaringiz bilan baham: |