Hacking & Security (52) 썸네일형 리스트형 Android Structure Android Structure Android Program Program -> APK Android application package 흔히들 알고 있는 앱의 파일 포맷은 apk apk 는 '서명된' zip파일. How to Analysis? 우선적으로 Manifest.xml파일을 본다, 이에는 안드로이드 앱의 구동을 위한 내용을 명시해놓음. AndroidManifest.xml Encoded XML File Description Package name Permissions SDK Version intent : 액티비티 등의 전환이 일어날 때 호출이나 메시지를 전달하는 매개체 classes.dex .dex(Dalvik Executable) is a compiled android app co.. Android Introduction Android #1 Architecture Android Platform Architecture Linux Kernel Native Library Android Runtime Java API Framework Android Runtime Android based on Android API which almost like Java Java application over JavaVM -> Android application Dalvik 안드로이드 대부분의 앱은 자바 기반으로 만들어진다. 자바를 빌드하면 .class 파일이 생성되며 이를 실행하기 위해서는 JavaVM이 필요하다. 하지만, 자바로 열심히 개발해봐야 디컴파일 하면 코드가 모두 보인다. 이를 방어하기 위해 난독화 등을 진행하지만 이는 절대적 방어 .. FireWall/IDS & Network Monitoring FIREWALL/IDS & NETWORK MONITORING 침입차단시스템(F/W , Firewall) 방화벽(Firewall)은 외부의 악의적 공격자의 내부망 침입을 방어하기 위한 보안 장비 정보 보안의 가장 기본이 되는 시스템으로 접근통제(AC)를 통해 내부망에 일정 수준의 보안을 제공한다. 접근을 허용한 포트나 패킷에 대한 보안에 취약하다. 시스템 운영체제나 애플리케이션 레벨 취약점 문제에 대한 대응이 어렵다. 해당 취약점을 방어하기 위한 WAF 존재. 방화벽은 passive 장비로써, 사용자가 rule을 작성하여 이를 기반으로 사용한다. 방화벽은 트래픽의 헤더만 가지고 결정하기 때문에 트래픽 내용에 공격 관련 내용을 확인하지는 않는다. 해당 포트가 열려있는지 안열려있는지만 필터링한다. 침입차단시스.. Cloud Computing Cloud Computing 클라우드 컴퓨팅 필수 구성 요소 광대역 네트워크 대역폭(Broad Network Access) 네트워크를 통하여 다수 단말들에게 서비스를 제공하는 능력을 갖춰야 한다. 최근에는 PC외에도 테블릿, 모바일 등 다양한 단말이 존재하기 때문이다. 서비스 탄력성(Rapid Elasticity) 클라우드 컴퓨팅은 사용자의 서비스 요구사항에 맞춰 자원의 확장, 축소 기능을 제공해야 한다. 측정 가능한 서비스(Measured Service) 클라우드 시스템은 자동적으로 자원의 사용을 제어하고 최적화해야 한다. 모든 자원은 감시되고 제어 되어야 하며 사용자와 서비스 제공자 모두에게 정확한 내역이 제공되어야 한다. 사용자 요청 서비스(On-demand Self-service) 사용자는 서버시.. diff 32bit vs 64bit diff 32bit vs 64bit General BOF EBP-8에 할당되어 있는 변수를 오버플로우 한다고 가정하였을때, EBP에는 SFP가 존재하고, EBP+4에는 RET이 존재한다. 32bit system에서는 SFP가 4byte크기를 갖기 때문에 RET 변조를 위해서는 최소 스택 + 4 byte의 더미를 주고 RET에 접근한다. 하지만 64bit system의 경우에는 4byte 주소를 사용하던 32bit와는 달리 8byte 주소를 사용한다. 따라서, SFP가 8byte이므로 스택 + 8byte만큼의 더미를 주어야 한다. RTL and ROP 이에 대해 학습하기 이전에는 Calling Convention에 대한 이해가 필요하다. 콜링 컨벤션은 크게 3가지 존재하며 여기서 주목할 것은 cdecl 과.. CyberPlatform Security #1 CyberPlatForm Security 1. CyberPlatform_Basic_1 Platform Security 란 : 컴퓨터 보안 + 인터넷 보안 컴퓨터 보안 : 데이터를 보호하고 공격자를 방해하기 위해 설계된 도구들의 집합 인터넷 보안 : 정보 전송에 관여하는 보안 위반을 탐지, 차단 그리고 방어하는 기능들의 구성 Computer Security의 목표 Confidentiality(기밀성) : 인가된 사용자만이 데이터에 접근할 수 있다. Integrity(무결성) : 인가된 사용자만이 데이터를 수정할 수 있다. Availability(가용성) : 인가된 사용자만이 서비스를 사용할 수 있다. 추가 개념 Authenticity(인증) : 서비스에 대한 유효성이 신뢰성 있는 Source로부터 온 것인.. Android App Hooking with Frida Android App Hooking with FRIDA 본 글에서는 앞서 설치한 FRIDA를 사용하여 App Hooking 예제를 풀며 공부한 내용을 작성한다. 문제 파일은 아래 링크에서 다운로드 받을 수 있다. Uncrackable1 Donwload Link ###[분석 환경] OS : macOS Mojave Tools : Frida, adb, Python 3.7.4, Genymotion ###[문제 풀이] adb install명령어를 통해 다운로드 받은 .apk파일을 설치한다. 그 이후, AVD에서 해당 앱을 실행시켜본다. 프로그램을 실행시키면 루팅 탐지가 동작되어 OK버튼 클릭시 앱이 죽는다. 루팅 탐지 루틴와 관련된 문제임이 느껴진다. 일단 jadx를 이용해 apk 코드를 분석해보도록 한다. 안드.. FRIDA_Install About Frida 이번 글은 Frida에 대한 소개글이다. FRIDA 참고 [ What is Frida? ] Frida란 파이썬 기반의 라이브러리 + 명령어로 구성되어 있고 Native App 에 대한 후킹을 통해 분석에 도움을 줄 수 있는 프로그램이다. Frida는 JS Injecton을 이용하여 Windows, Linux , IOS, Android, macOS ...등 기반의 네이티브 앱에 대해 후킹을 돕는 파이썬 라이브러리이다. (갓갓 파이썬!) Frida는 크게 패키지와 서버로 이루어져 있으며 분석하는 장치에는 패키지를 설치하고 분석의 대상이 되는 모바일 또는 에뮬레이터에는 서버를 삽입하여 구동하게 된다. 대표적으로는 IOS, Android 등 모바일 분석 덕에 널리 알려져 있으나 타 플랫폼에.. 이전 1 2 3 4 5 6 7 다음