Releases: bamhm182/SynackAPI
Changed targets.get_assets() default perPage from 500 to 5000
In the previous release, I specified that 500 assets should be retrieved at a time. In this release, the default has been set to 5000. It is often the case that we would be calling the target.get_assets() function repeatedly until we got all of the data anyway, so this change will result in fewer calls to the API endpoint overall and while the data returned may be larger in some cases, the tradeoff should result in more efficient requests while also decreasing the burden of asking for the data.
Added perPage variable to targets.get_scope()
targets.get_scope() was missing a variable to control the number of results per page while the platform would set the default to 500. A variable has been added to this function to allow for its control. For what it's worth, the maximum allowable value seems to be 5000.
Fixed targets.get_scope_{web,host} current target enumeration
v0.4.2 contained an error which prohibited targets.get_scope_{web,host} from determining the currently connected target if no information is provided. This functionality worked as expected if targets.get_scope() was called instead, and the logic from that function was applied to the two problematic functions so they all operate in the same fashion.
Added targets.get_assets()
Somewhere along the line, Synack deprecated some of the api endpoints I was using to get the scope of targets. They replaced it with an assets
API endpoint. It has taken me forever to get around to fully exploring this endpoint, implementing the new endpoint, and updating functions which relied on the deprecated endpoints, but it should be good to go with this release. This release resolves issue #18 .
Added Target Analytics
This release sees three functions added to the Targets plugin related to retrieving vulnerability submission information.
- targets.get_submissions()
- targets.get_submissions_summary()
- targets.get_connections()
Many Changes around Attachments, Scopes, and Sanitation
This release is a fairly heavy one, containing the following changes:
- Added
alerts.sanitize()
, which attempts to strip out IPv4, IPv6, and URLs from given text. I highly recommend using this function if you are doing things like sending yourself Mission Titles via SMS, Email, Slack, etc. - Integrated PR from @KeanuNys in regards to pulling attachments. Also added functionality to save them to the Scratchspace.
- Changed
targets.get_scope*
so they no longer automatically save results to the database. This caused a lot of grief around targets which had enormous scopes (/16
and the like) - Fixed the
./checks.sh
script to properly report when documentation is missing - Modified Template functionality to use
alerts.sanitize()
to ensure mission template titles don't have things like client IPs/URLs.
Added ability to retrieve scope of Mobile targets
This version sees a small modification to targets.get_scope()
so that it works to grab the scope of Mobile targets.
Added ability to query upcoming targets
This version sees the addition of targets.get_upcoming()
and targets.get_query()
, which allows for better querying of the targets you have available on Synack.
Added generic templates
In this version, I added the ability to use a file titled 'generic.txt' in the same folder as your other templates in the event that you do not have a template for a specific mission.
Removed pending_slug from Targets
The following have been fixed in this release:
pending_slug
was removed from the Synack\api\launchpoint
endpoint and has been removed here accordingly- There was a typo in the Alerts documentation that has been resolved