posted by 블르샤이닝 2022. 4. 20. 15:28
728x90

- 강제 재부팅 방법

음량 다운 + 빅스비 버튼 7초 이상 누르고 있기

 

- 리버커리 모드

usb 케이블 연결한 후 음량 업 + 빅스비 버튼 누르고 있기

※ 스마트폰 제품번호 등 확인시 용이함

 

 

 

 

 

 

728x90
posted by 블르샤이닝 2022. 4. 18. 08:18
728x90

출처 : https://ndb796.tistory.com/448

 

간단한 Apktool 설명, 설치, 사용 방법 (안드로이드 앱 분석)

Apktool은 대표적인 안드로이드 애플리케이션(Android Application) 대상의 리버스 엔지니어링 도구입니다. APK 파일을 분석하여 리소스를 뽑아낼 수 있고(디코딩), 코드를 수정하여 다시 재빌드(Rebuild)

ndb796.tistory.com

------------------------------------------------------------------------------------------

apk 분석을 위해 apktool 설치 방법

 

 

  Apktool은 대표적인 안드로이드 애플리케이션(Android Application) 대상의 리버스 엔지니어링 도구입니다. APK 파일을 분석하여 리소스를 뽑아낼 수 있고(디코딩), 코드를 수정하여 다시 재빌드(Rebuild)할 수도 있습니다. 실제로 XML, 이미지 파일, .dex 파일을 포함하여 안드로이드 앱의 주요 소스를 뽑기 위해 가장 많이 사용되고 있습니다.

 

  ▶ Apktool 다운로드: ibotpeaches.github.io/Apktool/

 

  설치를 위해서 [Install] 페이지로 이동하고, 자신의 운영체제에 맞는 프로그램을 다운로드 받습니다.

 

 

  ▶ Apktool.jar 다운로드: bitbucket.org/iBotPeaches/apktool/downloads/

 

  설명에 나와 있는대로 차근차근 다운로드 및 세팅을 진행하시면 됩니다. 가장 먼저 Apktool은 아래와 같이 다운로드 가능합니다.

 

 

  이때 파일의 버전명을 지우고 이름을 apktool.jar로  바꾸어서 C:\windows 경로에 두면 됩니다. 그리고 apktool.bat 파일 또한 만들어서 C:\windows 위치에 둡니다. apktool.bat 파일의 내용은 다음의 경로에서 확인할 수 있습니다.

 

  ▶ apktool.bat 내용: https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat

 

  최종적으로 다음과 같은 형태가 됩니다.

 

 

  이후에 명령 프롬프트를 실행하여 apktool 이라고 입력하시면, 정상적으로 툴이 실행됩니다.

 

 

※ 참고사항 ※

 

  참고로 Apktool은 버전에 따라서 APK 파일을 처리하는 방법이 다를 수 있기 때문에, 가능하면 최신 버전과 가장 많이 사용되는 버전 두 가지를 모두 이용하는 것이 좋습니다. 필자의 경우 최신 버전인 Apktool v2.4.1과 더불어 Apktool v.2.3.4를 같이 사용합니다. 저는 그래서 다음과 같이 apktool_2.3.4.jar 또한 다운로드 받아서 윈도우 폴더에 위치시킵니다.

 

 

  이 경우 직접 java를 이용하여 Apktool을 실행하실 수 있습니다.

 

java -jar C:\Windows\apktool_2.3.4.jar

 

 

※ 디컴파일 하는 방법 ※

 

  디컴파일(Decompile)을 위해 하나의 APK 파일을 준비한 뒤에 다음과 같이 명령어를 입력합니다. 여기에서 d는 특정한 파일을 디코딩(Decoding)하라는 의미입니다. 공식 문서에서는 Decoding이라는 표현을 쓰고 있네요. 참고로 -o 옵션을 넣어서 만들어질 소스 폴더의 경로를 설정할 수 있습니다. -o 옵션을 넣지 않으면 자동으로 앱 이름과 동일한 이름의 폴더가 만들어집니다.

 

apktool d {앱 파일} -o {소스 폴더 경로}

 

 

※ 재빌드 하는 방법 ※

 

  소스코드를 수정한 뒤에 다시 재빌드(Rebuild)할 때는 다음과 같은 명령어를 입력합니다. 여기에서 b는 특정한 폴더를 기준으로 다시 빌드(Build)를 진행한다는 의미입니다. 참고로 -o 옵션을 넣어서 빌드 결과로 만들어질 APK 파일의 경로를 설정할 수 있습니다.

 

apktool b {소스 폴더 경로} -o {앱 파일}

 

  재빌드가 성공적으로 이루어진다면 다음과 같이 APK 파일이 만들어지는 것을 확인할 수 있습니다.

 

 

※ 참고사항 ※

 

  추가적인 Apktool에 대한 사용 방법은 공식 문서를 참고하세요.

 

  ▶ 공식 문서: ibotpeaches.github.io/Apktool/documentation/



출처: https://ndb796.tistory.com/448 [안경잡이개발자]

728x90
posted by 블르샤이닝 2022. 4. 14. 10:39
728x90

.so 파일 관련 분석 중 좋은 자료 백업함

 

내용으로는 스마트폰 안티리버싱 관련 자료로 잘 정리되어있음

 

 

-------------------------

 

안녕하세요? 이스트시큐리티입니다.

 

스미싱과 보이스피싱 등을 결합한 형태로 악성 앱들이 유포되고 있습니다. 해당 앱들은 주로 1 금융 관련 앱을 사칭하였으나 최근에는 국가기관, 2 금융 사칭 등으로 다양한 형태로 나타나고 있습니다. 기기 및 개인정보를 탈취하고 금융 정보 탈취를 목적으로 기기의 통화 상태를 감시합니다.

 

특히, 해당 앱은 분석을 어렵게 하기 위해서 중국 Qihoo 360사의 패킹 기술을 적용하였습니다.

 

본 분석 보고서에서는 “Trojan.Android.KRBanker”를 상세 분석하고자 합니다.

 

 

악성코드 상세 분석

 

1. 패킹 특징

 

중국 Qihoo 360사의 패킹 된 앱은 일반 앱과는 다른 부분이 존재합니다. 앱의 권한과 컴포넌트 관련 정보를 볼 수 있는 매니페스트를 보면 일반 안드로이드 앱에서는 볼 수 없는 항목인 “android:qihoo”부분이 추가되어 있는데 이는 디컴파일을 방해합니다. “assets” 폴더에는 파일의 무결성과 동적 패킹에 관여하는 “.appkey”, “libjiagu.so” 파일이 포함되어 있습니다. 또한, 아래 [그림 2]를 보면 패키지명이 “com.android.hellod3”이지만, 패킹 된 덱스 코드에서는 해당 부분을 찾을 수 없어 정적 분석으로는 실제 악성 행위와 관련된 코드를 볼 수 없습니다.

 

[그림 1] 패킹 된 앱의 구조

  

 

[그림 2] 패킹 전 후 덱스코드 비교

 

2. 안티 디컴파일러

 

앱 디컴파일에 흔히 쓰이는 “apktool” 최신 버전을 통해서 컴파일을 시도하면 매니페스트의 “qihoo”와 관련된 요소를 찾을 수 없다고 하여 에러를 일으킨다. 앱의 동적 분석을 위해서는 매니페스트에 android:debuggable="true" 항목이 필요한데 이를 방지한다.

 

 

[그림 3] 컴파일 실패

 

3. 안티 디버깅

 

패킹 앱의 초기에는 안티 디버깅이 포함되어 있지 않아서 메모리에 로드된 덱스 파일을 실시간 덤프를 함으로써 간단히 패킹앱의 분석이 가능했습니다. 그러나 최근 패킹 앱에는 다양한 안티 디버깅 기법이 추가되었기 때문에 동적 분석을 통해서 안티 디버깅을 우회한 다음에서야 메모리에 로드된 덱스 파일 덤프가 가능합니다.

 

3.1 dlactivity 확인

“/system/linker” 모듈 내부에 존재하는 “dl_rtld_db_dlactivity”의 값은 디버깅 되고 있는지 없는지를 나타냅니다.

 

[그림 4] dlactivity 활용 안티 디버깅

 

3.2 TracerPid 확인

“/proc/self/status” 파일을 확인해보면 앱과 관련된 정보들이 나타나있습니다. 그 중에서 “TracerPid”의 값을 통해서 디버깅 여부를 확인할 수 있습니다.

 

[그림 5] TracerPid 활용 안티 디버깅

 

3.3 주소 활성화 여부 확인

주소와 포트를 확인하여 디버깅 여부를 확인합니다. IDA를 통해서 안드로이드 원격 디버깅이 가능한데, IDA의 기본 디버깅 주소와 포트의 활성화 여부를 확인하여 디버깅 여부를 확인합니다.

 

[그림 6] 주소 확인을 통한 안티 디버깅

3.4 특정 문자 확인

“gdb”, “android_server” 등의 동적 디버깅에 사용되는 도구들의 명령어 및 메모리상의 관련 문자열 확인을 통해서 디버깅 여부를 확인합니다.

 

[그림 7] 명령어 및 메모리 확인을 통한 안티 디버깅

 

3.5 시간 확인

코드 실행 중간중간에 시간 관련 함수를 추가하여 해당 코드의 실행 시간을 계산하여 디버깅 여부를 확인합니다.

 

[그림 8] 시간 확인을 통한 안티 디버깅

 

3.6 덱스 파일 덤프

안티 디버깅을 모두 우회하면 복호화된 덱스 파일은 “libart.so” 모듈에 의해서 메모리로 로드되는데, 이때 덱스 파일이 로드된 메모리 주소와 덱스 파일 구조에 기록되어 있는 덱스 파일의 크기를 계산하여 해당 부분을 덤프합니다. 다음 실제 코드가 담긴 덱스코드를 분석합니다.

 

 

[그림 9] 덱스 파일 덤프

 

 

4. 덱스 파일 분석

 

“assets” 폴더에는 “image.zip” 파일이 있는데 내부에는 악성 행위에 사용되는 가짜 통화 관련 사진과 악성 앱을 구성하는 여러 개의 사진 등이 있습니다.

  

[그림 10] 악성 앱에 사용되는 파일

 

기기의 아이디와 전화번호를 탈취하여 식별 정보로 사용합니다.

 

[그림 11] 기기 정보 탈취

 

기기 부팅 시 서비스를 실행시켜 지속적인 악성 행위를 가능토록 합니다.

 

[그림 12] 기기 부팅 시 재실행

 

안드로이드 정책에서는 일정 시간 동안 와이파이를 사용하지 않으면 꺼지게 되는데 이를 방지하여 C&C와의 지속적인 통신을 가능토록 합니다.

 

[그림 13] 지속적인 와이파이 연결

 

메시지를 주기적으로 감시하고 탈취하여 C&C 서버로 전송합니다.

 

[그림 14] 메시지 탈취

 

주소록을 주기적으로 감시하고 탈취하여 C&C 서버로 전송합니다.

 

[그림 15] 주소록 탈취

 

통화 상태를 확인하고 특정 번호를 감시하여 해커에게 연결되도록 하고 사용자를 속이기 위해서 가짜 통화 사진을 팝업합니다.

 

[그림 16] 통화 탈취

 

C&C 서버는 “lib” 폴더의 “libmasker.so” 파일 내부의 함수 호출을 통해서 불러옵니다.

  

[그림 17] C&C 서버

 

 

결론

 

해당 악성 앱은 금융권 앱의 아이콘과 이름을 사칭합니다. 사용자의 기기 및 개인정보를 탈취하고 전화 상태를 확인하여 특정번호를 감시합니다. 통화를 종료하고 해커에게 전화를 자동으로 걸도록 하여 금융 정보를 탈취합니다. 특히, 앱의 분석을 어렵게 하기 위해서 중국의 Qihoo 360의 패킹을 적용했습니다.

 

따라서, 악성 앱으로부터 피해를 최소화하기 위해서는 백신 앱을 통한 주기적인 검사가 중요합니다. 출처가 불명확한 URL과 파일은 실행하지 않는 것이 기본이고 공식 마켓인 구글 플레이스토어를 통해서 확보한 앱이라도 백신 앱을 추가 설치하여 주기적으로 업데이트하고 검사해야 합니다.

 

현재 알약 M에서는 해당 앱을 ‘Trojan.Android.KRBanker’ 탐지 명으로 진단하고 있습니다.



출처: https://blog.alyac.co.kr/1994 [이스트시큐리티 알약 블로그]

728x90
posted by 블르샤이닝 2022. 3. 29. 16:39
728x90

출처 : https://colalove5562.tistory.com/m/31

 

목표

안드로이드 어플의 패키지명을 확인할 수 있다.

 

패키지명(Package Name) 이란?

안드로이드 앱 각각의 고유한 이름이라고 할 수 있습니다. 사용자에게 직접적으로 보이지는 않지만, 이 이름은

중복될 수 없으며 나중에 구글 플레이에 어플을 출시할 때에도 이 이름이 중복이 된다면 패키지명을 변경하는 과정이 필요합니다.

 

Intent를 사용해서 특정 어플을 실행시키거나 참조하는 과정이 필요할 때 주로 이 패키지명을 찾게 됩니다.


방법 1 : Google Play 접속 후 검색

play.google.com/

 

Google Play

수백만 개의 최신 Android 앱, 게임, 음악, 영화, TV 프로그램, 도서, 잡지 등을 즐기세요. 기기 간에 공유되어 언제 어디서든 이용할 수 있습니다.

play.google.com

1단계 : Google Play 접속(PC 버전) -> 패키지명을 알고자 하는 어플 검색

2단계 : 상단 주소창 부분에서 패키지 이름 확인 -> '?id=' 뒷부분이 어플의 패키지명

번외 : 인스타그램 패키지명 검색

 

아주 간단합니다.

이제 Intent를 통해 Google-Gmail App의 패키지명인 com.google.android.gm 을 입력하면,

해당 어플이 바로 실행되는 것을 확인할 수 있습니다.(해당 어플이 존재할 경우)

 

Android Intent로 Gmail 보내는 방법 : colalove5562.tistory.com/29

 

[Android/java] Intent eamil 전송하기 / 안드로이드 gmail로 보내기

내가 만든 Android App에서 이메일 앱과 연동하는건 아주 간단합니다. 주로 Activity 이용시 사용되었던 Intent를 사용하면 됩니다. 공통적으로 메일 제목, 본문 내용, 받는사람 이메일등에 대한 내용을

colalove5562.tistory.com

 

방법 2 : Google Play에서 앱 패키지명을 알려주는 어플 사용하기

Google Play에 '패키지명' 이라고 검색하면, 자신의 휴대폰에 깔린 앱들의 패키지명을 확인 할 수있는

어플들이 많이 존재합니다. 딱히 기능이라고 할 것도 없기에... 그냥 원하시는걸 골라 설치하시고 사용하면 될 것 같습니다. 

(저도 처음엔 아무것도 모르고 앱 설치하고 패키지명을 찾았는데, 구글 플레이에서 검색하는게 더 빠르고 간편한 것 같더라구요 ㅎㅎ..)

 


번외 1 : Android에서 현재 작업중인 프로젝트의 패키지명을 알고 싶다면?

1.우측 java 폴더명 확인    2.클래스 파일의 최상단 부분 'package 이름' 확인

728x90
2021. 12. 2. 12:01

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 블르샤이닝 2021. 7. 26. 17:36
728x90

찾아보니 

 

frida를 이용한 가장 설명이 잘된 사이트를 찾았다. 이제 환경 구축을 해보고 결과는 나중에 적겠음

 

출처 : https://blog.naver.com/dsz08082/222183312769

 

Frida : 프리다, 안드로이드 동적 분석 환경 설치

프리다 개요 프리다(Frida) : 안드로이드 앱을 직접 실행시키며 분석하는 동적 분석을 위한 도구 중 하나 ...

blog.naver.com

 

늘 그렇듯 프린트해서 백업...문제시 삭제함

Frida _ 프리다, 안드로이드 동적 분석 .. _ 네이버블로그.pdf
0.20MB

728x90
posted by 블르샤이닝 2021. 6. 1. 14:49
728x90

다 필요없고 요거 하나면 될듯 ㅎㅎㅎ 와 대박인데

 

 

http://forensic.korea.ac.kr/DFWIKI/index.php/IOS#.EC.A0.80.EC.9E.A5_.EB.8D.B0.EC.9D.B4.ED.84.B0_.ED.98.95.EC.8B.9D_.EB.B3.84_.EB.B6.84.EC.84.9D_.EB.B0.A9.EB.B2.95

 

 

 

요 자료도 좋음.

30.pdf
2.56MB

 

출처 : https://www.sans.org/security-resources/posters/dfir-advanced-smartphone-forensics/30/download

728x90