Skip to content

Commit 75db278

Browse files
authored
capemon deatils (#2875)
* capemon deatils Changes implemented: 1. Tabbed Interface: Replaced the single long table with a tabbed layout, organizing options into clear categories: * Submission: General submission settings (files, args, scripts). * Monitor: Core monitoring configuration (stealth, evasion, interaction). * Hooks & Logs: detailed hooking and logging settings. * Dumping: Configuration for payloads, memory, and config dumping. * Debug: Advanced debugging and tracing options. 2. Extended Options: Integrated the comprehensive list of configuration options from capemon_details.md, including advanced hooking and anti-evasion settings. 3. Live Search: Added a real-time search filter that dynamically hides/shows rows across the active tables based on your input, making it much easier to find specific flags. 4. UI Improvements: Used Bootstrap 5 classes to match the existing dark theme (bg-dark, text-white, border-secondary) and ensure a consistent look and feel. You can now toggle the help section and use the search bar to instantly find any configuration option. * Update index.html * sync * Update index.html * Update index.html * Update index.html
1 parent 85c803a commit 75db278

File tree

2 files changed

+319
-317
lines changed

2 files changed

+319
-317
lines changed

docs/book/src/usage/submit.rst

Lines changed: 124 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -113,61 +113,130 @@ some options (in this case a command line argument for the malware)::
113113

114114
``--options`` Options Available
115115
-------------------------------
116-
- ``filename``: Rename the sample file
117-
- ``name``: This will force family extractor to run, Ex: name=trickbot
118-
- ``curdir``: Change from where execute sample, by default %TEMP%, Ex: curdir=%APPDATA% or
119-
curdir=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
120-
- ``executiondir``: Sets directory to launch the file from. Need not be the same as the directory of sample file. Defaults to %TEMP% if both executiondir and curdir are not specified. Only supports full paths
121-
- ``free``: Run without monitoring (disables many capabilities) Ex: free=1
122-
- ``force-sleepskip``: Override default sleep skipping behavior: 0 disables all sleep skipping, 1 skips all sleeps.
123-
- ``full-logs``: By default, logs prior to network activity for URL analyses and prior to access of the file in question for non-executable formats are suppressed. Set to 1 to disable log suppression.
124-
- ``force-flush``: For performance reasons, logs are buffered before being sent back to the result server. We make every attempt to flush the buffer at critical points including when exceptions occur, but in some rare termination scenarios, logs may be lost. Set to 1 to force flushing of the log buffers after any non-duplicate API is called, set to 2 to force flushing of every log.
125-
- ``no-stealth``: Set to 1 to disable anti-anti-VM/sandbox code enabled by default.
126-
- ``buffer-max``: When set to an integer of your choice, changes the maximum number of bytes that can be logged for most API buffers.
127-
- ``large-buffer-max``: Some hooked APIs permit larger buffers to be logged. To change the limit for this, set this to an integer of your choice.
128-
- ``norefer``: Disables use of a fake referrer when performing URL analyses
129-
- ``file``: When using the zip or rar package, set the name of the file to execute
130-
- ``password``: When using the zip or rar package, set the password to use for extraction. Also used when analyzing password-protected Office documents.
131-
- ``function``: When using the dll package, set the name of the exported function to execute
132-
- ``dllloader``: When using the dll package, set the name of the process loading the DLL (defaults to rundll32.exe).
133-
- ``arguments``: When using the dll, exe, or python packages, set the arguments to be passed to the executable or exported function.
134-
- ``appdata``: When using the exe package, set to 1 to run the executable out of the Application Data path instead of the Temp directory.
135-
- ``startbrowser``: Setting this option to 1 will launch a browser 30 seconds into the analysis (useful for some banking trojans).
136-
- ``browserdelay``: Sets the number of seconds to wait before starting the browser with the startbrowser option. Defaults to 30 seconds.
137-
- ``url``: When used with the startbrowser option, this will determine the URL the started browser will access.
138-
- ``debug``: Set to 1 to enable reporting of critical exceptions occurring during analysis, set to 2 to enable reporting of all exceptions.
139-
- ``disable_hook_content``: Set to 1 to remove functionality of all hooks except those critical for monitoring other processes. Set to 2 to apply to all hooks.
140-
- ``hook-type``: Valid for 32-bit analyses only. Specifies the hook type to use: direct, indirect, or safe. Safe attempts a Detours-style hook.
141-
- ``serial``: Spoof the serial of the system volume as the provided hex value
142-
- ``single-process``: When set to 1 this will limit behavior monitoring to the initial process only.
143-
- ``exclude-apis``: Exclude the colon-separated list of APIs from being hooked
144-
- ``exclude-dlls``: Exclude the colon-separated list of DLLs from being hooked
145-
- ``dropped-limit``: Override the default dropped file limit of 100 files
146-
- ``compression``: When set to 1 this will enable CAPE's extraction of compressed payloads
147-
- ``extraction``: When set to 1 this will enable CAPE's extraction of payloads from within each process
148-
- ``injection``: When set to 1 this will enable CAPE's capture of injected payloads between processes
149-
- ``combo``: This combines compression, injection and extraction with process dumps
150-
- ``dump-on-api``: Dump the calling module when a function from the colon-separated list of APIs is used
151-
- ``bp0``: Sets breakpoint 0 (processor/hardware) to a VA or RVA value (or module::export). Applies also to bp1-bp3.
152-
- ``file-offsets``: Breakpoints in bp0-bp3 will be interpreted as PE file offsets rather than RVAs
153-
- ``break-on-return``: Sets breakpoints on the return address(es) from a colon-separated list of APIs
154-
- ``base-on-api``: Sets the base address to which breakpoints will be applied (and sets breakpoints)
155-
- ``depth``: Sets the depth an instruction trace will step into (defaults to 0, requires Trace package)
156-
- ``count``: Sets the number of instructions in a trace (defaults to 128, requires Trace package)
157-
- ``referrer``: Specify the referrer to be used for URL tasks, overriding the default Google referrer
158-
- ``loop_detection``: Set this option to 1 to enable loop detection (compress call logs - behavior analysis)
159-
- ``static``: Check if config can be extracted statically, if not, send to vm
160-
- ``Dl&Exec add headers``: Example: dnl_user_agent: "CAPE Sandbox", dnl_referrer: google
161-
- ``servicedesc`` - for service package: Service description
162-
- ``arguments`` - for service package: Service arguments
163-
- ``store_memdump``: Will force STORE memdump, only when submitting to analyzer node directly, as distributed cluster can modify this
164-
- ``pre_script_args``: Command line arguments for pre_script. Example: pre_script_args=file1 file2 file3
165-
- ``pre_script_timeout``: pre_script_timeout will default to 60 seconds. Script will stop after timeout Example: pre_script_timeout=30
166-
- ``during_script_args``: Command line arguments for during_script. Example: during_script_args=file1 file2 file3
167-
- ``pwsh``: - for ps1 package: prefer PowerShell Core, if available in the vm
168-
- ``check_shellcode``: - Setting check_shellcode=0 will disable checking for shellcode during package identification and extracting from archive
169-
- ``unhook-apis``: - capability to dynamically unhook previously hooked functions (unhook-apis option takes colon-separated list e.g. unhook-apis=NtSetInformationThread:NtDelayExecution)
170-
- ``ttd``: - ttd=1. TTD integration (Microsoft Time Travel Debugging). Place TTD binaries in analyzer/windows/bin (with wow64 subdirectory for 32-bit). .trc files output to TTD directory in results folder for manual retrieval
116+
117+
Analysis options can be specified at submission time in the format ``option1=val1,option2=val2``. These options control the behavior of the monitor and analyzer during detonation.
118+
119+
Submission & General
120+
^^^^^^^^^^^^^^^^^^^^
121+
- ``filename``: Rename the sample file within the guest environment.
122+
- ``name``: Force family extractor to run for a specific family (e.g., ``name=trickbot``).
123+
- ``curdir``: Change the execution directory (default is ``%TEMP%``). Supports environment variables like ``%APPDATA%``.
124+
- ``executiondir``: Sets the directory to launch the file from. Must be a full path.
125+
- ``arguments``: Command line arguments to pass to the initial process or exported function.
126+
- ``appdata``: Set to ``1`` to run the executable from the ``AppData`` path instead of ``Temp``.
127+
- ``file``: For Zip/Rar packages, specify which file within the archive to execute.
128+
- ``password``: Password for archive extraction or protected Office documents.
129+
- ``function``: For DLL packages, specify exported function name(s) or ordinals (colon-separated).
130+
- ``dllloader``: Specify a process name to fake the DLL launcher (default is ``rundll32.exe``).
131+
- ``pwsh``: For PS1 package, prefer PowerShell Core (``pwsh.exe``) if available.
132+
- ``ignore_size_check``: Allow ignoring file size limits (must be enabled in ``conf/web.conf``).
133+
- ``check_shellcode``: Set to ``0`` to disable shellcode detection during package identification.
134+
- ``pre_script_args`` / ``during_script_args``: Command line arguments for pre/during-execution scripts.
135+
- ``pre_script_timeout``: Timeout for pre-execution script (default 60s).
136+
- ``servicedesc`` / ``servicename``: Custom name and description for Service packages.
137+
- ``lang``: Override the system language code (LCID).
138+
- ``standalone``: Run in standalone mode without a Cuckoo pipe.
139+
- ``monitor``: Inject the monitor into a specific PID or explorer (useful for interactive mode).
140+
- ``shutdown-mutex``: Name of the mutex that signals a shutdown/termination.
141+
- ``terminate-event``: Name of the event set by the analyzer to signal termination.
142+
- ``terminate-processes``: If true, terminate processes when ``terminate-event`` is signaled.
143+
- ``first-process``: (Internal) Flag indicating if this is the first process in the analysis tree.
144+
- ``startup-time``: Milliseconds since system startup.
145+
146+
Monitor & Evasion
147+
^^^^^^^^^^^^^^^^^
148+
- ``free``: Run without monitoring (disables many capabilities for stealth or performance).
149+
- ``no-stealth``: Set to ``1`` to disable built-in anti-anti-VM/sandbox tricks.
150+
- ``force-sleepskip``: ``0`` = disable sleep skipping, ``1`` = skip all sleeps.
151+
- ``serial``: Spoof the system volume serial number (Hex value).
152+
- ``sysvol_ctimelow/high``: Spoof the creation time of the system volume.
153+
- ``sys32_ctimelow/high``: Spoof the creation time of the System32 directory.
154+
- ``fake-rdtsc``: Enable fake RDTSC (Read Time-Stamp Counter) results.
155+
- ``nop-rdtscp``: NOP the RDTSCP instruction.
156+
- ``ntdll-protect``: Enable write protection on ``ntdll.dll`` code.
157+
- ``ntdll-unhook``: Enable protection against ntdll unhooking via ``NtReadFile``.
158+
- ``ntdll-remap``: Enable ntdll remapping protection.
159+
- ``protected-pids``: Enable protection for critical PIDs to prevent termination or injection.
160+
- ``single-process``: Limit behavior monitoring to the initial process only.
161+
- ``interactive``: Enable interactive desktop mode.
162+
- ``pdf``: Enable specific hooks/behavior for Adobe Reader.
163+
- ``startbrowser``: Launch a browser 30 seconds into the analysis.
164+
- ``browserdelay``: Seconds to wait before starting the browser (default 30).
165+
- ``url``: Determine the URL the started browser will access.
166+
- ``referrer``: Specify a custom referrer for URL tasks.
167+
- ``norefer``: Disable the use of a fake referrer.
168+
- ``file-of-interest``: Specify a particular file or URL being analyzed.
169+
170+
Hooking & Logging
171+
^^^^^^^^^^^^^^^^^
172+
- ``hook-type``: Hooking method: ``indirect``, ``pushret``, ``direct``, or ``safe``.
173+
- ``hook-range``: Limit the number of applied hooks (useful for testing).
174+
- ``hook-low``: Allocate hook trampolines in low memory (<2GB) on x64 systems.
175+
- ``hook-restore``: Attempt to restore hooks if modification is detected.
176+
- ``hook-protect``: Enable write protection on hook pages.
177+
- ``hook-watch``: Enable continuous monitoring of hook integrity.
178+
- ``disable-hook-content``: ``1`` = remove payload of non-critical hooks, ``2`` = remove payload of all hooks.
179+
- ``minhook`` / ``zerohook``: Enable only minimal hooks or disable all non-essential hooks.
180+
- ``native``: Install only native (ntdll) hooks.
181+
- ``syscall``: Enable syscall hooks (Windows 10+).
182+
- ``exclude-apis`` / ``exclude-dlls``: Colon-separated lists of APIs or DLLs to exclude from hooking.
183+
- ``unhook-apis``: Colon-separated list of APIs to dynamically unhook at runtime.
184+
- ``coverage-modules``: Colon-separated list of DLLs to include in monitoring (exclude from 'dll range' filtering).
185+
- ``full-logs``: Disable log suppression (logs before network/file activity are normally suppressed).
186+
- ``force-flush``: ``1`` = flush logs after any non-duplicate API, ``2`` = force flush every log.
187+
- ``log-exceptions`` / ``log-vexcept``: Enable logging of standard or Vectored Exception Handlers.
188+
- ``log-breakpoints`` / ``log-bps``: Enable logging of breakpoints to the behavior log.
189+
- ``trace-times`` / ``tt``: Enable timing information in instruction traces.
190+
- ``buffer-max`` / ``large-buffer-max``: Max size for standard and large API log buffers.
191+
- ``api-rate-cap`` / ``api-cap``: Limits for the rate and total number of API logs.
192+
- ``no-logs`` / ``disable-logging``: Divert or completely disable the analysis log.
193+
194+
Dumping & Payloads
195+
^^^^^^^^^^^^^^^^^^
196+
- ``procdump``: Enable process memory dumping on exit or timeout.
197+
- ``procmemdump``: Enable full process memory dumping.
198+
- ``import-reconstruction``: Attempt import reconstruction on process dumps (slow).
199+
- ``dump-limit``: Limit the number of payload dumps (default 10).
200+
- ``dropped-limit``: Limit the number of dropped files logged (default 100).
201+
- ``dump-on-api``: Dump the calling module when specific APIs (colon-separated) are called.
202+
- ``dump-config-region``: Dump memory regions suspected to contain C2 configuration.
203+
- ``dump-crypto`` / ``dump-keys``: Dump buffers from Crypto APIs or keys from ``CryptImportKey``.
204+
- ``amsidump``: Enable AMSI buffer dumping (Windows 10+).
205+
- ``jit-dumps``: Limit for .NET JIT cache dumps.
206+
- ``tlsdump``: Enable dumping of TLS secrets.
207+
- ``regdump``: Enable dumping of Registry data.
208+
- ``unpacker``: ``1`` = passive unpacking, ``2`` = active unpacking.
209+
- ``injection`` / ``extraction`` / ``compression``: Enable capture of injected payloads, process extractions, or compressed payloads.
210+
- ``combo``: Combines compression, injection, and extraction with process dumps.
211+
- ``store_memdump``: Force STORE memdump when submitting to an analyzer node directly.
212+
213+
Debug & Tracing
214+
^^^^^^^^^^^^^^^
215+
- ``debugger``: Enable the internal debugger engine (implicitly set by bp/trace options).
216+
- ``debug``: ``1`` = report critical exceptions, ``2`` = report all exceptions.
217+
- ``bp0``...``bp3``: Set hardware breakpoints (format: ``0xAddress``, ``Module:Export``, or ``ep`` for entrypoint).
218+
- ``br0``, ``br1``: Set "break-on-return" addresses.
219+
- ``bp`` / ``sysbp``: Colon-separated lists of software or syscall breakpoints.
220+
- ``sysbpmode``: Mode for syscall breakpoints.
221+
- ``break-on-return``: Colon-separated list of APIs to break on return.
222+
- ``break-on-jit``: Break on .NET JIT compiled native code.
223+
- ``trace-all``: Enable full execution tracing.
224+
- ``trace-into-api``: Colon-separated list of APIs to trace into.
225+
- ``branch-trace``: Enable branch tracing.
226+
- ``depth``: Trace depth limit (integer or ``all``).
227+
- ``count``: Trace instruction count limit (integer or ``all``).
228+
- ``step-out``: Set a step-out breakpoint at a specific address.
229+
- ``stepmode``: Custom trace stepping behavior.
230+
- ``loopskip`` / ``loop_detection``: Enable loop skipping or detection to compress call logs.
231+
- ``base-on-api``: Base breakpoints on specific API addresses.
232+
- ``base-on-alloc``: Base breakpoints on executable memory allocations.
233+
- ``base-on-caller``: Base breakpoints on new calling regions.
234+
- ``file-offsets``: Interpret breakpoints as file offsets instead of RVAs.
235+
- ``loaderlock``: Allow scans/dumps while the Loader Lock is held.
236+
- ``snaps``: Enable Windows Loader Snaps output (LdrSnap).
237+
- ``ttd``: Enable Microsoft Time Travel Debugging integration (requires TTD binaries).
238+
- ``polarproxy``: Run PolarProxy for TLS decryption (TLS port can be set via ``tlsport``).
239+
- ``mitmdump``: Run mitmdump to generate HAR with decrypted TLS.
171240

172241
.. _webpy:
173242

0 commit comments

Comments
 (0)