워드프레스 해킹, 검색엔진 랜딩페이지로 이용당했다


블로그를 AWS 라이트로 옮긴 후 지난 주 부터 블로그 접속이 안되는 현상이 발생했다.  최근에 여러번 이런 현상이 발생했다. 오늘 날 잡아서 웹서버 로그부터 뒤졌다.
결국 내 블로그가 해킹돼 검색엔진의 랜딩페이지로 이용당하고 있고, xml rpc 를 이용해 디도스공격하는 용도로 이용당하고 있는 흔적을 발견했다.  파일 날짜를 보니 지난 달에 해킹되었는데 이제 알았다 ㅠㅠ
AWS가 어떻게 알고  내  인스턴스의 외부접속을 차단했는지 모르겟지만 xml rpc 공격 차단 등  이걸 해결하면서 나중에 찾아 볼 수 있게 정리해보았다.
 

Contents


 

현상

서버접속 오류

블로그에 접속하려고 하면 한참 후에 게이트웨이 오류가 나면서 접속할 수 없었다.
서버 CPU 사용도 정상이고 콘솔 접속도 잘 되는데 게이트웨이 에러가 난다.  아무래도 AWS 내부에서 막은 것 같다.
아마존에 문의하기위해 티켓을 발행하려고 했더니 꽤 비싼 금액을 지불해야했다.  혹시나하고 스냅샷을 뜬 후 이걸로 새 인스턴스를 만들었더니 정상적으로 동작했다.
 
 

웹 접속 로그에 내 서버에 없는 컨텐트 요청

 
웹 액세스 로그를 보니 아래와 같이 내 블로그에는 없는 컨텐트요청이 많다.
 

msnbot-40-77-167-4.search.msn.com – – [19/Jun/2021:23:46:22 +0000] “GET /womens-reusable-fashion-cute-little-critter-face-masks-sealed-5-piece-set-new-p-265142289039/ HTTP/1.1” 200 247
msnbot-207-46-13-114.search.msn.com – – [19/Jun/2021:23:46:26 +0000] “GET /nightwear-ana-p-144039310345/ HTTP/1.1” 200 247
msnbot-207-46-13-114.search.msn.com – – [19/Jun/2021:23:46:28 +0000] “GET /shikien-tongue-brush-w-1-double-one-color-random-japan-795864726042-p-144014560679/ HTTP/1.1” 200 247
msnbot-40-77-167-33.search.msn.com – – [19/Jun/2021:23:46:28 +0000] “GET /o-scale-k-line-k675-7401-tf-vat-car-toy-fair-2000-p-264257908221/ HTTP/1.1” 200 247

 
msnbot-40-77-167-4.search.msn.com 이니 msn 검색봇 같은데 없는 url 을 요청하고 있다.
 

내 블로그를 검색엔진의 랜딩 페이지로 이용

요청된 URL을 웹 브라우저로 보니  아래와 같이 나왔다.
페이지 아래는 내 블로그인데 상단은 모르는 페이지이다.
워드프레스 해킹, 검색엔진 랜딩페이지로 이용당했다
 
제목으로 msn 에서 검색해보니 아래와 같이 내 도메인이 나온다.
 
워드프레스 해킹, 검색엔진 랜딩페이지로 이용당했다
 
 

wp-news.php 파일이 설치되어있다

워드프레스 디렉토리에 낯선 파일이 하나 있었다. wp-news.php 는 못본 거다. 열어보니 워드프레스 프로그램이 아니라 해킹해서 심어놓은 프로그램이었다.
워드프레스 php 파일명이 wp-config.php 이런식인데 마치 워드프레스 파일처럼 파일명을 만들어 놓았다. 역시 크래커는 영악하다.
wp-news.php 로 검색해보니 아직은 보이지 않았다.
 
 

내 사이트맵과 글 대신 자기네 사이트맵으로 리다이렉트시켰다

.htacces 에 wp-news.php 로 리다이렉트하는 것을 추가해놓았고, 사이트맵을 바꿔놓았다.
다음은 .htaccess 파일에 추가되어 있는 내용이다.

RewriteEngine On
RewriteBase /
RewriteRule ^.*-n-(\d+)/$ wp-news.php?n=$1&%{QUERY_STRING} [L]
RewriteRule ^.*-p-(\d+)/$ wp-news.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^.*(sitemap\.xml)$ wp-news.php?sitemap=xml [L,S=10000]
~
~

 
 
그래서 검색엔진에 내 글이 아니라 자기네 컨텐트가 노출되었고, 검색엔진에서 랜딩되었을때 리다이렉트를 해서 자기네 글이 내 글의 상단에 노출된거였다.
 

 

내 블로그 검색 랭킹과 내 서버를 이용해 컨테트 노출하는 해킹

사이트를 해킹해서 망가뜨리거나 랜섬웨어처럼 돈을 요구하는게 아니라 그냥 내 블로그의 검색 랭킹을 이용하고  내 서버의 리소스를 이용한 해킹이다.
이게 지속이 오래되면 구글과 같은 검색엔진에서는 검색 노출을 차단한다.  결국 16년된 내 블로그는 구글에서 검색 노출이 안되게 된다.
전에도 이런 비슷한 걸 당한적이 있다.   PC웹에서 접속하면 정상적으로  보이는데 모바일에서 접속하면 mp3 판매 같은 어뷰징 컨텐트가 보였다. 다행이 구글이 내 사이트를 차단하기 전에 해킹된 코드를 지웠고 구글 서치 콘솔에서 인덱싱을 다시 해서 해결했다.
 
 

어떻게 이걸 심었는지 알 수 없다

보통 플러그인을 통해서 한다는데, 문제가 있는 플러그인이 어떤 것인지 못 찾았다.
쩝. 찜찜하다.
 
 

해결 방법

불행 중 다행으로 내 사이트 코드를 망가뜨리긴게 아니라서 해킹 코드들을 지우고 변경한 걸 원복해서 고쳤다.  그리고 다시 플러그인이나 테마 등으로 못들어오게 파일의 권한을 읽기 전용으로 바꿨다.
 

wp-news.php 파일 삭제

해킹해서 설치해놓은 파일이라 삭제했다. 권한을 보니 데몬권한이다.
 
-rw-r–r– 1 daemon daemon 6364 May 15 06:00 wp-news.php
 
 

.htaccess 파일

.htaccess 에 wp-news.php 로 리다이렉트하는 코드를 지웠다.  백업해 놓지 않고 바로 지워서 원문을 넣지 못해 아쉽다.
.htaccess 파일 권한을 읽기전용으로 444 로 바꿨다.   이렇게하면  내 보안 플러그인에서도 사용할 수 없다.
 
이 파일을 찾아보니 여러군데 있었다.  안쓰는 플러그인과 폴더는 삭제했다.

find . -name .htaccess
./wp/.htaccess
./wp-content/uploads/wp-migrate-db/.htaccess
./wp-content/uploads/.htaccess
./wp-content/updraft/.htaccess
./wp-content/plugins/all-in-one-wp-security-and-firewall/logs/.htaccess
./wp-content/plugins/akismet/.htaccess
./wp-content/.htaccess
./wp-content/cache/.htaccess
./.htaccess

 
ip 차단을 아직 .htacces 에서하고 워드프레스 내에서 리다이렉트를 해야 해서 이 파일이 있는데 php 7 에서는 이게 필요 없다고 하니 또 다른 날을 잡아 없앨 수 있는지 알아봐야겠다.
 
 

플러그인을 최신 버전으로 업데이트하고 안쓰는 플러그인은 비활성화

플러그인 중에 해킹돼서 업데이트 하면서 해킹된 코드가 심겨지거나 , 보안이 취약한 플러그인을 통해서 해킹된다고 한다.
안쓰는 프러그인은 비활성화했는데 아무래도 날 잡아서 더 줄여야할 것 같다.
 
 

upload, 테마 폴더에 이상한 파일 있는지 확인

전에 upload 폴더와 테마 폴더에 이상한 파일들이 호출된적이 있었다.  이번에 엑세스 로그를 보니 그런 파일 요청은 없었는데 그래도 눈으로 폴더에 이상한 파일이 있는지 확인했다.
 

IP 차단

이상한 URL를 호출하거나 xmlrpc.php 를 호출하는 ip 들 접속 차단했다.  일단 .htaccess 를 이용했다.
ip 를 접속차단하고 나니 CPU 사용이 줄었어 지속가능한 영역으로 들어왔다.
 
워드프레스 해킹, 검색엔진 랜딩페이지로 이용당했다
 
 

마치며

내가 워드프레스로 블로그를 운영한지가 16년정도 됐는데 귀찮아서 퍼미션을 755로 했다가 당한적도 있어서 퍼미션도 신경썼는데 이번에 또 당했다.
어드민 접속 자체를 외부에서 접속못하게 하면 좋은데, 내 접속을 고정 IP를 하지 않는 한 이 문제는 계속 있을 것 같다.
보안이라는 건 평소에는 불편하지만 미리 준비해 두지 않으면 사고가 난다.  근데 꼭 소를 잃고나야 외양간을 고치게 되는 것 같다.







제휴 링크로 구매 시 제휴마케팅 활동의 일환으로 일정액의 수수료를 지급받아 콘텐츠를 제작하는데 큰 도움이 됩니다.



도움이 되셨다면, 댓글이나 소중한 커피 한 잔 부탁드려도 될까요?

커피 사주기
























당신이 좋아할 만한 글







플랭크스타: 플랭크 타이머

목표 시간, 세트 등 다양한 방식을 지원하는 플랭크 타이머, 음성 안내, 일별/월별/연도별 운동 기록 관리









Add a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다