prof.ysu.ac.kr1).docx · web viewregistry를 이용한 forensic 분석 2.1 설치된 프로그램...

Post on 09-Jan-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

시스템 포렌식<Registry 와 RegRipper>

사이버 경찰학과10141324

권나경

1. Registry 란?1.1 Registry 의 개념1.2 Registry 이 구성1.3 Registry 의 Hive File 목록

2. Registry 를 이용한 Forensic 분석 2.1 설치된 프로그램 목록

목 차

2.2 USB 외부 저장 장치 사용 이력2.3 최근 접근 문서2.4 접근한 인터넷 주소 목록2.5 최근 실행 명령어

3. RegRipper 란?3.1 RegRipper 툴 소개3.2 RegRipper 툴 설치

4. RegRipper 툴을 사용하여 정보 알아내기4.1 Registry 에서 hivefile 인 system 추출하기4.2 알아낸 정보를 설명 및 분석

5. 출처

RigRipper 라는 툴을 사용하기 전에 기본적으로 Registry 에 대해서 알아야 사용할 수 있기 때문에 Registry 에 대해서 알아보도록 하겠습니다.

<1.1 Registry 의 개념>=> 운영체계 안에서 작동하는 모든 프로그램의 시스템 정보를 담고 있는 데이터베이스=> Registry 에는 부팅 과정에서 사용되는 정보뿐만 아니라 로그인, 서비스 실행, 응용 프로그램

실행, 사용자 실행에 이르기 까지 윈도우 시스템에서 수행되는 많은 활동에 관여한다.=> Registry 에서 모든 값(Value)은 키 내에 위치하며, 키들은 계층형 구조로 되어 있다.=> Registry 에 대해 자세히 들여다 보고 싶으면 [Windows 키]+[R]을 한 뒤 입력 창에 regedit 를

입력하면 된다.

<1.2 Registry 의 구성>

1. Registry 란?

빨간 색으로 표시된 것이 ROOT_KEY

=> 하이브(Hive) 파일은 Registry 정보를 디스크에 저장한 바이너리 파일이며, 이 파일은 시스템이 로그온 되면 시스템 커널 프로그램에 의해 관리된다.

▶ HKEY_CLASSES_ROOT=> OLE 객체 클래스 ID 와 같은 등록된 응용 프로그램의 정보를 담고 있다.=> HKEY_CLASSES_ROOT\Software\Classes 의 항목을 사용한다.

▶HKEY_CURRENT_USER => 현재 로그인한 사용자의 설정을 담고 있다.

▶ HKEY_LOCAL_MACHINE=> 컴퓨터의 모든 사용자의 설정을 담고 있다.

▶ HKEY_USERS=> 컴퓨터에서 사용 중인 각 사용자 프로파일에 대한 HKEY_CURRENT_USER 키에 일치하는

서브키를 담고 있다.

▶ HKEY_CURRENT_CONFIG=> 실행 시간에 수집한 자료를 담고 있다. 이 키에 저장된 정보는 디스크에 영구적으로 저장되지

않고 시동 시간에 생성된다.

▶ HKEY_PERFORMANCE_DATA=> 런타임 성능 데이터 정보를 제공한다.

<1.3 Registry 의 Hive File 목록>Hive 파일 이름 윈도우 Registry 경로 저장 정보

HKEY_USER\.DEFAULT Default 사용자 계정이 생성될 때, 기본적으로 필요한 정보를 저장한다.

HKEY_LOCAL_MACHINE\SOFTWARE

Software 응용 프로그램 정보

HKEY_LOCAL_MACHINE\SAM Sam 사용자 계정 정보 저장HKEY_LOCAL_MACHINE\ Security 감사정책 및 권한정보 저장

Registry 는 실제 디스크 상에서 “하이브(HIVE)”로 불리는 분리된 파일로 존재하며 윈도우 부팅과정에서 메모리에 적재되어 관리된다.

SECURITYHKEY_LOCAL_MACHINE\SYSTEM System 하드웨어 드라이버 및 구성정보

HKEY_USERS Ntuser.dat(각 윈도우 계정마다

하나씩 별도로 존재함)

사용자 계정에 설정된 정보저장

=> Registry 의 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist 경로에 해당하는 하이브 파일의 위치 정보가 저장되어 있다.

=> Registry 는 사용자의 활동 정보나 응용프로그램 사용 흔적, 설치된 하드웨어 및 소프트웨어 정보, 네트워크 설정 정보와 같은 많은 증거와 각각의 키에 마지막 수정 시간이 기록되어 있기 때문에 일종의 로그로써 활용이 가능하다.

Registry 의 키 값의 위치로 사용자가 어떠한 작업을 했는지에 대해 알아보도록 하겠습니다.<2.1 설치된 프로그램 목록>=> Registry 의 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

\UnInstall 경로에 설치된 프로그램의 이름, 버전, 게시자, 설치 시각, 설치 위치, 소스 경로가 저장되어 있다.

=> 하위 키는 설치된 응용 프로그램의 목록을 가리키고, 값에 설치된 프로그램 정보가 저장되어 있다. 프로그램 추가, 삭제 목록을 조사하여 사용자가 의도하지 않은 특정 프로그램이 설치되어 있는지, 해당 프로그램이 정상적인 프로그램인지를 확인 할 수 있다.

=> 사용자가 최소 한번이라도 응용 프로그램을 실행 했을 경우, Registry HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explirer\UserAssist\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\count 경로에 실행한 프로그램의 경로와 실행 유형, 실행 횟수, 최종 실행 시간이 저장된다.

2. Registry 를 이용한 Forensic 분석

<2.2 USB 외부 저장 장치 사용 이력>=> USB 에 장치를 연결하면 관련 드라이버 정보 등이 Registry 에 저장되는데 이 정보를 분석하여

대상 시스템에 연결한 USB 외부 저장장치 사용 이력을 조사할 수 있다. 해당 정보는 Registry HKEY_LOCAL_MACHINE\SYSTEM\Current ControlSet\Enum\USBSTOP

경로에 저장되며 해당 시스템에 연결된 적이 있는 모든 USB 저장 장치의 생산자와 ID 값 등이 기록되어 있다.

=> USBSTOR 하위키는 {Device Type}&Ven_{Vendor String}&Prod_{Product String}&Rev_{Version Information}와 같은 형태로 기록되어 있다.

=> 해당 시스템에는 3 개의 USB 외부 저장장치가 연결되었음을 알 수 있다.

암호화된 응용 프로그램 이름실행 횟수

마지막 실행 시간

해당 장치의 종류 제조사제품 이름 제품 버전

=> 선택되어 있는 해당 키는 해당 장치의 Unique Instance ID 를 나타내는데, 모든 USB 저장장치가 서로 다른 값을 갖는다. 해당 값은 다른 시스템에 연결된 때도 같은 값으로 나타나기 때문에, USB 저장장치를 특정할 수 있다.

<2.3 최근 접근 문서>=>윈도우 탐색기를 사용해서 ‘더블클릭’을 통해 열람된 파일 목록 정보는 Registry HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

경로에 저장된다.

=> 하위키는 확장자 별로 구분하여 사용된 문서 정보를 저장한다. 해당 값은 유니코드로 저장된다.

<2.4 접근한 인터넷 주소 목록>=> 웹 브라우저 주소창에 기록하는 주소 목록을 Registry

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs 경로에 기록한다.=> 이 정보를 분석하면 사용자가 자주 접속하는 웹 페이지, 주제, 키워드 등을 유추할 수 있다.

<2.5 최근 실행 명령어>=> 윈도우의 실행 창을 통해서 입력된 명령어 목록을 Registry HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

경로에 기록된다.

=> 위의 그림과 같이 Registry 에 저장되는데 실행한 순서는 MRUList(Most Recent Used List)값에 나타난다. 이 값은 가장 최근에 사용된 명령어 순서로 값 정보를 저장한 배열이다.

Ex> 데이터에 abc 라고 기록되어 있는데, 그 의미는 c 가 가장 먼저 실행되었고, b,a 순서로 실행 되었음을 의미한다. 즉 a 의 마지막 기록 시간에 마지막으로 실행 창을 통해 명령어를 실행했음을 의미한다.

<3.1 RegRipper 툴 소개>=> RegRipper 는 Windows Forensic Analysis 의 저자인 할렌 카비가 작성한 Registry 분석기=> CLI 버전(rip.exe)과 GUI 버전(rr.exe)으로 되어 있다.=> RegRipper 에 대한 자세한 사항은

통하여 볼 수 있다.

3. RegRipper 란?

<3.2 RegRipper 툴 설치>=> http://blog.naver.com/karasix/10094251384 첨부파일을 선택하여 RegRipper 설치=> 설치 후 화면

=> rr.exe 클릭하여 연다.

우리가 수업시간에 system 이라는 hive file 을 추출하지 못하여서 system hive file 추출하는 과정에 대해서 알아보겠습니다.

<4.1 Registry 에서 hivefile 인 system 추출하기 >[Window]+R 키를 이용하여 Registry 편집기 접속-> Registry 편집기의 경로는 HKEY_LOCAL_MACHINE\SYSTEM

4. RegRipper 툴을 사용하여 정보 알아내기

내보내기를 클릭하여

파일이름은 SYSTEM 으로 하고 파일 형식은 Registry hive file 형식을 설정하고 저장한다.저장을 하고 나면 바탕화면에 SYSTEM 이라는 hive file 이 생성된다.

Hive File 에 아까 만들어 놓은 system 파일을 넣고 Report File 은 그 결과값을 받을 곳을 지정하면된다. 저는 REPORT 라는 TXT 파일에 결과값을 받도록 하겠다.아래의 형식대로 지정한 다음 아래의 Rip It 을 클릭을 하면 System 에 있는 값을 알 수 있다.

바탕화면에 REPORT 라는 TXT 형식이 2 개가 생기는 것을 볼 수 있다.

<4.2 알아낸 정보를 설명 및 분석>위에서 추출한 REPORT 에서 첫번째 txt 를 클릭하면

위에 값들을 확인할 수 있는데 내가 생각하기에 plugins 에 매치하여 알려주는 정보? 라고 생각한다. 확인해본 결과,

아래의 결과 값과 일치하는 것을 볼 수 있다. 두번째 txt 파일을 클릭하면 SYSTEM HIVE FILE 을 돌려서 얻은 결과물!

컴퓨터 꺼진 시간부터 USB 꽂은 흔적 사용자가 설정한 모든 흔적들이 담겨져 있다.

<4.3 Registry 에서 hivefile 인 user 추출하기(최근 기록 확인하기) >[Window]+R 키를 이용하여 Registry 편집기 접속-> Registry 편집기의 경로는 HKEY_CURRENT_USER

내보내기를 클릭하여

파일이름은 USER 으로 하고 파일 형식은 Registry hive file 형식을 설정하고 저장한다.저장을 하고 나면 바탕화면에 USER 이라는 hive file 이 생성된다.

한 후 TXT 파일을 확인해보면

top related