침투 테스트에서 발견된 취약점

게시 됨: 2022-01-02

침투 테스트는 조직 시스템의 사이버 보안을 테스트하기 위해 수행되는 활동입니다. 회사의 데이터베이스에 대한 무단 접근을 탐지하는 프로세스입니다. 기술적으로 조직 자체는 실제 공격에 대한 반응을 테스트하기 위해 시스템에 대한 가짜 공격을 만듭니다. 이 테스트 방법에 관련된 사람들은 윤리적 해커로 알려져 있지만 그들의 작업은 취약점을 없애는 것이 목표인 블랙햇 해커와 비슷합니다.

다음은 윤리적 해커의 도움으로 추적할 수 있는 몇 가지 취약점입니다.

  • 취약점 #1: 안전하지 않은 직접 개체 참조

가장 첫 번째 단계는 시스템에서 모든 종류의 데이터에 액세스하기 위해 사용자 자격 증명이 필요한 모든 위치를 매핑하는 것입니다. 다음으로 개체 및 정보의 목표 매개변수를 변경하여 다른 사용자 로그인이 데이터에 액세스할 수 있는지 여부를 확인할 수 있습니다.

이 취약점은 좀 더 쉽게 말하면 한 명의 사용자가 로그인한 상태에서 인가된 사용자의 인증 없이 개체 정보를 검색할 수 있는 경우를 나타냅니다. 예를 들어, 두 명의 개별 사용자가 한 명의 사용자 자격 증명을 사용하여 데이터에 쉽게 액세스할 수 있는 것보다 구매 정보 및 조직의 메시지에 액세스할 수 있다고 가정해 보겠습니다. 따라서 이를 통해 공격자는 시스템을 우회하고 시스템 리소스에 액세스할 수 있습니다.

  • 취약점 #2: 권한 상승

사용자 자격 증명 프로세스를 따라 감지되는 취약점은 시스템이 인증된 사용자를 식별하지 못하고 유효성 검사 없이 시스템에서 작업을 수행하도록 허용한다는 것입니다.

권한 상승에는 두 가지 유형이 있습니다. 하나는 수직이고 다른 하나는 수평입니다. 수직 에스컬레이션의 경우 공격자는 사용자에게 부여된 권한보다 높은 권한을 찾습니다. 수평적으로 공격자는 사용자 자격 증명 제한까지만 권한이 허용됩니다. 결함은 시스템의 제어 부족으로 인해 검증되었습니다.

더 읽어보기: 테스트를 쉽게 해주는 10가지 자동화 도구

  • 취약점 #3: 교차 사이트 스크립팅 – 저장

해커가 양식이나 문서의 필드에 입력하여 저장된 모든 입력을 저장할 수 있는 위험한 악의적인 공격입니다. 이 저장된 정보는 나중에 사용자의 웹 브라우저를 가로채거나 사용자에게 해를 끼치는 다른 형태로 민감한 정보를 사용하기 위해 보관됩니다.

스크립트를 시스템에 적용하여 시스템에서 이 오류를 감지했습니다. 이러한 스크립트는 제대로 필터링되지 않으므로 이 테스트를 통해 시스템을 실행하면 이 취약점의 영향을 받는 입력 필드 수를 감지할 수 있습니다.

  • 취약점 #4: 교차 사이트 스크립팅 – 반영

공격자가 HTTP 브라우저에 악성 코드를 반영할 수 있는 단계에서 성공하는 가장 일반적인 유형의 취약점 중 하나입니다. 뷰어가 무단 또는 유해한 링크를 열면 이 코드가 시스템에 주입되어 사용자 시스템에 바이러스를 퍼뜨릴 수 있습니다.

이 취약점은 테스터가 테스트 그라운드에 악성 사이트를 배치하고 스크립트를 가지고 오류를 분석할 때 그림으로 나타납니다.

  • 취약점 #5: URL 리디렉션

이 취약점은 해커가 공격자 코드의 도움으로 사용자 시스템에 침입할 수 있었던 교차 사이트 스크립팅의 연속입니다. 이제 그 사람은 피해자의 세션, 로그인 자격 증명에 액세스할 수 있으며 사용자를 악의적인 사이트로 리디렉션할 수 있으며 최악의 경우 해커가 피해자의 시스템에 대한 원격 셸 액세스를 얻을 수 있습니다.

  • 취약점: #6 HTML 삽입

사이트 간 스크립팅과 HTML 삽입은 상당한 특징을 공유합니다. 이들을 구분하는 유일한 것은 공격자 코드가 HTML 태그에 삽입된다는 것입니다. 해커는 사용자의 입력을 제어할 수 있으며 모든 필드에 피해자가 입력한 민감한 정보에 액세스할 수 있습니다. 이 취약점을 감지하기 위해 테스터는 해커가 이러한 공격에서 얻을 수 있는 액세스 범위를 확인하기 위해 일부 스크립트를 실행했습니다.

  • 취약점 #7: 암호화되지 않은 채널을 통한 강제 적용

테스터의 특정 탐지가 필요하지 않은 일반적인 취약점 중 하나는 알려진 코드가 있는 보호되지 않은 네트워크 사이트를 사용하는 것입니다. 예를 들어 HTTPS 또는 기타 보호된 암호화를 통해 전송되는 모든 데이터는 가혹한 제한 및 취약성으로부터 안전하지만 HTTP 사이트는 사용자에게 많은 보안 위험을 제기할 수 있습니다.

예를 들어 HTTP를 통해 전송된 일반 텍스트, 양식 기반 자격 증명 또는 민감한 정보 입력은 보안되지 않은 네트워크 도메인을 통해 공격자가 액세스할 수 있습니다.

  • 취약점 #8: 세션 고정

이 취약점은 사용자가 세션에 로그인하기 직전에 시작됩니다. 여기서 공격자는 유효한 사용자 세션을 해킹하여 클라이언트와 사용자 사이에 발생하는 세션을 훔치려고 합니다. 해커는 액세스할 수 있는 유효한 사용자 세션 ID를 생성하고 나중에 사용자가 동일한 ID를 사용하도록 유도합니다. 이러한 단계를 통해 공격자는 피해자의 정보를 사용할 수 있습니다.

사용자가 로그인할 때마다 새로운 세션 ID가 생성되고 쿠키 만료 기간도 8일로 설정되어 공격자가 사용자의 민감한 정보에 쉽게 접근할 수 있습니다.

  • 취약점 #9: 이메일 폭격

이메일 폭탄 공격은 스팸 이메일을 보내는 피해자의 메일 시스템을 오버플로하기 위해 수행됩니다. 이로 인해 시스템이 서비스 거부 공격의 희생자가 될 수 있습니다. 이 공격에서 해커는 동시에 여러 대의 컴퓨터를 희생시킬 수 있습니다. 이메일 폭격에는 3가지 유형이 있습니다.

1. 대량 이메일 발송

서버에 여러 개의 중복 이메일을 보내면 스팸 폴더에 있는 이메일을 보내기 시작할 수 있습니다. 사용자의.

2. 링크 목록

이 공격에서 사용자는 메일 구독을 받기 위해 특정 메일 주소를 등록합니다. 사용자는 원치 않는 이메일 중 일부가 시스템에 바이러스 공격을 주입할 수 있으므로 구독을 취소해야 합니다.

3.Zip 폭격

대기업에서 채택한 백신 소프트웨어의 솔루션을 극복하기 위해 도입된 메일 폭탄의 변종입니다. 이러한 종류의 공격에서 보낸 사람은 "Z"와 같은 반복되는 알파벳만 메일로 보내 파일을 압축하여 소프트웨어가 감지하기 어렵게 만듭니다.

  • 취약점 #10: 디렉토리 목록

이 취약점에서 공격자는 인덱스 페이지를 생성하지 않은 사용자의 디렉터리 파일에 액세스할 수 있습니다. 이러한 상황에서 해커는 시스템 파일을 직접 공격할 수 있는 리소스 경로를 식별할 수 있습니다. 따라서 디렉토리에 보관된 민감한 파일은 해커의 액세스 권한으로 들어갑니다. 인덱스 페이지를 생성하고 디렉토리에서 민감한 파일을 제거하여 이를 방지할 수 있습니다.

  • 취약점 #11: 계정 잠금 정책이 시행되지 않음

해커는 부정확한 비밀번호를 여러 번 입력할 수 있는 무차별 대입을 통해 귀하의 계정에 액세스를 시도할 수 있으며, 결국 시스템이 실패하면 사용자는 자신의 계정에 액세스할 수 없습니다. 따라서 이는 로그인 게이트웨이에 수행된 시도 횟수에 대한 메커니즘이 없음을 의미합니다.

  • 취약점 #12: 동일한 사이트 스크립팅

이 취약점에서 하위 도메인에 루프백이 있을 수 있으며 특정 이메일 주소를 입력하는 동안 사용자가 다른 로컬 호스트로 연결될 수 있습니다. 이것은 사용자가 이미 동일한 주소의 localhost를 사용하고 있고 localhost의 서비스를 중지해야만 수정할 수 있는 경우에 발생합니다. 우리 개발자들은 이 취약점을 테스트하고 로컬 호스트에 ping을 보낸 후 시스템이 성공적인 응답을 받았습니다.

  • 취약점 #13: 브라우저 캐시 관리 – 로그아웃 시 뒤로 버튼 문제

이것은 시스템 오류이며 공격자가 시스템에 액세스하여 발생하지 않습니다. 이 취약점은 웹사이트에서 브라우저의 뒤로가기 버튼을 눌러도 사용자 세션이 로그아웃한 후에도 종료되지 않는 것으로 나타났다. 이것은 로그인한 사용자의 계정에 액세스하고 내부에 보관된 민감한 정보를 사용하는 모든 사람의 위협을 노출합니다.

  • 취약점 #14: 자동 완성 활성화

자동 완성 기능은 시스템이 사용자 이름, 암호 및 기타 연락처 정보를 저장한 브라우저에서 자동으로 양식을 채웁니다. 이 저장된 데이터로 양식의 필드는 소비자가 반복적으로 방문할 때 자동으로 채워질 수 있습니다. 시스템이 승인되지 않은 당사자를 제어하게 되는 경우 이 훌륭한 기능은 민감한 정보의 오용을 유발하는 취약점으로 바뀔 수 있습니다.

  • 취약점 #15: 취약한 비밀번호 정책

약한 암호 문제는 모든 사용자가 적절한 길이를 따르는 암호 정책을 만들도록 하여 제거할 수 있으며 암호의 복잡한 수준은 무차별 대입 또는 사전 공격의 액세스로도 예측할 수 없어야 합니다. 공격자가 응용 프로그램에 쉽게 액세스할 수 있으므로 암호는 사전 단어의 일부를 구성해서는 안 됩니다.

  • 취약점 #16: 보안 헤더 누락

개발자들은 XSS(Cross-site Scripting)와 같은 공격 및 시스템의 코드에 의해 주입될 수 있는 기타 공격을 방지하는 콘텐츠 보안 정책에 대해 보안 헤더를 확인했습니다.

이와 함께 Internet Explorer, Chrome 및 Safari에서 지원하는 XSS(교차 사이트 스크립팅)를 방지하는 x-XSS 보호용 헤더도 확인됩니다.

마지막 헤더는 사용자가 HTTPS 태그만 있는 사이트를 탐색하도록 제한하는 strict-transport-security입니다. 이렇게 하면 시스템의 안전이 보장되고 안전하지 않은 것으로 간주되는 HTTP 태그 아래에 연결이 설정되지 않습니다.

  • 취약점 #17: 민감한 정보 공개

이 취약점은 응용 프로그램이 사용자의 시스템 정보에 액세스할 수 없는 제3자의 민감한 정보에 실패할 때 발생합니다. 이러한 유형의 공격은 소규모 비즈니스 조직에 매우 중요하므로 특정 애플리케이션을 개발한 후에 이 보안 테스트 문제를 무시해서는 안 됩니다.

모든 문의사항!! 문의 양식을 작성 하시면 전문가가 곧 연락 을 드릴 것입니다.