Skip to content
조회 수 23221 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

DLL Injection은 어떻게 이루어지는가?

 

첫번째 - 레지스트리를 조작하는 방법

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs Windows의 많은 어플리케이션들이 user32.dll을 호출합니다.

이 DLL에는 창관리자를 호출하는 API 함수들이 있습니다. Windows가 기본적으로 GUI 환경이고 그 때문에 어플리케이션들도 user32.dll을 호출하기 마련이죠.

 

user32.dll은 LoadLibrary() 함수를  이용하여  AppInit_DLLs  안에  지정된  DLL들을  호출합니다.

 공격자가 이 레지스트리 값을 악의적으로 변경한다면 악성코드를 프로세스에 심을 수 있죠.

이 방법은 해당 레지스트리 값만 조사하면 금방 탐지될 수 있는 단점이 있습니다.

보통 정상적인 경우라면 위에서도 언급했듯이 값이 비어있기 때문이죠.

그렇더라도 레지스트리가 무엇인지 모르는 윈도우즈 사용자가 대부분이기 때문에 이것만으로도 꽤 치명적이라 할 수 있습니다.

 

두번째 - DLL 코드 자체를 변경하는 방법

Email-Worm.Win32.Warezov.nf 이라는 웜이 AppInit_DLLs 값을 변경하여 DLL Injection을 시도하는 한 예입니다.

이것은 이메일의 첨부파일이 실행되면 악성 DLL을 C:\WINDOWS\system32에 생성합니다.

그리고 AppInit_DLLs 값을 변경하여 이후에 user32.dll을 호출하는 프로세스에 악성 DLL을 삽입하죠.

 

 

세번째 - 윈도우 후킹함수를 이용하여 Injection

주고받는 메시지를 후킹할 수 있는 함수 SetWindowsHookEx() 함수에 삽입할 DLL의 Handler, 즉 주소와 함수의 주소를 인자로 넣음으로써 메모리에 올라간 프로세스에 삽입하게 됩니다.

SetWindowsHookEx (WH_KEYBOARD, KeyHookProc, hModule, NULL);

 

네번째 - CreatRemoteThread() 함수를 이용

CreatRemoteThread() 함수는 이름 그대로 쓰레드를 만드는 API 함수입니다.

 

 

로그인 후 댓글쓰기가 가능합니다.

?

  1. 09
    Feb 2011
    19:19

    UrlDownloadToVar()

    CategoryAutoHotKey Views15464
    Read More
  2. 09
    Feb 2011
    19:14

    부팅 완료 체크

    CategoryAutoHotKey Views17864
    Read More
  3. 07
    Feb 2011
    09:02

    [autohotkey] 레지스트리 재부팅이 필요한 항목 수정후 재부팅 없이 바로 적용시킬수있는 방법

    CategoryAutoHotKey Views16145
    Read More
  4. 07
    Feb 2011
    09:00

    IE 추가기능관리

    Category컴퓨터잡담 Views15482
    Read More
  5. 07
    Feb 2011
    08:38

    프로세스

    Category프로세스 Views312175
    Read More
  6. 07
    Feb 2011
    08:33

    CKAgent.exe npkcmsvc.exe nvsvc32.exe

    Category프로세스 Views13217
    Read More
  7. 06
    Feb 2011
    11:57

    smas.exe 프로세스 내용 및 삭제

    Category프로세스 Views13302
    Read More
  8. 06
    Feb 2011
    11:49

    RTHDCPL.EXE / Alcmtr.EXE / SKYTEL.EXE

    Category프로세스 Views13681
    Read More
  9. 06
    Feb 2011
    11:47

    rundll32.exe와 svchost.exe

    Category프로세스 Views13995
    Read More
  10. 06
    Feb 2011
    11:42

    npkcmsvc.exe 서비스 끄기 (엔프로텍트 nProtect)

    Category프로세스 Views13323
    Read More
  11. 06
    Feb 2011
    11:38

    JQS.EXE jusched.exe (JavaQuickStarterService) 부팅시 자동실행 중지시키기

    Category프로세스 Views14734
    Read More
  12. 06
    Feb 2011
    11:31

    dgdersvc.exe 서비스 중지 및 사용안함, 삭제 설정

    Category프로세스 Views23937
    Read More
  13. 06
    Feb 2011
    08:01

    Mysqld 프로세서 실시간 감시

    CategoryAutoHotKey Views7611
    Read More
  14. 05
    Feb 2011
    22:09

    OnMessage()

    CategoryAutoHotKey Views20463
    Read More
  15. 05
    Feb 2011
    16:09

    [autohotkey] TCP/IP 메시지 전달방법

    CategoryAutoHotKey Views13988
    Read More
  16. 05
    Feb 2011
    15:24

    언인스톨 사용하기

    Category컴퓨터잡담 Views3688
    Read More
  17. 05
    Feb 2011
    08:19

    [autohotkey] FTP-업로드 예제분석

    CategoryAutoHotKey Views18619
    Read More
  18. 04
    Feb 2011
    23:27

    [AUTOHOTKEY] FTP 제어

    CategoryAutoHotKey Views25246
    Read More
  19. 29
    Jan 2011
    08:30

    IOStream 함수

    CategoryVisual C++ Views20026
    Read More
  20. 29
    Jan 2011
    08:11

    객체지향

    CategoryVisual C++ Views23844
    Read More
Board Pagination Prev 1 ... 34 35 36 37 38 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소