dll 인젝션 예제

악성 코드는 먼저 주입에 대한 프로세스를 대상으로해야합니다 (예를 들어, svchost.exe). 이 작업은 일반적으로 API(CreateToolhelp32Snapshot, Process32First 및 Process32Next)의 세 가지 응용 프로그램 인터페이스(API)를 호출하여 프로세스를 검색하여 수행됩니다. CreateToolhelp32Snapshot 지정된 프로세스 또는 모든 프로세스의 힙 또는 모듈 상태를 등록 하는 데 사용 되는 API이며, 그것은 스냅 샷을 반환 합니다. Process32First는 스냅샷의 첫 번째 프로세스에 대한 정보를 검색한 다음 Process32Next를 루프에서 사용하여 이를 반복합니다. 대상 프로세스를 찾은 후 맬웨어는 OpenProcess를 호출하여 대상 프로세스의 핸들을 가져옵니다. 로드라이브러리의 주소를 전달하는 대신 맬웨어는 악성 코드를 기존 공개 프로세스에 복사하여 작은 셸 코드를 통해 또는 CreateRemoteThread를 호출하여 실행하도록 할 수 있습니다. LoadLibrary 기술을 통해 PE 주입의 한 가지 장점은 악성 코드가 디스크에 악성 DLL을 삭제할 필요가 없다는 것입니다. 첫 번째 기술과 마찬가지로 맬웨어는 호스트 프로세스(예: VirtualAllocEx)에서 메모리를 할당하고 “DLL 경로”를 작성하는 대신 WriteProcessMemory를 호출하여 악성 코드를 작성합니다. 그러나 이 방법의 장애물은 복사된 이미지의 기본 주소 변경입니다. 맬웨어가 PE를 다른 프로세스에 삽입하면 예측할 수 없는 새 기본 주소가 지정되어 PE의 고정 주소를 동적으로 다시 계산해야 합니다. 이를 극복하기 위해 맬웨어는 호스트 프로세스에서 재배치 테이블 주소를 찾고 재배치 설명기를 반복하여 복사된 이미지의 절대 주소를 해결해야 합니다. 그림 8: APC 주입을 수행하는 AlmanaheAhe주입Sha256: f74399cc0be275376dad23151e30c2a1666666a6a6a6a6a6a6a6a6a6a6a6a55ec1a3051cc0ad, 말, 우리는 더 복잡한 것을 사용 하 여 원하는 것 보다 더 복잡 한 라이브러리 또는 여러 라이브러리에 의존 할 수 있습니다.

대상 프로세스(예: 콘솔 응용 프로그램)에서 가져옵니다. 이러한 경우 존재하지 않는 함수(대상 프로세스의 공간 내에서)를 실행하면 실행 불가능한 메모리를 실행하려고 시도할 가능성이 매우 높은 일부 액세스 위반 오류가 발생할 수 있습니다. 이 과정은 필연적으로 충돌할 것입니다. 그렇다면 이 문제를 어떻게 해결할 수 있을까요? Microsoft는 주로 이전 버전과의 호환성을 위해 개발자에게 Shims를 제공합니다. Shims를 사용하면 개발자가 코드를 다시 작성할 필요 없이 프로그램에 수정 프로그램을 적용할 수 있습니다. 개발자는 shim을 활용하여 운영 체제에 응용 프로그램을 처리하는 방법을 알 릴 수 있습니다. Shim은 본질적으로 API에 연결하고 특정 실행 수능을 대상으로 하는 방법입니다. 맬웨어는 shim을 활용하여 지속성과 주입 모두에 대해 실행 을 대상으로 할 수 있습니다. Windows는 적절한 수정 사항을 적용하기 위해 데이터베이스를 시밍하는 것을 확인하기 위해 바이너리를 로드할 때 Shim Engine을 실행합니다. 프로세스 주입은 맬웨어 및 파일없는 적의 트레이드크래프트 내에서 자주 사용되는 광범위한 방어 회피 기술이며 다른 프로세스의 주소 공간 내에서 사용자 지정 코드를 실행하는 것을 수반합니다. 공정 주입은 스텔스를 개선하고, 일부 기술은 또한 지속성을 달성한다.

수많은 프로세스 주입 기술이 있지만,이 블로그에서 나는 다른 프로세스를 대신하여 악성 코드 코드를 실행하는 야생에서 본 10 가지 기술을 제시한다. 또한 리버스 엔지니어링 및 맬웨어 분석을 용이하게 하기 위해 이러한 많은 기술에 대한 스크린샷을 제공하여 이러한 일반적인 기술에 대한 탐지 및 방어를 지원합니다. 반사 DLL 주입이 다른 이유는 무엇입니까? 이전 DLL 주입 코드와 DLL의 소스가 디스크의 전체 경로를 통해 가져온다는 것을 상기하십시오. 이 때문에 매우 은밀한 접근 법으로 간주되지 않으며 외부 종속성이 있어 분리해야 문제가 될 수 있습니다.


mid_admin