유명 메일 서비스 사칭 피싱 공격, 누구나 대상일 수 있다
최근 악성코드 유포 키워드 중 많은 비중을 차지 하는 것이 바로 ‘피싱(Phishing)’이다. 피싱은 메일 등을 통해 믿을 만한 사람이나 기업이 보낸 것처럼 가장하여, 개인 정보를 부정하게 얻으려는 수법을 일컫는다. 본 문서에서는 피싱 메일을 통해 유포되는 메일 서비스 사칭 악성 스크립트에 대해 설명하고자 한다.
ASEC(AhnLab Security Emergency response Center) 분석팀은 동일한 피싱 도메인 주소에서 다양한 대상을 타겟으로 피싱 공격을 수행한 것을 확인하였다. 공격 대상은 네이버 웍스(NAVER WORKS), 메일 플러그(MAILPLUG), 하이웍스(hiworks), 천리안 사용자들로, 하나의 도메인에서 해당 타겟에 대한 악성 피싱 스크립트들이 관리되고 있는 것을 발견했다.
각각의 피싱 공격 사례들이 타사 블로그나, 언론을 통해 알려졌으나 자사에서는 이 공격들이 동일한 피싱 사이트로부터 수행된 동일 공격자(혹은 그룹)의 소행이라는 연관성을 포착한 것이다.
특히 네이버 웍스, 메일 플러그, 하이웍스, 천리안은 여러 기업에서 메일 서비스로 사용하는 경우가 많아 각별한 주의가 필요하다.
공격 분석
1. 피싱 사이트 구성
해당 공격 사례 확인 중 발견한 도메인은 두 개로 주소는 아래와 같다. 이번 글에서는 아래 두 도메인의 구성 디렉토리 구조와 내부에 존재하는 피싱 스크립트에 대해 설명한다.
- hxxp://lukesbeautysalon.com/
- hxxp://summerwalkersalon.com/
A. 피싱 사이트1 (hxxp://lukesbeautysalon.com/)
최상위 도메인 hxxp://lukesbeautysalon.com/은 오픈 디렉토리(open directory) 구조를 가지고 있다. flavour 디렉토리 하위에 피싱 코드들이 존재하며 해당 디렉토리를 제외한 나머지 디렉토리 및 파일들은 정상 사이트를 위장하기 위한 구성 요소이다.
[그림 1] 사이트1의 최상위 디렉토리
[그림 2] 정상 사이트로 위장한 페이지
[그림 2]는 정상적으로 사용되는 뷰티 관련 페이지인 것처럼 보이지만 사실상 운영되지 않고 있는 가짜 사이트이다. 내부의 피싱 스크립트와 함께 패키지로 제작되었을 것으로 보인다. flavour 디렉토리에는 [그림 3]과 같이 wem 디렉토리가 확인되는데 이 경로 하위에 다양한 형태의 피싱 코드들이 존재한다.
[그림 3] 실제 피싱 스크립트들이 존재하는 wem 디렉토리
[표 1] hxxp://lukesbeautysalon.com/flavour/wem 하위 디렉토리 구조 및 설명
[표 1]과 같이 wem 디렉토리 하위에는 유출 정보를 수신하는 공격자의 메일 주소별 디렉토리가 구분되어 있다. 즉 동일 디렉토리 내부의 피싱 스크립트는 모두 동일한 악성 메일 주소를 사용하는 것이다. 각 php 파일은 특정 대상자들을 공격 대상으로 하며, 몇가지 코드로 메일 주소와 공격 대상을 변경해 작성되었다. 각 디렉토리명은 도메인의 일부 스트링이 포함되도록 했는데 공격자도 해당 코드들을 구분하여 관리할 목적으로 이와 같이 분류했을 것으로 보인다.
[표 2] 정보유출 메일주소와 유사한 스트링으로 구성된 디렉토리명 (사이트1)
B. 피싱 사이트2 (hxxp://summerwalkersalon.com/)
최상위 도메인인 hxxp://summerwalkersalon.com은 사이트1과 다르게 정상 사이트의 형태는 확인되지 않는다. 하지만 이 사이트 역시 아래와 같은 디렉토리 구조로 이루어졌다.
[그림 4] 사이트2의 디렉토리 구조
사이트2 역시 사이트1처럼 유출 정보를 수신하는 공격자의 메일 주소별 디렉토리가 구분되어 있다. 하위의 코드들은 아래와 같이 정리된다.
[표 3] hxxp://summerwalkersalon.com/beautys/kong 하위의 디렉토리 구조 및 설명
사이트2는 사이트1과 다르게 메일 플러그와 천리안 사용자를 대상 피싱 스크립트는 제외되었다. 네이버 웍스와 하이웍스 사용자들을 타겟으로한 해당 코드들은 사이트1에서 사용한 코드와 동일하며 정보유출 메일주소만 차이가 있다.
[표 4] 정보유출 메일주소와 유사한 스트링으로 구성된 디렉토리명 (사이트2)
그리고 사이트1은 디렉토리명과 정보유출 메일주소의 일부 스트링들이 동일했던 것에 반해 사이트2는 디렉토리명이 메일주소의 시작 부분 스트링과 모두 매치되었다. 공격자가 더 편리하게 해당 스크립트들을 관리하기 위한 것으로 추정된다.
[표 5] 동일 해쉬 파일 리스트
[표 5]와 같이 각 공격 대상에 사용된 코드들은 6가지로 추려지며 메일 플러그와 천리안 대상의 공격은 사이트1에서만 수행되었다. 동일 코드로 생성된 각 파일들은 정보 유출을 위한 공격자의 메일 주소만 다른 형태로 유포되었다. 각 케이스 별 코드의 상세 내용은 아래와 같다.
2. 공격 대상 별 코드 분석 및 사례
A. 네이버 웍스(NAVER WORKS)
업로드된 파일 중 정상 사이트의 로그인 페이지를 위장하여 사용자로부터 ID와 패스워드를 입력 받는 폼을 가진 파일은 [표 5]의 1번 파일로 모두 [그림 5]와 같이 네이버 웍스를 위장하고 있다.
[그림 5] /appeal/fath.php 페이지
정상적인 네이버 웍스 로그인 화면은 [그림 6]과 같으며 피싱 페이지와 달리 이메일만 입력하는 등 로그인 옵션에 차이가 존재한다.
[그림 6] 네이버 웍스 정상 로그인 페이지
/appeal/fath.php 파일 내부에는 [그림 7]과 같이 hxxps://auth.worksmobile.com/css/register.css, hxxps://auth.worksmobile.com/js/common/lcslog.js 등 실제 네이버 웍스의 스크립트를 사용하여 사용자가 피싱 사이트임을 인지하기 어렵도록 정상 페이지와 유사하게 구성했다.
[그림 7] fath.php 파일에 존재하는 lcslog.js 코드
또한, [표 6]과 같이 ‘form’ 태그를 추가한다. 대부분의 피싱 파일에서 사용하는 방식과 동일하게 입력 받은 정보를 hxxp://lukesbeautysalon.com/flavour/wem/appeal/ 경로에 함께 업로드 되어 있는 scati.php ([표 5]의 2번 파일)로 전송한다.
[표 6] 코드에 추가된 form 태그
사용자가 입력한 이메일 주소와 비밀번호를 수신한 scati.php 파일은 $_SERVER['HTTP_USER_AGENT'] 변수를 활용해 사용자의 IP, 운영체제(OS), 접속 브라우저 정보 등을 수집한다. 이후 ‘hxxp://xxx.geoplugin.net/json.gp?ip=[사용자 IP]’에 접속해 사용자의 국가, 지역, 도시 등의 정보도 추가적으로 수집하며, 수집한 정보는 “[국가 이름] || NavWork” 제목으로 steveappeal77@gmail.com 메일로 전송한다.
- 메일 제목: [국가 이름] || NavWork
- 유출 내용: 사용자의 IP, OS 정보, 접속 브라우저 정보
- 파일 별 정보유출 메일주소는 [표 3] 참고
메일이 성공적으로 전송이 되면 [그림 8]과 같은 메시지를 출력한다. 이후 사용자가 피싱 사이트 방문을 알아차리지 못하도록 hxxps://auth.worksmobile.com으로 리다이렉트된다.
[그림 8] 메일 전송 성공 네트워크 정보
이와 같이 구성된 파일들은 기존 피싱 파일 동작 방식과 차이를 보인다. 기존 방식은 피싱 페이지에서 입력 받은 정보를 form 태그를 활용해 특정 php로 전송한 후 정상 페이지로 리다이렉트되는 것이다. 반면, 해당 피싱의 경우 php 파일에서 정보를 추가적으로 수집한 후 공격자 계정으로 메일을 전송하여 정보를 유출한다.
해당 사이트에 업로드 된 네이버 웍스 피싱 페이지는 실제 이메일로 유포되는 파일과 차이가 있다. 앞서 설명한 피싱과 유사한 형식으로 유포된 파일 [그림 9]의 경우 아래와 같이 실제 네이버 웍스 사이트와 거의 동일하게 구성되어 있다. 사이트에 업로드 되어있는 파일의 경우 앞 부분에 사용자 이메일을 세션으로 받아 해당 이메일을 보여주는 코드가 존재하는 것으로 보아 사용자에게 유포된 페이지를 통해 접속했을 것으로 추정된다.
[그림 9] 유사 공격 피싱 스크립트 (MD5: a4c9a5e11a517b7fa04cc4c0a2a5b0e6)
B. 메일 플러그(MAILPLUG)
네이버 웍스와 같이 해당 도메인에 업로드 된 파일 중 사용자 이메일을 입력 받는 Form이 있는 파일은 존재하지 않지만, 해당 유형의 피싱 파일을 유포한 메일이 수집되었다. 메일에는 피싱 사이트 링크가 아닌 피싱 페이지가 파일로 첨부되어 있다.
[그림 10] 피싱 파일 유포 메일1
[그림 11] 피싱 파일 유포 메일2
피싱 메일의 경우 ‘철골제작 견적요청, ‘견적의뢰 건 P/O FIBN’ 등의 제목으로 유포되는 것으로 보아 건설회사를 대상으로 하고 있다. 또한, html 파일의 타이틀에 회사명이 작성되어 있어 메일 플러그를 사용하는 특정 회사의 사용자를 대상으로 유포되었음을 알 수 있다.
첨부된 피싱 파일은 [그림 12]와 같이 정상 페이지와 매우 유사한 형태를 보인다. COPYRIGHT가 LINUXWARES로 설정되어 있으며 언어 변경이 불가능하다.
[그림 12] 좌: 피싱 페이지 / 우: 정상 페이지
[그림 13] 위: 피싱 페이지 / 아래: 정상 페이지
실제 유포가 확인된 메일 플러그 피싱 파일에서 사용자 정보를 전송받는 hxxp://lukesbeautysalon.com/flavour/wem/vale/him.php의 파일은 앞서 설명한 네이버 웍스와 유사하게 동작한다.
해당 페이지에 직접 접속 시 Forbidden 문자열을 확인할 수 있다. 이는 실제로 요청이 거부되어 페이지에 접근이 불가능한 것이 아닌, 공격자가 아래의 코드를 삽입하여 권한이 제한된 것처럼 보이도록 유도한 것이다.
[그림 14] him.php 페이지 접속 시 화면
파일 내부에는 post method를 통해 접근하지 않은 경우 아래와 같이 Forbidden 문자열을 생성하도록 코드가 추가되어 있다. 이는 사용자가 계정 정보를 입력하지 않았을 때도 메일을 발송되는 것을 제한하기 위해 추가한 것으로 추정된다.
[그림 15] him.php 내부 코드
해당 페이지를 POST method를 통해 요청하면 클라이언트의 IP를 통해 ‘hxxp://xxx.geoplugin.net/json.gp?ip=[사용자 IP]’에 접속하여 추가 정보를 수집한다. 사용자 이메일, 패스워드, 사용자 에이전트(User Agent), 현재 시간, 호스트 네임(Host Name) 등 수집한 정보를 아래 형식에 맞게 작성하여 “You've got mail from [사용자 IP] ([국가 이름])” 제목의 메일을 vnalu09@gmail.com 로 전송한다.
- 메일 제목: “You've got mail from [사용자 IP] ([국가 이름])
- 유출 내용: 사용자 이메일, 패스워드, User Agent, 현재 시간, Host Name
- 파일 별 정보유출 메일주소는 [표 3] 참고
[표 7] 메일 내용
[표 8] 메일 헤더
이후 https://mail.[이메일 도메인]/member/login?t= 로 리다이렉트되어 사용자가 피싱 페이지에 정보를 입력한 것을 인지하기 어렵게 한다.
C. 하이웍스(hiworks)
메일 플러그 사용자 대상 피싱 페이지와 동일하게 해당 도메인에 업로드 된 파일 중 form을 입력 받는 파일은 존재하지 않지만, 하이웍스 사용자를 대상으로 정보를 수집 및 특정 이메일로 전송하는 파일이 있다.
사용자에게 유포된 피싱 파일은 동일한 도메인을 사용한 아래의 하이웍스 피싱 파일과 유사할 것으로 추정된다.
[그림 16] 하이웍스 피싱 페이지 (MD5: 104d4d05ae5aa4c4dd39d6cf97ff2c12)
하이웍스 사용자의 계정 정보를 유출하는 페이지인 wem/appeal/nas.php 파일 역시 wem/vale/him.php 와 동일하게 수집한 정보를 특정 메일 계정으로 전송하도록 구성되어 있다. POST method를 통해 요청된 경우가 아니면 Forbidden 문자를 출력한다. 수집된 정보는 “You've got a HI_WORKS message from [사용자 ip]” 제목으로 steveappeal77@gmail.com 에 전송하며, 이후 hxxps://xxx.hiworks.com/ 로 리다이렉트된다.
- 메일 제목: You've got a HI_WORKS message from [사용자 ip]
- 유출 내용: 사용자 ID, 패스워드, IP, Host Name, User Agent, Submit Time
- 파일 별 정보유출 메일주소는 표3 참고
[그림 17] nas.php 페이지 접속 시 화면
[표 9] 메일 내용
[표 10] 메일 헤더
D. 천리안
wem/chris/git.php 파일의 경우 앞서 설명한 하이웍스 사용자를 대상으로 한 피싱 페이지와 동일하며, 리다이렉트되는 주소가 hxxp://login.chol.com/authad.jsp으로 천리안 메일 계정 사용자를 대상 페이지로 추정된다.
[그림 18] 리다이렉트 주소
위에 설명한 피싱 파일들과 동일하게 사용자 이메일, 패스워드, IP, User Agent 등의 정보를 수집하여 ‘You've got a chol message from [사용자 ip]’ 제목으로 chriseuro512@gmail.com 에 전송한다.
- 메일 제목: You've got a chol message from [사용자 ip]
- 유출 내용: 사용자 이메일, 패스워드, IP, User Agent
- 파일 별 정보유출 메일주소는 표3 참고
[표 11] 메일 내용
[표 12] 메일 헤더
예방 및 진단 정보
보고서에 언급된 메일 서비스는 여러 기업에서 사용하고 있어 각별한 주의가 필요하다. 피싱 스크립트는 메일을 통해 유포되기 때문에 사용자들은 의심스러운 메일을 받게 된다면 첨부 파일의 실행을 지양해야 한다. 또한 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야한다.
파일 진단
Phishing/HTML.Generic
Phishing/PHP.Generic
Phishing/HTML.FakeGW
관련 IoC
파일
F8D608DAAC359EB78451508DC2E3AD77
F255DD1029C6E1F8F9DF429704C13E14
EFAD9B569B5AEB56A71D20D9BA1EF413
EF9DB4A366AA21BF918ED25414F84E7F
ED8D34D588C6C44FDD9804E5ACA88D7D
E74516705545047665D1DB616AA3F84F
DF8A3B386CA80D6AB25CFE8B01C1B2FF
DC3CF59CDD1778F2E1A257B1779E4754
D971155ED42A659DE31B842C55A0F189
D677635CC401DF5A1983EA2BA1E41687
C5A05E670851C66AAF4D2286AB2174D4
B8C0D5B2D3ED01F0545285E60BCEEB3B
B89E5D7BDABC08F94E30B39DBC0FD665
B3B7D8B10BB99D03A0B7806BC05C0B56
ACF38EEA4F419A21EEAF1049366319F8
AA8754434C902A1EC7AA6A5ABA3CFB4A
A719CFA77951577BD85698C0E1A6C8E4
A7045D3080BA26DDE7B6F1760CA48CC6
A2FE244AAF0EB4AB2A10FE869F412031
9E55772D51B0BD2708BAF56177D23D37
9C56571213E2DAD43B43E9F6E97F0E31
9108D52B0D598D09385AC90F73A73A10
90BCE5182F8B0A011CDA003162FC5BFB
901F61246575445A3B73C98E3E0EE12A
89A5FB5CEE9167999ADD44F08C27F1D5
7EE3E560003D69AD21395B3C02439659
7D2C13CDC0367F7A1196132BEB5C7092
7B8F7A137B9370F8793E8C656A4881D2
7A9C70E6F0673F42B01971C4851B39CA
6F398D5CD90F610CD0215579361103A2
6C62C7F894130344DA3BC464A830B72E
64E8AB180147A95FD1B862DFEE84A8A1
5A44EC51689D7FCE81BDFBDB02899A93
4C0E44477B326600AB210862253355CE
4B46C5F78A9D5BCCC3A9F83A47880573
4AA3D1AE375B7DA75D592293095BC64E
480F54237CE2D07D28DFD4EB249F497A
4780E8BFDE75B8C549837CAC991E5270
34CC7223D94BF55A0958D4092B16F6A2
2DE668B1F8BC757F5B3158C7C0FB6257
29C70DAB47221F418BFCF9F56D0D54C5
20D70BA1DFED279E7684E88D18F3CA20
1B39FBF2123C967B857D59BA7787744C
15B06706E87AF552E9A059ADAE8040AD
0B39FDD4A7965BF9CF847A4285DC3F05
03E2BF06AF2D98E3F3572D8507FE6709
02B6FAA3BEEC0CF49BE920A596D30614
A4C9A5E11A517B7FA04CC4C0A2A5B0E6
104D4D05AE5AA4C4DD39D6CF97FF2C12
정보유출 메일주소
steveappeal77@gmail[.]com
chriseuro512@gmail[.]com
vnalu09@gmail[.]com
owemsgnaver@gmail[.]com
mabamimykel1@gmail[.]com
ethangivan2001@gmail[.]com
stevencooperjp@gmail[.]com
codyronald904@gmail[.]com
favorlucky1@gmail[.]com
freshboss286@gmail[.]com
georgewealth657@gmail[.]com
greyscott1964@gmail[.]com
latinoworld0417@gmail[.]com
mariannelake.lake@gmail[.]com
mauriceesoybl10@gmail[.]com
oviemarho6@gmail[.]com
sampaul1777@gmail[.]com
welchma4@gmail[.]com
URL
hxxp://lukesbeautysalon.com/
hxxp://summerwalkersalon.com/
- AhnLabASEC분석팀 최유림 선임