목록Security (73)
tmxklab
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. 키로거 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
0. 목차 Contents 0. 목차 1. 악성코드 식별 1.1 해쉬 생성 툴을 이용하여 해쉬 값 생성 2. 다중 백신 스캐닝 2.1 웹 기반 악성코드 스캐닝 서비스(VirusTotal) 2.2 PE 분석 도구(pestudio) 3. 문자열 추출 3.1 도구를 이용한 문자열 추출 3.2 FLOSS를 이용한 난독화된 문자열 디코딩 4. 파일 난독화 파악 4.1 패커와 크립터 패킹 탐지 툴) 5. PE 헤더 정보 조사 5.1 파일 의존성과 임포트 조사 5.2 익스포트 조사 5.3 PE 섹션 테이블과 섹션 조사 5.4 컴파일 타임스탬프 조사 5.5 PE 리소스 조사 6. 악성코드 비교와 분류 6.1 퍼지 해싱을 이용한 악성코드 분류 Fuzzy Hash ssdeep 6.2 임포트 해시를 이용한 악성코드 분류 임..
0. 목차 Contents 0. 목차 1. 개요 1.1 악성코드개요 1) njRAT 2) njRAT 특징 1.2 분석 정보 1) 분석대상 2) njRAT 압축 해제 후 확인 2. 상세분석 2.1 파일 정보 확인 2.2 샌드박스 분석 2.3 악성행위 분석 1) njRAT 실행 2) builder [클라이언트 생성기] 3) 감염 확인 및 기능 파악 2.4 njRAT 패킷 분석 1) 지정된 포트로 세션 맺기 첫 세션 연결 시 전송하는 목록 2.5 빌더 소스코드 분석 1) 실행환경 검사(안티 VM & 샌드박스 & 디버깅) 2) USB 감염 3) 설치 (은닉, 방화벽 예외, 지속 메커니즘 설정) 4) 세션 생성 5) BSOD: 보호기술 3. 정리 4. 참고 자료 1. 개요 1.1 악성코드개요 njRAT의 설명에 ..
0. 목차 Contents 0. 목차 1. 소개 1.1 CVE-2017-8291 1.2 한글 파일 구조 1.3 EPS파일 로드 과정 1) Process 2) 추가 설명 3) 요약 2. 분석환경 3. 분석 3.1 문서 확인 3.2 PS파일 추출 3.3 포스트 스크립트 분석 3.4 PE파일 분석 3.5 행위 분석 1) 필터 적용 1 2) 필터 적용 2 4. 참고자료 4.1 한글 문서 유형 악성코드 관련 4.2 ghostscript 4.3 OLE Object 1. 소개 HWP 한글 문서형 악성코드는 문서파일 열람시 악성코드에 감염되는 유형으로 주로 한글 프로그램을 사용하는 공공기관이나 가상화폐 관련 기업 등의 대상을 공격하는 타깃형 공격이 2010년 이후부터 꾸준히 발생하였다. 과거에는 한글 프로그램 자체의 ..
0. 목차Contents0. 목차1. 소개1.1 배경1.2 파일리스(Fileless)기법1) AVT(Advanced Volatile Threat)2) 사용 이유3) 문제점2. 파일리스(Fileless) 공격 2.1 공격 절차2.2 Powershell 예제 및 옵션1) Powershell 실행 정책2) Powershell Oneliner Example3. 지속성(Persistence) 3.1 지속성 전략1) 레지스트리2) 서비스3) 작업 스케쥴러4) WMI4. 대응 방안5. 참고자료5.1 Fileless5.2 powershell 옵션에 관한 것 1. 소개1.1 배경공격자는 네트워크를 통해 직접 접근이 어려운 경우 이메일이나 인터넷을 통해 악성 파일을 유입시키는 방법을 선택하게 된다. 이에 대응하기 위해 악..