[DVIA] 11. Sensitive Information in memory
메모리에 중요 정보 노출
111. Sensitive Information in memory
Q1. A couple of properties with the name "Password" & "Username"
몇몇 속성의 이름은 "Password" 와 "Username"
Q2. An instance variable named "passwd"
인스턴트 변수 명은 passwd이다.
# pe -ef | grep Damn
# gdb -p 1200
(gdb) b malloc
(gdb) c
(gdb) finish - > 사용하지 말 것!!
(gdb) i r r0
(gdb) i mach-region 0x00000000 0xFFFFFFFF
(gdb) dump memory [메모리 덤프 명] 0x00000000 0xFFFFFFFF
+ (gdb) info mach-regions : 메모리 맵 및 구역 속성 확인
+ (gdb) info mach-regions 0x00000000[address] : 특정 address가 속해있는 구역의 특성
+ (gdb) info mach-tasks : attach 할 프로세스 정보 확인
+ (gdb) info mach-task [PID] : 하나의 프로세스[PID]에 대한 정보 확인
(gdb) q
덤프 생성 확인
Hex Editor를 이용하여 덤프를 확인하였으나, 메모리 내 "Password" & "Username"을 확인하지 못했지만 인스턴트 변수는 확인(DVIA 를 사용한 후 메모리 덤프 추천 ex, Runtime Maniulation에 Login Method 등)
패스워드가 안나오는걸 보니 이건 아니듯한데..
[추가] 메모르 덤프 쉘 스크립트
메모리 덤프 소스를 약간 수정해서 만든 쉘 스크립트
일단은 DVIA 애플리케이션에서 Appication Patching 파트 내 Login Method 1 기능을 이용하여 로그인 시도한다. 메모리 내 Heap 영역은 사용자가 애플리케이션을 실행한 후 사용된 정보들이 동적으로 기록되는 영역이다.
이제 위에서 다운받은 쉘 스크립트를 iDevice에 삽입한다.
처음 삽입한 쉘 스크립트에 실행 권한이 없으므로 권한을 부여하며, 힙 덤프를 추출할 애플리케이션 바이너리 명칭을 획득한다.
# chmod 777 dump.sh
# ps -ef | grep Damn
# ./dump.sh DamnVulnerableIOSApp
해당 폴더 하위에 애플리케이션 이름으로 생성된 폴더가 보이며, 하위에는 heap 덤프를 한 파일들이 존재한다. 해당 파일 내 이전에 로그인 시도한 패스워드 기록이 남아있는 것을 확인 가능하다.
원본 다운로드 : https://github.com/NetSPI/heapdump-ios
'40. > 42. iOS' 카테고리의 다른 글
iOS Memory 문자열 변조(String Edit in iOS Memory) (0) | 2016.04.20 |
---|---|
iOS GNU Debugger 설치 (0) | 2015.01.20 |
iRET, Snoop-it 동시 설치 (0) | 2014.11.23 |
iNalyzer5 (0) | 2014.11.23 |
[DVIA] 10. Binary Patching (0) | 2014.11.12 |