외로운 Nova의 작업실

insecurebankv2 - 안드로이드 백업 취약점 본문

Mobile App Penetesting/Android App Vulnerability

insecurebankv2 - 안드로이드 백업 취약점

Nova_ 2023. 5. 26. 19:21

- 취약점 소개

안드로이드는 로컬 컴퓨터에 백업을 해놓을 수 있는 기능이 있습니다. 이때 백업 파일을 위변조할 수 있는 취약점이 있습니다.

 

- 취약점 진단

먼저 실제 백업을 해보겠습니다. adb를 이용해서 백업을 진행해줍니다. 원래는 전체백업이 이루어지지만 명령어를 사용해서 인시큐어뱅크 앱만 백업해줍니다.

adb backup com.android.insecurebankv2 -f insecurebankv2.ab

이러면 아래처럼 녹스에서 화면이뜹니다.

비밀번호 입력 안해도도되고 백업을 수행해줍니다.

이제 ab파일을 보기위해서는 어패킹을 해줘야합니다. 이때 사용되는 프로그램이 abe입니다. abe.jar파일은 아래에서 다운받을 수 있습니다.

https://github.com/nelenkov/android-backup-extractor/releases

 

Releases · nelenkov/android-backup-extractor

Android backup extractor. Contribute to nelenkov/android-backup-extractor development by creating an account on GitHub.

github.com

이 파일로 아래 명령어를 쳐줍니다.

java -jar abe.jar unpack insecurebankv2.ab insecurebankv2.tar

이제 tar파일을 풀어줍니다.

tar -xvf insecurebankv2.tar

그러면 아래apps 폴더가 생성됩니다.

r 폴더에서 preferences.xml파일을 열어줍니다.

serverip를 변조해보겠습니다.

이제 저장해주고 파일을 다시 tar 파일로 변경해줍니다. 이때 tar 응용프로그램은 cygwin64 오픈소서의 tar를 써줍니다.

https://www.cygwin.com/install.html

 

Cygwin Installation

Cygwin Get that Linux feeling - on Windows Installing and Updating Cygwin Packages Installing and Updating Cygwin for 64-bit versions of Windows Run setup-x86_64.exe any time you want to update or install a Cygwin package for 64-bit windows. The signature

www.cygwin.com

 

C:\cygwin64\bin\tar -cvf insecurebankv2_new.tar -P --files-from=insecurebankv2.list

이때 안드로이드는 백업할때 백업파일의 리스트가 같아야 백업할 수 있기때문에 리스트를 tar 파일에서 추출한후 그 리스트를 가지고 tar파일을 만들어줘야합니다. 추출은 아래와 같습니다.

tar -tf insecurebankv2.tar > insecurebankv2.list

이후 tar파일을 만들었으면 ab파일로 만들어줍니다.

java -jar abe.jar pack insecurebankv2_new.tar insecurebankv2_new.ab

이후 복원해줍니다.

adb restore insecurebankv2_new.ab

이제 들어가보면

변조가 되어있음을 알 수 있습니다.

 

- 취약점 대응 방안

백업파일은 여러 중요 정보들을 수집하고 변조할 수 있으므로 금융권 앱들은 백업을 지원하지않아야합니다. 이는 매니페스트 파일에 allowBackup속성을 false로 변경해줘야합니다. 

<application
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light.DarkActionBar">

true로 설정되어있으면 백업이 가능합니다. false로 해놓으면 백업을 해도 0kb로 나가서 백업되지않습니다.

Comments