Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
antivmdetection — VirtualBox에서 VM 탐지를 더 어렵게 만들기 위해 템플릿을 생성하는 스크립트 | Kitploit
도구/GitHubGitHub/nsmfoo/antivmdetection
IDS/IPS EvasionMalware AnalysisAnti-Bot
GitHubnsmfoo/antivmdetection

antivmdetection

VirtualBox에서 VM 탐지를 더 어렵게 만들기 위해 템플릿을 생성하는 스크립트

저장소 보기
7771243년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Antivmdetection

배경

VM 탐지를 더 어렵게 만들기 위해 VirtualBox와 함께 사용할 수 있는 템플릿을 생성하는 스크립트입니다.

이 주제에 대한 첫 번째 글은 2012년에 작성되었으며, 그 후 무작위로 업데이트되었습니다. 블로그 형식이 정보를 게시하는 가장 좋은 방법이 아닐 수 있었고, 일부 사람들은 내용을 기반으로 멋지고 "적용하기 쉬운" 스크립트를 만들었습니다.

새로운 내용을 추가하기 쉽게 만들기 위해, 저도 같은 방식을 선택하기로 했습니다.

이 스크립트의 목적은 VirtualBox 베이스를 수정하지 않고 사용 가능한 설정을 활용하는 것입니다. VirtualBox를 패치하여 정말 깔끔한 작업을 하는 사람들도 있지만, 이는 이 스크립트의 범위를 벗어납니다. 이 접근 방식은 VirtualBox의 새 릴리스마다 (희망적으로) 깨지지 않는다는 장점이 있다고 생각합니다. 시간이 지나면서 VM과 직접적으로 관련이 없지만, 맬웨어가 설치 환경을 지문 인식하는 데 사용하는 "것들"도 포함시켰습니다. 양해 부탁드립니다.

메인 스크립트는 다음 파일을 생성합니다:

  • 호스트 OS에서 사용할 수 있고 수정하려는 VM에 적용할 수 있는 템플릿으로 사용되는 셸 스크립트 하나.
  • 위 템플릿 스크립트에 사용되는 DSDT 덤프.
  • 게스트 내부에서 사용할 Windows PowerShell 파일로, 호스트에서 변경할 수 없는 설정을 처리합니다. 이 스크립트는 두 번 실행해야 합니다. 한 번은 재부팅이 필요한 변경 사항, 두 번째는 재부팅 시 다시 나타나는 성가신 항목을 처리하기 위해.

사용법

호스트에서 스크립트 생성

  • 종속성 설치: sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Python 모듈 설치: sudo pip3 install -r requirements.txt
  • 다음 Windows 바이너리를 다운로드하여 antivmdetection 디렉터리에 압축 해제: wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (x64 버전).
  • 컴퓨터 및 사용자 텍스트 파일 생성: hostname > computer.lst, whoami > user.lst . VM에 다른 머신 이름과 사용자를 사용하려면 수정하세요 (권장: 사용자 및 컴퓨터 이름의 긴 목록으로 파일을 채움).
  • sudo로 Python 스크립트 실행: sudo python3 antivmdetect.py
  • 생성된 호스트 스크립트를 현재 사용자가 실행 가능하도록 설정: sudo chmod a+x xxxxx.sh
  • 다음 메시지가 표시되는 경우: "ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)", 이는 Virtualbox의 제한 때문입니다. 자세한 내용은 이 케이스 참조: https://github.com/nsmfoo/antivmdetection/issues/37 . 작동이 확인되지는 않았지만, https://www.tonymacx86.com/dsdt-database 가 유용한 리소스일 수 있습니다...

VM 설정

  • VM을 생성하되 시작하지 마십시오. VirtualBox GUI도 종료하세요. 셸 스크립트는 설치 전에 실행해야 합니다!
  • "I/O APIC"가 활성화되어 있는지 확인 (시스템 > 마더보드 탭).
  • "반가상화 인터페이스"가 "없음"으로 설정되어 있는지 확인 (시스템 > 가속 탭).
  • 가능하면 CPU 개수를 2 이상으로 변경.
  • VM IP 설정 (파일 > 호스트 네트워크 관리자 > 어댑터 수동 구성 > IPV4 주소).
  • 스크립트는 스토리지 레이아웃이 다음과 같을 것으로 예상: + IDE: Primary master (디스크) 및 Primary slave (CD-ROM) + * ATA: Port 0 (디스크) 및 Port 1 (CD-ROM)
  • 현재 사용자로 스크립트 실행 (VM이 현재 사용자 홈 디렉터리에 있기 때문): /bin/bash xxxxx.sh my-virtual-machine-name
  • Windows 운영 체제 설치 (W7 및 W10 지원).

VM 내부에서 스크립트 실행

  • 배치 스크립트 (xxxx.ps1)를 새로 설치된 게스트로 이동.

  • 게스트 내에서 배치 스크립트 실행. 수정된 대부분의 설정은 재부팅 후에 되돌려진다는 점을 기억하세요. 필요시 부팅 시 실행되도록 설정.

  • 버전 0.1.4부터 일부 적용된 설정은 재부팅이 필요합니다. 따라서 배치 스크립트를 한 번 실행하면 게스트가 재부팅됩니다. 그런 다음 스크립트를 다시 한 번 실행하여 설정을 완료합니다.

  • 게스트 내에서 배치 스크립트를 적용하기 전에 UAC를 비활성화하세요 (재부팅 필요). 그렇지 않으면 스크립트로 레지스트리를 수정할 수 없습니다.

  • Windows 10 사용자: PS 스크립트를 관리자로 실행 (cmd.exe를 마우스 오른쪽 버튼으로 클릭 -> 관리자로 실행, PS 스크립트로 이동하여 실행).

  • 올바르게 적용되면 Pafish 실행 결과는 다음과 같습니다 (Virtualbox 수정 불필요).

  • 이 스크립트는 Pafish가 다루지 않는 다른 작업도 수행합니다 (예: W10 아티팩트).

alt text

참고 사항

  • antivmdetect 스크립트가 적절한 값을 찾을 수 없는 경우, 해당 설정을 새로 생성된 스크립트에서 "#"으로 주석 처리합니다. 이는 수동 검토가 필요하며 VM에 표시되는 내용에 영향을 미칠 수 있습니다.

버전 기록

  • 0.1.9:
    Python3 호환
    올바른 디스크 추출 시도 (첫 번째 시도), 많은 사람들에게 골칫거리였습니다. (이슈 #35 및 기타 몇 가지 오래된 이슈, @oaustin 감사합니다)
    셸 스크립트의 문자열 처리 개선 (이슈 #35 및 #36, PR #44, @oaustin, @dashjuvi 및 @corownik 감사합니다)
    온라인 DSDT 리소스 링크 추가 (이슈 #37, @MasterCATZ 감사합니다)
    README 업데이트로 설치 지침을 더 명확하게 함, @jorants 감사합니다 (이슈 #38)
    DSDT 덤프가 실제로 생성되었는지 확인, @nov3mb3r 감사합니다 (이슈 #42)
    라이선스 고지 추가, @obilodeau 감사합니다 (이슈 #43)
    코드 정리: 서버 하드웨어 접근 부족으로 RAID 디스크 지원 제거.. 및 기타 많은 작은 개선

  • 0.1.8:
    Windows 10 지원 개선
    @bryant1410의 마크업 수정 병합 (PR #14)
    macOS + VBox/VMWare Fusion을 사용하여 템플릿을 생성하는 사용자를 위한 문제 해결.
    가상 머신에서 템플릿을 생성하는 것은 최선의 방법이 아닙니다.. (이슈 #12 및 #15 가능)

  • 0.1.7:
    Windows 10 지원 (피드백 환영)
    W10 설치에 대한 여러 새로운 아티팩트 "수정"
    새로운 종속성: mesa-utils
    @Fullmetal5의 버그 수정 병합 (#10)
    기타 코드 수정
    README 업데이트

  • 0.1.6:
    두 번째 실행 후 팝업 추가하여 준비 완료임을 더 명확히 함
    메모장 여러 인스턴스를 생성하는 함수 추가, 향후 버전에서 확장 예정
    RandomDate 함수 재작업, 이전 함수의 문제를 알려준 @Antelox에게 감사 (#8)
    Ubuntu 구 버전에 포함된 acpidump는 "-s" 스위치를 지원하지 않음. 이제 오류 메시지로 처리. @Antelox 감사 (#7)
    두 번째 실행 후 Devmanview.exe가 제거되지 않던 문제 수정

  • 0.1.5:
    파일 확장자 연결 및 해제 지원 추가 (기본적으로 비활성화됨). 참조: https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
    사용자 제공 클립보드 버퍼 지원 추가. 없으면 임의 문자열 생성. 선택한 Honeytoken으로 파일 채우기
    XP 지원 제거
    배치 스크립트 섹션을 Powershell로 변환. 게스트 스크립트로 더 많은 로직 이동. 결과적으로 템플릿을 자주 생성/재생성할 필요가 줄어듦 (더 많은 항목이 게스트에서 무작위화되므로)
    데스크탑 배경 이미지를 무작위화하는 함수 추가
    게스트에 "모든 종류의" 문서를 생성하는 함수 추가
    게스트에 "모든 종류의" 문서를 생성하고 휴지통으로 이동시키는 함수 추가
    DigitalProductId를 두 곳에서 더 무작위화:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\DigitalProductId.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\DigitalProductId.
    반가상화 인터페이스 사용: 없음 (VBox 5.1.4에서 확인) - 확인 업데이트 반영. 이 VBox 변경은 TiTi87 덕분이라고 가정, 감사합니다!

  • 0.1.4:
    python-dmidecode 3.10.13-3 사용자를 위한 버그 수정, 전적으로 제 잘못입니다..
    VolumeID 무작위화 함수 추가 (새로운 필수 조건: VolumeID.exe), 이 정보는 예를 들어 Rovnix가 수집합니다
    사용자 이름 및 컴퓨터 이름/호스트 이름 무작위화 함수 추가 (새로운 필수 조건: 사용자 이름 및 컴퓨터 이름 목록)
    클립보드 버퍼에 정보 추가 첫 시도, 아이디어(명령)는 @shanselman의 트윗에서 비롯됨. 다음 릴리스에서 개선 예정
    README 업데이트: 새로운 종속성 및 재부팅이 필요한 새로운 기능

  • 0.1.3:
    CPU 브랜드 문자열 복사 및 설정.
    게스트에 오디오 장치가 연결되어 있는지 확인. 참조: http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html OS 아키텍처와 DevManView 바이너리 확인. ProductId를 두 곳에서 더 무작위화: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\ProductId. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\ProductId. 레지스트리에서 Windows 제품 키 제거 (도난 방지). DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId)를 새 ProductId와 일치하도록 수정.

/Mikael

피드백은 항상 환영합니다! =)

도구 다운로드






  • 0.1.2:
    레거시 반가상화 인터페이스 사용 여부 확인 (레거시 인터페이스 사용 시 "cpuid 기능" 탐지 완화).

  • 0.1.1:
    CPU 개수 확인 (2 미만이면 경고).
    메모리 크기 확인 (2GB 미만이면 경고).
    vboxnet0에 대해 기본 IP/IP 범위가 사용 중인지 확인 (사용하지 않으면 알림 무시 가능).
    ProductId 무작위화.
    r-sierra의 PR #3 병합 (도움 주셔서 감사합니다!).
    AcpiCreatorId 버그 수정 (@Nadacsc 신고 감사합니다!).
    DmiBIOSReleaseDate 파싱 버그 수정.
    DmiBIOSReleaseDate 버그 수정: "기본" 철자 오류 변형과 올바른 철자 변형 모두 처리 (@WanpengQian 신고 감사합니다!).
    DevManView 포함이 예상대로 작동하지 않았으며, 이 릴리스에서 수정되어야 함.
    SATA 컨트롤러도 지원 (이전에는 IDE 설정만 수정됨).
    README 업데이트

  • 0.1.0:
    HT(HackerTarget)로 유명해진 WMI 탐지 해결. 필수 조건에
    DevManView.exe (아키텍처 선택) 추가.

  • < 0.1.0 이전 버전 기록은 보관되지 않음, 어디선가 시작해야 하니까요.