본문 바로가기

Infosecinstitute 번역

[번역문서] 악의적인 파이어폭스 애드온 : 키 로거

반응형

※ 주의사항

아래 공격 코드는 연구 목적으로 작성된 것이며, 허가 받지 않은 공간에서는 테스트를 절대 금지합니다.

악의 적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신한테 있습니다. 이는 해당 글을 열람할 때 동의하였다는 것을 의미합니다.

해당 문서의 저작권은 해당 프로젝트 참여 저자들에게 모두 있습니다. 외부에 공개시 법적 조치가 가해질 수 있습니다.

 

원본 URL: http://resources.infosecinstitute.com/keylogger/

 

이 문서는 보안프로젝트(www.boanproject.com)  '린' 멤버님께서 변역해주셨습니다. 학습하는데 참고하시기 바랍니다.

 


악의적인 파이어폭스 애드온 : 키로거

 

키 자동 기록기로 알려져 있는 키로거는 사용자가 키보드 자판에서 타이핑 하는 모든 키를 감시하고 기록하는 소프트웨어 프로그램이나 하드웨어 장비를 말한다. 이것은 각각의 그리고 모든 타이핑을 기록하고 그것의 로그를 만드는 기능을 가진 감시 소프트웨어이다.

소 프트웨어 기반의 키로거는 타겟 사용자의 컴퓨터에 물리적인 접속을 하지 않아도 된다. 이것은 인터넷상의 특정 시스템에서 스파이 활동을 목적으로 하는 쉽게 다운받을 수 있다. 그리고 또한 시스템에서 사용자의 의지/허가 없이 설치되며, 트로이잔으로 잘 알려진 원격 관리 프로그램으로 실행된다. 기본적으로 키로거 프로그램은 두가지 파일을 갖고 있는데, DLL(동적 링크 라이브러리)와 EXE(실행파일) 이다. 이 두가지 파일은 같은 디렉토리 안에 설치된다. 

DLL 파일은 타이핑되는 모든것을 기록하고 EXE 파일은 DLL파일 트리거를 설치하는데 도움이 된다. 성공적으로 설치가 되면, 프로그램은 키의 기록을 만들기 시작하고 인터넷을 통해서 프로그램에 설치된 누군가에게 데이터를 전송한다. 키로거는 보통 스텔스 모드로 동작하기 때문에 시스템의 감시에서 벗어난다. 또 윈도우즈 파일 내의 테스크 메뉴에서 프로그램을 숨길 수 있다.

또한, 키로거는 몇가지 이점이 있다. 기업 세계에서 키로거는 종종 종업원들이 회사의 컴퓨터를 사용할 때에 그들의 행동을 감시하는데 사용된다. 키로거는 또한 집에서도 유용한데, 아이들의 온라인 행동을 모니터링할 수 있기 때문이다.

키 로거의 종류

 

여기서는 기본적인 두가지 키로거의 종류, 소프트웨어 기반과 하드웨어 기반에 대해 알아보고자 한다.

소프트웨어 기반 키로거 - 이 키로그 방식은 실행가능한 포멧에서 볼 수 있다. 윈도우의 SetWindowsHookEx() 기능을 사용하는데 이것은 타이핑 되는 모든 키를 감시하고 자동완성되는 패스워드까지 잡아 낼 수 있다. 소프트웨어 기반의 키로그는 그들이 수행하는 작업에 따라 다음과 같이 여러 종류로 분류된다. 

  1. 오프라인 키로거 - 이 방식의 키로거는 타겟 장비의 로그를 저장하며 인터넷에 접속될 필요가 없다. 하지만 설치하기 위해서 물리적인 접근이 필요하다. 공격자는 이 키로거를 기밀 정보를 뺏기 위해 가끔 사용하기도 한다.

  2. 이메일 키로거 : 이 키로거는 공격자의 이메일 주소로 키로그를 보내는 설정을 한다. 공격자는 인터넷 상에서 사회공학 기법을 사용하여 쉽게 이 프로그램을 배포한다. 그들은 WinRAR라는 응용 프로그램을 사용해서 자동 압축 아카이브 (SFX)에 키로거 exe 파일을 변환한다. 그 후 SFX 아이콘을 MS 워드 나 다른 응용프로그램을 사용하는 아이콘으로 변경하여 메일의 첨부파일로 보낼 수 있다.


     

  3. FTP 키로거 - FTP 키로거는 FTP 서버로 키로그의 정보를 보내도록 설정되어 있다. 이 키로거는 읽고 사용하기에 아주 쉽다.


     

    4. PHP 키로거 - PHP 키로거는 다른 키로거와는 약간 다르다. 이 키로거는 데이터를 PHP 파일로 보내고 그 PHP 파일은 PHP 파일이 호스트된 서버에 저장된다. 이러한 키로거는 백신 프로그램에서 탐지가 어렵다.


하드웨어 기반 키로거 - 하 드웨어 기반의 키로거는 컴퓨터에 우선 물리적으로 접속해야 한다. 이러한 종류의 키로거는 USB 플래쉬 드라이브만한 사이드이다. 이 장비는 키보드와 컴퓨터 포트간의 접속으로 사용한다. 이것이 단순한 키보드 플러그로 보이기 때문에 누군가 사용자의 행위를 물리적으로 단순한 장비로 보이는 방법으로 몰래 감시하는 것이 가능하다. 사용자의 종류에 따라서 이 장비는 자신 의 저장공간에 각 키로그를 저장한다. 마지막 순간, 키로그를 설치한 사람은 반드시 돌아와 해당 장비를 물리적으로 제거하고, 장비의 저장공간에 얻어진 정보를 빼내야 한다.



 


브라우저 기반 키로거를 설정하는 방법

여기서는 좀 더 다른 종류의 키로거를 소개하고자 한다. 이 키로거는 Firefox 브라우저에서 동작한다. 우선 우리는 키로거로 동작하여 서버에 로그를 보내는 Firefox 애드온을 생성한다.

 

 

Firefox 애드온을 개발하는 것은 다음 사이트에서 확인해라 

https://developer.mozilla.org/En/Developing_add-ons.


우선 다음 소스코드에서 키로거를 다운 받아라. 

http://sites.google.com/site/netinfinityprojects/home/downloads/firefox-KL.tar.gz. 참고로 리눅스 운영체제를 사용하는 것을 권고한다. 소스코드의 다운로드가 끝나면 파일을 압축해제 하고 다음과 같은 파일과 폴더를 확인 할 수 있다. 

 


위 그림에서 우선 chrome.manifest 과 install.rdf 을 찾아 볼 수 있다. 이 두 파일은 Firefox 애드온을 개발하기 위한 파일이다. Firefox는 간단한 평문인 chrome.manifest 파일을 읽어들여 사용자의 확장성을 제공하는 패키지를 결정한다. 

install.rdf 파일은 설명, 작성자 이름, 버전과 같은 애드온의 정보를 제공한다. 그럼 우선 install.rdf 파일을 열어보자. 

 


위 그림에서 우리는 애드온의 이름을 “Ad Blocker"로 수정하는 등의 간단히 수정하여 만들수 있다는 것을 알 수 있다. 이렇게 하면 사용자들은 이 애드온을 믿고 그들의 브라우저에 설치하게 되기 때문이다. 

세번째 파일은 key_strokes.php 이다. 이 메인 파일에서 로그를 받거나 모든 키 로그를 문서파일화 한다.

 


이제 우리는 key_strokes.php 를 원격서버로 업로드 한다. 예를 들어 우리가 아래와 같은 웹사이트 호스팅을 사용한다고 해보자. 여기는 무료 호스팅 서버이다.

 


우리는 key_strokes.php 이라는 파일을 서버에 업로드 한다. 이제 업로딩이 끝나면 (도메인 이름).com/key_strokes.php의 포멧으로 파일의 URL을 갖게 된다. 이것이 나의 파일이다. :http://rootinjector.comoj.com/key_strokes.php


이제 키로더 소스코드 폴더에서 chrome이라고 이름이 붙은 다른 폴더를 살펴보자. 이 chrome 폴더의 내부에는 content 라는 폴더가 있고 이 폴더 안에는 remote_keylogger.XUL 라는 XUL 파일을 포함하고 있다. 우리는 이 파일을 약간 편집해야 하기때문에 파일을 열어 보겠다.

 

 

우리가 앞서 봤듯이 여기에는 다름과 같은 URL이 있다. 이 URL을 우리가 사용할 서버 주소로 변경해 준다.

 


이제 우리는 애드온을 만드는 준비를 했다. 다음  chrome folderchrome.manifest, 과 install.rdf  세 파일을 압축하고 하나로 만들어 XPI파일로 변경한다.

 


파일 3개를 압축하고 나서 이름을 변경하고 확장자를 adblocker.xpi로 변경한다. 이제 이 애드온을 브라우저에 설치해 보겠다. 

 


야호! 애드온이 잘 동작한다. 설치를 물으면 위 그림과 같이 지금 설치하는 것을 클릭한다. 

 

다음은 설치를 하고나서 재부팅을 하도록 권유한다.

 


앞서 만들었던 “Ad Blocker”이 성공적으로 설치되었다. 잘 작동하는지 살펴보자. 구글 페이지에 들어가서 아무것이나 타이핑 해 보자. 나는 “let us try some hacking..our keylogger is working or not.” 라고 써보겠다.


그 후 서버에 어떤 텍스트 파일이 생성되었는지 확인해보자.

 

 

여기서 loggger.txt라는 파일이 생성된 것을 볼 수 있다. 이 파일을 열어보도록 하자.

 

 

야호! 로그가 등록되었다.

 

참고 URL 및 도서

http://resources.infosecinstitute.com/keylogger/

http://searchmidmarketsecurity.techtarget.com/definition/keylogger

 

반응형