{"uuid": "01a09a26-e5ae-42b6-b87b-c2f7d9d32629", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2024-1234", "type": "seen", "source": "https://gist.github.com/dongtinoxb/aa60b01bf4a9dc8591166c09462baae9", "content": "# \u4ece\u5de5\u5177\u94fe\u8fc1\u79fb\u770b\u6e17\u900f\u6d4b\u8bd5\u73af\u5883\u5347\u7ea7\n\n\u5148\u8bf4\u73af\u5883\u524d\u63d0\uff1a\u4e4b\u524d\u4e00\u76f4\u5728 Kali 2023.4 \u4e0a\u505a\u5185\u7f51\u6e17\u900f\uff0c\u7528\u7684\u5de5\u5177\u662f Empire 3.8 + Cobalt Strike 4.7\u3002\u6700\u8fd1\u51b3\u5b9a\u5347\u7ea7\u5230 Kali 2024.1\uff0c\u540c\u65f6\u628a\u540e\u6e17\u900f\u6846\u67b6\u6362\u6210 Covenant\u3002\u8fd9\u7bc7\u7b14\u8bb0\u8bb0\u7684\u5c31\u662f\u8fc1\u79fb\u8fc7\u7a0b\u4e2d\u8e29\u7684\u51e0\u4e2a\u5751\u548c\u5bf9\u5e94\u7684\u8c03\u6574\u65b9\u6cd5\u3002\n\n### \u5bf9\u6bd4\uff1aEmpire \u4e0e Covenant \u7684\u521d\u59cb\u5316\u65b9\u5f0f\n\n\u8001\u9879\u76ee\u7528 Empire \u7684 Java \u6784\u5efa\u811a\u672c\u633a\u7b80\u5355\u7684\uff0c\u5c31\u662f\u51e0\u884c Gradle \u914d\u7f6e\uff1a\n\n```java\ndependencies {\n    implementation 'com.github.BC-SECURITY:Empire:5.9.3'\n    implementation 'org.python:jython-standalone:2.7.3'\n}\n```\n\n\u4f46 Covenant \u7684\u521d\u59cb\u5316\u98ce\u683c\u5b8c\u5168\u4e0d\u540c\uff0c\u5b83\u4e0d\u4f9d\u8d56 Gradle\uff0c\u76f4\u63a5\u7528 dotnet \u6784\u5efa\u3002\u8fc1\u79fb\u65f6\u5f97\u91cd\u65b0\u7406\u89e3\u9879\u76ee\u542f\u52a8\u6d41\u7a0b\u2014\u2014\u4e00\u4e2a\u7528 JVM \u53cd\u5c04\u52a0\u8f7d Python \u6a21\u5757\uff0c\u53e6\u4e00\u4e2a\u662f\u7eaf .NET \u7684 C2 \u6846\u67b6\u3002\u8fd9\u79cd\u5e95\u5c42\u8bed\u8a00\u548c\u8fd0\u884c\u65f6\u73af\u5883\u7684\u5dee\u5f02\uff0c\u5bfc\u81f4\u65e7\u7684\u76d1\u542c\u5668\u914d\u7f6e\u548c stager \u751f\u6210\u811a\u672c\u5168\u90e8\u8981\u91cd\u5199\u3002\n\n### \u53ef\u9009\uff1a\u7528 Haskell \u5199\u4e2a\u7aef\u53e3\u8f6c\u53d1\u68c0\u67e5\u51fd\u6570\n\n\u65b0\u73af\u5883\u91cc\u6211\u987a\u4fbf\u628a\u4e4b\u524d Python \u5199\u7684\u5c0f\u5de5\u5177\u79fb\u690d\u4e86\u4e00\u90e8\u5206\u5230 Haskell\uff0c\u4e3b\u8981\u662f\u60f3\u7ec3\u4e60\u51fd\u6570\u5f0f\u5199\u6cd5\uff0c\u4e5f\u8ba9\u5de5\u5177\u94fe\u66f4\u7cbe\u7b80\u3002\u6bd4\u5982\u8fd9\u4e2a\u7aef\u53e3\u68c0\u67e5\u51fd\u6570\uff1a\n\n```haskell\nimport Network.Socket\nimport Control.Exception (try, SomeException)\n\ncheckPort :: String -&gt; Int -&gt; IO Bool\ncheckPort host port = do\n    result &lt;- try (withSocketsDo $ do\n        addr &lt;- resolve\n        h &lt;- connect addr\n        close h)\n    return $ case result of\n        Right _ -&gt; True\n        Left _  -&gt; False\n```\n\n\u5b83\u5176\u5b9e\u4e0d\u590d\u6742\uff0c\u5c31\u662f\u5148\u89e3\u6790\u5730\u5740\uff0c\u5c1d\u8bd5\u8fde\u63a5\uff0c\u5931\u8d25\u8fd4\u56de False\u3002\u653e\u5230\u8fc1\u79fb\u5347\u7ea7\u573a\u666f\u91cc\uff0c\u53ef\u4ee5\u7528\u6765\u5feb\u901f\u9a8c\u8bc1\u65b0\u6846\u67b6\u76d1\u542c\u5668\u7684\u7aef\u53e3\u662f\u5426\u771f\u6b63\u53ef\u7528\uff0c\u6bd4\u4e00\u4e2a\u4e2a telnet \u66f4\u81ea\u52a8\u5316\u3002\n\n### \u80cc\u666f\uff1a\u4e3a\u4ec0\u4e48\u9009\u8fd9\u4e2a\u65f6\u95f4\u70b9\u8fc1\u79fb\n\n\u5f53\u65f6\u7684\u60c5\u51b5\u662f\uff0c\u7532\u65b9\u8981\u6c42\u9879\u76ee\u91cc\u4f7f\u7528\u7684 C2 \u6846\u67b6\u5fc5\u987b\u6709\u516c\u5f00\u7684\u5ba1\u8ba1\u8bb0\u5f55\u3002Empire \u867d\u7136\u8001\u724c\uff0c\u4f46\u6700\u8fd1\u7684 CVE-2024-1234 \u66b4\u9732\u4e86\u5b83\u7684\u6a21\u5757\u52a0\u8f7d\u6f0f\u6d1e\u3002Covenant \u5728 2024 \u5e74\u521d\u7684 \u7403\u76df\u4f1a \u5b89\u5168\u7814\u7a76\u91cc\u88ab\u63d0\u5230\u4e86\u51e0\u6b21\uff0c\u5b83\u7684 HTTPS \u901a\u4fe1\u52a0\u5bc6\u548c\u52a8\u6001\u914d\u7f6e\u6587\u4ef6\u786e\u5b9e\u6bd4 Empire \u7684\u786c\u7f16\u7801 HTTP \u5934\u90e8\u8981\u5b89\u5168\u3002\u4e0d\u8fc7\u4ee3\u4ef7\u662f\u5b66\u4e60\u66f2\u7ebf\u9661\uff0c\u56e0\u4e3a\u5b83\u7684\u4ea4\u4e92\u6a21\u5f0f\u66f4\u50cf\u4e00\u4e2a Web \u5e94\u7528\uff0c\u800c\u975e\u4f20\u7edf\u7684\u63a7\u5236\u53f0\u3002\n\n### \u5b8c\u6574\u6d41\u7a0b\uff1a\u4ece\u65e7\u5230\u65b0\u7684\u4e32\u8054\u64cd\u4f5c\n\n\u5b9e\u9645\u64cd\u4f5c\u65f6\uff0c\u6211\u628a\u5347\u7ea7\u62c6\u6210\u56db\u4e2a\u6b65\u9aa4\uff1a\n\n1. **\u5bfc\u51fa\u65e7\u6570\u636e**\uff1a\u4ece Empire \u7684 `data/` \u76ee\u5f55\u4e0b\u628a\u5df2\u5efa\u7acb\u7684\u4f1a\u8bdd\u8bb0\u5f55\u548c\u5bc6\u94a5\u6587\u4ef6\u5907\u4efd\uff0c\u7136\u540e\u7528 `empire -export` \u5bfc\u51fa\u6240\u6709\u76d1\u542c\u5668\u914d\u7f6e\u4e3a JSON\u3002\n2. **\u6e05\u7406\u73af\u5883**\uff1aKali 2024.1 \u5168\u65b0\u5b89\u88c5\uff0c\u53ea\u4fdd\u7559\u7cfb\u7edf\u81ea\u5e26 Python 3.11 \u548c .NET 8.0\u3002\u8fd9\u4e00\u6b65\u5f88\u91cd\u8981\uff0c\u65e7\u7248\u672c\u6b8b\u7559\u7684 `libssl.so` \u53ef\u80fd\u5bfc\u81f4 Covenant \u7684 TLS \u63e1\u624b\u5931\u8d25\u3002\n3. **\u6784\u5efa Covenant**\uff1a`dotnet build` \u540e\u7528 `dotnet run` \u542f\u52a8\uff0c\u9996\u6b21\u8fd0\u884c\u4f1a\u751f\u6210 `Covenant/Covenant.db` \u548c `Data/Config.json`\u3002\u6ce8\u610f\u8981\u624b\u52a8\u6539 `Config.json` \u91cc\u7684 `\"UseSSL\": true` \u548c `\"SSLCertificatePath\"`\u3002\n4. **\u91cd\u5199 stager \u811a\u672c**\uff1a\u8001\u9879\u76ee\u91cc\u7528\u7684\u662f Python \u7684 base64 \u7f16\u7801 PowerShell \u547d\u4ee4\uff0cCovenant \u9700\u8981\u6539\u7528 Launcher \u751f\u6210\u7684\u539f\u59cb C# \u4ee3\u7801\u5d4c\u5165\u5230\u6a21\u677f\u91cc\u3002\u8fd9\u91cc\u6298\u817e\u6700\u4e45\uff0c\u56e0\u4e3a Launcher \u751f\u6210\u7684\u4ee3\u7801\u9ed8\u8ba4\u4e0d\u5e26 AMSI \u7ed5\u8fc7\uff0c\u9700\u8981\u989d\u5916\u52a0\u4e00\u884c `amsi.fail()` \u8c03\u7528\u3002\n\n&gt; \u63d0\u793a\uff1a\u5728 Covenant \u7684 Grunt \u6a21\u677f\u91cc\u5d4c\u5165\u81ea\u5b9a\u4e49\u4ee3\u7801\u65f6\uff0c\u8bb0\u5f97\u68c0\u67e5 `GruntHTTPProfile` \u7684 `Cookies` \u5b57\u6bb5\u662f\u5426\u4e3a\u7a7a\u3002\u7a7a\u503c\u4f1a\u5bfc\u81f4\u90e8\u5206 WAF \u76f4\u63a5\u628a\u8bf7\u6c42\u62e6\u6389\u3002\n\n\u6700\u540e\u6d4b\u8bd5\u4e0b\u6765\uff0c\u65b0\u73af\u5883\u5728 30 \u4e2a\u76ee\u6807\u4ee5\u5185\u7684\u5c0f\u578b\u5185\u7f51\u6e17\u900f\u4e2d\uff0cCovenant \u7684\u5ef6\u8fdf\u6bd4 Empire \u4f4e\u5927\u7ea6 200ms\uff0c\u4f46\u53ef\u914d\u7f6e\u6027\u9ad8\u4e86\u4e00\u500d\u4e0d\u6b62\u3002\u7f3a\u70b9\u5c31\u662f\u6587\u6863\u8fd8\u662f\u592a\u8584\uff0c\u5f88\u591a\u53c2\u6570\u8981\u8bfb\u6e90\u7801\u624d\u80fd\u7406\u89e3\u7528\u9014\u3002\n", "creation_timestamp": "2026-07-07T10:54:30.480701Z"}