분류 전체보기
-
[스피어피싱] 10강 쉘코드 디버깅 분석-API 해시카테고리 없음 2024. 8. 31. 22:38
1. 실습 매치된 값들이 실제 쉘코드 어떤 부분에 위치해 있는지 분석한다. analyzeme-sc01.01.bin 파일을 IDA를 이용하여 오픈한다. 이렇게 오픈한 파일은 IDA 입장에서는 현재 어떤 형태인지 모르기에 변환을 해줄 필요가 있다. Edit>Code 또는 단축키 C를 눌러 어셈블리어로 변환한다. Hex View에서 매칭된 API 해시값을 검색해보려 했지만 검색 기능을 지원하지 않는다. 그렇기에 기타 Hex Editor를 사용하여 다시 한번 분석대상 파일을 오픈한다. HexEditor를 이용하여 YARA룰에 의해 매칭된 API 해시들이 실제로 존재하는 것을 확인했다. 분석 결과(analyzeme-sc01.01.bin) :LoadLibraryA(), VirtualAlloc(), Http..
-
[스피어피싱] 9강 쉘코드 API 해시 패턴매칭_YARA 룰셋보안/스피어피싱 2024. 8. 31. 22:05
1. 실습 위의 파일들에 대해 YARA 룰셋을 이용하여 API 해시 매턴 매칭을 진행한다.* 분석 시 문자열 추출(Strings 같은 툴 이용) 해보고 유의미한 결과 얻지 못할시 API 해시 매치 시도하면 좋음 YARA 룰셋이 두개가 확인된다. 이전 강의 시간에 API 해시란 특정 API를 해시 함수를 이용해 해시화 한 것이란걸 말했다. 여기서 중요한건 같은 API라 할지라도 어떤 해시 함수를 사용하느냐에 따라 결과 값이 달라진다는 것이다. 그렇기에 apirule.yara 파일은 여러가지 해시 함수에 대한 결과를 가지고 있는 파일, api_hash_ror13add.yara 파일의 경우 ror13add 해시 알고리즘을 이용하여 API 해쉬화한 패턴들에 대해서 가지고 있는 파일이다. apirule.yara..
-
[스피어피싱] 8강 쉘코드 분석 절차보안/스피어피싱 2024. 8. 31. 20:13
1. 쉘 코드의 셀프 바인딩1.1 바인딩스토리지에 있는 실행파일이 메모리에 매핑됨이 매핑은 로더가 해줌로더는 실행파일에 있는 Import 정보를 분석함이 Import 정보 안에는 실제 DLL 이름과 함수의 이름들이 존재이러한 정보를 이용해 실행 파일이 필요한 라이브러리들을 같이 로드라이브러리에 대한 정보가 뭔지 알려면 Import 정보 분석을 해야함실행 파일이 일을 하기 위해선 함수를 호출해야 하는데 실행 파일도 처음에는 필요한 함수의 위치를 모름그렇기에 실행 파일이 스토리지에 존재할때 IAT(Import Address Table)에 함수의 이름을 포인팅하는 주소값을 넣어놓음메모리에 매핑이 된 후 로더에 의해서 실제 IAT가 재구성이 됨(오버라이트)함수의 이름을 포인팅 -> 실제 API 주소를 포인팅위 ..
-
[스피어피싱] 7강 쉘코드 개요 및 구성요소보안/스피어피싱 2024. 8. 31. 17:02
1. 쉘코드의 동작 및 구성 요소실행 파일(msword.exe) 실행msword.exe를 실행하기 위한 가상 주소 공간 생성해당 가상 주소 공간에 매핑이를 로더를 이용해 로딩된다고 함로더는 이런 프로그램 이미지를 읽어 헤더 정보를 파싱하고 PE 파일을 메모리 매핑이때 PE 헤더를 먼저 할당하고 그 후 각 섹션들을 프로텍션을 할당하며 메모리상에 로딩 진행프로텍션이란 각 섹션이 다른 섹션을 침범하지 않도록 막아주는 베리어 같은 느낌위 과정에서 바인딩 작업 발생로더 프로그램은 실행 파일이 사용하는 함수 및 참조하는 DLL을 자료구조를 통해 파악 후 DLL 로딩메모리에 실행 파일과 라이브러리들이 로딩된 이후 프로그램에 내제된 컴파일된 코드를 실행이러한 코드들이 실행되면서 라이브러릴에 정의된 함수들을 호출함수가 ..
-
[스피어피싱] 6강 악성 문서파일의 구성요소보안/스피어피싱 2024. 8. 31. 15:55
1. 스피어피싱 메일 첨부 파일의 일반적인 유형MS OFFICE 문서PDF 문서HWP 문서RTF 문서압축 파일 2. 첨부파일의 목적소프트웨어 취약점을 공격하여 파일에 내제된 객체(쉘 코드, 스크립트, Exploit, 실행 파일 등)를 강제로 실행공격자가 피해자들에게 기대하는 행위는 이러한 첨부파일을 열람하는 것 3. 악성 문서 파일의 일반적인 구성요소3.1 Exploit문서 파일을 처리하는 소프트웨어의 비정상 동작을 유발하고 임의 코드를 강제로 실행 하도록 유도하는 문서내의 데이터의도치 않은 동작을 유발한느 데이터, 패킷, 소프트웨어 3.2 쉘코드(페이로드)메모리 상에서 임의로 실행되는 머신 코드 혹은 명령어를 의미취약한 소프트웨어의 메모리 공간에서 쉘코드를 실행하는 것이 공격자의 첫번째 목표 3.3 S..
-
[스피어피싱] 5강 스피어피싱 이메일 분석 실습보안/스피어피싱 2024. 8. 31. 14:25
1. 실습 스피어피싱 메일 분석을 위해 msg 파일로된 이메일을 열게될시 바이너리 구조로 되어 있어 분석이 어렵다.이를 가시성 좋게 바꿔주기 위해 툴을 사용하여 변환한다. msg2eml 툴을 이용하여 분석할 msg 파일을 eml 형식으로 변환하였다. sysTools EML Viewer 툴을 사용하여 eml 파일을 메일 형식으로 볼 수 있도록 한다. eml 파일이 지정된 경로로 이동할 시 확인 가능한 eml 파일을 우리가 메일 클라이언트에서 볼 수 있는 UI로 보여준다. sysTools EML Viewer를 이용해 확인 한 Message Header를 분석하기 위해 툴을 사용한다. 의심스러운 이메일 식별 방법은 3가지로 분류된다.해당 기준에 맞춰 분석하였을 경우 결과는 아래와 같다. 메일..
-
[스피어피싱] 4강 스피어피싱 이메일 분석보안/스피어피싱 2024. 8. 31. 14:05
1. 스피어피싱 이메일 분석 1.1 이메일 포맷EML이메일 클라이언트 간 주고받는 메일의 포맷 중 하나이며 마이크로소프트에서 개발 1.2 Envelope "Mail From" VS Message Header "From"Message Envelope에 적혀 있는 정보는 그 이름대로 "편지봉투"의 정보Message Header에 적혀있는 정보는 "편지지"의 정보편지봉투의 To, From 상관없이 편지지 본문에 있는 "To", "From" 메시지는 다를 수 있음우리가 사용하는 메일 클라이언트는(Outlook 등) Message Envelope의 "From"을 보여주는 것이 아닌 Header 부분의 "From"을 보여줌공격자는 스푸핑을 이용해 Message Envelope의 정보를 위조 가능 1.3 의심스러운 ..
-
[스피어피싱] 3강 파일리스 공격(LoL 바이너리)보안/스피어피싱 2024. 8. 30. 20:13
1. LoL 바이너리(LoL Bins)시스템에 설치되어 있으며 별도의 수정없이 바로 사용 가능한(= Built-in) 기능을 가진 정상적인 실행 파일을 의미주로 관리 목적으로 사용되는 경우가 많아 공격에 악용 가능 1.1 공격 관점 기능 LoL Bins의 공격 관점 기능에 대해서 LoLBAS 프로젝트에서 확인 가능 2. 프로세스 인젝션2.1 정의정상적인 프로세스의 유저 메모리 영역에 악성 코드를 기록한 후 실행하는 기술 2.2 사용 목적주로 디펜스 우회나 권한 상승을 위해 사용악성 코드를 삽입하는 정상적인 프로세스는 보통 LoL Bins로 정상 동작 파일들이기에 Anti-Virus등에서 탐지하기 어려움또한 해당 파일들은 보통 시스템 권한으로 실행 중이기에 사용 권한또한 높음주입된 코드는 정상적인 프로세스..