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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
project-memoria-detector — ICMP, TCP, HTTP, SSH 및 FTP 프로빙 기술을 사용하여 네트워크 장치에서 16가지 내장 TCP/IP 스택을 식별하는 능동적 핑거프린팅 도구로, 취약점 평가에 사용됩니다. | Kitploit
도구/GitHubGitHub/forescout/project-memoria-detector
Embedded Systems SecurityIoT SecurityVulnerability AnalysisNetwork SecurityFirmware Analysis
GitHubforescout/project-memoria-detector

project-memoria-detector

ICMP, TCP, HTTP, SSH 및 FTP 프로빙 기술을 사용하여 네트워크 장치에서 16가지 내장 TCP/IP 스택을 식별하는 능동적 핑거프린팅 도구로, 취약점 평가에 사용됩니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
323465년 전Kitploit 검토 완료

project-memoria-detector

project-memoria-detector 도구는 대상 네트워크 장치가 특정 임베디드 TCP/IP 스택을 실행 중인지 판별하는 것을 목표로 합니다.

현재 이 도구는 16가지 임베디드 TCP/IP 스택(및 해당 변형)에 대한 핑거프린트를 지원합니다:

  • uIP, Contiki 또는 Contiki-NG
  • picoTCP 또는 picoTCP-NG
  • Nut/Net
  • FNET
  • Nucleus NET
  • CycloneTCP
  • NDKTCPIP
  • uC/TCP-IP
  • MPLAB Harmony Net
  • NicheStack
  • FreeBSD
  • Microsoft ThreadX
  • CMX TCP/IP
  • emNet
  • Keil TCP/IP
  • lwIP

위 스택 중 여러 개가 Project Memoria 연구 과정에서 취약한 것으로 밝혀졌습니다.

어떻게 작동하나요?

이 스크립트는 다음 능동 핑거프린팅 방법을 통해 대상 장치에서 16가지 TCP/IP 스택의 사용을 식별합니다:

  • ICMP 프로빙: 스크립트가 변형된 ICMP 에코 요청을 보내고 스택별로 다른 응답의 특성(Time-to-live(TTL) 값 변경 및 특정 페이로드 콘텐츠 포함)을 확인합니다.
  • TCP 옵션 시그니처: 스크립트가 TCP SYN 패킷을 전송하고 TCP SYN ACK 응답에서 TCP 옵션 필드의 형식을 모니터링합니다. 각 스택은 MSS(Maximum Segment Size) 및 윈도우 스케일과 같은 옵션에 대해 서로 다른 값으로 응답합니다.
  • TCP Urgent 플래그 처리: 스크립트가 Urgent 플래그가 설정된 TCP 패킷을 전송하고 응답을 모니터링합니다. 각 스택은 서로 다른 TCP 플래그 세트와 다른 TCP 윈도우 크기 값으로 응답합니다.
  • HTTP 배너 및 오류 메시지: 스크립트가 테스트 중인 장치에서 호스팅되는 웹서버에 HTTP 요청을 수행하고 특정 HTTP 헤더 및 애플리케이션별 오류 메시지를 확인합니다.
  • SSH 배너 및 오류 메시지: 스크립트가 테스트 중인 장치에서 호스팅되는 SSH 서버에 요청을 수행하고 특정 SSH 배너를 확인합니다.
  • FTP 배너 및 오류 메시지: 스크립트가 테스트 중인 장치에서 호스팅되는 FTP 서버에 요청을 수행하고 특정 FTP 배너를 확인합니다.

이 스크립트는 실험실 환경에서 테스트되었지만 모든 가능한 장치에 대해 안전하게 사용될 수 있다고 보장할 수 없습니다. 예를 들어, 변형된 ICMP 패킷은 다른 스택을 실행하는 장치를 충돌시킬 수 있습니다. 따라서, 임무에 중요한 장치(예: 환자가 연결된 장치가 있는 병원이나 안전에 중요한 산업 제어 시스템)가 있는 실제 환경에서는 직접 사용을 권장하지 않습니다. 이상적인 접근 방식은 실험실 환경이나 유지보수 기간 동안 장치를 테스트하는 것입니다.

종속성

이 도구는 Linux 테스트 환경에서만 테스트되었습니다(최신 Linux 배포판은 대부분 작동해야 합니다). 테스트 환경이 기본 방화벽으로 iptables(https://linux.die.net/man/8/iptables)를 사용한다고 가정합니다.

이 도구는 최신 버전의 Python 3.x(https://www.python.org/, 버전 >= 3.7.7 권장)와 Scapy(https://scapy.net/, 버전 >= 2.4.3 권장)가 필요합니다.

Scapy를 Python과 함께 설치하고 일반적인 문제 해결을 수행하려면 https://scapy.readthedocs.io/en/latest/installation.html 의 문서를 따르십시오.

컴퓨터에 Python이 이미 설치되어 있는 경우, pip와 제공된 requirements.txt 파일을 사용하여 필요한 종속성을 설치할 수 있습니다:

root@kitploit:~
$ pip install -r requirements.txt

기본 사용법

Scapy를 실행하려면 루트 권한이 필요하므로, 도구는 sudo와 함께 실행해야 합니다. 예:

root@kitploit:~
$ sudo python project-memoria-detector.py [options]

스크립트 실행에 사용 가능한 옵션을 보려면 -h 옵션과 함께 실행하십시오:

root@kitploit:~
$ python project-memoria-detector.py -h

일반적으로 스크립트는 대상 장치의 IP 주소가 하나 이상 필요합니다(이 매개변수는 -ip_dst로 명시적으로 지정할 수 있습니다).

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.3.1

스크립트는 IP 주소 범위 스캔을 지원합니다. CIDR 표기법을 사용하여 스캔할 서브넷을 지정하거나, 스캔할 IP 주소 집합이 포함된 .txt 파일을 제공할 수 있습니다.

CIDR 표기법은 다음과 같이 사용할 수 있습니다(이 예에서는 192.168.3.1부터 192.168.3.254까지의 IP 주소가 스캔됩니다):

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.3.0/24

또한 .txt 파일을 사용하여 관심 있는 IP 주소를 지정할 수 있습니다: 이 파일의 각 IP 주소는 새 줄로 시작해야 합니다. 예를 들어, 다음 내용으로 input.txt 파일을 만들 수 있습니다:

root@kitploit:~
$ cat input.txt
192.168.1.8
192.168.1.9
192.168.3.1
192.168.2.14

그런 다음 다음과 같이 스크립트를 실행할 수 있습니다:

root@kitploit:~
$ sudo python project-memoria-detector.py --in-file input.txt

스크립트는 SSH(22), FTP(21) 및 HTTP(80)와 같은 다양한 프로토콜을 핑거프린팅하기 위한 기본 포트 값을 사용합니다. 이러한 기본값을 재정의하려면 다음과 같이 플래그를 설정할 수 있습니다:

root@kitploit:~
$ sudo python project-memoria-detector.py -ip_dst 192.168.212.42 --tcp-port 80 --http-port 80 --ssh-port 22 --ftp-port 21 -i eth1

결과 해석

스크립트는 개별 핑거프린트에 대한 일치 결과와 함께 괄호 안에 확실성 정도를 출력합니다:

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.6.42

192.168.6.42 is alive
        ICMP => uIP/Contiki (High)
        TCP => uIP/Contiki (Medium)
        HTTP => uIP/Contiki (High)
        SSH => Unknown (No match)
        FTP => Unknown (No reply)

특정 핑거프린트의 확실성 정도는 High, Medium 또는 Low일 수 있습니다. No match는 알려진 핑거프린트와 일치하는 항목이 없음을 의미하며, No reply는 특정 포트/서비스를 사용할 수 없음을 의미합니다.

라이선스

Copyright (C) 2020 Forescout Technologies, Inc.

프로그램 라이선스

"프로그램"이란 본 라이선스에 따라 사용 허가된 저작권 보호 저작물을 말합니다. 각 라이선스 이용자는 "귀하"로 지칭됩니다.

본 라이선스에 따라 부여된 모든 권리는 프로그램에 대한 저작권 기간 동안 부여되며, 명시된 조건이 충족되는 한 취소할 수 없습니다. 본 라이선스는 개인, 정부, 비즈니스 또는 비영리 목적으로 수정되지 않은 프로그램을 실행할 수 있는 귀하의 무제한적인 권한을 명시적으로 확인합니다. 귀하는 상업적 목적으로 파생 저작물에 프로그램을 사용하는 것이 금지됩니다. 귀하는 다운로드 가능하거나 서비스로 액세스되는, 단독으로 또는 다른 코드와 함께 사용되는 상업적 제품 또는 서비스에서 프로그램을 수정하여 사용하는 것이 금지됩니다. "파생 저작물"이란 소스 또는 객체 형태를 막론하고 프로그램을 기반으로(또는 프로그램에서 파생된) 하고 전체적으로 볼 때 편집 수정, 주석, 정교화 또는 기타 수정 사항이 독창적인 저작물을 나타내는 모든 저작물을 의미합니다.

귀하는 수령한 그대로 프로그램의 소스 코드를 어떤 매체로든 그대로 전달할 수 있습니다. 단, 각 사본에 적절한 저작권 고지를 눈에 띄고 적절하게 게시해야 하며, 본 라이선스가 코드에 적용된다는 모든 고지를 그대로 유지해야 하며, 보증 부재에 대한 모든 고지를 그대로 유지해야 하며, 모든 수취인에게 프로그램과 함께 본 라이선스 사본을 제공해야 하며, 단독으로 또는 다른 코드와 함께(다운로드 또는 서비스로 액세스되는) 프로그램의 판매 또는 기타 양도로 인해 재정적 이익을 얻지 못해야 합니다.

소프트웨어는 "있는 그대로" 제공되며, 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 제한되지 않는 모든 명시적 또는 묵시적 보증 없이 제공됩니다. 어떠한 경우에도 저작자 또는 저작권 소유자는 계약, 불법 행위 또는 기타 행위로 인해 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다. 이는 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래로 인해 발생하거나 이와 관련된 경우에도 마찬가지입니다.

본 라이선스는 프로그램의 출처를 설명하고 저작권 고지 내용을 재생산하는 합리적이고 관례적인 사용에 필요한 경우를 제외하고, 라이선스 제공자의 상호, 상표, 서비스 마크 또는 제품명을 사용할 권한을 부여하지 않습니다.

도구 다운로드