최근 국내 사용자를 대상으로 모바일 악성 앱 “SoumniBot”을 유포해 디지털 인증서를 탈취하는 캠페인이 발견됐다. 디지털 인증서는 국가에서 일반 국민을 대상으로 발급하는 전자 서명용 공인 인증서로, 서버와 클라이언트 간의 신원을 확인하고 송수신되는 네트워크 데이터를 보호하는데 사용된다. 이번 캠페인에서 활용된 “SoumniBot”은 모바일 부고장 또는 민원 목적 등의 정상 앱으로 위장해 사용자의 설치를 유도한다. 이후, 감염된 디바이스의 NPKI 폴더에서 디지털 인증서와 개인키 파일을 훔치며, 이로 인한 인증서 유출은 심각한 추가 피해를 야기할 수 있어 주의가 필요하다.
민원APP으로 위장한 “SoumniBot”을 실행하면 사용자에게 연락처, SMS 메시지 및 저장소 등에 접근할 수 있는 권한을 요청하며, 해당 권한을 획득 후 백그라운드에서 정보 수집과 C&C 서버 연결 등의 동작을 수행한다.
“SoumniBot”에는 Application 클래스를 상속받는 하위 클래스가 정의돼 있으며, [그림 2]의 AndroidManifest.xml 파일에서 해당 클래스의 이름을 확인할 수 있다. Application은 전역 응용 프로그램 상태를 유지하는 기본 클래스로 Application 클래스 또는 Application의 하위 클래스는 앱 프로세스가 생성될 때 가장 먼저 초기화된다.
Application을 상속받은 하위 클래스는 APK 내의 Assets에 포함된 데이터를 복호화해 Dex 파일로 드롭한다. 이후, 클래스 로더를 이용해 Dex 파일을 로드하고 실행한다.
실행된 Dex 파일은 사용자 디바이스에서 디바이스 정보, 연락처 및 SMS 메시지 등의 정보를 수집하며, 추가로 다음 경로에서 디지털 인증서 파일을 찾는다. [그림 4]는 디지털 인증서 수집 코드로, 코드 사이에 삽입된 더미 데이터를 제거한 후 실제 실행과 관련된 코드를 재조합했다.
- 디지털 인증서 저장 경로 : /storage/emulated/0/NPKI/yessign/
NPKI 폴더에서 디지털 인증서를 발견하면 해당 파일을 ZIP 아카이브로 압축해 다음 경로에 저장한다.
- ZIP 아카이브 저장 경로 : /storage/emulated/0/NPKI.zip
정보 수집이 완료된 후, 공격자가 운영하는 C&C 서버와 통신해 [표 1]의 명령 코드를 수신하고 코드에 따른 추가 동작을 수행한다. 단, 분석 시점에서 서버와 연결되지 않아 실제 동작은 확인되지 않는다.
“SoumniBot” 악성 앱은 감염된 디바이스에서 디지털 인증서를 탈취하며, 공격자는 이를 악용해 피해자의 온라인 뱅킹 서비스에 접근할 수 있어 주의가 필요하다. 단, 안드로이드 버전 11부터 구글 보안 정책이 변경돼 NPKI 폴더 접근이 제한된다. 따라서, 출처가 불분명한 앱의 설치를 지양하고 OS를 최신버전으로 유지할 것을 권고한다.
'분석 정보 > 모바일 분석 정보' 카테고리의 다른 글
구글 플레이 업데이트로 위장한 Antidot (2) | 2024.07.25 |
---|---|
메신저 앱에서 정보를 탈취하는 VajraSpy (0) | 2024.02.16 |
대출 앱으로 위장한 정보탈취 앱, SpyLoan (0) | 2024.01.03 |
지역 뉴스 앱으로 위장한 Kamran 스파이웨어 (0) | 2023.12.06 |
데이팅 앱을 위장한 Arid Viper의 공격 (0) | 2023.11.10 |