Vulnerability Management :: WordPress 취약점 스캐너 WPScan
WPScan이란?
WordPress 기반의 웹사이트의 보안 취약점을 스캔하는 오픈소스 도구
주로 워드프레스의 플러그인, 테마, 사용자 관련 취약점을 탐지한다
워드프레스 스캐닝 툴을 얘기하기 전에,
워드프레스에 대해 먼저 알아보자
WordPress 워드프레스 주요 기능
플러그인 (Plugins)
: 플러그인은 사이트에 추가적인 기능을 제공하는 소프트웨어를 의미한다. 예를 들어, 사이트 편집기, 폼 생성, 등록 페이지 편집, 보안 모니터링 추가 등 많은 기능을 추가할 수 있음. 워드프레스는 원하는 기능을 얻기 위해 플러그인을 사용하는 경우가 많지만 소규모 팀에서 개발된 플러그인이나 업데이트가 드문 플러그인은 보안 위험을 초래할 수 있다.(유지보수/보안 강화 X) 취약점이 발견되면 악의적인 사용자가 플러그인이 설치된 사이트를 공격할 수 있음.
테마 Themes
: 워드프레스 테마도 플러그인과 마찬가지로 보안 결함을 겪을 수 있다. WPScan이 취약한 테마를 발견하면, 해당 테마를 최신 버전으로 업데이트하거나, 악의적인 사용자가 이를 악용하지 못하도록 제거하는 것이 좋다. 다양한 테마가 사용된 페이지가 있을 경우, 공격 표면이 커질 수 있어 복잡해질 수 있으므로 개발 팀에서 정기적으로 업데이트하는 테마를 사용하는 것이 권장됨
사용자 Users
: 워드프레스는 사용자 등록을 허용하여 사이트의 특정 영역에 접근할 수 있도록 함. 그러므로 계정이 포함된 서비스에서는 항상 악의적인 사용자가 이를 접근할 위험이 존재한다(BruteForcing, Social Engineering). 공격자가 계정의 사용자 이름을 알고 있는 경우에는 훨씬 쉬워지기 때문에 WPScan을 사용하여 대상 사이트가 악용될 수 있는 사용자 이름을 유출하고 있는지 확인할 수 있다.
이제 실습으로 넘어가면 되는데.......
??
스캔할 사이트가 있었는데요... 없었습니다...
실습은 문제풀때 하는걸로 하고 이번에는 일단 사용법 파악을 해볼게요..
wpscan --url http://securityred.team
명령어를 입력하면 툴이 로드되고 타겟을 스캔하기 시작한다.
아웃풋은 실시간으로 출력된다고 한다
이제 스캔 결과를 살펴보자
먼저 툴이 기본적인 핑거프린팅을 수행했고, 그 결과 사이트가 Apache 서버에서 실행되고 있다는 것, PHP 버전을 확인했음. 이는 툴이 http 프로토콜을 통해 루트 도메인에 요청을 보낼 때 헤더를 분석하여 얻은 정보임. 이를 통해 서버 환경과 실행 중인 소프트웨어 버전에 대한 기본적인 정보를 쉽게 수집할 수 있다!
[+] http://securityred.team/robots.txt:
두 번째로 툴은 일반적으로 사용되는 URL을 찾아내고, robots.txt 페이지에서 정찰 작업을 수행했다. 이 파일은 기본적으로 검색 엔진 스파이더가 웹 페이지를 '크롤링'하여 인덱싱할 수 있도록 목록을 제공하는 역할을 했음. 일반적으로 robots.txt 파일에는 검색 엔진이 방문하지 않도록 설정된 페이지가 포함되지만, 이를 악용할 수 있는 경우도 있음.
http://securityred.team/robots.txt 에 들어가면 보이는 모습.
이 결과를 보면 /wp-admin/에 default admin 로그인 페이지가 있다는걸 알 수 있다.
공격자가 어드민 패널로 brute-force를 하고싶으면 이 URL을 사용하면 될듯
[+] http://securityred.team/xmlrpc.php:
사이트에 /xmlrpc.php가 존재한다는 것을 확인했다! 이 파일은 원격 액세스 기능을 제공하는데, 원래는 사용자가 모바일을 통해 블로그 포스트를 작성하고, 데스크탑 없이도 사이트에 게시할 수 있도록 설계된 워드프레스의 기능이다. 하지만 두 가지 주요 보안 취약점이 있으므로 해당 기능을 비활성화하는 것이 권장됨
▷ 첫 번째 취약점은 공격자가 POST 요청을 사용하여 로그인 폼 대신 이 URL을 통해 무차별 대입 공격을 시도할 수 있다는 점. 이를 통해 속도 제한이나 보안 플러그인과 같은 방어 장치를 우회할 수 있어 성공 가능성이 높아진다.
두 번째 취약점은 공격자가 워드프레스의 핑백(pingback) 기능을 이용해 DDoS 공격을 실행할 수 있다는 점
섹션 하단을 보면 WPScan이 Rapid7의 여러 기사를 참조하고 있고, 이는 Metasploit 내에서 추가 테스트를 수행할 수 있는 스캐너 모듈에 대한 정보라고 한다
[+] http://securityred.team/readme.html:
네 번째 결과로 스캐너는 /readme.html 페이지가 존재하는 것을 확인했고, 민감한 정보를 노출할 가능성이 있음
[+] WordPress version 5.3.2 identified (Latest, released on 2019-12-18):
다섯 번째 결과는 현재 사용 중인 워드프레스 버전이 5.3.2라는것과 출시 날짜를 알려줌. 만약 사이트가 오래된 버전을 사용 중이라면, 해당 버전에 존재하는 취약점을 악용할 수 있으므로 필요한 정보임
[+] 사용 중인 워드프레스 테마: mesmerise-pro:
WPScan이 사이트에서 사용 중인 테마를 탐지했고, 이는 CSS 파일(https://securityred.team/wp-content/themes/mesmerize-pro/style.css)을 기반인것으로 보임
[+] 탐지된 플러그인 – mesmerize-companion:
WPScan은 수동 탐지를 통해 사이트에서 실행 중인 mesmerize-companion 플러그인을 확인했다.
앞서 확인된 테마 mesmerize-pro와 함께 작동하며, 추가적인 기능을 제공하는 플러그인이다
이번 스캔에 대한 기본적인 세부 정보
스캔할 시점에서는 SRT 사이트에서 실행 중인 요소가 많지 않아 결과가 간략하지만, 간단한 스캔만으로도 /wp-admin/ 경로에서 로그인 페이지를 옮기거나, xmlrpc.php 비활성화와 같은 설정 변경이 필요하다는 것을 알 수 있음
WPScan으로 취약한 테마, 취약한 플러그인, 사용자 목록 등을 찾을 수 있는 추가 파라미터
취약한 플러그인 탐지:
wpscan --url <site.com> --enumerate vp
취약한 테마 탐지:
wpscan --url <site.com> --enumerate vt
사용자 목록 탐지:
wpscan --url <site.com> --enumerate u