Skip to content

Extractors

An extractor is attached to a chain step and pulls a value out of the step’s response into a named variable. That variable is then available to all subsequent steps in the chain via {{variableName}}.

Extractor configuration panel — type dropdown, expression field, variable name

FieldDescription
TypeExtractor type (protocol-specific, see below)
ExpressionWhat to extract (meaning depends on type)
Variable nameName of the variable to store the result in

Extracts the HTTP response status code as a string.

FieldValue
Expression(not used)
Example output"200"

Evaluates a JSONPath expression against the response body.

FieldValue
ExpressionJSONPath string, e.g. $.data.token
Example output"eyJhbGci..."

Returns the entire response body as a string.

FieldValue
Expression(not used)

Returns the value of a specific response header. The lookup is case-insensitive; if the header appears multiple times the first occurrence is returned.

FieldValue
ExpressionHeader name, e.g. Content-Type or X-Request-Id
Example output"application/json"

Returns "true" if the SMTP exchange completed without any assertion failures, "false" otherwise.

FieldValue
Expression(not used)

Returns the server’s response lines for a specific command, joined as a string.

FieldValue
ExpressionThe command string to match (e.g. MAIL FROM:<sender@example.com>)

Leave the expression blank to match the server greeting exchange.


Returns "true" if all IMAP commands completed successfully.

FieldValue
Expression(not used)

Returns the untagged server lines for a specific IMAP command.

FieldValue
ExpressionThe command string to match (e.g. SEARCH UNSEEN)

Leave the expression blank to match the server greeting.


Returns "true" if the LDAP operation completed without assertion failures.

FieldValue
Expression(not used)

Returns the result code for a specific LDAP operation as a string.

FieldValue
ExpressionA prefix of the operation string (e.g. BIND cn=admin)
Example output"0" (success)

Returns "true" if all DNS queries completed without any assertion failures, "false" otherwise.

FieldValue
Expression(not used)

Returns the value of the first answer record from a specific query.

FieldValue
ExpressionA prefix of the question string (e.g. A example.com)
Example output"93.184.216.34"

Leave the expression blank to use the first query’s answer. Useful for extracting a resolved IP and passing it to subsequent chain steps.


Returns "true" if the Kerberos operation succeeded, "false" otherwise.

FieldValue
Expression(not used)

Returns the hashcat-ready hash produced by a roasting operation — $krb5asrep$23$… for AS-REP roasting (mode 18200) or $krb5tgs$23$… for Kerberoasting (mode 13100). Empty string for operations that produce no hash (e.g. credential validation).

FieldValue
Expression(not used)
Example output$krb5asrep$23$jdoe@LAB.LOCAL:…

Pair with an ITERATE over a username wordlist to roast a whole user list and collect hashes into chain variables.

Returns the KDC error code (0 on success). Useful for username enumeration: 24 (KDC_ERR_PREAUTH_FAILED) means a valid account with a wrong password, while 6 (KDC_ERR_C_PRINCIPAL_UNKNOWN) means the account does not exist.

FieldValue
Expression(not used)
Example output"24"

Returns "true" if every enabled command in the SMB session completed successfully, "false" otherwise.

FieldValue
Expression(not used)

Returns an SMB NT status code (e.g. STATUS_SUCCESS, STATUS_ACCESS_DENIED). Useful for branching a chain on the exact result of a command (access checks, vulnerability probes).

FieldValue
ExpressionA substring of the command label (e.g. TREE_CONNECT); blank = last exchange’s status
Example output"STATUS_ACCESS_DENIED"

Returns the share names from a LIST_SHARES command, newline-separated. Feed it into an ITERATE step (variable-reference source, whitespace-split) to walk every share.

FieldValue
Expression(not used)
Example output"public\nprivate\nIPC$"

Returns the content read by a FILE_READ command, so a file read over SMB can feed a later chain step. UTF-8 text when decodable, otherwise a base64 fallback for binary files.

FieldValue
ExpressionA substring of the file path (e.g. secret.txt); blank = first FILE_READ result
Example output"hunter2"

Stores a fixed value into a variable — useful for passing hardcoded values or defaults through the chain context.

FieldValue
ExpressionThe literal string value to store

Applies a regular expression to the string representation of the step response and returns the first capture group (or the full match if no groups are defined).

FieldValue
ExpressionRegex pattern, e.g. token=([A-Za-z0-9]+)
Example output"abc123"

Most useful when the response is already a plain string — for example, on an IMAP step whose exchange lines contain structured text, or in the scripting engine where you can pass any string response. For HTTP responses, combine with HTTP_BODY_RAW in a scripting context if you need regex over the body.