웹 셸 WSO-NG 격파
공격자가 감염된 웹 서버를 원격으로 제어할 수 있도록 하는 웹 셸이라는 악성 스크립트에 대한 웹 관리자와 보안 전문가의 경각심이 높아지고 있습니다.
이 블로그 게시물에서는 WSO-NG라는 웹 셸에 대해 설명합니다. 이 게시물은 웹 셸의 세계를 자세히 조명하는 시리즈 첫 번째 글입니다.
웹 셸이란 무엇일까요?
WSO-NG에 대해 자세히 알아보기 전에 웹 셸이 무엇인지 간단히 살펴보겠습니다. 웹 셸은 감염된 서버를 원격으로 제어할 수 있는 스크립트로, 일반적으로 PHP, ASP 또는 JSP와 같은 웹 지원 언어로 작성됩니다. 웹 셸이 일단 업로드되면 공격자가 데이터 도난, 서버 모니터링, 네트워크 내 측면 공격 등 다양한 악성 활동을 수행할 수 있게 됩니다.
MITRE ATT&CK에따르면, 공격자는 피해자의 시스템에 지속적인 발판을 마련하기 위해 웹 셸을 배포합니다.
WSO의 간단한 역사
WSO는 "web shell by oRb"의 줄임말로, 최소 14년 동안 존재해 온 잘 알려진 웹 셸입니다. 그 시작은 러시아 해킹 포럼에서 "oRb"라는 사용자가 소개한 것으로 거슬러 올라갑니다(그림 1).
WSO는 광범위한 웹 셸 기능을 제공해 해커가 표적 서버에서 정보를 수집하고, 파일을 효율적으로 처리하고, 데이터베이스에 무단으로 접속하고, 셸 명령을 실행하는 프로세스를 간소화합니다.
시간이 지남에 따라 WSO의 초기 개발자는 공동 작업자들과 함께 지속적으로 기능을 개선하고 버그를 해결했습니다(그림 2).
2021년, "0xbadad"라는 이름을 가진 GitHub 사용자가 WSO 셸의 업데이트된 버전을 공개했습니다. 처음에는 "step.php"라고 불렸던 이 셸의 이름은 이후 "wso-ng.php"로 변경되었으며, 제작자에 따르면 이는 "유명한 차세대 WSO 웹 셸이라는"의미를 가진다고 합니다.
WSO-NG: 새로운 세대
서버를 감독하기 위해 웹 셸을 선택하는 잠재적 적에게는 China Chopper, B374K, R57 등을 포함한 다양하고 강력한 옵션이 있습니다. 주목할 만한 선택지 중 하나는 WSO와 그 고급 버전인 WSO-NG입니다(그림 3). WSO-NG는 사이버 공격자에게 오늘날의 보안 인식 디지털 환경을 탐색하는 데 필수적인 최신 툴을 제공합니다.
로그인 페이지 숨기기
웹 셸은 WSO-NG의 스텔스 기능을 강화하고 접속을 제한하기 위해, 사용자가 로그인 인터페이스에 접속하려 할 때 404 오류 페이지를 표시합니다.
그러나 "오류" 페이지로 보이는 이면에서 웹 셸은 키보드를 통해 비밀번호가 입력될 것을 은밀하게 예상하고 있습니다. 숨겨진 로그인 양식은 교묘한 CSS 기법을 사용해 왼쪽으로 1,000픽셀 이동하는 방식으로 사용자에게 보이지 않게 숨겨집니다. 이 조작을 통해 로그인 양식을 눈에 보이는 화면 너머에 효과적으로 배치할 수 있습니다(그림 4).
써드파티를 통한 위협 인텔리전스 수집
숨겨진 로그인 양식을 통해 접속 권한을 획득한 공격자는 다음 단계로 감염된 환경을 정찰할 가능성이 높습니다. 공격자는 WSO-NG를 활용, 사이버 위협을 방어하는 기업에서 사용하는 것과 유사한 기법과 툴을 이용해 시스템에 영향을 미치는 위협에 대한 인텔리전스를 수집할 수 있습니다.
WSO-NG는 VirusTotal이라는 위협 인텔리전스 서비스와 원활하게 통합되어 감염된 서버의 IP 평판을 분석해 악성 활동으로 플래그가 지정되었는지 여부를 확인할 수 있습니다. 공격자가 이 서버를 추가적인 온라인 악용 행위에 사용하려는 경우 특히 해당 IP가 이미 거부 기록에 등재되어 있다면, 잠재적 표적에 의해 악용이 차단될 가능성을 평가하는 데 있어 이 통합이 매우 중요한 의미를 가지게 됩니다(그림 5).
또 하나의 중요한 측면은 이 기능을 통해 서버가 다른 공격자에 의해 이전에 감염된 적이 있는지 여부를 파악해 공격자가 주의를 기울이도록 유도할 수 있다는 것입니다.
WSO-NG와 SecurityTrails 서비스의 통합은 공격자가 감염된 서버를 통해 호스팅된 추가 도메인을 식별하는 데 도움을 주어 추가적인 표적 프로파일링에 기여합니다.
최신 환경에 적응
클라우드 환경과 최신 기술이 널리 보급됨에 따라, 중요한 기술 정보 및 운영 기밀을 저장하고 접속하는 새로운 방법이 등장했습니다.
웹 셸의 주목할 만한 정찰 기능 중 하나는 AWS 메타데이터를 검색하는 것입니다. 이는 활성 클라우드 인스턴스와 관련된 AWS 인증정보를 획득하기 위해 널리 사용되는 방법으로, 이후 클라우드 계정 내에서 측면 이동을 용이하게 할 수 있습니다.
웹 셸이 제공하는 또 다른 정찰 기능은 애플리케이션 데이터에 대한 보다 광범위한 접속을 얻기 위한 목적으로 잠재적인 Redis 데이터베이스 연결을 검색하는 기능입니다. 메모리 내 키 값 데이터베이스인 Redis는 최신 애플리케이션, 특히 클라우드 설정에 널리 사용됩니다.
공격성 강화
WSO-NG는 최상위 웹 셸이므로 처음부터 본질적으로 광범위한 공격 기능을 갖추고 있습니다.
많은 호스팅 공급업체가 제공하는 일반적인 공유 웹 호스팅 환경에서는 웹사이트 소유자가 동일한 서버의 다른 사이트에 접속하거나 권한을 상승시키지 못하게 하는 예방 조치가 구축되어 있습니다. 호스팅 공급업체는 PHP 추가 필터 기능을 통해 직접 셸 명령 실행과 같은 위험한 PHP 기능의 사용을 제한하는 등 다양한 메커니즘을 사용합니다.
WSO-NG는 이러한 보안 조치를 우회하도록 특별히 설계된 악용 기능을 내장하고 있습니다. 또한 기존의 악용 기능을 활용해 웹 호스팅에서 널리 사용되는 설정인 FastCGI 환경에서 임의 코드를 실행합니다. 이를 통해 권한을 에스컬레이션하고 "루트"수준에서 발판을 마련할 수 있습니다.
사용자 경험 개선
마지막으로 WSO-NG는 공격자가 효율적으로 목표를 달성할 수 있도록 사용자 경험을 개선하는 것도 간과하지 않습니다.
웹 셸은 새로운 이동 경로 탐색 패널, 키보드 단축키, 구문 강조 표시, 깔끔한 PHP 코드 편집(그림 6), 클릭 한 번으로 클립보드에 빠르게 복사하기 등 다양한 사용자 인터페이스 개선 사항을 도입했습니다.
WSO-NG 격파
피해자의 서버에 웹 셸을 배포하려면 초기 접속 방법이 필요하며, 이 방법은 일반적으로 웹 취약점을 악용하는 것입니다. 이러한 초기 서버 접속을 방지하기 위해 보안 담당자는 최신 패치를 업데이트하는 것이 좋습니다. 그러나 기업이 패치와 보안 조치를 따라잡는 데 어려움을 겪고 있는 상황에서 웹 셸은 Akamai App & API Protector와 같은 고급WAF(Web Application Firewall)(예: Akamai App & API Protector)에의해 무력화될 수도 있습니다.
Akamai의 WAF는 Adaptive Security Engine을활용해 지속적인 접속을 위한 웹 셸 배포의 길을 열어줄 초기 웹 취약점의 악용 시도를 정확히 찾아낼 수 있습니다. 또한 공격자가 명령 인젝션 공격 그룹을 사용해 웹 셸을 표적 서버에 업로드하려는 시도를 탐지할 수 있습니다(그림 7).
특히 WSO-NG는 Adaptive Security Engine 룰인
‘3000171 — 웹셸/백도어 파일 업로드 시도’를 통해 탐지될 수 있습니다.
결론
디지털 발전의 역동적인 세계에서 WSO-NG와 같은 웹 셸은 공격자가 악용할 수 있는 강력한 툴로 부상했습니다. 이런 악성 스크립트는 공격자에게 제공하는 광범위한 기능으로 인해 보안 전문가와 웹 관리자 모두에게 큰 걱정거리가 되고 있습니다. Akamai는 WSO-NG의 오리진과 고급 기능에 대한 철저한 조사를 통해 사이버 보안에 대한 인식이 높아지고 있는 오늘날 위협으로서의 잠재력을 살펴봅니다.
다행인 점은, 위협이 커질수록 방어 능력도 증가한다는 점입니다. Akamai의 WAF인 App & API Protector는 이러한 교묘한 스크립트를 방어하는 강력한 보루로 부상해 우리에게 필요한 디지털 영역을 보호합니다.
지속적인 패치 업데이트, App & API Protector와 같은 혁신적인 보안 툴 활용, 선제적 보안 태세 유지를 통해 지능형 웹 쉘의 위협에 대응하고 모든 사용자에게 더욱 안전한 웹 환경을 제공할 수 있습니다.