PDF 버전 이 문서의 PDF 버전

하드웨어 키로깅 개념에 익숙한가요? 하드웨어 키로거는 사용자 활동을 모니터링하는 완벽한 솔루션으로, 노출 위험이 매우 낮습니다. 하드웨어 키로거는 순전히 전자 기기이므로 운영 체제에 액세스할 필요가 없으며, 흔적이 남지 않으며 소프트웨어는 이러한 장치를 감지할 수 없습니다. 그러나 하드웨어 키로거 개념은 한 가지 약점을 상속받았습니다: 캡처된 데이터를 검색하려면 키로거에 물리적 액세스가 필요합니다. 이 문제는 마침내 해결책을 찾았습니다: 무선 키로거.

Keelog은 이미 오픈 소스 PS/2 하드웨어 키로거 디자인을 공개했습니다. 이제 DIY 무선 키로거로 다시 제공합니다. 이 디자인은 개인 및 상업적 사용을 위해 완전히 무료이며 다음 제한 사항이 있습니다:

  1. 이 웹 페이지에 제시된 모든 자료는 Keelog의 지적 재산권이며, 이를 사용함으로써 아래 라이선스 조건과 일반 사용자 계약에 동의하는 것으로 간주됩니다.
  2. 이 무선 키로거 프로젝트는 모든 결함이 있으며 어떠한 보증도 없이 제공됩니다.

무선 키로거를 사용하여 허가받지 않은 데이터, 특히 비밀번호, 은행 데이터, 기밀 통신 등을 가로채서 소유해서는 안 됩니다. 대부분의 국가에서 이를 범죄로 인식합니다.

무선 키로거는 송신기와 수신기 두 가지 주요 구성 요소로 구성되어 있습니다. 실제 키로깅은 송신기에서 발생하며, 이는 사실상 내장된 2.4 GHz 무선 모듈이 장착된 PS/2 하드웨어 키로거입니다. 캡처된 키 입력 데이터는 저장되는 대신 라디오 링크를 통해 실시간으로 전송됩니다. 반면에 수신기는 USB 인터페이스를 갖춘 무선 수집 장치입니다. 송신기로부터 수신된 모든 키 입력 데이터는 USB를 통해 호스트 컴퓨터로 전송됩니다. 소프트웨어 측면에서 이 데이터는 가상 COM 포트를 통해 사용 가능하며, 시각화를 위해 터미널 클라이언트를 사용할 수 있습니다.

무선 키로거 블록 다이어그램

무선 키로거 블록 다이어그램

전체 시스템은 실시간으로 작동하므로 원격 컴퓨터에서 입력한 텍스트는 즉시 수신 측에서 볼 수 있습니다. 시스템은 약 50야드(미터)의 최대 범위를 갖고 있습니다. 이는 두께에 따라 2~4개의 벽을 통해 약 20야드(미터)의 효과적인 범위에 해당합니다.

무선 키로거 송신기

무선 키로거 송신기

무선 키로거 수신기

무선 키로거 수신기

송신기와 수신기는 동일한 회로도와 회로 기판을 기반으로 합니다. 두 제품 모두 동일한 형태를 가지며 PS/2 및 USB 연장 케이블에 장착되도록 의도되어 있습니다. 권장되는 하우징은 EMC-발룬 케이스로, 장치가 표준 연장 케이블과 유사하게 보이도록 합니다.

이 기사는 DIY 무선 키로거의 전체 조립 과정을 설명합니다. 귀하의 기술에 따라, 제로에서 직접 무선 키로거를 만들거나 저희로부터 조립된 제품을 주문할 수 있습니다. 저희는 미리 프로그래밍된 마이크로컨트롤러와 표준 케이싱(사진에서 볼 수 있음)이 장착된 구성 요소 세트 또는 완전히 조립되고 테스트된 장치 세트를 제공할 수 있습니다. 자세한 내용은 키트 섹션으로 스크롤하십시오.

자체 무선 키로거를 만들기로 결정하면 전자 제품 및 솔더링에 대한 기본적인 경험이 있어야 하며, 이상적으로는 SMT(표면실장기술)에 대한 경험이 있어야 합니다. 가장 쉬운 옵션은 저희로부터 부품이 포함된 키트를 주문하고 솔더링, 케이블 연결 및 최종 조립을 직접 하는 것입니다. 이를 위해서는 온도 제어가 가능한 솔더링 아이언과 상당히 뛰어난 솔더링 기술이 필요합니다. PCB를 직접 설계하고 생산하기로 결정하면 이 분야에서 상당한 경험이 있어야 하며 적절한 장비가 필요합니다.

아래 표는 단일 송신기 또는 수신기 장치에 포함된 BOM (부품 목록)을 요약합니다. 송신기에는 추가 PS/2 연장 케이블이 필요하며, 수신기에는 USB A 타입 커넥터 또는 케이블이 필요합니다.

전자 부품 세트

전자 부품 세트

케이블, 케이스 및 PCB

케이블, 케이스 및 PCB

디자이네이터 설명 발자취 수량
U1 마이크로컨트롤러 AT91SAM7S64 TQFP64 1
U2 트랜시버 nRF2401 QFN24 1
U3 전압 조절기 MCP1700T-330 SOT-23 1
Q1 크리스탈 18.432 MHz HC-49 SMD 1
Q2 크리스탈 16 MHz HC-49 SMD 1
R1, R2 저항기 1.5 kΩ 0805 2
R3, R4 저항기 27 Ω 0805 2
R5 저항기 1 MΩ 0805 1
R6 저항기 22 kΩ 0805 1
C1, C27 커패시터 10 nF 0805 2
C2, C28 커패시터 1 nF 0805 2
C3, C4, C6, C7, C8 커패시터 22 pF 0805 5
C5 커패시터 33 nF 0805 1
C9 커패시터 2.2 pF 0805 1
C10, C11 커패시터 1 pF 0805 2
C12, C22, C23, C24, C25, C26, C32, C33, C34, C42, C43 커패시터 100 nF 0805 11
C21, C31, C41 커패시터 1 µF 0805 3
L1 페라이트 비드 0805 1
L2 인덕터 3.6 nH 0805 1
L3 인덕터 18 nH 0805 1

무선 키로거 BOM (PDF 버전)

송신기와 수신기는 동일한 PCB와 구성 요소 세트를 사용합니다(케이블 및 펌웨어로 구분됩니다). Atmel AT91SAM7S64 마이크로컨트롤러와 nRF2401 무선 송수신기가 핵심 구성 요소입니다. 두 제품 모두 정상 작동을 위해 크리스탈이 필요합니다. MCP1700 전압 레귤레이터를 제외한 모든 구성 요소는 수동적입니다(저항, 캐패시터 및 일부 인덕터). 이중면 2층 PCB는 아래 그림에 나와 있습니다.

PCB 레이아웃 - 상면

PCB 레이아웃 - 상면 (PDF 버전)

PCB 레이아웃 - 하단면

PCB 레이아웃 - 하단면 (PDF 버전)

자체적으로 PCB를 제조할 만큼 숙련되어 있다면, 아래에서 사용 가능한 1:1 마스크 세트를 사용할 수 있습니다. 참조 디자인은 두께가 1.0mm인 FR4를 사용합니다.

PCB 마스크 - 윗면

PCB 마스크 - 윗면 (PDF 버전)

PCB 마스크 - 하측

PCB 마스크 - 하측 (PDF 버전)

DIY 무선 키로거를 만드는 것은 전자제품 애호가들에게 매우 즐거울 수 있습니다. 그러나 부품을 소매점에서 찾거나 0603 풋프린트를 납땜하는 것이 모든 즐거움을 없앨 수 있다는 것을 완전히 인식하고 있습니다. 그래서 가장 일반적인 구성 세트로 두 가지 다른 키트를 준비했습니다:

  • 송신기 또는 수신기용 완전한 구성 요소 세트
  • 조립된 송신기 또는 수신기 미니보드

위의 키트 중 하나를 구매하려는 경우 추가 요청이 있거나 자세한 정보를 원하는 경우 저희 영업부로 연락하십시오.

와이어리스 키로거 전기 회로는 두 가지 주요 구성 요소로 구성되어 있습니다: AT91SAM7S64 마이크로컨트롤러와 nRF2401 송수신기입니다. 동반되는 수동 부품은 주로 발진기 및 RF 회로입니다. 전체 회로는 MCP1700 레귤레이터에 의해 생성된 3.3V로 공급되며 콘덴서 세트로 필터링됩니다. 전원은 PS/2 버스(송신기) 또는 USB(수신기)를 통해 직접 공급됩니다. 이미 조립된 미니 보드가 있는 경우 배선 섹션으로 건너뛰십시오. 회로 보드를 직접 조립하기로 결정한 경우 아래의 회로도와 지침을 따라야 합니다.

무선 키로거 전기 회로도

무선 키로거 전기 회로도 (PDF 버전)

소더링에는 가늘고 0.5mm보다 작은 팁을 사용하고 솔더링 플럭스(예: RMA7)를 사용하세요. 부품을 과열시키지 마세요. 어셈블리를 시작할 때는 가장 어려운 풋프린트를 가진 nRF2401 송수신기부터 시작하세요. 이어서 AT91SAM7S64 마이크로컨트롤러와 MCP1700 전압 레귤레이터를 설치하세요. 항상 핀 1이 PCB의 첫 번째 패드와 일치하는지 확인하세요. 마지막으로 모든 보조 회로를 소더링하세요: 크리스탈, 저항기, 캐패시터 및 인덕터. 안테나는 마지막에 남겨두세요. 전용 ISM 2.4 GHz 안테나를 사용하거나 간단히 철사 조각으로 1/4파 길이의 다이폴 안테나를 만들 수 있습니다. 최적 길이는 1.23인치(3.125cm)입니다. 조립된 미니 보드는 아래 사진과 유사하게 보여야 합니다.

마이크로컨트롤러가 장착된 조립된 PCB 상면

마이크로컨트롤러가 장착된 조립된 PCB 상면

트랜시버가 장착된 조립된 PCB 하부면

트랜시버가 장착된 조립된 PCB 하부면

회로 기판을 조립한 후에는 케이블링을 할 시간입니다. 펌웨어를 제외하고는, 이것이 송신기와 수신기가 다른 곳입니다. 송신기는 PS/2 버스와 병렬로 연결되어야 합니다. PCB에는 컴퓨터 및 키보드로 연결되는 패드가 있습니다. 반면에 수신기는 USB 포트에 표준 연결이 있어야 합니다. 아래 이미지는 연결이 어떻게 이루어져야 하는지 보여줍니다.

송신기 PS/2 배선도

송신기 PS/2 배선도 (PDF 버전)

수신기 USB 배선도

수신기 USB 배선도 (PDF 버전)

PS/2 및 USB 연장 케이블을 사용하여 열어서 신호 라인을 분리하십시오. 내부의 전선이 신호 라인에 대응하는 방법을 식별하는 것이 어렵습니다. 일부 PS/2 및 USB 케이블은 표준화된 색상을 가지고 있지만, 이에 의존하는 것은 매우 위험합니다. 권장되는 해결책은 어떤 전선이 어떤 신호에 해당하는지 찾기 위해 단락 테스터 또는 옴미터를 사용하는 것입니다. 아래 다이어그램이 도움이 될 것입니다.

PS/2 플러그 핀 배선도 (송신기 장치)

신호 설명 PS/2 핀 댓글
VCC +5V 전원 4 모듈에 연결되어야 합니다
GND 전원 그라운드 3
CLK 시계 5
DATA 데이터 1
NC 사용되지 않은 라인 2, 6 모듈에서 사용되지 않는 경우, 원래 상태로 남겨두세요
SHLD 방패 -
PS/2 커넥터
무선 키로거 송신기

USB 플러그 핀 배치도 (수신기)

신호 설명 USB 핀 댓글
VCC +5V 전원 1 모듈에 연결되어야 합니다
D- 데이터 2
D+ 데이터 3
GND 전원 그라운드 4
SHLD 방패 - 모듈에서 사용되지 않는 경우, 원래 상태로 남겨두세요
USB connector
무선 키로거 수신기

아직 프로그래밍되지 않은 마이크로컨트롤러를 사용 중이라면, ISP (In-System Programming) 기술을 사용하여 펌웨어를 업로드하는 것이 좋은 시기입니다. 자세한 내용은 펌웨어 섹션을 참조하십시오. 이 작업이 완료되면 미니 보드는 아래 그림과 유사하게 보여야 합니다.

PS/2 버스에 연결된 송신기 회로 기판

PS/2 버스에 연결된 송신기 회로 기판

USB에 연결된 수신기 회로 기판

USB에 연결된 수신기 회로 기판

케이스를 씌우기 전에 마지막으로 점검하는 것을 권장합니다. USB 및 PS/2 커넥터의 전원 공급 (VCC)과 접지 (GND) 사이의 저항을 확인하기 위해 단락 테스터 또는 오옴미터를 사용하십시오. 여기서 단락이 발생하면 전체 회로를 검토해야 하며, 그렇지 않으면 컴퓨터에 손상을 줄 수 있습니다. 모든 것이 정상이면 접착제나 수지를 사용하여 케이스를 부착하고 사용할 준비가 된 것입니다.

발신기-수신기 쌍의 장치를 조립한 후에는 첫 번째 테스트를 진행할 시간입니다. 두 장치를 테스트하기 위해 단일 컴퓨터를 사용하는 것을 권장합니다. 먼저 컴퓨터의 전원을 끄고 발신기 장치를 PS/2 키보드와 PS/2 포트 사이에 연결하세요.

PS/2 포트에 송신기 장치를 연결하세요

PS/2 포트에 송신기 장치를 연결하세요

PS/2 키보드를 송신기 장치에 연결하세요

PS/2 키보드를 송신기 장치에 연결하세요

작업을 완료한 후 컴퓨터를 부팅하고 PS/2 키보드가 정상적으로 작동하는지 확인하세요 (키로거의 영향이 눈에 띄지 않아야 합니다). 이제 수신기 장치를 테스트할 시간입니다. 계속하기 전에 먼저 Keelog 드라이버 파일을 다운로드해주세요. 파일을 압축 해제하고 컴퓨터의 로컬 하드 디스크에 저장하세요. 그런 다음, 수신기 장치를 컴퓨터의 빈 USB 포트에 연결하세요 (컴퓨터를 종료할 필요는 없습니다). 송신기에서 오는 라디오 신호 수신이 가능한 위치에 있는지 확인하세요.

수신기 장치를 무료 USB 포트에 연결합니다

수신기 장치를 무료 USB 포트에 연결합니다

수신기 장치를 처음 연결하면 드라이버 설치 대화 상자가 나타납니다. 엄밀히 말하면, Windows와 같은 대부분의 운영 체제와 함께 제공되는 번들된 가상 COM 포트 드라이버를 사용할 것입니다. 그러나 해당 INF 설명 파일은 수동으로 선택해야 합니다. 시스템이 드라이버를 요청하면 드라이버 파일이 저장된 위치로 이동하십시오. 아래 그림은 이 프로세스를 설명합니다.

드라이버 소프트웨어를 찾아 설치하도록 선택하십시오

드라이버 소프트웨어를 찾아 설치하도록 선택하십시오

드라이버 검색을 선택하세요

드라이버 검색을 선택하세요

브라우즈 옵션 표시 선택

브라우즈 옵션 표시 선택

드라이버 위치로 이동

드라이버 위치로 이동

드라이버 설치 프로세스가 성공적이었다면, 수신기 장치는 USB로 시리얼 변환기로 표시됩니다. 이를 확인하려면 Windows의 장치 관리자를 열고 장치에 할당된 가상 포트를 확인하십시오.

수신기 장치 관리자에서 확인 가능

수신기 장치 관리자에서 확인 가능

송신기 장치로부터 키 스트로크 데이터 수신을 시작하려면 Hyperterminal과 같은 임의의 터미널 클라이언트를 사용할 수 있습니다. 유연성과 사용 편의성을 고려하여 무료 Simple Serial Monitor 애플리케이션을 사용하는 것을 권장합니다.

Simple Serial Monitor

간단한 시리얼 모니터 (Keelog의 무료 터미널 클라이언트)

Simple Serial Monitor(또는 다른 대체 애플리케이션)을 실행한 후 올바른 COM 포트를 설정하는 것을 잊지 마십시오. 모든 것이 올바르게 진행된 경우 수신기 장치는 즉시 PS/2 키보드에서 입력된 모든 키 입력을 표시합니다.

PS/2 송신기 장치가 장착된 원격 컴퓨터, 로컬 컴퓨터에 USB 수신기 장치

PS/2 송신기 장치가 장착된 원격 컴퓨터 / 로컬 컴퓨터에 USB 수신기 장치

다음 단계는 두 대의 다른 컴퓨터를 사용하여 동일한 것을 테스트하는 것입니다. 전송 범위 내에 있는지 확인하십시오. 터미널 창에 텍스트가 팝업되면 무선 키로거 세트가 첫 번째 실제 미션을 위해 준비된 것입니다. 이 장치는 합법적인 목적으로만 사용하십시오!

이 문서의 PDF 버전 이 문서의 PDF 버전
사용 및 복제 조건은 문서에 포함되어 있습니다
펌웨어 (송신기 및 수신기) 펌웨어 (송신기 및 수신기)
송신기 및 수신기 프로그래밍을 위한 마이크로컨트롤러 펌웨어
가상 COM 드라이버 (Win 2K/XP/Vista) 가상 COM 드라이버 (Win 2K/XP/Vista)
수신기를 가상 COM 포트로 인식하게 하는 드라이버
간단한 시리얼 모니터 설치 프로그램 간단한 시리얼 모니터 설치 프로그램
가상 COM 포트(하이퍼터미널과 동등)를 통해 가로챈 키 입력 데이터를 표시하는 무료 소프트웨어입니다. Microsoft .NET Framework이 필요합니다.
AT91 In-System 프로그래머 (ISP) 설치 프로그램 AT91 In-System 프로그래머 (ISP) 설치 프로그램
SAM-BA 부트로더를 사용하여 펌웨어 플래싱을 위한 소프트웨어
SAM Boot Assistant (SAM-BA) 사용자 가이드 SAM Boot Assistant (SAM-BA) 사용자 가이드
추가 프로그래머를 사용하지 않고 내장 부트로더를 통해 펌웨어를 마이크로컨트롤러에 플래싱하는 튜토리얼
자재 목록 (BOM) 자재 목록 (BOM)
무선 키로거(송신기 및 수신기) 조립용 구성품 목록
배선도 배선도
무선 키로거 (송신기 및 수신기) 배선도
전기 회로도 전기 회로도
무선 키로거 (송신기 및 수신기)용 전기 도면
PCB 레이아웃 상단 PCB 레이아웃 상단
PCB 레이아웃의 상단 (송신기 및 수신기)
PCB 레이아웃 하단 PCB 레이아웃 하단
PCB 레이아웃의 하단면 (송신기 및 수신기)
PCB 마스크 상단 PCB 마스크 상단
PCB 상면용 마스크(송신기 및 수신기), 1:1 스케일
PCB 마스크 하단 PCB 마스크 하단
PCB 하부 측면용 마스크(송신기 및 수신기), 1:1 스케일

AT91SAM7S64 마이크로컨트롤러를 직접 플래시해야 하는 경우에만이 섹션을 읽으십시오. 저희로부터 키트를 구입하신 경우 이미 이 작업을 완료했습니다.

현대 마이크로컨트롤러인 Atmel AT91SAM7S64과 같은 제품들은 매우 밀도 높은 실장을 가지고 있어 기존 프로그래머를 찾기 어려울 수 있습니다. 이에 ISP (In-System Programming)가 최근 몇 년간 매우 빠르게 발전해왔습니다. ISP를 통해 전체 회로 기판을 먼저 조립한 후 매우 간단한 도구를 사용하여 펌웨어를 플래시할 수 있습니다. AT91SAM7S64는 내장된 부품인 USB 모듈을 기반으로 매우 편리한 ISP 솔루션을 구현하고 있습니다. 이를 SAM-BA (SAM Boot Assistant)라고 하며, USB 케이블과 몇 가지 간단한 점퍼만 필요합니다. 무선 키로거 미니 보드에서 SAM-BA를 실행하려면 먼저 AT91 ISP 도구를 다운로드하세요. 그런 다음, 송신기와 수신기 장치에 대한 펌웨어 플래싱을 완료하기 위해 아래 단계를 따르세요.

단계 1: 송신기 장치에만 해당됩니다. 한쪽에 A형 남성 플러그가 있고 다른 한쪽에는 절연된 전선이 있는 USB 케이블을 준비합니다. VCC, GND, D+ 및 D- 라인을 PCB의 적절한 패드에 납땜합니다. 수신기에는 이미 USB 연결이 있으므로 이 단계는 필요하지 않습니다.

단계 2: SAM-BA 핀을 단락시키기 위해 짧은 와이어 몇 개를 준비하세요: TST, ERASE, PA2, PA1, PA0, 3.3V. 각 와이어의 한쪽 끝을 두 보드의 SAM-BA 패드에 납땜하세요. 대안으로 사진에서 볼 수 있는 특별한 점퍼를 준비할 수도 있습니다.

SAM-BA 배선도

SAM-BA 배선도 (PDF 버전)

단계 3: AT91 ISP 소프트웨어 패키지를 설치하세요.

단계 4: 장치를 무료 USB 포트에 연결합니다. 장치 인식되지 않음 메시지는 이 단계에서 정상입니다.

단계 5: ERASE 및 3.3V 신호 선을 잠시 짧게 연결하십시오. 이렇게 하면 마이크로컨트롤러의 플래시 메모리가 지워집니다.

SAM-BA 부트로딩을 위한 케이블 및 점퍼

메모리 삭제 (ERASE 핀을 3.3V에 연결)

메모리 삭제 (ERASE 핀을 3.3V에 연결)

부트로더 활성화 (PA0, PA1, PA2 및 TST를 3.3V에 연결)

부트로더 활성화 (PA0, PA1, PA2 및 TST를 3.3V에 연결)

단계 6: 장치를 USB 포트에서 분리합니다. ERASE 핀이 더 이상 3.3V에 연결되지 않았는지 확인하십시오. 이제 PA0, PA1, PA2 및 TST 핀 세트를 3.3V에 연결합니다. 장치를 다시 USB 포트에 연결합니다 (장치가 인식되지 않음이 다시 나타날 수 있습니다). 장치를 약 10초 동안 연결한 후 장치를 USB 포트에서 분리합니다. 이 작업으로 SAM-BA 부트로더가 활성화되어야 합니다.

단계 7: 모든 숏트 또는 점퍼를 제거하고 장치를 USB 포트에 연결하십시오. 새 하드웨어 찾음 대화 상자가 나타날 것입니다. 기본 절차를 따르고 위자드가 드라이버를 스스로 찾도록 허용하십시오.

<i>새 하드웨어 찾기</i> 마법사

새 하드웨어 찾기 마법사

단계 8: 장치 관리자를 열고 SAM-BA 부트로더가 활성화되었는지 확인하십시오.

Atmel AT91 장치를 사용한 장치 관리자

Atmel AT91 장치를 사용한 장치 관리자

단계 9: AT91 ISP 소프트웨어 스위트에서 SAM-BA 애플리케이션을 실행하고 AT91SAM7S64-EK 대상 마이크로컨트롤러 보드를 선택하십시오.

마이크로컨트롤러 보드 선택

마이크로컨트롤러 보드 선택

단계 10: 보드와의 연결을 설정한 후 Flash 탭으로 전환하여, 송신기/수신기용 적절한 펌웨어를 선택하고 파일 전송을 클릭합니다. 응용 프로그램이 관련 플래시 영역을 잠그고 해제할 것인지 묻는 경우 예를 선택하십시오. 이 단계를 성공적으로 완료했다면, 펌웨어가 마이크로컨트롤러로 다운로드된 것을 의미합니다.

SAM-BA 메인 창

SAM-BA 메인 창

발신기와 수신기 모두에 대해 SAM-BA 절차를 따르는 것을 잊지 마십시오. 완료되면 두 장치가 사용할 준비가 됩니다.