131543d148
- 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
79 lines
1.6 KiB
YAML
79 lines
1.6 KiB
YAML
---
|
|
# Configure a WEBRUNNER scan node — install deps, create workspace
|
|
|
|
- name: Update apt cache
|
|
apt:
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
retries: 3
|
|
delay: 10
|
|
|
|
- name: Install scan tools
|
|
apt:
|
|
name:
|
|
- masscan
|
|
- nmap
|
|
- python3
|
|
- python3-pip
|
|
state: present
|
|
retries: 3
|
|
delay: 10
|
|
|
|
- name: Install Tor and proxychains
|
|
apt:
|
|
name:
|
|
- tor
|
|
- proxychains4
|
|
state: present
|
|
retries: 3
|
|
delay: 10
|
|
when: use_tor | default(false) | bool
|
|
|
|
- name: Start and enable Tor service
|
|
systemd:
|
|
name: tor
|
|
state: started
|
|
enabled: true
|
|
when: use_tor | default(false) | bool
|
|
|
|
- name: Configure proxychains for Tor SOCKS5
|
|
copy:
|
|
content: |
|
|
strict_chain
|
|
proxy_dns
|
|
tcp_read_time_out 15000
|
|
tcp_connect_time_out 8000
|
|
[ProxyList]
|
|
socks5 127.0.0.1 9050
|
|
dest: /etc/proxychains4.conf
|
|
mode: '0644'
|
|
when: use_tor | default(false) | bool
|
|
|
|
- name: Wait for Tor to establish circuit
|
|
wait_for:
|
|
port: 9050
|
|
host: 127.0.0.1
|
|
timeout: 60
|
|
delay: 5
|
|
when: use_tor | default(false) | bool
|
|
|
|
- name: Create webrunner workspace
|
|
file:
|
|
path: /root/webrunner
|
|
state: directory
|
|
mode: '0700'
|
|
|
|
- name: Copy node scanner script
|
|
copy:
|
|
src: "{{ playbook_dir }}/../modules/webrunner/tasks/node_scanner.py"
|
|
dest: /root/webrunner/node_scanner.py
|
|
mode: '0755'
|
|
|
|
- name: Copy targets.yaml for geo-scout mode
|
|
copy:
|
|
src: "{{ targets_file }}"
|
|
dest: /root/webrunner/targets.yaml
|
|
mode: '0644'
|
|
when: scan_mode == 'geo-scout' and targets_file != ""
|
|
ignore_errors: true
|