Windows 환경에서 ViperMonkey 설치 및 사용 방법

매크로 검체의 해석에 편리한 툴의 소개입니다.
ViperMonkey는 Python 기반 에뮬레이터로 매크로 시료를 쏟아 움직임을 잡을 수 있습니다.

환경 구성



가상 환경: VMware fusion
게스트 OS: Windows 10 Pro
→이후의 인스톨 순서에 대해서는 Windows를 베이스로 한 것이 됩니다.

설치 절차



Github 공식 의 Readme 단계를 참고로 설치합니다.
기본적으로 순서대로 문제 없을까 생각합니다만, 약간 막힌 곳이 있었으므로 같은 사건의 분은 참고로 해 주세요.

덧붙여 공식 Readme에서는 Python 인스톨에 대해 2가지의 순서가 기재되어 있으므로 2가지 소개합니다.

방법①PyPy를 이용한 설치(공식 추천)



PyPy를 이용하는 쪽이 고속으로 해석할 수 있기 때문에 공식 추천되고 있는 것 같습니다.

구축 절차



1.Pypy 설치



여기 URL 부터 PyPy 다운로드

2.Pip 설치 및 최신화



pip의 유무 확인pypy -m pip(pip가 없으면 설치)pypy -m ensurepippip 최신화pypy -m pip install -U pip

3. 리포지토리 얻기



4. 의존성 확인


pypy -m pip install -U -r requirements.txt

5. 시작



다음 명령으로 실행할 수 있는지 확인pypy vmonkey.py

pypy 버전 구축의 포인트



Pypy 환경 변수 추가



일반 Cpython 등과 마찬가지로 명령 프롬프트에서 직접 호출하려면 환경 변수에 추가해야합니다.
환경 변수의 추가 순서에 대해서는 구구하지 말아 주세요;;

VC 런타임 라이브러리 설치



아래 2개의 라이브러리가 들어 있지 않으면 움직이지 않을지도.
htps //w w. 미 c 로소 ft. 이 m/쟈-JP/도 w응아 d/에서 싶은 ls. 아 spx? 예d=52685
htps //w w. 미 c 로소 ft. 코 m / 엔 - s / 드 w 응 아 d / 콘후 r 마치 온. 아 spx? 예d=44266

ERROR: Failed building wheel for cryptography 오류



아래와 같은 에러가 나오는 경우, 많은 경우 pip를 최신화하는 것으로 해결하는 것 같습니다.
ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

방법②CPython(일반적인 Python)을 이용한 설치



구축 절차



1.Python2.7 설치



아래 사이트에서 다운로드할 수 있습니다.
htps //w w. py 응. 오 rg / 도 w 응 아 ds /

2.pip가 최신 버전인지 확인


pip install -U pip

3.ViperMonkey 패키지 설치


pip install -U pip

4. 시작


vmonkey

구축 포인트



이미 Python 3.8을 사용하는 것이 더 많지 않을까 생각합니다.
추가로 2.7을 설치해 공존하는 경우가 많다고 생각하므로 pip 명령의 취급에 주의해 주세요.
(공존하는 경우 위 명령의 pippip2로 바꿉니다)

또, 이번 구축시에 처음으로 Choclately를 이용해 보았습니다만, 2.7/3.8 공존 환경이 매우 심플하게 구축할 수 있어 매우 편리했으므로 꼭 사용해 보세요!
아래의 기사가 매우 쉬웠습니다.
htps : // 코 m / 세그 r / ms / 953 bf91071632f 4c

사용법



수중에 있는 Powerpoint의 매크로 검체로 실행해 보았습니다.vmonkey {filepath} 로 해석 가능합니다. (간단!)

동적 해석의 결과, 이 검체를 실행하면 아래와 같은 동작을 실시하는 것 같습니다.
1) 파일과 닫을 때 동작 개시
2) ping.exe 프로세스 시작
3) 레지스트리의 Run 키 등록

최종적으로 출력된 ↓의 결과를 확인해 보면, 일치하고 있는 것을 알 수 있습니다.


다만, 다른 powload나 emotet 검체로 실행해 보았습니다만 잘 읽을 수 없는 일도 있는 것 같습니다.
Powershell 기동해 외부 통신으로 2차 검체 잡아 갈 것입니다만 ↓읽을 수 있지 않다.

(설정이나 필요한 모듈 등 조언이 있으면 받을 수 있으면 다행입니다!)

이상.

좋은 웹페이지 즐겨찾기