[Insecure Bank] 안전하지 않은 SD 카드 저장소
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '안전하지 않은 SD 카드 저장소' 취약점에 대하여 실습과 함께 알아보겠습니다. ['안전하지 않은 SD카드 저장소' 란?]> 애플리케이션이 SD 카드 저장소에 중요한 정보나 파일을 저장하여 발생하는 취약점으로 "OWASP Mobile Top 10 M2: Insecure Data Storage"에 해당합니다. 안드로이드는 데이터를 저장할 때 크게 내부 저장소 , 외부저장소로 나눌수 있습니다. 내부 저장소에 파일을 저장하는 것까지는 문제가 없지만 파일 저장시 암호화를 제대로 안하게 되면 중요 정보가 누출될 수 있고, 외부 저장소에 중요 정보를 저장하게 되면 어느 어플이던지 외부 저장소에 접근이 가능하기 때문에 이 또한 민감한 정보가 유출될 수 있습니다. - 내부 저장소> 안드로이드 플랫폼..
[Insecure Bank] 안드로이드 백업 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '안드로이드 백업 취약점' 에 대하여 실습을 통해 알아보겠습니다. ['안드로이드 백업 취약점' 이란?]> 안드로이드 에선 백업 데이터를 사용자 PC에 저장할 수 있게 해주는 로컬백업을 지원하게 되었습니다. 이로인해 사용자는 전체 백업을 사용하여 설치된 어플의 apk 파일뿐만 아니라 관련 데이터,저장소의 파일 등을 USB를 통해 연결된 pc에 저장할 수 있게되었습니다. 하지만 android:allowBackup 속성 값이 'true'로 되어있을 경우 공격자 또한 백업데이터를 추출하는게 가능해지고 이 데이터를 분석하여 민감한 개인정보를 얻는것이 가능해집니다.1. 취약점 탐색> 인시큐어 뱅크를 디컴파일하여 AndroidManifest.xml 소스코드를 살펴보면 android:allowBac..
[Insecure Bank] 디버깅 취약점 & 런타임 조작 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '디버깅 기능 취약점' 그리고 '런타임 조작 취약점' 2개를 실습해보려고 포스팅하였습니다! 디버깅 취약점으로 인해 런타임 조작이 일어날 수 있어서 이 두개의 항목을 묶게 되었습니다! ['디버깅 취약점' 이란?]> Application Debuggable 취약점은 안드로이드 디버깅 모드의 설정 여부에 따라 발생합니다. AndroidManifest.xml 에 포함되는 속성인데 기본적으로 디버깅 모드는 앱이 배포될때 "false" 로 지정되어 있습니다. 하지만 개발중에 편의상 디버깅 옵션을 "true"로 해놓는 경우가 있는데 이 경우 앱의 중대한 보안 결함이 발생할 수 있습니다. ['런타임 조작' 이란?]> 앱이 실행되는 도중 메모리상에 악의적인 행동을 하는 취약점입니다. 메모리상에 올라가..
[Insecure Bank] 안드로이드 키보드 캐시 이슈
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 이번시간에는 '안드로이드 키보드 캐시 이슈' 에 관한 포스팅입니다. ['안드로이드 키보드 캐시 이슈' 란?]> 키보드 캐시 이슈는 사용자가 중요 정보를 클립보드에 저장하면 제삼자가 이러한 정보를 획득할 수 있는 취약점입니다. 키보드 캐시란, 안드로이드 TextView와 같은 컴포넌트에서 사용자가 중요 정보를 클립보드에 복사할 수 있을때 임시로 복사한 데이터를 저장하는 곳입니다. 이 기능을 상당히 편하지만 , 공격자 또한 이 기능을 악용하여 중요 정보를 붙여넣을 수 있으므로 다른 사용자의 인증 정보를 활요하여 별다른 인증 절차 없이 공격자도 인증에 성공할 수 있습니다.1. 취약점 진단1. 우선 NOX기기에 Clipper 라는 어플을 다운로드 받아주세요. 그냥 구글스토어에서 받을 수 있으니 검색..
[Insecure Bank] 안전하지 않은 로깅 메커니즘 취약점
·
모바일 앱해킹(Android)/Insecure Bank
오늘은 '안전하지 않은 로깅 메커니즘' 취약점에 관하여 Insecure Bank앱 실습을 통해 알아보겠습니다! ['안전하지 않은 로깅 메커니즘' 이란?]> 로그란, 서버에서 운영되는 서비스들이 실행되는 상태나 특정 프로그램을 사용한 사용자의 행위나 흔적을 파일이나 출력을 통해 남기는 행위를 말합니다. 그런데 이런 로그에 사용자의 개인정보 가령 비밀번호,아이디,계좌번호 등이 출력이 되버리면 정보가 유출될 수 있기 때문에 필요없는 로그정보는 남기지 말아야 합니다.1. 취약점 진단1. 우선 인시큐어 뱅크 어플을 로그인해줍니다. 2. 이후 nox_adb shell 로 녹스기기에 접근하셔서 해당 명령어를 통해 특정 어플의 log를 확인하실 수 있습니다. 사진을 보시면 로그인한 아이디&패스워드가 평문으로 저장되어 ..
[Dreamhack] Type c-j -write up (타입 저글링 기법)
·
워게임 문제풀이/Dreamhack
이번시간엔 Dreamhack 워게임 문제인 Type c-j 에 대하여 작성해보도록 하겠습니다!1. 취약점 탐색1. 우선 페이지는 다음과 같이 이루어져 있습니다. ID 와 Password 를 우회하면 flag 가 나오는 형식같습니다. 그러면 소스코드를 한번 훑어보겠습니다!2. 일단 check.php 의 코드를 살펴보니 $id , $pw 값을 설정해주는 부분이 있습니다. $id 값은 getRandStr()을 통해 난수의 문자열을 받아오고 , $pw 는 1이라는 문자열을 sha1 암호화를 거친 값을 저장해주는것 같습니다. 그러면 일단 $pw 값은 1을 sha1로 암호화만 시키면 얻을수 있으니 패스워드 값은 알아낸 것입니다.3. 그 바로밑에 있는 코드를 살펴보시면 "입력하는 값은 id는 10글자 , passwo..
[Dreamhack] XSS Filtering Bypass - Write up
·
워게임 문제풀이/Dreamhack
이번시간은 Dreamhack 사이트의 워게임중 XSS Filtering Bypass 문제를 살펴보도록 하겠습니다![취약점 탐색] 1. 우선 메인페이지는 이런식으로 이루어져 있습니다. 한번 차례대로 살펴보겠습니다.2. 우선 vuln(xss) page 를 클릭하니 이런 이미지가 나옵니다. 아마 xss 에 이용하라고 넣어둔 것 같습니다.3. memo 를 클릭하니 이런 페이지가 나왔습니다. 아마 get요청으로 memo 파라미터에 넣은 값을 여기서 출력해주는건가 봅니다... 그러면 나중에 이 점을 이용하여 flag 값을 출력하도록 이용해볼 수 있을것 같습니다!4. flag 페이지로 들어왔습니다. 아마 저기에 param 값을 넣고 제출을하면 admin 계정이 저 링크로 접속하는 방식인가 봅니다. 어느정도 페이지 구..