1. Follina 취약점?

 

Follina 취약점 분석

1. Follina 취약점? - 5월 30일, 마이크로소프트에서 Follina (CVE-2022-30190) 로 명명된 제로데이 취약점을 발표 - Microsoft Support Diagnostic Tool (MSDT) 프로그램이 URL 프로토콜을 통해 호출될 때 발생..

ggonmerr.tistory.com

 

2. 공격자들의 행동

- 해당 취약점은 현재 패치된 상태이나 공격자들은 아직 패치가 되지않은 시스템을 찾아 익스플로잇 시도

- 워드문서를 이용해 피해자가 해당 문서를 실행하면 디스코드 URL로 연결 및 HTML이 다운되며,

  HTML 문서를 이용 파워쉘 실행 및 로제나 백도어가 포함된 추가 익스플로잇 발생

- 로제나 처음 발견된 백도어로 원격 접근을 가능하게 함

* 백도어 : 공격자들이 시스템을 익스플로잇한 후 정상적인 인증 과정을 거치지 않고 시스템에 접근할 수 있도록 환경을 제공해주는 악성코드

 

3. 보안뉴스 

 

폴리나 취약점 익스플로잇 한 해커들, 로제나 백도어 심어

보안 외신 해커뉴스에 의하면 폴리나(Follina) 취약점을 악용한 또 다른 피싱 캠페인이 발견됐다고 한다. 공격자들은 폴리나를 통해 피해자의 시스템에 침투한 뒤 로제나(Rozena)라는 새로운 백도어

www.boannews.com

 

1. Malware?

- 정보 탈취 등의 목적으로 사용자의 동의없이 PC에 설치되어 악의적인 행위를 하는 코드 및 프로그램의 일체

 

2. 세대별 Malware 분류

1세대
원시형 바이러스
(Primitive Virus)
- 일반적으로 아마추어 프로그래머에 의해서 개발된 바이러스
- 단순하여 분석이 쉬우며 고정된 크기
- 일반적으로 주기억장치에 상주해서 부트영역이나 파일을 감염시키는 특성
Ex) 돌(Stoned) 바이러스, 예루살램(Jerusalem) 바이러스, 기존의 도스용 바이러스
2세대 
암호형 바이러스
(Encryption Virus)
- 컴퓨터 프로그램의 일부 또는 전체 암호화 -> 안티 바이러스로 바이러스 감염 여부를 확인할 수 없게함
- 암호화 방식이 일정해서 복호화 방식도 일정
- 폭포(Cascade) 바이러스, 느림보(Slow) 바이러스
3세대
은폐형 바이러스
(Stealth Virus)
- 스스로 은폐 가능
- 다른 실행파일에 기생해 실행파일의 크기를 증가시킴 - > 파일 크기가 변경되어 안티 바이러스에서 발견하기 쉬움
- 안티 바이러스가 감염 여부를 확인할 때 감염되기 이전 상태를 보여주어 감염 여부를 확인하기 어렵게 함
- 맥가이버(MacGyver) 바이러스, 브레인(Brain) 바이러스, 512 바이러스가 있다.
4세대
갑옷형 바이러스
(Armor Virus)
- 다양한 암호화 기법을 사용해서 은폐하는 기법을 사용 -> 안티 바이러스로 진단하기 어려움
- 바이러스가 프로그램을 변형하기 위해서 수많은 방법을 사용
- 대부분 전문 프로그래머에 의해서 개발되었지만 진단이나 치료가 불가능하지는 않음
- 다형성(Polymorphic) 바이러스, 자체 변형(Self-encryption) 바이러스
5세대
매크로 바이러스
(Macro virus)
- 엑셀, 워드처럼 매크로 명령을 사용하는 프로그램을 감염시키는 바이러스
- 누구나 쉽게 만들 수 있고 배포가능
- 운영체제와 관계없이 동작하는 응용 프로그램 내부에서 동작하는 특징
- 대부분 매크로 기능이 있는 MS사의 오피스 제품과 비지오, 오토캐드 등 VBS(Visual Basic Script)를 지원하는 다양한 프로그램에서 발견됨
- Melisa 바이러스, Laroux 바이러스, Nimda 바이러스
*추가*
차세대 바이러스
- 스크립트 형태의 바이러스가 더욱 활성화되어 네트워크와 메일을 이용하여 전파
- 데이터 파괴, 다른 파일을 감염시키는 것에서 나아가 사용자 정보를 빼내거나 시스템 장악을 위한 백도어 기능을 가진 웜의 형태로 진화

 

 

'악성코드 > 기본' 카테고리의 다른 글

PE 파일 #2 헤더  (0) 2022.08.02
PE 파일 #1 개요 및 구조  (0) 2022.08.02

1. Follina 취약점?

- 5월 30일, 마이크로소프트에서 Follina (CVE-2022-30190) 로 명명된 제로데이 취약점을 발표
- Microsoft Support Diagnostic Tool (MSDT) 프로그램이 URL 프로토콜을 통해 호출될 때 발생 가능
- MSDT를 호출한 프로그램의 권한으로 임의의 코드를 원격으로 실행

 

* MSDT를 이용해 파워쉘 스크립트를 로드하여 익스플로잇

이때, MSDT를 호출하기 위해 원래 있었던 기능인 원격 웹 서버의 HTML을 호출하는 기능을 악용

=> 한문장으로 정리하면 워드 원격 템플릿 기능을 악용하여 원격 서버에서 HTML 파일을 검색한 다음
      MSDT를 악용해 악의적인 코드 또는 파워쉘 스크립트를 로드

 

2. 취약점 동작과정

  • Follina 취약점이 포함된 문서를 공격자가 유포
  • 사용자가 해당 문서를 열람
  • 취약점 실행

1) Follina 익스플로잇 코드 

[캡쳐 1] Follina 익스플로잇 코드

- 코드 중 <script> location.href = ... </srcipt>를 이용해 msdt를 호출하여 익스플로잇 시도

* 해당 script문은 원격 웹 서버의 HTML을 호출하는 기능

 

2) 피해자가 해당 문서 실행 시

[캡쳐 2] 문서 실행 시 수행되는 스크립트 문

- 피해자가 해당 문서를 실행하면 스크립트가 실행되면서 공격자의 PC에 연결 및 공격자가 쉘을 획득하는 등 행위 발생

- FromBase64String 부분을 디코딩해보면 다음과 같은 흐름으로 이루어져있음.

  1. cmd.exe를 실행하여

  2. msdt.exe가 실행된 경우 종료(?)

  3. rar 파일을 1.rar로 복사 -> 1.rar 파일의 일부분을 1.t 파일로 출력리다이렉션 -> 1.t를 인코딩하여 1.c로 저장
      -> 1.c 파일 현제 디렉터리에 압축해제 -> rgb.exe 실행

  4. 해당 스크립트 구문이 실행되면서 공격자가 쉘을 획득하거나 임의의 명령을 실행할 수 있음

[캡쳐 3] FromBase64String 부분 base64 디코딩

*  [캡쳐 2] 전후로 공격코드에 아무의미 없는 주석문이 포함되어 있는데, 이는 Follina 취약점이 크기가 4096byte 이상의 파일이어야 공격코드가 실행되기때문에 임의의 값으로 패딩하여 크기를 맞춰주기 위함.

 

3. 대응방안

1. MSDT URL 프로토콜을 비활성화
   - 명령 프롬프트(cmd.exe)를 관리자로 실행
   - 레지스트리 키를 백업하기위해 “reg export HKEY_CLASSES_ROOT\ms-msdt filename ” 명령 실행
   - “reg delete HKEY_CLASSES_ROOT\ms-msdt /f” 명령 실행

 

MSDT URL 프로토콜 레지스트리 복구
- 관리자 권한으로 명령어 프롬프트 실행.
- "reg import [백업 파일명]" 명령어를 실행하여 레지스트리 복구

 

2. 최신 패치 제공

* 이번 폴리나 패치는 코드 주입 공격 자체는 막을 수 있지만, 익스플로잇 코드를 통한 msdt.exe를 실행은 여전히 가능함

 

3. Endpoint 장비 사용

- 워드, 엑셀, 파워포인트 등의 문서에서 msdt를 포함한 명령줄 실행이 확인될 경우 탐지되도록 룰 설정

 

4. 안티바이러스 제품 사용

 

5. 사용자측에서 주의 필요

- 출처가 불분명한 파일 주의&바이러스 토탈 이용 등 방안

 

4. 특이점

- 문서파일에 악성코드를 삽입하여 유포하는 방법은 지속적으로 발생하는 공격 유형이며,

  기존에는 매크로를 이용해 악성코드를 삽입하는 유형이 다수.

- 하지만, 이번 Follina 취약점은 매크로를 사용하지 않고 msdt를 사용했다는 차이점이 있는데,

  이는 사용자의 개입을 줄어들었다는 특징이있음.

- 매크로를 이용한 악성코드의 경우 사용자가 "콘텐츠 사용" 등 매크롤를 사용하기위한 추가적인 동작이 필요하나

  Follina 취약점의 경우 문서가 실행되기만 하면 익스플로잇이 발생함.

- 또한, 특정 버전만이 영향 받는것이 아닌 ms 오피스의 모든 제품에서 취약점이 발생 가능함.

- 3. 대응방안에 따른 대응 및 조치가 가능하나 해당 취약점을 이용한 여러가지 공격 변형이 발생할 수 있으므로 주의 필요.

 

직접 취약점을 실행하여 확인해보려 했으나 능력의 부족으로 그러지 못하였습니다.

다음번 취약점 분석을 할 경우 충분하고 철저히 준비해 계획한대로 수행하도록 노력하겠습니다.

틀린부분이 있을경우 언제든지 피드백 주시면 감사하겠습니다.

 

1. 방화벽(Firewall) 이란?

외부로부터 내부망을 보호하기 위한 네트워크 구성요소 중 하나로 

미리 정의된 보안 규칙을 통해 외부에서 들어오고 나가는 트래픽을 모니터링하고 제어하는 것

 

2. 방화벽의 기능

기능  
접근통제
(Access Control)
외부에서 내부망으로 접근하는 것을 패킷필터링을 통한 통제
* 패킷필터링 : IP, Port를 이용해 패킷을 허용/차단하는 방식
인증
(Authentication)
트래픽에 대한 사용자의 신분을 증명
* 메시지인증 : VPN과 같은 신뢰할 수 있는 통신선을 통해 전송되는 메시지 신뢰성 보장
* 사용자 인증 : OTP, 토큰기반, 패스워드기반
* 클라이언트 인증 : 접속을 요구하는 호스트 자체에 대해 인가된 호스트인지 확인
감사 및 로그
(Auditing & Logging)
방화벽에 대한 설정 변경, 방화벽을 지나는 패킷 등을 로그로 기록
프록시
(Proxy)
보안정책에 따라 실제 서비스를 제공하며,
클라이언트를 요청을 받아 서버에 전달하고 결과를 수신받아 클라이언트에 전달
NAT
(Network Address Translation)
출발지 IP 또는 목적지 IP를 전송단계에서 변경하여 전달
암호화 방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화
*보통 VPN 기능을 이용

3. 세대별 방화벽

분류  
1세대 방화벽
패킷필터링
미리 정해진 규칙에 따라 IP와 Port 정보를 이용해 접속제어를 수행하며 3~4계층에서 동작
* IP와 Port 정보만을 이용해 패킷단위로 제어를 수행하여 속도가 빠르나 Spoofing 공격에 취약
2세대 방화벽
Stateful Inspection
세션 단위로 패킷에 대한 검사가 수행됨
TCP 연결에 관한 정보를 상태 테이블에 기록 후 이를 이용해 접근 허용여부를 결정
* 상태테이블을 기록을 위한 자원 필요, 첫 패킷 헤더 공격당할 경우 잘못된 상태 테이블 구성
3세대 방화벽
애플리케이션 방화벽
패킷의 내용을 검사하고 나아가 애플리케이션에 미치는 영향을 분석하는 방화벽
* WAF
*추가*
프록시 방화벽
응용 수준 방화벽 시스템 (Application gateway)
* 내부 시스템과 외부시스템 간에 방화벽의 Proxy만을 통해 연결이 허용
* OSI 7계층에서 동작, 서비스별로 Proxy 데몬이 존재
* Proxy는 로깅, 감사 기능 및 패킷 내의 콘텐츠를 제어 -> 부하 / 더 많은 검사를 수행 -> 안전
* 애플리케이션 방화벽은 패킷 내용 검사 및 애플리케이션 계층까지 분석

회로 수준 방화벽 시스템 (Circuit gateway)
* OSI 5~7계층에서 동작
대표 프록시가 존재
* 클라이언트 프로그램이 필요하다 -> 사용자에게 투명한 서비스를 제공, 내부 IP 주소 보호
* 프로그램 배포 및 관리가 번거로운 단점

 

'보안 장비 > 기본' 카테고리의 다른 글

DRM과 DLP  (0) 2022.11.21
이중화구성  (0) 2022.08.19
IPS #1  (0) 2022.07.28
IDS #1  (0) 2022.07.27

이름 : 임꼰대

 

나이 : 27

 

카페 개설 목적 : 아는건 있는데 제대로 아는게 없어서

 

희망 업무 : 정보 보안 전문가

 

자격증 :

운전면허증

정보보안기사

정보처리기사

산업보안관리사

개인정보취급사

SQL 개발자

정보보안관제사 2급

네트워크 관리자 2급

리눅스 마스터 2급

 

+ Recent posts