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" |