윈도우 시스템 파일에서 발견된 수상한 문자열, 그 정체는?

by DD
2개월 전
조회수 10

윈도우 시스템 파일(.exe, .dll, .sys)에서 가장 많이 발견되는 문자열인 'UVWATAUAVAWH'의 의미를 분석함

해당 문자열이 어셈블리 코드의 함수 프롤로그(Function Prologue)와 일치하며, 64비트 코드에서 흔히 사용됨을 밝힘

유닉스 환경에서의 유사한 문자열 검색 및 바이너리 파일 내 문자열 검색 기법(String Search Techniques)에 대한 논의가 진행됨

'UVWATAUAVAWH'와 대응되는 팝(pop) 시퀀스(Sequence)를 찾아, 바이너리 파일에서 검색하는 방법 제시

'UVWATAUAVAWH' 문자열의 어셈블리 코드 분석

게시글은 'UVWATAUAVAWH' 문자열을 16진수로 변환하여, 각 문자가 어셈블리 명령어에 해당하는 것을 보여준다. 특히, `push rbp`, `push rsi`, `push rdi` 등 레지스터를 스택에 저장하는 `push` 명령어의 시퀀스임을 밝힌다. 이는 64비트 코드에서 함수의 시작 부분, 즉 프롤로그(Prologue)에서 흔히 사용되는 패턴이다. 이러한 분석을 통해, 해당 문자열이 단순히 무작위적인 것이 아니라, 특정 목적을 가진 코드 조각(Code Snippet)임을 추론할 수 있다.

유닉스 환경에서의 유사 문자열 검색

댓글에서는 유닉스 환경에서 유사한 기능을 수행하는 문자열인 `UH..AWAVAUATSH`를 제시하고, 이를 검색하는 방법을 소개한다. `xxd` 명령어를 사용하여 바이너리 파일을 16진수로 변환하고, `grep` 명령어를 통해 특정 문자열을 검색하는 기법을 보여준다. 이는 윈도우 환경에서의 분석과 유사하게, 바이너리 파일 내에서 특정 패턴을 찾는 일반적인 방법(General Method)을 보여준다. 특히, `-fomit-frame-pointer` 옵션을 사용한 바이너리의 경우, `UAWAVAUATSH` 패턴이 나타날 수 있음을 언급한다.

바이너리 파일 분석 도구 및 기법

게시글과 댓글에서는 바이너리 파일 내 문자열 검색을 위한 다양한 도구와 기법을 소개한다. `strings` 명령어를 사용하여 바이너리 파일에서 문자열을 추출하고, `grep` 및 `xxd` 명령어를 조합하여 특정 패턴을 검색하는 방법을 제시한다. 이러한 기법은 리버스 엔지니어링(Reverse Engineering), 악성 코드 분석, 그리고 시스템 보안 분야에서 널리 사용된다. 특히, `grep -oba` 옵션을 사용하여 파일 내에서의 위치 정보를 함께 얻는 방법은, 분석의 정확성을 높이는 데 기여한다.

대응되는 팝(pop) 시퀀스 분석

게시글은 `UVWATAUAVAWH` 문자열에 대응하는 팝(pop) 시퀀스를 분석하고, 이를 바이너리 파일에서 검색하는 방법을 제시한다. `push` 명령어와 반대로, 스택에서 레지스터 값을 복원하는 `pop` 명령어 시퀀스를 찾아, 바이너리 파일 내에서 해당 패턴을 검색할 수 있음을 보여준다. 이러한 분석은 함수 프롤로그와 에필로그(Epilogue) 간의 관계를 이해하고, 바이너리 코드의 구조를 파악하는 데 도움이 된다. 또한, 팝 시퀀스 검색을 통해, 코드의 실행 흐름을 추적하고, 잠재적인 취약점을 발견할 수 있다.

UVWATAUAVAWH, The Pushy String

댓글 0

첫 번째 댓글을 남겨보세요!