안녕하세요. 도깬리 포렌식스 입니다.
오늘은 GREP (Global Regular Expression Print) 정규표현식에 대해 알아 봅시다. 검색 기술중에서 Grep 검색은 이메일 주소, 전화번호 등과 같이 정형화된 데이터를 검색할 때 유용한 기술입니다.
GREP 표현식
기호 | 의미 | 예 |
. | 하나의 문자로 어떤 문자가 와도 상관없음 | |
[abc] | [ ]안의 어떤 문자가 와도 상관없음 | [ck]orea : corea, korea 둘다 포함됨 |
[^abc] | [ ]안의 어떤 문자가 와도 안됨 | [^ck]orea : corea, korea 둘다 포함되지않음 |
[a-z] | a~z 사이의 어떤 문자가 와도 상관없음 | |
\x01 | 16진수 표기법임 | 문자로 나타낼 수 없는 백스페이스(\x08), 탭(\x09)와 같은 값을 표기할 때 사용 |
\w0123 | 유니코드를 나타내는 4자리 정수 | |
(abc) | 문자의 그룹을 나타내는 것으로 항상 연속적으로 존재해야 | |
? | 어떤 문자가 0번 또는 1번 반복됨 | ##?/##?/#### : 01/01/2008, 1/1/2008 둘다 포함됨 |
* | 어떤 문자가 0번 이상(0 포함) 반복됨 | pro,*neer : proneer, pro,neer, pro,,neer, pro,,,neer 등 모두 포함 |
+ | 어떤 문자가 1번 이상(1 포함) 반복됨 | pro,+neer : pro,neer, pro,,neer, pro,,,neer 을 포함함 |
abc{X,Y} | 어떤 문자나 단어가 X번 이상, Y번 이하로 반복됨 | abc{3,7} : abccc, abcccc,~, abccccccc 를 포함함 |
\ | 어떤 문자가 GREP 표현에 사용되는 문자가 아니라 실제 찾고자 하는 문자라는 것을 표현하기 위해 사용 | 1\+2 : 1+2 를 표현함 |
a|b | OR의 의미로 앞뒤에 어느 문자로 표현될 수 있음을 의미 | forensic.(com)|(co.kr)|(org) |
GREP 검색의 예
기호 | 의미 | 예 |
…MZ | .는 하나의 문자로 어떤 문자가 와도 상관없다는 의미 | ADMZ ZMZ ASDDEFJHMZKJYTRDF 02 ,MZ , ,-MZ ABNMZLK .!=MZ MZ |
george[ ,-]science | [ ] 문자는 ‘또는’의 의미로 어떤 문자가 와도 상관없다는 의미 | forensic ,science forensic science fprensicscience forensic,science forensic-science forensic ,-science forensic science |
pro[0-9a-z]neer | [ ]안의 내용은 ‘또는’의 의미, 0-9는 임의의 숙자, a-z는 a~z 사이의 임의의 알파벳 의미 | Pro neer Pro0neer Pro01neer Pro9neer Prozneer Proa-zneer Pro,neer |
987654321[^#] | ‘^’ 는 그 다음에 나오는 문자는 제외하고 아무 문자나 와도 상관없다는 의미 | YM987654321AS 12987654321454 987654321 1111198765432100000 11111987654321A0000 ….987654321. |
MY +STORY | ‘+’ 문자는 앞서 나오는 문자가 적어도 한번 이상 반복됨을 의미 | MYSTORY MY STORY MY STORY MY +STORY my STORY my story |
02[) ]+3290-1212 | ‘+’ 문자는 앞서 나오는 문자가 적어도 한번 이상 반복이고, [ ]안의 문자 중 어느 문자든 적어도 한번 이상 반복됨 | 02 3290-1212 02 3290-2121 (02)3290-1212 (02) 3290-1212 (02)) 3290-1212 02-3290-1212 02) ) ) 3290-1212 023220-1212 |
digital-*forensic | ‘*’ 는 앞서 나오는 문자가 0번 이상 반복됨을 의미 | digital forensics digital-forensics digitalforensic digital-forensic digital----frensic |
031[) ]*333-4567 | ‘*’ 는 문자 이외의 표현식에도 사용 가능하다. | 033 333-4567 033)333-4567 033) 333-4567 033 ) )) ) 333-4567 033-333-4567 033333-4567 0333334567 |
proneer\x0D\x0A | ‘\x’ 이후에 나오는 2 개의 16진수 값은 특정 문자의 16진수 값을 의미 (\x0D\x0A는 윈도우 환경에서 엔터키를 의미) | Proneer pronEER proneer. Pro!neer Proneer Proneer is a man… |
proneer? | ‘?’ 는 앞서 나오는 문자가 0번 또는 1번 나올 수 있음을 의미 | Proneer pronee PRONTIER pioneer |
C:\\images\\pronner\.gif | ‘\’는 escape 문자 역할, 뒤에 오는 문자가 GREP 표현에 활용되는 GREP 표현 문자가 아니라, 문자 그 자체의 의미를 갖게 함 | C:\images\proneer.gif |
Case[^a-z] | Case 문자열 뒤에 알파벳이 오면 안된다는 의미 | casehello encase-certificate case casetest test-case case1 |
http://www\.[a-z]+\.com | http://www. 문자열 뒤에 .com 도메인을 갖는 알파벳으로만 이루어진 사이트 주소를 의미 | http://www.forensicfocus.com/ http://www.forensic-proof.com http://www.tistory.com/ https://blogs.sans.org/computer-forensics/ http://proneer.tistory.com/ |
####-####-####-#### | ‘#’ 는 어떤 숫자 문자와도 일치함, 카드숫자 패턴 찾기임 | 1234-1234-1234-1234-1234-1234 (3번 매칭됨) 1212-1212-4545-4545 7777-7777-7777-444 1234123412341234 |
[45]###-?####-?####-?####[^#] | 카드번호를 좀 더 정교하게 찾는것임, 4, 5로 시작되는 카드번호를 찾겠다는 것을 의미, ‘-‘ 문자가 나오거나 나오지 않거나 상관없다는 의미, 마지막에 숫자가 이어서 나오지 말아야 함을 의미함 | 4563-7778-9854-6556 5668998744123315 44444444-44444444 5555555555555555 1234123412341234 |
\(?###[) \-]+###[ \-]?####[^#] | 전화번호에 대한 패턴을 찾는 것임, 맨 앞에 ‘(‘ 가 0번 또는 1번 올 수 있다는 의미, 지역번호에 이어 구분자 ‘)’, ‘ ‘, ‘-‘가 1번 이상 반복됨을 의미 | (031) 845-3215 (032) -522-1123 033-335-5568 042 478 9985 055)))- -985-7741b 02)398-5541 |
##?#?\.##?#?\.##?#?\.##?#?[^#\.] | IP 주소 패턴을 가리킴 | 192.168.21.2 255.255.255.255 0.0.0.0 163.152.165.1 233.2254.211.11 0.0.0.0. 11..224.223.5 |
##?[/\-]##?[/\-]###?#? | 날짜 표현식을 가리킴 | 23/10/2009 23/1/2009 23-10-2009 23-1-2009 2-1-2009 23/10/09 23-Oct-2009 20-Dec-2009 |
##z|x | ‘|’ 문자는 논리적인 OR의 의미로 두 숫자 이후에 어느 문자나 올 수 있음 | bbc cdc 123zbc 325h1n1 567zx 123dkk 123xx |
[ \-/](may)|(jun|l)[ \-/] | may, ju 를 기준으로 ‘-‘ 와 ‘/’로 구분된 문자열 패턴을 나타냄 | 20th Dec 2009 2nd May 2009 23-Jun-09 11-Apr-2009 12/Jul/09 |
From ?:.{20,200}To ?: | 이메일 헤더 패턴을 찾기 위한 표현식임. ‘{ }’표현은 20~200 사이의 어떤 문자가 와도 상관없다는 의미 | From : proneer@gmail.com To : encase_admin@hotmail.com |
www\.[a-z]+\.com|(\.kr) | www로 시작하고, 주소는 알파벳으로 이루어지고, 도메인이 .com, .kr을 갖는 URL 패턴 찾기 | http://www.forensic-proof.com/ http://www.tistory.com/ http://www.youtube.co.kr/ http://www.daum.net/ https://forum.codejock.com/default.asp |
감사합니다. 오늘도 즐거운 하루 되세요
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : EnCase Computer Forensics (2)
'EnCase' 카테고리의 다른 글
[EnCase] 윈도우 사용자 데이터 (User Data) 분석 (2) (0) | 2022.04.10 |
---|---|
[EnCase] 윈도우 사용자 데이터 (User Data) 분석 (1) (0) | 2022.04.08 |
[EnCase] PDE (Physical Disk Emulator) 드라이브 마운트 기술 (0) | 2022.04.04 |
[EnCase] 논리적 증거 이미지 (Logical Evidence Images) (0) | 2022.04.02 |
[EnCase] 가상 파일시스템 (Virtual File System) 분석 기법 (0) | 2022.03.30 |