BOOL CreateProcessA(
  [in, optional]      LPCSTR                lpApplicationName,
  [in, out, optional] LPSTR                 lpCommandLine,
  [in, optional]      LPSECURITY_ATTRIBUTES lpProcessAttributes,
  [in, optional]      LPSECURITY_ATTRIBUTES lpThreadAttributes,
  [in]                BOOL                  bInheritHandles,
  [in]                DWORD                 dwCreationFlags,
  [in, optional]      LPVOID                lpEnvironment,
  [in, optional]      LPCSTR                lpCurrentDirectory,
  [in]                LPSTARTUPINFOA        lpStartupInfo,
  [out]               LPPROCESS_INFORMATION lpProcessInformation
);

 

dwCreationFlags 

: 프로세스를 어떤 목적으로 생성할지 결정하는 플래그 (or로 다수 선택 가능.)

 

dwCreationFlags에는 다양한 플래그가 있는데, 그 중에서도 자식 프로세스를 생성할 수 있는 악성행위가 가능한 CREATE_SUSPENDED 플래그를 살펴볼 것임.

 

CREATE_SUSPENDED 

: 프로세스가 중지 상태로 생성 

중지 상태로 생성되기 때문에 스레드 우선순위를 변경하거나, 주소 공간 내 메모리를 변경하거나(INJECTION) 프로세스를 잡에 추가하는 등의 코드를 수행할 수 있다. 

 

 

자식 프로세스 생성

CREATE_SUSPENDED 값을 인자로 하여 대기 상태의 프로세스를 생성한다.

 

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

 

9. LPPROCESS_INFORMATION lpProcessInformation (OUT Param)

- 프로세스가 초기화되기 전에 이 구조체에 정보를 넣는다

 

- CreateProcess 동작이 완료되고 TRUE를 리턴하기 직전에 PROCESS_INFORMATION 구조체를 채움

- hProcess와 hThread 멤버에 커널 오브젝트 핸들 값들을 각각 넣음

- 마찬가지로 ProcessID, ThreadID도 채워줌



Reference : https://wonjayk.tistory.com/277 

https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa

API 

: 운영체제가 응용 프로그램을 위해 제공하는 함수의 집합 

- 운영체제는 하드 디스크를 액세스하는 ReadFile, WriteFile 이라는 API 함수를 제공하며 , 우리는 이 함수들을 통해 파일을 논리적으로 쉽게 엑세스할 수 있다. 


< 여러 가지 개발 방법 >

- SDK ( Software Development Kit ) 와 비슷한 의미 ( : 윈도우즈용 프로그램 개발 킷 ) 

- 클래스 라이브러리 


- 윈도우즈 프로그래밍 


cd Count of Bytes 바이트 수 

dw double workd : 부호 없는 long 형 정수 

 


ARP 


1. On-demand : 필요할 때, ARP 요청을 Broadcast 하여 응답 받음. 


2. ARP Update : 변경사항을 변경자가 ( 먼저, 요청이 오기 전에 ) 직접 알려줌.

-> 여기서 ( update 된 , 변경된 ) 조작된 ARP 응답 패킷 보내면 ARP Spoofing 이다.  


( ARP redirect : gateway 에서 broadcast 로 쏜다. )   

파이썬 업데이트, 환경변수 설정 


sudo apt-get update

sudo apt-get upgrade python3

cd /usr/bin

sudo ln -fs python3.6 python 

+ Recent posts