@@ -21,39 +21,31 @@ A Python3 Script for Auditing IKE VPN Servers
2121``` bash
2222usage: ikess [-h] [--fullalgs] [--fingerprint] [--enc ENC] [--hash HASH] [--auth AUTH] [--group GROUP] [--onlycustom] targets [targets ...]
2323
24- ikess v1.1 - IKE Security Scanner (Sequential Mode)
24+ ikess - IKE Security Scanner (Sequential Mode)
2525
26- Scans one or more targets (IP or CIDR) sequentially with ike-scan, detects IKEv1/IKEv2,
27- tests curated or expanded transform sets, optionally fingerprints backoff behavior, and
28- produces XML, JSON, and HTML reports with findings and proof sections.
29-
30- Requirements:
31- - The external binary ' ike-scan' must be installed and in PATH.
32- - Root privileges are typically required to send raw IKE packets (use sudo).
33-
34- How targets are interpreted:
35- - Single IP: 192.0.2.10
36- - CIDR: 192.0.2.0/24 (all usable hosts are scanned)
26+ Scans targets with ike-scan, detects IKEv1/IKEv2, tests transforms,
27+ and generates XML/JSON/HTML reports.
3728
3829Scan flow per host:
3930 1) IKEv1 discovery
4031 2) IKEv2 discovery
41- 3) Aggressive Mode tests (only if IKEv1 observed)
42- 4) Main Mode transform tests (curated by default or expanded when requested)
32+ 3) Aggressive Mode tests (if IKEv1)
33+ 4) Transform tests:
34+ - default: curated common+legacy combos
35+ - --fullalgs: brute-force all ENC/HASH/AUTH/DH combos
4336 5) Optional backoff fingerprinting (--fingerprint)
4437
45- Transform key format:
46- ENC[/bits],HASH,AUTH,GROUP
47- Example: ' 7/256,5,1,14' means AES-256, SHA256, PSK, MODP-2048.
38+ Transform format: ENC[/bits],HASH,AUTH,GROUP
39+ Example: ' 7/256,5,1,14' = AES256 / SHA256 / PSK / MODP2048.
4840
4941positional arguments:
5042 targets One or more IPv4 addresses or CIDR ranges to scan. Examples: 192.0.2.10 192.0.2.0/28
5143 All usable hosts in a CIDR are enumerated.
5244
5345options:
5446 -h, --help show this help message and exit
55- --fullalgs Use the expanded transform sets. Increases coverage and scan time. The expanded sets include
56- additional DES/3DES, AES bit lengths, multiple DH groups, and RSA/HYBRID combinations . (default: False)
47+ --fullalgs Try every ENC/HASH/AUTH/DH combination (full cartesian set).
48+ You can still limit via --enc/--hash/--auth/--group. Very noisy . (default: False)
5749 --fingerprint Enable backoff fingerprinting (ike-scan --showbackoff). If no fingerprint is obtained from a
5850 generic probe, ikess retries using the first accepted transform to improve accuracy. (default: False)
5951 --enc ENC Comma separated encryption list to try or restrict. Accepts numeric codes or aliases.
@@ -74,23 +66,12 @@ Aliases you can use for --enc, --hash, --auth, --group:
7466 DH: G1=1, G2=2, G5=5, G14=14, G15=15, G16=16
7567 MODP768=1, MODP1024=2, MODP1536=5, MODP2048=14, MODP3072=15, MODP4096=16
7668
77- Notes:
78- - By default ikess uses a curated set of common, modern, and legacy transforms.
79- - --fullalgs switches to an expanded transform set that is larger and slower but thorough.
80- - You can add custom lists via --enc/--hash/--auth/--group; these are merged with the curated
81- or expanded set unless you also pass --onlycustom to scan only your provided items.
82- - For Aggressive Mode, only PSK is tried unless you explicitly include other --auth values.
83-
84- Exit codes:
85- 0 success, 1 dependency or runtime error, 124 external timeout.
86-
8769Examples:
8870 sudo ./ikess.py 10.0.0.1
8971 sudo ./ikess.py 10.0.0.0/24 --fullalgs --fingerprint
9072 sudo ./ikess.py 10.0.0.1 --enc DES,3DES --onlycustom
9173 sudo ./ikess.py 10.0.0.1 --enc AES128,3DES,1,7/256 --hash SHA1,SHA256,1 --auth PSK,RSA --group G2,G14,16
9274 sudo ./ikess.py 203.0.113.5 --enc AES256 --hash SHA256 --auth PSK --group MODP2048 --onlycustom
93-
9475```
9576
9677You can also run via Docker:
0 commit comments