악성 이메일을 통해 배포된 ScreenConnect 백도어
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
사회 보장국을 사칭하는 이메일 피싱 캠페인이 악성 페이로드를 전달하고 있습니다. 피해자들은 사용자 정의된 ScreenConnect 클라이언트 설치 프로그램을 다운로드하도록 유도하는 가짜 웹사이트로 리디렉션됩니다. 설치 후, 소프트웨어는 백도어로 작동하여 공격자에게 감염된 시스템에 대한 지속적인 원격 액세스를 제공합니다.
조사
조사는 악성 이메일 헤더, 피싱 웹사이트 및 관련 네트워크 트래픽을 조사했습니다. 분석가는 피싱 이메일을 전달하기 위해 사용된 특정 IP 주소와 가짜 SSA 랜딩 페이지를 호스팅하는 도메인을 식별했습니다. 네트워크 분석은 또한 포트 443을 통한 암호화된 ScreenConnect 통신을 확인했습니다.
완화
조직은 피싱 시도를 차단하기 위해 강력한 이메일 필터링을 배포하고 알려진 악성 도메인에 대한 접근을 차단해야 합니다. 사용자는 스푸핑된 발신자 주소를 식별하고 수신된 이메일의 링크를 피하는 방법을 교육 받아야 합니다. ScreenConnect와 같은 원격 관리 도구의 설치를 제한하거나 통제하면 공격 표면을 더욱 줄일 수 있습니다.
대응
악성 활동이 감지된 경우, 감염된 호스트는 즉시 격리되어 추가적인 명령 및 통제 통신을 중단해야 합니다. 대응자는 침해 범위를 결정하기 위해 전체 포렌식 분석을 수행해야 합니다. 잠재적으로 노출된 자격 증명은 폐기되어야 하며, 원격 세션 동안 도입된 추가 지속성 메커니즘에 대해 시스템을 점검해야 합니다.
공격 흐름
이 부분은 아직 업데이트 중입니다.
탐지
대체 원격 액세스/관리 소프트웨어 (프로세스 생성 경로)
대체 원격 액세스/관리 소프트웨어 (시스템 경로)
대체 원격 액세스/관리 소프트웨어 (감사 경로)
원격 액세스 소프트웨어 도메인 통신 시도에 의한 명령 및 제어 활동 가능성 (DNS 통해)
IOCs (HashSha256) 탐지: 스크린커넥트를 사용하는 백도어 발신 이메일에서
IOCs (SourceIP) 탐지: 스크린커넥트를 사용하는 백도어 발신 이메일에서
IOCs (DestinationIP) 탐지: 스크린커넥트를 사용하는 백도어 발신 이메일에서
ScreenConnect 원격 액세스 탐지 [Windows 네트워크 연결]
시뮬레이션 실행
-
공격 서사 및 명령: 공격자는 시스템에 발판을 마련하고 ScreenConnect 인스턴스를 사용하여 원격 액세스를 유지하려고 합니다. 알려진 악성 IP를 찾는 표준 탐지를 우회하기 위해, 그들은 공식 ScreenConnect 릴레이 메커니즘을 사용합니다. 공격자는
instance-udppxf-relay.screenconnect.com포트 443에서 연결을 실행합니다. 이 액션은 합법적인 암호화된 웹 트래픽처럼 보이도록 설계되었지만, 탐지 규칙에 정의된 대상 도메인과 정확히 일치합니다. -
회귀 테스트 스크립트:
# 시뮬레이션 스크립트: ScreenConnect 도메인 탐지 트리거 # 이 스크립트는 규칙에 의해 지목된 특정 도메인에 연결을 시도합니다. $TargetDomain = "instance-udppxf-relay.screenconnect.com" $Port = 443 Write-Host "포트 $Port에 $TargetDomain으로 연결을 시도하여 탐지를 트리거합니다..." -ForegroundColor Cyan try { # 전체 웹 스택이 필요하지 않은 연결을 시뮬레이트하기 위해 TCP 클라이언트를 사용합니다 $TcpClient = New-Object System.Net.Sockets.TcpClient $Connect = $TcpClient.BeginConnect($TargetDomain, $Port, $null, $null) $Success = $Connect.AsyncWaitHandle.WaitOne(5000, $false) if ($Success) { Write-Host "$TargetDomain에 성공적으로 연결되었습니다. 탐지가 트리거되어야 합니다." -ForegroundColor Green $TcpClient.EndConnect($Connect) $TcpClient.Close() } else { Write-Host "연결 시간이 초과되었습니다. 도메인이 오프라인일 수 있지만 시도는 여전히 방화벽에 의해 기록되어야 합니다." -ForegroundColor Yellow } } catch { Write-Host "오류 발생: $($_.Exception.Message)" -ForegroundColor Red } -
정리 명령:
# 스크립트에 의해 지속적인 변경은 없었습니다. # TCP 연결 만 닫혔는지 확인합니다 (스크립트에서 처리됨). Write-Host "시뮬레이션 정리 완료. 호스트에 남은 아티팩트 없음." -ForegroundColor Green