{
	"id": "23adb184-0914-4d16-b245-c0d4e164cdd4",
	"created_at": "2026-04-06T00:20:12.118163Z",
	"updated_at": "2026-04-10T03:21:18.24165Z",
	"deleted_at": null,
	"sha1_hash": "8d9dfe2e77d1e0714553c0e7f38ad812756f0f82",
	"title": "Trojan.Android.SmsAgent 악성코드 분석 보고서",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 109559,
	"plain_text": "Trojan.Android.SmsAgent 악성코드 분석 보고서\r\nBy 알약(Alyac)\r\nPublished: 2019-02-18 · Archived: 2026-04-05 13:02:28 UTC\r\n안녕하세요. 이스트시큐리티 사이버 위협 인텔리전스(CTI) 전문조직인 시큐리티대응센터 (이하 ESRC)입\r\n니다.\r\n스미싱 악성앱 처럼 대량으로 유포되진 않지만 꾸준히 제작되어 유포되고 있는 Trojan.Android.SmsAgent\r\n에 대하여 알아보도록 하겠습니다.\r\nTrojan.Android.SmsAgent는 중국에서 제작된것으로 추정되며 스파이 기능을 수행하는 악성앱입니다. 주요\r\n기능은 피해자의 사생활을 감시하는 것입니다. \r\n스파이류의 악성앱들은 설치 될 경우 피해자가 이를 인지하기 어려울 정도로 은밀하게 동작합니다. 설치\r\n후 피해자가 스마트폰 사용 시 아무런 이상을 찾을 수 없도록 동작 합니다. 과거 스마트폰의 사양이 좋지\r\n않았을 때는 스파이류의 악성앱들이 설치될 경우 스마트폰이 느려지거나 행이 걸리는 경우가 많아 체감\r\n으로도 알 수 있었습니다. 그러나 스마트폰의 사양이 갈수록 좋아짐에 따라 체감으로도 이상징후를 감지\r\n하기 어렵게 되었습니다. 따라서 악성앱이 설치될 경우 피해자가 인지하지 못하는 사이 주요 사생활 정보\r\n가 공격자에게 노출되며 심지어 기밀 정보를 탈취 당할 수도 있습니다. 공격자는 이를 이용한 2차 공격을\r\n가하거나 탈취한 기밀 정보를 활용할 수도 있을 것입니다.\r\nTrojan.Android.SmsAgent의 특징을 살펴본 후 코드분석을 통해 보다 자세히 살펴 보도록 하겠습니다. \r\nhttps://blog.alyac.co.kr/2128\r\nPage 1 of 10\n\nTrojan.Android.SmsAgent의 특징은 첫째로 해외에서 유포되기 시작하여 2017년부터는 국내에서도 본격적\r\n으로 유포되기 시작했으며 둘째로 스파이 기능만을 위해 제작 되었다는 점입니다.\r\n다음 그림은 Trojan.Android.SmsAgent가 사용하는 C2들의 IP를 수집하여 정리한 것입니다. 시간 흐름으로\r\n정리하여 과거부터 최근까지 C2의 IP 사용 흐름이 표현되어 있습니다.\r\n[그림 1] Trojan.Android.SmsAgent의 C2 IP history\r\n그림을 살펴보면 2014 ~ 16년 사이의 C2는 해외에 위치하고 있음을 알 수 있습니다. 그러나 2017년부터 현\r\n재까지의 C2위치는 국내에 위치하고 있음을 알 수 있습니다. 따라서 Trojan.Android.SmsAgent가 국내를 타\r\n겟으로 유포되고 있음을 추정 할 수 있겠습니다. 그리고 Trojan.Android.SmsAgent는 기능의 변화없이 C2의\r\nIP만 변경하여 유포 하기에 다수의 IP가 발견되지만 특정 대역을 이용하고 있다는 것을 알 수 있습니다. 이\r\n로 미루어 상대적으로 보안이 취약한 웹호스팅 업체의 서버를 이용하는 것으로 추정되며 IP 소유자를 통\r\n해 이를 확인 할 수 있습니다.\r\nTrojan.Android.SmsAgent는 2014년에 발견된 초기 버전에서 스파이 활동에 필요한 기능이 대부분 구현되\r\n어 있었습니다. 그리고 2015년 이후의 개량된 버전에서는 일부 기능을 제거하고 분석을 어렵게 하기 위한\r\nobfuscation이 적용되었습니다. 초기 버전부터 스마트폰에서 구현할 수 있는 스파이 기능이 모두 구현 되어\r\n있었기에 별다른 코드의 수정없이 C2 서버의 IP만 변경하여 지속적으로 유포되고 있습니다. 최근 발견되\r\n고 있는   Trojan.Android. SmsAgent도 일부 코드의 변경이 있으나 대부분의 코드가 같으며 C2의 IP만 변경\r\n하여 유포하고 있습니다.\r\nTrojan.Android.SmsAgent의 스파이 기능은 공격자의 의도에 따라 작동하도록 되어 있으며 다양한 정보 탈\r\n취를 목적으로 하고 있습니다. 코드 분석을 통해 이런 내용들을 살펴 보도록 하겠습니다.\r\nTrojan.Android.SmsAgent 설치 시 피해자에게 노출되는 기기의 변화는 다음 그림에서 보이듯 ICON 생성이\r\n전부 입니다.\r\nhttps://blog.alyac.co.kr/2128\r\nPage 2 of 10\n\n[그림 2] Trojan.Android.SmsAgent ICON\r\n설치 후 실행을 위해 ICON 클릭 시 블랭크 화면을 잠시 노출 후 사라집니다. 이후 악성앱은 은밀하게 공격\r\n자의 명령을 대기하고 수행하게 됩니다. \r\n다음 그림은 초기 버전과 최근 버전의 클래스 구성 차이점을 보여 주고 있습니다.\r\nhttps://blog.alyac.co.kr/2128\r\nPage 3 of 10\n\n[그림 3] 초기 vs 최근 클래스 구성 차이점\r\n그림에서 보이듯이 난독화 적용으로 클래스의 이름 직접적으로 비교 할 수 없으나 주요 패키지가 같으며\r\n엔트리 클래스와 함께 시작되는 BootService, PhoneListenerService등이 같음을 알 수 있습니다. 실제 코드\r\n내용도 대동소이 합니다.\r\n다음은 C2의 IP가 기록된 파일입니다.\r\n[그림 4] C2 IP가 기록된 파일\r\n유포되는 변종들은 그림에서 보이는 파일에 있는 C2의 IP만 변경되어 유포되며 간혹 코드의 일부나 기능\r\n의 증감이 있습니다.\r\n다음은 탈취 정보를 저장하는 보조 서버의 도메인입니다.\r\n[그림 5] 보조 서버 도메인\r\n악성앱은 탈취정보를 C2와 보조 서버에 저장합니다. 공격자는 혹시 모를 메인 C2의 다운에 대비하여 보조\r\n서버를 사용하는 것으로 보이며 보조 서버의 도메인은 초기 버전부터 현재까지 바뀌지 않고 동일하게 사\r\n용하고 있습니다.\r\n다음 그림은 보조 서버인 g0oo0gle.com 도메인의 IP history 입니다.\r\n[그림 6] g0oo0gle의 IP history\r\n2016년 기록은 없으나 꾸준히 운영 되고 있음을 알 수 있습니다. Vslang.f3322.org는 도메인의 IP history를\r\n알 수 없어 생략 하였습니다. 그러나 서버는 운영 되고 있음을 확인 하였습니다.\r\n다음은 악성앱 동작 시 C2에 접속하는 코드 입니다.\r\nhttps://blog.alyac.co.kr/2128\r\nPage 4 of 10\n\n[그림 7] C2 접속 코드\r\n다음은 C2에 피해자 정보를 등록하는 코드 입니다.\r\n[그림 8] 피해자 정보 등록 코드\r\n등록하는 피해자 정보는 다음과 같습니다.\r\n-       제조사 정보\r\n-       기기 메모리 정보\r\n-       OS 릴리즈 버전\r\n-       네트워크 상태\r\n-       피해자 전화 번호\r\n다음은 제조사와 OS 릴리즈 정보를 수집하는 코드 입니다.\r\n   \r\nhttps://blog.alyac.co.kr/2128\r\nPage 5 of 10\n\n[그림 9] 제조사와 릴리즈 버전 수집 코드\r\n다음은 네트워크 상태 정보를 수집하는 코드 입니다.\r\n[그림 10] 네트워크 상태 정보 수집 코드\r\n다음은 기기 메모리 정보를 수집하는 코드 입니다.\r\n[그림 11] 기기 메모리 정보 수집 코드\r\n다음은 피해자 전화번호를 수집하는 코드 입니다.\r\n[그림 12] 피해자 전화번호 수집 코드\r\n악성앱은 피해자 정보를 등록 후 공격자의 명령을 기다리며 대기 하고 있습니다.\r\n다음은 공격자의 명령을 처리하는 코드의 일부입니다.\r\nhttps://blog.alyac.co.kr/2128\r\nPage 6 of 10\n\n[그림 13] 공격자 명령 처리 코드\r\n다음은 그림 12의 코드에서 처리되는 명령 코드 리스트 입니다.\r\n[그림 14] 명령 코드 및 수행 내용\r\nhttps://blog.alyac.co.kr/2128\r\nPage 7 of 10\n\n위의 명령 리스트에서 주요 명령 몇가지를 살펴보도록 하겠습니다.\r\n다음 그림은 코드 8번 위치정보를 탈취하는 코드입니다.\r\n[그림 15] 위치정보 탈취 코드\r\n그림을 살펴 보시면 악성앱은 위치정보를 탈취하기 위해 중국의 검색 엔진인 baidu의 위치 서비스를 이용\r\n하고  있습니다. 이는 초기 버전부터 변함이 없습니다. \r\n다음 그림은 코드 10번 외부 스피커 녹음을 수행하는 코드입니다.\r\n[그림 16] 외부 스피커 녹음 제어 코드\r\n코드 10번은 공격자의 명령에 따라 녹음 시작, 중지 등을 수행하며 Anserver라는 폴더에 저장합니다. 이후\r\n코드 3번 명령 실행 시 C2 서버로 전송하게 됩니다.\r\n다음 그림은 코드 14번 사진을 촬영하는 코드입니다.\r\nhttps://blog.alyac.co.kr/2128\r\nPage 8 of 10\n\n[그림 17] 사진 촬영 코드\r\n코드 14번은 공격자의 명령에 따라 피해자의 위치에서 사진을 촬영하게 되며 녹음 파일과 마찬가지로\r\nAnserver 폴더에 사진을 저장하게 됩니다. 코드 3번 명령 실행 시 C2 서버로 전송 됩니다.\r\n다음 그림은 SMS를 실시간으로 수집하는 코드입니다.\r\n[그림 18] 실시간 SMS 탈취 코드\r\n이번에 분석한 스파이 악성앱은 스파이 역할에 특화되어 있습니다. 그리고 이런 악성앱들이 꾸준히 유포\r\n되고 있다는 점은 우려되는 부분입니다. 위의 코드분석에서 스파이 기능을 살펴 보셨듯이 민감한 사생활\r\n정보를 탈취 당할 수 있기 때문입니다.\r\n이런 악성앱에 대응하기 위해 사용자의 보안의식 재고가 필요하며 알약M과 같은 신뢰 할 수 있는 백신의\r\n사용이 필요합니다. 그리고 문자나 SNS의 링크 연결 시 그리고 앱 설치 시에도 주의가 필요합니다.\r\nhttps://blog.alyac.co.kr/2128\r\nPage 9 of 10\n\n[그림 19] 알약M 실시간 탐지\r\n현재 알약M에서는 해당 앱을 “Trojan.Android.SmsAgent” 탐지명으로 진단하고 있습니다.\r\nSource: https://blog.alyac.co.kr/2128\r\nhttps://blog.alyac.co.kr/2128\r\nPage 10 of 10",
	"extraction_quality": 1,
	"language": "KO",
	"sources": [
		"Malpedia"
	],
	"references": [
		"https://blog.alyac.co.kr/2128"
	],
	"report_names": [
		"2128"
	],
	"threat_actors": [],
	"ts_created_at": 1775434812,
	"ts_updated_at": 1775791278,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/8d9dfe2e77d1e0714553c0e7f38ad812756f0f82.pdf",
		"text": "https://archive.orkl.eu/8d9dfe2e77d1e0714553c0e7f38ad812756f0f82.txt",
		"img": "https://archive.orkl.eu/8d9dfe2e77d1e0714553c0e7f38ad812756f0f82.jpg"
	}
}