내용 요약
중국과 연계된 해커 집단이 오픈소스 모니터링 도구 Nezha를 변조해 원격제어 악성코드 Ghost RAT를 확산시켰다. 공격자는 phpMyAdmin 취약점을 통해 시스템에 침입한 뒤, 비정상적인 로그 인젝션 기법으로 웹셸을 심어 내부망을 장악했다.
핵심 포인트
- Nezha → Ghost RAT: 합법 도구를 악용해 강력한 RAT 배포.
- 로그 인젝션: 로그 파일에 악성 코드를 삽입해 자동 실행, 흔적을 감추는 기법.
- phpMyAdmin 취약점: 외부에 노출된 관리 패널이 초기 접근 벡터.
기술 세부 내용
1️⃣ Nezha (오픈소스 모니터링 도구)
Nezha는 한국에서 개발된 오픈소스 네트워크 모니터링 툴로, 네트워크 트래픽을 캡처하고 분석하는 기능을 제공한다.
- 구성 요소
- Nezha-Server: 트래픽 수집, 분석, 저장을 담당.
- Nezha-Agent: 각 호스트에 설치되어 패킷 캡처(PCAP)와 메트릭 수집.
- Dashboard: 웹 기반 UI, 실시간 트래픽 대시보드, 알림 기능.
- 공격 벡터로 변조
1. 코드 리버스 엔지니어링: 공개 리포지터리에서 소스 코드 다운로드.
2. RAT 배포 모듈 삽입: agent.py 또는 server.go에 Ghost RAT 배포 로직 삽입.
3. 패키징 및 서명 무효화: 디지털 서명 제거, 바이너리 재컴파일 후 배포.
4. 피싱: 조직 내부에 “네트워크 모니터링 업데이트”라는 메일로 악성 Nezha 바이너리 전달.
2️⃣ Ghost RAT (원격 제어 악성코드)
Ghost RAT은 고성능, 멀티플랫폼 RAT으로, 다음과 같은 기능을 갖춘다.
- 원격 제어: Windows, Linux, macOS에 대한 명령/제어(C2).
- 키로깅 / 스크린샷: 사용자 활동 기록.
- 파일 탐색/업로드: 파일 전송 및 다운로드.
- 프로세스 숨김: Sysinternals tools로도 감지 어려운 숨김.
- Persistence: 서비스/레지스트리 항목 생성, 타이머 트리거.
배포 메커니즘
- 웹셸에 삽입: 백엔드 서버에 PHP/ASP 스크립트 삽입, Ghost RAT 스크립트 다운로드.
- C2 연결: HTTPS/UDP 기반 암호화 채널을 통해 명령 전송.
- 오프라인 모드: 네트워크 비활성 시에도 파일 저장, 재연결 시 동기화.
3️⃣ 로그 인젝션 (Log Poisoning / Log Injection)
로그 인젝션은 공격자가 시스템 로그에 악성 코드를 삽입해, 로그 파일을 실행 파일처럼 취급하도록 만드는 기법이다.
- 전형적 시나리오
1. 로그 생성 이벤트(예: HTTP 요청 로그).
2. 악성 문자열 삽입: <script>evil()</script> 혹은 PHP 코드를 로그에 삽입.
3. 로그 파서가 코드를 해석하도록 조작(예: 로그 파일을 웹서버가 처리하도록 설정).
- 장점
- 피해자 탐지 회피: 정상 로그로 보이므로 보안 솔루션이 놓침.
- 자동 실행: 로그 파일이 주기적으로 읽히는 스케줄러가 실행 시 악성 코드 실행.
- 배포 범위 확대: 내부 시스템에 한 번 삽입하면 모든 사용자에게 영향.
- 방어 수단
- 로그 파일 무결성 체크: HMAC, SHA-256 해시를 기록, 변조 시 알림.
- 로깅 라이브러리 검증: 파서가 코드 실행을 허용하지 않도록 설정.
- 접근 제어: 로그 파일에 대한 쓰기 권한 최소화.
4️⃣ phpMyAdmin 취약점 활용
phpMyAdmin은 MySQL 관리용 웹 인터페이스이며, 여러 버전에서 SQL 인젝션과 원격 파일 포함(RFI) 취약점이 보고되었다.
- 공격 단계
1. Vulnerability Scanning: nikto, dirb, wpscan 등을 사용해 공개된 phpMyAdmin URL 탐색.
2. SQL Injection: ?p=1' OR '1'='1 같은 payload로 인증 우회.
3. File Inclusion: ?p=../../../../../../etc/passwd 같은 경로 조작으로 서버 파일 읽기/쓰기.
4. WebShell 배치: config.inc.php에 악성 PHP 코드 삽입 → /tmp 디렉토리에 파일 생성.
5. 정상 사용자 세션 탈취: $_SESSION 변조, 쿠키 탈취.
- 방어 대책
- 최신 버전 유지: phpMyAdmin은 주기적으로 보안 패치를 제공.
- 보안 설정 강화:
config.inc.php에AllowNoPassword,LoginCookieValidity최소화. - WAF 사용: OWASP ModSecurity 규칙으로 SQLi, RFI 차단.
5️⃣ WebShell (웹 셸) 설치 및 활용
웹셸은 웹 서버 내부에서 쉘 접근을 가능하게 하는 스크립트이다.
- 형식
- PHP: <?php system($_GET['cmd']); ?>
- ASP.NET: <% System.Diagnostics.Process.Start(Request.QueryString("cmd")); %>
- 배포 경로
- public_html, www, htdocs, /tmp, uploads 등 웹 접근이 가능한 디렉토리.
- 접근 방식
- URL 호출: http://target.com/shell.php?cmd=whoami
- 명령어 집행: 쉘, nc, wget 등을 사용해 파일 다운로드 및 업로드.
- 숨김 기술
- 파일명 암호화: s1_5h.exe 형태, 악성 파일이 파일리스트에 표시되지 않음.
- 자체 삭제: 명령 실행 후 /tmp 디렉토리에서 파일 삭제.
- 레지스트리 조작(Windows): HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run에 추가해 재부팅 시 실행.
- 방어 전략
- 파일 타입 검사: 업로드 시 MIME 타입 검증,
php,asp파일 차단. - 디렉토리 탐색 방지:
DirectoryIndex설정,.htaccess에Options -Indexes. - 실시간 모니터링:
mod_security,Fail2Ban으로 비정상 HTTP 요청 탐지.
- 파일 타입 검사: 업로드 시 MIME 타입 검증,
종합 방어 전략
| 단계 | 위험 요소 | 방어 수단 |
|---|---|---|
| 초기 접근 | phpMyAdmin 취약점 | 최신 패치, WAF, IP 차단 |
| 지속성 확보 | WebShell, Log Injection | 파일 무결성 체크, 접근 제한 |
| 명령/제어 | Ghost RAT C2 | DNS/HTTP 트래픽 모니터링, TLS 종료 |
| 배포 범위 확대 | Nezha 변조 | 내부 교육, 코드 리뷰, 보안 스캔 |
| 탐지 회피 | 로그 변조 | 로깅 정책 강화, SIEM 연동 |
결론
이 사례는 합법적인 오픈소스 도구를 악용해 RAT를 배포하고, 기존 취약점(phpMyAdmin)을 활용해 웹셸을 삽입하며, 로그 인젝션으로 흔적을 감추는 복합적인 공격 패턴을 보여준다.
공격자가 사용하는 모든 단계는 전통적인 보안 방어 체계(패치 관리, WAF, SIEM, 파일 무결성 검증)에서 차단이 가능하므로, 조직 차원에서 취약점 관리와 정기적인 보안 인시던트 시뮬레이션을 병행하는 것이 필수적이다.
출처: https://www.dailysecu.com/news/articleView.html?idxno=201216
'보안이슈' 카테고리의 다른 글
| [데일리시큐]북한 라자루스 그룹, 2025년 가상화폐 2조7천억원 탈취…역대 최대 규모 (0) | 2025.10.10 |
|---|---|
| [데일리시큐]드래곤포스·록빗·킬린, ‘랜섬웨어 동맹’ 결성…글로벌 사이버범죄 판도 재편 (0) | 2025.10.10 |
| [데일리시큐][긴급] 소닉월 클라우드 백업 해킹…“클라우드 백업 서비스 사용한 모든 고객에 피해 발생” (0) | 2025.10.10 |
| [보안뉴스]보안 사고 후속 조치 관건은 “고객 관점의 신속성·투명성” (0) | 2025.10.10 |
| [보안뉴스]잇단 통신사 해킹에 불안...통신분쟁조정 신청 늘고 있다 (0) | 2025.10.10 |