안녕하세요. 도깬리 포렌식스 입니다.
오늘은 XWF에서의 정규표현식에 대해 알아 봅니다. 모두 화이팅 하세요!!!
정규표현
패턴화된 문자열(예: 이메일, URL, 전화번호, IP주소 등), 헥스(hex)를 쉽고 유연하게 검색하는 기술입니다.
정규표현 엔진은 다양하고, 정규표현을 잘 사용하면 전문가처럼 보일 수도 있겠지만, 포렌식 전문가들은 정규표현 외에도 공부해야 할 것이 너무 많으므로, 정규표현에 너무 집착하면 시간 낭비일 수도 있습니다.
그러나 시험 출제하기에는 정규표현식 만큼 좋은 것도 없으므로 자격시험을 준비중인 취준생들에게는 반드시 학습해야 할 파트이기도 합니다.ㅠ
XWF의 정규표현식
기호 | 의미 |
. | 1개의 문자와 일치 |
# | 1개의 숫자와 일치 |
[] | 특정값의 그룹을 정의, 예) [a-z0-9] : 알파벳 모두와 숫자 검색 |
[^] | 특정값을 제외, 예) [^a-m] : a와 m사이의 문자 제외 |
() | 논리연산자와 함께 사용될 그룹 정의 |
| | 논리적 OR, 예) (ex|bs) : ex 또는 bx와 일치 |
* | 문자나 그룹 뒤에 붙어서 0번 또는 그 이상 일치 |
+ | 문자나 그룹 뒤에 붙어서 1번 또는 그 이상 일치 |
? | 문자나 그룹 뒤에 붙어서 0번 또는 1번 일치 |
\ | 특정의미를 갖는 문자를 회피, 예) \ 를 문자로 인식하고 싶다면 \\ |
\b | 워드 앵커의 시작 또는 끝을 표시 |
^ | 파일의 시작과 일치 |
$ | 논리적 또는 물리적 파일의 끝과 일치 |
\xNN 또는 \NNN | 바이트 값(헥스 또는 10진수), [] 사이에 사용 가능, 대소문자 구분 않함 |
{X,Y} | 문자나 그룹 뒤에 붙어서 X에서 Y번 일치 |
RegexBuddy
정규표현 테스트 도구입니다.
정규표현의 예
항목 | 정규표현식 |
이메일 주소 | [a-zA-Z0-9\-_\.]+@(gmail\.com|hotmail\.com|yahoo\.com) |
6자리 헥스 숫자 | \#[a-f0-9]{6} HTML 문서에서 색을 나타낼 때 사용 |
URL | (http|https|ftp):\/\/[a-zA-Z0-9-./]{5,50} |
유사도 검색 | Keyword1.{최소거리,최대거리}keyword2 Keyword2.{최소거리,최대거리}keyword1 예) foo.{4.8}bar : foo와 bar 사이에 최소 4문자, 최대 8문자가 있어야 일치 |
XWF GREP과 정규표현
GREP syntax
체크하면, 모든 검색어가 정규표현으로 처리됩니다.
- 정규표현식 검색을 할 때 사용합니다.
반만 체크하면, 검색어 앞에 grep: 이라고 입력한 부분만 정규표현으로 처리합니다.
- 정규표현과 일반 검색을 동시에 하고 싶을 때 사용합니다.
- 동시 검색 (Simultaneous Search)이라고 합니다.
체크안하면, 모든 검색어가 일반 문자열로 처리됩니다.
- 일반 검색을 의미합니다.
[Whole words only] 옵션
‘일반 검색’을 선택하게 되면, ‘전체 단어 검색’을 할 것인지 추가적으로 선택할 수 있습니다.
[Search window] 옵션
‘정규표현식 검색’ 이나 ‘동시 검색’을 할 때, 인접해 있는 바이트를 몇 개까지 사용할지 설정을 하게 합니다.
기본설정은 128 바이트입니다.
검색결과를 Search window에서 설정한 길이까지의 데이터만 보여줍니다.
Search window를 이용하여 두 문자열의 거리를 찾는 용도로 활용할수도 있습니다.
즉 유사도 검색에 활용 가능합니다.
각 검색어를 개별적으로 검색한 다음 Search Term List에서 Near 기능을 이용하여 유사도 검색을 진행합니다.
[Allow overlapping hits] 옵션
체크하면, 특정 검색어가 다른 검색어 사이에 포함되어 있어도(중첩되어 있어도) 그 단어를 검색 결과로 보여줍니다.
예) testest 인 경우, 검색결과가 test, test 2개로 나오게 됨
검색결과가 너무 많이 나오므로, 추천하지 않습니다.
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : X-ways Forensics Practitioner's Guide
'XWF' 카테고리의 다른 글
[XWF] X-ways에서의 인덱스 검색 (2) (0) | 2023.01.10 |
---|---|
[XWF] X-ways에서의 인덱스 검색 (1) (0) | 2023.01.08 |
[XWF] X-ways의 검색기능 (2) (0) | 2023.01.04 |
[XWF] X-ways의 검색기능 (1) (0) | 2023.01.02 |
[XWF] X-ways로 레지스트리 분석하기 (0) | 2022.12.31 |