Skip to content
조회 수 23226 추천 수 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 함수입니다.

 

 

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

?

List of Articles
번호 분류 제목 날짜 조회 수
1074 연예정보 빅뱅 CNN 출연 아시아 스웨그(Swag) 한번볼까? file 2016.09.05 2515
1073 유용한상식 빌게이츠가 말한 뜨끔한 명언 2015.11.25 592
1072 회로도전자부품 빨래집게 권총 만들기(성냥개비 총) 2014.03.17 5503
1071 재미재미 빵터지는 여자 file 2012.09.23 4651
1070 종교와철학 사기열전 file 2017.02.10 2808
1069 일상 사다함의 매화 3 2009.07.07 15165
1068 유용한상식 사도세자가 죽게 된 이유 1 file 2016.11.06 3266
1067 유용한상식 사드 설치비는 1초 5천억원 미국이 부담한다. 1 file 2016.07.11 1827
1066 유용한상식 사드배치 과연 국익에 도움이 될까? file 2016.07.11 3111
1065 종교와철학 사마양저병법 file 2017.01.13 2462
Board Pagination Prev 1 ... 126 127 128 129 130 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소