'Secure Story'에 해당되는 글 7건

  1. Vega Secret Up(IM-A900) KitKat Recovery 구동 (2)
  2. [Android]정말 빠른 안드로이드 에뮬레이터
  3. [Android]안드로이드 후킹!
  4. [Android]안드로이드 관련 분석
  5. Device Tree For Android
  6. 0x0001 임베디드 해킹 해외 참고사이트[스마트TV]
  7. [번역] IOS Application Security Testing Cheat Sheet (1)

NOTICE :

# 본 Recovery 이미지로 루팅 테스트는 하지 않았습니다.

# 단지 Vega Secret UP의 Recovery 이미지를 fastboot를 이용하여 부팅까지 가능하게 만든 이미지입니다.

# 구글링을 통해 자신이 원하는 Custom Recovery를 적용하여 사용하시길 바랍니다.

# SKT, KT, LG 전부 적용 가능합니다.

# TWRP Recovery 적용되어 있습니다.

# ref : http://sonyue.com/bbs/thread-82027-1-1.html



FILE :


IM-A900_all.7z.001


IM-A900_all.7z.002


신고

참고 블로그 : http://devbible.tistory.com/250


실제다운받는 곳 : https://cloud.genymotion.com/page/launchpad/download/



*로그인해야 다운로드 받을 수 있고 이용할 수 있지만 정말 획기적으로 빠르다 

저작자 표시
신고

http://www.cydiasubstrate.com/id/73e45fe5-4525-4de7-ac14-6016652cc1b8/


현재 내게 가장 필요한 기술 !! 성공하자!

저작자 표시
신고

http://blog.naver.com/PostView.nhn?blogId=chogar&logNo=80190429921



저작자 표시
신고

Device Tree For Android

Device Tree (디바이스 트리)

Intro

"오픈 펌웨어 디바이스 트리" 또는 간단히 디바이스 트리(DT)는 하드웨어를 서술하기 위한 데이터 구조와 언어입니다. 더 정확하게는, 어떤 운영 체제에 의해 읽혀져서 운영 체제가 그 머신의 상세 사항을 하드 코딩할 필요 없게 하는 한 하드웨어의 서술입니다.

구조적으로, DT는 이름있는 노드들로 이루어진 하나의 트리, 또는 사이클이 없는 그래프이고, 노드들은 임의의 데이터를 캡슐화하는 이름있는 프로퍼티 를 임의의 개수만큼 갖습니다. 또한 한 노드에서 자연스러운 트리 구조의 밖 다른 곳으로 임의의 연결을 만들 수 있는 메카니즘도 존재합니다.

개념적으로, 데이터 버스, 인터럽트 라인, GPIO 연결, 그리고 부속 장치들을 포함하는 일반적인 하드웨어 속성을 서술하기 위해서 트리 안에서 데이터가 어떻게 나타나야 하는지를 위한 '바인딩'이라고 부르는 사용 용법의 공통 부분이 정의됩니다.

가능한 한 많이, 이미 존재하는 지원 코드의 사용을 최대화하기 위해서 이미 존재하는 바인딩을 사용해서 하드웨어가 서술됩니다. 그러나 프로퍼티와 코드 이름은 간단한 문자열이기 때문에, 이미 존재하는 바인딩을 확장하거나, 새로운 노드와 속성을 정의하는 것으로 새로운 것을 하나 생성하는 것은 쉽습니다. 그러나, 이미 존재하는 것에 대한 어떤 과제를 먼저 하지 않고, 새로운 바인딩을 생성하는 것은 조심하세요. 이전에 어떻게 기존 시스템에서 i2c 디바이스들이 열거되는지를 먼저 파악하지 않고 생성된 새로운 바인딩 때문에 현재 두가지 다른, 호환되지 않는 i2c 버스를 위한 바인딩이 있습니다.

  • ATAG : 부트로더와 커널간의 파라미터를 주고 받는 전통적인 인터페이스
  • Device Tree : Embedded에서 수많은 포팅을 지원하기 위해 하드웨어를 기술한 자료구조

Ref URL : http://devicetree.org/Device_Tree_Usage


Boot Image For Android

Header & Layout


QC table of device tree 

  • Android는 QCDT의 Device Tree를 사용
  • device tree의 새 테이블을 가리키도록 기존의 부트 이미지 헤더의 "unused #1, #2"를 사용(#1 - device tree의 QC 테이블 크기)
  • Android의 Device Tree Format의 구조는 아래와 같다.

Format

신고

http://samygo.tv/

신고

'Secure Story' 카테고리의 다른 글

0x0001 임베디드 해킹 해외 참고사이트[스마트TV]  (0) 2013.11.29

IOS Application Security Testing Cheat Sheet

원문 보기

목차

  1. Cheat Sheet 초안 (진행중)
  2. 소개
  3. 정보 수집
  4. 어플리케이션 트래픽 분석
  5. 실시간 분석
  6. 안전하지 않은 데이터 저장
  7. 도구
  8. 관련 기사
  9. 저자 및 주 편집자
  10. 다른 Cheat Sheet


Cheat Sheet 초안 (진행중)

소개


이 Cheat sheet는 iOS 어플리케이션 테스트 시 수행되는 항목의 체크리스트를 제공한다. 모바일 어플리케이션을 평가할 때 일부 영역은 고려되어야한다. : (클라이언트 소프트웨어, 통신채널과 서버측 인프라).
iOS 어플리케이션 테스트는 JaileBreak가 적용된 디바이스가 필요하다. (설치되는 소프트웨어에 아무런 제한을 두지 않는 디바이스)

 

정보 수집


  • 어플리케이션 동작 관찰
  • 어플리케이션의 데이터 상태(안정시, 이동 중 또는 표시)와 민감도를 파악
  • 접근 방법 식별
  • 사용중인 서버 측 API 식별
  • 사용중인 프로토콜 식별
  • 다른 어플리케이션 또는 서비스와 어플리케이션 간의 상호 작용 식별
  • 앱 스토어 바이너리 해독 : .ipa 실행 시 커널의 mach 로더에 의해 복호된다. Cydia는 사용가능한 일부 어플리케이션이 있다.(Crackulous, AppCrack and Clutch) 또한, GDB를 사용할 수 있다. 어플리케이션의 암호화 여부는 LC_ENCRYPTION_INFO의 "cryptid" 필드로 식별된다. "otool –l | grep –A 4 LC_ENCRYPTION_INFO" 명령어를 사용한다.
  • 컴파일된 어플리케이 구조 파악 : otool –f or lipo -info .
  • 함수, 클래스 및 메서드는 어플리케이션과 동적으로 로드된 라이브러리에 참조되어 있는지에 대한 정보 획득 : "nm " 사용
  • 동적 종속성 목록화 : "otool –L " 사용
  • 어플리케이션에 대한 로드 명령을 추출
  • 컴파일된 어플리케이션으로부터 실시간 정보를 추출. 각프로그램에 컴파일된 클래스 및 메서드 인스턴스 변수와 속성을 식별.
  • class-dump-z 사용.
  • 나중에 Method Swizzling을 위한 hook를 만들거나 앱의 Method를 읽기 쉽게 하기 위해 사용되는 .h 파일에 넣을 수 있다.
  • Keychain에 저장된 어플리케이션 관련 인증 정보와 암호를 나타내기 위해 dump_keychain을 사용하여 Keychain을 추출
  • 소정의 보안 특징을 파악 :
  • PIE (Position Independent Executable) 검출 - PIE 없이 컴파일된 APP(“–fPIE –pie” flag 사용)은 고정된 주소에서 실행파일을 로드한다. 이는 명령을 통해 확인한다. : otool –hv
  • Stack smashing 보호 - fstack-protector-all 컴파일러 flag(컴파일러 옵션) 명시 - "canary"는 저장된 Base Pointer, instruction pointer 및 function arguments를 보호하기 위해 stack에 위치한다.
  • 그것들이 덮어 쓰여졌는지 여부를 확인하기 위해 함수의 리턴 시 검증된다. 이를 확인하기 위해 사용되는 방법 : "Check this using: otool –I –v | grep stack"
  • 어플리케이션이 Stack Smashing 보호하여 컴파일 된 경우 2개의 정의되지 않은 Symbol이 나타난다 : “___stack_chk_fail” and “___stack_chk_guard”.


어플리케이션 트래픽 분석


  • 에러 메세지 분석
  • Cache 정보 분석
  • Transport 계층 보안 (TLS 버전; NSURKRequest object)
  • XML 프로세서 공격
  • SQL Injection
  • 개인정보 이슈 (민감한 정보 공개)
  • 부적절한 Session handling
  • 신뢰되지 않은 입력을 통한 판단
  • 깨진 암호화
  • 관리되지 않은 코드
  • URL 스키마
  • 푸쉬 알림
  • 인증 (Authentication)
  • 권한 (Authorization)
  • Session 관리
  • 데이터 스토리지
  • 데이터 유효성 검증(input, output)
  • Transport 계층 보호 - 인증서가 확인된 어플리케션은 Certificate Pinning을 구현
  • Denial of service (DoS) - 서비스 거부 공격
  • 비즈니스 로직
  • UDID 또는 MAC ID 사용 (개인 정보 보호 문제)


실시간 분석


  • 어플리케이션 디스어셈블 (gdb)
  • 파일 시스템 상호 작용 분석
  • 데이터의 흐름을 알아내거나 "stealer" 앱을 만들기 위해 어느 몇가지 흥미로운 method의 method swizzling hook를 생성하기 위해 class-dump-z로 .h 파일이 만든 것을 사용.
  • 디버거로 어플리케이션 분석 : 메모리의 objects, 호출 함수 및 method를 점검; 실시간 변수와 method를 대체.
  • CFStream and NSStream 조사
  • 프로토콜 핸들러 조사 (어플리케이션 : openURL - URL 요청을 인스턴스화된 소스 어플리케이션을 검증) 예 : 악성 IFrame을 사용하여 어플리케이션의 기본 랜딩 페이지를 재구성해 본다.
  • 버퍼 오버플로우와 메모리 커럽션(메모리 변형)
  • 클라이언트 측 injection
  • 실시간 injection
  • 소스에 대한 접근을 갖는 것은 Xcode의 체계를 사용하여 메모리를 테스트


안전하지 않은 데이터 저장


  • 로그 파일 조사 ( 장치 연결과 분리시 Xcode Organizer의 로그)
  • 어플리케이션 폴더 (var/mobile/Applications), 캐쉬, 백업(iTunes)에서 안전하지 않은 데이터 저장
  • 사용자 정의로 만든 파일 조사
  • SQLite Database 분석
  • 속성 리스트 파일 조사
  • 파일 캐싱 조사
  • 키보드 캐쉬의 안전하지 않은 데이터 저장
  • Cookie 조사 (binarycookies)
  • iOS keycahin 분석 (/private/var/Keychains/keychain-2.db) - keychain이 포함된 어떤 정보에 접근할 때; 공격자가 장치에 물리적으로 접근할 수 있는 경우 Keychain에 저장된 데이터만 접근할 수 있다.
  • Snapshot에서 민감한 정보를 확인
  • 파일과 Keycahin 엔트리의 데이터 보호 검사 (Keychain 항목은 데이터 보호의 접근성 상수를 확인하는 어플리케이션에서 읽을 수 있는 시기를 파악하기 위해)


도구
 

Tool Link Description
Mallory proxy http://intrepidusgroup.com/insight/mallory/ Proxy for Binary protocols
Charles/Burp proxy http://www.charlesproxy.com/  ;

http://www.portswigger.net/burp/

Proxy for HTTP and HTTPS
OpenSSH http://www.openssh.com/ Connect to the iPhone remotely over SSH
Sqlite3 http://www.sqlite.org/ Sqlite database client
GNU Debugger http://www.gnu.org/software/gdb/ For run time analysis & reverse engineering
Syslogd https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/syslogd.8.html View iPhone logs
Tcpdump http://www.tcpdump.org/ Capture network traffic on phone
Otool http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/otool.1.html Odcctools: otool – object file displaying tool
Cycript http://www.cycript.org/ A language designed to interact with Objective-C classes
SSL Kill switch https://github.com/iSECPartners/ios-ssl-kill-switch Blackbox tool to disable SSL certificate validation - including certificate pinning in NSURL
Plutil http://scw.us/iPhone/plutil/ To view Plist files
nm Analysis tool to display the symbol table, which includes names of functions and methods, as well as their load addresses.
sysctl https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/sysctl.8.html A utility to read and change kernel state variables
dump_keychain https://github.com/emonti/iOS_app_re_tools A utility to dump the keychain
Filemon http://www.newosxbook.com/files/filemon.iOS Monitor realtime iOS file system
FileDP http://www.securitylearn.net/2012/10/18/extracting-data-protection-class-from-files-on-ios/ Audits data protection of files
BinaryCookieReader http://securitylearn.net/wp-content/uploads/tools/iOS/BinaryCookieReader.py Read cookies.binarycookies files
lsof ARM Binary https://github.com/u35tpus/iosrep/tree/master/lsof list of all open files and the processes that opened them
lsock ARM Binary http://www.newosxbook.com/index.php?page=downloads monitor socket connections
PonyDebugger Injected https://github.com/dtrukr/PonyDebuggerInjected Injected via Cycript to enable remote debugging
Weak Class Dump https://raw.github.com/limneos/weak_classdump/master/weak_classdump.cy Injected via Cycript to do class-dump (for when you cant un-encrypt the binary)
TrustME https://github.com/intrepidusgroup/trustme Lower level tool to disable SSL certificate validation - including certificate pinning (for everything else but NSURL)
Mac Robber http://www.sleuthkit.org/mac-robber/download.php C code, forensic tool for imaging filesystems and producing a timeline
USBMux Proxy https://github.com/st3fan/usbmux-proxy command line tool to connect local TCP port sto ports on an iPhone or iPod Touch device over USB.
iFunBox http://www.i-funbox.com/ Filesystem access (no jailbreak needed), USBMux Tunneler, .ipa installer
iNalyzer https://appsec-labs.com/iNalyzer/ iOS Penetration testing framework
removePIE https://github.com/peterfillmore/removePIE Disables ASLR of an application
snoop-it https://code.google.com/p/snoop-it/ A tool to assist security assessments and dynamic analysis of iOS Apps

 


관련 기사



저자 및 주 편집자


Oana Cornea - oanacornea123[at]gmail.com
Jason Haddix - jason.haddix[at]hp.com


다른 Cheat Sheet


OWASP Cheat Sheets Project Homepage

Developer Cheat Sheets (Builder)

Assessment Cheat Sheets (Breaker)

Mobile Cheat Sheets

OpSec Cheat Sheets (Defender)

Draft Cheat Sheets

신고

'Secure Story > iOS' 카테고리의 다른 글

[번역] IOS Application Security Testing Cheat Sheet  (1) 2013.11.27