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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Sekiryu — Ghidra 헤드리스용 종합 도구 키트. | Kitploit
도구/GitHubGitHub/20urc3/sekiryu
Static AnalysisVulnerability AnalysisCode AnalysisReverse EngineeringBinary AnalysisAI-Assisted ReversingArchived
GitHub20urc3/sekiryu

Sekiryu

Ghidra 헤드리스용 종합 도구 키트.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

이 프로젝트는 정말 재미있었고 제 첫 "큰" 프로젝트였습니다! 더 나은, 더 똑똑한, 더 강력한 솔루션이 이제 존재합니다: https://github.com/LaurieWired/GhidraMCP

안녕, 스페이스 카우보이

Sekiryu v0.0.2

이 Ghidra 툴킷은 Ghidra를 Headless 모드로 실행하는 것과 관련된 다양한 작업을 간소화하고 자동화하기 위해 설계된 포괄적인 도구 모음입니다. 이 툴킷은 Ghidra 내부 및 외부에서 실행할 수 있는 광범위한 스크립트를 제공하여 사용자가 분석된 코드베이스에서 취약점 헌팅, ChatGPT를 사용한 의사 코드 코멘팅, 데이터 시각화를 통한 보고 등의 작업을 수행할 수 있게 합니다. 또한 사용자가 자신의 스크립트를 로드 및 저장하고 스크립트의 내장 API와 상호 작용할 수 있도록 합니다.

주요 기능

  • Headless 모드 자동화: 이 툴킷을 사용하면 Ghidra를 Headless 모드로 원활하게 실행할 수 있어 코드 분석 작업의 자동화 및 일괄 처리가 가능합니다.

  • 스크립트 저장소/관리: 이 툴킷에는 Ghidra 내에서 실행할 수 있는 사전 빌드된 스크립트 저장소가 포함되어 있습니다. 이 스크립트는 다양한 기능을 다루어 사용자가 다양한 분석 및 조작 작업을 수행할 수 있게 합니다. 사용자는 자신의 스크립트를 로드 및 저장할 수 있어 특정 분석 요구 사항에 맞는 유연성과 사용자 정의 옵션을 제공합니다. 사용자는 스크립트 컬렉션을 쉽게 관리하고 정리할 수 있습니다.

  • 유연한 입력 옵션: 사용자는 툴킷을 사용하여 개별 파일이나 여러 파일이 포함된 전체 폴더를 분석할 수 있습니다. 이러한 유연성은 소규모 및 대규모 코드베이스의 효율적인 분석을 가능하게 합니다.

사용 가능한 스크립트

  • 패턴 인식을 통한 취약점 헌팅: 툴킷의 스크립트를 활용하여 분석 중인 코드베이스 내의 잠재적 취약점을 식별합니다. 이는 보안 연구원과 개발자가 보안 약점을 발견하고 사전에 대처하는 데 도움이 됩니다.

  • SemGrep을 통한 취약점 헌팅: 보안 연구원 0xdea와 그들이 만든 규칙 세트 덕분에 간단한 규칙과 SemGrep을 사용하여 C/C++ 의사 코드의 취약점을 탐지할 수 있습니다 (그들의 GitHub: https://github.com/0xdea/semgrep-rules)

  • 자동 의사 코드 생성: Ghidra의 Headless 모드 내에서 의사 코드를 자동으로 생성합니다. 이 기능은 수동 개입 없이 코드 로직을 이해하고 문서화하는 데 도움이 됩니다.

  • ChatGPT를 사용한 의사 코드 코멘팅: ChatGPT를 활용하여 의사 코드 조각에 사람과 같은 주석을 생성함으로써 코드베이스의 가독성과 이해도를 높입니다. 이 기능은 코드 로직을 문서화하고 설명하는 데 도움이 됩니다.

  • 보고 및 데이터 시각화: 시각화를 포함한 포괄적인 보고서를 생성하여 분석 결과를 효과적으로 요약하고 제시합니다. 툴킷은 코드베이스의 패턴, 종속성 및 이상 징후를 식별하는 데 도움이 되는 데이터 시각화 기능을 제공합니다.

  • 사전 요구 사항

    이 프로젝트를 사용하기 전에 다음 소프트웨어가 설치되어 있는지 확인하십시오:

    • Ghidra: National Security Agency의 GitHub 저장소 @ https://github.com/NationalSecurityAgency/ghidra에서 다운로드할 수 있습니다.
    • Java: Java Development Kit (JDK) 버전 17 이상이 설치되어 있는지 확인하십시오. OpenJDK 웹사이트 @ https://openjdk.org/projects/jdk/17/에서 다운로드할 수 있습니다.
    • BinExport (선택 사항) Ghidra 확장 프로그램 설치 지침을 따르십시오. https://github.com/google/binexport
    • SemGrep (선택 사항) 자세한 지침은 https://semgrep.dev/docs/getting-started/를 따르십시오.

    설치

    • 위에 언급된 사전 요구 사항을 설치하십시오.
    • Github에서 직접 Sekiryu 릴리스를 다운로드하거나 pip install sekiryu를 사용하십시오.

    사용법

    스크립트를 사용하려면 원하는 옵션과 함께 바이너리에 대해 실행하기만 하면 됩니다.

    • sekiryu [-F FILE][OPTIONS]

    이진 분석을 Ghidra(또는 다른 제품)로 수행하는 것은 상대적으로 느린 과정입니다. 따라서 호스트 성능에 따라 이진 분석에 몇 분이 걸릴 수 있습니다. Sekiryu를 매우 큰 애플리케이션이나 많은 양의 이진 파일에 대해 실행하는 경우 기다릴 준비를 하십시오.

    데모

    • 데모는 www.bushido-sec.com에서 확인하십시오.

    API

    root@kitploit:~
    "server.py"는 기본적으로 스크립트가 Ghidra와 서로, 그리고 호스트 시스템과 상호 작용할 수 있도록 구축되었습니다. 
    사용자는 자신의 스크립트를 쉽게 개발하고, 스크립트 폴더에 로드 및 저장한 후 API의 알려진 함수를 사용하여 Ghidra와 상호 작용할 수 있습니다.    
    

    사용하려면 스크립트에서 xmlrpc를 가져오고 다음과 같은 함수를 호출해야 합니다: proxy.send_data

    함수

    • send_data() - 사용자가 서버로 데이터를 보낼 수 있습니다. ("data"는 Dictionary입니다)
    • recv_data() - 사용자가 서버로부터 데이터를 받을 수 있습니다. ("data"는 Dictionary입니다)
    • request_GPT() - 사용자가 ChatGPT API를 통해 문자열 데이터를 보낼 수 있습니다.

    자신의 스크립트 사용

    스크립트는 /modules/scripts/ 폴더에 저장되며, 거기에 스크립트를 복사하면 됩니다. ghidra_pilot.py 파일에서 headless ghidra 스크립트를 실행하는 다음 함수를 찾을 수 있습니다:

    root@kitploit:~
    def exec_headless(file, script):
    	"""
    	Execute the headless analysis of ghidra
    	"""
    	path = ghidra_path + 'analyzeHeadless'
    	# Setting variables
    	tmp_folder = "/tmp/out"
    	os.mkdir(tmp_folder)
    	cmd = ' ' + tmp_folder + ' TMP_DIR -import'+ ' '+ file + ' "+ "-postscript "+ script +" -deleteProject"	
    
    	# Running ghidra with specified file and script
    	try:	
    		p = subprocess.run([str(path + cmd)], shell=True, capture_output=True)
    		os.rmdir(tmp_folder)
    
    	except KeyError as e:
    		print(e)
    		os.rmdir(tmp_folder)
    

    사용법은 매우 간단합니다. 자신의 스크립트를 만든 다음 ghidra_pilot.py에 다음과 같은 함수를 추가하기만 하면 됩니다:

    root@kitploit:~
    def yourfunction(file):
    	try:
    		# Setting script
    		script = "modules/scripts/your_script.py"
    	
    		# Start the exec_headless function in a new thread
    		thread = threading.Thread(target=exec_headless, args=(file, script))
    		thread.start()
    		thread.join()
    	except Exception as e:
    		print(str(e))
    

    cli.py 파일은 명령줄 인터페이스를 담당하며 다음과 같이 인수와 관련 명령을 추가할 수 있습니다:

    root@kitploit:~
    analysis_parser.add_argument('[-ShortCMD]', '[--LongCMD]', help="Your Help Message", action="store_true")
    

    기여

    • 스크립트/스크립트/스크리이이이프트: 이 도구는 사용자가 자신의 스크립트를 쉽게 저장하고 실행할 수 있는 툴킷으로 설계되었습니다. 물론 어떤 종류의 스크립트라도 기여할 수 있다면 (흥미로운 것은 모두 승인됩니다!)
    • 최적화: 모든 종류의 최적화를 환영하며, 거의 자동으로 승인되어 모든 릴리스에 배포됩니다. 좋은 예로는 병렬 작업 개선, 코드 정리 및 전반적인 개선이 있습니다.
    • 악성코드 분석: 이는 제가 잘 모르는 큰 부분입니다. 기여하고자 하는 악성코드 분석가가 아이디어, 스크립트를 제안하거나 프로젝트에 직접 코드를 커밋할 수 있습니다.
    • 보고: 저는 데이터 시각화 엔지니어가 아닙니다. 이 부분을 개선/기여하고 싶은 분이 있다면 매우 좋을 것입니다.

    경고

    root@kitploit:~
    xmlrpc.server 모듈은 악의적으로 구성된 데이터에 대해 안전하지 않습니다. 신뢰할 수 없거나 인증되지 않은 데이터를 구문 분석해야 하는 경우 XML 취약점을 참조하십시오.
    

    Bushido Security에 대한 자세한 내용은 웹사이트 https://www.bushido-sec.com/를 방문하십시오.

    도구 다운로드