
악성코드 동적 분석 및 IOC 추출을 자동화하는 WinDbg 플러그인입니다. 디버거 내에서 실행되어 사전 정의된 지표를 수집하고, 사고 대응 및 차단을 위해 디스크에 기록합니다.
악성코드 분석 자동화를 위한 디버깅 모듈
Lupo 사용 방법에 대한 단계별 게시물(이미지 및 지침 포함)은 다음 게시물을 참조하십시오: https://medium.com/@vishal_thakur/lupo-malware-ioc-extractor-cc86ae76b85d
악성코드가 포함된 보안 인시던트를 처리할 때, 우리는 정기적으로 분석 프로세스의 일부를 자동화해야 할 필요성을 느끼는 상황에 직면합니다. 완전한 수동 분석은 여러 요인(시간, 기술, 규모 등)으로 인해 모든 사례에 대해 가능하지 않은 경우가 대부분이기 때문입니다.
저는 Lupo를 주로 가능한 한 프로세스를 자동화하고 가속화하기 위해 작성했습니다. Lupo는 디버거와 함께 모듈로 사용할 수 있는 동적 분석 도구입니다. 첫 번째 버전은 널리 사용되는 Windows 디버거인 WinDbg와 함께 작동합니다. 향후 다른 디버거용 버전도 출시할 예정입니다.
도구의 작동 방식은 매우 간단합니다. Lupo를 디버거에 로드한 다음 실행하면 됩니다. 악성코드를 실행하면서 사전 정의된 IOC를 수집하여 디스크의 텍스트 파일에 기록합니다. 그런 다음 이 정보를 사용하여 악성코드 캠페인을 차단 및 무력화하거나, 작업 중인 보안 인시던트에 대응할 수 있습니다.

도구 자체에 대한 자세한 내용을 다루되, 내부 작동 방식에 대해서는 적어도 여기서는 너무 많이 설명하지 않겠습니다. 악성코드 작성자들이 코드를 빠르게 수정하여 우리에게 문제를 일으킬 만큼 똑똑하다는 점을 명심해야 합니다!
이 도구는 C++로 작성되었으며 Windows 디버깅 프레임워크를 사용하여 코드를 실행합니다. WinDbg와 함께 '플러그인'으로 사용하여 분석 프로세스 자동화를 도울 수 있습니다.
도구에 대해 더 알고 싶다면 언제든지 저에게 연락하거나 아래에 댓글을 남겨주세요.
이 리포지토리에서 모든 DLL을 다운로드하십시오. 또한 모든 VC++ 종속성이 필요합니다. 가장 쉬운 방법은 Visual Studio(Community 버전 사용 가능)를 설치하고 모든 C++ 구성 요소를 선택하는 것입니다.
도구 사용법은 매우 쉽습니다. 다음과 같이 작동합니다:
Lupo 확장을 확장 디렉토리(기본값: 설치 디렉토리의 sdk\samples\exts 하위 디렉토리)에 저장합니다. 명령어 '.extpath[+] [Directory[;…]]'를 사용하여 확장 경로를 정의할 수도 있습니다.
디버거를 시작합니다.
디버깅할 프로세스(이 경우 악성코드)를 연결합니다.
'.load' 명령어를 사용하여 Lupo를 로드합니다.
'!lupo.go' 명령어를 사용하여 Lupo를 실행합니다.
모든 결과가 콘솔에 표시되고 디스크의 새 텍스트 파일에도 기록됩니다. 이 텍스트 파일의 경로와 이름도 콘솔에 표시됩니다. 모든 작업 완료!
선택적으로 Lupo의 결과를 제가 작성한 다른 도구인 Ragno와 함께 사용하여, 처리 중인 캠페인의 더 넓은 침투 범위에 대한 OSINT를 집계함으로써 연구 및 대응을 발전시킬 수 있습니다. Ragno에 대한 내용은 다음 게시물에서 확인할 수 있습니다: https://medium.com/@vishal_thakur/introducing-ragno-ioc-multiplier-9b75834353bb