자동 로그인 정보 탈취, 추가 공격 위한 사전 작업인가?

  • AhnLab
  • 2017-08-01

최근 통계에 따르면 1인당 평균 3개의 소셜 미디어를 이용한다고 한다. 이메일 계정 또한 3개 이상을 사용하는 경우가 대부분이다. 이렇게 다수의 계정을 이용하지만 각 서비스의 계정 설정 규칙이나 이용자 규모 등에 따라 다수의 계정을 동일한 이름으로. 비밀번호 또한 마찬가지다. 그러나, 이처럼 다수의 계정과 비밀번호를 기억하는 것은 만만치 않은 일인데다 자주 이용하는 서비스라면 매번 로그인하기도 번거롭다. 이렇다 보니 많은 사용자들이 ‘자동 로그인’ 기능을 이용하고 있다. 문제는 자동 로그인 기능 이용 시 보안 위협이 높아질 수 있다는 점이다. 이 글에서는 자동 로그인 기능을 이용해 개인정보를 유출하는 악성코드에 대해 살펴본다. 

 

악성코드 제작자들은 금전적 이윤을 위해 다양한 방법을 이용한다. 최근에는 직접적인 수익을 올리기 위해 랜섬웨어를 유포하는 사례가 많아졌지만 전통적인(?) 이윤 추구 방식도 여전히 존재한다. 대표적인 것이 사용자의 로그인 정보를 탈취하는 악성코드다. 현재 웹 브라우저, 이메일 클라이언트를 대상으로 로그인 정보를 탈취하는 악성코드가 지속적으로 제작, 유포되고 있다. 

로그인 정보를 탈취하는 악성코드의 주요 감염 경로는 일반적인 악성코드와 마찬가지로 이메일이다.  대부분 스팸 메일을 통해 대량으로 유포되지만, 일부는 특정한 대상을 노린 표적 공격 형태를 보이기도 한다. 

 

로그인 정보 탈취 방식

그렇다면 공격자는 로그인 정보를 어떻게 탈취할까? 로그인 정보 탈취 방법은 크게 두 가지로, 사용자가 입력하는 키 값을 가로채거나 시스템 상에 저장된 로그인 정보를 탈취하는 방법이 있다. 

 

1. 키 입력 가로채기

유명 서비스로 위장한 프로그램으로 사용자를 현혹해 로그인 정보를 입력하게 하거나 키로거(key-logger)를 이용해 사용자의 계정 정보를 탈취할 수 있다. 하지만, 이 방법은 사용자가 직접 정보를 입력할 때만 탈취가 가능하다는 한계가 있다. 

 

 

[그림 1] 페이팔(PayPal)로 위장한 피싱 프로그램

 

2. 저장된 로그인 정보 탈취

사용자가 애플리케이션의 자동 로그인 기능을 사용하면, 사용자가 최초 입력했던 계정 정보는 어딘가에 저장된다. 대개 파일 또는 데이터베이스 형태로 암호화되어 저장된다. 그러나 일부 프로그램의 경우 암호화 방식이 아닌 인코딩으로 저장하거나 심지어 암호를 그대로 평문 형태로 저장하기도 한다. 따라서 공격자가 탈취하고자 하는 프로그램의 정보 저장 위치를 미리 알고 있다면 로그인 정보를 탈취할 수 있다. 

 

저장된 로그인 정보 탈취 공격 

로그인 정보를 탈취하는 악성코드 제작을 위해 공개된 정보를 이용하는 경우도 있지만 사용자가 잊어버린 암호를 알아내기 위해 이용하는 암호 복구 프로그램을 활용하는 경우도 있다. ‘암호 복구 프로그램’은 저장된 로그인 정보를 잊어버린 사용자들이 이용할 수 있는 프로그램이다. 문제는 암호 복구 프로그램의 원리가 알려지면서 공격자들이 로그인 정보를 유출하는 악성코드를 제작하는데 활용하기도 한다는 점이다. 

 

대표적인 암호 복구 프로그램으로는 윈도우 로그인 정보를 확인하는 프로그램인 Pwdump가 있다. Pwdump는 보안 계정 관리자(SAM)에서 로컬 사용자 계정의 암호 해시를 출력하는 프로그램이다. 공격자는 이렇게 확인한 해시 값을 이용해 로그인에 필요한 정보를 알아내어 공격 대상의 내부 시스템을 장악하는 계획을 세울 수 있다.

 

  

[그림 2] Pwdump 실행 화면

 

이 밖에도 브라우저 등의 로그인 암호를 보여주는 프로그램이 있는데, 이 또한 원래 잊어버린 암호를 찾기 위한 프로그램이다. 공격자는 이러한 프로그램을 이용해 사용자 정보를 알아내기도 한다.

 

  

[그림 3] 실제 해킹에 악용된 브라우저 암호 복구 프로그램

 

1. 주요 공격 대상 

프로그램마다 로그인 정보를 저장하는 위치와 방법이 다르다. 따라서 공격자는 자신이 탈취하고자 하는 프로그램을 분석해 로그인 정보 저장 위치를 알아낸 후 정보에 접근한다. 저장된 로그인 정보 탈취의 대상이 되는 프로그램은 주로 다음과 같다. 

 

 

[표 1] 주요 공격 대상

 

 

2. 공격 대상별 로그인 정보 저장 위치 

사용자가 저장하는 로그인 정보는 파일 혹은 레지스트리에 저장된다. 파일이나 레지스트리에 저장될 때는 암호화되어 저장하기도 하지만 평문이나 간단한 인코딩만으로 저장되는 경우도 존재한다. 다양한 프로그램의 로그인 정보 저장 위치는 다음 사이트에서 확인 할 수 있다.

http://securityxploded.com/passwordsecrets.php

 

■ 인터넷 익스플로러 

인터넷 익스플로러(Internet Explorer)는 로그인 정보를 레지스트리에 저장한다. 

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2 

 

  

[그림 4] 인터넷 익스플로러 자동 로그인 정보

 

■ 크롬

크롬(Chrome)은 ‘Login Data’ 파일에 로그인 정보를 저장한다.  

C:\Users\<user_name>\Appdata\Local\Google\Chrome\User Data\Default\Login Data

 

  

[그림 5] 크롬의 로그인 정보 저장 파일

 

■ 아웃룩

아웃룩(Outlook)은 다음과 같이 레지스트리에 로그인 정보를 암호화하여 저장한다. 

HKEY_CURRENT_USER\Software\Microsoft\Office\(버전)\Outlook\Profiles\Outlook

 

  

[그림 6] 아웃룩 2016의 로그인 정보 저장 레지스트리

 

■ 파일질라

대표적인 파일 전송 프로토콜(File Transfer Protocol, FTP) 프로그램인 파일질라(Filezilla)는 로그인 정보를 sitemanager.xml 등에 텍스트 파일로 저장한다. 과거에는 평문 그대로 저장했지만 현재는 베이스64(Base64)로 인코딩된다. 그러나, 베이스64 디코더를 통해 쉽게 암호를 확인할 수 있다.

 

  

[그림 7] 파일질라의 로그인 암호 저장

 

암호에 사용된 값을 베이스64로 디코딩하면 [그림 8]의 예시와 같이 ‘password’라는 암호를 확인할 수 있다.

 

  

[그림 8] 베이스64 변환 결과

 

2. 주요 로그인 정보 탈취 악성코드 

시스템에 저장된 로그인 정보를 유출하는 악성코드는 다양하다. 대표적인 로그인 정보 탈취 악성코드는 다음과 같다.

 

■ Decoloader (Tkhawk.exe)

RAR SFX(Self-Extractor) 파일이며, 파일 내에 실행 파일과 암호화되어 있는 데이터 파일이 존재한다.

 

  

[그림 9] 압축 파일 내 파일

 

[그림 9]에서 확인할 수 있는 Esvxamvena.bin과 Fbulmigrmkwhr.bin은 암호화되어 있는 데이터 파일이다.

 

  

[그림 10] 암호화된 데이터 파일

 

Osslpjuy.exe는 닷넷으로 제작된 파일로, 실행되면 닷넷 관련 파일인 RegAsm.exe가 실행되고 종료된다.

 

  

[그림 11] Osslpjuy.exe 실행 후 프로세스

 

RegAsm.exe의 메모리를 확인해보면, 코드가 프라이빗(Private) 속성으로 실행된다는 것을 알 수 있다.

 

  

[그림 12] RegAsm.exe 내 메모리

 

[그림 11]의 0x1f0000 주소의 내용을 살펴보면 ‘C:\Users\Jovan\Documents\Visual Studio 2010\Projects\Stealer\CMemoryExecute\CemoryExecute\obj\Release\CMemoryExecute.pdb’와 같은 의심스러운 문자열을 확인할 수 있다.

 

  

[그림 13] 악성코드의 특징적인 PDB 정보

 

메모리에는 다른 실행 파일도 존재하는데, 이들은 웹 브라우저의 로그인 정보를 확인할 수 있는 WebBrowserPassView와 메일 로그인 정보를 알 수 있는 Mail PassView이다. 

 

 

[그림 14] 메모리에서 확인된 암호 복구 프로그램

 

이 악성코드는 기존의 암호 복구 프로그램을 사용자 몰래 실행하여 로그인 정보를 획득한 후 유출한다.

 

■ Trojan/Win32.Loginstealer (fontwow64.exe)

Trojan/Win32.Loginstealer로 진단되는 fontwow64.exe 파일은 2017년 3월 발견된 로그인 정보 탈취 악성코드로, 관련 변종이 2015년 10월에도 발견된 바 있다. 이들 두 샘플 모두 아직까지 바이러스 토탈(Virus Total) 등 악성코드 검사 서비스에 업로드되어 있지 않다. 이로 미루어 볼 때 대량 메일을 통한 유포 보다는 표적 공격에 이용되었을 가능성이 점쳐진다. 

 

해당 악성코드가 실행되면 암호화된 Username과 Password의 암호를 풀어 로그인 정보를 탈취하는 함수를 실행한다. 주요 문자열은 암호화되어 저장되어 있다.

 

  

[그림 15] Trojan/Win32.Loginstealer 코드 시작 부분

 

저장된 로그인 정보를 탈취하는 함수가 실행되면 drf2EPOREVHN.jpg, drf2EPOREXKK.jpg 등과 같은 임의의 이름과 JPG 확장자를 가진 파일을 생성한다. 이후 다양한 웹 브라우저, 메신저, 메일 클라이언트 등의 로그인 정보를 수집해 저장한다.

 

  

[그림 16] 로그인 정보 수집

 

유출된 로그인 정보, APT 공격에 사용될 수 있어

공격자는 탈취한 로그인 정보를 이용해 사용자의 이메일이나 커뮤니티 활동 내역을 몰래 훔쳐볼 수 있다. 얼마 전 이메일 계정 정보를 해킹해 사용자들이 메일 박스에 보관해둔 개인 정보 내역을 추가로 탈취한 사례가 알려지기도 했다. 또한 탈취한 로그인 정보를 2차, 3차 공격에 이용할 수 있기 때문에 공격자들은 더 많은 공격을 위해 지속적으로 사용자의 로그인 정보 탈취를 시도하고 있다. 

 

기업 내에서 이러한 악성코드가 지속적으로 발견된다면 타깃 공격, 지능형 공격(APT)의 내부 침입을 위한 사전 작업일 가능성도 있어 각별한 주의가 요구된다. 실제로 미국 정당 관련 단체에 대한 공격에도 로그인 정보 유출 악성코드가 사용된 것으로 알려져 있다.

 

로그인 정보 탈취 악성코드에 감염되어 있을 경우에는 주기적인 암호 변경도 무용지물이다. 따라서 이러한 악성코드에 의한 피해를 줄이기 위해서는 자동 로그인 기능을 가급적 사용하지 않는 것이 바람직하다. 그나마 다행인 것은 저장된 로그인 정보를 유출하는 방식은 정해져 있다는 점이다. 만일 어떤 프로그램에서 로그인 정보가 저장된 위치에 접근하는 행위를 한다면 로그인 정보 유출 악성코드로 판단할 수 있다.​ 

  • AhnLab 로고
  • ASEC분석팀 차민석 수석연구원

이 정보에 대한 저작권은 AhnLab에 있으며 무단 사용 및 도용을 금합니다.

단, 개인이 비상업적인 목적으로 일부 내용을 사용하는 것은 허용하고 있으나, 이 경우 반드시 출처가 AhnLab임을 밝혀야 합니다.
기업이 이 정보를 사용할 때에는 반드시 AhnLab 의 허가를 받아야 하며, 허가 없이 정보를 이용할 경우 저작권 침해로 간주되어 법적인 제재를 받을 수 있습니다. 자세한 내용은 컨텐츠 이용약관을 참고하시기 바랍니다.

정보 이용 문의 : contents@ahnlab.com

+ Recent posts