등등/디지털 포렌식

디지털 포렌식 - 2일차

공쓰기 2022. 5. 30. 20:11


* awk : 공백을 구분자로 사용, 몇번째를 $n 방식으로 지정
* sed : 치환(다른 글자로 바꿀 때)    공식:  sed  's/old/new/g'
* sort -u : 중복제거만 함,  uniq -c : 중복을 제거하고 왼쪽에 개수(count)를 표시
* sort -n : 오름차순,   sort -rn : 내림차순
* head : 위에서부터 읽어들임,   tail : 아래에서부터 읽어들임
  - 시간순으로 정리할 경우(로그) : head는 오래된 것,  tail은 최근 것
  - 내림차순으로 정리하면 head는 많은 것부터,  tail은 적은 것 부터

* 사설IP주소가 아닌 것을 골라내려면
- 사설IP는?      192.168.     172.16.    10.
- 사설IP로 시작하려면?   ^192.168.     ^172.16.    ^10.
- 또는을 추가             /^192.168.|^172.16.|^10./
- $3(목적지IP)에서 사설IP가 아닌것을 골라내려면?      $3!~/^192.168.|^172.16.|^10./
- 특수문자를 Escape 처리      $3!~/^192\.168\.|^172\.16\.|^10\./

* sort -k   (k는 key)
     sort -k  1              // 1번째를 기준으로 정렬
     sort -k  1,1            // 1번째를 기준으로 정렬하되, 동일한 경우 1번째 문자를 기준으로 연속적으로 정렬
     sort -k  1,2            // 1번째를 기준으로 정렬하되, 동일한 경우 2번째 문자를 기준으로 연속적으로 정렬

* bpf 필터 : 자연어 처리, 중간에 "  "로 묶어서 그냥 영어식으로 사용하면 필요한 것들을 골라서 볼 수 있음
   ex)  "tcp" : tcp인 것을 모두 골라줌.     "port 22" : 방향을 고려하지 않고 포트번호가 22번인 것을 모두 고르기 위해서

* While문
  While (한줄씩 읽기) do (지정할 내용, 작업할 내용) done

* DNS 특징
- Query(UDP53) : Web Browser에서 DNS 서버에 IP 또는 Domain을 물어보는 것
- Response(UDP53) : DNS서버가 IP 또는 Domain을 Web Browser에게 알려줌
- Record의 종류
     A : 정방향 조회 (Domain 주소를 물어보면 IPv4를 알려줌)
     AAAA : 정방향 조회 (Domain 주소를 물어보면 IPv6를 알려줌) = A6
     PTR : 역방향 조회 (IPv4/IPv6를 물어보면 Domain 주소를 알려줌)              ex) Email 보낼때 king@naver.com
     NS : Name Server       ex) nslookup
     CNAME : 캐노니컬 네임 (별칭, 별명)                ex) IP만 있고 도메인이 없는 사용자에게 도메인 일부를 할당해주는 것
- Zone Transfer : DNS Server가 상위 DNS Server로부터 DNS정보를 요청 또는 수신하는 것 (TCP53)
- DNS 로그 생성 
    구분자는 [**]를 사용   ----> sed문으로 파이프로 치환하고 ---> awk문으로 파이프를 제거하는 방법

* 오후에 VMware의 Windows7을 사용할 예정입니다.
- 압축 파일을 새로 받아야 하는 경우  ha.do/v9P  에서 받으세요 (P는 대문자)

* 포렌식의 의미 : 과학적인 증거를 수집해서 법정에 증거로 제출하는 일련의 과정
  -----> 절차 중요, 반박할 수 없도록 증거 확보, 원본이 보존되어야 함

* HDD Imaging
- 원본은 보존되어야 하므로 복제본을 만들어야 함
- 이미지 복제는 비트열 그대로를 복제하는 것   ----->  지워진 파일에 대한 복원, 복구 가능
- 복사(copy): 파일과 폴더 단위로 복제하는 것   ----->  있는 파일만 볼수 있음

* 명데이터 : HDD복구

* Windows System에 대한 정보 수집
cmd> systeminfo


* 핫픽스(hotpix) : 보안 패치
  KBnnnnnnn 
- 최근에 나온 취약점에 대한 패치 번호가 없으면 취약점이 존재하는 것

cmd> echo %date%  %time%

* Windows7 로그인, 비밀번호 :  john / 윈도12#$
- 내 문서 안에 있는 bitcoin.....pdf 파일의 속성을 봅니다.
- MAC Time
  Create Time (만든 날짜) : 이 컴퓨터에 들어온 날짜 (다운로드, 생성, 복사 등의 날짜)
  Modify Time (수정한 날짜) : 마지막 수정된 시간 (만든 날짜보다 먼저일 수도 있음)
  Access Time (액세스한 날짜) : 바로 반영이 안될 수 있음 (Windows 7의 경우, 시간이 바로 반영 안되기도 함)


* Sysinternals 다운로드
- 구글에서 sysinternals 검색
- Microsoft 공식 웹사이트 클릭
- Downloads 클릭 > sysinternals suite를 클릭
- 다운로드를 다 받으면 압축을 풀고, 압축 푼 폴더를 C:\>로 이동합니다.
- 윈도우에서 실행되는 도구 
    tcpview.exe :  netstat -na와 비슷, 실시간으로 업데이트됨
    diskview.exe : 디스크의 사용 상태 확인
    autoruns.exe : 


실습)  notepad.exe를 실행한 상태에서
cmd> listdlls  notepad.exe
-----> notepad가 사용하고 있는 dll 목록을 확인할 수 있음


ex) 악성코드 분석에 사용되는 경우
----> 악성코드가 사용하는 dll 리스트를 볼 수 있음

 

psinfo -h -s  : 프로세스 정보


* GUI가 없는 Windows Server
C:\> doskey  /history                        // 지금까지 입력했던 명령어를 볼 수 있음


* 텍스트 ----> 노트패드, 워드패드(용량이 클경우)
  이미지 ----> 그림판(paint)

Quiz) 내가 예전에 설치했지만 오늘은 실행하지 않았던 프로세스가 실행중인 이유는?
   ----> 시작앱에 등록되었기 때문

* 시작 앱 확인 방법
- 검색창에 "시작 앱"을 입력하면 시작 프로그램이 뜸
- 반드시 부팅때마다 실행해야 할 것이 아니면 끔으로 설정
- 악성코드(특히 백도어)가 등록되어 있으면 부팅할 때마다 악성코드(백도어)가 실행됨

* 리눅스의 비밀번호는 /etc/shadow 에 저장   ----->  권한이 640으로 설정되어 있어서 root이면 볼 수 있음
  윈도우의 비밀번호는 C:\windows\system32\config\SAM
  ------> 윈도우로 부팅하면 SAM파일이 잠기게 되어 있음 (열어 볼 수 없음)
  ------> 다른 운영체제(linux)로 부팅한 후에 SAM파일을 복사해서 열어보면 됨

실습) Windows7에서 실습합니다
- 시작버튼 누르고  regedit 엔터


* 시스템 최종 접속시간
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
---> ShutdownTime에 보면 아래와 같은 값이 있음
D5 5C 69 AC 97 66 D8 01   --->  D55C69AC9766D801
https://doubleblak.com/blogPosts.php?id=7     
Windows 64bit (Little Endian) 입력하면  ----> 13 MAY 2022 07:04:22 UTC


* Prefetch 파일에 대해서
- notepad를 한번 실행하고 나면 prefetch파일을 확인하면
- notepad.exe-~~~~.pf 파일이 생성되어 있음
- 속성에 보면 Prefetch를 만든시간이 notepad를 실행한 시간임
- 포렌식 자격증 시험 등 중요한 개념임

실습) Windows 7에서 시작 - 보조프로그램 - 스티커 메모 클릭해서 'Prefetch Test'라고 입력합니다.
 Prefetch에서 찾아보세요~

참고) Windows 10에서 하려면 prefetch 폴더에 대한 user의 접근권한이 있어야 함

* ZIP파일 구조 : 구글에서 검색해보면 (PK : 50 4B)
- Header : 50 4B 03 04 14 00
- Central : 50 4B 01 02 14 00
- Footer :  50 4B 05 06
------> 얼만큼이 없는지 잘 모르기 때문에 남아있는 부분을 구글에서 검색해보면 없는 부분을 알 수 있음

실습)  Mannayo 문제 풀기 : 어디서 만나기로 했을까요?  50분까지 풀어보세요~
37 7A  BC AF 27 1C 00 03 1E FA  ---->  7z
37 7A를 추가하고 확장자는 7z을 붙여서 압축을 풀면 yogi.tar 라는 파일이 나옵니다.
00 00 00 0D 49 48 44 52를 검색해보면, PNG의 일부이고, 없는 부분을 알 수 있음
89 50 4E 47 0D 0A 1A 0A 를 앞에 추가해주고, 확장자는 png를 붙여줍니다.


실습) Group은 무슨 그룹일까요?   15분까지 풀어보세요~
   PDF 패스워드 크래킹 도구 다운로드 https://cafe.naver.com/boanworld/524
   Advanced~~~~.zip 파일 다운로드  (Registration Number 안 넣어도 설치됨)


   구글에서 검색해서 25 50 44 46 부분이 없음을 확인하고 추가해줌

8번 9번은 해킹대회문제 -----> 각자 실력되는 사람들만 풀어보기


* 까페에서 실습자료에 있는 'Network Forensic Contest' 파일 2개를 다운로드 합니다~
1번문제) 
2번문제)



* 1번문제 풀이
Ann의 IP를 검색 :    ip.addr == 192.168.1.158
1) Sec558user1
2)  Here's the secret recipe... I just downloaded it from the file server. Just copy to a thumb drive and you're good to go
3)  recipe.docx
TCP Stream단위로 찾다보면, tcp.stream eq 5 에 recipe.docx에 대한 파일이 있음
Frame contains recipe를 해보면 117번 패킷에 있음을 확인
4) 50 4B 03 04 (PK)
5) sugar + water


* 2번 문제 풀이
1) sneakyg33k@aol.com             // 메일 계정 로그인할 때 Base64사용
2) 558r00lz           (룰즈섹...)
3)  mistersecretx@aol.com
4) fake passport and a bathing suit
5) secretrendezvous.docx
  tcp.stream eq 1를  raw로 지정하고  mail.eml    메일로 저장
6)  playa del carmen, Mexico