워드프레스 JS 파일 감염 해킹 복구

예상치도 못했던 일 때문에 엄청 바쁜 하루를 보낸 듯 하다. 내 블로그가 아니라.. 회사에서 운영하는 블로그가 정상작동하지 않는다는 보고가 있어 살펴보니 요상한 아이피로 jquery.js 요청을 보내고 있었다. 아.. 요고 해킹이구나.. 싶은 생각이 들었다. 운영 중인 사이트였기 때문에 우선 복구가 먼저라고 생각했다. 개발 계정 세팅을 위해 백업해뒀던 소스 코드가 있어 그걸로 일단 파일을 전부 교체했다. wp-contents 디렉토리 내의 파일은 포스팅 데이터와 연관을 있을 수 있기 때문에 조심해서 파일을 교체했다. 그러나 그것만으로 쉽사리 복구는 되지 않았다. 원인을 찾을 수 밖에 없구나.. 하는 생각이 들었다.

우선 테마 디렉토리에 접근해서 새로 생성된 파일이 있나 살펴봤다. 2월 9일 새벽 2시 전후로 생성된 디렉토리가 있었다. 웹서버 접속 로그를 확인했다. 해당 디렉토리의 db.php 파일을 접근한 흔적이 남아있었다. 해당 파일의 코드를 봤다. 워프프레스 코어 파일도 삭제하고.. js 파일에는 이상한 코드를 넣는.. 뭐 이런 짜증나는 것이 있나 싶었다. db.php 파일에 접속한 다른 흔적을 찾아봤다. 플러그인 디렉토리에 듣도보도 못한 플러그인이 두 개 설치된 것을 확인했다. 동일한 IP에서 접속했던 흔적이 남아있었다. 이쯤되면 책상을 한번 쳐야 하지만.. 일단 복구가 급했던 터라.. 눙물이 앞을 가린다.

감엽되면 js 파일의 코드가 아래와 같이 변경된다.

위 코드는 https://www.polaris64.net/blog/cyber-security/2017/wordpress-hacks-jquery-js-script-injection 를 참고하면 된다. 구글에서 0xaae8 라고 검색하니.. 자료가 수두룩 나온다. 더 일찍 해봤다면 복구 시간을 좀 더 당길 수 있었는데.. 암튼 위 포스트를 참고해서 감염된 파일을 찾아서 백업해둔 파일로 교체를 하거나 플러그인의 경우는 삭제 후 새로 설치하기도 했다. 감염된 파일은 아래 명령을 통해 검색했다.

db.php  파일이 업로된 플러그인이나 테마가 있는지는 아래 명령을 통해 검색했다.

감염된 파일을 삭제하거나 교체를 해서 복구를 했지만.. 브라우저에서는 여전히 나쁜 IP로 요청을 보내고 있었다. js 파일의 경우 브라우저 캐시가 남기 때문인데 캐시를 삭제해주니 정상 작동됐다.

 

참고

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *