본문 바로가기

연구문서/웹 애플리케이션 분석

오픈 도구 Wazuh 웹쉘 공격 탐지 구축 사례

반응형

오픈 도구 Wazuh 로 웹 해킹 웹쉘 악성코드를 통합로그 분석 관점에서 탐지하는 사례를 구축과 함께 자세히 설명하고 있습니다. 실무에도 바로 적용할 수 있으니 학습에 참고하시기 바랍니다.

 

https://wazuh.com/blog/web-shell-attack-detection-with-wazuh/

 

[본문 중 번역]

 

사이버 공격자는 손상된 엔드포인트에서 지속성을 유지하기 위해 다양한 기술을 활용하는 것으로 알려져 있습니다. 이러한 기술은 손상된 웹 서버가 재부팅되거나 자격 증명이 변경되거나 액세스 손실을 유발할 수 있는 중단이 발생할 때 공격자가 악용 단계를 반복하지 않도록 합니다. 웹 서버에 웹 셸을 설치하는 것은 지속성을 달성하는 한 가지 방법입니다.

웹 셸에 대한 설명

웹 셸 은 원격 공격자에게 웹 서버에 대한 무제한 액세스를 제공하는 웹 기반 스크립트 또는 프로그램입니다. 악의적인 행위자는 일반적으로 인터넷 정보 서비스(IIS), Apache, NGINX 및 WordPress와 같은 콘텐츠 관리 시스템과 같은 손상된 웹 서버에 대한 은밀하고 지속적인 액세스를 유지하기 위해 이를 사용합니다. 이러한 사이버 공격자는 SQL 주입(SQLi), 교차 사이트 스크립팅(XSS), 원격 파일 포함(RFI) 등과 같은 공격을 통해 애플리케이션 취약성 또는 시스템 구성 오류를 악용하여 웹 서버에서 발판을 마련할 수 있습니다.

사이버 공격자가 엔드포인트를 손상시키면 대상 웹 서버의 디렉토리에 웹 셸을 주입하고 웹 브라우저를 통해 실행합니다. 이를 통해 공격자가 HTTP 요청을 통해 악용 후 활동을 수행할 수 있도록 영구적인 백도어가 설정됩니다. 이러한 착취 후 활동 중 일부는 다음과 같습니다. 명령 실행, 민감한 정보 유출, 맬웨어 업로드 및 웹 사이트 손상.

대부분의 웹 셸 은 디자인과 목적에서 동일한 개념을 따릅니다. 웹 셸은 일반적으로 피해자 웹 서버에서 지원하는 프로그래밍 언어로 작성됩니다. 지원되는 언어의 예로는 PHP , ASP , ASP.NET , Perl , Python , Ruby , Java  Unix 셸 스크립트 가 있습니다.

웹 셸의 공통 지표

  • 최근 업로드 또는 수정된 파일: 악의적인 행위자는 웹 셸을 웹 서버 디렉터리에 업로드하거나 웹 서버 디렉터리의 기존 파일을 수정하여 웹 셸로 용도를 변경합니다. 웹 서버에서 승인된 업데이트와 일치하지 않는 최신 타임스탬프가 있는 파일은 손상을 나타낼 수 있습니다.
  • 비정상적인 네트워크 연결: 웹 셸은 포트를 열어 바인드 및 리버스 셸을 생성하여 사이버 공격자가 손상된 웹 서버에 액세스할 수 있도록 합니다. 결과적으로 웹 서버의 알 수 없거나 비정상적인 TCP 또는 UDP 트래픽은 웹 셸이 있음을 나타낼 수 있습니다.
  • 잘못된 구성 및 수정된 헤더: 사용자 요청에는 일반적으로 사용자 에이전트  리퍼러 HTTP 헤더 정보가 추가됩니다. 사이버 공격자는 손상된 웹 서버의 애플리케이션 헤더에서 명령 실행을 허용하도록 애플리케이션의 구성 파일을 수정하여 웹 셸을 숨길 수 있습니다. 예를 들어 일반 사용자 에이전트는 다음과 같습니다.

 

사용자 에이전트: Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(Gecko와 같은 KHTML) Chrome/108.0.0.0 Safari/537.36

와 같은 명령을 포함하도록 수정할 수 있습니다 User-Agent: ifconfig. 이는 웹 셸이 있음을 나타낼 수 있습니다.

  • 난독화 기술 : 사이버 공격자는 인코딩, 압축 및 교체 기술을 사용하여 코드를 숨기고 보안 시스템이나 다른 공격자의 탐지를 피합니다. 예를 들어, 공격자는 PHP base64() gzdeflate()기능을 사용하여 명령을 읽을 수 없는 형식으로 인코딩하고 압축하여 명령을 난독화할 수 있습니다. 그런 다음 eval()또는 assert()함수를 사용하여 로 디코딩 base64_decode()되고 압축 해제 된 데이터를 구문 분석합니다 gzinflate(). 웹 관리자가 명시적으로 추가하지 않은 이러한 기능이 있는 파일은 웹 셸 공격을 나타낼 수 있습니다.

반응형