-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtemplate.html
More file actions
135 lines (133 loc) · 7.76 KB
/
template.html
File metadata and controls
135 lines (133 loc) · 7.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SCANDOC</title>
<link rel="stylesheet" href="estilos.css">
<link rel="icon" href="scandoc.ico" type="image/x-icon">
</head>
<body>
<div class="container">
<center><h1>REPORTE DE SERVICIOS Y VULNERABILIDADES EN {{ data.ip }}</h1></center>
<div class="section">
<h2>Información general</h2>
{% if data.location %}
{% if data.location.city and data.location.country %}
<p><strong>Ubicación:</strong> {{ data.location.city }}, {{ data.location.country }}</p>
{% endif %}
{% if data.location.province %}
<p><strong>Provincia:</strong> {{ data.location.province }}</p>
{% endif %}
{% if data.location.postal_code %}
<p><strong>Código Postal:</strong> {{ data.location.postal_code }}</p>
{% endif %}
{% if data.location.continent %}
<p><strong>Continente:</strong> {{ data.location.continent }}</p>
{% endif %}
{% if data.location.coordinates %}
<p><strong>Coordenadas:</strong> Latitud {{ data.location.coordinates.latitude }}, Longitud {{ data.location.coordinates.longitude }}</p>
{% endif %}
{% if data.location.timezone %}
<p><strong>Zona horaria:</strong> {{ data.location.timezone }}</p>
{% endif %}
{% endif %}
{% if data.autonomous_system %}
<p><strong>ASN:</strong> {{ data.autonomous_system.asn }} - {{ data.autonomous_system.name }}</p>
{% if data.autonomous_system.bgp_prefix %}
<p><strong>Prefijo BGP:</strong> {{ data.autonomous_system.bgp_prefix }}</p>
{% endif %}
{% if data.autonomous_system.description %}
<p><strong>Descripción:</strong> {{ data.autonomous_system.description }}</p>
{% endif %}
{% endif %}
{% if data.operating_system %}
<p><strong>Sistema Operativo:</strong> {{ data.operating_system.product }} - {{ data.operating_system.vendor }}</p>
{% if data.operating_system.cpe %}
<p><strong>CPE:</strong> {{ data.operating_system.cpe }}</p>
{% endif %}
{% if data.operating_system.other %}
<ul>
{% for other in data.operating_system.other %}
<li><strong>{{ other.key }}:</strong> {{ other.value }}</li>
{% endfor %}
</ul>
{% endif %}
{% endif %}
</div>
<div class="section">
<h2>Servicios encontrados</h2>
<ul>
{% for service in data.services %}
<li>
<h3>{{ service.service_name }}</h3>
<p><strong>Puerto:</strong> {{ service.port }}</p>
<p><strong>Protocolo:</strong> {{ service.transport_protocol }}</p>
{% if service.software_version %}
<p><strong>Versión:</strong> {{ service.software_version }}</p>
{% endif %}
{% if service.banner %}
<p><strong>Banner:</strong> {{ service.banner }}</p>
{% endif %}
{% if service.cpe %}
<p><strong>CPE:</strong> {{ service.cpe }}</p>
{% endif %}
<p><strong>Nombre del servicio extendido:</strong> {{ service.extended_service_name }}</p>
<p><strong>Método de descubrimiento:</strong> {{ service.discovery_method }}</p>
<p><strong>Observado en:</strong> {{ service.observed_at }}</p>
{% if service.tls %}
<p><strong>Versión TLS seleccionada:</strong> {{ service.tls.version_selected }}</p>
<p><strong>Cifrado TLS seleccionado:</strong> {{ service.tls.cipher_selected }}</p>
<p><strong>Fingerprint del certificado:</strong> {{ service.tls.certificates.leaf_fp_sha_256 }}</p>
<p><strong>Certificados de la cadena:</strong></p>
<ul>
{% for cert in service.tls.certificates.chain %}
<li>Fingerprint: {{ cert.fingerprint }} - Sujeto: {{ cert.subject_dn }} - Emisor: {{ cert.issuer_dn }}</li>
{% endfor %}
</ul>
<p><strong>Servidor Key Exchange:</strong> {{ service.tls.server_key_exchange.ec_params.named_curve }}</p>
<p><strong>JA3S:</strong> {{ service.tls.ja3s }}</p>
{% endif %}
{% if service.http %}
<h4>HTTP</h4>
<p><strong>Método:</strong> {{ service.http.request.method }}</p>
<p><strong>URI:</strong> {{ service.http.request.uri }}</p>
<p><strong>User Agent:</strong> {{ service.http.request.headers.User_Agent[0] }}</p>
<p><strong>Aceptar:</strong> {{ service.http.request.headers.Accept[0] }}</p>
<p><strong>Protocolo:</strong> {{ service.http.response.protocol }}</p>
<p><strong>Código de estado:</strong> {{ service.http.response.status_code }}</p>
<p><strong>Razón del estado:</strong> {{ service.http.response.status_reason }}</p>
<p><strong>Encabezados:</strong></p>
<ul>
{% for key, value in service.http.response.headers.items() %}
<li><strong>{{ key }}:</strong> {{ value[0] }}</li>
{% endfor %}
</ul>
<p><strong>Etiquetas HTML:</strong></p>
<ul>
{% for tag in service.http.response.html_tags %}
<li>{{ tag }}</li>
{% endfor %}
</ul>
<p><strong>Tamaño del cuerpo:</strong> {{ service.http.response.body_size }}</p>
<p><strong>Hash del cuerpo:</strong> {{ service.http.response.body_hash }}</p>
<p><strong>Título HTML:</strong> {{ service.http.response.html_title }}</p>
<p><strong>Cuerpo:</strong></p>
<pre>{{ service.http.response.body }}</pre>
{% endif %}
{% if service.software %}
<ul>
{% set search_query = "exploitdb " + service.software[0].vendor %}
<li><a href="https://www.google.com/search?q={{ search_query | urlencode }}" target="_blank">Buscar exploits para {{ service.software[0].vendor }}</a></li>
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
<footer>
<p href="https://github.com/Jared0307/scandoc">SCANDOC</p>
</footer>
</body>
</html>