336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Module(dll) list 

프로세스안에 있는 dll 목록 



ejection 과정 



DLL Injector - ej.txt



-----



Eject


참고 : http://msdn.microsoft.com/en-us/library/ms686849(v=VS.85).aspx





HANDLE hModuleSnap = INVALID_HANDLE_VALUE;   // 모듈리스트의 헨들값을 담는다 

MODULEENTRY32 me32; 

 

//  Take a snapshot of all modules in the specified process. 

hModuleSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwPID ); 

// 모듈리스트를 구해주는 함수, 3,4번 구현할때 쓰임 

      // ejection할 프로세스의 PID -> dwPid



//  Set the size of the structure before using it. 

me32.dwSize = sizeof( MODULEENTRY32 ); 

 

//  Retrieve information about the first module, 

//  and exit if unsuccessful 

        if( !Module32First( hModuleSnap, &me32 ) ){  

   CloseHandle( hModuleSnap );     // Must clean up the snapshot object! 

   exit(0);

 

        do 

// me32.szModule(모듈의 이름)이나 me32.szExePath(모듈경로)과 

    // 여러분이 입력한 DLL PATH나 NAME 을 비교해서 같다면 반복문을 멈춤 

// 그렇게 하면 me32는 찾아낸 모듈(dll)의 정보를 가짐. 

 

         } while( Module32Next( hModuleSnap, &me32 ) ); 

hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);

pThreadProc = (LPTHREAD_START_ROUTINE)  GetProcAddress(hKernel32, "FreeLibrary");

hThread = CreateRemoteThread(hProcess, NULL, 0, pThreadProc, me32.modBaseAddr, 0, NULL);

  


//  Do not forget to clean up the snapshot object. 

CloseHandle( hModuleSnap ); 



------------


악성코드


악성 메일

URL

토렌트 


-> 공식 홈페이지에서 다운 받기 





바이러스 - 기생적인 형태(숙주가 있어야 함), 복제

  자신 또는 자신의 변형코드를 실행프로그램(Host File) 시스템 영역 등 

  실행 가능한 부분에 복제하는 프로그램 


웜 -  컴퓨터의 기억장소 또는 내부에 코드 또는 실행파일 형태로 존재

  네트워크를 통해 자신을 복제하는 프로그램

  실행 시 파일이나 코드를 네트워크와 전자우편 등을 통해 

   다른 시스템으로 자기 복제를 시도하는 형태



트로이목마 - netpos

자기 자신을 복제하지 않지만 악의적 기능을 포함하는 프로그램

악의적 목적에 적극적으로 활용되는 프로그램 또는 데이터 형태 


특징 - 사용자에게 흥미를 유발하여 설치하도록 유도

특정 정보 유출,....



스파이웨어 - 사생활 침해 가능성이 있는 유해 가능 프로그램 

사용자 동의 없이 또는 사용자를 속여 설치되어 다음 작업을 수행하는 프로그램 


웹브라우저의 홈페이지 설정이나 검색 설정 변경 또는 시스템 설정 변경 .

정상 프로그램의 운영을 방해, 중지 또는 삭제 

정상 프로그램의 설치를 방해 

운영체제 또는 타 프로그램의 .... ...




Dowloader - dropper 

Rootkit - 커널영역에 백도어를 심는 것, 은폐를 위한 목적 

Keylogger -  키값을 수집하는 프로그램 

Exploit - 취약점을 이용한 공격

Ransom Ware -  암호화 시켜서 복호화를 빌미로 돈을 요구 

Kit (VirusGenerator) - 배우지 않아도 악성코드를 제작할 수 있도록 만들어놓은 도구 




---------


악성 코드 분석 방법


동작(행동)분석 -> 한번 실행 해보고 악성 코드의 증상 확인 


정적 분석 -> 악성코드를 실행하지 않고 분석


동적 분석 -> 악성코드를 실행하고 단계적으로 분석 





동작 분석 


Filemon -> 파일의 변화 감지 


Regmon -> 레지스트리의 변화 감지 


tcpView -> 네트워크의 변화 탐지 


         -> 위의 세개를 하나로 묶어놓은 프로그램 -> ProcMon



Procexp -> dll 확인, 프로세스 변화 관찰 


WinAlysis -> 시스템 상태를 스냅샷 찍기은 후 기준을 잡은 다음

     악성코드 실행 후 대조 




----




정적 분석 


디스어셈블러 -> 기계어를 어셈블리 언어로 변환 -> IDA Pro



-> 함수 위주로 분석 



IDA Pro -> 그래픽 뷰로 전체적인 흐름을 확인 할 때 유용 


PEid -> 패킹여부 확인 


PEVIEW -> PE 구조에서 section 부분 확인 


PEBrowser -> 





------


동적 분석 



OllyDBG


Wireshark




-> cmd -> regedit -> 레지스트리 확인 











'Reversing' 카테고리의 다른 글

gdb commands  (0) 2015.07.22
analysis malicious codes  (0) 2014.10.20
dll injection  (0) 2014.10.16
The usages of loadLibrary() for making dll and function pointer  (0) 2014.10.15
Anti-debugging  (0) 2014.10.14
Posted by af334