들어가며 안드로이드 앱 분석과 리버싱은 많은 시간과 노력을 필요로 한다. 여기에 코드 난독화까지 적용되면 분석 난이도는 기하급수적으로 높아진다. 난독화된 코드를 읽는 일은 마치 매번 새로운 외국어를 배우는 것처럼 느껴진다. 실제로 금융앱이나 악성앱에는 ProGuard, DexGuard 등 난독화 솔루션이 적용되어 클래스/함수 이름을 알아보기 어렵게 바꾸고 분석을 방해한다.최근 이러한 문제를 해결하기 위한 새로운 접근법으로 LLM을 이용한 코드 해독 도구들이 등장하고 있다. 이번 포스팅에서는 그 중에서도 주목할 만한 성능을 보여주는 Androidmeda라는 오픈 소스 도구를 소개한다. 이 도구가 어느 정도까지 난독화를 해제할 수 있는지, 그리고 LLM 연동 분석을 위해 어떤 준비가 필요한지 살펴본다. A..
들어가며웹 취약점 진단 수행 중 웹 애플리케이션의 클라이언트 측(Javascript) 코드에서 Prototype Pollution 취약점(프로토타입 오염)이 발견되었다. 취약점에 대해 개념을 정리하고 어떻게 코드를 분석했는지 소개한다. 물론 틀린부분이 있을 수 있으므로 다양한 의견으로 알려주시면 감사하겠습니다. 취약점 개요자바스크립트는 프로토타입 기반의 객체 지향 언어이다. 모든 객체는 숨겨진 속성 '__proto__'를 통해 어떤 프로토타입 객체를 참조하며, 이 프로토타입에 정의된 속성과 메서드는 해당 객체 및 그 하위 객체들이 상속받는다. Prototype Pollution(이하 PP)은 공격자가 이 프로토타입 객체에 임의의 속성을 주입함으로써 기본 객체의 동작을 변경할 수 있는 취약점이다.유효 범위..
코드만 필요하신 경우 가장 아래에 github 페이지에서 확인할 수 있습니다 Frida 17+ 환경에서 fridump3 호환 문제 해결최근 Frida가 17.0.0 이상 버전으로 업그레이드되면서 기존에 사용하던 fridump3가 더 이상 정상 동작하지 않는 문제가 발생합니다.그림처럼 fridump에서 발생하는 에러는 아니지만 not a function 에러는 동일하게 발생한다. 문제 원인기존 fridump3는 Frida 16.x 이하 버전의 API를 기반으로 작성되어 있어, Frida 17+에서 제거되거나 변경된 메서드를 그대로 사용하고 있다.검색을 통해 확인한 결과, 대부분의 해결 방법은 Frida 버전을 낮추어 사용하는 우회 방식뿐이었고, 최신 버전에서 바로 사용할 수 있는 패치는 제시되지 않고 있었..
이전을 고민한 이유도메인 운영에서 DNS 서비스는 단순한 네임서버 수준을 넘어 보안, 인증서 관리, 성능 최적화, 그리고 인프라 통합의 기반이 됩니다. 리버스프록시 환경에서 몇 개 정도 인터넷에 오픈해 둔 서비스가 있는데, 이용자 대신 많은 봇과 크롤러들이 방문하고 있음을 확인했다. AWS의 Route 53은 AWS Certificate Manager(ACM) 및 Application Load Balancer(ALB) 등 AWS 서비스와의 연동에 최적화되어 있어, 인증서 자동 갱신과 로드밸런싱을 통해 서비스 가용성과 안정성을 확보할 수 있다. AWS 인프라 내에서의 통합 운용을 중시한다면 매우 강력한 선택지이다.그러나 웹서비스의 보안과 성능 요구가 엣지 네트워크 중심으로 이동하면서, Cloudflare..
클라우드 기반 보안 테스트를 위한 OOB(Out-of-Band) 트래픽 수집 환경을 구축하기 위해, projectdiscovery/interactsh를 EC2에서 운영하며, 소유하고 있는 도메인에 대한 HTTPS 인증서를 자동으로 발급 및 갱신하는 구조를 구성했습니다. 이 문서는 아카이빙 및 다른 도메인/서버 구성 시 재활용할 수 있도록, 구축 과정을 트러블슈팅 포함하여 정리합니다. 1. Interactsh란?보안 테스트에서 OOB 트래픽 분석은 다양한 공격 벡터(예: Blind SSRF, RCE, XXE 등)의 성공 여부를 감지하는 핵심 기법이다. 그러나 상용 플랫폼(예: Burp Collaborator) 의존 없이 DNS, HTTP 요청을 직접 수집하고 통제 가능한 환경을 구성하려면 독립적인 도메인과..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드 앱은 실행 시 사용할 메모리 영역을 할당받는다. 메모리에는 앱의 실행 코드와 사용할 자원(함수, 변수, 리소스 등)이 저장된다. 안드로이드 런타임은 '페이징'과 '메모리 매핑'을 이용해서 메모리를 관리한다. 메모리 자원을 관리하기 위해 자바에서는 동적으로 할당했던 메모리 영역 중 사용하지 않는 메모리를 주기적으로 삭제하는 가비지 컬렉션(Garbage Collection, GC)을 수행한다. 운영체제 수준에서 메모리를 관리하기 때문에 개발자는 기능 개발에 집중할 수 있다. ..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항)이전 글에 이어지는 글입니다.[안드로이드 모의해킹] 코드 패치와 앱 무결성 검증 (smali 코드 분석) 개요 어셈블리 코드 수정(NDK) 안드로이드 NDK로 개발된 코드 또한 수정이 가능하다. 직접 예제 코드를 작성하고 변조하는 실습을 진행한다. 안드로이드 스튜디오에서 새 프로젝트 생성을 선택하고 Native C++ 프로젝트를 생성한다. 네이티브 언어로 함수를 정의한다. 함수의 기능은 이전의 실습과 유사하게 두 정수의 합을 반환하는 기능을 수행한다. 상용 앱에서는 더 복잡한 기능을 수행하..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드 단말의 무결성만큼 앱의 무결성도 매우 중요하다. 공격자가 앱 내부 코드를 변조하여 리패키징을 수행하면, 악성코드가 앱 내부에 삽입될 수 있다. 안드로이드 설치 파일은 구글 플레이 스토어뿐만 아니라 제3자 제공 스토어에서도 다운로드 받을 수 있으며, 단말에서 허용하는 경우 apk 파일을 별도로 다운로드 하여 설치할 수 있다. 이 과정에서 위∙변조된 앱이 설치되면 사용자 데이터에 접근하거나 민감정보가 유출될 수 있다. 예를 들어 기존 앱과 동일한 뷰로 로그인 기능을 구현하..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항)학습자료 apk파일은 https://github.com/colfax0483/Vulnerable_apk 에서 clone할 수 있습니다.1. 개요안드로이드 앱 환경은 PC 환경과 다르게 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작하지 않는다. 일반적인 프로그래밍에서 메인(main) 함수부터 실행하는 것과 달리 안드로이드 시스템은 액티비티별 생명주기에 따른 단계별 콜백 함수 통해 앱 코드를 실행한다. 선언된 콜백 함수는 액티비티 클래스에서 관리된다. 예를 들어, 기존에 실행중인 앱 'A'..
1. 개요사용자가 홈 버튼을 누르거나, 앱이 실행중인 상태에서 다른 앱을 실행하여 앱이 백그라운드 모드로 전환되면 안드로이드는 현재 앱 액티비티의 스크린샷을 생성하여 작업 관리자(task manager)에서 확인할 수 있으며, 사용자가 최근 사용한 앱 목록을 볼 때 표시된다. 이 기능은 사용자에게 편리함을 제공하지만, 동시에 보안상의 위험을 초래할 수 있다. 예를 들어, 앱이 민감한 정보를 화면에 표시하고 있는 경우, 스크린샷이 기록되어 작업 관리자에 노출될 수 있다. 이는 민감한 정보의 외부 노출로 이어질 수 있으므로, 민감한 정보가 스크린샷에 포함되지 않도록 해야 한다. 💡 더 알아보기작업 관리자의 명칭은 구글 공식 문서에서도 다양한 이름으로 사용하고 있다.영문으로는 Recents screen, O..