MS SQL 서버 침입, GoToHTTP 및 SoftEther VPN을 이용한 원격 액세스
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Larva-26009로 추적된 위협 행위자가 MS-SQL 서버를 타겟으로 하여 XMRig CoinMiner와 SoftEther VPN 등 여러 악성코드 페이로드를 배포했습니다. 침입 과정에는 지속성을 위한 웹 셸 설치, 레지스트리 덤핑을 통한 자격 증명 탈취, 여러 권한 상승 유틸리티 사용이 포함되었습니다. 공격자는 또한 전문 로더와 암호화된 파일을 사용하여 기존의 보안 탐지 메커니즘을 회피했습니다.
조사
안랩 보안 인텔리전스 센터(ASEC)는 MS-SQL 서버를 타겟으로 한 공격 활동을 모니터링 중에 침입을 감지했습니다. 조사 결과, certutil.exe 를 사용하여 웹 셸 파일을 해독하며 자격 증명 덤핑 및 측면 이동과 관련한 명령줄 활동을 발견했습니다. 연구진은 또한 여러 Potato 스타일의 권한 상승 도구와 RingQ를 포함한 전문 쉘코드 로더를 문서로 기록했습니다.
완화책
관리자는 무차별 공격의 위험을 줄이기 위해 복잡하고 강력한 비밀번호를 모든 데이터베이스 서비스 계정에 적용하고 주기적으로 변경해야 합니다. 데이터베이스 서버는 방화벽으로 보호되어야 하며 공용 액세스를 제한하고 노출된 공격 표면을 최소화해야 합니다. 또한 보안 소프트웨어 및 엔드포인트 보호 솔루션은 알려진 악성코드 서명 및 관련 악의적 활동을 탐지할 수 있도록 완전히 업데이트되어야 합니다.
대응
악의적 활동이 감지되면 보안 팀은 침해된 MS-SQL 및 IIS 웹 서버를 즉시 격리하여 추가적인 측면 이동을 방지해야 합니다. 응답자는 특히 $로 끝나는 이름과 같은 의심스러운 이름 패턴을 사용하는 새로 생성된 사용자 계정을 감사해야 합니다. 메모리 포렌식을 수행하여 주입된 쉘코드를 식별하고, 영향을 받은 시스템에서 실행 중인 승인되지 않은 VPN 또는 원격 데스크톱 서비스를 찾아내야 합니다.
공격 흐름
탐지
Powershell을 통한 다운로드 또는 업로드 (명령줄)
보기
의심스러운 Powershell 문자열 (명령줄)
보기
계정 또는 그룹 열거/조작 가능성 (명령줄)
보기
SQL 확장 저장 프로시저 xp_cmdshell을 통한 명령 실행 가능성 (명령줄)
보기
지연 실행을 위한 PING 사용 가능성 (명령줄)
보기
Certutil을 사용한 데이터 인코딩 및 인증서 작업 (명령줄)
보기
LOLBAS Bitsadmin (명령줄)
보기
SAM/SYSTEM/SECURITY 덤핑 가능성 (명령줄)
보기
Powershell에서 의심스러운 .NET 메서드 호출 (파워셸)
보기
Cloudflare 개발 도메인 악용 가능성 (DNS)
보기
IOCs (HashMd5) 탐지: GotoHTTP 및 SoftEther VPN 설치가 포함된 MS-SQL 서버 타겟 공격 사례 연구
보기
IOCs (SourceIP) 탐지: GotoHTTP 및 SoftEther VPN 설치가 포함된 MS-SQL 서버 타겟 공격 사례 연구
보기
IOCs (DestinationIP) 탐지: GotoHTTP 및 SoftEther VPN 설치가 포함된 MS-SQL 서버 타겟 공격 사례 연구
보기
Certutil 및 PowerShell을 통한 원격 스크립트 실행 탐지 [Windows Powershell]
보기
MS-SQL 서버 타겟 공격 지표 [Windows 프로세스 생성]
보기
모의 실행
사전 조건: Telemetry & Baseline Pre-flight Check가 통과되어야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 공격자 기술(TTP)의 정밀한 실행을 자세히 설명합니다. 명령 및 해설은 TTP로 식별된 것을 직접 반영해야 하며 탐지 로직에서 예상하는 정확한 텔레메트리를 생성하는 데 초점을 맞춰야 합니다. 추상적이거나 관련이 없는 예는 오진을 초래할 것입니다.
-
공격 내러티브 및 명령: 공격자는 초기 액세스를 달성했으며 지속성을 확립하기 위해 2차 페이로드를 다운로드하고자 합니다. 의심을 피하기 위해 재현적인(Living-off-the-Land, LotL) 기법을 사용하기로 결정합니다. 두 가지 방법을 시도할 것입니다: 첫째,
certutil.exe를 사용하여-urlcache플래그를 통한 파일 다운로드, 둘째, 레거시System.Net.WebClient호출을 파워셸에서 사용하여 툴을 내려받는 동안 합법적인 관리 트래픽과 섞이는 것을 시도합니다. -
회귀 테스트 스크립트:
# Certutil 및 PowerShell 다운로드 탐지를 위한 모의 스크립트 # 참고: 이 스크립트는 무해한 텍스트 파일을 공개 URL에서 다운로드하려고 합니다. $TargetUrl = "https://raw.githubusercontent.com/socprime/test-payloads/main/test.txt" $LocalPathCertutil = "$env:TEMPcertutil_download.txt" $LocalPathPS = "$env:TEMPps_download.txt" Write-Host "[+] 시뮬레이션 시작 중..." -ForegroundColor Cyan # 방법 1: Certutil URL 캐시 다운로드 Write-Host "[*] Certutil 다운로드 기술 실행 중..." -ForegroundColor Yellow Start-Process "certutil.exe" -ArgumentList "-urlcache -split -f $TargetUrl $LocalPathCertutil" -NoNewWindow -Wait # 방법 2: PowerShell WebClient 다운로드 Write-Host "[*] PowerShell WebClient 기술 실행 중..." -ForegroundColor Yellow powershell.exe -ExecutionPolicy Bypass -Command "(new-object System.Net.WebClient).DownloadFile('$TargetUrl', '$LocalPathPS')" Write-Host "[+] 시뮬레이션 명령 실행 완료." -ForegroundColor Green -
정리 명령:
# 정리 스크립트 Remove-Item -Path "$env:TEMPcertutil_download.txt" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPps_download.txt" -ErrorAction SilentlyContinue Write-Host "[+] 정리 완료." -ForegroundColor Green