러시아와 북한 파트너십 논문으로 위장한 APT 공격 주의
안랩은 최근 국내 사용자를 노린 APT 공격 정황을 발견했다. 공격자는 깃허브(GitHub) 리포지토리를이용했으며, 해당 리포지토리에는 공격에 사용되는 다수의 악성 스크립트와 미끼 파일이 업로드 돼 있는 것으로 확인됐다. 업로드 된 다수의 악성 스크립트를 통해 공격자는 악성 행위를 수행하며, 최종적으로 사용자의 정보를 탈취하는 것으로 알려졌다. 해당 공격 과정을 자세히 알아보자.
공격자는 악성 행위가 지속적으로 수행되도록 악성 스크립트를 Runkey에 등록해 실행했으며, 더 정교한 공격을 수행하기 위해 파일 속성과 권한 등을 변경하는 기능을 추가했다.
[그림 1] 공격자의 깃허브 리포지토리
악성코드 분석
1. 동작 과정
[그림 2] 전체 동작 과정
최초 유포 경로는 알 수 없으나, 자사 ASD(AhnLab Smart Defense) 인프라 로그를 기반으로 확인한 공격 흐름은 [그림 2] 와 같다. 상위 유포 파일은 EXE 로 확인됐으며, 공격 과정에서 깃허브 리포지토리를 이용하고 있다. 최종적으로, 공격자의 FTP 서버로 사용자의 정보가 탈취되는 형태이다.
[그림 3] 리포지토리 최초 생성
[그림 4] 피해자 추정 PC에서 탈취된 데이터
리포지토리는 7월 26일에 최초로 생성됐으며, 8월 13일에 다수의 악성 스크립트가 생성된 것을 확인할 수 있다. 또한, 해당 리포지토리를 지속적으로 모니터링한 결과, 공격자는 현재까지도 업로드 된 파일을 주기적으로 업데이트하고 있으며, 피해자 추정 PC에서 탈취된 데이터도 업로드 되는 것으로 확인했다.
[그림 5] 미끼 파일 (1)
[그림 6] 미끼 파일 (2)
공격자의 리포지토리에는 미끼 파일로 사용되는 정상 문서도 함께 존재했다. 미끼 파일은 총 2개 워드문서로, 하나는 러시아와 북한 파트너십에 관한 논문이며, 다른 하나는 해당 논문에 대한 리뷰 양식 문서다. 공격 과정에 사용된 파일별로 분석한 내용을 정리하면 다음과 같다.
2. 파일별 분석
2.1. EXE
[그림 7] 실행 명령어
상위 유포 파일은 PE 형태이며 “[심사용]whither_goes_russia-dprk_partnership.exe” 명으로 유포됐다. 해당 파일은 cmd 명령어를 통해 난독화된 파워셸(PowerShell) 명령어를 실행하며, 파워셸 명령어의 기능은 공격자의 리포지토리에 업로드된 second.txt를 실행한다.
● URL
hxxps://raw.githubusercontent[.]com/[공격자계정명]/main/second.txt
2.2. second.txt
[그림 8] 난독화된 파워셸 명령어
second.txt 는 난독화된 파워셸 명령어로 동일한 리포지토리에 업로드된 third.txt 를 실행한다.
● URL
hxxps://raw.githubusercontent[.]com/[공격자계정명]/main/third.txt
2.3. third.txt
[그림 9] 사용자 정보 탈취
third.txt 는 크게 2가지 기능을 수행한다. 먼저, 사용자 정보를 수집해 공격자의 FTP 서버에 업로드한다. 그런 다음 “%AppData%\ini.bat” 경로에 파일을 생성한 후 RUN 키를 등록해 감염 대상 시스템 내부에서 악성 스크립트가 지속적으로 실행되도록 한다.
[표 1] 탈취 정보
[그림 10] ACL 지정
이때 추가된 기능으로 “ini.bat” 파일에 대한 속성과 권한 등을 변경한다. 파일 소유자를 NT Authority\SYSTEM (System 계정)으로 변경하고 “C:\Windows\System32\intl.cpl” 파일에 대한 ACL을 “ini.bat” 파일에 지정한다.
[그림 11] 변경된 권한
지정된 권한을 확인해보면, 읽기 및 실행 권한만 부여된 것을 알 수 있으며, 쓰기나 수정이 불가하다. 공격자는 해당 스크립트가 지속적으로 동작하도록 하기 위해 파일 수정이나 삭제 등을 방해하려고 한 것으로 보인다.
2.4. ini.bat
[그림 12] 난독화된 파워셸 명령어
Run 키에 등록되어 실행되는 ini.bat 은 cmd 명령어를 통해 난독화된 파워셸 명령어를 실행하며, 파워셸 명령어의 기능은 동일한 리포지토리에 업로드된 rest.txt를 실행한다.
● URL
hxxps://raw.githubusercontent[.]com/[공격자계정명]/main/rest.txt
2.5. rest.txt
[그림 13] 사용자 정보 탈취
rest.txt 는 third.txt 의 사용자 정보 탈취 기능과 동일하다. 현재까지 확인된 기능은 정보 탈취 기능만 존재하지만, 업로드 된 파일이 변경될 경우 다양한 악성 행위를 수행할 수 있다. 리포지토리를 모니터링하는 과정에서 확인한 것처럼, 악성 스크립트를 주기적으로 업데이트하는 것으로 보아, 공격자는 공격 당시 원하는 기능이 포함된 스크립트로 변경할 가능성이 크다. 특히, 리포지토리에 업로드된 파일을 실행하는 악성 스크립트가 Run 키에 등록돼 실행되므로, 언제든지 공격자가 원할 때 악성 파일이 실행될 수 있다.
출처 : AhnLab