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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
radare2-scripts — # 악성코드 분석용 radare2 스크립트 모음: 메모리 덤프에서 바이너리 추출, PE 헤더 패치, 셸코드 내 해시 함수 임포트 디코딩 | Kitploit
도구/GitHubGitHub/withsecurelabs/radare2-scripts
Memory ForensicsReverse EngineeringShellcodeMalware AnalysisDigital ForensicsBinary Analysis
GitHubwithsecurelabs/radare2-scripts

radare2-scripts

# 악성코드 분석용 radare2 스크립트 모음: 메모리 덤프에서 바이너리 추출, PE 헤더 패치, 셸코드 내 해시 함수 임포트 디코딩

저장소 보기
32108년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

radare2 스크립트

요약

radare2와 함께 사용하기 위한 스크립트 '모음집'입니다.

  • r2_bin_carver.py - 메모리 덤프에서 파일을 추출(carve)하는 데 사용되는 스크립트.
  • r2_hash_func_decoder.py - 셸코드에서 흔히 발견되는 해시된 함수를 디코딩하는 데 사용되는 스크립트.

스크립트

Binary Carver

이 스크립트는 오프셋과 크기가 주어지면 메모리 덤프(MDMP)에서 파일을 추출합니다. 추출 외에도 추출된 PE 파일에 대한 기본 패치도 지원합니다. 이 글을 작성하는 시점 기준으로 PE 섹션 헤더 내의 오프셋을 패치합니다.

요구 사항

root@kitploit:~
pip install r2pipe

기본 인자를 사용한 샘플 출력:

예제

root@kitploit:~
$ python2 ./r2_bin_carver.py ./memory.dmp 0x04af0000 0x2f000
[+] Carving to ./memory.dmp.0x04af0000

매직 체크 및 패치를 사용한 바이너리 추출 샘플 출력:

root@kitploit:~
$ python2 ./r2_bin_carver.py -p -b MZ ./memory.dmp 0x04af0000 0x2f000
[+] Checking for magic: MZ - 4d5a
[+] Magic found, carving...
[+] Carving to ./memory.dmp.0x04af0000
[+] Patching...
[+] Found 3 sections to patch
[+] Patching Section 0.
  Setting VirtualSize to 0x1fb0
  Setting PointerToRawData to 0x1000
[+] Patching Section 1.
  Setting VirtualSize to 0x5b7f
  Setting PointerToRawData to 0x3000
[+] Patching Section 2.
  Setting VirtualSize to 0x254d2
  Setting PointerToRawData to 0x9000
[+] Pathing done

Hashed Function Decoder

이 스크립트는 사전 생성된 해시 데이터베이스를 조회하여 함수 해시를 디코딩합니다. 지원되는 해싱 기법에 대한 생성, 검색 및 분석을 처리합니다.

요구 사항

root@kitploit:~
pip install pefile r2pipe sqlite3

지원 기법

현재 지원되는 해싱 기법입니다.

root@kitploit:~
$ python2 ./r2_hash_func_decoder.py -l
Suported Hashing Techniques:
- doublepulsar
- metasploit

데이터베이스 생성

이 명령은 지원되는 모든 해싱 기법에 대해 DLL 또는 EXE의 모든 내보내기 함수에 대한 해시를 생성합니다.

root@kitploit:~
$ python2 ./r2_hash_func_decoder.py -g ntdll.dll
Generating Hashes:
Processing ./ntdll.dll...

데이터베이스 검색

주어진 해시에 대해 데이터베이스를 수동으로 검색합니다.

root@kitploit:~
$ python2 ./r2_hash_func_decoder.py -s 0x6f721347
Searching for 0x6F721347...
- metasploit: ntdll.dll!RtlExitUserThread()

radare2에서 자동 분석

이 명령은 주어진 기법에 대해 디코딩할 해시를 찾기 위해 radare2 내의 모든 정의된 함수를 검색합니다.

root@kitploit:~
$ r2 shellcode
> af @ 0x0
> afl
0x00000000   31 931          fcn.00000000
> #!pipe python2 ./r2_hash_func_decoder.py -a doublepulsar
Analysing:
Function: fcn.00000000 0x0 931
|_ 0x0000001f   movabs rcx, 0x3e1481df    ntoskrnl.exe!PsLookupProcessByProcessId
|_ 0x0000003e   movabs rcx, 0xa0031eba    ntoskrnl.exe!PsGetProcessImageFileName
|_ 0x0000005d   movabs rcx, 0xfffffffff9e70684    ntoskrnl.exe!KeStackAttachProcess
|_ 0x0000007c   movabs rcx, 0x15ebfe4f    ntoskrnl.exe!PsGetProcessPeb
|_ 0x0000009b   movabs rcx, 0xa4ac30f9    ntoskrnl.exe!KeUnstackDetachProcess
|_ 0x000000ba   movabs rcx, 0xecd0beca    ntoskrnl.exe!ObfDereferenceObject
|_ 0x000000d9   movabs rcx, 0xffffffff5d9fb8ae    ntdll.dll!ZwAllocateVirtualMemory
|_ 0x000000f8   movabs rcx, 0xffffffffe3690194    ntoskrnl.exe!ExAllocatePool
|_ 0x00000117   movabs rcx, 0xffffffffb80010f6    ntoskrnl.exe!KeInitializeApc
|_ 0x00000136   movabs rcx, 0xffffffffd25fd6ca    ntoskrnl.exe!KeInsertQueueApc
|_ 0x00000155   movabs rcx, 0x1124a879    ntoskrnl.exe!KeGetCurrentThread
|_ 0x00000174   movabs rcx, 0x4f90c637    ntoskrnl.exe!PsGetCurrentProcess
|_ 0x00000193   movabs rcx, 0x10fee76c    ntoskrnl.exe!PsGetThreadTeb

위 기능 외에도 해당 줄에 주석을 추가합니다:

root@kitploit:~
[snip]
           0x00000017      e8bc060000     call 0x6d8                  ;[1]
│           0x0000001c      4889c3         mov rbx, rax
│           0x0000001f      48b9df81143e.  movabs rcx, 0x3e1481df      ; ntoskrnl.exe!PsLookupProcessByProcessId
│           0x00000029      e826050000     call 0x554                  ;[2]
│           0x0000002e      4885c0         test rax, rax
│       ┌─< 0x00000031      0f8455030000   je 0x38c                    ;[3]
│       │   0x00000037      4889059c0700.  mov qword [0x000007da], rax ; [0x7da:8]=0
│       │   0x0000003e      48b9ba1e03a0.  movabs rcx, 0xa0031eba      ; ntoskrnl.exe!PsGetProcessImageFileName
│       │   0x00000048      e807050000     call 0x554                  ;[2]
│       │   0x0000004d      4885c0         test rax, rax
│      ┌──< 0x00000050      0f8436030000   je 0x38c                    ;[3]
│      ││   0x00000056      488905850700.  mov qword [0x000007e2], rax ; [0x7e2:8]=0
│      ││   0x0000005d      48b98406e7f9.  movabs rcx, 0xfffffffff9e70684 ; ntoskrnl.exe!KeStackAttachProcess
│      ││   0x00000067      e8e8040000     call 0x554                  ;[2]
[snip]
도구 다운로드