PSExec ?

PsExec은 사용자가 원격 시스템에서 프로그램을 실행할 수 있게 해주는 명령줄 도구입니다. 원격 시스템에서 원격 명령, 스크립트 및 응용 프로그램을 실행하고 원격 시스템에서 GUI 기반 응용 프로그램을 실행하는 데 사용할 수 있습니다.

PsExec은 Microsoft Windows 서비스 제어 관리자(SCM)를 사용하여 원격 시스템에서 서비스 인스턴스를 시작합니다. 이를 통해 도구는 해당 계정의 권한으로 지정된 명령이나 응용 프로그램을 실행할 수 있습니다. 서비스 계정 원격 시스템에서.

연결을 설정하려면 원격 사용자에게 대상 시스템에 대한 액세스 권한이 있어야 하며 대상 시스템의 이름, 사용자 이름 및 비밀번호를 다음 형식으로 제공해야 합니다.

PsExec -s \\MACHINE-NAME -u USERNAME -p PASSWORD COMMAND (the process to be executed following establishing the connection).

PsExec은 무엇을 위해 사용됩니까?

PsExec은 주로 Windows 시스템에서 프로세스를 원격 관리하고 실행하는 데 사용되는 강력한 명령줄 도구입니다. 이를 통해 시스템 관리자와 보안 전문가는 네트워크 환경의 원격 컴퓨터에서 명령을 실행하거나 프로그램을 실행할 수 있습니다. PsExec의 몇 가지 일반적인 사용 사례는 다음과 같습니다.

원격 시스템 관리: PsExec을 사용하면 관리자는 물리적 액세스 없이도 여러 Windows 시스템을 원격으로 관리할 수 있습니다. 이를 통해 중앙 위치에서 명령을 실행하고, 스크립트를 실행하고, 소프트웨어를 설치하고, 시스템 구성을 수정하고, 원격 시스템에 대한 다양한 관리 작업을 수행할 수 있습니다.

소프트웨어 배포 및 업데이트: PsExec을 사용하면 관리자는 소프트웨어 패키지, 패치 또는 업데이트를 여러 컴퓨터에 동시에 원격으로 배포할 수 있습니다. 이 기능은 개별 시스템에 수동 설치하는 데 시간이 많이 걸리고 비현실적인 대규모 환경에서 특히 유용합니다.

문제 해결 및 진단: PsExec을 사용하면 시스템 문제를 원격으로 진단하고 해결할 수 있습니다. 관리자는 진단 도구를 실행하고, 이벤트 로그에 액세스하고, 시스템 정보를 검색하고, 원격 시스템에서 문제 해결 스크립트를 실행하여 물리적으로 존재하지 않고도 문제를 식별하고 해결할 수 있습니다.

보안 감사 및 패치 관리: 보안 전문가는 보안 감사, 취약성 평가 또는 침투 테스트 연습을 수행하기 위해 PsExec을 사용하는 경우가 많습니다. 이를 통해 원격으로 보안 검색 도구를 실행하고, 패치 수준을 확인하고, 네트워크 내 원격 시스템의 보안 상태를 평가할 수 있습니다.

사고 대응 및 법의학: 사고 대응 조사 중에 PsExec은 분석 및 증거 수집을 위해 손상된 시스템에 원격으로 액세스하는 데 도움을 줍니다. 이를 통해 보안 분석가는 손상된 시스템과 직접 상호 작용하지 않고도 명령을 실행하거나 포렌식 도구를 실행할 수 있어 추가 손상이나 데이터 손실 위험을 최소화할 수 있습니다.

레드팀과 측면 운동: 조직이 보안 방어를 테스트하기 위해 실제 공격을 시뮬레이션하는 레드팀 훈련에서 PsExec는 네트워크 내 측면 이동에 자주 사용됩니다. 공격자는 PsExec을 사용하여 손상된 시스템에서 명령을 실행하거나 악성 페이로드를 실행하고, 측면으로 이동하고 권한을 상승시켜 중요한 리소스에 대한 무단 액세스를 얻을 수 있습니다.

자동화 및 스크립팅: PsExec은 스크립트나 배치 파일에 통합되어 여러 시스템에서 반복적인 작업을 자동화할 수 있습니다. 원격으로 스크립트를 실행할 수 있는 수단을 제공하므로 관리자는 복잡한 작업을 조율하거나 정기적인 유지 관리 작업을 효율적으로 수행할 수 있습니다.

그러나 PsExec은 공격자가 원격 시스템에서 임의의 코드를 실행할 수 있게 해주기 때문에 공격자에게도 강력한 도구가 될 수 있다는 점을 기억하는 것이 중요합니다. 권한 에스컬레이션 그리고 네트워크의 측면 이동. 따라서 PsExec을 안전하게 사용하고 PsExec 사용을 신뢰할 수 있는 사용자 및 시스템으로 제한하는 것이 중요합니다.

PsExec 설치 및 설정 방법

PsExec 설치 및 설정은 다음 단계를 포함하는 간단한 프로세스입니다.

PsExec 다운로드 중

PsExec를 설치하려면 공식 Microsoft 웹사이트나 신뢰할 수 있는 소프트웨어 저장소를 방문하여 PsExec 실행 파일을 다운로드할 수 있습니다. 보안 위험이나 악성 코드를 방지하려면 신뢰할 수 있는 소스에서 다운로드했는지 확인하세요.

PsExec 설치

PsExec에는 공식적인 설치 프로세스가 필요하지 않습니다. PsExec 실행 파일을 다운로드한 후에는 이를 로컬 시스템의 원하는 디렉터리에 저장할 수 있습니다. 편리한 사용을 위해 시스템의 PATH 환경변수에 포함되어 쉽게 접근할 수 있는 위치에 두는 것을 권장합니다.

PsExec 실행 및 원격 컴퓨터에 연결

PsExec을 사용하여 원격 컴퓨터에 연결하려면 다음 단계를 따르십시오.

ㅏ. 로컬 시스템에서 명령 프롬프트나 터미널을 엽니다.

비. PsExec 실행 파일을 저장한 디렉터리로 이동합니다.

씨. 원격 컴퓨터와의 연결을 설정하려면 다음 명령을 사용하십시오.

psexec \\remote_computer_name_or_IP -u 사용자 이름 -p 비밀번호 명령

  • "remote_computer_name_or_IP"를 연결하려는 원격 컴퓨터의 이름이나 IP 주소로 바꾸세요.
  • "사용자 이름"과 "비밀번호"를 원하는 작업에 필요한 권한이 있는 원격 컴퓨터 계정의 자격 증명으로 바꿉니다.
  • 원격 컴퓨터에서 실행하려는 명령을 지정합니다.

디. Enter 키를 눌러 명령을 실행합니다. PsExec은 원격 컴퓨터와의 연결을 설정하고, 제공된 자격 증명을 사용하여 인증하고, 지정된 명령을 원격으로 실행합니다.

이자형. 로컬 명령 프롬프트 또는 터미널 창에서 실행된 명령의 출력을 볼 수 있습니다.

PsExec을 사용한 성공적인 연결 및 명령 실행은 로컬 시스템과 원격 컴퓨터 간의 네트워크 연결뿐 아니라 원격 시스템의 올바른 인증 자격 증명 및 권한에 따라 달라집니다.

가장 일반적인 PsExec 명령은 무엇입니까?

PsExec은 관리자에게 강력한 원격 실행 기능을 제공하는 몇 가지 일반적으로 사용되는 명령을 제공합니다. 다음은 가장 일반적인 PsExec 명령과 해당 기능 중 일부입니다.

PsExec \remote_computer 명령:

  • 원격 컴퓨터에서 지정된 명령을 실행합니다.
  • 관리자가 원격으로 명령을 실행하거나 프로그램을 시작할 수 있습니다.

PsExec \remote_computer -s 명령:

  • 원격 컴퓨터에서 시스템 수준 권한으로 지정된 명령을 실행합니다.
  • 높은 권한이 필요한 명령을 실행하거나 시스템 리소스에 액세스하는 데 유용합니다.

PsExec \remote_computer -u 사용자 이름 -p 비밀번호 명령:

  • 인증을 위해 제공된 사용자 이름과 비밀번호를 사용하여 원격 컴퓨터에서 지정된 명령을 실행합니다.
  • 관리자가 원격 시스템에서 특정 사용자 자격 증명을 사용하여 명령을 실행할 수 있습니다.

PsExec \remote_computer -c -f -s -d 명령:

  • 지정된 실행 파일을 원격 컴퓨터에 복사하고 완료될 때까지 기다리지 않고 백그라운드에서 시스템 수준 권한으로 실행합니다.
  • 사용자 개입 없이 원격 시스템에 프로그램을 배포하고 실행하는 데 유용합니다.

PsExec \remote_computer -i session_id -d -s 명령:

  • 원격 컴퓨터에서 시스템 수준 권한을 사용하여 대화형 세션에서 지정된 명령을 실행합니다.
  • 상호 작용이 필요한 명령을 실행하거나 원격 시스템의 그래픽 사용자 인터페이스에 액세스하는 데 유용합니다.

PsExec \remote_computer -accepteula -s -c -f script.bat:

  • 지정된 스크립트 파일을 원격 컴퓨터에 복사하고 시스템 수준 권한으로 실행한 후 완료될 때까지 기다립니다.
  • 관리자가 자동화 또는 관리 작업을 위한 스크립트를 원격으로 실행할 수 있습니다.

이러한 명령은 사용 가능한 PsExec 명령의 하위 집합을 나타내며 각 명령은 원격 관리 및 실행에서 특정 목적을 수행합니다.

PsExec 명령의 구문은 다음과 같습니다.

psexec \computer[,computer[,..] [옵션] 명령 [인수]

  psexec @run_file [options] command [arguments]

PsExec 명령줄 옵션:

선택권설명
\컴퓨터연결할 원격 컴퓨터입니다. 도메인의 모든 컴퓨터에 \*를 사용하세요.
@run_file지정된 텍스트 파일에 나열된 컴퓨터에 대해 명령을 실행합니다.
명령원격 시스템에서 실행할 프로그램입니다.
인수원격 프로그램에 전달할 인수입니다. 절대 경로를 사용하십시오.
-aCPU 선호도를 설정합니다. 1부터 시작하는 쉼표로 CPU 번호를 구분합니다.
-c실행하기 전에 로컬 프로그램을 원격 시스템에 복사하십시오.
-f기존 원격 파일을 강제로 복사합니다.
-v로컬 프로그램이 원격 프로그램보다 최신 버전인 경우에만 복사합니다.
-d원격 프로그램이 완료될 때까지 기다리지 마십시오.
-e사용자 프로필을 로드하지 마세요.
-i원격 데스크톱과 상호 작용합니다.
-l제한된 사용자 권한으로 실행합니다(사용자 그룹).
-n연결 시간 초과(초)입니다.
-p사용자의 비밀번호를 지정하세요.
-r상호작용할 원격 서비스의 이름입니다.
-sSYSTEM 계정으로 실행하세요.
-u로그인을 위한 사용자 이름을 지정합니다.
-w원격 시스템에 작업 디렉터리를 설정합니다.
-xWinlogon 데스크탑에 UI를 표시합니다.
-낮은낮은 우선순위로 실행합니다.
-수락하다EULA 대화 상자를 표시하지 않습니다.

PsExec은 PowerShell입니까?

PsExec은 PowerShell이 ​​아닙니다. 사용자가 원격 시스템에서 프로그램을 실행할 수 있게 해주는 명령줄 도구입니다.

반면 PowerShell은 Microsoft에서 개발한 작업 자동화 및 구성 관리 프레임워크로, .NET 프레임워크에 구축된 명령줄 셸 및 관련 스크립팅 언어를 포함합니다. PowerShell을 사용하여 다양한 작업을 자동화하고 로컬 또는 원격 시스템에서 복잡한 작업을 수행할 수 있습니다.

PsExec과 PowerShell은 모두 원격 시스템에서 명령을 실행하는 것과 같은 유사한 작업을 수행하는 데 사용할 수 있지만 서로 다른 도구이며 다른 기능을 가지고 있습니다. PsExec은 원격 시스템에서 단일 명령 또는 애플리케이션을 실행하도록 설계된 반면 PowerShell은 원격 시스템에서 명령 및 스크립트 실행을 포함하여 다양한 작업을 자동화하고 관리하는 데 사용할 수 있는 보다 강력한 프레임워크입니다.

따라서 시나리오에 따라 한 도구가 다른 도구보다 더 적합할 수 있습니다.

PsExec의 작동 방식

PsExec은 고유한 아키텍처와 통신 프로토콜을 활용하여 Windows 시스템에서 원격 실행을 지원하는 방식으로 작동합니다. PsExec 작동 방식의 주요 측면을 살펴보겠습니다.

건축과 커뮤니케이션

PsExec은 클라이언트-서버 아키텍처를 따릅니다. 로컬 시스템에서 실행되는 클라이언트 측 구성 요소는 원격 시스템에서 실행되는 서버 측 구성 요소와 연결을 설정합니다. 이 연결을 통해 두 시스템 간에 명령과 데이터를 전송할 수 있습니다.

PsExec은 SMB(서버 메시지 블록) 프로토콜, 특히 SMB 파일 공유 및 명명된 파이프 메커니즘을 사용하여 원격 시스템과의 통신 채널을 설정합니다. 이를 통해 클라이언트와 서버 구성 요소 간의 안전하고 안정적인 통신이 가능해집니다.

인증 및 보안

PsExec은 인증 메커니즘을 사용하여 원격 시스템에 대한 보안 액세스를 보장합니다. 사용자 이름과 비밀번호를 사용하거나 NTLM(NT LAN Manager)을 통한 인증을 포함한 다양한 인증 방법을 지원합니다. Kerberos.

보안을 강화하려면 PsExec을 사용할 때 인증에 대한 모범 사례를 따르는 것이 중요합니다. 이러한 관행에는 강력하고 고유한 비밀번호 활용, 다중 요소 인증 가능한 경우 PsExec 사용자에게 필요한 권한만 부여하여 최소 권한 원칙을 준수합니다.

파일 및 레지스트리 액세스

PsExec은 원격 시스템에서 파일 및 레지스트리 액세스를 용이하게 하여 관리자가 파일 복사, 스크립트 실행 또는 레지스트리 설정 수정과 같은 작업을 수행할 수 있도록 합니다. 원격으로 명령을 실행할 때 PsExec은 실행 전에 필요한 실행 파일이나 스크립트를 원격 시스템의 임시 디렉터리에 임시로 복사합니다.

파일 및 레지스트리 작업에 PsExec을 사용할 때 잠재적인 보안 고려 사항을 고려하는 것이 중요합니다. 예를 들어, 관리자는 중요한 파일을 전송할 때 주의를 기울여야 하며 중요한 시스템 파일 및 레지스트리 항목에 대한 무단 액세스 또는 수정을 방지하기 위해 적절한 액세스 제어가 마련되어 있는지 확인해야 합니다.

PsExec은 맬웨어입니까?

PsExec은 맬웨어 자체가 아니지만 맬웨어 및 공격자가 악의적인 작업을 수행하는 데 사용할 수 있습니다.

PsExec은 사용자가 원격 시스템에서 프로그램을 실행할 수 있게 해주는 합법적인 도구입니다. 문제 해결, 소프트웨어 업데이트 및 패치 배포, 여러 시스템에서 동시에 명령 및 스크립트 실행과 같은 다양한 합법적인 작업에 사용할 수 있습니다.

그러나 공격자는 PsExec을 사용하여 원격 시스템에 대한 무단 액세스 권한을 얻고 악의적인 작업을 수행할 수도 있습니다. 예를 들어 공격자는 PsExec을 사용하여 원격 시스템에서 악성 페이로드를 실행하거나 네트워크 내에서 측면 이동하고 중요한 정보에 액세스할 수 있습니다.

따라서 PsExec을 안전하게 사용하고 PsExec 사용을 신뢰할 수 있는 사용자 및 시스템으로 제한하는 것이 중요합니다.

PsExec은 사이버 공격에서 어떻게 사용됩니까?

소스 시스템에서 대상 시스템까지 PsExec이 가능하게 하는 원활한 원격 액세스는 사이버 공격의 측면 이동 단계에서 위협 행위자에 의해 집중적으로 남용됩니다. 이는 일반적으로 환자 제로 시스템의 초기 손상 이후에 발생합니다. 

그 시점부터 공격자는 환경 내에서 자신의 존재를 확장하고 도메인 우위 또는 그들이 노리는 특정 데이터에 도달하려고 합니다. PsExec은 다음과 같은 이유로 이를 달성할 수 있는 원활하고 안정적인 방법을 제공합니다.

공격자는 손상된 자격 증명과 함께 PsExec을 어떻게 사용할 수 있습니까?

손상된 사용자 자격 증명을 PsExec과 결합함으로써 공격자는 인증 메커니즘을 우회하고 여러 시스템에 액세스할 수 있으며 잠재적으로 네트워크의 상당 부분을 손상시킬 수 있습니다. 이 접근 방식을 통해 그들은 측면으로 이동하고, 권한을 승격하고, 더 광범위한 영향을 미치면서 악의적인 목표를 수행할 수 있습니다.

PsExec이 측면 이동 공격에 적합한 도구인 이유는 무엇입니까?

PsExec은 다음과 같은 몇 가지 주요 요인으로 인해 측면 이동 공격을 위해 선택되는 "토지 생활" 도구로 간주되는 경우가 많습니다.

  1. 합법적인 사용: PsExec는 Mark Russinovich가 개발한 합법적인 Microsoft Sysinternals 도구입니다. Windows 시스템에서 원격으로 프로세스를 실행하도록 설계되어 많은 IT 환경에서 신뢰할 수 있고 일반적으로 사용되는 도구입니다. 합법적으로 사용하면 보안 모니터링 시스템에 의해 플래그가 지정될 가능성이 줄어듭니다.
  1. 기본 통합: PsExec은 Windows 네트워크에서 파일 및 프린터 공유에 일반적으로 사용되는 SMB(서버 메시지 블록) 프로토콜을 활용합니다. SMB는 Windows 환경의 기본 프로토콜이므로 PsExec을 사용해도 일반적으로 즉각적인 의심이 발생하거나 보안 경고가 발생하지 않습니다.
  2. 측면 이동 기능: PsExec을 사용하면 공격자가 유효한 자격 증명을 사용하여 원격 시스템에서 명령을 실행하거나 프로세스를 시작할 수 있습니다. 이 기능은 공격자가 여러 시스템을 손상시켜 네트워크를 통해 이동하려는 측면 이동 공격에 특히 유용합니다. PsExec을 사용하면 공격자는 추가 공격이나 도구 없이 원격 시스템에 명령을 실행하거나 악성 코드를 배포할 수 있습니다.
  3. 네트워크 분할 우회: PsExec은 네트워크 세그먼트를 통과할 수 있으므로 공격자가 네트워크의 격리된 부분 사이에서 측면으로 이동할 수 있습니다. 이 기능은 초기 진입점에서 직접 액세스할 수 없는 시스템을 탐색하고 손상시키려는 공격자에게 매우 중요합니다.
  4. 보안 제어 회피: PsExec은 합법적인 관리 프로토콜을 활용하여 방화벽 규칙이나 네트워크 분할과 같은 보안 제어를 우회하는 데 사용될 수 있습니다. PsExec은 기업 네트워크 내에서 허용되는 경우가 많기 때문에 보안 솔루션에 의해 명시적으로 차단되거나 모니터링되지 않을 수 있으므로 공격자에게 매력적인 선택이 됩니다.

PsExec은 합법적인 사용 사례가 있지만 오용 가능성이 있고 대상 환경에 존재하므로 측면 이동 공격을 수행하려는 공격자에게 매력적인 도구라는 점을 기억하는 것이 중요합니다. 조직은 PsExec 또는 유사한 도구의 무단 사용을 탐지하고 방지하기 위해 네트워크 분할, 자격 증명 관리, 모니터링 시스템과 같은 강력한 보안 조치를 구현해야 합니다.

랜섬웨어 공격에 PsExec을 사용하면 어떤 이점이 있나요?

측면 이동을 위해 PsExec을 사용하면 다음과 같은 몇 가지 이점을 얻을 수 있습니다. 랜섬 배우:

  1. 속도 및 효율성: 시간이 많이 걸리고 탐지 위험이 높아지는 각 엔드포인트를 개별적으로 암호화하는 대신 PsExec을 사용하면 공격자가 랜섬웨어를 여러 시스템에 동시에 빠르게 전파할 수 있습니다. 이를 통해 영향력을 극대화하고 짧은 시간 내에 많은 수의 엔드포인트를 잠재적으로 암호화할 수 있습니다.
  2. 로컬 보안 제어 우회: 각 엔드포인트를 개별적으로 암호화하면 개별 시스템에 대한 보안 경고가 발생할 가능성이 높아집니다. PsExec을 사용하면 합법적이고 신뢰할 수 있는 관리 도구의 컨텍스트 내에서 실행이 발생하므로 공격자는 로컬 보안 제어를 우회할 수 있어 의심을 덜 받을 수 있습니다.
  3. 더 넓은 네트워크 범위: PsExec을 통한 측면 이동을 통해 공격자는 초기 진입점에서 직접 액세스할 수 없는 시스템에 접근하여 감염시킬 수 있습니다. 측면으로 이동함으로써 네트워크 세그먼트를 탐색하고 중요한 데이터를 보유하거나 네트워크에 대한 더 많은 제어권을 제공할 수 있는 추가 시스템을 손상시킬 수 있습니다.
  4. 엔드포인트 보호 회피: 기존 엔드포인트 보호 솔루션은 개별 악성 코드 샘플을 탐지하고 차단하는 데 중점을 두는 경우가 많습니다. PsExec을 사용하여 랜섬웨어를 확산시키면 랜섬웨어 배포가 악성 파일이 아닌 합법적인 도구에 의해 시작되므로 공격자는 이러한 엔드포인트 보호를 우회할 수 있습니다.

엔드포인트 보호 도구가 PsExec의 악의적인 사용을 탐지하고 예방할 수 없는 이유는 무엇입니까?

엔드포인트 보호 도구는 다음과 같은 여러 가지 이유로 PsExec의 악의적인 사용을 탐지하고 방지하는 데 어려움을 겪을 수 있습니다.

  1. 합법적인 도구: PsExec는 Microsoft Sysinternals에서 개발한 합법적인 도구이며 일반적으로 합법적인 시스템 관리 작업에 사용됩니다. 엔드포인트 보호 솔루션은 일반적으로 알려진 악성 파일이나 동작을 탐지하는 데 중점을 두고 있으며 PsExec은 신뢰할 수 있는 도구 범주에 속합니다. 결과적으로 도구 자체는 즉각적인 의심을 불러일으키지 않을 수 있습니다.
  2. 간접 실행: PsExec은 악성 페이로드나 맬웨어를 직접 실행하지 않습니다. 대신 원격으로 명령을 실행하거나 대상 시스템에 파일을 배포하는 수단으로 사용됩니다. 악의적인 활동의 실행은 합법적인 프로세스(즉, PsExec)를 통해 발생하므로 엔드포인트 보호 도구가 합법적인 사용과 악의적인 사용을 구별하는 것이 어려워집니다.
  3. 암호화 및 회피 기술: PsExec은 내장된 암호화를 사용하여 공격자와 대상 시스템 간의 통신을 보호합니다. 이 암호화는 통신 내용을 숨기는 데 도움이 되므로 엔드포인트 보호 도구가 페이로드를 검사하고 악의적인 행동을 식별하는 것을 더 어렵게 만듭니다. 또한 공격자는 자신의 활동을 더욱 난독화하기 위해 다양한 회피 기술을 사용할 수 있으므로 기존의 서명 기반 탐지 방법으로는 PsExec 기반 공격을 식별하기가 어렵습니다.
  4. 공격 사용자 정의: 공격자는 탐지를 회피하기 위해 도구 이름을 바꾸거나 매개변수를 수정하는 등 PsExec 사용을 사용자 정의할 수 있습니다. PsExec의 특성을 변경하거나 다른 합법적인 프로세스에 포함시킴으로써 공격자는 엔드포인트 보호 도구에서 사용하는 정적 서명이나 행동 휴리스틱을 우회할 수 있습니다.
  5. 상황 인식 부족: 엔드포인트 보호 도구는 일반적으로 엔드포인트 수준에서 작동하며 네트워크 전체 활동에 대한 포괄적인 가시성이 없을 수 있습니다. 그들은 PsExec 사용과 관련된 조직 내 합법적인 관리 작업이나 워크플로를 인식하지 못할 수도 있습니다. 결과적으로 합법적인 사용과 악의적인 사용을 구별하는 데 필요한 컨텍스트가 부족할 수 있습니다.

기존 MFA 솔루션이 측면 이동 공격에서 PsExec의 사용을 방지할 수 없는 이유는 무엇입니까?

기존 MFA 도구는 다음 작업에 한계가 있을 수 있습니다. 측면 움직임 방지 다음과 같은 이유로 PsExec을 사용합니다.

  1. Kerberos 및 NTLM의 MFA 지원 부족: Kerberos 및 NTLM은 Windows 환경에서 일반적으로 사용되는 인증 프로토콜입니다. 그러나 본질적으로 MFA를 지원하지는 않습니다. 이러한 프로토콜은 일반적으로 비밀번호를 기반으로 하는 단일 요소 인증 메커니즘을 사용합니다. PsExec은 운영 체제의 기본 인증 프로토콜을 사용하므로 기본 제공 MFA 지원이 부족하여 기존 MFA 도구가 PsExec을 사용하여 측면 이동 중에 추가 인증 요소를 적용하기가 어렵습니다.
  2. 에이전트에 의존하면 시스템이 보호되지 않는 경향이 있음: 많은 기존 방식 MFA 솔루션 인증 프로세스를 용이하게 하기 위해 엔드포인트에 설치된 소프트웨어 에이전트를 사용합니다. 그러나 측면 이동 공격의 경우 공격자는 MFA 에이전트가 설치되지 않았거나 실행되지 않는 시스템을 손상시키고 제어권을 얻을 수 있습니다. 이러한 보호되지 않은 기계는 MFA 제어를 우회하여 PsExec 기반 측면 이동을 위한 발사대로 사용될 수 있습니다.
  3. 검증된 세션에 대한 신뢰: 사용자가 시스템에서 세션을 인증하고 설정한 후에는 PsExec 명령을 포함하여 해당 세션 내에서 수행되는 후속 활동이 재인증 또는 MFA 문제를 트리거하지 않을 수 있습니다. 이는 설정된 세션이 검증된 것으로 간주되고 일반적으로 세션 중에 MFA가 재평가되지 않기 때문입니다. 공격자는 이러한 신뢰를 활용하여 합법적인 세션을 악용하고 추가 MFA 문제 없이 PsExec 명령을 실행할 수 있습니다.

PsExec은 위험할 수 있습니다: PsExec이 랜섬웨어 공격에 사용되는 방식

PsExec은 합법적이고 효율적인 원격 관리 기능으로 시스템 관리자와 보안 전문가들 사이에서 인기를 얻었습니다. 그러나 많은 도구와 마찬가지로 PsExec도 악의적인 목적으로 오용될 수 있습니다. 최근 몇 년 동안 위협 행위자들은 PsExec을 랜섬웨어 공격 전략에 통합하기 시작하여 PsExec을 잠재적으로 위험한 구성 요소로 만들었습니다.

지난 80년 동안 기술 장벽이 크게 낮아지고 PsExec을 통한 측면 이동이 랜섬웨어 공격의 XNUMX% 이상에 통합되어 PsExec을 통한 악의적 인증으로부터 보호하는 것이 모든 조직에 필수가 되었습니다.

랜섬웨어와 PsExec

랜섬웨어 공격에는 악의적인 행위자가 시스템에 무단으로 액세스하고, 중요한 데이터를 암호화하고, 릴리스에 대한 대가를 요구하는 행위가 포함됩니다. 이전에는 공격자가 초기 액세스 권한을 얻기 위해 사회 공학 기법이나 익스플로잇 킷을 사용하는 경우가 많았습니다. 그러나 이제 그들은 PsExec과 같은 합법적인 도구를 활용하여 손상된 네트워크 내에서 전파함으로써 전술을 확장했습니다.

PsExec을 통한 전파

랜섬웨어 공격에서 위협 행위자는 일단 네트워크 내의 단일 시스템에 액세스하면 측면으로 이동하여 가능한 한 많은 시스템을 감염시키는 것을 목표로 합니다. PsExec은 이러한 측면 이동을 위한 편리하고 효율적인 수단을 제공합니다. 공격자는 PsExec을 사용하여 다른 취약한 시스템에서 랜섬웨어 페이로드를 원격으로 실행하여 감염을 네트워크 전체에 빠르게 확산시킵니다.

공격자에 대한 이점

PsExec을 공격 체인에 통합함으로써 사이버 범죄자는 몇 가지 이점을 얻습니다. 첫째, PsExec을 사용하면 명령을 실행하고 악성 페이로드를 자동으로 원격으로 실행할 수 있어 탐지 가능성이 줄어듭니다. 둘째, PsExec은 합법적인 도구이기 때문에 알려진 맬웨어 서명에 초점을 맞춘 기존 보안 조치를 우회하는 경우가 많습니다. 이를 통해 공격자는 일반 네트워크 트래픽과 혼합되어 활동을 탐지하기가 더 어려워집니다.

위험 요소 완화

PsExec 기반 랜섬웨어 공격을 방어하려면 다계층 접근 방식이 필요합니다. 다음은 몇 가지 중요한 완화 방법입니다.

컨트롤에 액세스: 엄격한 액세스 제어를 구현하여 승인된 사용자만 중요한 시스템에 대한 관리 액세스 권한을 갖도록 합니다. PsExec 권한이 있는 계정 수를 제한하면 공격 표면.

엔드 포인트 보호: 행동 기반 탐지 메커니즘을 포함하는 강력한 엔드포인트 보호 솔루션을 배포하고 유지합니다. 이는 PsExec 사용과 관련된 의심스러운 활동을 식별하고 차단하는 데 도움이 될 수 있습니다.

네트워크 세분화: 네트워크 분할을 사용하여 공격자의 측면 이동 기회를 제한합니다. 중요한 시스템을 분리하고 네트워크 세그먼트 간의 액세스를 제한하면 잠재적인 랜섬웨어 감염의 영향을 억제하는 데 도움이 될 수 있습니다.
모니터링 및 이상 탐지: 비정상적이거나 승인되지 않은 PsExec 사용을 표시할 수 있는 포괄적인 네트워크 모니터링 및 이상 탐지 시스템을 구현합니다. 이러한 경고를 즉시 조사하고 대응하면 잠재적인 피해를 완화하는 데 도움이 될 수 있습니다.