작은 메모장
쉘코드 개요 및 구성요소 본문
쉘 코드의 기본 개념
소프트웨어 취약점을 공격하는 익스플로잇의 페이로드
아주아주 작은 크기의 코드 => 기계어 코드
다양한 방법으로 메모리에 주입 후 실행이 목적
익스플로잇, 문서형 악성코드, 코드 익젝션 기능을 활용하는 악성코드 분석에 필수
대부분 API나 라이브러리 함수를 이용하여 구현 ->
1) 호출하는 라이브러리 함수나 API를 식별
2) 호출한 라이브러리 함수 및 API에 전달하는 파라미터를 확인
쉘 코드의 동작 방식
일반적인 실행파일과 다르게,
- 별도의 포맷이 존재하지 않음
- 대부분의 경우 코드 및 데이터로만 구성
- 익스플로잇, 악성코드 등에 의해 메모리에 주입된 후 실행
- 대체로 시스템에 존재할 가능성이 높은 DLL/SO만을 사용
- 쉘코드가 직접 바인딩을 수행(셀프 바인딩)
- API 문자열 및 API Hash값을 바인딩함
'KISA 사이버 보안 훈련 > 스피어피싱 대응 기본' 카테고리의 다른 글
쉘코드 API 해시 패턴매칭_YARA 룰셋 (0) | 2023.05.22 |
---|---|
쉘코드 분석 절차 (0) | 2023.05.22 |
악성 문서 파일의 구성 요소 (0) | 2023.05.21 |
스피어 피싱 이메일 분석 실습 (0) | 2023.05.21 |
스피어 피싱 이메일 분석 이론 (0) | 2023.05.21 |