업무/APP(AND)진단 쉽게하려 만든 게시판 24

갤럭시 잠금(FRP Lock) 해결하기

결국 루팅했던 갤럭시 S7이 안쓰는 사이 전원이 꺼졌고 충전 후 다시키려니 FRP LOCK이란 빨간 글씨와 함께 켜지지 않는 사건 사고가 발생했다. FRP LOCK이란 바이너리를 고쳤을 때(루팅 등) 삼성에서 억지로 막아놓은 것으로보인다. (리눅스로 만들어서 그런지 별짓이 다된다) 그리고 해결법이 따로 있을까 했지만 펌웨어를 따로 받아 순정상태로 돌리는 방법밖에 없다고해서 펌웨어 구하는법 부터 설치방법까지 적어보려고한다. 먼저 필요 프로그램부터 정리해보자 1. ODIN(오딘) -> 루팅때 설치하였기에 별 다운 언급은 안하겠지만 제일 아래 통합usb도 같이받도록하자 (통합 usb 드라이버가 있어야 오딘 연결 에러가 나지 않는다) http://www.osamsung.com/kr/ 최신 삼성 오딘 무료 다운로..

split된 apk 합본 받기

가끔 apk 추출하고 다시 옮겨볼때 실행이 안되는 경우가 많다. 1. NOX에서 추출 후 2. 재설치 후 3. 실행 시 에러가 뜨는 것을 확인할 수 있다. 대체적으로 바로 추출후 설치를 시도하엿을 때 것들을 보면 많이들 dex파일이 split되있는것을 볼 수 있다. 실은 여러 어플리케이션으로 합본을 할 수 있지만 그정도까지는 너무 귀찮아서 바로 해당 사이트에서 합본된 파일을 받고있다. apkcombo.com/ko-kr/ APKCombo: ⚡ 최신 APK 버전 받기 - 가장 빠르게! Android용 APK을 다운로드합니다 - 최신 업데이트 / 신규 출시 / 지난 버전 - 안전 - 무료를 (armeabi-v7a, arm64-v8a, x86, x86_x64, Tablet, Android TV). apkcomb..

Apktool 에러 (Public symbol array/XXXXXX declared here is not defined) 해결

apktool 돌리는 와중에 "Public symbol array/XXXXXX declared here is not defined. " 에러가 발생하였다. 해당 에러를 해결하기 위해 여러가지 해본결과 리소스의 의존성때문임을 확인했다. 즉 해당 에러는 apktool을 통해 디컴파일 할때부터 리소스 디코딩을 빼서 디컴파일을 하면된다. 해결법 1. 디컴파일시 -r 옵션을 사용해 리소스 디코딩을 하지않는다 (-f로 강제도 한다) apktool d -f -r appname.apk -o appfolder 2. 다시 컴파일시 -f -r을 사용해 다시 컴파일한다 apktool b -f -r appfolder -o appname.apk --use-aapt2 (--use-aapt2 옵션도 사용) 3. 컴파일 성공 확인

Androguard GUI 사용하기

Androguard는 CLI에서만 작동하는줄 알았는데 금일 메뉴얼 읽다가 GUI를 발견했다. 역시 그냥 넘어갈 수 없고 한번 GUI 모드에 접근해 확인해보면 $ androguard gui로 gui모드가 실행가능하다. 악성앱 하나를 오픈후 좀 확인해 보았다. 이래저래 트리구조를 누르다보니 자주 보던 단어들도 보이는것이 로우단(스마일리) 기계어를 볼 수 있는 것 같다. View를 사용하니 스트링으로 확인은 가능했으며 얼마나 사용되었는지 확인이 가능하다. API등도 밑에 패턴 검색을 통해 필터링도 가능하다. 마지막으로 Xref를 사용 시 참조 목록도 확인이 가능하다 (기계어단에서 가능) 플러그인에 대해서는 py파일을 불러와서 써야하는 것을 보아하니 맨땅 헤딩전에 누군가 만든 플러그인을 한번 찾아보아야겠다.

androguard를 사용한 APK 쉽게 권한 추출하기

APK에서 권한은 굉장히 많은 역할을 하며 진단에도 필수요소가 될 수 있다 그리고 이 포스팅은 APK권한을 최소한의 작업으로 쉽게 추출하는 방법을 설명하려한다. 먼저 android apk파일에서 권한(permission)은 androidmanifest.xml에 저장되어 있다. 해당부분은 manifest.xml파일에 다음과 같이 표시되는 것을 확인할 수 있다) https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko 하지만 복호화가 필요한 경우도 존재하고(난독화 설정되어있을 시) 직접 manifest의 줄을 확인하며 추출하기에 androguard를 이용해 이보다 더 쉬운 방법을 사용해보려한다. 먼저 Androguard가 필요하며 다음..

Android 진단도구 Drozer(#2)

https://chanztudio.tistory.com/125 Android 진단도구 Drozer(#1) App진단을 다시 시작해야하는데 Drozer 사용법을 까먹어버려 이번기회 정리하려고한다. 내 Drozer 사용법은 우회하여 기능실행할 수 있는지에 대한 사용으로 Drozer를 통해 강제로 화면을 호출할 때 chanztudio.tistory.com 명령어는 다음 git을 통해 가져왔다. https://gist.github.com/castexyz/2ef12840fccbf3b4ef7b6446d24a9352 더보기 Drozer - Drozer allows you to search for security vulnerabilities in apps and devices by assuming the role of..

Android 진단도구 Drozer(#1)

App진단을 다시 시작해야하는데 Drozer 사용법을 까먹어버려 이번기회 정리하려고한다. 내 Drozer 사용법은 우회하여 기능실행할 수 있는지에 대한 사용으로 Drozer를 통해 강제로 화면을 호출할 때 실행해본다. Drozer의 공식 사이트는 다음의 주소는 아래와 같다. https://labs.withsecure.com/tools/drozer Welcome to WithSecure Labs - Cyber security research and development WithSecure Labs puts you at the forefront of innovation and research in cyber security. labs.withsecure.com 가이드북에 따르면 Drozer설치에는 다음의 것..

Drozer

앱 진단때 항목 중 디버깅 항목을 어떻게 풀어낼까 고민중 액티비티 강제실행을 통해 항목을 해결해보려 해서 드로저 설치를 진행하였다. 1. 드로저 설치 사이트 https://labs.f-secure.com/tools/drozer/ Drozer labs.f-secure.com 2. 이때 문제가 있다. msi를 통해 윈도우 설치를 진행하려하는데 크롬이 악성으로 인식해서 해당 설정을 껏다 (크롬 설정 -> 세이프 검색) 막상 설치하려는데 뭔가 잘안되서 살펴보니 필수요청에 파이썬 2.7이 존재했다. 다른거 1타 2피하기위해(안드로가드) 당시 아나콘다 다운받은걸 사용한다 https://www.anaconda.com/products/individual#windows Anaconda | Individual Editio..

android 원격 쉘 연결 방법

android shell 연결 시 adb를 사용해 shell을 연결하기도 하지만 무선으로 연결하고 싶어 두가지를 준비해왔다 둘의 장점 단점이 있기에 편한걸로 쓰자 - sshdroid putty를 통해 연결하기 위한 도구이다. 1. 먼저 인터넷에 가서 sshroid를 안드로이드 기기에 설치하면된다. 2. sshdroid를 실행한다(아이디 및 패스워드 등 정보 확인) 3. putty에 접근 하여 해당 기기로 접속 ***루팅이 되지 않을 시에는 포트 번호를 변경해야하며 루트로 되지 않는다. 2. adb shell 원격 접속 먼저 이 작업은 완벽한 원격접속은 아니다. 이를 진행하기 위해서 한번의 연결이 필요하다. 1. usb연결 후 연결 확인 2. 'adb tcpip 5555' 명령어로 5555포트 오픈(unk..