Var
Defines temporary local variables.
Command:
var
Syntax:
var <var_name> = <value>
Example:
var myVar = 'Text here'
print myVar
Text here
You can use variables in several diverse ways, here are some examples:
In commands:
var url = "http://example.com"
server url
In options:
zirkul(plugin)# url: varname
Within formatted string values:
zirkul(scanner)# url "http://{{var_name}}"
zirkul(scan)# summary: "My Scan for {{var_name}}"
There are also reserved variables for dates, time, paths or objects.
Current date:
print date
Mar-27-2095
Current time:
print now
2095-03-27 13:52:56
Current time in UTC time zone:
print utcnow
2024-03-27 19:55:29
Current day of the month in numeric format:
print day
27
Current month in numeric format:
print month
3
Current year in numeric format:
print year
2095
Current hour, minute and second:
print 'Time = {{hour}} : {{minute}} : {{second}}'
Time = 12 : 35 : 47
Current working directory:
print working_path
/Applications/zirkul.app/Contents/MacOS
Path based on agent current location:
print binary_path
/user/Documents
The scan object is created when a scan is loaded or created, you can use the object directly or it's attributes as follows:
zirkul#scan 2
[ + ] Vulnerability data retrieved from server: Success
[ + ] Scan data retrieved from server: Success
zirkul(scan)#print scan
Current scan:
==================================================
id => 2
targetid => 339
subject => 'Network Scan - Internal'
description => '192.168.90.0/24'
scan_type => 'Network Scan'
status => 'Completed'
created_date => '2021-01-18 13:12:13'
created_by => '[email protected]'
created_api => False
last_modified_date => '2024-03-26 21:00:10'
last_modified_by => '[email protected]'
last_modified_api => False
Attributes:
ip => '192.168.90.0/24'
testing_environment_type => 'Internal'
assignee => '[email protected]'
Compliance:
rating => 'F'
critical => 1
high => 4
medium => 78
low => 16
informational => 0
zirkul(scan)#print scan.scan_type
Network Scan
zirkul(scan)#
The target object is created when a target is loaded, you can use the object directly or it's attributes as follows:
zirkul#target 1
[ ! ] Target loaded successfully: 1
zirkul#print target
Current target:
==================================================
id => 1
target_type => 'Network range'
owner => <not set>
name => 'Dolphin'
description => 'Internal network in Dolphin offices'
created_date => '2021-01-18 13:11:47'
created_by_api => False
created_by => '[email protected]'
last_modified_date => '2021-10-21 21:31:00'
last_modified_by_api => False
last_modified_by => '[email protected]'
Compliance:
rating => 'A+'
critical => 0
high => 0
medium => 0
low => 0
informational => 0
zirkul#
zirkul#print target.name
Dolphin
zirkul#
There's also an object called 'issues' created by the internal scanner or plugins containing the list of issues detected in the current session, you can get the summary of all issues as well as details for every specific issue as follows:
zirkul#print issues
Local issues data:
==================================================
issues.count => 15
issues.critical => 0
issues.high => 0
issues.medium => 3
issues.low => 12
issues.info => 0
==================================================
You can also get more details from any issue:
print issues[1]
print issues[1].details
zirkul#print issues.count
15
zirkul#print issues[1].type
Missing X-Frame-Options Header
Last updated