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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-6387 — CVE-2024-6387용 SSH 익스플로잇: glibc 기반 Linux 시스템에서 OpenSSH 서버의 RCE(원격 코드 실행) | Kitploit
도구/GitHubGitHub/symbolexe/cve-2024-6387
Vulnerability AnalysisExploitationPenetration TestingRed TeamingRemote Access ToolPayload Development
GitHubsymbolexe/cve-2024-6387

CVE-2024-6387

CVE-2024-6387용 SSH 익스플로잇: glibc 기반 Linux 시스템에서 OpenSSH 서버의 RCE(원격 코드 실행)

저장소 보기
362년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-6387

Screenshot 2024-07-04 182931 CVE-2024-6387은 가상의 예시이지만, 실제 OpenSSH 서버 구현에 존재하는 취약점이라고 가정해 보겠습니다. 이 취약점은 원격 공격자가 서버에서 임의의 코드를 실행할 수 있게 하는 버퍼 오버플로우 또는 메모리 손상 문제를 포함할 수 있습니다. 이러한 취약점이 어떻게 악용될 수 있는지에 대한 높은 수준의 설명은 다음과 같습니다:

  1. 힙 스프레이(Heap Spraying): 공격자는 힙을 예측 가능한 방식으로 준비합니다.
  2. 메모리 손상(Memory Corruption): 공격자는 메모리 손상을 일으키는 특수하게 조작된 패킷을 전송합니다.
  3. 임의 코드 실행(Arbitrary Code Execution): 공격자는 셸코드(악성 코드)를 알려진 위치에 배치하고 실행 흐름을 해당 위치로 리디렉션합니다.

익스플로잇 코드

제공된 Python 코드는 CVE-2024-6387을 악용하도록 설계된 익스플로잇입니다. 다음은 이 코드가 수행하는 단계에 대한 자세한 설명입니다: 연결 설정: 대상 SSH 서버에 TCP 연결을 설정합니다.

root@kitploit:~
def setup_connection(ip, port):
    # ...

패킷 송수신: SSH 서버와 패킷을 주고받는 작업을 처리합니다.

root@kitploit:~
def send_packet(sock, packet_type, data):
    # ...

SSH 버전 교환: SSH 버전 문자열을 송수신하여 SSH 핸드셰이크를 시작합니다.

root@kitploit:~
def send_ssh_version(sock):
    # ...
def receive_ssh_version(sock):
    # ...

키 교환 초기화(KEX_INIT): 키 교환 초기화 패킷을 송수신합니다.

root@kitploit:~
def send_kex_init(sock):
    # ...
def receive_kex_init(sock):
    # ...

SSH 핸드셰이크 수행: 위 단계들을 결합하여 SSH 핸드셰이크를 완료합니다.

root@kitploit:~
def perform_ssh_handshake(sock):
    # ...

힙 준비: 서버의 힙 상태를 조작하기 위해 일련의 패킷을 전송합니다.

root@kitploit:~
def prepare_heap(sock):
    # ...

가짜 파일 구조: 메모리 손상 취약점을 악용하기 위해 가짜 파일 구조를 생성합니다.

root@kitploit:~
def create_fake_file_structure(data, glibc_base):
    # ...

파싱 시간 측정: 서버가 특정 패킷을 파싱하는 데 걸리는 시간을 측정하여 최종 익스플로잇의 타이밍을 정확히 맞추는 데 도움을 줍니다.

root@kitploit:~
def time_final_packet(sock):
    # ...

공개 키 패킷: 셸코드를 포함한 익스플로잇 페이로드가 담긴 패킷을 제작합니다.

root@kitploit:~
def create_public_key_packet(packet, size, glibc_base):
    # ...

레이스 컨디션 악용: 최종 패킷의 타이밍을 정확히 맞춰 레이스 컨디션을 악용하려고 시도합니다.

root@kitploit:~
def attempt_race_condition(sock, parsing_time, glibc_base):
    # ...

메인 함수: 서로 다른 glibc 베이스로 여러 번 시도하는 것을 포함하여 전체 익스플로잇 프로세스를 조정합니다.

root@kitploit:~
def main():
    # ...

익스플로잇 워크플로우

  • 연결 설정: 익스플로잇은 SSH 서버에 대한 연결을 설정하는 것으로 시작합니다.
  • 핸드셰이크 및 힙 준비: 익스플로잇은 SSH 핸드셰이크를 수행하고 힙을 준비하기 위해 여러 패킷을 전송합니다.
  • 타이밍 측정: 익스플로잇은 최종 익스플로잇의 타이밍을 가늠하기 위해 특정 패킷에 대한 서버의 응답 시간을 측정합니다.
  • 최종 익스플로잇 시도: 익스플로잇은 셸코드가 포함된 최종 패킷을 제작하여 전송합니다. 이 패킷이 취약점을 트리거하도록 전송을 시도합니다.

추가 고려 사항

  • 견고한 오류 처리: 제공된 코드에는 스크립트가 일반적인 네트워크 문제에서 복구할 수 있도록 개선된 오류 처리가 포함되어 있습니다.
  • 모듈성: 코드가 모듈식으로 구성되어 있어 이해하고 유지 관리하기 쉽습니다.
  • 타이밍 및 동기화: 레이스 컨디션을 악용하려면 정밀한 타이밍이 필요한 경우가 많으며, 스크립트는 패킷 전송 타이밍을 측정하고 조정하여 이를 처리하려고 합니다.

요약

CVE-2024-6387은 OpenSSH에서 원격 코드 실행을 허용하는 심각한 취약점입니다. 제공된 Python 스크립트는 힙을 조작하고 패킷 전송 타이밍을 맞춰 메모리 손상을 유발함으로써 이 취약점을 악용하며, 궁극적으로 서버에서 공격자의 셸코드를 실행합니다. 이 스크립트는 힙 스프레이, 메모리 손상, 레이스 컨디션을 위한 정밀 타이밍 등 일반적인 익스플로잇 개발 기법을 보여줍니다.

도구 다운로드