블로깅

제가 정교한 워드프레스 모바일 리다이렉션 멀웨어에서 어떻게 회복했는지 공유해볼게요

06-20
16

다른 분께 도움이 될까 해서 공유해볼게요. 온라인에서 유용한 정보를 거의 찾지 못해서 며칠 동안 고민했어요.結局 시도한 보안이나 악성코드 제거 플러그인들 중 실제로 문제를 해결해 준 게 하나도 없었어요.

**개요**

이건 모바일 전용으로 정교하게 만든 워드프레스 리다이렉트 멀웨어예요. 방문자를 스팸 사이트로 보내는 악성 코드가 있거든요. 이 코드는 User-Agent 문자열을見て 모바일 브라우저를 감지하고, 관리자들(보통 데스크톱에서 사이트를 확인하죠)이 알아채지 못하도록 모바일 방문자만 리다이렉트해요. 처음엔 일반적인 워드프레스 감염인 줄 알았는데, 실제로는 훨씬 심각했더라고요.

**감염 경로**

파일을 뒤지다 보니 wp-config.php에 악성 코드가 주입돼 있었어요. 이 코드는 Base64로 인코딩된 페이로드를 eval(base64_decode(...)) 형태로 가지고 있었죠.

디코딩해 보니 다음과 같은 기능을 했어요.

- 방문자가 모바일 기기를 사용하는지 확인

- 모바일 사용자만 스팸 사이트로 리다이렉트

- 외부 도메인에서 숨은 스크립트 주입

- 관리자, CLI, API 요청은 건너뛰어 감지 피하기

두 사이트 모두 wp-config.php 최상단에まったく 동일한 페이로드가 동일한 페이로드가 주입돼 있었어요. davvero 짜증나는 건, 파일을 깔끔히 정리해도 몇 시간 안에 다시 감염이 되돌아왔다는 점이에요.

조사 중에 다음과 같은 걸 발견했어요.

- sys_ 라는 이름 패턴을 쓰는 백도어 관리자 계정과 [email protected] 같은 이메일

- 변경 불가능 플래그가 설정된 백도어 SSH authorized_keys → 공격자가 파일을 삭제하지 못하도록 잠궜고, 당시 루트 수준의 서버 접근 권한을 가졌음을 의미해요(워드프레스만 접근한 게 아니에요)

- 또한 몇 가지 가짜 플러그인도 찾았는데,こいつらはこんな 행동을 했어요.

- wp-content/mu-plugins/에 01-mu-*.php 파일로 자신을 복사 (자동 로딩, 대시보드에서 삭제 불가)

- 페이지 로드마다 wp-config.php를 다시 주입

- 숨은 sys_ 관리자 계정을 자동 생성

- 원격 서버로 credentials 유출

- 몇 달 전부터 설치돼 있었음

사이트를 정리할 때마다 이 플러그인들이 semplicemente everything을 되돌려놨어요.

페이로드를 더 디코딩해 보니 악성 스크립트 주입도 발견했어요. 바로 ak.akam60800.net이라는 가짜 도메인인데, Akamai CDN을 가장해서 프론트엔드 페이지 방문마다 스크립트를 주입해 방문자를 리다이렉트하거나 감염시키더라고요.

**systemd 서비스 조사**

악성 시스템드 서비스를 확인해 보니 두 가지가 눈에 띄었어요.

- defunct.service → “D-Bus System Connection Bus”라고 설명돼 있지만 실제 D-Bus 서비스는 dbus.service예요. 즉, D-Bus를 가장한 악성 서비스였던 거죠.

- rc-local.service → 부팅 시 /etc/rc.local을 실행하는 clássic 지속점이에요.

추가 조사 결과 defunct.service가 바로 멀웨어의 지속 엔진이었어요. /lib/systemd/system/defunct.dat에 숨은 바이너리를 постоянно 실행하고 5분마다 재시작하면서 wp-config.php를 opnieuw 주입했더라고요.

서비스 파일과 dat 파일을 자세히 살펴보니 결정적인 증거가 나왔어요.

- /usr/bin/defunct — 멀웨어 바이너리, [raid5wq]이라는 가짜 커널 스레드 이름으로 위장

- /lib/systemd/system/defunct.dat — 해당 바이너리의 설정/키 파일

dat 파일과 바이너리를 분석해 보니 컴파일된 ELF 바이너리였어요. 정교한 멀웨어로, 크립토마이너 혹은 봇넷 에이전트가 [raid5wq]이라는 가짜 커널 프로세스로 가장해 actif하게 공격자가 유지 관리하고 있었더라고요.

**근본 원인**

악성 systemd 서비스인 defunct.service가 숨은 ELF 바이너리(/usr/bin/defunct)를 [raid5wq]라는 가짜 커널 스레드 이름으로 위장해서 실행하고 있었어요. 이 바이너리는 지속적으로 가짜 Akamai 스크립트(ak.akam60800.net)를 두 wp-config.php 파일에 주입해서 방문자를 리다이렉트하거나 감염시키고, 5분마다 재시작을 반복하면서 감염을 유지했죠.

댓글

블로그가 성장하지 않을 때도 계속하게 된 계기는 뭐였나요?+46
06-2317
블로그 콘텐츠 30% 삭제했더니 트래픽이 나아졌어요 content+4
06-2221
내 오래된 블로그가 2년 만에 다시 살아났어요 content+5
06-2213
핫 토픽 블로그 가이드가 필요해요 +14
06-2216
함께 일할 파트너를 찾아요 – 월 $1,000~$3,000 벌기
06-2214
현재 크롤 예산을 최대화하고 얇은 콘텐츠 필터를 우회하는 스택은 뭐예요?+5
06-2116
오늘부터 제로에서 다시 시작해야 한다면, 첫 번째 행동은 뭐가 좋을까? +2
06-2114
오래된 블로그 글 무시하지 마세요 +15
06-219
최근에 사이트 순위가 떨어졌어요+4
06-2118
제가 정교한 워드프레스 모바일 리다이렉션 멀웨어에서 어떻게 회복했는지 공유해볼게요+14
06-2016
구글 순위가 떨어졌어요 +21
06-1916
새 블로그 글들이 빠르게 인덱싱되지 않아요+38
06-1917
새 블로그가 트래픽을 얻는 데 더 오래 걸려요? +39
06-1818
여러 웹사이트 순위와 트래픽 개선하기+4
06-1819
PDF 백링크+7
06-1826
너무 늦게 배운 가장 힘든 블로그 교훈은 뭐예요?+38
06-1814
왜 갑자기 권위가 낮은 페이지들이 내 순위를 대체했을까? +19
06-1816
오늘부터 블로그 시작해볼까?+44
06-1718
AI 도구가 블로그 작성을 더 쉽게 만들어줬나요, 아니면 단지 빨라졌기만 한가요?+47
06-1718
내용을 게시하기 전에 토픽 클러스터를 계획해요?+37
06-1718