AXIOM

[AXIOM] 모바일 아티팩츠 분석기능 (9)

도깬리 2023. 4. 23. 07:36

안녕하세요. 도깬리 포렌식스 입니다.

오늘은 루팅(Rooting)에 대해 알아보겠습니다. 모두 화이팅 하세요!!!

 

Rooting

iOS에서의 탈옥(jailbreaking)과 비슷한 개념입니다.

루팅(rooting)은 디바이스의 시스템 파일에 대한 root레벨 또는 상위 사용자 권한을 획득하는 것 입니다.

기본적으로, Android는 대부분의 핵심 저장소(/data/)를 잠금 해둡니다.

따라서, SMS 데이터베이스와 같은 조사에 중요한 파일을 획득하기 위해서는 이러한 제한을 회피하거나 제거하여야 합니다.

 

그림참조 : https://www.nextpit.com/how-to-root-your-device-without-voiding-the-warranty

 

root level process는 일반적으로 보안 취약점 공격(security exploit)을 이용하여 서명되지 않거나 맞춤형 코드를 실행함으로써 이러한 권한을 상승시킬 수 있습니다.

이런 것을 수행하는 표준화된 방법은 없습니다. 왜냐하면 취약점이라는 것은 하나의 디바이스 안에 특정한 하드웨어를 기반으로 하기 때문입니다.

만약 디바이스가 최종 사용자나 제3의 도구에 의해 루팅이 된다면, SuperSU와 같은 secondary gateway 어플리케이션이 될 수 있습니다.

SuperSU : 루트 접근을 원하는 어플리케이션에 대한 permission manager로써 기능을 합니다.

 

root에는 2가지 형태가 있습니다.

 

shell root

임시 root 입니

디바이스가 재부팅될 때 까지만 유지됩니다.

이런 유형의 root는 좀더 포렌식적으로 안전한(forensically sound) 것으로 간주되기 때문에 포렌식 분야에서 가치를 인정받고 있습니다.

다만 3의 해커나 개발자들에 의해 개발이 덜 된 측면이 있습니다.

왜냐하면 대부분의 최종 사용자들은 디바이스를 사용하는 내내 root를 유지하는 것을 원하기 때문입니다.

 

permanent root

3의 루팅 기술에서 훨씬 더 잘 알려진 기법입니다

) KingRoot, KingoRoot, PingPong Root, StumpRoot 등등

이런 도구들은 특정 디바이스, 특정한 운영체제 버전을 위해 만들어졌고 해당 디바이스의 파일시스템에 오래 지속되고 상당한 변경을 초래할 수 있습니다.

상당수의 root level 취약점 공격 도구들이 기본적으로 쓰기 방지가 된 시스템 파티션에 파일을 두려고 합니다.

이런 것을 하기 위해, 그것은 먼저 해당 디렉토리에서의 퍼미션 변경을 시도합니다.

만약 어떤 포렌식 도구가 자동으로 root를 획득할 수 없다면, 포렌식 조사자는 직접 스스로 취약점 공격(exploit)을 시도할 필요가 있습니다.

 

처음 시작은 개발자 포럼과 웹사이트(http://xda-developers.com)를 이용하는 것이 좋습니다.

모든 써드 파티 루팅 도구들이 모든 포렌식 과정을 염두에 두고 개발된 것은 아니라는 사실을 알고 있어야 합니다.

그것은 디바이스에서의 정보를 영구삭제하거나 변경할 수 있으며 사건에서 증거로 사용하기 이전에 테스트 디바이스에서 시험되고 검증되어야 합니다.

 

AXIOM2가지 방법 중 하나를 사용하여 디바이스에 대한 shell rooting을 시도할 것 입니다.

이러한 방법은 안드로이드 버전 4.4.2 까지의 보안 취약점(security exploits)을 목표로 할 것 입니다.

이것 이상의 모든 버전은 현재 AXIOM으로 루팅되지 않을 것 입니다.

AXIOM은 오로지 Shell root가 안전하게 이루어질 때만 루팅을 시도할 것 입니다.

그것은 영구적으로 루팅하는 것이 아님을 의미합니다.

 

AXIOM은 성공한 것에 대해서는 어떤 방법론이 시도되었는지 로깅합니다.

만약 디바이스가 AXIOM에 의해 루팅되지 않았다면, 이미징을 위해 AXIOM으로 다시 돌아가기 전에 써드 파티 도구를 사용해 볼 수 있습니다.

AXIOM Process가 디바이스에 가한 루팅을 제거하기 위해서는 단순히 재부팅하기만 하면 됩니다.

 

Artifacts in a Full Image

AXIOM에 의한 Full Image 획득은 안드로이드 디바이스에서의 각 파티션을 이미징하게 합니다.

이들 각각의 파티션은 전체 이미지 .raw 파일에 추가될 것 입니다.

대부분의 데이터는 userdata 파티션에서 나오는 반면, 다른 중요한 파티션으로 조사자가 검토해야 할 것은 다음과 같은 것이 있습니다.

- system

- cache

- recovery

 

AXIOM Examine에 로드되면, 파티션이 확장되고, 추가적인 다음과 같은 아티팩츠가 생성됩니다.

/data/app/

설치된 어플리케이션(APKs)에 대한 저장 공간입니다.

/data/app-private/

제조사/통신사에 의해 미리 설치된 어플리케이션을 위한 저장 공간입니다.

/data/data/

주요 사용자 데이터 저장 공간입니다.

/data/system/

핸드셋 잠금과 다른 보안 정보에 대한 저장 공간입니다.

/data/media/

내부(internal) 또는 에뮬레이트된(emulated) MicroSD 스토리지에 대한 마운트 지점 입니다.

/data/misc

Wi-Fi 프로필과 같은 로그를 위한 저장 공간입니다.

/data/user

디바이스에서의 모든 사용자에 대한 목록입니다.

/system/app-private

미리 설치된 어플리케이션을 위한 또 다른 저장 공간입니다.

/system/app

 

안드로이드 디바이스 메모리는 여러 개의 파티션으로 나뉘어져 있습니다. 디바이스가 얼마나 많은 파티션을 만들 수 있는가에는 제한이 없습니다. 이것은 일반적으로 디바이스마다 다릅니다. 디바이스에서 발견되는 일반적인 파티션은 다음과 같습니다.

- Data (Userdata)

- System

- Recovery

- Cache

- Modem

- Boot

- Etc

 

물리적 이미지는 일반적으로 이러한 각각의 파티션을 포함하는 전체 메모리 이미지를 획득하는 것 입니다.

Magnet Acquire는 디바이스에서의 모든 파티션을 포함하는 dd 명령어를 이용하여 하나의 단일한 이미지 파일을 획득합니다.

 

 

 

감사합니다. 오늘도 즐거운 하루 되세요.

"좋아요"와 "구독하기"는 힘이 됩니다.

참고문서 : Magnet AXIOM Examinations (AX200)