이번 주에 한 일
- Anubis 다운로드
- Frida를 통해 에뮬레이터 내용 가로채기(동적분석)

우분투 내에서 MalwareBazaar에서 tag:anubis로 검색한 후, 위 사진의 두 번째로 보이는 샘플을 다운받았다.

zip 폴더의 패스워트는 infected 라는 설명이 나온다.

버추얼박스 설정에서 포트포워딩 규칙을 추가해주었다. 규칙은 다음과 같다.
- 이름: adb
- 프로토콜: TCP
- 호스트 IP: 127.0.0.1
- 호스트 포트: 5555
- 게스트 포트: 5555

그 후 우분투로 들어와 adb connect 명령어를 통해 호스트(10.0.2.2)의 에뮬레이터와 연결해주었다.
successfully 메시지가 아래에 뜨면 성공한 것이다.

그 후, 우분투에서 아까 다운받은 zip 파일의 압축을 푼다.

압축을 푼 apk 파일이 있는 곳으로 이동해서 에뮬레이터에 push 명령어를 이용해 전송한다.
그 후, install 명령어를 통해 apk 파일을 에뮬레이터 안에서 설치하도록 한다.

adb root 명령어를 이용해 root 권한을 얻어준다.
adb shell 명령어를 통해 내부의 셸에 접속한 다음, frida-server 실행 파일을 실행시킨다. &는 백그라운드에서 실행되도록 한다. 백그라운드에서 실행되므로 셸은 바로 반환된다.

시스템에 설치된 외부 앱 목록을 확인한다. 아마 첫 번째는 저번에 다른 악성코드 분석할 때 설치한 앱이므로 두 번째 앱인 것 같다.

frida -U -f com.eksctm.android 명령어를 이용해 com.eksctm.android 앱을 Frida로 실행한다. 위 사진과 같이 설치할 것인지 알림이 뜨고, install을 눌러 설치한다.

앱을 실행하면 위와 같이 권한 허용에 관해 물어본다. 모든 권한 허용을 해준다.

앱 내부는 위와 같이 생겼다.

실행 후, 지금 에뮬레이터 화면의 가장 맨 위에 떠 있는 앱이 무엇인지 확인하는 명령어를 입력하니 현재 실행 중인 앱의 이름이 바껴 있었다. 처음 리스트에서 com.eksctm.android는 이 본체를 안전하게 설치하기 위해 사용된 설치용 앱인 것 같고, com.racmeo.android가 이 악성코드의 본체인 것 같다.
- adb shell dumpsys window: 안드로이드 기기 내부에 접속하여 윈도우 매니저라는 서비스가 관리하는 모든 화면 구성 정보를 텍스트 형태로 길게 출력
- grep -E 'mCurrentFocus|mFocusedApp': 넘겨받은 수많은 텍스트 중에서 현재 사용자가 보고 있는 창(mCurrentFocus)과 시스템이 실행 중인 앱 정보(mFocusedApp)가 포함된 줄만 골라내어 보여줌

이미 실행 중인 앱(com.racmeo.android) 내부에 Frida라는 감시 장치를 심어서, 해당 앱이 StringBuilder라는 도구를 사용하여 문자열을 합치는 순간마다 그 내용을 가로채 화면에 출력한다.
(악성코드는 평소에는 단어를 쪼개서 저장하다가 프로그램이 실제로 돌아가는 순간에만 StringBuilder.append()를 사용해 조각들을 합쳐서 완성한다.)

에뮬레이터로 들어가 실행된 앱 입력칸에 아무값이나 입력을 하면 위와 같이 터미널에내부에서 문자열을 어떻게 조립하고 있는지 실시간으로 가로챈 결과를 보여준다. 로그는 아래와 같은 의미를 가진다.
- 컴포넌트 확인: 상단에 com.racmeo.android.MainActivity를 합치는 로그는 현재 어떤 화면이 활성화되어 있는지 기록하고 있는 것이다.
- 기기 정보 수집: 중간에 숫자 1080, 1380 같은 값들은 에뮬레이터나 스마트폰의 화면 해상도(가로/세로 크기) 정보를 가져와서 문자열로 만들고 있는 과정이다.
- 웹뷰(WebView) 탐색: 로그 하단에 webview, app:id/webview 같은 단어들이 조립되는 것을 볼 수 있다. 이는 이 악성코드가 앱 내부의 웹 브라우저 화면을 통해 무언가 조작하거나, 사용자에게 가짜 페이지를 보여주려고 준비 중임을 의미한다.
- 식별값 생성: c78c38c, 7f0800c6 같은 알 수 없는 코드값들도 보입니다. 이는 감염된 기기를 식별하기 위해 고유한 ID 값을 생성하거나 특정 리소스를 지칭하는 번호를 조립하는 과정이다.
'악성코드' 카테고리의 다른 글
| 7주차_Jadx(2) (0) | 2026.05.25 |
|---|---|
| 6주차_Jadx(1) (0) | 2026.05.18 |
| 4주차_학습용 악성코드 동적분석 (0) | 2026.04.02 |
| 3주차_학습용 악성코드 정적분석 (0) | 2026.03.29 |
| 2주차_악성코드 분석 툴 (0) | 2026.03.23 |