반응형

최근 우리 회사의 모바일 보안 솔루션 팀에서 흥미로운 업무 지원 요청을 받았다.

 

한 고객사의 게임에서 모드앱(해킹앱)이 발생했으며, 이를 분석해 달라는 요청이 왔다.

 

특히, 해당 모드앱은 LDPlayer, GameGuardian, Magisk, Hide the Magisk Manager APP 등

 

다양한 기능프레임 워크들을 사용하였다.

 

당연히 위의 환경으로 설정하게 되면 단말기 또는 Emulator는 루팅된 환경이 된다.

 

게임 앱 같은 경우 서비스 정책상 Emulator차단하게 되면 큰 단점으로 이어질 수 있기 때문에

 

대부분 허용해 준다.

 

하지만 여기서 가장 큰 문제점은 우리 회사에서 제공하는 보안 솔루션에서

 

최신 Magisk 27.0 버전을 탐지하지 못하고 있었다.

 

따라서 최신 Magisk 27.0 버전을 탐지할 수 있는 방법Magisk의 기능 중 하나인 DenyList

 

루팅 탐지를 우회하는 각종 모듈들을 탐지할 수 있는 방법에 대한 좋은 주제로 분석을 진행하게 되었다.

 

Magisk는 전 세계적으로 사용하고 있는 루팅 툴이다.

 

그러면 그만큼 패치가 자주 일어나고, 우회 - 탐지 - 우회 - 탐지가 반복적으로 발생한다.

 

따라서 Root causeMagisk 자체를 탐지하면 해결될 것 같았다.

 

이런 생각으로 분석을 진행하였다.

 

자세한 로직과 원리는 공개하지 못하지만,

 

최신 Magisk 27.0, Magisk, Hide Magisk Manager, DenyList, 루팅 탐지를 우회하는 각종 모듈 등을 

 

적용하여도 탐지할 수 있는 방법을 발견하게 되었다.

 

결과는 다음과 같다.

 

기본 Magisk 탐지인 com.topjohnwu.magisk를 탐지하는 경우이다.

 

이는 대부분의 모바일 보안 솔루션에서 탐지를 한다.

 

해당 방법은 우리 회사에서 만든 보안 솔루션에서도 탐지를 한다.

 

 

 

 

하지만 문제는 다음과 같이 Hide the Magisk Manager APP의 기능으로 Magisk 패키지명

 

랜덤으로 숨겨 버린 후, DenyList에 해당 앱을 추가하면 모바일 보안 솔루션에서 탐지를 하지 못하였다.

 

 

그 이유로는 첫 번째 같은 경우는 com.topjohnwu.magisk이라는 정해진 패키지명으로 설치가 되기 때문에

 

패턴으로 쉽게 탐지가 가능하지만,

 

위의 두 번째 같은 경우에는 Random Package Name설치가 되어 패턴으로는 알 수 없기 때문이다.

 

하지만 분석 끝에 탐지할 수 있는 방법을 발견하였고

 

아래와 같이 Random Package Name으로 설치된 Magisk를 탐지할 수 있었다.

 

 

 

끝으로 보안 업무를 주로 할 때 오펜시브(공격적) 경향이 강했다. (사실 오펜시브가 더 재밌었다.)

 

보안 취약점을 찾고 이를 악용해 시스템을 테스트하는 것이 주된 역할이었다.

 

하지만 이번 업무는 이전과는 달리 디펜시브(방어적) 측면에서 생각해야 하는 업무였다.

 

주 업무가 아닌 업무 지원 역할로이었기 때문에 처음에는 사실 힘들었다.

 

하지만, 지금 생각해 보면 새로운 경험을 쌓는 좋은 기회였던 것 같다.

 

거의 3주 동안 퇴근 후 주말 밤낮없이 분석을 진행했던 것 같다.

 

다른 접근 방식을 배울 수 있었고, 보안의 다양한 측면을 이해하는 데 큰 도움이 되었다.

 

앞으로도 이러한 경험을 바탕으로 조금 더 성장할 수 있을 것 같다.

 

탐지 로직은 더 추가할 예정이다.

반응형

'모바일 해킹 > AoS' 카테고리의 다른 글

[Mobile-CTF] KGB Messenger  (1) 2022.06.01
[UnCrackable AoS] Level 3  (0) 2022.03.24
[UnCrackable AoS] Level 2  (0) 2022.03.23
[UnCrackable AoS] Level 1  (0) 2022.03.23
[Android] NDK란??  (0) 2022.03.09
반응형

어느덧 모의 해킹 직무를 맡은 지 약 3년이 넘게 흘렀다.


지난 세월을 되돌아보면 정말 많은 일들이 있었다.


특히 기억에 남는 것은 모바일 애플리케이션 진단 업무를 처음 맡았을 때의 경험이었다.

 

당시에는 진단 방법에 대해 감을 잡기가 어려웠다.

 

내가 가지고 있는 모바일 분석 스킬은


대학원 시절 보안 관련 과목 프로젝트에서 Frida를 사용해본 경험이 전부였다.


그때도 남이 작성한 Frida Script를 실행만 할 줄 알았지, 직접 작성하거나 구조를 이해하지 못했다.


그저 남이 작성한 Script를 복사하고 실행하는 수준이었다.

 

졸업 후 모의해킹 회사에 입사하면서 처음으로 모바일 보안 솔루션이라는 존재를 처음 알게 되었다.


운이 좋게도 입사한 회사에서 모바일 진단 프로젝트를 많이 진행했고,

 

모바일 분석에 관심이 많은 분이 계셨다.


그분 덕분에 처음보다 많이 성장했지만,

 

여전히 모바일 보안 솔루션완벽히 분석하고 우회하기는 쉽지 않다.


아직도 이해가 안 되는 부분과 부족한 점이 많다고 생각한다.

 


여기서부터는 정말 개인적인 생각이지만


 

모의 해킹 직무를 맡으면서 이런 저런 사람들을 많이 만났는데

 

모바일 애플리케이션 진단을 제대로 할 수 있는 사람은 드물었다.


웹 모의해킹은 어느 정도 가능한 사람이 많지만, 모바일 진단까지 수행할 수 있는 사람은 많이 없었다.

 

사실 모바일 보안 솔루션 시간만 충분하다면 대부분 우회가 가능하다.


하지만 모의 해킹 직무는 일정이 항상 정해져 있다.


모바일 애플리케이션 한 개를 진단하는 데 주어지는 시간은 짧게는 3일, 길게는 5일이다.


이 짧은 시간 동안 환경 설정, 모바일 보안 솔루션 우회, 애플리케이션 진단, 보고서 작성까지 해야 한다.


그러다 보니 모바일 보안 솔루션 우회에 시간을 많이 빼앗겨 서비스 진단에 깊게 집중하기 어렵다.

 

그때부터 이런 고민이 들었다.

 


"모바일 보안 솔루션 우회에 시간을 쓰지 않고, 해당 서비스 진단에만 집중할 수는 없을까?"


 

그렇게 퇴근 후 약 10개월간 혼자 공부하고 연구하며

 

대부분의 국내 모바일 보안 솔루션을 우회 없이 진단할 수 있는 방법을 발견했다.

 

아직까지 계속 연구와 개발이 진행중이며, 1차 테스트로 개발이 완료 되었다.


각각의 보안 솔루션 탐지 로직을 분석하고 우회하는 방식이 아니라,


모든 모바일 보안 솔루션 탐지 로직의 공통적인 특징을 분석해 일반화된 우회 방법을 찾아냈다.


이를 통해 정해진 기간 내에 빠르고 정확하게 서비스 진단에 집중할 수 있는 환경을 만들었다.

 

크게 보면 루팅 우회Frida 우회라는 두 가지 방법이다.


진단 중 우회가 덜 된 부분이나 예상치 못한 탐지 로직이 발견되면 즉시 추가 우회를 진행하였다.

 

이렇게 별다른 작업 없이 모바일 애플리케이션을 진단할 수 있다.


이를 통해 분석 시간을 크게 단축하고, 서비스 진단에만 집중할 수 있는 환경을 만들었다.

 

아래는 당근이라는 애플리케이션에서 루팅된 단말기에서 frida -U -f  com.towneers.www 명령어로

 

Frida를 실행 시킨 모습이다.

 

반응형

+ Recent posts