Fix WEBRUNNER: attack_box format, self-contained CIDR, tools submenu, Tor, teardown
- deploy_webrunner.py: full rewrite following attack_box pattern exactly — auto-generate engagement name when blank, select_provider+gather_provider_config per provider (handles region selection), separate teardown_after_scan (default=yes) from enhanced_opsec, use_tor prompt, bundled YAML defaults, setup_logging+confirm_action+show_naming_relationship - utils/cidr_resolver.py: self-contained RIR delegation file downloader/parser — downloads APNIC/ARIN/RIPE/LACNIC/AFRINIC, caches 24h in ~/.cache/c2itall/cidr/, no geo-scout dep - utils/chunk_utils.py: remove geo-scout _try_load_geo_scout() dependency, use cidr_resolver - modules/webrunner/inputs/countries.yaml: bundled default country list (no external dep) - modules/webrunner/inputs/targets.yaml: bundled default scan targets and ports - deploy.py: move WEBRUNNER from main menu (item 14) to tools submenu (item 10) - configure_node.yml: install tor+proxychains4, start tor service, configure proxychains, wait for circuit establishment when use_tor=true - run_scan.yml: prefix command with proxychains4 when use_tor=true - providers/webrunner.yml: add Play 4 teardown — Linode DELETE + AWS terminate-instances using hostvars instance IDs stored during provisioning, conditional on teardown_after_scan
This commit is contained in:
@@ -90,3 +90,43 @@
|
||||
- "Results: {{ results_dir }}/merged_results.json"
|
||||
- "Scanner IPs: {{ scanner_ip_log }}"
|
||||
- "Log: logs/deployment_{{ deployment_id }}.log"
|
||||
|
||||
|
||||
- name: WEBRUNNER — Teardown scan nodes
|
||||
hosts: localhost
|
||||
connection: local
|
||||
gather_facts: false
|
||||
when: teardown_after_scan | default(true) | bool
|
||||
|
||||
tasks:
|
||||
- name: Teardown Linode nodes
|
||||
uri:
|
||||
url: "https://api.linode.com/v4/linode/instances/{{ hostvars[item]['linode_instance_id'] }}"
|
||||
method: DELETE
|
||||
headers:
|
||||
Authorization: "Bearer {{ linode_token }}"
|
||||
status_code: [200, 204]
|
||||
loop: "{{ groups['webrunner_nodes'] | default([]) }}"
|
||||
when:
|
||||
- hostvars[item]['provider'] == 'linode'
|
||||
- hostvars[item]['linode_instance_id'] is defined
|
||||
ignore_errors: true
|
||||
|
||||
- name: Teardown AWS nodes
|
||||
amazon.aws.ec2_instance:
|
||||
instance_ids:
|
||||
- "{{ hostvars[item]['ec2_instance_id'] }}"
|
||||
region: "{{ aws_region | default('us-east-1') }}"
|
||||
aws_access_key: "{{ aws_access_key | default('') }}"
|
||||
aws_secret_key: "{{ aws_secret_key | default('') }}"
|
||||
state: terminated
|
||||
loop: "{{ groups['webrunner_nodes'] | default([]) }}"
|
||||
when:
|
||||
- hostvars[item]['provider'] == 'aws'
|
||||
- hostvars[item]['ec2_instance_id'] is defined
|
||||
ignore_errors: true
|
||||
|
||||
- name: Teardown complete
|
||||
debug:
|
||||
msg: "All WEBRUNNER scan nodes destroyed."
|
||||
when: groups['webrunner_nodes'] is defined and groups['webrunner_nodes'] | length > 0
|
||||
|
||||
Reference in New Issue
Block a user