| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- Docker
- otter
- 포렌식
- elasticsearch
- 안드로이드
- beebox
- vulnhub
- kibana
- Openstack
- Volatility
- InsecureBank
- ESXi
- dreamhack
- 인시큐어뱅크
- igoat
- diva
- frida
- base64
- imageinfo
- foremost
- filescan
- Strings
- lord of sql injection
- CTF-d
- XSS
- FTK Imager
- 2018
- Suninatas
- ctf
- SQL Injection
- Today
- Total
Information Security
액티비티 컴포넌트 취약점 본문
정의
- 각 액티비티는 독립적으로 동작하기 때문에 현재 액티비티에서 다음 액티비티를 실행한다.
발생 위치
- com.insecure.ttamna.doyouwant.GrettingActivity
영향
- 공격자가 필요한 액티비티를 강제로 호출하며, 해당 취약점을 악용하는 경우 권한이 없는 사용자가 특정 액티비티에 접근하여 권한 없이 특정 기능을 활성화할 수 있다.
진단
Drozer를 이용해 액티비티 취약점을 확인했다.

ChangePassword 액티비티의 속성이 android:exported=”true”로 설정되어 있다는 것을 알 수 있다.

로그인 없이 인증을 무시하고 바로 액티비티를 호출한다.

인증 절차 없이 ChangePassword 액티비티가 호출됬다.

PostLogin 액티비티의 속성이 android:exported=”true”로 설정되어 있다는 것을 알 수 있다.

ADB 대신 drozer를 이용해 취약한 액티비티를 호출했다.

인증절차 없이 PostLogin 액티비티가 호출됬다.

대응방안
- 액티비티가 노출되어 있고 소스 코드 분석도 가능하다면 특정 액티비티를 실행하여 인증 없이 비밀번호 변경화면에 접근할 수 있다.
Drozer를 이용해 취약한 컴포넌트 정보를 확인했다.

액티비 속성을 android:exported=”false” 설정하고 “true”로 설정할 경우 별도의 인텐트 필터로 검증한다.

액티비 속성을 android:exported=”false” 설정하고 “true”로 설정할 경우 별도의 인텐트 필터로 검증한다.

취약한 액티비티 속성을 false를 수정한 결과 그림 1-4와 다르게 액티비티 항목에 없다.

False로 변경 후 Permission Denial 메시지를 출력하며 액티비티가 실행되지 않는다.

'모바일 > InsecureBank 분석' 카테고리의 다른 글
| 안전하지 않은 콘텐츠 프로바이더 접근 (0) | 2019.07.14 |
|---|---|
| 루팅 탐지 우회 (0) | 2019.07.14 |
| 로컬 암호화 이슈 (0) | 2019.07.13 |
| 취약한 인증 메커니즘 (0) | 2019.07.13 |
| 브로드캐스트 리시버 결함 (0) | 2019.07.13 |