반응형

전체 글 298

4주차 퀴즈

1. 포렌식에서 기기의 더 많은 데이터를 얻기위한 방법으로, 기기의 슈퍼권한을 얻는 것을 무엇이라 하는가? 2. 물리적 데이터 수집 방법 두가지를 제시하시오. 3. 사용자가 파일을 삭제하면 실제 데이터와 파일 시스템의 메타데이터가 모두 삭제된다 (T/F) 답 1. 루팅 2. JTAG, 칩오프 3. False. 실제 데이터가 아닌 파일 시스템의 메타데이터만 삭제한다.

안드로이드 데이터 복구 기법

데이터 복구 최근에는 사용자 인식 높아져서 옵션 작동 잘 안될 수있음. 예를 들어 데탑에서 shift+delete하면 완전히 삭제가능.. 데이터 복구는 기기에서 삭제된 데이터에 정상적으로 접근하지 못할 때 해당 데이터를 되찾는 과정임 할 때 주의할점 -휴대폰 압수 후 다른 용도로 사용 x -휴대폰 사용안되고 있을 때도 데이터는 덮어쓰워질 수 있음을 명심 삭제된 파일 복구 모든 안드로이드 파일 시스템은 파일, 파일 이름 등의 계층에 대한 정보 담긴 메타데이터 가지고 있음 파일 석제는 실제 데이터 삭제가 아니라 파일 시스템 메타데이터만 삭제하는 거임 그래서 사용자한테는 안보이지만 삭제해도 데이터는 남아있게됨 SD 카드에서 삭제된 데이터 복구 외부 SD카드는 간단하다. 외부 저장소로 마운트해서 수집할 수 있음..

안드로이드 데이터 추출 기법

안드로이드 폰 이미징포렌식에서 물리 또는 논리적 수집과정을 기기 이미징 이라고 함물리적 이미지는 안드로이드 기기 메모리의 비트 단위 복사본비트 단위 이미지는 기기 상의 콘텐츠를 복사 붙여넣기 하는 것과는 다름기기 콘텐츠를 복붙하는거는 보이는 파일, 숨겨진 파일, 시스템 관련 파일만 복사.. -> 논리적 이미지논리적 이미지로는 삭제된 파일이나 접근 불가능한 파일들은 복사되지 않음.모든 데이터를 얻으려면? 메모리 비트 단위로 이미징 해야함 가정) 전원이 켜지지 않는 데스크탑 컴퓨터를 압수해 포렌식 조사를 함조사관은 write blocker에 연결해 비트 단위 포렌식 이미지를 도구를 사용해 얻어냄 -> 원본 하드디스크는 데이터의 포렌식 이미징 과정 동안 안전하게 보호..  안드로이드 기기는 내부 저장소, 외부..

28. 어셈블리 언어를 이용한 Code 인젝션

어셈블리 프로그래밍올리디버거에서 지원하는 assenble 기능을 이용해서 프로그래밍.. OllyDbg의 Assemble 명령asmtest.txt를 올리디버거로 열어서 코드 섹션의 맨 윗부분(401000) 봄여기 주소에 커서 올리고 마우스 우클릭해서 'New origin here[Ctrl+Gray]항목 누르면 EIP가 해당 주소로 변함 여기서 스페이스 누르면 어셈블 입력창 떠서 간단한 어셈블리 프로그래밍 할 수 있음  ThreadProc() 작성C로만든 ThreadProc()함수와의 차이점은 Code 사이에 필요한 Data를 포함하는 것CALL 명령어 넣고.. ASCII 항목에는 ReverseCore 문자열 넣음 이때 문자열은 반드시 NULL로 끝나야하 하니 hex 에서 00을 추가함..이 명령 하면 코드..

27. Code 인젝션

Code 인젝션상대방 프로세스에 독립 실행 코드를 삽입한 후 실행하는 기법일반적으로CreateRemoteThread() API를 이용해 원격 스레드의 형태로 실행하므로 Thread 인젝션이라도고 함. DLL 인젝션 vs Code 인젝션DWORD WINAPI ThreadProc(LPVOID lParam){ MessageBoxAa(NULL, "www.reversecore,com", "ReverseCore", MB_OK); return 0;}windows 메시지 박스 출력하는 코드 DLL인젝션이면 위에 코드를 DLL 파일 형태로 만들고 다른 프로세스에 인젝션하면됨 디버거로 열면 이렇게 나온다. 10009290, 1000929C 주소의 문자열을 확인하면 DLL의 데이터 섹션에 위치한 문자열을 가르키..

메모리 관리 퀴즈

1. 주소 공간을 랜덤 배치하도록하는 것은 무엇인가?더보기ASLR 2. 프로세스는 쪼개서 메모리에 떨어뜨려서 두어도 운영체제에서 변환하므로 분할하여도 상관없다. (참/거짓)더보기거짓하드웨어인 MMU가 변환함 3. 단편화로 인한 공간을 업애는 과정은 메모리 압축이라한다. 메모리압축의 문제 점 한가지를 서술하시오더보기축하는 동안 시스템은 모든일을 중지해야됨. 이때 대화형 사용자는 응답시간이 일정하지 않아서 실시간 시스템은 문제 발생할 수 있음. 메모리에 있는 작업들을 이동해야되니까 프로그램적재할 때 제거되는 대치 관련 정보를 액세스 가능한 형태로 보관해야됨.압축 작업을 자주 요구하니까 시스템 자원 소모가 크다..

메모리 관리

지역성의 원칙(principle of Locality)프로그램은 어떤 특정 시간에는 주소 공간 내의 비교적 작은 부분만을 접근시간적 지역성(Temporal Locality)한번 참조된 항목은 곧바로 다시 참조되는 경향공간적 지역성(Spatial Locality)어떤 항목이 참조되면 그 근처에 있는 다른 항목들이 곧바로 참조될 가능성 높음 컴구 복습 내용은 패스..   메모리 관리 메모리의 역할메모리는 실행하고자 하는 프로그램 코드와 데이터에 적재CPU는 메모리에 적재된 코드와 데이터를 처리실행시키려면 반드시 하드디스크에 있는거를 메모리로 가져와야한다. 운영체제에 의해 메모리 관리가 필요한 이유메모리는 공유 자원이기때문에 여러 프로세스 사이에 메모리 공유하고 각 프로세스에게 물리 메모리 할당아니까메모리는 ..

26. PE Tools

프로세스 메모리 덤프, PE 헤더 Editing, PE Rebuilding 기능 가짐 홈페이지: http://petools.org.ru다운경로: http://petools.org.ru/updates/pt_update_08_rc7.zip이라는데.. 사이트가 없어진듯 https://petoolse.github.io/petools/ PE ToolsPortable executable (PE) manipulation toolkitpetoolse.github.io 이걸로 받음 PE Tools 주된 목적은 프로세스 메모리 덤프   프로세스 메모리 덤프덤프란 메모리의 내용을 그대로 파일로 저장시킨다는 뜻주로 실행 중인 프로세스의 메모리 내용을 확인할 때 자주사용한다..실행 압축 파일의 경우 메모리에서는 압축 해제된 상..

25. PE 패치를 이용한 DLL 로딩

대상 프로그램의 실행 파일을 직접 수정하여 DLL을 강제로 로딩하는 방법: 한 번 적용해두면 별도의 인젝션 과정 없이 프로세스가 시작할 때마다 원하는 DLL을 로딩하게 만들 수 있음, 일종의 크랙TextView.exe의 참조 DLL:KERNEL32.dll, USER32.dll, GDI32.dll, SHELL32.dll 등의 주요 Windows DLL을 참조하며, 이들은 프로그램이 Windows API 기능을 사용하는 데 필요.이러한 DLL을 통해 파일 관리, 메모리 할당, 창 처리, 그래픽 렌더링 등 다양한 기본적인 운영 체제 기능을 호출 가능  IMPORT Directory Table의 구조:IMAGE_IMPORT_DESCRIPTOR 구조체에 의해 구성되며, 각 DLL에 대한 정보를 포함.Origina..

반응형