목록분류 전체보기 (285)
tmxklab
Hasherezade's projects PE-bear Portable Executable reversing tool with a friendly GUI hasherezade.github.io
1) DLL Injection Dropper 3-1(DLL Injection) 0. 목차 0. 목차 1. DLL Injection이란 2. DLL Injection 유형 분석 2.1 분석환경 2.2 예제 소스 코드 및 컴파일 3. 분석 3.1 정적 분석 1) sub_4010F0((int)"explorer.exe") 2) CreateToolhelp32Snapshot() 3) su.. rninche01.tistory.com 2) Process Hollowing Dropper 3-2(Process Hollowing) 0. 목차 0. 목차 1. Process Hollowing이란 2. Process Hollowing 유형 분석 2.1 분석 환경 2.2 예제 소스 코드 및 컴파일 3. 분석 3.1 정적 분석 1)..
1. SetWindowsHookEx()MS에서는 프로세스간에 주고 받는 메시지를 후킹할 수 있는 함수를 제공해주는 데 그것이 바로 SetWindowsHookEx()라는 함수이다. idHook후킹하고자 하는 메시지의 ID(메시지 유형은 msdn에서 참고)idHook 파라미터에 지정된 값의 이벤트(메시지)가 발생할 경우 훅 프로시저 동작lpfn훅 프로시저에 대한 포인터hmod훅 프로시저를 포함하는 DLL에 대한 핸들dwThreadId훅 프로시저를 호출하는 스레드 식별자0이면 모든 스레드에서 훅을 호출 SetWindowsHookEx()를 통해 우리는 특정 후크 프로시저를 후크 체인에 넣을 수 있으며, 특정 이벤트 발생 시 특정 스레드(모든 스레드가 될 수 있음)에서 훅 프로시저를 호출할 수 있게 된다. 2. ..
0. 목차 Contents 0. 목차 1. APC Injection이란 비동기 프로시저 호출 (APC) Alertable State란? QueueUserAPC 2. 동작 과정 3. APC DLL Injection 디버깅 msg.dll - 인젝션되는 DLL 4. 참고자료 1. APC Injection이란 Remote DLL Injection과 유사하지만, CreateRemoteThread()를 사용하는 대신 비동기 프로시저 호출(APC, Asynchronous Procedure Calls)을 사용해 타겟 프로세스의 스레드가 악성 DLL을 로드하도록 한다. 비동기 프로시저 호출 (APC) APC함수는 일반적으로 사용하는 parameter를 전달받아 바로 호출하는 SPC(Synchronous Procedure..
0. 목차 1. 커널 메모리 내용 2. 유저모드, 커널모드 3. Window API 호출 흐름 1. 커널 메모리 내용 커널 메모리는 OS와 장치 드라이버를 포함한다. 커널 메모리는 다음 주요 컴포넌트로 이루어져 있다. ① hal.dll 하드웨어 추상 레이어(HAL, Hardware Abstraction Layer)는 로드 가능한 커널 모듈 hal.dll에 구현되었으며, 다른 하드웨어 플랫폼(주로 칩셋)을 지원하는 함수를 구현하기 떄문에 HAL은 OS와 Hardware에서 분리한다. 주로 윈도우 실행 프로그램, 커널, 커널 모드 장치 드라이버에 서비스를 제공 커널 모드 장치 드라이버는 하드웨어와 상호작용하고자 하드웨어와 직접 통신하지 않고 hal.dll에서 익스포트한 함수를 호출 ② ntoskrnl.exe..
0. 목차 1. 다운로더 2. 드로퍼 3. 키로거 4. 이동식 미디어를 통한 악성코드 복제 5. 악성코드 명령 및 제어 6. 파워쉘 기반 실행 1. 다운로더(Downloader) 인터넷에서 다른 악성코드 컴포넌트를 다운로드하고 시스템에서 실행하는 프로그램 다운로드를 위해 UrlDownloadToFile() API 호출 다운로드 완료 후 ShellExecute(), WinExec(), 또는 CreateProcess() API 호출하여 다운로드한 컴포넌트 실행 2. 드로퍼(Dropper) 추가 악성코드 컴포넌트를 내부에 포함하고 있는 프로그램 실행되면 드로퍼는 악성코드 컴포넌트를 추출해 디스크에 저장 일반적으로 리소스 섹션에 추가 바이너리를 포함한다. 내장한 실행 파일을 추출하고자 FileResource()..
일반적으로 공격자는 윈도우가 재부팅되더라도 악성코드가 계속 실행되기를 바란다. 이러한 지속성을 유지하기 위해 윈도우가 시작될 때마다 악성코드를 실행할 수 있는 다양한 방법이 존재한다. 0. 목차 1. 레지스트리 2. 스케줄 작업 3. 시작 폴더 4. Winlogon 레지스트리 항목 5. 이미지 파일 실행 옵션(IEFO) 6. AppInit_DLLs 7. DLL 검색 순서 하이재킹 8. COM 하이재킹 9. 서비스 10. 지속성 탐지 11. 참고자료 1. 레지스트리 가장 일반적인 지속 메커니즘 중 하나는 run 레지스트리 키에 항목을 추가하는 것이다. 실행 레지스트리 키에 추가한 프로그램은 시스템 시작 시 실행된다. 다음은 가장 일반적인 run 레지스트리 키 목록이다. HKCU\Software\Micros..
DLL 정리악성코드는 일반적으로 윈도우 API(Application Programming Interface)함수를 사용해 파일 시스템, 프로세스, 메모리, 네트워크 작업 수행을 위해 OS와 상호작용한다.상호작용을 위해 필요한 기능 대부분을 동적 DLL(Dynamic Link Library)파일로 Export한다.실행 파일은 다른 기능을 제공하는 다양한 DLL에서 이들 API 함수를 임포트한 후 호출한다.따라서, 악성코드가 의존하고 있는 DLL과 임포트하고 있는 API함수를 조사하면 악성코드의 기능을 분석할 수 있다. 1) Kernel32.dll부팅시 로드되어 모든 프로그램에 사용되고 커널이 애플리케이션에게 제공할 수 있는 서비스 함수 형태로 존재프로세스, 메모리, 하드웨어, 파일 시스템 작업과 관련된 함..
NTInfo ntinfo horsicq.github.io
보호되어 있는 글입니다.