JAR 서명 도구(jarsigner.exe)를 통해 실행되는 XLoader
최근 AhnLab SEcurity intelligence Center(ASEC)은 DLL Side-Loading 기법을 이용하는 XLoader 악성코드의 유포 정황을 확인했다. DLL Side-Loading 공격 기법은 정상적인 응용 프로그램과 악성 DLL을 같은 폴더 경로에 저장하여 응용 프로그램이 실행될 때 악성 DLL이 함께 동작하도록 하는 기법이다. 공격에 사용된 정상 응용 프로그램인 jarsigner는 Eclipse 재단에서 배포하는 IDE 패키지 설치 시 생성되는 파일로, JAR(Java Archive) 파일에 서명하는 도구이다.
확인된 바에 따르면 유포된 파일은 압축 파일 형태로 유포되며, 내부에는 정상 EXE 파일와 악성 DLL파일이 포함되어 있다. 이 중 “jli.dll”, “concrt140e.dll” 두 개의 파일만 악성 파일이다.

[그림 1] 압축파일에 포함된 파일
[그림 1]에서 보이는 정상 파일의 대부분은 Eclipse 재단의 유효한 인증서를 포함하고 있으나, 두 악성 파일은 서명되어있지 않다.
– jli.dll : 공격자에 의해 변조된 DLL 파일로 concrt140e.dll 복호화 및 인젝션 수행
– concrt140e.dll : 암호화된 페이로드 (XLoader 악성코드)
– Documents2012.exe : 정상 파일(jarsigner.exe)의 파일명 변경

[그림 2] 정상 파일에 서명된 인증서
Documents2012.exe 파일은 jli.dll 을 로드해 export 함수를 사용하는데, 정상 jli.dll과 달리 악성 jli.dll은 모든 export 함수의 주소가 동일하다. 따라서 로드된 악성 jli.dll의 임의 함수 호출 시 공격자가 작성한 함수가 실행된다.

[그림 3] 정상 jli.dll과 악성 jli.dll export 함수 목록 비교
함께 유포된 concrt140e.dll 파일은 암호화된 페이로드로, 공격 과정에서 복호화되어 정상 파일인 aspnet_wp.exe에 인젝션되어 실행된다. 인젝션된 악성코드는 XLoader로 사용자의 PC 정보, 브라우저 정보 등 민감정보를 탈취하며, 추가 악성코드 다운로드 등의 다양한 기능을 수행한다.
이처럼 공격자는 정상 EXE 파일을 통해 악성 DLL을 실행하도록 파일을 유포하고 있으므로, 사용자들은 실행 파일과 함께 유포되는 파일에 주의해야 한다.