228 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			228 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: Kali Linux 安全工具测试
 | |
|   hosts: kali
 | |
|   become: yes
 | |
|   gather_facts: yes
 | |
|   
 | |
|   vars:
 | |
|     test_results: []
 | |
|     
 | |
|   tasks:
 | |
|     - name: 初始化测试结果
 | |
|       set_fact:
 | |
|         test_results: []
 | |
|         
 | |
|     - name: 测试Nmap
 | |
|       block:
 | |
|         - name: 检查Nmap是否安装
 | |
|           command: "which nmap"
 | |
|           register: nmap_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试Nmap基本功能
 | |
|           command: "nmap -sn 127.0.0.1"
 | |
|           register: nmap_test
 | |
|           when: nmap_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Nmap测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Nmap: ' + ('✓ 正常工作' if nmap_check.rc == 0 and nmap_test.rc == 0 else '✗ 未安装或异常')] }}"
 | |
|           
 | |
|     - name: 测试Metasploit Framework
 | |
|       block:
 | |
|         - name: 检查Metasploit是否安装
 | |
|           command: "which msfconsole"
 | |
|           register: msf_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试Metasploit版本
 | |
|           command: "msfconsole --version"
 | |
|           register: msf_version
 | |
|           when: msf_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Metasploit测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Metasploit: ' + ('✓ 正常工作' if msf_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试Wireshark
 | |
|       block:
 | |
|         - name: 检查Wireshark是否安装
 | |
|           command: "which wireshark"
 | |
|           register: wireshark_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 检查tshark是否可用
 | |
|           command: "which tshark"
 | |
|           register: tshark_check
 | |
|           when: wireshark_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Wireshark测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Wireshark: ' + ('✓ 正常工作' if wireshark_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试John the Ripper
 | |
|       block:
 | |
|         - name: 检查John是否安装
 | |
|           command: "which john"
 | |
|           register: john_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试John版本
 | |
|           command: "john --version"
 | |
|           register: john_version
 | |
|           when: john_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录John测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['John the Ripper: ' + ('✓ 正常工作' if john_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试Hydra
 | |
|       block:
 | |
|         - name: 检查Hydra是否安装
 | |
|           command: "which hydra"
 | |
|           register: hydra_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试Hydra帮助
 | |
|           command: "hydra -h"
 | |
|           register: hydra_help
 | |
|           when: hydra_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Hydra测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Hydra: ' + ('✓ 正常工作' if hydra_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试SQLMap
 | |
|       block:
 | |
|         - name: 检查SQLMap是否安装
 | |
|           command: "which sqlmap"
 | |
|           register: sqlmap_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试SQLMap版本
 | |
|           command: "sqlmap --version"
 | |
|           register: sqlmap_version
 | |
|           when: sqlmap_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录SQLMap测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['SQLMap: ' + ('✓ 正常工作' if sqlmap_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试Aircrack-ng
 | |
|       block:
 | |
|         - name: 检查Aircrack-ng是否安装
 | |
|           command: "which airmon-ng"
 | |
|           register: aircrack_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试Aircrack-ng版本
 | |
|           command: "airmon-ng --version"
 | |
|           register: aircrack_version
 | |
|           when: aircrack_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Aircrack-ng测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Aircrack-ng: ' + ('✓ 正常工作' if aircrack_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试Burp Suite
 | |
|       block:
 | |
|         - name: 检查Burp Suite是否安装
 | |
|           command: "which burpsuite"
 | |
|           register: burp_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Burp Suite测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Burp Suite: ' + ('✓ 正常工作' if burp_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试Netcat
 | |
|       block:
 | |
|         - name: 检查Netcat是否安装
 | |
|           command: "which nc"
 | |
|           register: nc_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试Netcat基本功能
 | |
|           command: "nc -z 127.0.0.1 22"
 | |
|           register: nc_test
 | |
|           when: nc_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Netcat测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Netcat: ' + ('✓ 正常工作' if nc_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 测试Curl
 | |
|       block:
 | |
|         - name: 检查Curl是否安装
 | |
|           command: "which curl"
 | |
|           register: curl_check
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 测试Curl基本功能
 | |
|           command: "curl -s -o /dev/null -w '%{http_code}' https://httpbin.org/get"
 | |
|           register: curl_test
 | |
|           when: curl_check.rc == 0
 | |
|           ignore_errors: yes
 | |
|           changed_when: false
 | |
|           
 | |
|         - name: 记录Curl测试结果
 | |
|           set_fact:
 | |
|             test_results: "{{ test_results + ['Curl: ' + ('✓ 正常工作' if curl_check.rc == 0 else '✗ 未安装')] }}"
 | |
|           
 | |
|     - name: 显示所有测试结果
 | |
|       debug:
 | |
|         msg: |
 | |
|           === Kali Linux 安全工具测试结果 ===
 | |
|           {% for result in test_results %}
 | |
|           {{ result }}
 | |
|           {% endfor %}
 | |
|                     
 | |
|     - name: 生成测试报告
 | |
|       copy:
 | |
|         content: |
 | |
|           # Kali Linux 安全工具测试报告
 | |
|           
 | |
|           **测试时间**: {{ ansible_date_time.iso8601 }}
 | |
|           **测试主机**: {{ ansible_hostname }}
 | |
|           
 | |
|           ## 测试结果
 | |
|           
 | |
|           {% for result in test_results %}
 | |
|           {{ result }}
 | |
|           {% endfor %}
 | |
|           
 | |
|           ## 建议
 | |
|           
 | |
|           {% for result in test_results %}
 | |
|           {% if '✗' in result %}
 | |
|           - {{ result.split(':')[0] }} 未安装,可以使用以下命令安装: `sudo apt install {{ result.split(':')[0].lower().replace(' ', '-') }}`
 | |
|           {% endif %}
 | |
|           {% endfor %}
 | |
|                     
 | |
|         dest: "/tmp/kali_security_tools_report.md" |