Классические методы определения операционной системы удаленного хоста

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

Playground~> telnet hpux.u-aizu.ac.jp

Tryin 163.143.102.12 ...

Connected to hpux.uaizu.ac.jp.

Escape character is '^]'.

HP-UX hpux B.10.01.A 9000/715 (ttyp2)

login:

Как видно, не имеет смысла прибегать к различным ухищрениям, если удаленный хост сам сообщает о своей ОС. Основная масса разработчиков ОС поставляют свои продукты именно с такими заголовками, и многие системные администраторы забывают их отключить. Но даже если вывод заголовка отключен, большинство прикладных программ выдадут информацию, находящуюся в заголовке ОС хоста по первому требованию (если администратор не позаботился об отключении этой возможности). Например, FTP-сервер:

Payfones> telnet ftp.netscape.com 21

Trying 207.200.74.26 ...

Connected to ftp.netscape.com.

Escape character is '^]'.

220 ftp29 FTP server (UNIX(r) System V Release 4.0) ready.

Далее, применив команду SYST, можно получить более подробную информацию:

SYST

215 UNIX Type: L8 Version SUNOS

Кроме того, если имеется доступ к FTP, атакующий может просмотреть bin-файлы в каталоге /bin/ls и определить, в какой ОС они используются. Аналогичную информацию можно получить и от WEB-сервера:

Playground> echo 'GET / HTTP/1.0\n' | nc hotboot.com 80 | egrep '^Server:'

Server: Microsoft-IIS/4.0

Playground>

Другие методы предусматривают просмотр базы данных сервера службы DNS (неэффективный метод, поскольку немногие из системных администраторов станут размещать эту информацию на DNS-сервере), а также упомянутую ранее социальную инженерию.

Back to Top