TigerDemon
6주차 APT 악성코드 사례 - 라이브리(LIveRe) 유포 악성코드 본문
제 3 장 악성코드 상세 분석
제 8 절 라이브리(LIveRe) 유포 악성코드
소셜 댓글 플러그인 서비스를 제공하는 시스템에서 사용하는 솔루션의 보안 취약점을 악용해 2014년 6월에 처음 유포되었다.
가. 다운로더
특정 백신을 제거하고, 여러 웹사이트에 접속해 파일을 다운로드하는 행위를 수행한다.
아래 그림은 악성코드의 중복 실행을 막기 위해 공격자가 정한 “RK********” 문자열을 뮤텍스로 등록하며, BITS 서비스의 상태를 확 인한다.

BITS : Background Intelligent Transfer Service의 약자로 악성코드가 Windows 서비스로 실행되도록 위장하는 행위
레지스트리에 등록된 백신 V3Lite, V3 365 Clinic, AlYac, NaverVaccine, AMSP, ESET 백신의 설치 경로를 가져온다.

악성코드는 특정 백신의 경로에서 설치 제거 프로그램을 실행시키며, FindWindowA() 함수를 이용해 자동으로 백신이 제거될 수 있도록 한다.

위 코드 단계별 분석
| memset((void *)&Dst, 0, 0xFFu); | 변수 Dst를 0xFF 바이트 크기만큼 0으로 초기화 |
| sub_10022D0((LPBYTE)&Dst, (HKEY)1); | 특정 레지스트리 키에서 설치 경로를 읽어와 Dst에 저장 |
| if (strlen(&Dst)) | Dst에 유효한 경로가 들어 있으면 계속 진행(백신 확인) |
| strcat((char *)&Dst, "\\Uninst.exe"); | \Uninst.exe를 붙이며 백신 제거 프로그램 경로가 완성됨 |
| LOBYTE(v1) = sub_1001022(&Dst); if (v1) |
sub_1001022 함수는 경로 확인 또는 접근 권한 검사 역할을 하며 결과(v1)가 유효하면 실제 제거 동작으로 넘어 |
| v6 = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)sub_10020DA, 0, 0, &ThreadId); CloseHandle(v6); |
새 스레드를 생성하고, sub_10020DA 함수를 실행 -> 삭제 준비, 백그라운드 정리, 프로레스 종료 등 부수작업 담당 |
| Sleep(0x1F4u); // 500ms 대기 ShellExecute(0, "open", &Dst, "Uninstall", 0, 0); Sleep(0x7530u); // 30초 대기 |
대기 후 백신 제거 프로그램 자동 실행 |

감염 PC의 MAC 주소와 운영체제 정보, 인터넷 익스플로러의 정보를 수집하여 특정 C&C서버에 수집한 정보를 전송한다

암호화된 특정 문자열을 루틴을 통해 복호화한다



복호화된 URL에 접속하여 파일을 다운로드하여, “MZ”시그니처를 삽입하고 실행한다.


2. 분석 결과
가. C&C 서버
라이브리(LiveRe) 유포 악성코드에서 사용되는 C&C 서버의 주소는 아래 표와 같다. 악성코드에 감염된 PC는 해당 C&C 서버에 수집된 정보를 전송하고, 무작위로 특정 URL에 접속해서 악성코드를 다운로드한다.

악성코드 다운로드 주소 일부분이다.

나. 악성코드 통계
라이브리(LiveRe) 유포 악성코드 18개 중 드롭퍼(50%), 다운로더(50%) 가 각각 9개이며, 전체 악성코드 유형 통계는 (그림 3-97)이다.

'2025-SWLUG > 악성코드 스터디' 카테고리의 다른 글
| 7주차 notepad.exe를 이용한 PE 구조 분석 실습 (0) | 2025.11.12 |
|---|---|
| 6주차 APT 악성코드 사례 - 미분류 악성코드 (1) | 2025.11.05 |
| 5주차 APT 악성코드 사례 - IceFog (0) | 2025.10.26 |
| 5주차 APT 악성코드 사례 - Kimsuky APT 악성코드 (0) | 2025.10.26 |
| 4주차 문서형 악성코드사례 - 한글 문서 취약점 악성코드 (0) | 2025.09.30 |