애드윈드 악성코드의 역습
애드윈드(Adwind) 는 자바(Java)로 작성된 RAT(Remote Administration Tool)로, 윈도우(Windows)뿐만 아니라 리눅스, 안드로이드 운영체제에서도 동작하는 악성코드다. 최근 애드윈드 악성코드가 백신 프로그램(Anti-virus, AV)의 진단을 회피하는 우회 기법을 탑재하고, 유포 방식 또한 기존의 JAR 파일 형식 외에 워드(Word), PPT 파일 내부에 첨부된 형태 등 화려한(?) 복귀를 꾀하고 있다. 특히 애드윈드 악성코드가 사용자 PC에 유입된 이후 랜섬웨어 등의 악성코드 추가 감염을 유발하는 사례도 발견됐다.
이 글에서는 최신 애드윈드 악성코드 변종을 이용한 공격 사례와 감염 방식을 상세히 살펴본다.
애드윈드(Adwind)류의 악성코드는 지난 2012년에 제작 및 유포된 이후 언리콤(Unrecom), 제이소켓(JSocket), 에일리언스파이(AlienSpy) 등의 변종으로 파생되었다. 2014년 이후 범람하던 애드윈드 3.0(Adwind RAT v3.0)은 2015년 8월을 기점으로 개발 및 서비스가 종료되면서 추가적인 기능 업데이트는 나타나지 않았다. 이후 애드윈드 3.0은 크랙(Crack) 버전으로 생성되는 것이 대다수였으며, 대부분의 백신에서 진단됨에 따라 배포 수가 급격히 감소한 바 있다.

[그림 1] 애드윈드(Adwind) 악성코드의 변화
그런데 최근 백신의 진단 우회를 시도하는 애드윈드 변종들이 증가하고 있다. 감염 방식 또한 직접 JAR 파일을 배포하는 방식보다는 주로 OLE에 첨부하여 감염을 유발하는 사례들이 나타나고 있다.
애드윈드 3.0 변종
기존의 애드윈드 3.0 크랙의 경우 Allatori 난독화(Allatori Java obfuscator)되어 있었으나 최근에는 ZKM 난독화된 파일들이 지속적으로 유포되고 있다. 자바 난독화 부분이 변경되면서 자바 코드 실행을 위해 참조하는 상수 풀(Constant Pool)과 자바 코드가 변경된 것을 확인할 수 있었다. 악성코드 제작자의 빌더 소스코드가 유출되어 새로운 형태의 빌더가 제작되었거나, 공격자에 의해 난독화 부분이 변경된 것으로 추정된다.
[그림 2] 애드윈드(Adwind) 3.0
[그림 3], [그림 4], [그림 5]는 각각 애드윈드 원형과 변종의 메인 상수 풀(Main-Class Constant Pool)이다(발견 시기 기준).
- 애드윈드 3.0 원형 - Allatori |

[그림 3] 애드윈드 3.0 기본 원형
[그림 4] 백신 진단 우회를 위해 클래스 분할
[그림 5] 애드윈드 최신 변종(ZKM 난독화)
이메일 첨부 파일 종류별 애드윈드 악성코드 유포 사례
1. 워드(Word) 파일
악성코드 제작자는 워드(Word) 파일에 애드윈드 악성코드를 첨부한 후 이메일로 전송했다. 사용자가 이메일에 첨부된 워드 파일을 열면 [그림 6]과 같이 엑셀 아이콘을 가진 문서가 나타난다. 이때 사용자가 별다른 의심없이 이 엑셀 아이콘을 더블 클릭하면 애드윈드 악성코드에 감염된다. 즉, 실제 첨부된 파일은 엑셀 파일이 아닌 엑셀 아이콘으로 위장하고 있던 애드윈드 악성코드로, 확장자는 ‘Jar’이다.

[그림 6] 애드윈드 악성코드가 첨부된 워드 파일
[그림 6]의 엑셀 아이콘을 더블 클릭하면 애드윈드 악성코드가 특정 경로에 생성 및 실행된다. 해당 경로는 제작자가 미리 지정해둔 것이며, 감염 과정이 정상적으로 이뤄지고 나면 공격자는 사용자 PC를 장악할 수 있다.
[그림 7] 엑셀 아이콘 더블 클릭 시 나타나는 화면
OLE 파일의 내부 엔트리(Entry)를 확인해보면, 아래와 같은 경로에 애드윈드 악성코드가 삽입되어 존재한다.
\Word\embeddings\oleObject1 Directory |
[그림 8] 워드 루트 디렉터리(Word Root Directory)
[그림 9] Root \Word\embeddings
[그림 9]의 OleObject1.bin은 PK 형식을 가진 OLE 객체이며, 내부 엔트리 중 [1]Ole10Native에 애드윈드를 포함하고 있다.
[그림 10] 애드윈드를 포함하고 있는 [1]Ole10Native
[그림 11] 애드윈드 “Root\load Directory” 클래스 및 복호화 파일
[그림 12] [1]Ole10Native 파일 바이너리(Binary)
[1]Ole10Native 내부에는 아래와 같이 애드윈드가 생성 및 실행될 위치가 명시되어 있다.
- 생성되는 Jar 파일: siparisler.jar |
2. PPT 파일
사용자가 이메일에 첨부된 PPT 파일을 열면 특정한 페이지(슬라이드)에 [그림 13]과 같이 그림 파일로 위장한 아이콘이 나타난다. 앞선 사례와 마찬가지로 사용자가 이미지 확인을 위해 해당 아이콘을 더블 클릭하면 첨부되어 있던 애드윈드(확장자 Jar)가 특정한 경로에 생성 및 실행된다.
[그림 13] PPT 파일 내부에 첨부된 애드윈드

[그림 14] 이미지 더블 클릭 시 나타나는 화면
이때 애드윈드는 앞선 사례와 유사한 위치에 존재하고 있다. 루트 디렉터리는 [그림 15]와 같으며, 첨부된 애드윈드는 아래 경로에 존재한다.
ppt\embeddings\oleObejct1\[1]Ole10Native |
[그림 15] PPT 루트 디렉터리
[그림 16] Root\ppt\embeddings
[그림 16]의 OleObject1.bin은 PK 형식을 가진 OLE 객체이며, 내부 엔트리 중 [1]Ole10Native에 애드윈드를 포함하고 있다.

[그림 17] [1]Ole10Native 바이너리
[1]Ole10Native 내부에는 애드윈드가 생성 및 실행될 위치가 명시되어 있다.
- 생성되는 Jar 파일: siparisler.jar |
최근 유포되고 있는 애드윈드 악성코드는 기존과 같은 JAR 단독 파일 형태가 아닌 OLE 형태가 주를 이루고 있다. 따라서 출처가 불분명한 워드 또는 PPT 파일은 가급적 열어보지 않는 것이 바람직하다. 특히 이들 파일 내부에 적절치 않은 아이콘 파일이 있을 경우 절대 실행하지 않도록 유의해야 한다. 또한 기본적으로 이메일의 첨부 파일은 열어보기 전에 백신을 이용해 검사하고, 백신 엔진을 주기적으로 업데이트하는 습관이 필요하다.
- AhnLab분석팀 김승훈 주임