정보보안/Spear-Phishing
2023. 8. 27.
[Spear-Phishing] ShellCode Analysis (API Hash Pattern Matching)
1. ShellCode란 Exploit의 페이로드로 이용되는 작은 크기의 코드 페이로드의 목적뿐만 아니라 악성코드 드엥 의해 다양한 상황과 목적에 활용됨 오늘날은 기계어와 데이터로 이루어져있음 셸코드를 분석하기에 앞서 셸코드의 동작방식을 이해해보자. 먼저 실행파일이 로더에 의해 로딩된 이후 다양한 DLL을 불러온다. (kernel32.dll , user32.dll) 프로그램이 실행되면 프로그램 내부의 헤더와 코드가 실행된다. 이후 라이브러리에 정의된 함수들을 호출하게 될 것이고, 리턴코드가 실행되면서 위 DLL들을 가져오게 된다. 만약 실행파일의 내부에 셸코드가 있다면, 가상 메모리 공간인 스택 버퍼 혹은 힙 버퍼에 적재될 수 있다. 셸코드는 각각의 라이브러리 내의 함수 주소를 알 수 없으므로 바인딩이라..