워드프레스 플러그인 pwnd
1단계: 진단 및 분석 (Triage & Analysis)
현재 상황을 정확히 이해하는 것이 가장 중요합니다. 공격의 원인과 확산 경로를 파악하여 효과적인 대응 계획을 수립합니다.
핵심 문제: 파일 업로드 취약점과 교차 감염
제공된 `pwnd.php` 파일은 ‘파일 업로드 취약점’을 악용하는 전형적인 웹쉘(Webshell)입니다. 이 취약점은 공격자가 서버에 악성 스크립트 파일을 업로드하여 원격으로 명령을 실행할 수 있게 합니다.
더 큰 문제는 서버의 모든 웹사이트가 동일한 `apache` 사용자 권한으로 실행되고 있다는 점입니다. 이로 인해 하나의 사이트가 뚫리면, 공격자는 해당 사이트의 권한을 이용해 서버 내 다른 모든 사이트의 파일을 읽고, 쓰고, 수정할 수 있습니다. 이것이 바로 ‘교차 감염’이며, 반복적인 해킹의 주된 원인입니다.
공격 흐름 시각화
공격자
취약한 플러그인
(pwnd-1)
웹쉘 업로드
(pwnd.php)
교차 감염
(모든 사이트로 확산)
로그 분석을 통한 침입 증거 확인
아파치(Apache) 접근 로그를 분석하면 공격자의 침입 흔적을 찾을 수 있습니다. 아래는 웹쉘 업로드를 시도할 때 로그에 남는 패턴을 확인하는 명령어 예시입니다.
grep “POST” /var/log/httpd/access_log | grep “/wp-content/uploads/.*\.php”
2단계: 악성코드 제거 (Eradication)
서버에 존재하는 모든 악성 파일을 체계적으로 찾아내고 데이터베이스에 삽입된 악성코드를 제거합니다.
1. 의심스러운 파일 찾기
업로드 폴더에 있어서는 안 될 PHP 파일을 찾습니다.
find /var/www/html/_______site_* -path “*/wp-content/uploads/*.php”
2. 악성코드 패턴 검색
웹쉘과 백도어에 자주 사용되는 위험한 함수 패턴을 모든 파일에서 검색합니다.
grep -rEil “(eval\(|base64_decode|gzinflate|passthru|shell_exec)” /var/www/html
3. 워드프레스 코어 파일 무결성 검사
WP-CLI를 사용하여 핵심 파일이 변조되었는지 확인하고, 변조 시 원본으로 덮어씁니다.
wp –path=/var/www/html/_______site_TAMJUNGSCOM core verify-checksums –allow-root
# 변조된 파일 발견 시 강제 재설치
wp –path=/var/www/html/_______site_TAMJUNGSCOM core download –skip-content –force –allow-root
4. 악성 플러그인 제거
확인된 악성 플러그인(`pwnd`, `pwnd-1`)을 모든 사이트에서 삭제합니다.
find /var/www/html -type d -name “pwnd” -print -exec rm -rf {} +
find /var/www/html -type d -name “pwnd-1” -print -exec rm -rf {} +
작성자
태그: