1. 개요

- 북한 Lazarus 해킹 그룹이 INISAFE CrossWeb EX, MagicLine4NX 외에도 VestCert, TCO!Stream 제로데이 취약점 악용

> INISAFE CrossWeb EX, MagicLine4NX 취약점 또한 공격에 지속적으로 활용

 

- VestCert: 예티소프트社에서 제작한 Non-ActiveX 방식의 웹 보안 소프트웨어(공인인증서 프로그램)

- TCO!Stream: (주)엠엘소프트社에서 제작한 자산관리 프로그램

> TCO!Stream은 서버-클라이언트로 구성

> 서버: 소프트웨어 배포 및 원격제어 등의 기능을 제공

> 클라이언트: 서버와 통신을 위해 항상 3511/TCP Listening 상태

 

- Lazarus는 지속해서 국내 사용 소프트웨어의 취약점을 찾아 공격에 악용하므로, 해당 소프트웨어를 사용할 경우 반드시 최신 버전 업데이트 적용

 

2 주요 내용

2.1 VestCert 취약점

- 공격자는 기업 내부로 최초 침입을 위해 워터링 홀 기법을 사용

① 사용자가 취약한 버전의 VestCert가 설치된 환경에서 감염된 웹 사이트에 접속

② VestCert의 써드파티 라이브러리 실행 취약점으로 인해 PowerShell 실행

③ PowerShell을 이용해 C2 서버 접속 및 악성코드 다운, 실행

워터링 홀(Watering Hole)
- 물웅덩이 근처에 매복해 먹잇감을 노리는 사자의 모습에서 유래
- 공격자는 대상에 대한 정보를 미리 수집하여, 자주 방문하는 웹 사이트를 알아낸 뒤 해당 사이트의 취약점을 이용해 침해하여 악성코드 업로드
- 피해자가 해당 웹 사이트에 접속할 경우 악성코드를 유포
- 특정대상을 대상으로 하거나, 해당 웹 사이트에 접속하는 모든 사용자들을 대상으로 할 수도 있음

써드파티 라이브러리 실행 취약점
- 써드파티(Third-party)란 제품이나 서비스의 개발과 관련하여 직접적으로 관련이 없는 외부 업체나 개인을 뜻 함
- 즉, 소프트웨어 개발에서 써드파티는 애플리케이션 개발자가 직접 개발하지 않은 외부 제공 요소
- 써드파티(Third-party) 라이브러리 실행 취약점은 애플리케이션에서 사용되는 외부 제공 라이브러리에 존재하는 보안 취약점을 의미

 

[사진 1] VestCert 취약점으로인해 실행된 악성코드를 다운로드하는 PowerShell 명령어

 

2.2 TCO!Stream

- 공격자는 최초 침입 후 내부 전파를 위해 TCO!Stream의 취약점을 이용

> 공격자는 자체 제작한 악성코드를 이용해 서버에서 특정 파일을 다운로드하고 실행하는 명령어를 생성하여 클라이언트에 전달

> 명령을 수신한 클라이언트는 서버에 접근해 악성파일을 다운로드 및 실행

 

- 공격자가 제작한 악성코드의 커맨드 라인은 다음과 같음

[사진 2] 커멘드 라인

 

파라미터 설명
<Malware> 악성 파일명 (MicrosoftVSA.bin, MicroForic.tlb, matrox86.bic, matrox86.tcm, matrox86.tcm, wincert.bin, mseng.bin)
<TCO DeviceID> TCO 서버의 Device ID
<Destination IP> 대상 클라이언트 시스템의 IP
<Destination Port> 대상 클라이언트 시스템의 포트 (3511)
<Job ID> 서버에서 사용되는 Job ID

 

- 악성코드 파일 배포 위치와 실행명령은 다음과 같음

> 배포 파일 위치: C:\Packages\<배포 모듈 이름>\<버전>\<최종 경로>\<배포 파일명>

> 실행 명령: loadconf.exe –rt5y65i8##7poi88++5t4t54t54t5n

> 해당 명령은 백도어 다운로더 loadconf.exe를 C:\Temp\ 경로에 다운로드하고 인자와 함께 실행시키는 명령

[사진 3] 복호화된 명령 中 일부

 

3. 대응방안

① 최신 버전 업데이트 적용

- 해당 취약점을 분석해 KISA와 관련 업체에 전달 및 현재는 패치가 완료된 상태

> 해당 소프트웨어들은 자동 업데이트가 적용되지 않는 소프트웨어로 업데이트를 적용하지 않은 환경이 많음

제품명 영향받는 버전 해결 버전
VestCert 2.3.6 ~ 2.5.29 2.5.30
TCO!stream 8.0.22.1115 이하 8.0.23.215

 

- 서비스 운영자: 벤더사를 통해 최신 버전 교체

- 서비스 이용자

> 작업관리자의 프로세스 탭에서 ① Goji → ② VestCert를 반드시 순서대로 종료

> [제어판]-[프로그램]-[프로그램 및 기능]에서 VestCert 버전 확인 후 제거 클릭

※ TCO!stream은 서비스 운영자가 최신버전으로 교체 시 자동 업데이트됨

> 이용 중인 금융사이트에 접속하여 해결된 버전의 프로그램 재설치

[사진 4] 삭제 방법

 

② 침해지표 보안 장비 적용

 

3. 참고

[1] https://asec.ahnlab.com/ko/53832/
[2] https://www.boannews.com/media/view.asp?idx=119059&page=1&kind=1
[3] https://www.boho.or.kr/kr/bbs/view.do?searchCnd=1&bbsId=B0000133&searchWrd=&menuNo=205020&pageIndex=4&categoryCode=&nttId=71008

+ Recent posts