写一个python脚本完成检测靶机漏洞
时间: 2024-03-01 12:54:38 浏览: 71
以下是一个简单的Python脚本,用于检测靶机是否存在常见漏洞:
```python
import nmap
# 创建一个Nmap扫描器对象
scanner = nmap.PortScanner()
# 设置要扫描的主机
target_host = input("请输入要扫描的IP地址: ")
print("正在扫描主机: ", target_host)
# 设置要扫描的端口号
target_ports = input("请输入要扫描的端口号(多个端口号用逗号分隔): ")
# 开始扫描
scanner.scan(target_host, target_ports)
# 检测是否存在常见漏洞
if "445" in target_ports:
print("正在检测 MS17-010 漏洞...")
result = scanner.scan(target_host, "445", arguments="-Pn --script=smb-vuln-ms17-010")
if "VULNERABLE" in result["scan"][target_host]["tcp"][445]["script"]["smb-vuln-ms17-010"]["output"]:
print("主机 %s 存在 MS17-010 漏洞!" % target_host)
else:
print("主机 %s 不存在 MS17-010 漏洞" % target_host)
if "22" in target_ports:
print("正在检测 SSH 弱口令...")
result = scanner.scan(target_host, "22", arguments="-Pn --script=ssh-auth-methods,ssh-brute")
if "pwned" in result["scan"][target_host]["tcp"][22]["script"]["ssh-brute"]["output"]:
print("主机 %s 存在 SSH 弱口令!" % target_host)
else:
print("主机 %s 不存在 SSH 弱口令" % target_host)
if "80" in target_ports:
print("正在检测 Web 应用漏洞...")
result = scanner.scan(target_host, "80", arguments="-Pn --script=http-vuln-*")
if result["scan"][target_host]["tcp"][80]["script"]:
for script in result["scan"][target_host]["tcp"][80]["script"]:
print("主机 %s 存在 Web 应用漏洞:%s" % (target_host, script))
else:
print("主机 %s 不存在 Web 应用漏洞" % target_host)
```
请注意,任何未经授权的扫描都是非法的,应该遵守相关法律和道德规范。上述代码仅供学习和研究之用。
阅读全文