[mémo] installation serveur web

Rédigé par beubeulone - - Aucun commentaire

Configuration rapide d'un RPS sur Jessie (Debian 8.7) neuf, d'un Atom à 1.8 GHz avec 2 Go et 1 To, sur D425KT. changer le mot de passe root

passwd mot_de_passe_root

créer un utilisateur

adduser mon_user

changer le port SSH et empécher le login root distant

nano /etc/ssh/sshd_config

et redémarrer

/etc/init.d/ssh restart

installer apache

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

configurer

nano etc/apache2/apache2.conf

changer user et groupe d'exécution

nano /etc/apache2/envvars

recharger

service apache2 force-restart

ajouter les sites

nano /etc/apache2/sites-available/nom_du_site.conf

activer les sites

a2ensite nom_du_site

activer les mods nécessaires

a2enmod rewrite...

installer PHP

apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

configurer

nano /etc/php5/apache2/php.ini

pour ligne de commande

nano /etc/php5/cli/php.ini

recharger Apache

service apache2 force-reload

installer SQL

apt-get install mysql-server mysql-client libmysqlclient15-dev mysql-common

configurer SQL

nano /etc/mysql/my.cnf

 

Caméras chinoises IPC365 (ShowMo)

Rédigé par beubeulone - - 2 commentaires

Je suis parti en quête de solutions, pour tenter de récupérer les flux de caméras réseau, pour un petit projet.

J'ai donc passé commande de 2 petites caméras IP chinoises ipc365 et low-cost, rondes 7 cm de diamètre et FOV de 185° à 960p... sale. Mais des caméras pour lesquelles je pensais pouvoir bénéficier d'au moins un accès cgi, ftp, rtps... Le fait est que mon choix, basé sur le rapport résolution/prix ne permet qu'un accès distant à la caméra, et uniquement via une application Apple ou Android. C'est bien pour Mr Dupont, par contre, pour bénéficier d'un accès local, c'est un peu plus compliqué : Le port USB ne sert que d'alimentation, pas de webinterface (repertoire vide), pas de flux trouvé, et la carte SD seule est illisible..., juste du httpd/telnet.

Après avoir fait le tour des applications, Seule 360eyeS me permet de créer un compte pour lier et partager des caméra par code, voir en live ou un replay sur une timeline, record et 2, 3 trucs. Dans l'objectif d'éditer les vidéos sur mon poste, une application Android n'était pas ce qu'il y a de plus pratique.

Je tente dans un premier temps la lecture de la carte, avec explore2fs/ext2explore. Mais c'est finalement avec un passage en hexa que je lis wfs0.4. Si seulement je savais identifier les entêtes de mes fichiers (qui s'avèrent êtres du h264/PCM). Soit un système de fichiers dédié aux enregistrement de vidéo surveillance, enfaite bien connu pour ceux qui savent.

S'en suit des tentatives d'accès/récupération avec des softs comme DVR Examiner, HX Recovery, Elite WFS, Recovery for DVR et une tonne d'autres, mais systématiquement payants. Et c'était le monde à neuneu, j'en aurais acheté une license, tellement je peinais. Heureusement les prix étaient prohibitifs, puisque orientés pro.

A cette étape, j'en sors 3 liens utiles qu'on trouve aisement :
http://www.hkvstar.com/technology-news/china-ip-camera-configuration-firmware.html
https://jumpespjump.blogspot.fr/2015/09/how-i-hacked-my-ip-camera-and-found.html
https://forum.use-ip.co.uk/threads/hacking-china-ip-camera-need-help-for-rtsp-password-for-telnet.938/

Donc, accès avec telnet via le port classique impossible avec les identifiants trouvés. Par contre sur le 9527 : Busybox, avec les identifiants admin:123456 (nTBCS19C), accès au menu help et les commandes au shell. ça aurait pu être mieux sans le spam.

Exemple partiel de NetWork.json

NetWork:{

   },
   "DigManagerShow" : {
      "DigManagerShow" : "ShowAll"
   },
   "GetIPMode" : {
      "DHCPorTraversal" : 1


   ],
   "NetCommon" : {
      "GateWay" : "0x0101A8C0",
      "HostIP" : "0x0A01A8C0",
      "HostName" : "IPC365",
      "HttpPort" : 80,
      "MAC" : "DC:07:C1:F8:76:1E",
      "MaxBps" : 0,
      "MonMode" : "TCP",
      "SSLPort" : 8443,
      "Submask" : "0x00FFFFFF",
      "TCPMaxConn" : 10,
      "TCPPort" : 34567,
      "TransferPlan" : "Quality",
      "UDPPort" : 34568,
      "UseHSDownLoad" : false
   },

      {
         "DDNSKey" : "DynDns",
         "Enable" : false,
         "HostName" : "your.dyndns.org",
         "Server" : {
            "Address" : "0x0100060A",
            "Anonymity" : false,
            "Name" : "members.dyndns.org",
            "Password" : "",
            "Port" : 80,
            "UserName" : ""
         }
      },
      {
         "DDNSKey" : "Oray",
         "Enable" : false,
         "HostName" : "your.gicp.net",
         "Server" : {
            "Address" : "0x0100060A",
            "Anonymity" : false,
            "Name" : "hphwebservice.oray.net",
            "Password" : "",
            "Port" : 80,
            "UserName" : ""
         }
      },
      {
         "DDNSKey" : "NO-IP",
         "Enable" : false,
         "HostName" : "your.no-ip.com",
         "Server" : {
            "Address" : "0x0100060A",
            "Anonymity" : false,
            "Name" : "dynupdate.no-ip.com",
            "Password" : "",
            "Port" : 80,
            "UserName" : ""
         }
      },
      {
         "DDNSKey" : "MYQ-SEE",
         "Enable" : false,
         "HostName" : "your.myq-see.com",
         "Server" : {
            "Address" : "0x0100060A",
            "Anonymity" : false,
            "Name" : "myq-see.com",
            "Password" : "",
            "Port" : 80,
            "UserName" : ""
         }
      }
   ],
   "NetDHCP" : [
      {
         "Enable" : true,
         "Interface" : "eth2"
      },


   "NetMobile" : {
      "Enable" : true,
      "Server" : {
         "Address" : "0x00000000",
         "Anonymity" : false,
         "Name" : "Moblie",
         "Password" : "",
         "Port" : 34599,
         "UserName" : ""
      }
   },
   "NetNTP" : {
      "Enable" : true,
      "Server" : {
         "Address" : "0x00000000",
         "Anonymity" : false,
         "Name" : "time.nist.gov",
         "Password" : "",
         "Port" : 123,
         "UserName" : ""
      },
      "TimeZone" : 13,
      "UpdatePeriod" : 10
   },
  
   "RTSP" : {
      "Client" : {
         "Address" : "0x00000000",
         "Anonymity" : false,
         "Name" : "",
         "Password" : "",
         "Port" : 554,
         "UserName" : ""
      },
      "IsClient" : false,
      "IsServer" : true,
      "Server" : {
         "Address" : "0x00000000",
         "Anonymity" : false,
         "Name" : "",
         "Password" : "",
         "Port" : 554,
         "UserName" : ""
      }
   },

avec  nmap c'est presque une quinzaine de ports ouverts en UDP : 16674, 17077, 18985, 20525, 20884, 21111, 21323, 22996, 29256, 34256, 34796, 36384, 40866, 47981, 49172, 49181, 57813. Les configs me donnent des clés, identifiants, adresses, et surtout le wifi par défaut, pour me passer de l'application en cas de réinitialisation et/ou de déplacement (cfg -help).

Décompilation du fichier APK de 360eyes, avec des adresses et clés mais sans grand intérêt, Ca m'a surtout permis de comprendre un peu le fonctionnement.

Je récupère ensuite les trames avec Wireshack entre l'appli et les caméras, et pour le peu que j'ai compris ici : le web-service contacte la caméra via DNS et transite le flux.

Pour le moment, je suis passé par : l'accès à des services inexistants - l'extraction des données de la carte - La configuration via Telnet - l'analyse de l'application, et celle des trames... pour au final tomber sur une arborescence de type idea/2017-03-28-.../....[0].h264 dans une de ces trames.

Du coup, ça m'a permis de faire les bonnes recherches et je suis tombé sur Diskplayer de MT-Vision. Qui permettait théoriquement l'accès aux vidéos, mais toujours sans résultat. Et comme j'en étais à installer tout ce qui passait, c'est finalement le CMS juste au dessus (alias H264 DVR sur le splashscreen), qui a mit fin à ma quête.

Et pour le coup, c'est comme une énorme victoire, puisqu'en plus d'être gratuit, d'avoir le live et les enregistrements, il y a le son (ce que ne proposaient pas les autres solutions), et j'ai également accès à tous les paramètres modifiables, dont la plupart n'étaient pas disponibles sur 360eyeS.

Trouvé sur http://dl.cctv.odessa.ua/

Bref beaucoup de galère pour un truc peu documenté avec finalement une solution miracle, trouvée à la fin, évidemment.

En conclusion, je récupère mes vidéos en local, sans le faire transiter en Chine. Par contre elles se signalent toujours là bas, puisque liées à un compte et accès à internet, juste au cas ou je voudrais y accéder de la façon prévue.

 

Fil RSS des articles de cette catégorie