7가지 침투 테스트 단계 및 단계 설명

1967년 Rand Corporation, Willis Ware, Rein Turn, Harold Petersen 및 Benard Peters의 컴퓨터 보안 전문가들은 컴퓨터 간의 통신 매체가 쉽게 뚫릴 수 있다고 선언한 공동 컴퓨터 회의 후 보고서를 작성했습니다.

컴퓨터 보안을 침해하기 위한 최초의 침투 방법이 만들어졌습니다. 이를 통해 James P. Anderson은 침투 테스트의 기초가 되는 단계별 접근 방식을 개발했습니다.

구조는 간단했습니다. 보안 팀은 취약점 탐지부터 이에 대응하는 방법 개발까지 여러 단계를 거치게 됩니다. 간략한 내용은 다음과 같습니다. 침투 테스트의 역사.

회사의 보안을 악용하는 것은 쉽지 않으며 기술과 시간이 필요합니다. 그러나 오늘날의 기술을 사용하면 악의적인 행위자가 조직의 취약한 지점을 쉽게 찾아낼 수 있습니다. 침투는 인터넷에 표시되는 회사의 자산(예: 웹 애플리케이션, 웹사이트, 도메인 이름 서버(DNS) 및 이메일)을 표적으로 삼아 액세스 권한을 얻고 귀중한 데이터를 끌어냅니다.

침투 테스트를 사용하면 기업은 악용되기 전에 가능한 공격 표면을 식별하고 강화할 수 있습니다. 연구 결과에 따르면 대규모 성공적인 침해의 73% 취약점으로 인해 웹 애플리케이션에 침투해 왔습니다.

그러나 그 어느 때보다 조직은 애플리케이션, 시스템 및 네트워크의 보안을 검증해야 합니다. 시뮬레이션 테스트를 시작하는 것은 시스템의 보안 강도와 제어 조치를 비준하는 효과적인 방법입니다. 일회성 활동이 아니라 정기적인 활동입니다. 테스트 빈도는 회사의 조직 구조와 평가를 통해 밝혀진 위험에 따라 결정됩니다.

다행히 침투 테스트는 복잡하지 않습니다. IT 팀에 필요한 기술을 갖추면 조직은 특히 중요한 인프라 업데이트나 새로운 디지털 서비스 및 자산 도입 시 보안을 일관되게 구현할 수 있습니다.

그리고 모든 것은 프로세스가 무엇인지 이해하는 것에서부터 시작됩니다.

침투 테스트란 무엇입니까?

방법에 대해 자세히 알아보기 전에 무엇과 이유에 대해 답하는 것이 가장 좋습니다. 침투 테스트(종종 침투 테스트로 단축됨)는 안전하고 통제된 환경에 있는 기업을 대상으로 하는 공식적으로 허용되는 사이버 공격입니다.

보안 감사에 혼합된 침투 테스트는 조직 환경의 관리되는 범위에서 취약점을 찾아내기 위해 노력합니다. 전술적으로 테스트는 해커가 따르는 것과 유사한 접근 방식을 취합니다. 기업에 침투 테스트가 필요한 몇 가지 주요 이유는 다음과 같습니다.

  • 공격자보다 먼저 숨겨진 취약점을 찾아냅니다.
  • 보안 프로세스 및 전략 강화.
  • 교정 비용을 낮추고 체류 시간을 단축합니다.
  • 보안/개인 정보 보호에 관한 규정 준수를 준수합니다.
  • 브랜드 평판을 유지하고 고객 충성도를 유지합니다.

펜 테스트는 기업의 상태(공격에 대한 복원력)를 검사하고 해커가 시스템을 쉽게 침해하는지 보여줍니다. 또한 수집된 통찰력은 사이버 보안 투자를 계층화하고, 업계 표준을 따르고, 가능한 위협으로부터 회사를 보호하기 위한 방어 전략을 강화하는 데 도움이 될 수 있습니다. 그러나 침투 도구라는 자동화된 테스트 도구를 통해 이 모든 것이 가능합니다.

펜 테스트 도구란 무엇입니까?

윤리적인 해커는 침투 테스트 도구를 사용하여 전 세계 공격 시뮬레이션을 통해 컴퓨팅 인프라의 탄력성을 평가합니다. 보안 팀은 이러한 도구를 사용하여 반복적인 테스트 작업을 없애고 테스트 보고서를 더 빠르게 생성하며 여러 스캐너의 비용을 절감할 수 있습니다.

짐작하셨겠지만, 오픈 소스, 웹 앱, 네트워크, 모바일 앱, 클라우드, 수동, 자동화, 서비스형 침투 테스트 등 다양한 유형이 있습니다. 그 수가 많기 때문에 실행 가능한 보고서, CI/CD 통합, 교정 지원, 침투 테스트 인증서와 같은 주요 기능을 찾는 것이 가장 좋습니다(공개적으로 사용 가능한 침투 테스트 인증서를 제공하는 곳은 소수에 불과합니다).

이러한 기초를 바탕으로 침투 테스트 프로세스를 분석해 보겠습니다.

  Fedora 27 설치 방법

침투 테스트 단계

일반적인 침투 테스트에는 여러 단계가 있습니다. 다양한 리소스가 다양한 단계의 프로세스를 제공하지만 전체 구조는 변경되지 않습니다. 이 프로세스에는 정찰, 검색, 취약점 평가, 악용 및 보고가 수반됩니다.

다시 말하지만, 최고의 테스터는 각 테스트 단계에서 올바른 도구를 사용하기 위해 다양한 도구에 익숙해집니다. 프로세스의 각 마일스톤은 다음과 같이 인식될 수 있습니다.

정보 수집

종종 생략되는 이 단계는 조직이 침투 테스터와 공통 기반을 구축하는 데 도움이 됩니다. 이 단계에서는 명확한 목표와 목적을 바탕으로 작업 범위, 참여 규칙, 타임라인, 정확한 실행 계획을 정의합니다.

완전하고 유용한 침투 테스트를 수행하기 위해 이 단계에서는 테스트가 필요한 영역과 최상의 방법을 이해하는 데 도움이 됩니다. 초보자 단계로서, 당신은 항상 그것을 간과하지 않으려고 노력할 것입니다.

시스템을 테스트하기 전에 조직은 테스터에게 동의해야 합니다. 그렇지 않으면 그의 행동은 불법으로 간주될 수 있습니다. 조직에서는 테스터 참여 시 원활한 작업 흐름을 위해 명확한 규칙(계약)을 마련합니다. 계약에는 중요한 자산, 테스트 목표 및 예방 조치도 설명되어야 합니다. 또한 이 단계는 모든 후속 작업에 영향을 미칩니다. 결국 모든 계획은 예상되는 테스트 결과와 일치합니다.

정찰/OSINT 수집

이 단계에서 테스터는 시스템에 대해 사용 가능한 모든 정보를 수집합니다. 수집된 데이터는 다가오는 테스트와 연결되어 있으며 1단계 결과에 따라 결정됩니다. 이렇게 하면 테스터는 수집할 데이터와 구현할 전략을 정확하게 파악할 수 있습니다. 능동 정찰을 선택하면 테스터가 시스템에 직접 참여합니다. 수동태를 취하면 공개적으로 이용 가능한 정보를 얻을 수 있습니다. 광범위한 경우에는 두 가지 기술을 모두 사용하십시오.

활성 데이터 수집에는 네트워크, 운영 체제, 사용자 계정, 도메인 이름, 메일 서버 및 응용 프로그램 작업이 수반됩니다. 수동적 데이터 수집은 모두 오픈 소스 인텔리전스에 관한 것입니다. 소셜 미디어, 세금 정보, 웹사이트, 기타 공개 데이터를 사용할 수 있습니다.

다음은 동료들과 제가 웹에서 정보를 수집하고 관련시킬 때 유용하고 사용하기 쉽다고 생각한 오픈 소스 인텔리전스(OSINT) 도구입니다. OSINT 프레임워크를 사용하면 진입점과 취약점에 대한 광범위한 체크리스트를 만들 수 있습니다. 이 단계는 내부 및 외부 펜 테스트의 핵심이지만 웹 애플리케이션, 모바일 앱 및 API 테스트에서는 수행되지 않습니다.

스캐닝

다음 단계는 시스템에 대한 심층적인 기술 검토입니다. 자동화된 취약성 스캐너 및 네트워크 매퍼와 같은 검색 도구를 통해 대상 시스템이 다양한 침입, 열린 포트, 네트워크 트래픽 등에 어떻게 반응하는지 이해할 수 있습니다.

이 단계의 주요 구성 요소는 자산을 스캔하고 분석하는 것입니다. 다음과 같은 도구를 사용할 수 있습니다. 엔맵 컴퓨터 서비스와 호스트를 찾아내고, 패킷을 보내고, 응답을 분석합니다. 이 단계가 끝나면 자산에 대한 정보를 얻게 됩니다. 여기에는 운영 체제, 실행 중인 서비스 및 열린 포트가 포함됩니다.

결과를 분석하면 익스플로잇을 계획할 수 있는 기반이 마련됩니다. 시스템의 디지털 환경을 계획하고 가능한 공격 지점을 찾을 수 있습니다. 정적 및 동적 분석을 수행하여 다양한 조건에 대한 시스템의 반응을 명확하게 이해할 수 있습니다.

정적 분석은 아직 실행되지 않은 애플리케이션의 코드를 검사합니다. 도구를 사용하여 코드 베이스를 원활하게 스캔할 수 있습니다. 동적의 경우 애플리케이션이 실행되는 동안 코드를 검사합니다. 후속 단계의 성공 여부가 여기에 달려 있으므로 여기에 수집된 정보는 정확하고 올바르게 얻어야 합니다.

평가/액세스 확보

이 시점에서 이전 단계에서 수집된 모든 데이터는 취약점과 악용 가능 여부를 찾아내는 데 도움이 됩니다. 이 단계는 도움이 되지만 다른 침투 테스트 프로세스와 연계하면 매우 강력합니다.

발견된 취약점과 관련된 위험을 평가하기 위해 테스터는 여러 리소스를 활용합니다. 하나는 CVE(Common Vulnerability and Exposures)에 게시된 소프트웨어 민감도를 분석하는 NVD(National Vulnerability Database)입니다.

다음으로 대상을 식별하고 공격 벡터를 매핑합니다. 대상 영역에는 직원 데이터, 고객 정보, 파트너/공급망, 공급업체, 포트, 앱 및 프로토콜과 같은 고가치 자산이 포함됩니다. 웹앱 공격이 시작됩니다.

  원활한 DOT 토큰 관리를 위한 최고의 Polkadot 지갑 12개

가장 일반적인 것은 SQL 주입, 크로스 사이트 스크립팅, 백도어입니다. 이 시스템은 피해 효과를 밝히기 위해 권한 상승, 트래픽 차단, 데이터 훔치기 등을 통해 악용됩니다. 정보 수집 단계에서 정의된 범위에 따라 테스터는 지정된 제약 조건을 사용하여 작업하기를 원합니다.

착취

접근 유지 단계라고도 하며, 테스터는 취약점을 사용할 수 있는지 여부를 확인합니다. 이 단계에는 시스템에 액세스하기 위한 실제 위반 및 재판이 포함됩니다. 테스터는 Metasploit과 같은 도구를 사용하여 실제 공격을 시뮬레이션합니다.

이 단계가 진행됨에 따라 테스터는 조직의 리소스에 대한 책임을 지게 되어 시뮬레이션 후 시스템이 손상되지 않도록 보장합니다.

Metasploit은 취약점 악용 시 원활한 작동을 위해 선호됩니다. 이 단계에서는 침해의 영향을 측정합니다. 테스터는 데이터 암호화 또는 유출을 시도하고 랜섬웨어 및 제로데이 공격을 시뮬레이션할 수 있습니다. 성공적인 침투 테스트의 핵심은 경계 확장과 시스템 무결성 유지 사이의 균형을 맞추는 것입니다.

전문가와 함께 일하는 것이 가장 좋습니다. 그들은 자동화를 통해 빠져나가는 취약점을 악용합니다. 이 단계가 끝날 때쯤에는 사용 가능한 데이터를 식별하여 시스템 및 네트워크 정보에 대한 높은 수준의 권한을 얻으려고 했습니다. 윤리적인 해커는 가치가 높은 표적을 악용한 결과도 설명해야 합니다.

위험 분석 및 권고, 검토, 보고

활용 단계를 지나면 테스터는 결과를 문서화하는 보고서를 생성합니다. 발견된 취약점을 수정할 때 보고서를 사용해야 합니다.

좋은 침투 테스트 보고서는 조직이 보안 위험을 해결하는 데 도움이 되는 콘텐츠에 포함된 잘 문서화된 취약점에 대한 저장소입니다. 그러나 훌륭한 서비스는 발견된 모든 취약점과 CVVS 점수, 기술적 위험 개요, 비즈니스에 미칠 수 있는 영향, 악용 난이도에 대한 자세한 내용 및 전술적 조언에 대해 포괄적으로 설명합니다.

또한 보고서에는 모든 단계, 테스트 모델, 사용된 기술 및 대상 자산이 문서화되어야 합니다. 가능하다면 테스터는 테스트가 해당 프레임워크 요구 사항을 충족하는지 여부에 대한 의견을 갖게 됩니다. 결론적으로 보고서는 일반적인 설명과 기술 가이드를 함께 제공하는 것이 가장 좋습니다.

보고하고 보고한 후에는 시스템을 정리하는 것이 중요합니다. 테스트 복원 수정 이전의 시스템을 기본값으로 되돌리는 것입니다. 정리 활동에는 손상된 시스템에서 모든 실행 파일, 임시 파일 및 스크립트를 철회하고, 손상된 시스템에 연결하기 위해 생성된 사용자 계정을 제거하고, 환경에서 루트킷을 폐지하는 작업이 포함됩니다.

마지막 단계로 문제 해결은 조직의 손에 넘어갑니다. 침투 테스트 보고서 및 조사 결과에 따라 조직은 취약점을 목표로 삼고, 잠재적 영향을 분석하고, 앞으로 나아갈 의사 결정을 알리고, 수정 전략에 영향을 미칩니다.

이 단계는 과거의 실수를 개선하는 것으로 마무리되므로 악용 가능한 모든 취약점을 해결하는 데는 합리적인 시간 내에 제한됩니다. 때때로 이 단계는 업데이트에 대한 반복 테스트를 수행하거나 다른 테스트를 실행하기 위해 한동안 연장될 수 있습니다.

펜 테스트의 실제 적용: 단계별 가이드

이 예에서는 Metasploit 프레임워크를 사용하기로 선택했습니다. 사용자 정의 작업 흐름을 만들 수 있습니다. 여기에 당신을 안내하는 전형적인 것이 있습니다. 프레임워크 설치부터 시작하세요.

Linux/macOS를 사용하는 경우 다음 명령을 사용하세요.

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
  chmod 755 msfinstall && \
  ./msfinstall

Windows를 사용하는 경우 다음을 사용하세요. 최신 Windows 설치 프로그램. 또는 셸 명령을 사용하세요.

[CmdletBinding()]
Param(
    $DownloadURL = "https://windows.metasploit.com/metasploitframework-latest.msi",
    $DownloadLocation = "$env:APPDATA/Metasploit",
    $InstallLocation = "C:\Tools",
    $LogLocation = "$DownloadLocation/install.log"
)

If(! (Test-Path $DownloadLocation) ){
    New-Item -Path $DownloadLocation -ItemType Directory
}

If(! (Test-Path $InstallLocation) ){
    New-Item -Path $InstallLocation -ItemType Directory
}

$Installer = "$DownloadLocation/metasploit.msi"

Invoke-WebRequest -UseBasicParsing -Uri $DownloadURL -OutFile $Installer

& $Installer /q /log $LogLocation INSTALLLOCATION="$InstallLocation"

그런 다음…

프로젝트 시작 – 이는 데이터 및 작업 공간을 위한 저장소가 됩니다. 조직의 다양한 서브넷에 대한 요구 사항이 다를 수 있으므로 작업을 정리하면 효율성이 향상됩니다. 예를 들어 IT 및 인사팀을 위한 침투 테스트가 있는 경우 별도의 결과를 생성해야 합니다.

  모두를 위한 최고의 서버 호스팅 7가지

이미지 출처 – 메타스플로잇

대상 데이터 가져오기 – 여기에서는 검색 스캔을 통해 프로젝트에 데이터를 추가하거나 기존 데이터를 가져옵니다. 네트워크 서비스를 보기 위해 대상을 스캔하여 열린 포트를 열거합니다. 스캔 옵션을 사용하세요. 다음으로, 작업하려는 IP 주소를 각각 한 줄에 입력하세요. 가져오기 옵션을 사용하여 로컬 파일에서 데이터를 가져올 수도 있습니다.

이미지 출처 – 메타스플로잇

호스트 데이터 보기/관리 – 호스트 또는 프로젝트 수준에서 데이터를 한눈에 볼 수 있습니다. 각 IP를 전환하여 단일 호스트 보기를 가질 수 있습니다.

이미지 출처 – 메타스플로잇

취약점 스캔 – Nexpose 옵션을 통해 취약점 스캔을 시작합니다. 이 단계에서는 취약점 데이터베이스를 활용하여 취약점이 발견된 경우 일치시킵니다.

취약점 악용 – 원활한 보안을 통해 취약점을 악용할 수 있습니다. 검증 마법사. 또는 Nexpose가 계속 작동합니다.

공격 후 활동 – 세션 탭을 통해 공격으로부터 데이터를 수집합니다. “수집”을 클릭하세요.

이미지 출처 – 메타스플로잇

정리 – 데이터 수집이 완료되면 “정리” 옵션을 사용하여 세션을 종료하고 시스템을 정리합니다.

보고서 생성 – 펜 테스트가 끝나면 Metasploit은 데이터 통합 ​​및 결과 편집의 시작점이 되는 여러 보고서를 제공합니다.

펜 테스트에 대한 자세한 빠른 시작 가이드는 다음에서 찾을 수 있습니다. Metasploit의 빠른 시작 가이드.

일반적인 펜 테스트 도구

몇 가지 일반적인 도구로는 Sn1per, Metasploit 및 Commix가 있습니다.

#1. Sn1per

Sn1per 해킹 인스턴스에서 클라이언트 측 공격의 영향을 검증하는 취약점 조사 도구입니다. 이를 사용하여 통제된 환경에서 원격 및 사용자 측 공격을 시뮬레이션할 수 있습니다. Sn1per는 6,000개의 GitHub 별. 또한 도구의 미디어 배출구 역할도 합니다. Sn1per를 사용하면 오픈 소스 및 상용 도구를 자동화하여 취약점을 열거함으로써 시간을 절약할 수 있습니다.

#2. 메타스플로잇

메타스플로잇 오픈 소스 커뮤니티 간의 공유 지식을 통합하여 개발된 거대한 침투 테스트 프레임워크입니다. GitHub에 31.2k 개의 별이 있으며 이는 소프트웨어 세계에 대한 강한 관심을 나타냅니다. Metasploit은 취약점을 해결하고 보안 인식을 향상시키기 위해 고안된 보안 애호가들의 협력으로 뒷받침됩니다.

#삼. 콤믹스

콤믹스 훌륭한 OS 명령 주입 활용 도구입니다. Commix는 명령 주입 취약점을 전문으로 하지만 사용하기 쉽고 무료이며 오픈 소스이며 크로스 플랫폼과 호환되고 이식 가능하며 모듈화되어 있습니다. 그것은 얻었다 4k GitHub 별. 무료이며 오픈 소스입니다.

최종 단어

사이버 공격이 증가함에 따라 기업이 디지털 제품의 탄력성을 강화하려면 침투 테스트 단계를 세분화하는 것이 필수적입니다. 사이버 범죄자가 기존 보안 솔루션을 우회함에 따라 침투 테스트를 통해 실제 공격을 시뮬레이션하는 것은 끊임없이 진화하는 사이버 위협 환경을 탐색하는 효과적인 방법입니다.

조직의 특정 요구 사항에 맞게 침투 테스트를 조정하면 보안 정책의 효율성을 보장할 수 있습니다. 침투 테스트의 모든 단계를 거치면 사이버 보안 투자에 대한 최고의 ROI를 얻을 수 있습니다.

침투 테스트를 성공적으로 수행하려면 현명하게 대처하세요. 테스트에 대한 정보를 얻는 것부터 시작하세요. 해당 정보를 토대로 정찰 수준을 구축합니다. 정찰의 좋은 출발점은 확인할 시스템에서 대상으로 삼을 범위 목표를 정의하는 것입니다.

다음으로, 시스템을 스캔하여 심층적인 지식을 얻고 취약점을 식별합니다. 시스템이 손상되지 않도록 주의하면서 공격 시작을 진행합니다. 그런 다음 해결 조치를 안내하는 유용한 보고서를 생성하십시오. 시스템을 정리하고 원래 상태로 복원하는 것을 잊지 마십시오.

올바르게 사용하면 침투 테스트는 취약점을 식별하고 수정하여 조직의 보안 상태를 개선합니다. 많은 조직이 클라우드로 마이그레이션하고 새로운 기술을 채택함에 따라 정보 보안 영역에서 침투 테스트가 중요해지고 있습니다. 사실은, 75%의 기업이 펜 테스트를 사용합니다. 보안태세를 점검하기 위해 또는 규정 준수상의 이유로. 충분한 주의를 기울이고 테스트의 각 단계를 독립적으로 처리할 수 있다면 항상 침투 테스트 실행의 가치를 찾을 수 있습니다.

다음으로, 애플리케이션 보안을 테스트하기 위한 무료 온라인 침투 테스트(Pentest) 도구를 확인해 보세요.