서버를 해킹하는 방법(웹)

⚡ 스마트 요약

웹 서버 해킹은 비밀번호나 신용카드 번호와 같은 중요한 데이터를 저장하는 웹사이트의 소프트웨어 및 잘못된 설정을 노리는 공격입니다. 이 페이지에서는 이러한 공격의 작동 방식과, 더 중요한 것은 웹 서버를 방어하고 강화하는 방법에 대해 설명합니다.

  • 🖥️ Target: 웹 서버는 신용카드 번호, 이메일 주소, 비밀번호 등을 저장하기 때문에 주요 공격 대상이 됩니다.
  • 🔎 정찰: 공격자는 서버에 접근하기 전에 역방향 IP 조회 및 검색 엔진 쿼리를 통해 서버의 프로필을 작성합니다.
  • 🐚 웹 셸: 업로드된 PHP 셸은 공격자에게 파일 및 데이터베이스 접근 권한을 제공합니다.
  • 🧨 공격 유형: 디렉터리 탐색, DoS 공격, DNS 하이재킹, 스니핑, 피싱, 파밍 및 웹사이트 변조.
  • 🛡️ 방어: 패치 관리, 강화된 구성, 방화벽 및 취약점 검사는 위험을 줄여줍니다.
  • 🤖 현대적인 감각: AI 기반 WAF는 웹 셸 업로드 및 비정상적인 요청을 실시간으로 감지합니다.

웹 서버를 해킹하는 방법

웹 서버 해킹이란 무엇인가요?

웹 서버는 애플리케이션을 실행하는 컴퓨터 프로그램 또는 컴퓨터입니다. 웹 서버의 주요 기능은 클라이언트로부터 HTTP 요청을 받아 웹 페이지를 제공하고 HTTP 응답을 다시 클라이언트에게 전달하는 것입니다. 웹 서버는 가상 머신 프로그램으로도 설명될 수 있습니다. 이러한 웹 페이지는 HTML 문서 또는 스타일시트와 같은 추가 콘텐츠로 구성됩니다. Java스크립트.

고객은 일반적으로 정보를 얻고 제품과 서비스를 구매하기 위해 인터넷을 이용합니다. 이러한 목적을 위해 대부분의 기업은 웹사이트를 운영하고 있습니다. 대부분의 웹사이트에는 신용카드 번호, 이메일 주소, 비밀번호 등과 같은 중요한 개인 정보가 저장되어 있어 공격자들의 표적이 되기 쉽습니다. 변조된 웹사이트는 종교적 또는 정치적 이념 등을 전파하는 데에도 사용될 수 있습니다.

이 튜토리얼에서는 웹 서버 해킹 기술과 이러한 공격으로부터 서버를 보호하는 방법에 대해 소개합니다.

웹 서버를 해킹하는 방법

이 실제 시나리오에서 우리는 웹 서버 공격의 해부학을 살펴볼 것입니다. 우리는 다음을 대상으로 한다고 가정합니다. www.techpanda.org실제로 해킹을 할 생각은 없습니다. 해킹은 불법이니까요. 해당 도메인은 교육적인 목적으로만 사용할 것입니다.

1단계) 우리에게 필요한 것

2단계) 정보수집

우리는 목표의 IP 주소를 얻고 동일한 IP 주소를 공유하는 다른 웹사이트를 찾아야 합니다.

온라인 도구를 사용하여 대상의 IP 주소와 해당 IP 주소를 공유하는 다른 웹사이트를 찾을 것입니다.

YouGetSignal 대상 도메인을 입력한 상태에서 IP 도메인을 역방향으로 확인하는 도구입니다.

  • 확인 버튼을 클릭하세요
  • 다음과 같은 결과가 나옵니다

Reverse 대상 IP 주소를 공유하는 도메인 목록이 표시되는 IP 조회 결과입니다.

위의 결과를 토대로, IP 주소 목표 주소는 69.195.124.112입니다.

또한 동일한 웹 서버에 403개의 도메인이 있다는 사실도 알아냈습니다.

다음 단계는 다른 웹사이트를 스캔하여 SQL SQL 인젝션 취약점. 참고: 대상 웹사이트에서 SQL 취약점이 있는 페이지를 발견하면 다른 웹사이트를 고려하지 않고 해당 페이지를 직접 공격합니다.

  • 입력 URL www.bing.com 웹 브라우저에 입력하세요. 이 방법은 Bing에서만 작동하므로 다른 검색 엔진(예: Google Play, Google ... Google 아니면 야후.
  • 다음 검색어를 입력하세요
ip:69.195.124.112 .php?id=

이리,

  • "ip:69.195.124.112"는 IP 주소가 69.195.124.112인 웹 서버에서 호스팅되는 모든 웹사이트로 검색을 제한합니다.
  • “.php?id="는 다음을 검색합니다. URL GET 변수는 SQL 문의 매개변수로 사용됩니다.

다음과 같은 결과가 나타납니다.

대상 IP에 대해 GET 매개변수를 사용하는 페이지를 나열하는 Bing 검색 결과

위 결과에서 볼 수 있듯이 GET 변수를 SQL 인젝션 매개변수로 사용하는 웹사이트는 모두 나열되어 있다.

다음으로 논리적인 단계는 나열된 웹사이트들을 스캔하는 것입니다. SQL 주입 취약점을 악용할 수 있습니다. 수동 SQL 인젝션을 사용하거나 이 문서에 나열된 SQL 인젝션 도구를 사용할 수 있습니다.

3단계) ​​PHP 쉘 업로드

나열된 웹사이트 중 어느 곳도 스캔하지 않겠습니다. 이는 불법이기 때문입니다. 우리가 그중 하나에 로그인하는 데 성공했다고 가정해 보겠습니다. 그러면 다운로드한 PHP 셸을 업로드해야 합니다. http://sourceforge.net/projects/icfdkshell/

  • 열기 URL dk.php 파일을 업로드한 위치입니다.
  • 다음과 같은 창이 나타납니다.

대상 서버의 파일에 대한 접근 권한을 보여주는 PHP 셸 인터페이스를 업로드했습니다.

  • 심볼릭 링크를 클릭하면 URL 이렇게 하면 대상 도메인의 파일에 액세스할 수 있습니다.

공격자가 파일에 접근 권한을 얻으면 데이터베이스 로그인 자격 증명을 획득하여 웹사이트 변조나 이메일 등의 데이터 다운로드와 같은 작업을 수행할 수 있습니다. 바로 이러한 이유 때문에 이 글 후반부에 설명하는 방어 조치가 중요한 것입니다.

웹 서버 취약점

웹 서버는 파일(주로 웹 페이지)을 저장하고 네트워크 또는 인터넷을 통해 접근할 수 있도록 하는 프로그램입니다. 웹 서버는 하드웨어와 소프트웨어 모두를 필요로 합니다. 공격자들은 일반적으로 소프트웨어의 취약점을 노려 서버에 무단으로 접근합니다. 공격자들이 악용하는 몇 가지 일반적인 취약점을 살펴보겠습니다.

  • 기본 설정 – 기본 사용자 ID 및 비밀번호와 같은 이러한 설정은 공격자가 쉽게 추측할 수 있습니다. 또한 기본 설정으로 인해 서버에서 명령을 실행하는 등의 특정 작업을 수행할 수 있게 되어 악용될 가능성이 있습니다.
  • 운영 체제 및 네트워크 구성 오류 – 사용자가 서버에서 명령을 실행할 수 있도록 허용하는 등의 특정 구성은 사용자가 강력한 암호를 가지고 있지 않은 경우 위험할 수 있습니다.
  • 운영 체제 및 웹 서버의 버그 – 운영 체제 또는 웹 서버 소프트웨어에서 발견된 버그를 악용하여 시스템에 무단으로 접근할 수도 있습니다.

위에서 언급한 웹 서버 취약점 외에도 다음과 같은 요인들이 무단 접근으로 이어질 수 있습니다.

  • 보안 정책 및 절차 부족 – 바이러스 백신 소프트웨어 업데이트, 운영 체제 및 웹 서버 소프트웨어 패치와 같은 보안 정책 및 절차가 부족하면 공격자에게 보안 취약점을 제공할 수 있습니다.

웹 서버 유형

다음은 일반적인 웹 서버 목록입니다.

  • Apache는 인터넷에서 가장 널리 사용되는 웹 서버입니다. 여러 플랫폼에서 작동하지만 일반적으로 Linux에 설치됩니다. 대부분의 PHP 웹사이트는 Apache에서 호스팅됩니다. 아파치 서버.
  • 인터넷 정보 서비스(IIS) – 이는 다음에서 개발되었습니다. Microsoft. 그것은에서 실행됩니다 Windows 인터넷에서 두 번째로 가장 많이 사용되는 웹 서버입니다. 대부분의 asp 및 aspx 웹사이트는 다음에서 호스팅됩니다. IIS 서버.
  • 아파치 톰캣 - 대부분 Java 서버 페이지(JSP) 웹사이트는 이러한 유형의 웹 서버에서 호스팅됩니다.
  • 기타 웹 서버 – 여기에는 Novell의 웹 서버가 포함됩니다. IBM의 Lotus Domino 서버.

웹 서버에 대한 공격 유형

공격자들은 웹 서버를 대상으로 다음과 같은 여러 가지 공격 기법을 사용합니다.

  • 디렉터리 탐색 공격 – 이 유형의 공격은 웹 서버의 취약점을 악용하여 공개되지 않은 파일 및 폴더에 무단으로 접근합니다. 공격자는 접근 권한을 획득하면 민감한 정보를 다운로드하거나, 서버에서 명령을 실행하거나, 악성 소프트웨어를 설치할 수 있습니다.
  • 서비스 거부 공격 – 이러한 유형의 공격으로 인해 웹 서버가 다운되거나 정상적인 사용자가 접속할 수 없게 될 수 있습니다.
  • 도메인 이름 시스템(DNS) 하이재킹 – 이 유형의 공격은 DNS 설정을 변경하여 공격자의 웹 서버를 가리키도록 합니다. 웹 서버로 전송되어야 할 모든 트래픽이 잘못된 서버로 리디렉션됩니다.
  • 스니핑 – 네트워크를 통해 전송되는 암호화되지 않은 데이터는 가로채어 웹 서버에 무단으로 접근하는 데 사용될 수 있습니다.
  • 피싱 공격은 공격자가 웹사이트를 사칭하여 사용자를 가짜 웹사이트로 유도하는 방식입니다. 의심하지 않는 사용자는 로그인 정보, 신용카드 번호 등과 같은 개인 정보를 제공하게 될 수 있습니다.
  • 파밍(Pharming) – 이 유형의 공격은 공격자가 도메인 이름 시스템(DNS) 서버 또는 사용자의 컴퓨터를 해킹하여 트래픽이 악성 사이트로 연결되도록 하는 공격입니다.
  • 웹사이트 변조 – 이러한 유형의 공격에서 공격자는 조직의 웹사이트를 해커의 이름과 이미지가 포함된 다른 페이지로 교체하며, 배경 음악과 메시지가 추가될 수도 있습니다.

성공적인 공격의 효과

  • 공격자가 웹사이트 콘텐츠를 수정하여 악의적인 정보나 부적절한 웹사이트 링크를 삽입하면 해당 조직의 평판이 심각하게 손상될 수 있습니다.
  • 웹 서버는 해킹된 웹사이트를 방문하는 사용자에게 악성 소프트웨어를 설치하는 데 사용될 수 있습니다. 방문자의 컴퓨터에 다운로드되는 악성 소프트웨어는 다음과 같은 종류일 수 있습니다. 바이러스, 트로이 목마또는 봇넷 소프트웨어 등
  • 유출된 사용자 데이터는 사기 행위에 악용될 수 있으며, 이로 인해 기업 손실이나 개인 정보를 제공한 사용자로부터 소송이 발생할 수 있습니다.

최고의 웹 서버 공격 도구

일반적인 웹 서버 공격 도구는 다음과 같습니다.

  • Metasploit – 이것은 개발을 위한 오픈 소스 도구입니다.ping취약점을 발견하고, 테스트하고, 공격 코드를 사용하는 데 사용할 수 있습니다. 웹 서버의 취약점을 찾아내고 서버를 침해하는 데 사용할 수 있는 공격 코드를 작성하는 데 활용될 수 있습니다.
  • MPack은 웹 익스플로잇 도구입니다. PHP로 작성되었으며, 다음과 같은 지원을 받습니다. MySQL 데이터베이스 엔진으로. MPack을 사용하여 웹 서버가 손상되면 해당 서버로의 모든 트래픽이 악성 다운로드 웹 사이트로 리디렉션됩니다.
  • Zeus는 해킹당한 컴퓨터를 봇 또는 좀비로 만드는 데 사용할 수 있는 도구입니다. 봇은 인터넷 기반 공격을 수행하는 데 사용되는 해킹당한 컴퓨터입니다. 봇넷은 해킹당한 컴퓨터들의 집합입니다. 봇넷은 서비스 거부 공격이나 스팸 메일 발송에 사용될 수 있습니다.
  • Neosplit – 이 도구는 프로그램을 설치, 삭제, 복제하는 등의 작업에 사용할 수 있습니다.

이것을 확인하십시오 : 10 최고의 무료 DDoS Attack 도구 온라인

웹 서버에 대한 공격을 피하는 방법

조직은 웹 서버 공격으로부터 자신을 보호하기 위해 다음 정책을 채택할 수 있습니다.

  • 패치 관리 – 이는 서버 보안을 강화하기 위해 패치를 설치하는 것을 의미합니다. 패치는 소프트웨어의 버그를 수정하는 업데이트입니다. 패치는 다음과 같은 곳에 적용할 수 있습니다. 운영 체제 그리고 웹 서버 시스템.
  • 운영 체제의 안전한 설치 및 구성.
  • 웹 서버 소프트웨어의 안전한 설치 및 구성.
  • 취약점 스캔 시스템 – 여기에는 다음과 같은 도구들이 포함됩니다. SnortNmap 및 SANE(Scanner Access Now Easy)도 포함됩니다.
  • 방화벽은 간단한 공격을 차단하는 데 사용할 수 있습니다. DoS 공격 공격자의 것으로 확인된 소스 IP 주소에서 들어오는 모든 트래픽을 차단함으로써 가능합니다.
  • 바이러스 백신 소프트웨어는 서버에서 악성 소프트웨어를 제거하는 데 사용할 수 있습니다.
  • 원격 관리 기능을 비활성화합니다.
  • 시스템에서 기본 계정과 사용하지 않는 계정을 제거합니다.
  • 기본 포트 및 설정(예: FTP 포트 21)은 사용자 지정 포트 및 설정(예: FTP 포트 5069)으로 변경해야 합니다.

자주 묻는 질문

웹 디렉터리에서 예상치 못한 새 파일이나 수정된 ​​파일, 서버에서 발생하는 비정상적인 외부 연결, 리소스 사용량 급증, 알 수 없는 관리자 계정, 변조된 페이지 등을 주시하십시오. 파일 무결성 모니터링 및 로그 분석을 통해 대부분의 침입을 조기에 발견할 수 있습니다.

웹셸은 공격자가 브라우저를 통해 명령을 실행하기 위해 업로드하는 악성 스크립트(대부분 PHP)입니다. 이를 통해 서버에 대한 원격 제어 권한을 획득하여 데이터베이스를 읽고, 파일을 편집하고, 더 깊숙이 침투할 수 있습니다. 따라서 이러한 파일 업로드를 차단하는 것이 중요합니다.

WAF(웹 방화벽)는 들어오는 HTTP 트래픽을 필터링하여 SQL 인젝션, 디렉터리 탐색, 웹 셸 업로드와 같은 알려진 공격 패턴을 차단합니다. 또한 새로운 취약점에 대한 가상 패치를 제공하지만, 이는 필터일 뿐 근본적인 해결책은 아닙니다. 따라서 실제 소프트웨어 패치는 사용자가 직접 적용해야 합니다.

보안 패치가 출시되는 즉시 적용해야 합니다. 공격자들은 취약점이 공개된 후 24시간 이내에 이를 악용하는 경우가 많으므로, 중요한 수정 사항은 월별 업데이트 주기를 기다릴 수 없습니다. 가능한 경우 업데이트를 자동화하고, 테스트를 거친 롤백 경로를 확보해 두십시오.

최신 WAF(웹 방화벽)에 탑재된 머신러닝 모델은 정상적인 요청 패턴을 학습한 후 웹 셸 업로드나 비정상적인 매개변수와 같은 이상 징후를 실시간으로 감지합니다. 이를 통해 오탐을 줄이고 수동 로그 검토보다 훨씬 빠르게 자동 차단을 실행할 수 있습니다.

AI 비서와 같은 GitHub 부조종사 입력 유효성 검사, 매개변수화된 쿼리 및 구성 작성 속도를 높일 수 있지만, 보안에 취약한 패턴을 제안할 수도 있습니다. 출력물을 초안으로 간주하고 보안 린터를 실행한 다음 배포 전에 검토자에게 확인을 요청하십시오.

시스템 소유자의 서면 승인을 받은 경우에만 가능합니다. 소유하지 않거나 접근 권한이 없는 서버를 테스트하는 것은 미국 컴퓨터 사기 및 남용 방지법(US Computer Fraud and Abuse Act)과 같은 법률에 따라 범죄 행위입니다. 버그 바운티 범위는 허용되는 사항을 정확하게 정의합니다.

인기 있는 자격증으로는 CEH, OSCP, CompTIA Security+ 등이 있습니다. CISSP 보안 아키텍처 전반을 다룹니다. 웹 보안 관련 직무를 채용하는 고용주들이 요구하는 취약점 평가, 보안 구성 및 방어 능력을 검증합니다.

이 게시물을 요약하면 다음과 같습니다.