Add and remove operator-selected files at C2 profile URLs
C2 file hosting lets an operator expose a Mythic file or payload at a path handled by a C2 profile. Mythic 4.0 manages these hosted-file records from the UI and sends add/remove batches to the profile’s host_file function.
host_url is the profile-specific route selected by the operator.
remove distinguishes removal from creation or refresh.
download_token is a file-scoped mctx_ bearer token the C2 profile can use to fetch the file from Mythic. Mythic rotates or invalidates it as the hosted-file state changes; do not log or persist it.
filename is the operator-facing filename.
Return one result for each requested entry so Mythic can update individual rows even when part of a batch fails. Set RestartInternalServer only when the profile must restart its internal server to activate the route changes.
Blue globe actions on payload and file views open the C2 hosting dialog. The operator chooses a compatible C2 profile and a URL. Existing entries can be refreshed, retried, stopped, or removed from the hosted-files management view.
Treat host_url as untrusted operator input. Normalize it and prevent path traversal or collisions according to the C2 server’s routing model.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Mythic","colors":{"primary":"#6D70A7","light":"#50B071","dark":"#6D70A7"},"logo":{"light":"https://mintcdn.com/specterops-3/3s2YOrygh-Ut9KJD/logo/mythic.png?fit=max\u0026auto=format\u0026n=3s2YOrygh-Ut9KJD\u0026q=85\u0026s=9dc129a1531ec4f44de0b0e79ad03679","dark":"https://mintcdn.com/specterops-3/3s2YOrygh-Ut9KJD/logo/mythic.png?fit=max\u0026auto=format\u0026n=3s2YOrygh-Ut9KJD\u0026q=85\u0026s=9dc129a1531ec4f44de0b0e79ad03679","href":"https://docs.mythic-c2.net/"},"favicon":"https://mintcdn.com/specterops-3/I6wn8nE0SX0nqRFZ/favicon.png?fit=max\u0026auto=format\u0026n=I6wn8nE0SX0nqRFZ\u0026q=85\u0026s=20b11a663bf17cfc5bedb978b1f77b77","appearance":{"default":"dark"},"background":{"decoration":"windows"},"navbar":{"links":[{"href":"https://github.com/its-a-feature/Mythic","label":"Get the Code"}],"primary":{"type":"button","label":"Issues","href":"https://github.com/its-a-feature/Mythic/issues"}},"footer":{"socials":{"x":"https://twitter.com/its_a_feature_","github":"https://github.com/its-a-feature/Mythic","slack":"https://slack.specterops.io"}},"fonts":{"heading":{"family":"Nunito Sans","weight":900,"source":"https://fonts.gstatic.com/s/nunitosans/v15/pe0TMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0lfGWVpNn64CL7U8upHZIbMV51Q42ptCp7t1R-s.woff2","format":"woff2"}},"styling":{"codeblocks":"system","latex":false},"integrations":{"plausible":{"domain":"docs.mythic-c2.net"}},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/specterops-3/3s2YOrygh-Ut9KJD/logo/thumbnail.png?fit=max\u0026auto=format\u0026n=3s2YOrygh-Ut9KJD\u0026q=85\u0026s=c1d77133045e590ac2a1e944608a0a37"},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/its-a-feature/Mythic"},{"anchor":"#mythic Community","icon":"slack","href":"https://slack.specterops.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"specterops-3","hasAudioNarration":false,"actualSubdomain":"specterops-3","customDomains":["docs.mythic-c2.net"],"gitSource":{"type":"github","owner":"mythicmeta","repo":"mintlify_documentation","deployBranch":"primary","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a96ebe38cf6faeffe797f36","collectionId":"1e9319b1-0b78-415d-bb0b-3066e8fc4515","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a96ebe38cf6faeffe797f36"},"feedback":{"thumbs":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a96ebe38cf6faeffe797f36","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Development","count":153},{"language":"default","tag":"overview","count":153},{"language":"default","tag":"Documentation","count":126},{"language":"default","tag":"Overview","count":111},{"language":"default","tag":"1. Payload Type Development","count":58},{"language":"default","tag":"Operational Pieces","count":58},{"language":"default","tag":"Hooking Features","count":42},{"language":"default","tag":"2. C2 Development","count":28},{"language":"default","tag":"4. Create Tasking \u0026 Comms Format","count":22},{"language":"default","tag":"Agent Messages","count":20}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting","slug":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting","pageMetadata":{"title":"5. File Hosting","description":"Add and remove operator-selected files at C2 profile URLs","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add and remove operator-selected files at C2 profile URLs\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Mermaid,OptimizedImage,Tab,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`C2 file hosting lets an operator expose a Mythic file or payload at a path handled by a C2 profile. Mythic 4.0 manages these hosted-file records from the UI and sends add/remove batches to the profile’s `,_jsx(_components.code,{children:`host_file`}),` function.`]}),`\n`,_jsx(Heading,{level:`2`,id:`implement-the-handler`,children:`Implement the handler`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Python`,id:`python`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`47`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`47`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` mythic_container.C2ProfileBase `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` C2HostFilesMessage,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` C2HostFilesMessageResponse,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` C2HostFilesMessageResponseFile,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` host_file`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`input_msg`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: C2HostFilesMessage`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) -> C2HostFilesMessageResponse:`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` results `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` entry `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` input_msg.Files:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` entry.Remove:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.remove_route(entry.HostURL)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` file_bytes `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.fetch_from_mythic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agent_file_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.AgentFileID,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` bearer_token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.DownloadToken,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.install_route(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` route`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.HostURL,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` filename`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.Filename,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` contents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`file_bytes,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` results.append(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` C2HostFilesMessageResponseFile(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Success`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` AgentFileID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.AgentFileID,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` HostURL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.HostURL,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` except`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Exception`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` exc:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` results.append(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` C2HostFilesMessageResponseFile(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Success`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Error`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(exc),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` AgentFileID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.AgentFileID,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` HostURL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entry.HostURL,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` C2HostFilesMessageResponse(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Success`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`all`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(result.Success `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` results),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Results`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`results,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`]})})})}),_jsx(Tab,{title:`Golang`,id:`golang`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`31`,language:`go`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`31`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HostFileFunction`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` C2HostFilesMessage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`C2HostFilesMessageResponse`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`type`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` C2HostFileMessage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` struct`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` AgentFileID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"agent_file_id\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` HostURL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"host_url\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Remove`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` bool`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"remove\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` DownloadToken`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"download_token,omitempty\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Filename`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"filename,omitempty\"`'})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`type`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` C2HostFilesMessage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` struct`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"c2_profile_name\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Files`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`C2HostFileMessage`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"files\"`'})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`type`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` C2HostFileMessageResponse`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` struct`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Success`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` bool`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"success\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Error`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"error\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` AgentFileID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"agent_file_id\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` HostURL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"host_url\"`'})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`type`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` C2HostFilesMessageResponse`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` struct`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Success`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` bool`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"success\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Error`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"error\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Results`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`C2HostFileMessageResponse`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"results,omitempty\"`'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` RestartInternalServer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` bool`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' `json:\"restart_internal_server,omitempty\"`'})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`request-contract`,children:`Request contract`}),`\n`,_jsx(_components.p,{children:`Each batch identifies the C2 profile and contains one or more files:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"c2_profile_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"files\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agent_file_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"4b60bd75-bcf4-4c3e-8abe-9566c23b8cb8\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"host_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/updates/agent.bin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"remove\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"download_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mctx_example_file_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"filename\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"agent.bin\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`agent_file_id`}),` is the Mythic file UUID.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`host_url`}),` is the profile-specific route selected by the operator.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`remove`}),` distinguishes removal from creation or refresh.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`download_token`}),` is a file-scoped `,_jsx(_components.code,{children:`mctx_`}),` bearer token the C2 profile can use to fetch the file from Mythic. Mythic rotates or invalidates it as the hosted-file state changes; do not log or persist it.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`filename`}),` is the operator-facing filename.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Return one result for each requested entry so Mythic can update individual rows even when part of a batch fails. Set `,_jsx(_components.code,{children:`RestartInternalServer`}),` only when the profile must restart its internal server to activate the route changes.`]}),`\n`,_jsx(Mermaid,{chart:`sequenceDiagram\n participant O as Operator\n participant M as Mythic\n participant C as C2 profile\n participant S as C2 server\n O->>M: Add or remove hosted file\n M->>C: host_file(files[] + download token)\n alt Add or refresh\n C->>M: Fetch file with Bearer token\n C->>S: Install route and contents\n else Remove\n C->>S: Remove route\n end\n C-->>M: Per-file results\n M-->>O: Update hosted-file state`}),`\n`,_jsx(Heading,{level:`2`,id:`operator-workflow`,children:`Operator workflow`}),`\n`,_jsx(_components.p,{children:`Blue globe actions on payload and file views open the C2 hosting dialog. The operator chooses a compatible C2 profile and a URL. Existing entries can be refreshed, retried, stopped, or removed from the hosted-files management view.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=9e4d2d5faa3c1ae18e9b9cd8525f634f`,\"data-og-width\":`768`,width:`768`,\"data-og-height\":`608`,height:`608`,\"data-path\":`images/version-3.3/image-1-66.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?w=280\u0026fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=bbae7cc54a2b72cac917c058b687d238 280w, https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?w=560\u0026fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=2af7276ce34908c82a01dc52785f7429 560w, https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?w=840\u0026fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=30aae35c66c186af0752447a8b87f550 840w, https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=0771aa95817bf36e7df89297ff3f3cb4 1100w, https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=4d3f4cf0b7d010c5c371a16102fdf52e 1650w, https://mintcdn.com/specterops-3/Q45ODK3p_6EGsIcS/images/version-3.3/image-1-66.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Q45ODK3p_6EGsIcS\u0026q=85\u0026s=616111ed66bf838784661b5ea3cf9392 2500w`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Treat `,_jsx(_components.code,{children:`host_url`}),` as untrusted operator input. Normalize it and prevent path traversal or collisions according to the C2 server’s routing model.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"5. File Hosting","description":"Add and remove operator-selected files at C2 profile URLs","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Implement the handler","slug":"implement-the-handler","depth":2,"children":[]},{"title":"Request contract","slug":"request-contract","depth":2,"children":[]},{"title":"Operator workflow","slug":"operator-workflow","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"specterops-3","siteName":"Mythic","title":"5. File Hosting - Mythic","navMaps":{"firstHrefInVersion":{"version 4.0":{"href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting","matchLevel":0},"version 3.3":{"href":"/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting","matchLevel":1}},"firstHrefInLanguage":{}},"lastModified":"2026-08-03T05:40:25.695Z","originalFileLocation":"version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add and remove operator-selected files at C2 profile URLs\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mythic\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"5. File Hosting - Mythic\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add and remove operator-selected files at C2 profile URLs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mythic\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://specterops-3.mintlify.app/_mintlify/api/og/v2?division=2.2+Advanced+Features\u0026amp;title=5.+File+Hosting\u0026amp;description=Add+and+remove+operator-selected+files+at+C2+profile+URLs\u0026amp;theme=cfca8a284e14b6c3ed528a84\u0026amp;signature=0e7284c149495725eafb721f1da1819e25a5b596851e329cba29971d44b5720b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"5. File Hosting - Mythic\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add and remove operator-selected files at C2 profile URLs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://specterops-3.mintlify.app/_mintlify/api/og/v2?division=2.2+Advanced+Features\u0026amp;title=5.+File+Hosting\u0026amp;description=Add+and+remove+operator-selected+files+at+C2+profile+URLs\u0026amp;theme=cfca8a284e14b6c3ed528a84\u0026amp;signature=0e7284c149495725eafb721f1da1819e25a5b596851e329cba29971d44b5720b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/specterops-3/CtO7omxk-GskQdbQ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mythic\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6D70A7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mythic-c2.net/#organization\",\"name\":\"Mythic\",\"url\":\"https://docs.mythic-c2.net\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/specterops-3/3s2YOrygh-Ut9KJD/logo/mythic.png?fit=max\u0026auto=format\u0026n=3s2YOrygh-Ut9KJD\u0026q=85\u0026s=9dc129a1531ec4f44de0b0e79ad03679\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mythic-c2.net#website\",\"name\":\"Mythic\",\"url\":\"https://docs.mythic-c2.net\",\"publisher\":{\"@id\":\"https://docs.mythic-c2.net/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting#webpage\",\"url\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting\",\"name\":\"5. File Hosting\",\"description\":\"Add and remove operator-selected files at C2 profile URLs\",\"dateModified\":\"2026-08-03T05:40:25.695Z\",\"isPartOf\":{\"@id\":\"https://docs.mythic-c2.net#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"overview\",\"item\":\"https://docs.mythic-c2.net/version-4.0/customizing/customizing-public-agent\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2. C2 Development\",\"item\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/mythic-definition/2.1.1-c2-class-definition\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"2.2 Advanced Features\",\"item\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.1-c2-configuration-files\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"5. File Hosting\",\"item\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting#article\",\"headline\":\"5. File Hosting\",\"name\":\"5. File Hosting\",\"description\":\"Add and remove operator-selected files at C2 profile URLs\",\"url\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mythic-c2.net/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting#webpage\"},\"dateModified\":\"2026-08-03T05:40:25.695Z\",\"publisher\":{\"@id\":\"https://docs.mythic-c2.net/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mythic-c2.net#website\"}}]}\u003c/script>","siteName":"Mythic","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/its-a-feature/Mythic"},{"anchor":"#mythic Community","icon":"slack","href":"https://slack.specterops.io"}]},"versions":[{"version":"version 4.0","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/version-4.0/home"}]},{"tab":"GraphQL API","pages":[{"title":"GraphQL API","href":"/version-4.0/scripting/home"}]},{"tab":"Development","groups":[{"group":"overview","pages":[{"title":"Overview","href":"/version-4.0/customizing/customizing-public-agent"},{"group":"Hooking Features","pages":[{"title":"Overview","href":"/version-4.0/customizing/hooking-features"},{"title":"Actions","href":"/version-4.0/customizing/hooking-features/actions"},{"group":"Linking Agents","pages":[{"title":"Overview","href":"/version-4.0/customizing/hooking-features/linking-agents"},{"title":"P2P Connections","href":"/version-4.0/customizing/hooking-features/linking-agents/action-p2p_info"}]},{"title":"Process Browser","href":"/version-4.0/customizing/hooking-features/process_list"},{"title":"Artifacts","href":"/version-4.0/customizing/hooking-features/artifacts"},{"title":"Credentials","href":"/version-4.0/customizing/hooking-features/credentials"},{"title":"File Downloads (Agent -> Mythic)","href":"/version-4.0/customizing/hooking-features/download"},{"title":"File Uploads (Mythic -> Agent)","href":"/version-4.0/customizing/hooking-features/action-upload"},{"title":"Screenshots","href":"/version-4.0/customizing/hooking-features/screenshots"},{"title":"Add / Remove Commands","href":"/version-4.0/customizing/hooking-features/commands"},{"title":"Keylog","href":"/version-4.0/customizing/hooking-features/keylog"},{"title":"File Browser","href":"/version-4.0/customizing/hooking-features/file-browser"},{"title":"Tokens","href":"/version-4.0/customizing/hooking-features/tokens"},{"title":"Alerts","href":"/version-4.0/customizing/hooking-features/alerts"},{"title":"SOCKS","href":"/version-4.0/customizing/hooking-features/socks"},{"title":"RPFWD","href":"/version-4.0/customizing/hooking-features/rpfwd"},{"title":"Interactive Tasking","href":"/version-4.0/customizing/hooking-features/interactive-tasking"},{"title":"Task status","href":"/version-4.0/customizing/hooking-features/task-status"},{"title":"OnContainerStart","href":"/version-4.0/customizing/hooking-features/oncontainerstart"},{"title":"Task Context Tracking","href":"/version-4.0/customizing/hooking-features/context-tracking"}]},{"group":"1. Payload Type Development","pages":[{"title":"1. Overview","href":"/version-4.0/customizing/payload-type-development"},{"group":"2. Payload Type Definition","pages":[{"title":"Payload Type Definition","href":"/version-4.0/customizing/payload-type-development/payload-type-info/payload-type-definition"},{"title":"Dynamic Build Parameters \u0026 C2 Variations","href":"/version-4.0/customizing/payload-type-development/payload-type-info/dynamic-build-parameters"},{"title":"JSONString Parameters","href":"/version-4.0/customizing/payload-type-development/payload-type-info/json-string-parameters"},{"title":"Wrapper Compatibility","href":"/version-4.0/customizing/payload-type-development/payload-type-info/wrapper-compatibility"},{"title":"Container Syncing","href":"/version-4.0/customizing/payload-type-development/payload-type-info/container-syncing"},{"title":"Turning a VM into a Container","href":"/version-4.0/customizing/payload-type-development/payload-type-info/turning-a-vm-into-a-container"}]},{"group":"3. Adding Commands","pages":[{"title":"Overview","href":"/version-4.0/customizing/payload-type-development/adding-commands"},{"title":"Commands","href":"/version-4.0/customizing/payload-type-development/adding-commands/commands"}]},{"group":"4. Create Tasking \u0026 Comms Format","pages":[{"title":"Overview","href":"/version-4.0/customizing/payload-type-development/create_tasking"},{"group":"Agent Messages","pages":[{"title":"Overview","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding"},{"title":"1. Agent Message Format","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/agent-message-format"},{"title":"2. Checkin","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/initial-checkin"},{"title":"3. Get Tasking","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/action_get_tasking"},{"title":"4. Submitting Responses","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/action-post_response"},{"title":"5. SOCKS","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/socks"},{"title":"6. Reverse Port Forward","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/rpfwd"},{"title":"7. Peer-to-peer messages","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/delegates"},{"title":"8. Interactive Tasking","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/8.-interactive-tasking"},{"title":"9. Agent RPC","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/agent-rpc"},{"title":"10. File Editor Protocol","href":"/version-4.0/customizing/payload-type-development/create_tasking/agent-side-coding/file-editor-protocol"}]}]},{"title":"5. Browser Scripting","href":"/version-4.0/customizing/payload-type-development/browser-scripting"},{"title":"6. Dynamic Command Parameter Values","href":"/version-4.0/customizing/payload-type-development/dynamic-parameter-values"},{"title":"7. Sub-tasking / Task Callbacks","href":"/version-4.0/customizing/payload-type-development/sub-tasking-task-callbacks"},{"title":"8. OPSEC Checking","href":"/version-4.0/customizing/payload-type-development/opsec-checking"},{"title":"9. Translation Containers","href":"/version-4.0/customizing/payload-type-development/translation-containers"},{"title":"10. Process Response","href":"/version-4.0/customizing/payload-type-development/process-response"},{"title":"11 TypedArray Parse Function","href":"/version-4.0/customizing/payload-type-development/12-typedarray-parse-function"},{"title":"12. SOCKS","href":"/version-4.0/customizing/payload-type-development/socks"},{"title":"13. Reverse PortFwd","href":"/version-4.0/customizing/payload-type-development/reverse-portfwd"},{"title":"14. Interactive Tasking","href":"/version-4.0/customizing/payload-type-development/15.-interactive-tasking"}]},{"group":"2. C2 Development","pages":[{"group":"2.1 Getting Started","pages":[{"title":"1. Getting Started","href":"/version-4.0/customizing/c2-related-development/mythic-definition/2.1.1-c2-class-definition"},{"title":"2. Parameters","href":"/version-4.0/customizing/c2-related-development/mythic-definition/2.1.2-c2-parameters"},{"title":"3. Running","href":"/version-4.0/customizing/c2-related-development/mythic-definition/2.1.3-c2-running"},{"title":"4. Server Code","href":"/version-4.0/customizing/c2-related-development/mythic-definition/2.1.4-c2-server-code"}]},{"group":"2.2 Advanced Features","pages":[{"title":"1. Configuration Files","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.1-c2-configuration-files"},{"title":"2. OPSEC Checks","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.2-opsec-checks-for-c2-profiles"},{"title":"3. Configuration Checks","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.3-configuration-checks"},{"title":"4. Sample Message","description":null,"href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.4-sample-message"},{"title":"5. File Hosting","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting"},{"title":"6. Redirect Rules","description":null,"href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.6-redirect-rules"},{"title":"7. Get IOC","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.7-get-ioc"},{"title":"8. Push C2","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.8-push-c2"},{"title":"9. Custom RPC","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.2.9-custom-rpc"}]},{"group":"2.3 Docker","pages":[{"title":"1. Docker Containers","href":"/version-4.0/customizing/c2-related-development/server-side-coding/2.3.1-c2-docker-containers"}]}]},{"group":"3. Consuming Containers","pages":[{"title":"Overview","href":"/version-4.0/customizing/3.-consuming-containers"},{"title":"Webhooks","href":"/version-4.0/customizing/3.-consuming-containers/webhooks"},{"title":"Logging","href":"/version-4.0/customizing/3.-consuming-containers/logging"},{"group":"Eventing","pages":[{"title":"Overview","href":"/version-4.0/customizing/3.-consuming-containers/eventing"},{"title":"Operator Context (run_as)","href":"/version-4.0/customizing/3.-consuming-containers/eventing/operator-context-run_as"},{"title":"Workflow Triggers","href":"/version-4.0/customizing/3.-consuming-containers/eventing/workflow-triggers"},{"title":"Steps","href":"/version-4.0/customizing/3.-consuming-containers/eventing/steps"}]},{"title":"Auth","href":"/version-4.0/customizing/3.-consuming-containers/auth"},{"title":"Chat Containers","href":"/version-4.0/customizing/3.-consuming-containers/chat"}]},{"title":"4. Extending Agent Commands","href":"/version-4.0/customizing/4.-extending-agent-commands"},{"title":"5. Custom Browsers","href":"/version-4.0/customizing/5.-custom-browsers"},{"title":"Mythic UI Development","href":"/version-4.0/customizing/mythic-ui-development"}]}]},{"tab":"MythicRPC","pages":[{"title":"MythicRPC","href":"/version-4.0/mythicrpc/mythicrpc"}]}]},{"version":"version 3.3","pages":[{"title":"version 3.3","href":"/customizing/c2-related-development/server-side-coding/2.2.5-file-hosting"}]},{"version":"version 3.0","tabs":[{"tab":"Documentation"}]},{"version":"version 2.3","tabs":[{"tab":"Documentation"}]}]},"basePath":"","title":"5. File Hosting - Mythic","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}