본문 바로가기

모바일 앱 해킹

(15)
[DIVA] HardCoding Issues(하드코딩 이슈) | 안드로이드 앱 취약점 실습 하드코딩 취약점은 소프트웨어 개발에서 중요한 정보(비밀번호, API 키, 관리자 id, pw 등)를 소스 코드 내부에 직접 넣는 실수로 발생한다. 하드코딩된 비밀번호나 암호키 등 중요정보는 소스 코드를 확인할 수 있는 모든 사람이 액세스할 수 있다. 이는 내부자 위협 뿐만 아니라 소스 코드가 공개적으로 유출되었을 경우 외부 공격자에게도 정보가 노출될 수 있는 위험이 있다.  아무 정보 123123을 입력하고 ACCESS 버튼을 눌러봤더니 지옥에서 보자는 무서운 경고 메세지가 뜬다. 아무 값이나 일일히 대입해보면서 액세스를 할 수는 없으니 소스코드에 저장된 중요 정보를 확인해봐야 할 것이다.  GDA로 apk 파일을 디컴파일해서 HardcodeActivity 파일의 소스코드를 보면  access 함수에서 ..
[DIVA] Insecure Logging(안전하지 않은 로깅) | 안드로이드 앱 취약점 실습, DIVA란? DIVA 모바일 앱 보안의 기본을 이해하고 테스트할 수 있도록 설계된 안드로이드 응용 프로그램안전하지 않은 로깅 취약점은 중요한 데이터가 로그에 평문으로 노출되는 취약점이다. 로그에 비밀번호, API 키, 개인 정보 등의 민감한 데이터가 포함될 경우, 이 정보가 유출될 위험이 있다. 중요 정보를 입력했을 때 로그캣(Logcat)에 정보가 평문으로 노출되는지 확인하 진단한다.(참고로 로그캣에는 생각보다 많은 로그가 찍히기 때문에 취약점 진단 시 많은 힌트를 얻을 수 있다. )  아무 숫자 123123123을 입력하고 CHECK OUT 버튼을 누르면 에러 메시지가 발생한다.   adb logcat 명령을 통해 발생하는 로그들 보면 전송한 123123123 정보가 평문으로 노출되는 것을 확인할 수 있다.  G..
취약한 로깅 메커니즘 | 안드로이드 앱 해킹, 인시큐어뱅크 실습 취약한 로깅 메커니즘 로그 기록에 노출되면 안되는 중요한 데이터가 기록되는 경우사용자가 입력하는 중요 정보가 노출되면 안됨 진단 방법안드로이드 스튜디오에서 제공하는 로그캣(logcat)을 사용해서 진단모든 기능을 이용해보면서 로그캣 정보 확인 로그캣(Logcat) 안드로이드 운영 체제에서 제공하는 시스템의 로그 메시지를 수집하고 출력하는 도구이를 통해 개발자는 애플리케이션의 실행 중에 발생하는 정보, 경고, 오류 등 다양한 로그를 확인할 수 있다. 로그캣 메시지 유형메시지 유형설명VVerbose. 중요하지 않은 정보DDebug. 디버그 정보IInformation. 일반 정보WWarning. 경고 정보EError. 에러 정보FFatal. 중요한 정보SSilent. 가장 높은 우선순위의 정보  인시큐어뱅크 ..
로컬 암호화 이슈 | 안드로이드 앱 해킹, 인시큐어뱅크 실습 모바일은 사용자 편의가 중요하기 때문에 데이터를 저장하는 것은 필수적이다. 자동 로그인 기능을 위해 사용자의 id, 패스워드 정보를 단말기 내에 저장해두는 것을 생각하면 쉽다.이때, 패스워드 같은 중요 정보는 반드시 암호화해서 저장해야 한다.로컬 암호화 이슈로컬 저장소에 데이터를 저장하는 경우 보안을 고려하지 않으면 평문 형태로 저장됨공격자가 악성코드에 감염시키거나 권한 상승에 성공하는 경우 평문 저장된 중요 데이터 획득 가능 진단 방법앱의 기능을 이것 저것 사용해보면서 저장되는 데이터를 샅샅히 뒤져보면 된다.살펴볼 주요 디렉터리디렉터리설명/data/data/설치된 앱의 패키지 경로 /data/data//databases설정 파일, 컨텐츠 파일 등이 포함된 SQLlite 데이터베이스 파일 (db 파일이 ..
안드로이드 앱 구조 이해하기 | apk, dex, manifest 등 안드로이드 앱은 java 기반이다.  java로 개발하면 윈도우, 맥 등 운영체제 종류에 상관 없이 실행 가능하다는 이점이 있다.   JVM데스크탑 환경"자바 바이트 코드"를 실행하기 위한 자바 가상머신"자바 바이트 코드"는 JVM이 이해할 수 있는 언어로 JVM만 설치되어 있으면 운영체제 종류에 상관 없이 실행 가능  DVM 모바일 환경"안드로이드 애플리케이션"을 실행하기 위한 달빅 가상머신모바일 디바이스 환경에 최적화 되어 개발되어 낮은 메모리에서 실행되도록 설계됨DEX 컴파일러가 class 파일을 dex 파일로 변경하여 DVM에서 실행 가능하게 한다. ART모바일 환경안드로이드 애플리케이션 런타임 환경퍼포먼스 개선을 위해 구글이 DVM에서 ART로 변경요샌 거의 ART를 씀   정리하면 이렇다  데..
모바일 앱 해킹 이걸 해봐라 | 모바일 앱 개발, Frida, DIVA 1. Mobile App 개발Android : JAVAiOS : Swift 웹 모의해킹과 똑같이 일단 앱이 돌아가는 로직을 파악하는 게 도움이 많이 되므로 직접 개발을 해보는 것이 좋다. 웹과 동일하게  로그인 기능, 게시글, 사진 업로드 등의 기능이 구현된 커뮤니티 만들어보기!  2. Frida모바일 앱 후킹을 쉽게 만들어주는 동적 분석 툴이다. 모의해킹 시 필수고 만능이니까 사용방법 익혀두기.  공부하기 좋은 사이트1) https://rossmarks.uk/blog/fridalab/ FridaLabI was struggling with a recent test using frida, knowing it could do what I want but unsure how. After lots of goog..
모바일 앱 해킹 방향잡기 | 모바일 앱 해킹을 해야하는 이유, 취약점 구분 모바일 앱 해킹을 해야하는 이유모의해킹 일을 하기 위해서는 모바일 앱 해킹은 필수다. 요즘에는 웬만한 회사에 웹 사이트가 있고, 이와 더불어 앱까지 운영하는 경우가 많다.  그렇기 때문에 모의해킹 실무에 뛰어 들면  모바일 앱 해킹은 거의 무조건 배우게 된다고 한다. 그래서 정리해보는 모바일 앱 해킹 과정이다.  모바일 앱 해킹 취약점 2가지(1) 서버 측 보통 앱을 실행하면 서버의 정보를 단말기로 가져와서 우리한테 보여주는 데, 이 서버에 존재하는 취약점을 찾는 것이다.  예를 들어 영화(CGV, 롯데시네마 등) 앱을 실행하면 영화 정보를 서버에서 단말기로 가져와서 보여준다. 여기서 영화 정보를 가져오는 파라미터에 SQL 질의문을 삽입해서 SQL Injection 취약점을 찾을 수 있고, 프로필 사진에..