-
Notifications
You must be signed in to change notification settings - Fork 557
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add the ability to select which functions or processes you which to e…
…xtract capabilities from (#2156)
- Loading branch information
Showing
6 changed files
with
180 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,11 +9,27 @@ Use the `-t` option to run rules with the given metadata value (see the rule fie | |
For example, `capa -t [email protected]` runs rules that reference Willi's email address (probably as the author), or | ||
`capa -t communication` runs rules with the namespace `communication`. | ||
|
||
### only analyze selected functions | ||
Use the `--restrict-to-functions` option to extract capabilities from only a selected set of functions. This is useful for analyzing | ||
large functions and figuring out their capabilities and their address of occurance; for example: PEB access, RC4 encryption, etc. | ||
|
||
To use this, you can copy the virtual addresses from your favorite disassembler and pass them to capa as follows: | ||
`capa sample.exe --restrict-to-functions 0x4019C0,0x401CD0`. If you add the `-v` option then capa will extract the interesting parts of a function for you. | ||
|
||
### only analyze selected processes | ||
Use the `--restrict-to-processes` option to extract capabilities from only a selected set of processes. This is useful for filtering the noise | ||
generated from analyzing non-malicious processes that can be reported by some sandboxes, as well as reduce the execution time | ||
by not analyzing such processes in the first place. | ||
|
||
To use this, you can pick the PIDs of the processes you are interested in from the sandbox-generated process tree (or from the sandbox-reported malware PID) | ||
and pass that to capa as follows: `capa report.log --restrict-to-processes 3888,3214,4299`. If you add the `-v` option then capa will tell you | ||
which threads perform what actions (encrypt/decrypt data, initiate a connection, etc.). | ||
|
||
### IDA Pro plugin: capa explorer | ||
Please check out the [capa explorer documentation](/capa/ida/plugin/README.md). | ||
|
||
### save time by reusing .viv files | ||
Set the environment variable `CAPA_SAVE_WORKSPACE` to instruct the underlying analysis engine to | ||
cache its intermediate results to the file system. For example, vivisect will create `.viv` files. | ||
Subsequently, capa may run faster when reprocessing the same input file. | ||
This is particularly useful during rule development as you repeatedly test a rule against a known sample. | ||
This is particularly useful during rule development as you repeatedly test a rule against a known sample. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters