Self-Improvement

[InsecureBankv2] Insecure Storage of Credentials 본문

AOS/InsecureBankv2

[InsecureBankv2] Insecure Storage of Credentials

JoGeun 2021. 12. 29. 13:24

Insecure Storage of Credentials

LoginActivity 클래스 onCreate() 메소드에서 " 나서 R.id.fill_data 버튼을 선택할 시 fillData() 메소드가 실행되어 진다.

 

fill_data 버튼을 "Autofill Credentials" 문자열을 가진 버튼으로 layout 폴더에서 찾게 되었다.

 

fillData() 메소드를 보면 "mySharedPreferences" 파일에서 "EncryptedUsername", "superSecurePassword" 값을 가져온다.

그리고는 아이디는 base64로 디코딩, 패스워드는 AES256로 복호화를 진행하게 된다.

 

실제 mySharedPreferences 파일 내용을 확인해보면 값들이 존재한다.

 

 

AES256 복호화 로직으로는 처음 superSecurePassword 값을 가져와 base64로 디코딩 후 AES/CBC/PKCS5Padding 방식으로 진행하며 Key, IV 값도 얻을 수 있다.

 

온라인 복호화 툴 등으로 진행하면 쉽게 복호화가 가능하다.

https://gchq.github.io/CyberChef 

 

CyberChef

 

gchq.github.io