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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DetectPacket-CVE-2017-8464 — 취약점 악용 및 취약점 예방 구현 | Kitploit
도구/GitHubGitHub/trg-1999/detectpacket-cve-2017-8464
Packet Sniffing & AnalysisStatic AnalysisVulnerability AnalysisExploitationForensicsNetwork SecurityMalware AnalysisIntrusion DetectionLearning & Education
GitHubtrg-1999/detectpacket-cve-2017-8464

DetectPacket-CVE-2017-8464

취약점 악용 및 취약점 예방 구현

21544년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2017-8464 취약점 탐지 애플리케이션 구축

소스 (여기 클릭)

목차:

제1부: CVE-2017-8464 개요

  1. LNK 파일 개념
  2. CVE-2017-8464 취약 시스템 구축
  3. CVE-2017-8464 취약점 공격 도구

제2부: Metasploit 도구를 사용한 CVE-2017-8464 악용

2.1. CVE-2017-8464 악용 모델

2.2. CVE-2017-8464 악용 실행

제3부: Python 언어 기반 CVE-2017-8464 탐지 도구 구축

3.1. 캡처한 네트워크 패킷 기반 CVE-2017-8464 시그니처 분석

3.2. 패킷 시그니처 분석 기반 CVE-2017-8464 악용 탐지 처리 함수

결론

**

제1부: CVE-2017-8464 개요

  1. LNK 파일 개념

LNK는 Microsoft가 개발한 Binary 형식의 System Files - Windows Shortcut입니다.

그림 1: Windows의 바로 가기 아이콘

LNK 파일은 Windows에서 파일, 폴더 또는 애플리케이션의 원본을 참조하는 데 사용하는 바로 가기 또는 "링크"로, Macintosh 플랫폼의 별칭과 유사합니다. 대상 유형, 위치, 파일 이름은 물론 대상 파일을 여는 프로그램과 선택적 바로 가기 키를 포함합니다. Windows에서 파일, 폴더 또는 실행 프로그램을 마우스 오른쪽 버튼으로 클릭한 다음 Create shortcut을 선택하면 이러한 파일을 만들 수 있습니다.

이 취약점은 Microsoft Windows에 존재하며, 특수하게 제작된 바로 가기(shortcut)의 아이콘을 통해 공격자가 원격으로 코드를 실행할 수 있게 합니다.

그림 2: .LNK 파일을 통해 공격 코드를 다운로드하고 실행하는 바로 가기를 수동으로 생성

취약한 구성 요소는 네트워크 스택과 연결되어 있습니다. 이러한 취약점은 일반적으로 "remotely exploitable"이라고 하며, 프로토콜 수준 또는 여러 네트워크 홉(예: 하나 이상의 라우터를 통과)에서 악용할 수 있는 공격으로 간주됩니다.

  1. CVE-2017-8464 취약 시스템 구축

CVE-2017-8464 취약점의 영향을 받는 시스템은 Microsoft Windows Server 2008 SP2 및 R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2012 Gold 및 R2, Windows RT 8.1, Windows 10 Gold, 1511, 1607, 1703, Windows Server 2016의 Windows Shell입니다. Windows Explorer 또는 바로 가기 아이콘을 구문 분석하는 다른 응용 프로그램에서 아이콘을 표시할 때 수동으로 생성된 .LNK 파일이 올바르게 처리되지 않아 로컬 사용자나 원격 공격자가 임의의 코드를 실행할 수 있습니다. "LNK Remote Code Execution Vulnerability"라고도 합니다.

보안 업데이트는 바로 가기 아이콘 참조의 유효성을 올바르게 확인하도록 수정하여 취약점을 패치하며, Microsoft Windows는 2017년 6월에 이 취약점에 대한 업데이트를 제공했습니다. 이 취약점은 Windows XP 및 이전 Windows 버전에는 영향을 미치지 않습니다.

  1. CVE-2017-8464 취약점 공격 도구

Metasploit

Metasploit Framework는 명령줄 인터페이스에서 사용되는 서비스의 오류를 테스트, 공격 및 악용하기 위한 환경이며, VMware 버전의 Kali Linux에 포함되어 있습니다.

그림 3: Metasploit 도구

Armitage

Metasploit 프로젝트를 기반으로 하는 그래픽 인터페이스 도구입니다.

그림 4: Armitage 도구.

제2부: Metasploit 도구를 사용한 CVE-2017-8464 악용

2.1. CVE-2017-8464 악용 모델

피해자 시스템 – Windows 7 Pro

그림 5: 피해자의 운영체제 버전

그림 6: 피해자 시스템의 IP 주소

공격자 시스템 – Kali Linux – Metasploit 도구 사용.

그림 7: 공격자 시스템의 IP 주소

활성 네트워크 계층은 VMnet8 서브넷 192.168.169.0입니다.

2.2. CVE-2017-8464 악용 실행

  • reverse_tcp 페이로드를 생성하고 Kali로 들어오는 TCP 연결을 수신합니다.
  • LHOST는 공격자 시스템의 수신 주소입니다.

그림 8: 페이로드 생성 및 공격자 시스템으로의 TCP 연결 수신

  • 삽입된 reverse_tcp 페이로드를 자동으로 실행하도록 CVE-2017-8464 취약점이 포함된 바로 가기 파일을 생성합니다.

그림 9: 악성코드를 자동 실행하는 .lnk 파일 생성

그림 10: 페이로드 설정 정보

  • exploit 명령을 실행하여 페이로드 파일을 가리키는 취약한 바로 가기를 생성합니다.
  • 위 설명과 같이 FlashPlayerCPApp.cpl 페이로드 파일과 취약점이 포함된 바로 가기 파일이 페이로드 파일을 자동 실행합니다.
  • 필요한 모든 파일을 생성한 후 공격자 시스템의 /root/.msf4/local/ 폴더에 저장되며, 공격자는 해당 폴더의 모든 파일을 임의의 USB에 복사합니다.

그림 11: .lnk 파일 생성 및 악성코드 포함

그림 12: 모든 악성코드를 USB로 복사

  • 공격자가 피해자를 속여 USB를 컴퓨터에 연결하도록 합니다. 피해자가 USB 안의 어떤 응용 프로그램도 클릭할 필요가 없지만, .lnk(바로 가기 파일)의 취약점이 악성 페이로드를 자동으로 실행하여 원격 코드 실행 취약점을 악용합니다.

그림 13: 피해자가 악성코드가 포함된 취약한 .lnk 파일이 든 USB를 연결함

  • 공격자 시스템을 다시 확인하면 피해자 시스템이 공격자 시스템에 연결된 것을 볼 수 있습니다. 이때 공격자는 CVE-2017-8464를 기반으로 악용에 성공하여 피해자 시스템에서 원격으로 악성코드를 실행했습니다.

그림 14: 공격자가 악용에 성공하여 피해자 시스템에 침투함

**

제3부: Python 언어 기반 CVE-2017-8464 탐지 도구 구축

3.1. 캡처한 네트워크 패킷 기반 CVE-2017-8464 시그니처 분석

  • 패킷 캡처를 수행하면서 공격을 실행하면 .lnk 파일이 자동으로 실행될 때 피해자 시스템이 페이로드에 설정된 공격자 시스템 주소로 TCP 연결을 시도하는 것을 확인할 수 있습니다.

그림 15: CVE-2017-8464 취약점 공격 패킷이 캡처됨

  • PSH 플래그가 설정된 패킷은 임시 메모리에 넣는 대신 피해자 시스템으로 직접 보낼 수 있게 합니다.

그림 16: 공격자에게 TCP 연결이 성공한 후 PSH 플래그가 설정된 패킷

  • 다음으로, 의심스러운 "MZ" 시그니처가 있는 패킷은 피해자 시스템으로 전달되는 악성 PE 파일일 가능성이 있음을 나타냅니다.

그림 17: 공격자가 피해자에게 보낸 캡처 패킷에서 발견된 의심스러운 시그니처

PE 파일 형식(Portable Executable File Format)은 Win32 고유의 파일 형식입니다. *.EXE, *.DLL(32비트), *.COM, *.NET, *.CPL 등 Win32에서 실행 가능한 모든 파일은 PE 형식입니다. 단, VxDs 파일과 *.DLL(16비트) 파일은 예외입니다.

PE_File_Struct.png

그림 18: PE 파일 구조.

DOS MZ 헤더

모든 PE 파일은 간단한 DOS MZ 헤더로 시작합니다. 이 헤더는 처음 64바이트를 차지하며, 프로그램이 DOS 환경에서 실행될 때 사용됩니다.

e_magic: PE 파일의 시그니처로, 값은 4Dh, 5Ah(문자 "MZ", MS-DOS 창시자 Mark Zbikowsky의 이름에서 유래)입니다. 이 값은 유효한 DOS 헤더임을 나타내며 계속 실행할 수 있음을 표시합니다.

그림 19: 캡처된 패킷에서 확인된 PE 파일 시그니처

e_lfanew: DOS 헤더의 맨 끝에 있는 DWORD로, 파일 시작 위치를 기준으로 한 PE 헤더의 오프셋을 포함하는 필드입니다.

DOS 스텁

DOS 스텁은 오류 메시지를 표시하는 작은 DOS EXE 프로그램일 뿐이며, 16비트 Windows와의 호환성을 위한 부분입니다.

그림 20: 공격자가 피해자에게 보낸 패킷에서 캡처된 DOS 스텁 정보

PE 헤더

PE 헤더는 실제로 로더가 파일을 메모리에 로드하는 데 필요한 정보를 포함하는 IMAGE_NT_HEADERS 구조체입니다.

Signature: PE 헤더의 시작 부분에 있는 DWORD로, PE 시그니처 50h, 45h, 00h, 00을 포함합니다.

그림 21: e_lfanew 값이 가리키는 PE 헤더의 Signature 부분

섹션 테이블

섹션 테이블은 PE 헤더 바로 뒤에 오는 구성 요소로, IMAGE_SECTION_HEADER 구조체 배열로 구성됩니다.

그림 22: 캡처된 패킷에서 확인된 섹션 테이블 내용

  • 이후의 패킷들은 PE 파일의 SECTION 데이터 부분입니다.
  • 따라서 이 악성 PE 파일 구조에서 HEADER 부분만 추출하여 MD5 해시를 생성하고, 이를 해당 파일의 악성코드 탐지 시그니처로 사용합니다. 구체적으로 감지한 패킷에서 HEADER를 포함한 1024바이트 데이터를 가져옵니다. 그리고 악성코드와 관련해 알려진 정보는 CSV 파일에 저장하여 악성코드 탐지용 데이터셋으로 사용합니다.
도구 다운로드