2023 공부 로그🐰

[ 악성코드 ] PreLab 6, Lab 6 (스텔스 프로세스) -3

L_Chae 2023. 11. 16. 18:45

3. HideProc2.exestealth3.dll을 사용한 nodepad.exe 프로세스 은폐

 

(1) Windows 10 가상머신에 접속한 후, Visual Studio를 구동하여 HideProc2.cpp에 대응되는 HideProc2.exe 파일과 stealth3.cpp에 대응되는 stealth3.dll 파일을 생성한다. (빈 프로젝트, 유니코드 문자집합, debug 모드에서 생성함)

 

(2) Pre-Lab의 실행 파일을 관리자 권한으로 실행해야 돼서, HideProc2.cpp 파일에서 SetPrivilege 관련 내용은 삭제하지 않음.

 

(3) HideProc2.cpp 파일에 있는 InjectDll 함수와 EjectDll 함수 안에서 사용된 WaitForSingleObject 함수의 INFINITE 파라미터 값을 1000으로 변경한다(백그라운드 프로세스가 무한정 기다리지 않게 하기 위함)

 

(4) stealth3.cpp 파일에서 사용된 NewZwQuerySystemInformation 함수에서 pPrev =0 으로 초기화하는 코드를 추가한다.

 

(5) Notepad.exe를 실행하고, Process Explorer와 작업관리자 (shift + ctrl + esc 키를 누름)를 실행한다. Process Explorer와 작업관리자에서 Notepad.exe가 보이는지 확인한다.

 

(6) Windows PowerShell을 관리자 권한으로 실행한다. PowerShell상에서 cp 명령어를 이용하여 stealth3.dllC:\Windows\System32 폴더에 복사한다. PowerShell상에서 hide 옵션을 이용하는 HideProc2.exe 프로그램을 실행한다. (형식: HideProc2.exe hide stealth3.dll)

 

(7) Process Explorer상의 Find 기능을 통해서 stealth3.dll이 인젝된 프로세스들을 확인한다.

 

(8) Process Explore와 작업관리자에서 notepad.exe 가 더 이상 보이지 않는 것을 확인한다.

메모장은 현재 켜져 있음

 

(9) 추가로 실행시킨 Process Explorer상에서도 notepad.exe가 보이지 않는 것을 확인한다.

추가로 실행시켜도 나타나지 않음

 

(10) notepad.exe를 추가로 실행시키고, (5)번에서 실행한 Process Explorer 및 작업관리자와 (9)번에서 실행한 Process Explore에서 notepad.exe가 보이지 않는 것을 확인한다.

추가로 실행시켰음에도 불구, 보이지 않음

 

(11) PowerShell상에서 show 옵션을 이용하는 HideProc2.exe 프로그램을 실행한다. (형식: HideProc2.exe -show stealth3.dll)

 

(12) (5)번에서 실행한 Process Explorer 및 작업관리자와 (9)번에서 실행한 Process Explore에서 notepad.exe가 보이는지 확인한다.


1. Pre-Lab61번 방식대로 notepad.exe를 은폐할 경우에 발생할 수 있는 문제점은 무엇인가?

 

 

2. Pre-Lab62번 방식은 1번 방식의 문제점을 어떻게 해결하였는지 서술하시오.

 

 

3. Pre-lab63번 방식은 2번 방식을 어떻게 개선하였는지 서술하시오.