From b6f6b3043d4789a784f2d3e4c2ee1a1e4718801d Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 09:02:15 +0200 Subject: [PATCH 001/199] =?UTF-8?q?traducci=C3=B3n=20playbook=20phishing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/playbook-phishing.md | 352 +++++++++++++++++---------------- 1 file changed, 180 insertions(+), 172 deletions(-) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index 30c7500..d89efa8 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -1,174 +1,182 @@ ## Playbook: Phishing -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for phishing.` - -1. **Scope the attack** Usually you will be notified that a potential phishing attack is underway, either by a user, customer, or partner. - * Determine **total number of impacted users** - * Understand **user actions** in response to the phishing email (_e.g._, did they download the attachment, visit the spoofed site, or give out any personal or business information such as credentials) - * Find the potentially related activity. Check: - * social media - * any possibly suspicious emails - * emails with links to external and unknown URLs - * non-returnable or non-deliverable emails - * any kind of notification of suspicious activity -1. **Analyze the message** using a safe device (i.e., **do not** open messages on a device with access to sensitive data or credentials as the message may contain malware), determine: `TODO: Specify tools and procedure` - * who received the message - * who was targeted by the message (may be different than "successful" recipients) - * email address of the sender - * subject line - * message body - * attachments (**do not open attachments** except according to established procedures) - * links, domains, and hostnames (**do not follow links** except according to established procedures) - * email metadata including message headers (see below) - * sender information from the 'from' field and the X-authenticated user header - * all client and mail server IP addresses - * note "quirks" or suspicious features -1. **Analyze links and attachments** `TODO: Specify tools and procedure` - * use passive collection such as nslookup and whois to find IP addresses and registration information - * find related domains using OSINT (_e.g._, [reverse whois](https://www.whoxy.com/reverse-whois/)) on email addresses and other registration data - * submit links, attachments, and/or hashes to [VirusTotal](https://www.virustotal.com/gui/) - * submit links, attachments, and/or hashes to a malware sandbox such as [Cuckoo](https://cuckoosandbox.org/), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/), or [VMray](https://www.vmray.com/). -1. Categorize the type of attack. `TODO: Customize categories and create additional playbooks for common or high-impact phishing types` -1. **Determine the severity.** Consider: - * whether public or personal safety is at risk - * whether personal data (or other sensitive data) is at risk - * any evidence of who is behind the attack - * number of affected assets - * preliminary business impact - * whether services are affected - * whether you are able to control/record critical systems - -`TODO: Expand investigation steps, including key questions and strategies, for phishing.` - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for phishing.` - -`TODO: Specify tools and procedures for each step, below.` - -* Contain affected accounts - * change login credentials - * reduce access to critical services, systems, or data until investigation is complete - * reenforce multi-factor authentication (MFA) -* Block activity based on discovered indicators of compromise, _e.g._: - * block malicious domains using DNS, firewalls, or proxies - * block messages with similar senders, message bodies, subjects, links, attachments, _etc._, using email gateway or service. -* Implement forensic hold or retain forensic copies of messages -* Purge related messages from other user inboxes, or otherwise make inaccessible -* Contain broader compromise in accordance with general IR plan -* Consider mobile device containment measures such as wiping via mobile device management (MDM). Balance against investigative/forensic impact. -* Increase detection "alert level," with enhanced monitoring, particularly from related accounts, domains, or IP addresses. -* Consider outside security assistance to support investigation and remediation -* Confirm relevant software upgrades and anti-malware updates on assets. - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation` - -### Communicate - -`TODO: Customize communication steps for phishing` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan` - -1. Escalate incident and communicate with leadership per procedure -1. Document incident per procedure (and [report](https://us-cert.cisa.gov/report-phishing)) -1. Communicate with internal and external legal counsel per procedure, including discussions of compliance, risk exposure, liability, law enforcement contact, _etc._ -1. Communicate with users (internal) - 1. Communicate incident response updates per procedure - 1. Communicate impact of incident **and** incident response actions (e.g., containment: "why is the file share down?") - 1. Communicate requirements: "what should users do and not do?" -1. Communicate with customers - 1. Focus particularly on those whose data was affected - 1. Generate required notifications based on applicable regulations (particularly those that may consider phishing a data breach or otherwise requires notifications) `TODO: Expand notification requirements and procedures for applicable regulations` -1. Contact insurance provider(s) - 1. Discuss what resources they can make available, what tools and vendors they support and will pay for, _etc._ - 1. Comply with reporting and claims requirements to protect eligibility -1. Consider notifying and involving [law enforcement](https://www.usa.gov/stop-scams-frauds) TODO: Link the following bullets to actual resources for your organization - 1. [Local law enforcement](#TODO-link-to-actual-resource) - 1. [State or regional law enforcement](#TODO-link-to-actual-resource) - 1. [Federal or national law enforcement](#TODO-link-to-actual-resource) -1. Communicate with security and IT vendors TODO: Link the following bullets to actual resources for your organization - 1. Notify and collaborate with [managed providers](#TODO-link-to-actual-resource) per procedure - 1. Notify and collaborate with [incident response consultants](#TODO-link-to-actual-resource) per procedure - -### Recover - -`TODO: Customize recovery steps for phishing` - -`TODO: Specify tools and procedures for each step, below` - -1. Launch business continuity/disaster recovery plan(s) if compromise involved business outages: _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. -1. Reinforce training programs regarding suspected phishing attacks. Key suspicious indicators may include: - * misspellings in the message or subject - * phony-seeming sender names, including mismatches between display name and email address - * personal email addresses for official business (e.g., gmail or yahoo emails from business colleagues) - * subject lines marked "[EXTERNAL]" on emails that look internal - * [malicious or suspicious links](https://www.pcworld.com/article/248963/how-to-tell-if-a-link-is-safe-without-clicking-on-it.html) - * receiving an email or attachment they were not expecting but from someone they know (contact sender before opening it) - * reporting suspicious activity to IT or security -1. Ensure that IT and security staff is up to date on recent phishing techniques. -1. Determine if any controls have failed when falling victim to an attack and rectify them. Here is a [good source](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) to consider following a phishing attack. - -### Resources - -#### Reference: User Actions for Suspected Phishing Attack - -`TODO: Customize steps for users dealing with suspected phishing` - -1. Stay calm, take a deep breath. -1. Take pictures of your screen using your smartphone showing the things you noticed: the phishing message, the link if you opened it, the sender information. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. Every little bit helps! Document the following: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. Where were you when it happened, and on what network? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are you using? (operating system, hostname, _etc._) - 1. What account were you using? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Contact the [help desk](#TODO-link-to-actual-resource) using the [phishing hotline](#TODO-link-to-actual-resource) or the [phishing report toolbar](#TODO-link-to-actual-resource) and be as helpful as possible. -1. Be patient: the response may be disruptive, but you are protecting your team and the organization! **Thank you.** - -#### Reference: Help Desk Actions for Suspected Phishing Attack - -`TODO: Customize steps for help desk personnel dealing with suspected phishing` - -1. Stay calm, take a deep breath. -1. Open a ticket to document the incident, per procedure. `TODO: Customize template with key questions (see below) and follow-on workflow` -1. Ask the user to take pictures of their screen using their smartphone showing the things they noticed: the phishing message, the link if you opened it, the sender information, _etc._ If this is something you noticed directly, do the same yourself. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. If this is a user report, ask detailed questions, including: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. What networks are involved? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are involved? (operating system, hostname, _etc._) - 1. What data is involved? (paths, file types, file shares, databases, software, _etc._) - 1. What users and accounts are involved? (active directory, SaaS, SSO, service accounts, _etc._) - 1. What data do the involved users typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Ask follow-up questions as necessary. **You are an incident responder, we are counting on you.** -1. Get detailed contact information from the user (home, office, mobile), if applicable. -1. Record all information in the ticket, including hand-written and voice notes. -1. Quarantine affected users and systems. `TODO: Customize containment steps, automate as much as possible` -1. Contact the [security team](#TODO-link-to-actual-resource) and stand by to participate in the response as directed: investigation, remediation, communication, and recovery. - -#### Additional Information - -1. [Anti-Phishing Attack resources](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/top-16-anti-phishing-resources/#gref) -1. [Methods of Identifying a Phishing attack](https://www.securitymetrics.com/blog/7-ways-recognize-phishing-email) -1. [Phishing Email Examples](https://www.phishing.org/phishing-examples) -1. [Anti-Phishing best practices](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/anti-phishing-best-practices/#gref) +**Investigar, reparar (contener, erradicar), y comunicar en paralelo!** + +Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es meramente secuencial. Utilice su mejor criterio. + +### Investigar + +`TODO: Ampliar los pasos de las investigaciones, incluyendo preguntas y estrategias claves, para el phishing.` + +1. **Ámbito del ataque** Normalmente se le notificará que se está produciendo un posible ataque de phishing, ya sea por parte de un usuario, cliente o socio. + * Determinar el **número total de usuarios afectados**. + * Comprender **las acciones de los usuarios** en la respuesta al phishing de un correo electrónico (_e.j._, ¿Descargaroón el archivo adjunto?, ¿Visitarón el sitio suplantado?, ¿O, dieron alguna información personal o comercial como credenciales?) + * Encontrar la actividad potencialmente relacionada. Comprueba: + * Redes Sociales + * Cualquier correo electrónico sospechoso posible. + * Correos electrónicos con enlaces a URL's externas y desconocidas. + * Correos electrónicos de no-retorno o no-entregables. + * Cualquier tipo de notificación de actividad sospechosa. +1. **Analizar el mensaje** utilizando un dispositivo seguro (es decir, **no** abrir los mensajes en un dispositivo con acceso a datos sensibles o credenciales ya que el mensaje puede contener malware), determinar: +`TODO: Especificar las herramientas y el procedimiento`. + * Quién ha recibido el mensaje + * Quién era el objetivo del mensaje (puede ser diferente de los destinatarios a los que iba realmente dirigido el mensaje) + * Dirección de correo electrónico del remitente + * línea de asunto + * Cuerpo del mensaje + * Adjuntos (**no abra los archivos adjuntos** salvo según los procedimientos establecidos) + * Enlaces, dominios, y nombres de host (**no siga los enlaces**, excepto según los procedimientos establecidos) + * Metadatos del correo electrónico inluidas las cabeceras de los mensajes (véase más adelante) + * Información del remitente en el campo "de" y en la cabecera del usuario autenticado-X + * Todas las direcciones IP del cliente y del servidor de correo + * Anotar las "peculiaridades" o características sospechosas +1. **Analizar los enlaces y los archivos adjuntos** +`TODO: Especificar las herramientas y el procedimiento` + * Utilizar la recopilación pasiva como nslookup y whois para encontrar direcciones IP e información de registro + * Encontrar dominios relacionados utilizando OSINT (_e.j._, [reverse whois](https://www.whoxy.com/reverse-whois/)) en direcciones de correo electrónico y otros datos de registro. + * Enviar enlaces, archivos adjuntos y/o hashes a [VirusTotal](https://www.virustotal.com/gui/) + * Enviar enlaces, adjuntos y/o hashes a un sandbox de malware como [Cuckoo](https://cuckoosandbox.org/), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/), o [VMray](https://www.vmray.com/). +1. Categorice el tipo de ataque. +`TODO: Personalizar las categorías y crear playbooks adicionales para tipos de phishing comunes o de alto impacto` +1. **Determine la gravedad.** Considerar: + * Si la seguridad pública o personal está en riesgo + * Si los datos personales (u otros datos sensibles) están en riesgo + * Si hay pruebas de quién está detrás del ataque + * Número de activos afectados + * El impacto preliminar en el negocio + * Si los servicios se ven afectados + * Si se pueden controlar/registrar los sistemas críticos + +`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el phishing.` + +### Reparar + +* **Planificar eventos de reparación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. +* **Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. + +#### Contener + +`TODO: Personalizar los pasos de contención, tácticos y estrátegicos, para el phishing.` + +`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación.` + +* Contener las cuentas afectadas + * Cambiar las credenciales de acceso + * Reducir el acceso a los servicios, sistemas o datos críticos hasta que se complete la investigación + * Reforzar la autenticación multifactor (MFA) +* Bloquear la actividad en función de los indicadores de compromiso descubiertos, _e.j._: + * Bloquear dominios maliciosos mediante DNS, cortafuegos o proxies + * Bloquear los mensajes con remitentes, cuerpos de mensajes, asuntos, enlaces, archivos adjuntos similares, etc., utilizando la puerta de enlace predeterminada o el servicio de correo electrónico. +* Implementar la retención forense o conservar copias forenses de los mensajes +* Purgar los mensajes relacionados de las bandejas de entrada de otros usuarios, o hacerlos inaccesibles de otro modo. +* Contener el compromiso más amplio de acuerdo con el plan general de IR +* Considerar medidas de contención de los dispositivos móviles, como el borrado a través de la gestión de dispositivos móviles (MDM). Equilibrio con el impacto de la investigación/forense. +* Aumentar el "nivel de alerta" de la detección, con una mayor supervisión, en particular de las cuentas, dominios o direcciones IP relacionadas. +* Considerar la posibilidad de contar con asistencia externa en materia de seguridad para apoyar la investigación y la correción. +* Confirmar las actualizaciones de software y antimalware pertinenestes en los activos. + +#### Referencia: Recursos de Reparación + +`TODO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la reparación.` + +### Comunicar + +`TODO: Personalizar los pasos de comunicación para el phishing` + +`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` + +1. Elevar el incidente y comunicarlo a la dirección según el procedimiento +1. Documente el incidente según el procedimiento (y [informe](https://us-cert.cisa.gov/report-phishing)) +1. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._ +1. Comnunicación con los usuarios (interna) + 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento + 1. Comunicar el impacto del incidente **y** las acciones de respuesta al mismo (e.j., contención: "¿Por qué está caído el archivo compartido?") + 1. Comunicar los requisitos: "¿Qué deben hacer y no hacer los usuarios?" +1. Comunicar a los clientes + 1. Centrarse especialmente en aquellos cuyos datos se vieron afectados + 1. Genere las notificaciones requeridas en base a las regulaciones aplicables (particularmente aquellas que puedan considerar el phishing como una violación de datos o que requieren notificaciones de otro tipo) + `TODO: Ampliar los requisitos y procedimientos de notificación para las regulaciones aplicables` +1. Contactar con el/los proveedor/es de seguros + 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._ + 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad. +1. Considere la posibilidad de notificar e implicar a [las fuerzas del orden](https://www.policia.es/_es/tupolicia_conocenos_estructura_dao_cgpoliciajudicial_bcit.php) + `TODO: Vincule los siguiente puntos con los recursos reales de su organización` + 1. [Aplicación de la ley local](#TODO-enlace-a-actual-recurso) + 1. [Aplicación de la ley a nivel estatal o regional](#TODO-enlace-a-actual-recurso) + 1. [Fuerzas de seguridad nacionales o europeas](#TODO-enlace-a-actual-recurso) +1. Comuníquese con los proveedores de seguridad y de TI + `TODO: Vincule las siguientes viñetas con los recursos reales de su organización` + 1. Notifique y colabore con [proveedores gestionados](#TODO-enlace-a-actual-recurso) para el procedimiento + 1. Notifique y colabore con [consultores de respuesta ante incidentes](#TODO-enlace-a-actual-recurso) para el procedimiento + +### Recuperación + +`TODO: Personalizar los pasos de recuperación para el phishing` + +`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación` + +1. Poner en marcha un plan de continuidad de negocio/recuperación de desastres si el compromiso implica interrupciones de negocio: _e.j._, considerar la migración a ubicaciones operativas alternativas, clústers de conmutación por error, sistemas de copias de seguridad. +1. Reforzar los programas de formación sobre los ataques de phishing sospechosos. Los principales indicadores de sospecha pueden ser: + * Errores ortográficos en el mensaje o en el asunto + * Nombres de remitentes que parezcan de telélefono, incluida la falta de coincidencia entre el nombre y la dirección de correo electrónico. + * Direcciones de correo electrónico personales para asuntos oficiales (e.j., correos electrónicos de gmail o yahoo de colegas de trabajo) + * Líneas de asunto marcadas con "[EXTERNO]" en correos electrónicos que parecen internos. + * [enlaces maliciosos o sospechosos](https://www.pcworld.com/article/248963/how-to-tell-if-a-link-is-safe-without-clicking-on-it.html) + * Recibir un correo electrónico o un archivo adjunto que no se esperaba, pero que proviene de alguien conocido (contactar con el remitente antes de abrirlo). + * Informar de actividades sospechosas al departamento de TI o de seguridad. +1. Asegúrate de que el personal de TI y de seguridad está al día de las técnicas de phishing más recientes. +1. Determine si ha fallado algún conrol al ser victima de un ataque y rectifíquelo. He aquí una [buena fuente](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) a tener en cuenta tras un ataque de phishing. + +### Recursos + +#### Referencia: Acciones del usuario ante la sospecha de un ataque de phishing + +`TODO: Personalizar los pasos para los usuarios ante una sospecha de phishing` + +1. Mantenga la calma y respire profundamente. +1. Haz fotos de tu pantalla con tu smartphone mostrando las cosas que has notado: el mensaje de phishing, el enlace si lo has abierto, la información del remitente. +1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y boli. Todo por poco que sea, ayuda! Documenta lo siguiente: + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿Dónde estaba cuando ocurrió y en qué red? (oficina/casa/tienda, con cable/inalámbrica, con/sin VPN, _etc._) + 1. ¿Qué sistemas está utilizando? (sistema operativo, nombre de host, _etc._) + 1. ¿Qué cuenta utilizas? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más te has puesto en contacto sobre este incidente y qué les has dicho? +1. Ponte en contacto con el [servicio de ayuda](#TODO-enlace-a-actual-recurso) utlizando la [línea directa de phishing](#TODO-enlace-a-actual-recurso) o la [barra de herramientas de informe de phishing](#TODO-enlace-a-actual-recurso) y sé lo más servicial posible. +1. Ten paciencia: La respuesta puede ser perturbardora, pero estas protegiendo a tu equipo y a la organización! **Gracias.** + +#### Referencia: Acciones del servicio de ayuda ante un presunto ataque phishing + +`TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de phishing` + +1. Mantenga la calma y respire profundamente. +1. Abra un ticket para documentar el incidente, según el procedimiento. + `TODO: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior` +3. Pídale al usuario que tome fotos de su pantalla usando su smartphone mostrando las cosas que notó: el mensaje de phishing, el enlace si lo abrió, la información del remitente, _etc._ Si es algo que notó directamente, haga lo mismo usted. +4. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y boli. Si se trata de un informe de usurio, haz preguntas detalladas, incluyendo: + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿De qué redes se trata? (oficina/casa/tienda, cableada/inalámbrica, con/sin VPN, _etc._) + 1. ¿De qué sistemas se trata? (sistema operativo, nombre de host, _etc._) + 1. ¿De qué datos se trata? (rutas, tipos de archivos, archivos compartidos, bases de datos, software, _etc._) + 1. ¿Qué usuarios y cuentas están implicados? (directorio activo, SaaS, SSO, cuentas de servicio, _etc._) + 1. ¿A qué datos suelen acceder los usuarios implicados? + 1. ¿Con quién más te has puesto en contacto sobre este incidente y qué les has dicho? +5. Haz las preguntas de seguimiento que sean necesarias. **Usted es de respuesta ante Incidentes, Contamos contigo.** +6. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede. +7. Registra toda la información en el ticket, incluyendo notas manuscritas y de voz. +8. Poner en cuarentena a los usuarios y sistemas afectados. + `TODO: Personalizar el contenido de los pasos, automatizar tanto como sea posible.` +10. Póngase en contacto con el [equipo de seguridad](#TODO-enlace-a-actual-recurso) y prepárase para participar en la respuesta según las indicaciones: investigación, reparación comunicación y recuperación. + +#### Información adicional + +1. [Recurso Ataque Anti-Phishing](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/top-16-anti-phishing-resources/#gref) +1. [Métodos de Identificación de Ataques Phishing](https://www.securitymetrics.com/blog/7-ways-recognize-phishing-email) +1. [Ejemplos Correos electrónicos de Phishing](https://www.phishing.org/phishing-examples) +1. [Mejores prácticas Anti-Phishing](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/anti-phishing-best-practices/#gref) From 2af0160c98975513b81453304ec3c336f48a28de Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 09:03:40 +0200 Subject: [PATCH 002/199] =?UTF-8?q?traducci=C3=B3n=20index=20roles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/index.md | 65 +++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/roles/index.md b/roles/index.md index 872040c..0cbc7da 100644 --- a/roles/index.md +++ b/roles/index.md @@ -1,35 +1,34 @@ # Roles -The following are the descriptions, duties, and training for each of the defined roles in an incident response. - -`TODO: Customize roles, descriptions, duties, and training, if necessary.` - -## Structure of Roles - -* Command Team - * [Incident Commander](#role-incident-commander-ic) - * [Deputy Incident Commander](#role-deputy-incident-commander-deputy) - * [Scribe](#role-scribe) -* Liaison Team - * Internal [Liaison](#role-liaison) - * External Liaison -* Operations Team - * [Subject Matter Experts](#role-subject-matter-expert-sme) (SMEs) for Systems - * SMEs for Teams/Business Units - * SMEs for Executive Functions (_e.g._, Legal, HR, Finance) -During larger complex incidents, the role structure may be adjusted to account for the creation of sub-teams. Read about how we handle [complex incidents](/before/complex_incidents.md) for more information. - -This is a **flexible structure**: every role will not be filled by a different person for every incident. For example, in a small incident the Deputy might act as the Scribe and Internal Liaison. The structure is flexible and scales based on the incident. - -## Wartime vs. Peacetime - -On incident response calls ("wartime"), a different organizational structure overrides normal operations ("peacetime"): - -* The Incident Commander is in charge. No matter their rank during peacetime, they are now the highest ranked individual on the call, higher than the CEO. -* Primary responders (folks acting as primary on-call for a team/service) are the highest ranked individuals for that service. -* Decisions will be made by the IC after consideration of the information presented. Once that decision is made, it is final. -* Riskier decisions can be made by the IC than would normally be considered during peacetime. -* The IC may go against a consensus decision. If a poll is done, and 9/10 people agree but 1 disagrees. The IC may choose the disagreement option despite a majority vote. Even if you disagree, the IC's decision is final. During the call is not the time to argue with them. -* The IC may use language or behave in a way you find rude. This is wartime, and they need to do whatever it takes to resolve the situation, so sometimes rudeness occurs. This is not personal, and something you should be prepared to experience if you've never been in a wartime situation before. -* You may be asked to leave the call by the IC, or you may even be forcibly kicked off a call. It is at the IC's discretion to do this if they feel you are not providing useful input. Again, this is not personal and you should remember that wartime is different than peacetime. - +A continuación se presentan las descripciones, los deberes y la formación para cada uno de los roles definidos en la respuesta a un incidente. + +`TODO: Personalizar los roles, las descripciones, las funciones y la formación, si es necesario.` + +## Estrcutura de los roles + +* Equipo de Mando + * [Comandante de Incidente](#role-incident-commander-ic) + * [Comandante-Adjunto de Incidente](#role-deputy-incident-commander-deputy) + * [Escribano o Escribiente](#role-scribe) +* Equipo de enlace + * Enlace Interno [Enlace](#role-liaison) + * Enlace externo +* Equipo de Operaciones + * [Expertos en la materia](#role-subject-matter-expert-sme) (PYMES) para Sistemas + * PYMES para equipos/unidades de negocio + * PYMES para las funciones ejecutivas (_e.j._, Legal, RRHH, Finanzas) +En el caso de incidentes complejos de mayor envergadura, la estructura de funciones puede ajustarse para tener en cuenta la creación de subequipos. Para más información, lea cómo gestionamos los [Incidentes Complejos](/before/complex_incidents.md). + +Esta es una **estructura flexible**: cada rol no será ocupado por una persona diferente para cada incidente. Por ejemplo, en un incidente pequeño, el adjunto podría actuar como escribiente y enlace interno. La estructura es flexible y se adapta al incidente. + +## Tiempos de Guerra vs. Tiempos de Paz + +En las llamadas de respuesta a Incidentes ("tiempos de guerra"), una estructura organizativa diferente anula las operaciones normales ("tiempos de paz"): + +* El Comandante del incidente está al mando. Independientemente de su rango en tiempos de paz, ahora es la persona de mayor rango en la llamada, superior al director general o CEO. +* Los primeros intervinientes (las personas que actúan como primeros intervinientes de un equipo/servicio) son las personas de mayor rango de ese servicio. +* Las decisiones serán tomadas por el CI tras considerar la información presentada. Una vez tomada la decisión, es definitiva. +* El CI puede tomar decisiones más arriesgadas que las que normalmente se considerarían en tiempos de paz. +* El CI puede ir en contra de una decisión consensuada. Si se hace una encuenta, y 9/10 personas están de acuerdo pero 1 está en desacuerdo. El CI puede elegir la opción del desacuerdo a pesar del voto de la mayoría. Aunque no esté de acuerdo, la decisión del CI es definitiva. Durante la convocatoria no es el momento de discutir con ellos. +* El CI puede utilizar un lenguaje o comportarse de una manera que usted considere grosera. Esto es tiempo de guerra, y necesitan hacer lo que sea necesario para resolver la situación, por lo que a veces se producen groserías. Esto no es personal, y es algo que debes estar preparado para experimentar si nunca has estado en una situación de guerra. +* Es posible que el CI te pida que abandones la llamada, o incluso que te eche a la fuerza de una llamada. Esto queda a discreción del CI si considera que no estás aportando nada útil. De nuevo, esto no es personal y debes recordar que los tiempo de guerra son diferentes a los tiempo de paz. From 7040e8a5d0a4848a3de0d2e5711b7f3d36b44da2 Mon Sep 17 00:00:00 2001 From: JesusJimenezSantana <94167953+JesusJimenezSantana@users.noreply.github.com> Date: Tue, 10 May 2022 09:04:55 +0200 Subject: [PATCH 003/199] Add files via upload --- README.md | 234 +++++++++++++++++++++++++++--------------------------- 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index c570ad3..0efeea6 100644 --- a/README.md +++ b/README.md @@ -1,117 +1,117 @@ -# Incident Response Plan Template - -## About - -This template was developed by the team at [Counteractive Security](https://www.counteractive.net), to help all organizations get a good start on a concise, directive, specific, flexible, and free incident response plan. Build a [plan you will actually use](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) to respond effectively, minimize cost and impact, and get back to business as soon as possible. - -Download the latest release [here](https://github.com/counteractive/incident-response-plan-template/releases/latest), a please create an issue or submit a pull request with any feedback, suggestions, or updates. - -## Instructions - -**💡 If you prefer to work in Microsoft Word (.docx format), please download the [example word version](examples/plan.docx) and customize directly using the [instructions below](#customize).** - -For those working in other formats like markdown, html, or pdf, please read on. - -### Download or fork this template - -The layout is as follows: - -* `during.md`: the core of the plan, actions taken during an incident response. -* `playbooks/`: a folder containing playbooks with investigation, remediation, and communication suggestions for specific incidents. Create playbooks for any incidents that are highly likely or highly damaging for your organization. `playbooks/index.md` contains the playbook section header content, and each playbook should follow the convention `playbooks/playbook-[THREAT].md`. -* `roles/`: a folder containing descriptions of each role in the plan, along with duties and training notes. `index.md` contains the roles section header content, and each role should follow the convention `playbooks/role-[ORDER]-[NAME].md`. -* `after.md`: the guide to after-action review (_a.k.a._, hotwash, debrief, or post-mortem)---actions taken after an incident response. -* `about.md`: a footer containing information about the plan/template as a whole. -* `info.yml`: a file containing values for the template strings throughout the plan (see below) - -### Fill `info.yml` with your organization's information - -The template files have a lot of placeholders that `{{LOOK_LIKE_THIS}}`. The purpose of each placeholder should be discernable from context, and the [default `info.yml` file](./info.yml) is commented for additional clarity. This is the [mustache](https://mustache.github.io/) template syntax, and has wide support in a variety of tools and languages. - -The easiest way to replace these variables is to customize the `info.yml` file with your organization's information and use the provided [Makefile](https://en.wikipedia.org/wiki/Make_(software)) (as of v1.0.0) to automatically find and replace all the relevant strings. _NOTE:_ this requires `make` (naturally), `mustache`, and `pandoc` to be installed and available in the user's `$PATH`. _NOTE:_ pdf output needs `pdflatex` (see [this gist](https://gist.github.com/rain1024/98dd5e2c6c8c28f9ea9d) for instructions on Ubuntu/Debian), and you'll need `git` if you want to clone the repository rather than download the zipped source. - -If you don't have the information or tools referenced in the template variables, that's definitely worth fixing. **Especially** the critical information list (data you want to protect) and critical asset list (systems you want to protect). - -### Build the template - -In your linux, mac, or [WSL](https://docs.microsoft.com/en-us/windows/wsl/faq) terminal: - -```bash -# install core dependencies, if not already present -sudo apt-get install make ruby-mustache pandoc - -# for pdf format (big) -sudo apt-get install texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra - -# change to the directory of the cloned repository -cd /path/to/incident-response-plan-template - -# build the template -make -``` - -This merges the template components, combines them with your custom data from `info.yml`, and outputs all supported formats in the `public/` directory. That's it! - -*If you have a specific case and want more details, read on!* - -### Further customize the plan - -1. Fill in any remaining template variables (the strings that `{{LOOK_LIKE_THIS}}`). -1. Review all the `TODO` prompts for likely areas to customize, if desired. Delete them if no changes are required. -1. Add any roles or playbooks relevant to your organization. These can also be added over time. -1. Customize anything else! Whatever you feel is most effective for your organization. -1. _Optional:_ Customize formatting directly or [using pandoc's options](https://learnbyexample.github.io/customizing-pandoc/). The default Makefile uses the default pandoc styles, and they're not for everyone. - -### Deploy and use the plan - -The makefile uses [pandoc](https://pandoc.org) to create a variety of formats, or you can use the markdown files with [mkdocs](http://www.mkdocs.org/), [hugo](https://gohugo.io/), or countless other platforms. - -### Examples - -Examples in each format are available in [the examples directory](./examples). The [markdown version](./examples/plan.md) is a good place to start, rendered from markdown to html automatically by github. - -### Contact Us - -For professional assistance with incident response, or with customizing, implementing, or testing your plan, please contact us at contact@counteractive.net or [(888) 925-5765](tel:+18889255765). - -## License - -This template is provided under the Apache License, version 2.0. See the [LICENSE](./LICENSE) and [NOTICE](./NOTICE) files for additional information. - -## References and Additional Reading - -* [Awesome Incident Response](https://github.com/meirwah/awesome-incident-response) -* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) -* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) -* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) -* [Technical Approaches to Uncovering and Remediating Malicious Activity](https://us-cert.cisa.gov/ncas/alerts/aa20-245a) (Cybersecurity and Infrastructure Security Agency (CISA)) -* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) -* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) -* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) -* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) -* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) -* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) -* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) -* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) -* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) -* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) -* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) -* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) -* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) -* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) -* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) -* [PagerDuty IR Docs](https://response.pagerduty.com/) -* [NIST 800-61r2](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) -* [NIST CSF](https://www.nist.gov/cyberframework) -* [CSO Online 10 Steps](https://www.csoonline.com/article/3203705/security/10-steps-for-a-successful-incident-response-plan.html) (June 2017) and [CSO Online 9 Steps](https://www.csoonline.com/article/3099684/disaster-recovery/9-steps-for-a-successful-incident-response-plan.html) (July 2016) -* [SecurityMetrics blog 6 Steps to Making an IR Plan](http://blog.securitymetrics.com/2017/01/6-steps-to-making-incident-response-plan.html) -* [Cal Berkeley IR Plan Development](https://security.berkeley.edu/incident-response-planning-guideline) -* [EPA IR Plan](https://www.epa.gov/sites/production/files/2016-01/documents/cio_2150-p-08.2.pdf) -* [incidentresponse.com playbooks](https://www.incidentresponse.com/playbooks/) - -## Roadmap - -See [issues](https://github.com/counteractive/incident-response-plan-template/issues) list. - -## Changelog - -See [releases](https://github.com/counteractive/incident-response-plan-template/releases) page. +# Plantilla para el plan de respuesta a incidentes + +## Acerca de + +Esta plantilla ha sido creada por el equipo de [Counteractive Security](https://www.counteractive.net/), para ayudar a todas las organizaciones a comenzar de forma concisa, directa, especifica, flexible y gratuita un plan de respuesta de incidentes. Crea un plan [que utilizaras](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) para responder de manera eficiente, minimizando los costes e impactos, para volver a trabajar lo mas rápido posible. + +Descarga la última versión [aquí](https://github.com/counteractive/incident-response-plan-template/releases/latest), por favor cree un problema o suba un pull request con retroalimentación, sugerencias, o actualizaciones. + +## Instrucciones + +**💡 Si prefieres trabajar con Microsoft Word (.docx format), por favor descargue [ejemplo de word](examples/plan.docx) y personalice directamente usando [instrucciones abajo](#customize).** + +Para aquellos trabajando con markdown, html, o pdf, por favor siga leyendo. + +### Descargue o clone esta plantilla + +El diseño es el siguiente: + +* `during.md`: el núcleo del plan, acciones llevadas a cabo durante una respuesta a incidentes. +* `playbooks/`: carpeta la cual contiene guías de investigación, remediación y sugerencias de comunicación para incidentes específicos. Cree guías para cualquier incidente que seguramente haga daño a su organización. `playbooks/index.md` contiene el contenido de la sección de la cabecera de la guía y cada guía debería seguir el convenio `playbooks/playbook-[THREAT].md`. +* `roles/`: carpeta la cual contiene descripciones de cada rol en el plan, además de deberes y notas de entrenamiento. `index.md` contiene los contenido de la sección de la cabecera de roles y cada rol debería seguir el convenio `playbooks/role-[ORDER]-[NAME].md`. +* `after.md`: la guía de repaso de acciones posteriores (_a.k.a._, hotwash, debrief, o post-mortem)---acciones llevadas a cabo despues de una respuesta a incidentes. +* `about.md`: footer que contiene información acerca de toda la plantilla. +* `info.yml`: archivo que contiene valores para las cadenas de texto de la plantilla durante todo el plan (ver abajo) + +### Rellenar `info.yml` con la información de tu organización + +Los archivos de la plantilla tienen muchos marcadores de posición que `{{se_ven_así}}`. El propósito de cada marcador debería ser discernible del contexto y de [default `info.yml` file](./info.yml) está comentado para claridad adicional. Esta es la sintaxis de la plantilla [mustache](https://mustache.github.io/) y tiene un enorme soporte mediante una variedad de herramientas y lenguajes. + +La manera más fácil de reemplazar esas variables es personalizar el archivo `info.yml` con la información de tu organización y usar el proporcionado [Makefile](https://en.wikipedia.org/wiki/Make_(software)) (as of v1.0.0) para encontrar y reemplazar automáticamente todas las cadenas de texto relevantes. _NOTA:_ esto requiere que `make` (naturalmente), `mustache`, y `pandoc` esten instalados y disponibles en el path de usuario `$PATH`. _NOTA:_ la salida en pdf necesita `pdflatex` (ver [this gist](https://gist.github.com/rain1024/98dd5e2c6c8c28f9ea9d) para instrucciones en Ubuntu/Debian), y necesitarás `git` si quiere clonar el repositorio antes que descargarlo en formato zip. + +Si no tiene la información o las herramientas referenciadas en las variables de la plantilla, es mejor solucionar eso. **Especialmente** la lista de información crítica (datos que quiere proteger) y la lista de activos críticos (sistemas que quiere proteger). + +### Construye la plantilla + +En la terminal de su linux, mac, o [WSL](https://docs.microsoft.com/en-us/windows/wsl/faq): + +```bash +# instalar dependencias indispensables si no están ya +sudo apt-get install make ruby-mustache pandoc + +# para formato pdf (big) +sudo apt-get install texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra + +# cambiar al directorio del repositorio clonado +cd /path/to/incident-response-plan-template + +# construir la plantilla +make +``` + +Esto fusiona los componentes de la plantilla, los combina con tus datos personalizados de `info.yml`, y los saca en todos los formatos soportados en el directorio `public/`. + +*Si tiene un caso específico y quiere más detalles, siga leyendo!* + +### Personalizar aún más el plan + +1. Rellenar cualquier variable restante de la plantilla (las cadenas como `{{se_ven_así}}`). +1. Repasar todos los indicadores `TODO` para probables areas personalizables, si se desea. Borrarlas si los cambios no se requieren. +1. Añadir cualquier rol o guía relevante para tu organización. Pueden ser añadidos con el tiempo. +1. Personalizar cualquier cosa más! Lo que sea que sienta que sea más efectivo paara tu organización. +1. _Opcional:_ Personalizar el formateo directamente o [usar opciones de pandoc](https://learnbyexample.github.io/customizing-pandoc/). El Makefile por defecto usa los estilos predeterminados de Pandoc y no son para cualquiera. + +### Despliegue y uso del plan + +El Makefile usa [pandoc](https://pandoc.org) para crear una variedad de formatos o puede usar los archivos markdown con [mkdocs](http://www.mkdocs.org/), [hugo](https://gohugo.io/), o un sinfín de otras plataformas. + +### Ejemplos + +Ejemplos de cada formato están disponibles en [directorio de ejemplos](./examples). El [markdown version](./examples/plan.md) es un buen lugar para empezar, renderizado de markdown a html automáticamente por github. + +### Contactenos + +Para profesional asistencia con respuesta a incidentes, o con personalización, implementación, o probar su plan, por favor contactenos en contact@counteractive.net o [(888) 925-5765](tel:+18889255765). + +## Licencia + +Esta plantilla está proporcionada bajo una licencia Apache version 2.0. Ver la [LICENCIA](./LICENSE) y [NOTICIA](./NOTICE) archivos para información adicional. + +## Referencias y Material adicional + +* [Awesome Incident Response](https://github.com/meirwah/awesome-incident-response) +* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) +* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) +* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) +* [Technical Approaches to Uncovering and Remediating Malicious Activity](https://us-cert.cisa.gov/ncas/alerts/aa20-245a) (Cybersecurity and Infrastructure Security Agency (CISA)) +* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) +* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) +* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) +* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) +* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) +* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) +* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) +* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) +* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) +* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) +* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) +* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) +* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) +* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) +* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) +* [PagerDuty IR Docs](https://response.pagerduty.com/) +* [NIST 800-61r2](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) +* [NIST CSF](https://www.nist.gov/cyberframework) +* [CSO Online 10 Steps](https://www.csoonline.com/article/3203705/security/10-steps-for-a-successful-incident-response-plan.html) (June 2017) and [CSO Online 9 Steps](https://www.csoonline.com/article/3099684/disaster-recovery/9-steps-for-a-successful-incident-response-plan.html) (July 2016) +* [SecurityMetrics blog 6 Steps to Making an IR Plan](http://blog.securitymetrics.com/2017/01/6-steps-to-making-incident-response-plan.html) +* [Cal Berkeley IR Plan Development](https://security.berkeley.edu/incident-response-planning-guideline) +* [EPA IR Plan](https://www.epa.gov/sites/production/files/2016-01/documents/cio_2150-p-08.2.pdf) +* [incidentresponse.com playbooks](https://www.incidentresponse.com/playbooks/) + +## Hoja de ruta + +Ver lista de [problemas](https://github.com/counteractive/incident-response-plan-template/issues) . + +## Registro de cambios + +Ver página de [versiones](https://github.com/counteractive/incident-response-plan-template/releases) . From a7fe396a4a2f0eb458f6cbcd1a130371631126b7 Mon Sep 17 00:00:00 2001 From: jesusrelinque <94535862+jesusrelinque@users.noreply.github.com> Date: Tue, 10 May 2022 09:05:04 +0200 Subject: [PATCH 004/199] =?UTF-8?q?Traducci=C3=B3n=20rol=204=20experto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/role-4-expert.md | 80 +++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/roles/role-4-expert.md b/roles/role-4-expert.md index 213fa06..e6c1130 100644 --- a/roles/role-4-expert.md +++ b/roles/role-4-expert.md @@ -1,40 +1,40 @@ -## Role: Subject Matter Expert (SME) - -### Description - -A Subject Matter Expert (SME) is a domain expert or designated owner of a team, component, or service (an "area"). You are there to support the incident commander in identifying the cause of the incident, suggesting and evaluation investigation, remediation, and communication actions, and following through on them as tasked. - -### Duties - -1. Diagnose common problems within your area of expertise. -1. Rapidly fix issues found during an incident. -1. Concise communication: - * Condition: What is the current state of your area? Is it healthy or not? - * Actions: What actions need to be taken if your area is not in a healthy state? - * Needs: What support do you need need to perform an action? -1. Participate in the investigation, remediation, and/or communication phases of the response. -1. Announce all suggestions to the incident commander, it is their decision on how to proceed, do not follow any actions unless told to do so. - -If you are on-call for any team, you may be paged for an incident and will be expected to respond as a subject matter expert (SME) for your team, component, or service. Anyone who is considered a "domain expert" can act as a SME for an incident. Typically the team's primary on-call will act as the SME for that team. - -#### Prepare for On-Call Period - -1. Be prepared, by having already familiarized yourself with our incident response policies and procedures. -1. Make sure you have set up your alerting methods in accordance with our on-call procedure. -1. Check you can join the incident call. You may need to install a browser plugin. -1. Be aware of your upcoming on-call time and arrange swaps around travel, vacations, appointments, etc. -1. If you are an Incident Commander, make sure you are not on-call for your team at the same time as being on-call as Incident Commander. - -#### During On-Call Period - -1. Have your laptop and Internet with you at all times during your on-call period (office, home, a MiFi, a phone with a tethering plan, etc). -1. If you have important appointments, you need to get someone else on your team to cover that time slot in advance. -1. When you receive an alert for an incident, you are expected to join the incident call and chat as quickly as possible (within minutes). -1. You will be asked questions or given actions by the Incident Commander. Answer questions concisely, and follow all actions given (even if you disagree with them). -1. If you're not sure about something, bring in other SMEs from your team that can help. **Never hesitate to escalate**, if necessary. -1. Do not blame. This incident response process is completely blameless: blaming is counter productive and distracts from the problem at hand. After-action review will identify places we can all improve. - -### Training - -* Read and understand the incident response plan, including the roles and playbooks. - +## Rol: Experto en la materia {Subject Matter Expert (SME)} + +### Descripción + +Un experto en la materia (SME) es un experto en el dominio o propietario designado de un equipo, componente o servicio (un "área"). Está ahí para apoyar al jefe de incidentes en la identificación de la causa del incidente, sugiriendo y evaluando las acciones de investigación, remediación y comunicación, y realizando el seguimiento de las mismas según se le encomiende. + +### Funciones + +1. Diagnosticar problemas comunes dentro de su área de experiencia. +1. Solucionar rápidamente los problemas detectados durante un incidente. +1. Comunicación concisa: + * Estado: ¿Cuál es el estado actual de su área? ¿Es saludable o no? + * Acciones: ¿Qué medidas hay que tomar si su zona no se encuentra en un estado saludable? + * Necesidades: ¿Qué apoyo necesita para realizar una acción? +1. Participar en las fases de investigación, remediación y/o comunicación de la respuesta. +1. Anunciar todas las sugerencias al comandante del incidente, es su decisión cómo proceder, no siga ninguna acción a menos que se le indique. + +Si está de guardia para cualquier equipo, puede ser llamado para un incidente y se espera que responda como experto en la materia (SME) para su equipo, componente o servicio. Cualquiera que se considere un "experto en la materia" puede actuar como SME para un incidente. Por lo general, el principal de guardia del equipo actuará como SME para ese equipo. + + +#### Prepárese para el periodo de guardia + +1. Esté preparado, habiéndose familiarizado ya con nuestras políticas y procedimientos de respuesta a incidentes. +1. Asegúrese de que ha configurado sus métodos de alerta de acuerdo con nuestro procedimiento de guardia. +1. Compruebe que puede unirse a la llamada de incidentes. Es posible que tenga que instalar un plugin para el navegador. +1. Tenga en cuenta su próximo tiempo de guardia y organice los cambios en función de los viajes, las vacaciones, las citas, etc. +1. Si usted es comandante de incidentes, asegúrese de no estar de guardia para su equipo al mismo tiempo que está de guardia como comandante de incidentes. + +#### Durante el periodo de guardia + +1. Tenga su ordenador portátil e Internet con usted en todo momento durante su período de guardia (oficina, casa, un MiFi, un teléfono con un plan de conexión, etc). +1. Si tiene citas importantes, debe conseguir que otra persona de su equipo cubra esa franja horaria con antelación. +1. Cuando recibas una alerta de incidente, se espera que te unas a la llamada de incidente y chatees lo antes posible (en cuestión de minutos). +1. El jefe de incidentes le hará preguntas o le dará acciones. Responde a las preguntas de forma concisa y sigue todas las acciones que se te den (incluso si no estás de acuerdo con ellas). +1. Si no estás seguro de algo, haz venir a otros miembros de tu equipo que puedan ayudarte. **Nunca dudes en escalar**, si es necesario. +1. No culpes. Este proceso de respuesta a incidentes no tiene ninguna culpa: culpar es contraproducente y distrae del problema en cuestión. La revisión posterior a la acción identificará los puntos en los que todos podemos mejorar. + +### Formación + +* Lea y comprenda el plan de respuesta a incidentes, incluidas las funciones y las guías de actuación. From d70fa0846c53227690b6cdf4e5e7ff9c06e548b8 Mon Sep 17 00:00:00 2001 From: JesusJimenezSantana <94167953+JesusJimenezSantana@users.noreply.github.com> Date: Tue, 10 May 2022 09:09:04 +0200 Subject: [PATCH 005/199] Add files via upload --- roles/role-5-liaison.md | 110 ++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/roles/role-5-liaison.md b/roles/role-5-liaison.md index 9850cd8..5d61ccf 100644 --- a/roles/role-5-liaison.md +++ b/roles/role-5-liaison.md @@ -1,55 +1,55 @@ -## Role: Liaison - -### Description - -Liaisons interact with other teams or stakeholders, outside the incident response team. These often include: - -* External Liaison: responsible for interacting with customers, either directly, or via public communication. -* Internal Liaison: responsible for interacting with internal stakeholders. Whether it's notifying an internal team of the incident, or mobilizing additional responders within the organization. - -### Duties - -#### External or Customer Liaison - -1. Post any publicly facing messages regarding the incident (Twitter, etc). -1. Notify the IC of any customers or media coverage reporting affects of the incident. -1. Provide customers with the external message from the post-mortem once it is completed. -1. Contact or interact with external stakeholders such as vendors, partners, law enforcement, _etc._ -1. **Do not** feel responsible for creating every message: work with the Incident Commander and other stakeholders. -1. As appropriate, keep customers informed during an incident. -1. Act as a voice for our customers to the Incident Commander, as this is useful for IC decision making. -1. Gaining message approval after you have crafted the public message: copy the message into chat and wait for verbal/written confirmation from the IC before proceeding. - -##### Tips for Public Messages - -* Prepare a default message in advance that can be used for the initial update if the scope of the issue is unknown. -* Be honest. Do not lie or guess. -* Describe our progress in resolving the incident. - * _"We are aware of an incident..."_ - * _"We are investigating delayed notifications..."_ - * _"A fix has been applied and is currently being deployed..."_ - * _"The issue has been resolved..."_ -* Be clear about how the incident is affecting customers. This is the primary piece of information customers will care about. -* Provide workarounds customers can use until the incident is resolved. -* Don't estimate resolution times. -* Provide the appropriate level of detail. - -#### Internal Liaison - -1. Page SME's or other on-call personnel as instructed by the Incident Commander. -1. Notify or mobilize other teams within the organization (e.g. Finance, Legal, Marketing), as instructed by the Incident Commander. -1. Track and anticipate SMEs on the call. -1. Interact with stakeholders and provide status updates as necessary. -1. Interact with internal stakeholders to answer their questions, to keep the primary call distraction free. -1. Provide regular status updates to the executive team, giving an executive summary of the current status. - -### Training - -Read and understand the incident response plan, including the roles and playbooks. - -#### Prerequisites - -* Excellent verbal and written **communication skills**. -* _OPTIONAL:_ Customer support training. -* _OPTIONAL:_ Corporate communication or marketing training. - +## Rol: Enlace + +### Descripción + +Los enlaces interactuan con otros equipos o partes interesadas fuera del equipo de respuesta a incidentes. A menudo incluyen: + +* Enlace externo: responsable de interactuar con clientes, ya sea directamente o por vía pública. +* Enlace interno: responsable de interactuar con las partes interesadas internas. Tanto si se trata de notificar un incidente al equipo interno como al movilizar respuestas adicionales dentro de la organización. + +### Deberes + +#### Enlace con el exterior o con el cliente + +1. Subir cualquier mensaje de cara al público con respecto al incidente (Twitter, etc). +1. Notificar al IC (Intelligence Customer) de cualquier cliente o cobertura de los medios de comunicación que informen de los efectos del incidente. +1. Proporcionar a los clientes el mensaje externo de la autopsia una vez que se haya completado. +1. Contactar o interactuar con las partes interesadas externas, como proveedores, socios, fuerzas de seguridad, _etc._ +1. **No** sentirse responsable de la creación de cada mensaje: trabajar con el Jefe del Incidente y otras partes interesadas. +1. Según proceda, mantener a los clientes informados durante un incidente. +1. Actuar como voz de nuestros clientes ante el Jefe de Incidentes, ya que esto es útil para la toma de decisiones del IC. +1. Obtener la aprobación del mensaje después de haber elaborado el mensaje público: copiar el mensaje en el chat y esperar la confirmación verbal/escrita del IC antes de continuar. + +##### Pistas para mensajes públicos + +* Preparar de antemano un mensaje por defecto que pueda utilizarse para la actualización inicial si se desconoce el alcance del problema. +* Sé honesto. No mientas o supongas. +* Describa nuestros progresos en la resolución del incidente. + * _"Somos conscientes de un incidente..."_ + * _"Estamos investigando los retrasos en las notificaciones..."_ + * _"Se ha aplicado una corrección y se está desplegando actualmente..."_ + * _"El problema ha sido resuelto..."_ +* Explique claramente cómo afecta el incidente a los clientes. Esta es la principal información que les interesa a los clientes. +* Proporcionar soluciones que los clientes puedan utilizar hasta que se resuelva la incidencia. +* No calcule los tiempos de resolución. +* Proporcionar el nivel de detalle adecuado. + +#### Enlace interno + +1. Página PYMES u otro personal de guardia según las instrucciones del Jefe del Incidente. +1. Notificar o movilizar a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Jefe del Incidente. +1. Seguir y anticiparse a las PYMES en la convocatoria. +1. Interactuar con las partes interesadas y proporcionar actualizaciones de estado cuando sea necesario. +1. Interactuar con las partes interesadas internas para responder a sus preguntas, para mantener la llamada principal libre de distracciones. +1. Proporcionar actualizaciones periódicas de la situación al equipo ejecutivo, ofreciendo un resumen ejecutivo de la situación actual. + +### Formación + +Leer y comprender el plan de respuesta a incidentes, incluyendo los roles y las guías. + +#### Prerequisitos + +* Excelentes **habilidades de comunicación** verbal y escrita. +* _OPCIONAL:_ Formación en atención al cliente. +* _OPCIONAL:_ Comunicación corporativa o formación en marketing. + From 1f1c16b6caba178a19588323dcda3453312198bc Mon Sep 17 00:00:00 2001 From: jesusrelinque <94535862+jesusrelinque@users.noreply.github.com> Date: Tue, 10 May 2022 09:09:05 +0200 Subject: [PATCH 006/199] =?UTF-8?q?Traducci=C3=B3n=20after?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- after.md | 73 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/after.md b/after.md index 7fe9eb7..14ae558 100644 --- a/after.md +++ b/after.md @@ -1,37 +1,36 @@ -# Conduct an After Action Review (AAR) - -1. Schedule an After Action Review (AAR) meeting within {{AAR_SLA}} and invite the attendees listed at {{AAR_ATTENDEES}}. Always include the following: - * The incident commander. - * Service owners involved in the incident. - * Key engineer(s)/responders involved in the incident. -1. Designate an AAR owner who will investigate the incident in advance of the meeting to prepare, looking into the incident process itself including reviewing notes and reports. - -## Conduct the AAR Meeting - -Document answers to the following key questions: - -1. **What happened?** Create a timeline, supported with data or other artifacts. **Avoid blame. Find facts.** -1. **What was supposed to happen?** - * Detail deviations from process, procedure, or best practice, including SME assessments. - * Identify ways the incident could have been detected sooner, or responded to more effectively -1. **What were the root causes?** Find root cause to things that happened and to things that should have happened. -1. **How can we improve?** Capture action items _with assignees and due dates_. Consider: - * Stop: what should we stop doing? - * Start: what should we start doing? - * Continue: what should we keep doing? - -## Communicate AAR Status and Results - -The AAR owner, in coordination with the Internal Liaison, will communicate the status of the AAR (see below) - -### Status Descriptions - -| Status | Description | -|-|-| -| **Draft** | AAR investigation is still ongoing | -| **In Review** | AAR investigation has been completed, and is ready to be reviewed during the AAR meeting. | -| **Reviewed** | AAR meeting is over and the content has been reviewed and agreed upon.
If there are additional "External Messages", the communications team will take action to prepare. | -| **Closed** | No further actions are needed on the AAR (outstanding issues are tracked in tickets).
If no "External Messages", skip straight to this once the meeting is over.
If there are additional "External Messages", communications team will update AAR Closed once sent. | - -Communicate the results of the AAR internally and finalize the AAR documentation. - +# Realizar una revisión posterior a la acción (Conduct an After Action Review, AAR) + +1. Programe una reunión de revisión posterior a la acción (AAR) dentro de {{AAR_SLA}} e invite a los asistentes que figuran en {{AAR_ATTENDEES}}. Incluya siempre a los siguientes: + * El jefe del incidente. + * Los propietarios de los servicios implicados en el incidente. + * Ingeniero(s)/responsable(s) clave(s) implicado(s) en el incidente. +1. Designe a un propietario del AAR que investigue el incidente antes de la reunión para prepararlo, estudiando el proceso del incidente en sí, incluyendo la revisión de notas e informes. + +## Realización de la reunión AAR + +Documente las respuestas a las siguientes preguntas clave: + +1. **¿Qué ocurrió?** Cree una línea de tiempo, apoyada con datos u otros artefactos. **Evitar las culpas. Busca los hechos.** +1. **¿Qué se suponía que iba a ocurrir?** + * Detallar las desviaciones del proceso, el procedimiento o las mejores prácticas, incluidas las evaluaciones de las PYMES. + * Identifique las formas en que el incidente podría haberse detectado antes o haberse respondido con mayor eficacia. +1. **¿Cuáles fueron las causas fundamentales?** Encuentre la raíz de lo que ocurrió y de lo que debería haber ocurrido. +1. **¿Cómo podemos mejorar?** Capture los elementos de acción con asignados y fechas de vencimiento. Considerar: + * Detener: ¿Qué debemos dejar de hacer? + * Empezar: ¿Qué deberíamos empezar a hacer? + * Continuar: ¿Qué debemos seguir haciendo? + +## Comunicar el estado y los resultados del AAR + +El propietario del informe, en coordinación con el enlace interno, comunicará el estado del informe (véase más abajo). + +### Descripciones de estado + +| Estado | Descripción | +|-|-| +| **Borrador** | La investigación de la AAR sigue en curso | +| **En revisión** | La investigación AAR se ha completado, y está lista para ser revisada durante la reunión AAR. | +| **Revisado** | La reunión de AAR ha terminado y el contenido ha sido revisado y acordado.
Si hay "Mensajes externos" adicionales, el equipo de comunicación tomará medidas para prepararlos. | +| **Cerrado** | No es necesario realizar más acciones en el AAR (los problemas pendientes se rastrean en los tickets).
Si no hay "Mensajes Externos", pase directamente a esto una vez que la reunión haya terminado.
Si hay "Mensajes Externos" adicionales, el equipo de comunicaciones actualizará el AAR Cerrado una vez enviado. | + +Comunicar internamente los resultados del AAR y finalizar la documentación del AAR. From 6aa7bc4c25510a3d2e768d106156ec9a0ed84e02 Mon Sep 17 00:00:00 2001 From: AbelPosadoReyes <94357701+AbelPosadoReyes@users.noreply.github.com> Date: Tue, 10 May 2022 09:09:25 +0200 Subject: [PATCH 007/199] Add files via upload --- playbooks/index.md | 12 +- playbooks/playbook-defacement.md | 335 ++++++++++++++++--------------- 2 files changed, 175 insertions(+), 172 deletions(-) diff --git a/playbooks/index.md b/playbooks/index.md index e8fafa2..5aff633 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -1,6 +1,6 @@ -# Playbooks - -The following playbooks capture common [investigation](#investigate), [remediation](#remediate), and [communication](#communicate) steps for particular types of incident. - -`TODO: Create additional playbooks for highly likely or highly damaging incident types.` - +# Libros de jugadas + +Los siguientes libros de jugadas capturan los pasos comunes de [investigación](#investigación), [remediación](#remediación) y [comunicación](#comunicación) para determinados tipos de incidentes. + +Tarea: Crear libros de juego adicionales para tipos de incidentes muy probables o muy perjudiciales. + diff --git a/playbooks/playbook-defacement.md b/playbooks/playbook-defacement.md index 8e5ebf2..77809c4 100644 --- a/playbooks/playbook-defacement.md +++ b/playbooks/playbook-defacement.md @@ -1,166 +1,169 @@ -## Playbook: Website Defacement - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate -1. Immediately take the defaced server offline for further investigation - * This is especially important if the defacement is insulting or triggering in any way. Remove this from the public eye as quickly as possible to avoid harm as well as to mitigate business impact. - * The defacement message may also contain false information that could mislead users or put them at risk. - * Taking the server offline will allow a deeper investigation of the defacement. This may be necessary as the hacker may have dove depper into the organization accessing application servers, databases, etc. -2. Determine the system's source of vulnerability that was used by the attacker. Common exploits include: - * SQL injection attakcs - * This kind of attack occurs when an attacker interferes with an application's queries to the database. Therefore, this can lead to unauthorized access to private or sensitive data. Read more about SQL injection attacks [here](https://www.acunetix.com/websitesecurity/sql-injection/) - * Remote File Inclusion (RFI) attacks - * This kind of attack exploits an application's referencing function to upload malware from a remote URL. Read more about RFI attacks [here](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/) - * webshells - * More about web shells and website defacement [here](https://www.wordfence.com/blog/2017/06/wso-shell/) - * poor web application design - * javascript hacks - * PHP/ASP hacks - * Here's more on [hacking with javascript](https://itnext.io/how-companies-are-hacked-via-malicious-javascript-code-12aa82560bdc) - * other methods of detection include: - * Checking the server logs - * look through the web page's access log and error log for any suspicious or unfamiliar activity - * of course, it is also a good idea to check the IDS or IPS firewall logs, if available - * Checking files with static content - * Scanning databases for malicious content - * Checking links present in the page -3. Collect any clues as to who the hacker is or what organization they are working for. Consider the following questions: - * What did the defacement portray? Did it include an obvious message? - * Did the defacement seem harmless or intentional? Could the hacker be a kid messing around or a professional group working with a motive? - * Does it seem like your organization was targeted? Who may want to target your organization? - * What did the hacker hope to accomplish? - * Consult [here](https://www.geeksforgeeks.org/types-of-hackers/) to learn more about the types of hackers that may have attacked your webpage. -4. Collect other important information from the page that has been defaced such as: - * a screenshot of the defacement - * the domain and IP address of the page - * details of the web server - * page's source code - * analyze this carefully to identify the problem and ensure that it is on a server belonging to the company - * name or any information on the attacker -6. There are also tools available to aid in both detection and log analysis. A few are listed below: - * Weblog Expert - * Sawmill - * Deep Log Analyzer - - -`TODO: Expand investigation steps, including key questions and strategies, for website defacement.` - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for website defacement.` - -`TODO: Specify tools and procedures for each step, below.` - -1. Backup all data stored on the web server for forensic purposes. -2. As previously mentioned, make sure to take the defaced page's server down temporarily while investigation occurs. - * You should have an error page prepared for this situation that informs user and/or employees that maintenance is undereway and the page they sought will return shortly. You may even wish to have a backup website prepared where you may publish content while investigation and remediation are underway and have your temporary error page redirect users to this backup site. - * Check your network architecture map. If the breach is another system on the network, take that down and investigate it. -3. Once the source of the attack has been determined, apply the necessarily steps to ensure this will not happen again. This may include modifying code or editing access rights. - * Reference the "Investigate" section for common sources of vulnerability. - * If this is outside of your domain, simply ensure that you have given the appropriate personnel all the information on the attack that you have and allow experts to do their job. - -### Recover - -`TODO: Customize recovery steps for defacement` - -`TODO: Specify tools and procedures for each step, below` - -1. Remove the hacker's message and replace with original, legitimate content. If data was lost in the attack, reference backups and restore the original page as much as possible. - * Check backups for indicators of compromise - * Consider partial recovery and backup integrity testing -2. Consider asking users to change their login credentials if the web server has user authentication. -3. After implementing risk avoidance measures (as recommended below), restore your server showing the original page content. -4. If necessary and/or applicable, prepare an apology/explanation of the attack that occurred for users or anyone who witnessed the defacement. Ensure that is it clear that the defacement content does not reflect your organization in any way. - -#### Risk Avoidance - -`TODO: Communicate with other employees to ensure that everyone understands and contributes to the following steps, where applicable` - -1. Use as few plug-ins as necessary. Hackers target websites that are vulnerable and have many sources of entry. You can limit these sources of entry by only using what you need and removing any unused or old plug ins and software. It is also important to update these as soon as possible. -2. Closely monitor and mandate access to administrative content. Only allow individuals access to what they need access to. This will reduce the chance of human error leading to cyber attacks. There are more DIY methods of prevention mentioned in [this article](https://cirt.gy/index.php/node/116) (steps 6-12) and in resource #4 at the end of this playbook. -3. Regularly check for malware on your site by scanning the source code. Look for scripts, iframes, or URLs that look unfamiliar and make sure to also scan URLs that do look familiar. -4. There are many highly reputable automated website scanners that will not cost any of your time and will thoroughly scan your site for vulnerabilities regularly. Here is a [link to popular scanners](https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref). -5. Defend against common points of exploitation such as SQL injections and XSS attacks. [This article](https://www.banffcyber.com/knowledge-base/articles/best-practices-address-issue-web-defacement/) includes best practices to defend these attacks. -6. Install defacement detection programs so that if an attack were to occurr again, you would be prepared and respond quickly. Here is an [article](https://www.techradar.com/news/best-website-defacement-monitoring-service) that summarizes some of 2020's best monitoring services. -7. Discuss with your employees the importance of keeping administrative access limited and confidential and inform them of these steps to avoid incidents including regular cybersecurity awareness training. - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation` - -### Communicate - -`TODO: Customize communication steps for defacement` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan` - -1. Escalate incident and communicate with leadership per procedure -1. Document incident per procedure (and report if applicable) -1. Communicate with internal and external legal counsel per procedure, including discussions of compliance, risk exposure, liability, law enforcement contact, _etc._ -1. Communicate with users (internal) - 1. Communicate incident response updates per procedure - 1. Communicate impact of incident **and** incident response actions (e.g., containment: "why is the file share down?") - 1. Communicate requirements: "what should users do and not do?" -1. Communicate with customers - 1. Focus particularly on those whose data was affected - 1. Generate required notifications based on applicable regulations (particularly those that may consider defacement a data breach or otherwise requires notifications) `TODO: Expand notification requirements and procedures for applicable regulations` -1. Contact insurance provider(s) - 1. Discuss what resources they can make available, what tools and vendors they support and will pay for, _etc._ - 1. Comply with reporting and claims requirements to protect eligibility -1. Consider notifying and involving law enforcement. TODO: Link the following bullets to actual resources for your organization - 1. [Local law enforcement](#TODO-link-to-actual-resource) - 1. [State or regional law enforcement](#TODO-link-to-actual-resource) - 1. [Federal or national law enforcement](#TODO-link-to-actual-resource) -1. Communicate with security and IT vendors TODO: Link the following bullets to actual resources for your organization - 1. Notify and collaborate with [managed providers](#TODO-link-to-actual-resource) per procedure - 1. Notify and collaborate with [incident response consultants](#TODO-link-to-actual-resource) per procedure - -### Resources - -#### Reference: User Actions for Suspected Defacement Attack - -`TODO: Customize steps for users dealing with suspected defacement` - -1. Stay calm, take a deep breath. -1. Disconnect your system from the network `TODO: include detailed steps with screenshots, a pre-installed tool or script to make this easy ("break in case of emergency"), consider hardware network cut-off switches` -1. Take pictures of the page you see using your smartphone showing the things you noticed: the defacement message and any other changes to the usual site. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. Every little bit helps! Document the following: - 1. What did you notice? - 1. When did it first occur, and how often since? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Contact the [help desk](#TODO-link-to-actual-resource) and be as helpful as possible. -1. Be patient: allow the IT personnel get it under control, you may be protecting others from harm! **Thank you.** - -#### Reference: Help Desk Actions for Suspected Defacement Attack - -`TODO: Customize steps for help desk personnel dealing with suspected defacement` - -1. Stay calm, take a deep breath. -1. Open a ticket to document the incident, per procedure. `TODO: Customize template with key questions (see below) and follow-on workflow` -1. Use your best judgement on which steps to prioritize (i.e. if the defacement left harmful or triggerring content, prioritize taking down the server immediately). -1. Ask the user to take pictures of their screen using their smartphone showing the things they noticed. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. If this is a user report, ask detailed questions, including: - 1. What did you notice? - 1. When did it first occur, and how often since? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Ask follow-up questions as necessary. **You are an incident responder, we are counting on you.** -1. Get detailed contact information from the user (home, office, mobile), if applicable. -1. Record all information in the ticket, including hand-written and voice notes. -1. Quarantine affected users and systems. `TODO: Customize containment steps, automate as much as possible` -1. Contact the [security team](#TODO-link-to-actual-resource) and stand by to participate in the response as directed: investigation, remediation, communication, and recovery. - -#### Additional Information -1. A helpful and detailed [paper](https://pdfs.semanticscholar.org/899e/2d629e06d920b9059edb21fcb52cdb33f783.pdf) on defacement detection -2. 10 tools for [better website monitoring and security](https://geekflare.com/website-defacement-monitoring/) -3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) with helpful statistics -4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) including DIYs and Best practices to prevent website defacement \ No newline at end of file + +## Playbook: Desaparición de sitios web + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. +Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +1. Desconecte inmediatamente el servidor desfigurado para investigarlo. + * Esto es especialmente importante si la desfiguración es insultante o provocadora de algún modo. Elimine esto de la vista del público tan pronto como sea posible para evitar daños, así como para mitigar el impacto del negocio. + * El mensaje de desfiguración también puede contener información falsa que podría confundir a los usuarios o ponerlos en peligro. + * Desconectar el servidor permitirá una investigación más profunda de la desfiguración. Esto puede ser necesario, ya que el hacker puede haberse adentrado en la organización accediendo a servidores de aplicaciones, bases de datos, etc. +2. Determine el origen de la vulnerabilidad del sistema que ha utilizado el atacante. Los exploits más comunes son: + * Ataques de inyección SQL + * Este tipo de ataque se produce cuando un atacante interfiere en las consultas de una aplicación a la base de datos. Por lo tanto, esto puede conducir a un acceso no autorizado a datos privados o sensibles. Lea más sobre los ataques de inyección SQL [aquí](https://www.acunetix.com/websitesecurity/sql-injection/) + * Ataques de inclusión remota de archivos (RFI) + * Este tipo de ataque explota la función de referencia de una aplicación para cargar malware desde una URL remota. Más información sobre los ataques RFI [aquí](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/) + * webshells + * Más información sobre web shells y defacement de sitios web [aquí](https://www.wordfence.com/blog/2017/06/wso-shell/) + * mal diseño de aplicaciones web + * hacks de javascript + * hacks de PHP/ASP + * Aquí hay más sobre [hacking con javascript](https://itnext.io/how-companies-are-hacked-via-malicious-javascript-code-12aa82560bdc) + * otros métodos de detección incluyen: + * Comprobar los registros del servidor + * buscar en el registro de acceso y en el registro de errores de la página web cualquier actividad sospechosa o desconocida + * por supuesto, también es una buena idea comprobar los registros del firewall IDS o IPS, si están disponibles + * Comprobar los archivos con contenido estático + * Escanear las bases de datos en busca de contenido malicioso + * Comprobación de los enlaces presentes en la página +3. Recoge cualquier pista sobre quién es el hacker o para qué organización trabaja. Considera las siguientes preguntas: + * ¿Qué representa la desfiguración? ¿Incluía un mensaje obvio? + * ¿Parece que la desfiguración es inofensiva o intencionada? ¿Podría ser el hacker un niño jugando o un grupo profesional que trabaja con un motivo? + * ¿Parece que su organización haya sido el objetivo? ¿Quién podría querer atacar a su organización? + * ¿Qué esperaba conseguir el hacker? + * Consulta [aquí](https://www.geeksforgeeks.org/types-of-hackers/) para saber más sobre los tipos de hackers que pueden haber atacado tu página web. +4. Recoge otra información importante de la página que ha sido desfigurada, como por ejemplo + * una captura de pantalla de la desfiguración + * el dominio y la dirección IP de la página + * detalles del servidor web + * el código fuente de la página + * analizarlo cuidadosamente para identificar el problema y asegurarse de que se encuentra en un servidor de la empresa + * nombre o cualquier información sobre el atacante +6. También existen herramientas que ayudan a la detección y al análisis de los registros. A continuación se enumeran algunas de ellas: + * Weblog Expert + * Sawmill + * Deep Log Analyzer + + + +`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas clave y las estrategias, para la desfiguración de sitios web.` + +### Remediar + +**Planificar eventos de reparación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. +* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para la desfiguración de sitios web. + +Tarea: Especificar las herramientas y los procedimientos para cada paso, a continuación. + +1. Haga una copia de seguridad de todos los datos almacenados en el servidor web con fines forenses. +2. Como se ha mencionado anteriormente, asegúrese de que el servidor de la página desfigurada está temporalmente fuera de servicio mientras se lleva a cabo la investigación. + * Debe tener una página de error preparada para esta situación que informe al usuario y/o a los empleados de que el mantenimiento está en marcha y que la página que buscaban volverá en breve. Incluso podría tener preparada una página web de respaldo en la que pueda publicar contenido mientras se lleva a cabo la investigación y la reparación, y hacer que su página de error temporal redirija a los usuarios a este sitio de respaldo. + * Compruebe su mapa de arquitectura de red. Si la brecha es otro sistema de la red, descárguelo e investíguelo. +3. Una vez que se haya determinado el origen del ataque, aplique los pasos necesarios para garantizar que esto no vuelva a suceder. Esto puede incluir la modificación del código o la edición de los derechos de acceso. + * Consulte la sección "Investigar" para conocer las fuentes comunes de vulnerabilidad. + * Si esto está fuera de su dominio, simplemente asegúrese de que ha dado al personal apropiado toda la información sobre el ataque que tiene y permita que los expertos hagan su trabajo. + + +### Recover + +`TODO: Personalizar los pasos de recuperación para la desfiguración` + +`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación` + +1. Elimine el mensaje del hacker y reemplácelo por el contenido original y legítimo. Si se han perdido datos en el ataque, consulte las copias de seguridad y restaure la página original en la medida de lo posible. + * Compruebe las copias de seguridad en busca de indicadores de compromiso + * Considere la recuperación parcial y la prueba de integridad de las copias de seguridad +2. Considere pedir a los usuarios que cambien sus credenciales de acceso si el servidor web tiene autenticación de usuario. +3. Después de aplicar las medidas para evitar riesgos (como se recomienda a continuación), restaure su servidor mostrando el contenido original de la página. +4. Si es necesario y/o aplicable, prepare una disculpa/explicación del ataque ocurrido para los usuarios o cualquier persona que haya presenciado la desfiguración. Asegúrese de que queda claro que el contenido desfigurado no refleja a su organización de ninguna manera. + +#### Evitar riesgos + +`TODO: Comuníquese con otros empleados para asegurarse de que todos entienden y contribuyen a los siguientes pasos, cuando sea aplicable`. + +1. Utilice el menor número de plug-ins posible. Los piratas informáticos tienen como objetivo los sitios web que son vulnerables y tienen muchas fuentes de entrada. Puedes limitar estas fuentes de entrada utilizando sólo lo que necesites y eliminando los plug-ins y el software que no utilices o sean antiguos. También es importante actualizarlos lo antes posible. +2. Controle de cerca y ordene el acceso a los contenidos administrativos. Permita que las personas accedan sólo a lo que necesitan. Esto reducirá la posibilidad de que un error humano provoque un ciberataque. Hay más métodos de prevención DIY mencionados en [este artículo](https://cirt.gy/index.php/node/116) (pasos 6-12) y en el recurso #4 al final de este libro de jugadas. +3. Comprueba regularmente si hay malware en tu sitio web escaneando el código fuente. Busca scripts, iframes o URLs que te parezcan desconocidos y asegúrate de escanear también las URLs que sí te resulten familiares. +4. Hay muchos escáneres automáticos de sitios web de gran reputación que no le costarán nada de su tiempo y escanearán a fondo su sitio en busca de vulnerabilidades con regularidad. Aquí hay un [enlace a escáneres populares](https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref). +5. Defiéndase contra los puntos comunes de explotación, como las inyecciones SQL y los ataques XSS. [Este artículo](https://www.banffcyber.com/knowledge-base/articles/best-practices-address-issue-web-defacement/) incluye las mejores prácticas para defender estos ataques. +6. Instala programas de detección de desfiguración para que, si volviera a producirse un ataque, estés preparado y respondas rápidamente. Aquí hay un [artículo](https://www.techradar.com/news/best-website-defacement-monitoring-service) que resume algunos de los mejores servicios de monitoreo de 2020. +7. Habla con tus empleados de la importancia de mantener el acceso administrativo limitado y confidencial e infórmales de estos pasos para evitar incidentes, incluyendo la formación periódica de concienciación sobre ciberseguridad. + +#### Referencia: Recursos de remediación + +`TODO: especificar los recursos financieros, de personal y logísticos para llevar a cabo la reparación`. + +### Comunicar + +TODO: Personalizar los pasos de comunicación para la desfiguración + +TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. + +1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento +1. 2. Documentar el incidente según el procedimiento (e informar si procede) +1. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._. +1. Comunicarse con los usuarios (internos) + 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento + 1. Comunicar el impacto del incidente **y** las acciones de respuesta al incidente (por ejemplo, contención: "¿por qué está caído el archivo compartido?") + 1. Comunicar los requisitos: "¿qué deben hacer y no hacer los usuarios?" +1. Comunicar a los clientes + 1. Centrarse especialmente en aquellos cuyos datos se vieron afectados + 1. Generar las notificaciones requeridas en base a las regulaciones aplicables (particularmente aquellas que puedan considerar la desfiguración como una violación de datos o que requieran notificaciones de otro tipo) `TODO: Ampliar los requisitos y procedimientos de notificación para las regulaciones aplicables`. +1. Contactar con los proveedores de seguros + 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._. + 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad +1. Considerar la posibilidad de notificar e implicar a las fuerzas del orden. TODO: Vincule las siguientes viñetas con los recursos reales de su organización + 1. [Aplicación de la ley local](#TODO-link-to-actual-resource) + 1. 1. [Aplicación de la ley a nivel estatal o regional](#TODO-link-to-actual-resource) + 1. 1. [Fuerzas de seguridad federales o nacionales](#TODO-link-to-actual-resource) +1. Comuníquese con los proveedores de seguridad y de TI TODO: Vincule las siguientes viñetas con los recursos reales de su organización + 1. Notifique y colabore con [proveedores gestionados](#TODO-link-to-actual-resource) según el procedimiento + 1. 2. Notificar y colaborar con [consultores de respuesta a incidentes](#TODO-link-to-actual-resource) por procedimiento + +### Recursos + +#### Referencia: Acciones del usuario ante un ataque de sospecha de defacement + +Tarea: Personalizar los pasos a seguir por los usuarios ante una sospecha de defacement + +1. Mantenga la calma y respire profundamente. +1. 2. Desconecte su sistema de la red `TODO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para hacer esto fácil ("romper en caso de emergencia"), considere interruptores de corte de red por hardware`. +1. Haz fotos de la página que veas con tu smartphone mostrando las cosas que has notado: el mensaje de desfiguración y cualquier otro cambio en el sitio habitual. +1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: + 1. ¿Qué has notado? + 1. ¿Cuándo ocurrió por primera vez, y con qué frecuencia desde entonces? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? +1. Ponte en contacto con el [servicio de asistencia](#TODO-enlace-al-recurso) y sé lo más servicial posible. +1. Ten paciencia: deja que el personal informático lo controle, ¡puedes estar protegiendo a otros de un daño! **Gracias.** + +#### Referencia: Acciones del Help Desk ante un presunto ataque de defacement + +`TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de defacement`. + +1. Mantenga la calma y respire profundamente. +1. Abra un ticket para documentar el incidente, según el procedimiento. Tarea: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior. +1. Utiliza tu mejor criterio para decidir qué pasos priorizar (por ejemplo, si la desfiguración dejó contenido dañino o desencadenante, prioriza la retirada del servidor inmediatamente). +1. Pídele al usuario que tome fotos de su pantalla con su teléfono inteligente mostrando las cosas que notó. +1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haga preguntas detalladas, incluyendo + 1. ¿Qué has notado? + 1. ¿Cuándo ocurrió por primera vez, y con qué frecuencia desde entonces? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? +1. Haga las preguntas de seguimiento que sean necesarias. **Usted es una persona que responde al incidente, contamos con usted.** +1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede. +1. Registre toda la información en el ticket, incluyendo notas manuscritas y de voz. +1. Ponga en cuarentena a los usuarios y sistemas afectados. `TODO: Personalizar los pasos de contención, automatizar todo lo posible`. +1. Póngase en contacto con el [equipo de seguridad] (#TODO-link-to-actual-resource) y prepárese para participar en la respuesta según las indicaciones: investigación, reparación, comunicación y recuperación. + +#### Información adicional +1. Un útil y detallado [paper](https://pdfs.semanticscholar.org/899e/2d629e06d920b9059edb21fcb52cdb33f783.pdf) sobre la detección de la desfiguraciónw +2. 10 herramientas para[better website monitoring and security](https://geekflare.com/website-defacement-monitoring/) +3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) con estadísticas útiles +4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) incluyendo bricolaje y mejores prácticas para evitar la desfiguración de sitios web \ No newline at end of file From 985e47c73066f22dfad4313bb3f6d1aa72152469 Mon Sep 17 00:00:00 2001 From: AbelPosadoReyes <94357701+AbelPosadoReyes@users.noreply.github.com> Date: Tue, 10 May 2022 09:10:03 +0200 Subject: [PATCH 008/199] Update index.md --- playbooks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/index.md b/playbooks/index.md index 5aff633..8d3ccb5 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -1,4 +1,4 @@ -# Libros de jugadas +# Playbook Los siguientes libros de jugadas capturan los pasos comunes de [investigación](#investigación), [remediación](#remediación) y [comunicación](#comunicación) para determinados tipos de incidentes. From 00153dc08a2252a8669824325934bce9330d2c68 Mon Sep 17 00:00:00 2001 From: DavidValenClass <94535833+DavidValenClass@users.noreply.github.com> Date: Tue, 10 May 2022 09:14:13 +0200 Subject: [PATCH 009/199] Add files via upload --- playbooks/playbook-identity-and-access.md | 129 +++++++++++----------- 1 file changed, 64 insertions(+), 65 deletions(-) diff --git a/playbooks/playbook-identity-and-access.md b/playbooks/playbook-identity-and-access.md index 3b6aaf2..b8c3875 100644 --- a/playbooks/playbook-identity-and-access.md +++ b/playbooks/playbook-identity-and-access.md @@ -1,65 +1,64 @@ -## Playbook: Identity and Access Compromise - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for identity and access compromise.` - -1. TODO - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for identity and access compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -`TODO: Consider automating containment measures using orchestration tools.` - -#### Eradicate - -`TODO: Customize eradication steps, tactical and strategic, for identity and access compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` - -### Communicate - -`TODO: Customize communication steps for identity and access compromise` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Recover - -`TODO: Customize recovery steps for identity and access compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Resources - -#### Additional Information - -1. ["Title"](#TODO-url), Author Last Name (Date) - +## Playbook: Compromiso de identidad y acceso + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. + +Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la identidad y el acceso. + +1. TODO + +### Remediar + +* **Planificar eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. +* **Considere el tiempo y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la identidad y el acceso. + +TODO: Especificar las herramientas y procedimientos para cada paso, a continuación. + +*TODO + +`TODO: Considerar la automatización de las medidas de contención utilizando herramientas de orquestación.` + +#### Erradicar + +TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso. + +TODO: Especificar herramientas y procedimientos para cada paso, a continuación. + +* TODO + +#### Referencia: Recursos de remediación + +`TODO: Especificar los recursos financieros, de personal y logísticos para llevar a cabo la remediación.` + +### Comunicar + +TODO: Personalizar los pasos de comunicación para el compromiso de la identidad y el acceso. + +`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` + +Además de los pasos y orientaciones generales del plan de respuesta a incidentes: + +1. TODO + +### Recuperación + +`TODO: Personalizar los pasos de recuperación para el compromiso de la identidad y el acceso.` + +`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación.` + +Además de los pasos y orientaciones generales del plan de respuesta a incidentes: + +1. TODO + +### Recursos + +#### Información adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) From 46f749aec7207cf58dd3cb78e556882f877ff33c Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:14:46 +0200 Subject: [PATCH 010/199] Add files via upload --- about.md | 75 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/about.md b/about.md index 05304bb..b5344f3 100644 --- a/about.md +++ b/about.md @@ -1,36 +1,39 @@ -# About - -This template was developed by the team at [Counteractive Security](https://www.counteractive.net), to help all organizations get a good start on a concise, directive, specific, flexible, and free incident response plan. Build a [plan you will actually use](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) to respond effectively, minimize cost and impact, and get back to business as soon as possible. - -## License - -This template is provided under the Apache License, version 2.0. You can view the source code for this plan at https://github.com/counteractive. - -## Instructions - -Customize this plan template for your own organization. Instructions are available in the project's [README](https://github.com/counteractive). For professional assistance with incident response, or with customizing, implementing, or testing your plan, please contact us by [email](mailto:support@counteractive.net) or [phone](tel:+18889255765). - -## References and Additional Reading - -* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) -* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) -* [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework) -* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) -* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) -* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) -* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) -* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) -* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) -* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) -* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) -* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) -* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) -* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) -* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) -* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) -* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) -* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) -* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) -* [Advanced PostMortem Fu and Human Error 101 (Velocity 2011)](http://www.slideshare.net/jallspaw/advanced-postmortem-fu-and-human-error-101-velocity-2011) -* [Blame. Language. Sharing.](http://fractio.nl/2015/10/30/blame-language-sharing/) - +# Acerca de + +Esta plantilla ha sido creada por el equipo de [Counteractive Security](https://www.counteractive.net), para ayudar a todas las organizaciones a comenzar de forma concisa, directa, especifica, flexible y gratuita un plan de respuesta de incidentes. crea un plan [que utilizaras](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) para responder de manera eficiente, minimizando los costes e impactos, para volver a trabajar lo mas rapido posible. + + +## Licencia + +Esta plantilla esta proporcionado bajo la licencia de apache, version 2.0. puedes ver el codigo fuente en https://github.com/counteractive. + + +## Instrucciones + +Personaliza esta plantilla para tu organizacion. Las instrucciones estan disponibles en el [README](https://github.com/counteractive) del projecto. Para asistencia profesional con respuestas de incidentes, o con customizacion, implementacion, o testeo de tu plan, porfavor contacta con nosotros por [email](mailto:support@counteractive.net) o [telefono](tel:+18889255765). + + +## Referencias y material adicional + +* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) +* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) +* [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework) +* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) +* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) +* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) +* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) +* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) +* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) +* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) +* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) +* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) +* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) +* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) +* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) +* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) +* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) +* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) +* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) +* [Advanced PostMortem Fu and Human Error 101 (Velocity 2011)](http://www.slideshare.net/jallspaw/advanced-postmortem-fu-and-human-error-101-velocity-2011) +* [Blame. Language. Sharing.](http://fractio.nl/2015/10/30/blame-language-sharing/) + From 562ad0cbae41cda5e4c4304961d936f3afe83464 Mon Sep 17 00:00:00 2001 From: DavidValenClass <94535833+DavidValenClass@users.noreply.github.com> Date: Tue, 10 May 2022 09:15:03 +0200 Subject: [PATCH 011/199] Add files via upload --- roles/role-0-all-participants.md | 95 ++++++++++++++++---------------- 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/roles/role-0-all-participants.md b/roles/role-0-all-participants.md index bf963af..6ccc577 100644 --- a/roles/role-0-all-participants.md +++ b/roles/role-0-all-participants.md @@ -1,48 +1,47 @@ -## Role: All Participants - -### Description - -All participants in an incident response have the responsibility to help resolve the incident according to the incident response plan, under the authority of the Incident Commander. - -### Duties - -#### Exhibit Call Etiquette - -* Join both the call and chat. -* Keep background noise to a minimum. -* Keep your microphone muted until you have something to say. -* Identify yourself when you join the call; State your name and role (_e.g._, "I am the SME for team x"). -* Speak up and speak clearly. -* Be direct and factual. -* Keep conversations/discussions short and to the point. -* Bring any concerns to the Incident Commander (IC) on the call. -* Respect time constraints given by the Incident Commander. -* If you join only one channel (call or chat), do not actively participate, as it causes disjoined communication. -* **Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** - -##### Reference: Common Voice Procedure - -Standard radio [voice procedure](https://en.wikipedia.org/wiki/Voice_procedure#Words_in_voice_procedure) **is not required**, however you may hear certain terms (or need to use them yourself). Common phrases include: - -* **Ack/Rog:** "I have received and understood" -* **Say Again:** "Repeat your last message" -* **Standby:** "Please wait a moment for the next response" -* **Wilco:** "Will comply" - -**Do not** invent new abbreviations; favor being explicit over implicit. - -#### Follow the Incident Commander - -The Incident Commander (IC) is the leader of the incident response process. - -* Follow instructions from the incident commander. -* Do not perform any actions unless the incident commander has told you to do so. -* The commander will typically poll for strong objections before tasking a large action. Raise objections if you have them. -* Once the commander has made a decision, follow that decision (even if you disagreed). -* Answer any questions the commander asks you in a clear and concise way. Answering "I don't know" is acceptable. Do not guess. -* The commander may ask you to investigate something and get back to them in X minutes. Be ready with an answer within that time. Asking for more time is acceptable, but provide the commander an estimate. - -### Training - -Read and understand the incident response plan, including the roles and playbooks. - +## Roles: Todos los participantes + +### Descripción + +Todos los participantes en la respuesta a un incidente tienen la responsabilidad de ayudar a resolver el incidente de acuerdo con el plan de respuesta a incidentes, bajo la autoridad del Jefe de Incidentes. + +### Deberes + +#### Exhibir la etiqueta de la llamada + +* Participar tanto en la llamada como en el chat. +* Mantenga el ruido de fondo al mínimo. +* Mantenga el micrófono silenciado hasta que tenga algo que decir. +* Identifíquese cuando entre en la llamada; diga su nombre y su función (por ejemplo, "Soy el SME del equipo x"). +* Habla con claridad. +* Sea directo y objetivo. +* Mantenga las conversaciones/debates breves y al grano. +* Comunicar cualquier preocupación al Jefe de Incidentes (IC) en la llamada. +* Respetar las limitaciones de tiempo dadas por el Jefe del Incidente. +* Si te unes a un solo canal (llamada o chat), no participes activamente, ya que provoca una comunicación inconexa. +* **Utilice una terminología clara y evite acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** + +##### Referencia: Procedimiento común de voz + +El [procedimiento de voz] estándar de la radio (https://en.wikipedia.org/wiki/Voice_procedure#Words_in_voice_procedure) **no es obligatorio**, sin embargo, es posible que escuche ciertos términos (o que tenga que utilizarlos usted mismo). Las frases comunes incluyen: + +* **Ack/Rog:** "He recibido y entendido" +* **Say Again:** "Repita su último mensaje" +* **Standby:** "Por favor, espere un momento para la siguiente respuesta" +* **Wilco:** "Cumpliré" + +**No** invente nuevas abreviaturas; favorezca ser explícito sobre lo implícito. + +#### Seguir al jefe del Incidente + +El jefe del incidente (IC) es el líder del proceso de respuesta al incidente. + +* Siga las instrucciones del jefe del incidente. +* No realice ninguna acción a menos que el jefe del incidente se lo indique. +* El jefe normalmente sondeará si hay objeciones fuertes antes de asignar una acción importante. Plantee sus objeciones si las tiene. +* Una vez que el jefe haya tomado una decisión, sígala (incluso si no está de acuerdo). +* Responde a cualquier pregunta que te haga el jefe de forma clara y concisa. Responder "no sé" es aceptable. No adivine. +* El jefe puede pedirte que investigues algo y que le contestes en X minutos. Esté preparado con una respuesta dentro de ese tiempo. Pedir más tiempo es aceptable, pero proporcione al jefe una estimación. + +### Capacitación + +Lee y entiende el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. From e358943793ad58cfb67edee3f01234aa019593f6 Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:15:47 +0200 Subject: [PATCH 012/199] Add files via upload --- roles/role-1-commander.md | 156 +++++++++++++++++++------------------- 1 file changed, 77 insertions(+), 79 deletions(-) diff --git a/roles/role-1-commander.md b/roles/role-1-commander.md index e34e859..ab0e9ce 100644 --- a/roles/role-1-commander.md +++ b/roles/role-1-commander.md @@ -1,79 +1,77 @@ -## Role: Incident Commander (IC) - -### Description - -The Incident Commander (IC) acts as the single source of truth of what is currently happening and what is going to happen during an major incident. The IC is the highest ranking individual on any incident call, regardless of their day-to-day rank. They are the decision maker during an incident; they delegate tasks and listen to subject matter experts to resolve the incident. Their decisions made as commander are final. - -Your job as an IC is to evaluate the situation, provide clear guidance and coordination, recruiting others to gather context/details. **Do not perform any investigation or remediation:** delegate these tasks. - -### Duties - -Resolve the incident as quickly and as safely as possible using the incident response plan as a framework: lead the team to investigate, remediate, communicate. Use the Deputy to assist you, and delegate to relevant liaisons and experts (SMEs) at your discretion. - -1. Help prepare for incidents, - * Setup communications channels for incidents. - * Funnel people to these communications channels when there is a major incident. - * Train team members on how to communicate during incidents and train other Incident Commanders. -1. Drive incidents to resolution, - * Get everyone on the same communication channel. - * Collect information from team members for their services/area of ownership status. - * Collect proposed repair actions, then recommend repair actions to be taken. - * Delegate all repair actions, the Incident Commander is NOT a resolver. - * Be the single authority on system status -1. Facilitate calls and meetings, - * Gain consensus (Poll During a Decision) - * Provide status updates - * Reduce scope (dismiss attendees when possible) - * Spin off sub-teams - * Transfer command when necessary - * Sign off calls - * Maintain order - * Get straight answers - * Handle executive swoop such as - * Overriding the Incident Commander - * Anti-motivation - * Information requests - * Questioning severity - * Handle disruptive or belligerent responders -1. Post Mortem, - * Creating the initial template right after the incident so people can put in their thoughts while fresh. - * Assigning the post-mortem after the event is over, this can be done after the call. - * Work with Team Leads/Managers on scheduling preventive actions. - -The Incident Commander uses some additional call procedures and lingo: - -* Always announce when you join the call if you are the on-call IC. -* **Do not** let discussions get out of hand. Keep conversations short. -* Note objections from others, but your call is final. -* If anyone is being actively disruptive to your call, kick them off. -* Announce the end of the call. -* After an incident, communicate with other training Incident Commanders on any debrief actions you feel are necessary. - -**Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** - -### Training - -* Read the incident response plan, including all roles and playbooks. -* Participate in an incident response exercise. -* Shadow a current incident commander without actively participating, keeping your questions until the end. -* Reverse shadow a current incident commander. Respond to incidents with the current IC there to take over if necessary. -* _OPTIONAL:_ facilitation training -* _OPTIONAL:_ Refer to [Incident Responders as Facilitators (and Therapists)](#FIX) and the [PagerDuty Incident Commander training](https://response.pagerduty.com/training/incident_commander/) for more ideas and discussion. - -#### Prerequisites - -There is no seniority or business-unit prerequisites to become an Incident Commander, it is a role open to anyone with the training and ability. Before you can be an Incident Commander, it is expected that you meet the following criteria: - -* Excellent verbal and written **communication skills**. -* **High-level knowledge** of business infrastructure and functions. -* Excellent critical thinking, judgment, and decision-making. -* Flexibility and ability to **listen to expert feedback**, modifying plans as necessary. -* **Participated in at least two incident responses**. -* Gravitas, ability to **take command**, and **willingness to kick people off a call** to remove distractions, even if it's the CEO. - -Deep technical knowledge is not required! Incident Commanders do not require deep technical knowledge of our systems. Your job as Incident Commander is to coordinate the response, not make technical changes. Don’t think you can’t be an Incident Commander just because you’re not in the engineering department. - -#### Graduation - -Upon completion of training, add yourself to the Incident Commander roster. - +## Rol: Jefe de incidente + +### Descripcion +El jefe de incidente (JI) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el jefe de incidente son las decisivas. + +Tu trabajo como jefe de incidente es evaluar la situacion, proveer un guiado claro y cordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios** delega estos trabajos. + +### Deberes + +Resuelve el incidente lo mas rapido y seguro posible usando el plan de respuesta de incidentes como plantilla de trabajo: guia al equipo de investigacion, remedio, comunicación. Utiliza al diputado para que te ayude, y delegue a relevantes enlaces y expertos a tu discreción. + +1. Ayuda a preparos para incidentes, + * Establecer canales de comunicacion para incidentes. + * Redirige a las personas hacia estos canales de comunicacion cuando acurra algun incidente grave. + * Entrena a miembros del equipo sobre como comunicarte durante incidentes y entrena a otros jefes de incidentes. +1. Dirige los incidentes hacia una solucion, + * Lleva a todos al mismo canal de comunicacion. + * Recolecta informacion de los miembros del equipo por sus servicios de estatus. + * Recolecta propuestas de reparacion de acciones, despues recomienda acciones de reparacion para que se lleven acabo. + * Delega todas la acciones de reparacion, el jefe de incidentes no es un resolutor. + * Se la unica fuente de autoridad en el estado del sistema. +1. Facilita las llamadas y reuniones, + * Gana concenso (Realiza encuentas durante las llamadas) + * Proporciona actualizaciones de estatus + * Reduce el alcance (despedir a los asistentes cuando sea posible) + * Spin off sub-equipos + * Transfiere el control cuando sea necesario + * Firmar las llamadas + * Mantener el orden + * Obten respuestas directas + * Manejar las caidas de ejecutivos como + * Anular al jefe de incidentes + * Desmotivación + * Peticion de informacion + * Cuestionar la severidad + * Manejar respuestas perturbadoras o beligerantes +1. Post Mortem, + * Crear la plantilla inicial justo despues del incidente para que las personas puedan escribir sus opiniones mientras estan frescas. + * Asignar el post-mortem despues de que el evento termine, esto puede darse despues de terminar la llamada. + * Trabaja con los manager o jefes de equipo para organizar acciones preventivas. + +El jefe de incidentes utiliza metodos y lenguajes adicionales: + +* Siempre anuncie cuando se una a la llamada si es el JI de guardia. +* **No** permita que las discusiones se salgan de control. Mantenga las conversaciones cortas. +* Tenga en cuenta las objeciones de los demás, pero tu decision es la definitiva. +* Si alguien está interrumpiendo activamente tu decision, expulsalo. +* Anuncia el final de la llamada. +* Después de un incidente, comuníquese con otros jefes de incidentes sobre cualquier acción que considere necesaria. + +**Utilice una terminología clara y evite las siglas o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** + +### Practicas + +* Lea el plan de respuesta a incidentes, incluidos todos los roles y manuales. +* Participar en un ejercicio de respuesta a incidentes. +* Seguir a un jefe de incidentes actual sin participar activamente, manteniendo sus preguntas hasta el final. +* Tomar la iniciativa de un jefe de incidentes. Responda a incidentes con el JI actual allí para hacerse cargo si es necesario. +* _OPCIONAL:_ facilitar las practicas +* _OPCIONAL:_ recurre a [Incident Responders as Facilitators (and Therapists)](#FIX) y al [PagerDuty Incident Commander training](https://response.pagerduty.com/training/incident_commander/) para mas ideas y discussiones. + +#### prerequisitos + +No hay requisitos previos de antigüedad o unidad de negocios para convertirse en jefe de Incidentes, es un rol abierto a cualquier persona con la capacitación y la capacidad. Antes de que pueda ser un jefe de incidentes, se espera que cumpla con los siguientes criterios: + +* Excelentes **habilidades de comunicación** verbal y escrita. +* **Conocimiento de alto nivel** de la infraestructura y las funciones comerciales. +* Excelente pensamiento crítico, juicio y toma de decisiones. +* Flexibilidad y capacidad para **escuchar comentarios de expertos**, modificando los planes según sea necesario. +* **Participó en al menos dos respuestas a incidentes**. +* Capacidad para **tomar el mando** y **disposición para expulsar a las personas de una llamada** para eliminar las distracciones, incluso si se trata del director ejecutivo. + +¡No se requieren conocimientos técnicos profundos! Los jefes de incidentes no requieren un conocimiento técnico profundo de nuestros sistemas. Su trabajo como jefe de incidentes es coordinar la respuesta, no realizar cambios técnicos. No crea que no puede ser un jefe de Incidentes solo porque no está en el departamento de ingeniería. + +#### Graduación + +Al finalizar el entrenamiento, agréguese a la lista de jefes de incidentes. From 12f7f7a7d531e3ada212d6ede2bdd42f39d3efaa Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:16:29 +0200 Subject: [PATCH 013/199] Add files via upload --- examples/plan.md | 3218 +++++++++++++++++++++++----------------------- 1 file changed, 1611 insertions(+), 1607 deletions(-) diff --git a/examples/plan.md b/examples/plan.md index 7b09551..904b0a2 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -1,1607 +1,1611 @@ -# Incident Response Plan for {{COMPANY_NAME}} - -Author: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}} - -Revision {{REVISION_NUMBER}}, Released {{RELEASE_DATE}} - -This incident response plan is based on the concise, directive, specific, flexible, and free plan available on Counteractive Security's [Github](https://github.com/counteractive/incident-response-plan-template) and discussed at [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) - -It was last reviewed on {{REVIEW_DATE}}. It was last tested on {{TEST_DATE}}. - -`TODO: Customize this plan template for your organization using instructions at https://github.com/counteractive/incident-response-plan-template. For incident response services, or help customizing, implementing, or testing your plan, contact us at contact@counteractive.net or at (888) 925-5765.` - -# Assess - -1. **Stay calm and professional.** -1. Gather pertinent information, _e.g._, alarms, events, data, assumptions, intuitions (**observe**). -1. Consider impact categories, below (**orient**), and determine if there is a possible incident (**decide**): -1. Initiate a response if there is an incident (**act**). If in doubt, initiate a response. The incident commander and response team can adjust upon investigation and review. - -## Assess Functional Impact - -What is the direct or likely impact on your mission? (_e.g._, business operations, employees, customers, users) - -* Mission/business degradation or failure: **incident!** -* None: assess information impact. - -## Assess Information Impact - -What is the direct or likely impact on your information/data, particularly anything sensitive? (_e.g._, PII, proprietary, financial, or healthcare data) - -* Information accessed, taken, changed, or deleted: **incident!** -* None: handle via non-incident channels (_e.g._, support ticket). - -**Every team member is empowered to start this process.** If you see something, say something. - -`TODO: Customize categories/severities as necessary. This simple example (incident vs. no incident) is based on impact categories in NIST SP 800-61r2.` - -# Initiate Response - -## Name the Incident - -Create an [simple two-word phrase](http://creativityforyou.com/combomaker.html) to refer to the incident---a codename---to use for the incident file and channel(s). `TODO: Customize incident naming procedure.` - -## Assemble the Response Team - -1. Page the on-duty/on-call Incident Commander. `TODO: Add Incident Commander call list or procedure` -1. **Do not** discuss the incident outside the response team unless cleared by the Incident Commander -1. Launch and/or join the response chat at {{RESPONSE_CHAT}}. `TODO: Add response chat launch procedure.` -1. Launch and/or join the response call at {{RESPONSE_PHONE}} and/or {{RESPONSE_VTC}}. `TODO: Add response call launch procedure.` -1. Prefer voice call, chat, and secure file exchange over any other methods. -1. **Do not** use primary email if possible. If email is necessary, use sparingly or use {{ALTERNATE_EMAIL}}. Encrypt emails when any participant is outside the {{ORGANIZATION_DOMAIN}} domain. `TODO: Add alternative email details and procedure, e.g., on-demand Office 365 or GSuite` -1. **Do not** use SMS/text to communicate about the incident, unless to tell someone to move to a more secure channel. -1. Invite on-duty/on-call responders to the response call and response chat. - * Invite the security team. `TODO: Add security team contact list or procedure.` - * Invite a SME for affected teams and systems. `TODO: Add team SME contact list or procedure.` - * Invite executive stakeholders and legal counsel at earliest opportunity, but prioritize operational responders. `TODO: Add executive stakeholder contact list or procedure.` -1. _OPTIONAL:_ Establish an in-person collaboration room ("war room") for complex or severe incidents. `TODO: Add collaboration room procedure.` - -### Reference: Response Team Structure - -* Command Team - * [Incident Commander](#role-incident-commander-ic) - * [Deputy Incident Commander](#role-deputy-incident-commander-deputy) - * [Scribe](#role-scribe) -* Liaison Team - * Internal [Liaison](#role-liaison) - * External Liaison -* Operations Team - * [Subject Matter Experts](#role-subject-matter-expert-sme) (SMEs) for Systems - * SMEs for Teams/Business Units - * SMEs for Executive Functions (_e.g._, Legal, HR, Finance) - -`TODO: Modify role structure as necessary.` - -### Reference: Response Team Contact Information - -Response Team Role | Contact Information ----------------------------- | --------------------------- -Incident Commander pager | {{INCIDENT_COMMANDER_PAGER_NUMBER}} -Incident Commander pager url | {{INCIDENT_COMMANDER_PAGER_URL}} -Incident Commander roster | {{INCIDENT_COMMANDER_ROSTER}} -Security team roster | {{SECURITY_TEAM_ROSTER}} -Team SME roster | {{TEAM_SME_ROSTER}} -Executive roster | {{EXECUTIVE_ROSTER}} - -`TODO: Customize response team contact information. Include contact procedures in rosters, which can be static or dynamic.` - -## Establish Battle Rhythm - -### Conduct Initial Response Call - -1. Conduct initial call using the [initial response call structure](#reference-initial-response-call-structure) -1. Follow instructions from the Incident Commander. If the on-duty/on-call Incident Commander does not join the call **within {{INCIDENT_COMMANDER_RESPONSE_SLA}}** and you are a trained incident commander, take command of the call. -1. Follow the [instructions for your role](#roles). -1. Follow the call and chat, and comment as appropriate. If you are not a SME, filter input through the SME for your team if possible. -1. **Keep the call and chat active throughout the incident for event-driven communication.** -1. Schedule updates **every {{UPDATE_FREQUENCY}}** on the active bridge. - -#### Reference: Initial Response Call Structure - -* INCIDENT COMMANDER (IC): My name is [NAME], I am the Incident Commander. I have designated [NAME] as Deputy, and [NAME] as Scribe. Who is on the call? -* SCRIBE: [Takes attendance] -* IC: [If missing key personnel] Deputy, please page [MISSING PERSONNEL]. -* IC: [Asks questions to understand situation, symptoms, scope, vector, impact, and timeline from the incident reporter, applicable SMEs for systems and business units] -* SMEs: [Brief answers to IC's questions] -* IC:[If this is an incident]: - * At this time, the incident summary is as follows: [reiterates summary]. The Investigation team will be led by [NAME], the Remediation team will be led by [NAME], and the Communication team will be led by [NAME]. They will coordinate team membership and report to me. SMEs, please report to your appropriate team leader. - * What investigation, remediation, or communication steps have already been taken? [this should be a short list, but needs to come out now] - * This call and chat will remain up and available until incident closure, please use it for all incident related communications. Provide real-time status updates in the chat, if possible. Are there any questions or remaining inputs? [answers questions] - * Team leaders, please proceed with your planned actions. We will reconvene at [UPDATE_TIME] to discuss the status. Thank you. -* IC: [If this is not an incident]: At this time, these facts do not rise to the level of an incident. I will coordinate directly with the incident reporter for follow-on actions. Thank you for your time. - -#### Reference: Call Etiquette - -* Join both the call and chat. -* Keep background noise to a minimum. -* Keep your microphone muted until you have something to say. -* Identify yourself when you join the call; State your name and role (_e.g._, "I am the SME for team x"). -* Speak up and speak clearly. -* Be direct and factual. -* Keep conversations/discussions short and to the point. -* Bring any concerns to the Incident Commander (IC) on the call. -* Respect time constraints given by the Incident Commander. -* **Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** - -### Conduct Response Update - -* Conduct scheduled updates using the [update call structure](#reference-response-update-call-structure) every {{UPDATE_FREQUENCY}} on the active bridge. `TODO: Customize update frequency and scripts; recommend no more than twice daily.` -* Adjust frequency as necessary. -* Coordinate independent updates (_e.g._, executive, legal) as required, but as infrequently as practicable. - -#### Reference: Response Update Call Structure - -* INCIDENT COMMANDER (IC): Since our last scheduled update, the incident summary is as follows: - * [Impact] - * [Vector] - * [Summary update] - * [Timeline update] -* IC: Investigation team, please provide a brief update - * INVESTIGATION LEAD: [Investigative activities or "nothing to report"] - * What is your recommended investigations plan? - * What investigation actions need tasking or approval? [listen, gain consensus, task/approve] -* IC: Remediation team, please provide a brief update - * REMEDIATION LEAD: [Remediation activities or "nothing to report"] - * What is your recommended remediation strategy? Strong objections? [listen, gain consensus, task/approve] - * What remediation actions need tasking or approval? -* IC: Communication team, please provide a brief update: - * COMMUNICATIONS LEAD: [Communication activities or "nothing to report"] - * What is your recommended communication strategy? Strong objections? [listen, gain consensus, task/approve] - * What communication actions need tasking or approval? -* IC: This call and chat will remain up and available until incident closure, please use it for all incident related communications. Provide real-time status updates in the chat, if possible. Are there any questions or remaining inputs? [answers questions] -* IC: Team leaders, please proceed. We will reconvene in [] to discuss the status. Thank you. - -## Monitor Scope - -* Monitor the scope of the response to ensure it does not exceed the Incident Commander's span of control. -* If an incident gets sufficiently complex, and there are sufficient responders, consider spinning off sub-teams. - -### Create Sub-Teams - -* In preparation for complex incidents, three sub-teams are pre-defined: Investigation, Remediation, and Communication, generally responsible for those response functions. `TODO: Customize sub-team structure if necessary.` -* Create a call bridge and chat for each sub-team. -* The Incident Commander will designate team leaders, who report to the IC, and team members, who report to their team leader. _Team leaders do not have to be trained as incident commanders, however some leadership experience is preferable._ -* The Incident Commander may adjust the purpose or name of the sub-teams as necessary. -* If you wish to switch teams, ask your **current team leader**. **Do not** ask the Incident Commander, or the leader of the other team(s). Use the chain of command. - -### Split Incident - -If an incident turns out to be two or more distinct incidents: - -* Establish a new [incident file](#create-incident-file). -* Track and coordinate investigation, remediation, and communication in the appropriate file. -* Consider establishing sub-teams for each incident. -* **Maintain one top-level Incident Commander**, to coordinate low-density, high-demand assets and maintain unity of command. - -# Investigate - -**[Investigate](#investigate), [remediate](#remediate), and [communicate](#communicate) in parallel, using separate teams, if possible.** The Incident Commander will coordinate these activities. Notify the Incident Commander if there are steps the team should consider. - -## Create Incident File - -1. Create a new incident file at {{INCIDENT_FILE_LOCATION}} using the [incident name](#name-the-incident). Use this file for secure storage of documentation, evidence, artifacts, _etc._ - * Provision secure digital storage. - * Provision secure file exchange. - * Obtain physical storage. - * Share the incident file location on the call and chat. - * `TODO: Customize and automate file location and procedure` -1. Document the functional and information impact, if known (see [Assess](#assess)). `TODO: Customize impact categories, if necessary.` -1. Document the vector, if known (_e.g.,_ web, email, removable media). `TODO: Customize vector list, if necessary.` -1. Document the incident summary: a brief overview of the vector, impact, investigation, and remediation situation, if known. -1. Document the incident timeline, including attacker activity and responder activity. `TODO: Add timelines of varying details, as necessary.` -1. Document investigation, remediation, and communication steps. Document activities independently so they can be combined and reused, if possible. -1. Track significant information such as: - * **Evidence**, with time of collection, source, chain of custody, _etc._ - * **Affected systems**, with how and when system was identified, and summary of effect (_e.g._, has malware, data accessed). - * **Files of interest**, such as malware or data files, with system and metadata. - * **Accessed and taken data**, with filenames, metadata, and time of suspected exposure. - * **Significant attacker activity**, such as logins and malware execution, with time of the event. - * **Network-based indicators of compromise (IOCs)**, such as IP addresses and domains. - * **Host-based IOCs**, such as filenames, hashes, and registry keys. - * **Compromised accounts**, with scope of access and time of compromise. - -`TODO: Customize incident documentation procedure, including spreadsheets, databases, forms, systems, and templates, if necessary.` - -## Collect Initial Leads - -1. Interview incident reporter(s). -1. Collect initial supporting data (_e.g._, alarms, events, data, assumptions, intuitions) in the incident file. -1. Interview SME(s) with domain or system expertise, to understand technical detail, context, and risk. -1. Interview SME(s) in affected business unit, to understand mission/business impact, context, and risk. -1. Ensure leads are relevant, detailed, and actionable. - -### Reference: Response Resource List - -Resource | Location -------------------------- | ------------------------------------ -Critical information list | {{CRITICAL_INFO_LIST_LOCATION}} -Critical asset list | {{CRITICAL_ASSET_LIST_LOCATION}} -Asset management database | {{ASSET_MGMT_DB_LOCATION}} -Network map | {NETWORK_MAP_LOCATION{}} -SIEM console | {{SIEM_CONSOLE_LOCATION}} -Log aggregator | {{LOG_AGGREGATOR_CONSOLE}} - -`TODO: Complete critical information and asset lists ("crown jewels"). This is incredibly important to effective response.` - -`TODO: Customize response resource list` - -## Update Investigative Plan and Incident File - -1. Review and refine incident impact. -1. Review and refine incident vector. -1. Review and refine incident summary. -1. Review and refine incident timeline with facts and inferences. -1. Create hypotheses: what may have happened, and with what confidence. -1. **Identify and prioritize key questions** (information gaps) to support or discredit hypotheses. - * Use the MITRE ATT&CK matrix or similar framework to [develop questions](#reference-attacker-tactics-to-key-questions-matrix). - * [ATT&CK for Enterprise](https://attack.mitre.org/wiki/Main_Page), including links to Windows, Mac, and Linux specifics. - * [ATT&CK Mobile Profile](https://attack.mitre.org/mobile/index.php/Main_Page) for mobile devices. - * Use interrogative words as inspiration: - * **When?**: first compromise, first data loss, access to x data, access to y system, _etc._ - * **What?**: impact, vector, root cause, motivation, tools/exploits used, accounts/systems compromised, data targeted/lost, infrastructure, IOCs, _etc._ - * **Where?**: attacker location, affected business units, infrastructure, _etc._ - * **How?**: compromise (exploit), persistence, access, exfiltration, lateral movement, _etc._ - * **Why?**: targeted, timing, access x data, access y system, _etc._ - * **Who?**: attacker, affected users, affected customers, _etc._ -1. **Identify and prioritize witness devices and strategies** to answer key questions. - * Consult network diagrams, asset management systems, and SME expertise - * Check the [Response Resource List](#reference-response-resource-list)) -1. Refer to [incident playbooks](#playbooks) for key questions, witness devices, and strategies for investigating common or highly damaging threats. - -**The investigative plan is critical to an effective response; it drives all investigative actions. Use critical thinking, creativity, and sound judgment.** - -### Reference: Attacker Tactics to Key Questions Matrix - -Attacker Tactic | The way attackers ... | Possible Key Questions --------------------- | ----------------------------- | ----------------------------------------- -Reconnaissance | ... learn about targets | How? Since when? Where? Which systems? -Resource Development | ... build infrastructure | Where? Which systems? -Initial Access | ... get in | How? Since when? Where? Which systems? -Execution | ... run hostile code | What malware? What tools? Where? When? -Persistence | ... stick around | How? Since when? Where? Which systems? -Privilege Escalation | ... get higher level access | How? Where? What tools? -Defense Evasion | ... dodge security | How? Where? Since when? -Credential Access | ... get/create accounts | Which accounts? Since when? Why? -Discovery | ... learn our network | How? Where? What do they know? -Lateral Movement | ... move around | How? When? Which accounts? -Collection | ... find and gather data | What data? Why? When? Where? -Command and Control | ... control tools and systems | How? Where? Who? Why? -Exfiltration | ... take data | What data? How? When? Where? -Impact | ... break things | What systems or data? How? When? Where? How bad? - -See the [MITRE ATT&CK page](https://attack.mitre.org/) for more insight and ideas. - -## Create and Deploy Indicators of Compromise (IOCs) - -> Emphasize **dynamic and behavioral** indicators alongside static fingerprints. - -* Create IOCs based on [initial leads](#collect-initial-leads) and [analysis](#analyze-evidence). -* Create IOCs using an open format supported by your tools (_e.g._, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), if possible. `TODO: Customize IOC format as necessary.` -* Use automation, if possible. `TODO: Add IOC deployment/revocation procedure.` -* **Do not** deploy unrelated, un-curated "feeds" of IOCs; these can cause confusion and fatigue. -* Consider all IOC types: - * Network-based IOCs such as IP or MAC addresses, ports, email addresses, email content or metadata, URLs, domains, or PCAP patterns. - * Host-based IOCs such as paths, file hashes, file content or metadata, registry keys, MUTEXes, autoruns, or user artifacts and permissions. - * Cloud-based IOCs such as log patterns for [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) or [IaaS](https://en.wikipedia.org/wiki/Infrastructure_as_a_service) deployments - * Behavioral IOCs (a.k.a., patterns, TTPs) such as process tree patterns, heuristics, deviation from baseline, and login patterns. -* Correlate various IOC types, such as network and host-based indicators on the same systems(s). - -## Identify Systems of Interest - -1. Validate whether they are relevant. -1. Categorize the reason(s) they are "of interest": has malware, accessed by compromised account, has sensitive data, etc. Treat these as "tags", there may be more than one category per system. -1. Prioritize collection, analysis, and remediation based on investigative needs, business impact, _etc._ - -## Collect Evidence - -* Prioritize based on the investigative plan -* Collect live response data using {{LIVE_RESPONSE_TOOL}}. `TODO: Customize live response tools and procedure.` -* Collect relevant logs from system(s) (if not part of live response), aggregator(s), SIEM(s), or device console(s). `TODO: Customize log collection tools and procedure.` -* Collect memory image, if necessary and if not part of live response, using {{MEMORY_COLLECTION_TOOL}}. `TODO: Customize memory collection tools and procedure.` -* Collect disk image, if necessary, using {{DISK_IMAGE_TOOL}}. `TODO: Customize disk image collection tool and procedure.` -* Collect and store evidence in accordance with policy, and with proper chain of custody. `TODO: Customize evidence collection and chain of custody policy.` - -Consider collecting the following artifacts as evidence, either in real time (_e.g., via EDR or a SIEM) or on demand: - -### Example Useful Artifacts - -`TODO: Customize and prioritize useful artifacts.` - -* Running Processes -* Running Services -* Executable Hashes -* Installed Applications -* Local and Domain Users -* Listening Ports and Associated Services -* Domain Name System (DNS) Resolution Settings and Static Routes -* Established and Recent Network Connections -* Run Key and other AutoRun Persistence -* Scheduled tasks and cron jobs -* Artifacts of past execution (e.g., Prefetch and Shimcache) -* Event logs -* Group policy and WMI artifacts -* Anti-virus detections -* Binaries in temporary storage locations -* Remote access credentials -* Network connection telemetry (e.g., netflow, firewall permits) -* DNS traffic and activity -* Remote access activity including Remote Desktop Protocol (RDP), virtual private network (VPN), SSH, virtual network computing (VNC), and other remote access tools -* Uniform Resource Identifier (URI) strings, user agent strings, and proxy enforcement actions -* Web traffic (HTTP/HTTPS) - -## Analyze Evidence - -* Prioritize based on the investigative plan -* Analyze and triage live response data -* Analyze memory and disk images (_i.e._, conduct forensics) -* Analyze malware -* _OPTIONAL:_ Enrich with research and intelligence -* Document new indicators of compromise (IOCs) -* Update the case file - -### Example Useful Indicators - -`TODO: Customize and prioritize useful indicators.` - -* Unusual authentication behavior (_e.g._, frequency, systems, time of day, remote location) -* Non-Standard formatted usernames -* Unsigned binaries connecting to the network -* Beaconing or significant data transfers -* PowerShell command line requests with Base64-encoded commands -* Excessive RAR, 7zip, or WinZip activity, especially with suspicious file names -* Connections on previously unused ports. -* Traffic patterns related to time, frequency, and byte count -* Changes to routing tables, such as weighting, static entries, gateways, and peer relationships - -## Iterate Investigation - -[Update the investigative plan](#update-investigative-plan-and-incident-file) and repeat until closure. - -# Remediate - -**[Investigate](#investigate), [remediate](#remediate), and [communicate](#communicate) in parallel, using separate teams, if possible.** The Incident Commander will coordinate these activities. Notify the Incident Commander if there are steps the team should consider - -## Update Remediation Plan - -1. Review the incident file at {{INCIDENT_FILE_LOCATION}} using the [incident name](#name-the-incident) -1. Review applicable [playbooks](#playbooks). -1. Review the [Response Resource List](#reference-response-resource-list)). -1. Consider which attacker tactics are in play in this incident. Use the MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) list (_i.e._, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Execution, Collection, Exfiltration, and Command and Control), or similar framework. -1. Develop remediations for each tactic in play, as feasible given existing tools and resources. Consider remediations to [Protect](#protect), [Detect](#detect), [Contain](#contain), and [Eradicate](#eradicate) each attacker behavior. -1. Prioritize based on [timing strategy](#choose-remediation-timing), impact, and urgency. -1. Document in incident file. - -Use [information security (infosec) frameworks](https://www.nist.gov/cyberframework) as inspiration, but **do not use incident remediation as a substitute for an infosec program with an appropriate framework.** Use them to supplement one another. - -### Protect - -> "How can we stop tactic X from happening again, or reduce risk? How can we improve future protection?" - -Use the following as a starting point for protective remediation: - -* Patch applications. -* Patch operating systems. -* Update network and host IPS signatures. -* Update endpoint protection/EDR/anti-virus signatures. -* Reduce locations with critical data. -* Reduce administrative or privileged accounts. -* Enable multi-factor authentication. -* Strengthen password requirements. -* Block unused ports and protocols at segment and network boundaries, both inbound and outbound. -* Whitelist network connections for critical servers and services. - -### Detect - -> "How can we detect this on new systems or in the future? How can we improve future detection and investigation?" - -Use the following as a starting point for detective remediation: - -* Enhance logging and retention for system logs, particularly critical systems. -* Enhance logging for applications, including SaaS applications. -* Enhance log aggregation. -* Update network and host IDS signatures using IOCs. - -### Contain - -> "How can we stop this from spreading, or getting more severe? How can we improve future containment?" - -Use the following as a starting point for containment remediation: - -* Implement access lists (ACLs) at network segment boundaries -* Implement blocks at the enterprise boundary, at multiple layers of the [OSI model](https://en.wikipedia.org/wiki/OSI_model). -* Disable or remove compromised account access. -* Block malicious IP addresses or networks. -* Black hole or sinkhole malicious domains. -* Update network and host IPS and anti-malware signatures using IOCs. -* Remove critical or compromised systems from the network. -* Contact providers for assistance (_e.g._, internet service providers, SaaS vendors) -* Whitelist network connections for critical servers and services. -* Kill or disable processes or services. -* Block or remove access for external vendors and partners, especially privileged access. - -### Eradicate - -> "How can we eliminate this from our assets? How can we improve future eradication?" - -Use the following as a starting point for eradication remediation: - -* Rebuild or restore compromised systems and data from known-good state. -* Reset account passwords. -* Remove hostile accounts or credentials. -* Delete or remove specific malware (difficult!). -* Implement alternative vendors. -* Activate and migrate to alternate locations, services, or servers. - -## Choose Remediation Timing - -Determine the timing strategy---when remediation actions will be taken---by engaging the Incident Commander, the system SMEs and owners, business unit SMEs and owners, and the executive team. Each strategy is appropriate under different circumstances: - -* Choose **immediate** remediation when it is more important to immediately stop attacker activities than to continue investigating. For example, ongoing financial loss, or ongoing mission failure, active data loss, or prevention of an imminent significant threat. -* Choose **delayed** remediation when it is important to complete the investigation, or important not to alert the attacker. For example, long-term compromise by an advanced attacker, corporate espionage, or large-scale compromise of an an unknown number of systems. -* Choose **combined** remediation when both immediate and delayed circumstances apply in the same incident. For example, immediate segmentation of a sensitive server or network to meet regulatory requirements while still investigating a long-term compromise. - -## Execute Remediation - -* Assess and explain risks of remediation actions to stakeholders. `TODO: Customize remediation risk approval procedure, if necessary.` -* Immediately implement those remediation actions with little or no affect on the attacker (sometimes called "posturing actions"). For example, many of the [protection](#protect) and [detection](#detect) actions above are good candidates. -* Schedule and task remediation actions according to the timing strategy. -* Execute remediation actions in batches, as events, for maximum effectiveness and minimum risk. -* Document execution status and time in the incident file, especially for temporary measures. - -## Iterate Remediation - -[Update the remediation plan](#update-remediation-plan) and repeat until closure. - -# Communicate - -**[Investigate](#investigate), [remediate](#remediate), and [communicate](#communicate) in parallel, using separate teams, if possible.** The Incident Commander will coordinate these activities. Notify the Incident Commander if there are steps the team should consider - -All communication must include the most accurate information available. Display integrity. Do not communicate speculation. - -## Communicate Internally - -### Notify and Update Stakeholders - -* Communicate with stakeholders as part of the initial and update calls, as well as via event-driven updates on the call and chat. -* Coordinate independent updates (_e.g._, executive, legal) as required, but as infrequently as practicable, to keep the focus on investigation and remediation. -* Focus on the best assessment of the vector, impact, summary, and highlights of the timeline including remediation steps. Do not speculate. - -### Notify and Update Organization - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander, particularly if there is a risk of an insider threat. -* Coordinate updates for teams or the entire organization with executives and business leadership. -* Focus on the best assessment of the vector, impact, summary, and highlights of the timeline including remediation steps. Do not speculate. - -### Create Incident Report - -* Upon incident closure, capture information in the [incident file](#create-incident-file) for distribution using the format at {{INCIDENT_REPORT_TEMPLATE}}. **If the vector, impact, summary, timeline, and activity reports are complete, this can be fully automated.** -* Distribute the incident report to the following: {{INCIDENT_REPORT_RECIPIENTS}}. -* `TODO: Customize incident report creation and distribution, if necessary` - -## Communicate Externally - -### Notify Regulators - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* Notify regulators (_e.g._, HIPAA/HITRUST, PCI DSS, SOX) if necessary, and in accordance with policy. -* Coordinate requirements, format, and timeline with {COMPLIANCE_TEAM{}}. - -### Notify Customers - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* Coordinate customer notifications with {{COMMUNICATIONS_TEAM}}. -* Include the date in the title of any announcement, to avoid confusion. -* **Do not** use platitudes such as "we take security very seriously". Focus on facts. -* Be honest, accept responsibility, and present the facts, along with the plan to prevent similar incidents in future. -* Be as detailed as possible with the timeline. -* Be as detailed as possible in what information was compromised, and how it affects customers. If we were storing something we shouldn't have been, be honest about it. It'll come out later and it'll be much worse. -* **Do not** discuss external parties that might have caused the compromise, unless they've already publicly disclosed, in which case link to their disclosure. Communicate with them independently (see [Notify Vendors](#notify-vendors-and-partners)) -* Release the external communication as soon as possible. Bad news does not get better with age. -* If possible, contact customers' internal security teams before notifying the public. - -### Notify Vendors and Partners - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* If possible, contact vendors' and partners' internal security teams before notifying the public. -* Focus on the specific aspects of the incident that affect or implicate the vendor or partner. -* Coordinate response efforts and share information if possible. - -### Notify Law Enforcement - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* Coordinate with {{EXECUTIVE_TEAM}} and {{LEGAL_TEAM}} prior to interacting with law enforcement -* Contact local law enforcement at {{LOCAL_LE_CONTACT}}. -* Contact FBI at {{FBI_CONTACT}} or via the [Internet Crime Complaint Center (IC3)](https://www.ic3.gov). -* Contact operators for any systems used in the attack, their systems may also have been compromised. - -### Contact External Response Support - -* Contact {{INCIDENT_RESPONSE_VENDOR}} to help in assessing risk, incident management, incident response, and post-incident support. -* Contact {{PUBLIC_RELATIONS_VENDOR}} for help with PR and external communication. -* Contact {{INSURANCE_VENDOR}} for help with cyber insurance. - -### Share Intelligence - -* Share IOCs with [Infragard](https://www.infragard.org/) if applicable. -* Share IOCs with your servicing [ISAC](https://en.wikipedia.org/wiki/Information_Sharing_and_Analysis_Center) through {{ISAC_CONTACT}}, if applicable. - -# Recover - -`TODO: Customize recovery steps.` - -`TODO: Specify tools and procedures for each step, below.` - -**Recovery is typically governed by business units and system owners. Take recovery actions only in collaboration with relevant stakeholders.** - -1. Launch business continuity/disaster recovery plan(s): _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. -1. Integrate security actions with organizational recovery efforts. - -# Playbooks - -The following playbooks capture common [investigation](#investigate), [remediation](#remediate), and [communication](#communicate) steps for particular types of incident. - -`TODO: Create additional playbooks for highly likely or highly damaging incident types.` - -## Playbook: Website Defacement - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate -1. Immediately take the defaced server offline for further investigation - * This is especially important if the defacement is insulting or triggering in any way. Remove this from the public eye as quickly as possible to avoid harm as well as to mitigate business impact. - * The defacement message may also contain false information that could mislead users or put them at risk. - * Taking the server offline will allow a deeper investigation of the defacement. This may be necessary as the hacker may have dove depper into the organization accessing application servers, databases, etc. -2. Determine the system's source of vulnerability that was used by the attacker. Common exploits include: - * SQL injection attakcs - * This kind of attack occurs when an attacker interferes with an application's queries to the database. Therefore, this can lead to unauthorized access to private or sensitive data. Read more about SQL injection attacks [here](https://www.acunetix.com/websitesecurity/sql-injection/) - * Remote File Inclusion (RFI) attacks - * This kind of attack exploits an application's referencing function to upload malware from a remote URL. Read more about RFI attacks [here](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/) - * webshells - * More about web shells and website defacement [here](https://www.wordfence.com/blog/2017/06/wso-shell/) - * poor web application design - * javascript hacks - * PHP/ASP hacks - * Here's more on [hacking with javascript](https://itnext.io/how-companies-are-hacked-via-malicious-javascript-code-12aa82560bdc) - * other methods of detection include: - * Checking the server logs - * look through the web page's access log and error log for any suspicious or unfamiliar activity - * of course, it is also a good idea to check the IDS or IPS firewall logs, if available - * Checking files with static content - * Scanning databases for malicious content - * Checking links present in the page -3. Collect any clues as to who the hacker is or what organization they are working for. Consider the following questions: - * What did the defacement portray? Did it include an obvious message? - * Did the defacement seem harmless or intentional? Could the hacker be a kid messing around or a professional group working with a motive? - * Does it seem like your organization was targeted? Who may want to target your organization? - * What did the hacker hope to accomplish? - * Consult [here](https://www.geeksforgeeks.org/types-of-hackers/) to learn more about the types of hackers that may have attacked your webpage. -4. Collect other important information from the page that has been defaced such as: - * a screenshot of the defacement - * the domain and IP address of the page - * details of the web server - * page's source code - * analyze this carefully to identify the problem and ensure that it is on a server belonging to the company - * name or any information on the attacker -6. There are also tools available to aid in both detection and log analysis. A few are listed below: - * Weblog Expert - * Sawmill - * Deep Log Analyzer - - -`TODO: Expand investigation steps, including key questions and strategies, for website defacement.` - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for website defacement.` - -`TODO: Specify tools and procedures for each step, below.` - -1. Backup all data stored on the web server for forensic purposes. -2. As previously mentioned, make sure to take the defaced page's server down temporarily while investigation occurs. - * You should have an error page prepared for this situation that informs user and/or employees that maintenance is undereway and the page they sought will return shortly. You may even wish to have a backup website prepared where you may publish content while investigation and remediation are underway and have your temporary error page redirect users to this backup site. - * Check your network architecture map. If the breach is another system on the network, take that down and investigate it. -3. Once the source of the attack has been determined, apply the necessarily steps to ensure this will not happen again. This may include modifying code or editing access rights. - * Reference the "Investigate" section for common sources of vulnerability. - * If this is outside of your domain, simply ensure that you have given the appropriate personnel all the information on the attack that you have and allow experts to do their job. - -### Recover - -`TODO: Customize recovery steps for defacement` - -`TODO: Specify tools and procedures for each step, below` - -1. Remove the hacker's message and replace with original, legitimate content. If data was lost in the attack, reference backups and restore the original page as much as possible. - * Check backups for indicators of compromise - * Consider partial recovery and backup integrity testing -2. Consider asking users to change their login credentials if the web server has user authentication. -3. After implementing risk avoidance measures (as recommended below), restore your server showing the original page content. -4. If necessary and/or applicable, prepare an apology/explanation of the attack that occurred for users or anyone who witnessed the defacement. Ensure that is it clear that the defacement content does not reflect your organization in any way. - -#### Risk Avoidance - -`TODO: Communicate with other employees to ensure that everyone understands and contributes to the following steps, where applicable` - -1. Use as few plug-ins as necessary. Hackers target websites that are vulnerable and have many sources of entry. You can limit these sources of entry by only using what you need and removing any unused or old plug ins and software. It is also important to update these as soon as possible. -2. Closely monitor and mandate access to administrative content. Only allow individuals access to what they need access to. This will reduce the chance of human error leading to cyber attacks. There are more DIY methods of prevention mentioned in [this article](https://cirt.gy/index.php/node/116) (steps 6-12) and in resource #4 at the end of this playbook. -3. Regularly check for malware on your site by scanning the source code. Look for scripts, iframes, or URLs that look unfamiliar and make sure to also scan URLs that do look familiar. -4. There are many highly reputable automated website scanners that will not cost any of your time and will thoroughly scan your site for vulnerabilities regularly. Here is a [link to popular scanners](https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref). -5. Defend against common points of exploitation such as SQL injections and XSS attacks. [This article](https://www.banffcyber.com/knowledge-base/articles/best-practices-address-issue-web-defacement/) includes best practices to defend these attacks. -6. Install defacement detection programs so that if an attack were to occurr again, you would be prepared and respond quickly. Here is an [article](https://www.techradar.com/news/best-website-defacement-monitoring-service) that summarizes some of 2020's best monitoring services. -7. Discuss with your employees the importance of keeping administrative access limited and confidential and inform them of these steps to avoid incidents including regular cybersecurity awareness training. - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation` - -### Communicate - -`TODO: Customize communication steps for defacement` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan` - -1. Escalate incident and communicate with leadership per procedure -1. Document incident per procedure (and report if applicable) -1. Communicate with internal and external legal counsel per procedure, including discussions of compliance, risk exposure, liability, law enforcement contact, _etc._ -1. Communicate with users (internal) - 1. Communicate incident response updates per procedure - 1. Communicate impact of incident **and** incident response actions (e.g., containment: "why is the file share down?") - 1. Communicate requirements: "what should users do and not do?" -1. Communicate with customers - 1. Focus particularly on those whose data was affected - 1. Generate required notifications based on applicable regulations (particularly those that may consider defacement a data breach or otherwise requires notifications) `TODO: Expand notification requirements and procedures for applicable regulations` -1. Contact insurance provider(s) - 1. Discuss what resources they can make available, what tools and vendors they support and will pay for, _etc._ - 1. Comply with reporting and claims requirements to protect eligibility -1. Consider notifying and involving law enforcement. TODO: Link the following bullets to actual resources for your organization - 1. [Local law enforcement](#TODO-link-to-actual-resource) - 1. [State or regional law enforcement](#TODO-link-to-actual-resource) - 1. [Federal or national law enforcement](#TODO-link-to-actual-resource) -1. Communicate with security and IT vendors TODO: Link the following bullets to actual resources for your organization - 1. Notify and collaborate with [managed providers](#TODO-link-to-actual-resource) per procedure - 1. Notify and collaborate with [incident response consultants](#TODO-link-to-actual-resource) per procedure - -### Resources - -#### Reference: User Actions for Suspected Defacement Attack - -`TODO: Customize steps for users dealing with suspected defacement` - -1. Stay calm, take a deep breath. -1. Disconnect your system from the network `TODO: include detailed steps with screenshots, a pre-installed tool or script to make this easy ("break in case of emergency"), consider hardware network cut-off switches` -1. Take pictures of the page you see using your smartphone showing the things you noticed: the defacement message and any other changes to the usual site. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. Every little bit helps! Document the following: - 1. What did you notice? - 1. When did it first occur, and how often since? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Contact the [help desk](#TODO-link-to-actual-resource) and be as helpful as possible. -1. Be patient: allow the IT personnel get it under control, you may be protecting others from harm! **Thank you.** - -#### Reference: Help Desk Actions for Suspected Defacement Attack - -`TODO: Customize steps for help desk personnel dealing with suspected defacement` - -1. Stay calm, take a deep breath. -1. Open a ticket to document the incident, per procedure. `TODO: Customize template with key questions (see below) and follow-on workflow` -1. Use your best judgement on which steps to prioritize (i.e. if the defacement left harmful or triggerring content, prioritize taking down the server immediately). -1. Ask the user to take pictures of their screen using their smartphone showing the things they noticed. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. If this is a user report, ask detailed questions, including: - 1. What did you notice? - 1. When did it first occur, and how often since? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Ask follow-up questions as necessary. **You are an incident responder, we are counting on you.** -1. Get detailed contact information from the user (home, office, mobile), if applicable. -1. Record all information in the ticket, including hand-written and voice notes. -1. Quarantine affected users and systems. `TODO: Customize containment steps, automate as much as possible` -1. Contact the [security team](#TODO-link-to-actual-resource) and stand by to participate in the response as directed: investigation, remediation, communication, and recovery. - -#### Additional Information -1. A helpful and detailed [paper](https://pdfs.semanticscholar.org/899e/2d629e06d920b9059edb21fcb52cdb33f783.pdf) on defacement detection -2. 10 tools for [better website monitoring and security](https://geekflare.com/website-defacement-monitoring/) -3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) with helpful statistics -4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) including DIYs and Best practices to prevent website defacement## Playbook: Identity and Access Compromise - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for identity and access compromise.` - -1. TODO - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for identity and access compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -`TODO: Consider automating containment measures using orchestration tools.` - -#### Eradicate - -`TODO: Customize eradication steps, tactical and strategic, for identity and access compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` - -### Communicate - -`TODO: Customize communication steps for identity and access compromise` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Recover - -`TODO: Customize recovery steps for identity and access compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Resources - -#### Additional Information - -1. ["Title"](#TODO-url), Author Last Name (Date) - -## Playbook: Phishing - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for phishing.` - -1. **Scope the attack** Usually you will be notified that a potential phishing attack is underway, either by a user, customer, or partner. - * Determine **total number of impacted users** - * Understand **user actions** in response to the phishing email (_e.g._, did they download the attachment, visit the spoofed site, or give out any personal or business information such as credentials) - * Find the potentially related activity. Check: - * social media - * any possibly suspicious emails - * emails with links to external and unknown URLs - * non-returnable or non-deliverable emails - * any kind of notification of suspicious activity -1. **Analyze the message** using a safe device (i.e., **do not** open messages on a device with access to sensitive data or credentials as the message may contain malware), determine: `TODO: Specify tools and procedure` - * who received the message - * who was targeted by the message (may be different than "successful" recipients) - * email address of the sender - * subject line - * message body - * attachments (**do not open attachments** except according to established procedures) - * links, domains, and hostnames (**do not follow links** except according to established procedures) - * email metadata including message headers (see below) - * sender information from the 'from' field and the X-authenticated user header - * all client and mail server IP addresses - * note "quirks" or suspicious features -1. **Analyze links and attachments** `TODO: Specify tools and procedure` - * use passive collection such as nslookup and whois to find IP addresses and registration information - * find related domains using OSINT (_e.g._, [reverse whois](https://www.whoxy.com/reverse-whois/)) on email addresses and other registration data - * submit links, attachments, and/or hashes to [VirusTotal](https://www.virustotal.com/gui/) - * submit links, attachments, and/or hashes to a malware sandbox such as [Cuckoo](https://cuckoosandbox.org/), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/), or [VMray](https://www.vmray.com/). -1. Categorize the type of attack. `TODO: Customize categories and create additional playbooks for common or high-impact phishing types` -1. **Determine the severity.** Consider: - * whether public or personal safety is at risk - * whether personal data (or other sensitive data) is at risk - * any evidence of who is behind the attack - * number of affected assets - * preliminary business impact - * whether services are affected - * whether you are able to control/record critical systems - -`TODO: Expand investigation steps, including key questions and strategies, for phishing.` - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for phishing.` - -`TODO: Specify tools and procedures for each step, below.` - -* Contain affected accounts - * change login credentials - * reduce access to critical services, systems, or data until investigation is complete - * reenforce multi-factor authentication (MFA) -* Block activity based on discovered indicators of compromise, _e.g._: - * block malicious domains using DNS, firewalls, or proxies - * block messages with similar senders, message bodies, subjects, links, attachments, _etc._, using email gateway or service. -* Implement forensic hold or retain forensic copies of messages -* Purge related messages from other user inboxes, or otherwise make inaccessible -* Contain broader compromise in accordance with general IR plan -* Consider mobile device containment measures such as wiping via mobile device management (MDM). Balance against investigative/forensic impact. -* Increase detection "alert level," with enhanced monitoring, particularly from related accounts, domains, or IP addresses. -* Consider outside security assistance to support investigation and remediation -* Confirm relevant software upgrades and anti-malware updates on assets. - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation` - -### Communicate - -`TODO: Customize communication steps for phishing` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan` - -1. Escalate incident and communicate with leadership per procedure -1. Document incident per procedure (and [report](https://us-cert.cisa.gov/report-phishing)) -1. Communicate with internal and external legal counsel per procedure, including discussions of compliance, risk exposure, liability, law enforcement contact, _etc._ -1. Communicate with users (internal) - 1. Communicate incident response updates per procedure - 1. Communicate impact of incident **and** incident response actions (e.g., containment: "why is the file share down?") - 1. Communicate requirements: "what should users do and not do?" -1. Communicate with customers - 1. Focus particularly on those whose data was affected - 1. Generate required notifications based on applicable regulations (particularly those that may consider phishing a data breach or otherwise requires notifications) `TODO: Expand notification requirements and procedures for applicable regulations` -1. Contact insurance provider(s) - 1. Discuss what resources they can make available, what tools and vendors they support and will pay for, _etc._ - 1. Comply with reporting and claims requirements to protect eligibility -1. Consider notifying and involving [law enforcement](https://www.usa.gov/stop-scams-frauds) TODO: Link the following bullets to actual resources for your organization - 1. [Local law enforcement](#TODO-link-to-actual-resource) - 1. [State or regional law enforcement](#TODO-link-to-actual-resource) - 1. [Federal or national law enforcement](#TODO-link-to-actual-resource) -1. Communicate with security and IT vendors TODO: Link the following bullets to actual resources for your organization - 1. Notify and collaborate with [managed providers](#TODO-link-to-actual-resource) per procedure - 1. Notify and collaborate with [incident response consultants](#TODO-link-to-actual-resource) per procedure - -### Recover - -`TODO: Customize recovery steps for phishing` - -`TODO: Specify tools and procedures for each step, below` - -1. Launch business continuity/disaster recovery plan(s) if compromise involved business outages: _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. -1. Reinforce training programs regarding suspected phishing attacks. Key suspicious indicators may include: - * misspellings in the message or subject - * phony-seeming sender names, including mismatches between display name and email address - * personal email addresses for official business (e.g., gmail or yahoo emails from business colleagues) - * subject lines marked "[EXTERNAL]" on emails that look internal - * [malicious or suspicious links](https://www.pcworld.com/article/248963/how-to-tell-if-a-link-is-safe-without-clicking-on-it.html) - * receiving an email or attachment they were not expecting but from someone they know (contact sender before opening it) - * reporting suspicious activity to IT or security -1. Ensure that IT and security staff is up to date on recent phishing techniques. -1. Determine if any controls have failed when falling victim to an attack and rectify them. Here is a [good source](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) to consider following a phishing attack. - -### Resources - -#### Reference: User Actions for Suspected Phishing Attack - -`TODO: Customize steps for users dealing with suspected phishing` - -1. Stay calm, take a deep breath. -1. Take pictures of your screen using your smartphone showing the things you noticed: the phishing message, the link if you opened it, the sender information. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. Every little bit helps! Document the following: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. Where were you when it happened, and on what network? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are you using? (operating system, hostname, _etc._) - 1. What account were you using? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Contact the [help desk](#TODO-link-to-actual-resource) using the [phishing hotline](#TODO-link-to-actual-resource) or the [phishing report toolbar](#TODO-link-to-actual-resource) and be as helpful as possible. -1. Be patient: the response may be disruptive, but you are protecting your team and the organization! **Thank you.** - -#### Reference: Help Desk Actions for Suspected Phishing Attack - -`TODO: Customize steps for help desk personnel dealing with suspected phishing` - -1. Stay calm, take a deep breath. -1. Open a ticket to document the incident, per procedure. `TODO: Customize template with key questions (see below) and follow-on workflow` -1. Ask the user to take pictures of their screen using their smartphone showing the things they noticed: the phishing message, the link if you opened it, the sender information, _etc._ If this is something you noticed directly, do the same yourself. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. If this is a user report, ask detailed questions, including: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. What networks are involved? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are involved? (operating system, hostname, _etc._) - 1. What data is involved? (paths, file types, file shares, databases, software, _etc._) - 1. What users and accounts are involved? (active directory, SaaS, SSO, service accounts, _etc._) - 1. What data do the involved users typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Ask follow-up questions as necessary. **You are an incident responder, we are counting on you.** -1. Get detailed contact information from the user (home, office, mobile), if applicable. -1. Record all information in the ticket, including hand-written and voice notes. -1. Quarantine affected users and systems. `TODO: Customize containment steps, automate as much as possible` -1. Contact the [security team](#TODO-link-to-actual-resource) and stand by to participate in the response as directed: investigation, remediation, communication, and recovery. - -#### Additional Information - -1. [Anti-Phishing Attack resources](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/top-16-anti-phishing-resources/#gref) -1. [Methods of Identifying a Phishing attack](https://www.securitymetrics.com/blog/7-ways-recognize-phishing-email) -1. [Phishing Email Examples](https://www.phishing.org/phishing-examples) -1. [Anti-Phishing best practices](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/anti-phishing-best-practices/#gref) -## Playbook: Ransomware - -**Investigate, remediate (contain, eradicate), and communicate in parallel! Containment is critical in ransomware incidents, prioritize accordingly.** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for ransomware.` - -1. **Determine the type** of ransomware (_i.e.,_ what is the family, variant, or flavor?)[[1]](#ransomware-playbook-ref-1) - 1. Find any related messages. Check: - * graphical user interfaces (GUIs) for the malware itself - * text or html files, sometimes opened automatically after encryption - * image files, often as wallpaper on infected systems - * contact emails in encrypted file extensions - * pop-ups after trying to open an encrypted file - * voice messages - 1. Analyze the messages looking for clues to the ransomware type: - * ransomware name - * language, structure, phrases, artwork - * contact email - * format of the user id - * ransom demand specifics (_e.g._, digital currency, gift cards) - * payment address in case of digital currency - * support chat or support page - 1. Analyze affected and/or new files. Check: - * file renaming scheme of encrypted files including extension (_e.g._, `.crypt`, `.cry`, `.locked`) and base name - * file corruption vs encryption - * targeted file types and locations - * owning user/group of affected files - * icon for encrypted files - * file markers - * existence of file listings, key files or other data files - 1. Analyze affected software or system types. Some ransomware variants only affect certain tools (_e.g._, [databases](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) or platforms (_e.g._, [NAS products](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) - 1. Upload indicators to automated categorization services like [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php), [ID Ransomware](https://id-ransomware.malwarehunterteam.com/), or similar. -1. **Determine the scope:** - 1. Which systems are affected? `TODO: Specify tool(s) and procedure` - * Scan for concrete indicators of compromise (IOCs) such as files/hashes, processes, network connections, etc. Use [endpoint protection/EDR](#TODO-link-to-actual-resource), [endpoint telemetry](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), etc. - * Check similar systems for infection (_e.g._, similar users, groups, data, tools, department,configuration, patch status): check [IAM tools](#TODO-link-to-actual-resource), [permissions management tools](#TODO-link-to-actual-resource), [directory services](#TODO-link-to-actual-resource), _etc._ - * Find external command and control (C2), if present, and find other systems connecting to it: check [firewall or IDS logs](#TODO-link-to-actual-resource), [system logs/EDR](#TODO-link-to-actual-resource), [DNS logs](#TODO-link-to-actual-resource), [netflow or router logs](#TODO-link-to-actual-resource), _etc._ - 1. What data is affected? (_e.g._, file types, department or group, affected software) `TODO: Specify tool(s) and procedure` - * Find anomalous changes to file metadata such as mass changes to creation or modification times. Check [file metadata search tools](#TODO-link-to-actual-resource) - * Find changes to normally-stable or critical data files. Check [file integrity monitoring](#TODO-link-to-actual-resource) tools -1. **Assess the impact** to prioritize and motivate resources - 1. Assess functional impact: impact to business or mission. - * How much money is lost or at risk? - * How many (and which) missions are degraded or at risk? - 1. Assess information impact: impact to confidentiality, integrity, and availability of data. - * How critical is the data to the business/mission? - * How sensitive is the data? (_e.g._, trade secrets) - * What is the regulatory status of data (_e.g._, PII, PHI) -1. **Find the infection vector.** Check the tactics captured in the [Initial Access tactic](https://attack.mitre.org/tactics/TA0001/) of MITRE ATT&CK[[4]](#ransomware-playbook-ref-4). Common specifics and data sources include: - * email attachment: check [email logs](#TODO-link-to-actual-resource), [email security appliances and services](#TODO-link-to-actual-resource), [e-discovery tools](#TODO-link-to-actual-resource), _etc._ - * insecure remote desktop protocol (RDP): check [vulnerability scanning results](#TODO-link-to-actual-resource), [firewall configurations](#TODO-link-to-actual-resource), _etc._ - * self-propagation (worm or virus) (check [host telemetry/EDR](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), [forensic analysis](#TODO-link-to-actual-resource), _etc._) - * infection via removable drives (worm or virus) - * delivered by other malware or attacker tool: expand investigation to include additional attacker tools or malware - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for ransomware.` - -`TODO: Specify tools and procedures for each step, below.` - -**In ransomware situations, containment is critical. Inform containment measures with facts from the investigation. Prioritize quarantines and other containment measures higher than during a typical response.** - -Quarantines (logical, physical, or both) prevent spread _from_ infected systems and prevent spread _to_ critical systems and data. Quarantines should be comprehensive: include cloud/SaaS access, single-sign-on, system access such as to ERP or other business tools, _etc._ - -* Quarantine infected systems -* Quarantine affected users and groups. -* Quarantine file shares (not just known-infected shares; protect uninfected shares too) -* Quarantine shared databases (not just known-infected servers; protect uninfected databases too) -* Quarantine backups, if not already secured -* Block command and control domains and addresses -* Remove vector emails from inboxes -* Confirm endpoint protection (AV, NGAV, EDR, _etc._) is up-to-date and enabled on all systems. -* Confirm patches are deployed on all systems (prioritizing targeted systems, OSes, software, _etc._). -* Deploy custom signatures to endpoint protection and network security tools based on discovered IOCs - -`TODO: Consider automating containment measures using orchestration tools.` - -#### Eradicate - -`TODO: Customize eradication steps, tactical and strategic, for ransomware.` - -`TODO: Specify tools and procedures for each step, below.` - -* Rebuild infected systems from known-good media -* Restore from known-clean backups -* Confirm endpoint protection (AV, NGAV, EDR, _etc._) is up-to-date and enabled on all systems. -* Confirm patches are deployed on all systems (prioritizing targeted systems, OSes, software, _etc._). -* Deploy custom signatures to endpoint protection and network security tools based on discovered IOCs -* **Watch for re-infection:** consider increased priority for alarms/alerts related to this incident. - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` - -### Communicate - -`TODO: Customize communication steps for ransomware` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` - -1. Escalate incident and communicate with leadership per procedure -1. Document incident per procedure -1. Communicate with internal and external legal counsel per procedure, including discussions of compliance, risk exposure, liability, law enforcement contact, _etc._ -1. Communicate with users (internal) - 1. Communicate incident response updates per procedure - 1. Communicate impact of incident **and** incident response actions (e.g., containment: "why is the file share down?"), which can be more intrusive/disruptive during ransomware incidents - 1. Communicate requirements: "what should users do and not do?" See "Reference: User Actions for Suspected Ransomware," below -1. Communicate with customers - 1. Focus particularly on those whose data was affected - 1. Generate required notifications based on applicable regulations (particularly those that may consider ransomware a data breach or otherwise requires notifications (_e.g._, [HHS/HIPAA](https://www.hhs.gov/sites/default/files/RansomwareFactSheet.pdf))) `TODO: Expand notification requirements and procedures for applicable regulations` -1. Contact insurance provider(s) - 1. Discuss what resources they can make available, what tools and vendors they support and will pay for, _etc._ - 1. Comply with reporting and claims requirements to protect eligibility -1. Communicate with regulators, including a discussion of what resources they can make available (not just boilerplate notification: many can actively assist) -1. Consider notifying and involving [law enforcement](https://www.nomoreransom.org/en/report-a-crime.html) - 1. [Local law enforcement](#TODO-link-to-actual-resource) - 1. [State or regional law enforcement](#TODO-link-to-actual-resource) - 1. [Federal or national law enforcement](#TODO-link-to-actual-resource) -1. Communicate with security and IT vendors - 1. Notify and collaborate with [managed providers](#TODO-link-to-actual-resource) per procedure - 1. Notify and collaborate with [incident response consultants](#TODO-link-to-actual-resource) per procedure - -### Recover - -`TODO: Customize recovery steps for ransomware.` - -`TODO: Specify tools and procedures for each step, below.` - -> **We do not recommend paying the ransom:** it does not guarantee a solution to the problem. It can go wrong (_e.g._, bugs could make data unrecoverable even with the key). Also, paying proves ransomware works and could increase attacks against you or other groups.[[2, paraphrased]](#ransomware-playbook-ref-2) - -1. Launch business continuity/disaster recovery plan(s): _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. -1. Recover data from known-clean backups to known-clean, patched, monitored systems (post-eradication), in accordance with our [well-tested backup strategy](#TODO-link-to-actual-resource). - * Check backups for indicators of compromise - * Consider partial recovery and backup integrity testing -1. Find and try known decryptors for the variant(s) discovered using resources like the No More Ransom! Project's [Decryption Tools page](https://www.nomoreransom.org/en/decryption-tools.html). -1. Consider paying the ransom for irrecoverable critical assets/data, in accordance with policy `TODO: Expand and socialize this decision matrix` - * Consider ramifications with appropriate stakeholders - * Understand finance implications and budget - * Understand legal, regulatory, and insurance implications - * Understand mechanisms (_e.g._, technologies, platforms, intermediate vendors/go-betweens) - -### Resources - -#### Reference: User Actions for Suspected Ransomware - -`TODO: Customize steps for users dealing with suspected ransomware` - -1. Stay calm, take a deep breath. -1. Disconnect your system from the network `TODO: include detailed steps with screenshots, a pre-installed tool or script to make this easy ("break in case of emergency"), consider hardware network cut-off switches` -1. Take pictures of your screen using your smartphone showing the things you noticed: ransom messages, encrypted files, system error messages, _etc._ -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. Every little bit helps! Document the following: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. Where were you when it happened, and on what network? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are you using? (operating system, hostname, _etc._) - 1. What account were you using? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Contact the [help desk](#TODO-link-to-actual-resource) and be as helpful as possible -1. Be patient: the response may be disruptive, but you are protecting your team and the organization! **Thank you.** - -#### Reference: Help Desk Actions for Suspected Ransomware - -`TODO: Customize steps for help desk personnel dealing with suspected ransomware` - -1. Stay calm, take a deep breath. -1. Open a ticket to document the incident, per procedure `TODO: Customize template with key questions (see below) and follow-on workflow` -1. Ask the user to take pictures of their screen using their smartphone showing the things they noticed: ransom messages, encrypted files, system error messages, _etc._ If this is something you noticed directly, do the same yourself. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. If this is a user report, ask detailed questions, including: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. What networks are involved? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are involved? (operating system, hostname, _etc._) - 1. What data is involved? (paths, file types, file shares, databases, software, _etc._) - 1. What users and accounts are involved? (active directory, SaaS, SSO, service accounts, _etc._) - 1. What data do the involved users typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Ask follow-up questions as necessary. **You are an incident responder, we are counting on you.** -1. Get detailed contact information from the user (home, office, mobile), if applicable -1. Record all information in the ticket, including hand-written and voice notes -1. Quarantine affected users and systems `TODO: Customize containment steps, automate as much as possible` -1. Contact the [security team](#TODO-link-to-actual-resource) and stand by to participate in the response as directed: investigation, remediation, communication, and recovery - -#### Additional Information - -1. ["Ransomware Identification for the Judicious Analyst"](https://www.gdatasoftware.com/blog/2019/06/31666-ransomware-identification-for-the-judicious-analyst), Hahn (12 Jun 2019) -1. [No More Ransom!](https://www.nomoreransom.org) Project, including their [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php?lang=en) service and their [Q&A](https://www.nomoreransom.org/en/ransomware-qa.html) -1. [ID Ransomware](https://id-ransomware.malwarehunterteam.com/) service -1. [MITRE ATT&CK Matrix](https://attack.mitre.org), including the [Initial Access](https://attack.mitre.org/tactics/TA0001/) and [Impact](https://attack.mitre.org/tactics/TA0040/) tactics - -## Playbook: Supply Chain Compromise - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for supply chain compromise.` - -1. TODO - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for supply chain compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -`TODO: Consider automating containment measures using orchestration tools.` - -#### Eradicate - -`TODO: Customize eradication steps, tactical and strategic, for supply chain compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` - -### Communicate - -`TODO: Customize communication steps for supply chain compromise` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Recover - -`TODO: Customize recovery steps for supply chain compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Resources - -#### Additional Information - -1. ["Title"](#TODO-url), Author Last Name (Date) - -# Roles - -The following are the descriptions, duties, and training for each of the defined roles in an incident response. - -`TODO: Customize roles, descriptions, duties, and training, if necessary.` - -## Structure of Roles - -* Command Team - * [Incident Commander](#role-incident-commander-ic) - * [Deputy Incident Commander](#role-deputy-incident-commander-deputy) - * [Scribe](#role-scribe) -* Liaison Team - * Internal [Liaison](#role-liaison) - * External Liaison -* Operations Team - * [Subject Matter Experts](#role-subject-matter-expert-sme) (SMEs) for Systems - * SMEs for Teams/Business Units - * SMEs for Executive Functions (_e.g._, Legal, HR, Finance) -During larger complex incidents, the role structure may be adjusted to account for the creation of sub-teams. Read about how we handle [complex incidents](/before/complex_incidents.md) for more information. - -This is a **flexible structure**: every role will not be filled by a different person for every incident. For example, in a small incident the Deputy might act as the Scribe and Internal Liaison. The structure is flexible and scales based on the incident. - -## Wartime vs. Peacetime - -On incident response calls ("wartime"), a different organizational structure overrides normal operations ("peacetime"): - -* The Incident Commander is in charge. No matter their rank during peacetime, they are now the highest ranked individual on the call, higher than the CEO. -* Primary responders (folks acting as primary on-call for a team/service) are the highest ranked individuals for that service. -* Decisions will be made by the IC after consideration of the information presented. Once that decision is made, it is final. -* Riskier decisions can be made by the IC than would normally be considered during peacetime. -* The IC may go against a consensus decision. If a poll is done, and 9/10 people agree but 1 disagrees. The IC may choose the disagreement option despite a majority vote. Even if you disagree, the IC's decision is final. During the call is not the time to argue with them. -* The IC may use language or behave in a way you find rude. This is wartime, and they need to do whatever it takes to resolve the situation, so sometimes rudeness occurs. This is not personal, and something you should be prepared to experience if you've never been in a wartime situation before. -* You may be asked to leave the call by the IC, or you may even be forcibly kicked off a call. It is at the IC's discretion to do this if they feel you are not providing useful input. Again, this is not personal and you should remember that wartime is different than peacetime. - -## Role: All Participants - -### Description - -All participants in an incident response have the responsibility to help resolve the incident according to the incident response plan, under the authority of the Incident Commander. - -### Duties - -#### Exhibit Call Etiquette - -* Join both the call and chat. -* Keep background noise to a minimum. -* Keep your microphone muted until you have something to say. -* Identify yourself when you join the call; State your name and role (_e.g._, "I am the SME for team x"). -* Speak up and speak clearly. -* Be direct and factual. -* Keep conversations/discussions short and to the point. -* Bring any concerns to the Incident Commander (IC) on the call. -* Respect time constraints given by the Incident Commander. -* If you join only one channel (call or chat), do not actively participate, as it causes disjoined communication. -* **Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** - -##### Reference: Common Voice Procedure - -Standard radio [voice procedure](https://en.wikipedia.org/wiki/Voice_procedure#Words_in_voice_procedure) **is not required**, however you may hear certain terms (or need to use them yourself). Common phrases include: - -* **Ack/Rog:** "I have received and understood" -* **Say Again:** "Repeat your last message" -* **Standby:** "Please wait a moment for the next response" -* **Wilco:** "Will comply" - -**Do not** invent new abbreviations; favor being explicit over implicit. - -#### Follow the Incident Commander - -The Incident Commander (IC) is the leader of the incident response process. - -* Follow instructions from the incident commander. -* Do not perform any actions unless the incident commander has told you to do so. -* The commander will typically poll for strong objections before tasking a large action. Raise objections if you have them. -* Once the commander has made a decision, follow that decision (even if you disagreed). -* Answer any questions the commander asks you in a clear and concise way. Answering "I don't know" is acceptable. Do not guess. -* The commander may ask you to investigate something and get back to them in X minutes. Be ready with an answer within that time. Asking for more time is acceptable, but provide the commander an estimate. - -### Training - -Read and understand the incident response plan, including the roles and playbooks. - -## Role: Incident Commander (IC) - -### Description - -The Incident Commander (IC) acts as the single source of truth of what is currently happening and what is going to happen during an major incident. The IC is the highest ranking individual on any incident call, regardless of their day-to-day rank. They are the decision maker during an incident; they delegate tasks and listen to subject matter experts to resolve the incident. Their decisions made as commander are final. - -Your job as an IC is to evaluate the situation, provide clear guidance and coordination, recruiting others to gather context/details. **Do not perform any investigation or remediation:** delegate these tasks. - -### Duties - -Resolve the incident as quickly and as safely as possible using the incident response plan as a framework: lead the team to investigate, remediate, communicate. Use the Deputy to assist you, and delegate to relevant liaisons and experts (SMEs) at your discretion. - -1. Help prepare for incidents, - * Setup communications channels for incidents. - * Funnel people to these communications channels when there is a major incident. - * Train team members on how to communicate during incidents and train other Incident Commanders. -1. Drive incidents to resolution, - * Get everyone on the same communication channel. - * Collect information from team members for their services/area of ownership status. - * Collect proposed repair actions, then recommend repair actions to be taken. - * Delegate all repair actions, the Incident Commander is NOT a resolver. - * Be the single authority on system status -1. Facilitate calls and meetings, - * Gain consensus (Poll During a Decision) - * Provide status updates - * Reduce scope (dismiss attendees when possible) - * Spin off sub-teams - * Transfer command when necessary - * Sign off calls - * Maintain order - * Get straight answers - * Handle executive swoop such as - * Overriding the Incident Commander - * Anti-motivation - * Information requests - * Questioning severity - * Handle disruptive or belligerent responders -1. Post Mortem, - * Creating the initial template right after the incident so people can put in their thoughts while fresh. - * Assigning the post-mortem after the event is over, this can be done after the call. - * Work with Team Leads/Managers on scheduling preventive actions. - -The Incident Commander uses some additional call procedures and lingo: - -* Always announce when you join the call if you are the on-call IC. -* **Do not** let discussions get out of hand. Keep conversations short. -* Note objections from others, but your call is final. -* If anyone is being actively disruptive to your call, kick them off. -* Announce the end of the call. -* After an incident, communicate with other training Incident Commanders on any debrief actions you feel are necessary. - -**Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** - -### Training - -* Read the incident response plan, including all roles and playbooks. -* Participate in an incident response exercise. -* Shadow a current incident commander without actively participating, keeping your questions until the end. -* Reverse shadow a current incident commander. Respond to incidents with the current IC there to take over if necessary. -* _OPTIONAL:_ facilitation training -* _OPTIONAL:_ Refer to [Incident Responders as Facilitators (and Therapists)](#FIX) and the [PagerDuty Incident Commander training](https://response.pagerduty.com/training/incident_commander/) for more ideas and discussion. - -#### Prerequisites - -There is no seniority or business-unit prerequisites to become an Incident Commander, it is a role open to anyone with the training and ability. Before you can be an Incident Commander, it is expected that you meet the following criteria: - -* Excellent verbal and written **communication skills**. -* **High-level knowledge** of business infrastructure and functions. -* Excellent critical thinking, judgment, and decision-making. -* Flexibility and ability to **listen to expert feedback**, modifying plans as necessary. -* **Participated in at least two incident responses**. -* Gravitas, ability to **take command**, and **willingness to kick people off a call** to remove distractions, even if it's the CEO. - -Deep technical knowledge is not required! Incident Commanders do not require deep technical knowledge of our systems. Your job as Incident Commander is to coordinate the response, not make technical changes. Don’t think you can’t be an Incident Commander just because you’re not in the engineering department. - -#### Graduation - -Upon completion of training, add yourself to the Incident Commander roster. - -## Role: Deputy Incident Commander (Deputy) - -### Description - -A Deputy Incident Commander (Deputy) is a direct support role for the Incident Commander (IC). The Deputy enables the IC to focus on the problem at hand, rather than worrying about documenting steps or monitoring timers. The deputy supports the IC and keeps them focused on the incident. As a Deputy, you will be expected to take over command from the IC if they request it. - -### Duties - -1. Bring up issues to the Incident Commander that may otherwise not be addressed (keeping an eye on timers that have been started, circling back around to missed items from a roll call, etc). -1. Be a "hot standby" Incident Commander, should the primary need to either transition to a SME, or otherwise have to step away from the IC role. -1. Manage the incident call, and be prepared to remove people from the call if instructed by the Incident Commander. -1. Monitor the status of the incident, and notify the IC if/when the incident escalates in severity level. -1. Monitor timers: - * track how long the incident has been running - * notify the IC every X minutes so they can take actions (_e.g._, "IC, be advised the incident is now at the 10 minute mark.") -1. Monitor task deadlines (e.g., "IC, be advised the timer for [TEAM]'s investigation is up.") - -### Training - -* Read and understand the incident response plan, including the roles and playbooks. - -#### Prerequisites - -* Be trained as an [Incident Commander](#role-incident-commander-ic). - -## Role: Scribe - -### Description - -A Scribe documents the timeline of an incident as it progresses, and makes sure all important decisions and data are captured for later review. The Scribe should focus on the incident file, as well as follow-up items for later action. - -### Duties - -1. Ensure the incident call is being recorded. -1. Note in chat and in the file timelines: important data, events, and actions, as they happen. Specifically: - * Key actions as they are taken - * Status reports when one is provided by the IC - * Any key call-outs either during the call or at the ending review -1. Update the chat with who the IC is, who the Deputy is, and that you're the scribe (if not already done). - -Scribing is more art than science. The objective is to keep an accurate record of important events that occurred, Use your judgement and experience. But here are some general things you most definitely want to capture as scribe. - -* The result of any polling decisions. -* Any followup items that are called out as "We should do this..", "Why didn't this?..", etc. - -### Training - -Read and understand the incident response plan, including the roles and playbooks. - -#### Prerequisites - -* Excellent verbal and written **communication skills**. -* Anyone can act as a scribe during an incident, and are chosen by the Incident Commander at the start of the call. -* Typically the Deputy will act as the Scribe - -#### Training Process - -* Read the incident response plan, including all roles and playbooks. -* _OPTIONAL:_ Parallel the actions of a scribe during an incident or exercise, and seek feedback from the actual Scribe and Incident Commander. - -## Role: Subject Matter Expert (SME) - -### Description - -A Subject Matter Expert (SME) is a domain expert or designated owner of a team, component, or service (an "area"). You are there to support the incident commander in identifying the cause of the incident, suggesting and evaluation investigation, remediation, and communication actions, and following through on them as tasked. - -### Duties - -1. Diagnose common problems within your area of expertise. -1. Rapidly fix issues found during an incident. -1. Concise communication: - * Condition: What is the current state of your area? Is it healthy or not? - * Actions: What actions need to be taken if your area is not in a healthy state? - * Needs: What support do you need need to perform an action? -1. Participate in the investigation, remediation, and/or communication phases of the response. -1. Announce all suggestions to the incident commander, it is their decision on how to proceed, do not follow any actions unless told to do so. - -If you are on-call for any team, you may be paged for an incident and will be expected to respond as a subject matter expert (SME) for your team, component, or service. Anyone who is considered a "domain expert" can act as a SME for an incident. Typically the team's primary on-call will act as the SME for that team. - -#### Prepare for On-Call Period - -1. Be prepared, by having already familiarized yourself with our incident response policies and procedures. -1. Make sure you have set up your alerting methods in accordance with our on-call procedure. -1. Check you can join the incident call. You may need to install a browser plugin. -1. Be aware of your upcoming on-call time and arrange swaps around travel, vacations, appointments, etc. -1. If you are an Incident Commander, make sure you are not on-call for your team at the same time as being on-call as Incident Commander. - -#### During On-Call Period - -1. Have your laptop and Internet with you at all times during your on-call period (office, home, a MiFi, a phone with a tethering plan, etc). -1. If you have important appointments, you need to get someone else on your team to cover that time slot in advance. -1. When you receive an alert for an incident, you are expected to join the incident call and chat as quickly as possible (within minutes). -1. You will be asked questions or given actions by the Incident Commander. Answer questions concisely, and follow all actions given (even if you disagree with them). -1. If you're not sure about something, bring in other SMEs from your team that can help. **Never hesitate to escalate**, if necessary. -1. Do not blame. This incident response process is completely blameless: blaming is counter productive and distracts from the problem at hand. After-action review will identify places we can all improve. - -### Training - -* Read and understand the incident response plan, including the roles and playbooks. - -## Role: Liaison - -### Description - -Liaisons interact with other teams or stakeholders, outside the incident response team. These often include: - -* External Liaison: responsible for interacting with customers, either directly, or via public communication. -* Internal Liaison: responsible for interacting with internal stakeholders. Whether it's notifying an internal team of the incident, or mobilizing additional responders within the organization. - -### Duties - -#### External or Customer Liaison - -1. Post any publicly facing messages regarding the incident (Twitter, etc). -1. Notify the IC of any customers or media coverage reporting affects of the incident. -1. Provide customers with the external message from the post-mortem once it is completed. -1. Contact or interact with external stakeholders such as vendors, partners, law enforcement, _etc._ -1. **Do not** feel responsible for creating every message: work with the Incident Commander and other stakeholders. -1. As appropriate, keep customers informed during an incident. -1. Act as a voice for our customers to the Incident Commander, as this is useful for IC decision making. -1. Gaining message approval after you have crafted the public message: copy the message into chat and wait for verbal/written confirmation from the IC before proceeding. - -##### Tips for Public Messages - -* Prepare a default message in advance that can be used for the initial update if the scope of the issue is unknown. -* Be honest. Do not lie or guess. -* Describe our progress in resolving the incident. - * _"We are aware of an incident..."_ - * _"We are investigating delayed notifications..."_ - * _"A fix has been applied and is currently being deployed..."_ - * _"The issue has been resolved..."_ -* Be clear about how the incident is affecting customers. This is the primary piece of information customers will care about. -* Provide workarounds customers can use until the incident is resolved. -* Don't estimate resolution times. -* Provide the appropriate level of detail. - -#### Internal Liaison - -1. Page SME's or other on-call personnel as instructed by the Incident Commander. -1. Notify or mobilize other teams within the organization (e.g. Finance, Legal, Marketing), as instructed by the Incident Commander. -1. Track and anticipate SMEs on the call. -1. Interact with stakeholders and provide status updates as necessary. -1. Interact with internal stakeholders to answer their questions, to keep the primary call distraction free. -1. Provide regular status updates to the executive team, giving an executive summary of the current status. - -### Training - -Read and understand the incident response plan, including the roles and playbooks. - -#### Prerequisites - -* Excellent verbal and written **communication skills**. -* _OPTIONAL:_ Customer support training. -* _OPTIONAL:_ Corporate communication or marketing training. - -# Conduct an After Action Review (AAR) - -1. Schedule an After Action Review (AAR) meeting within {{AAR_SLA}} and invite the attendees listed at {{AAR_ATTENDEES}}. Always include the following: - * The incident commander. - * Service owners involved in the incident. - * Key engineer(s)/responders involved in the incident. -1. Designate an AAR owner who will investigate the incident in advance of the meeting to prepare, looking into the incident process itself including reviewing notes and reports. - -## Conduct the AAR Meeting - -Document answers to the following key questions: - -1. **What happened?** Create a timeline, supported with data or other artifacts. **Avoid blame. Find facts.** -1. **What was supposed to happen?** - * Detail deviations from process, procedure, or best practice, including SME assessments. - * Identify ways the incident could have been detected sooner, or responded to more effectively -1. **What were the root causes?** Find root cause to things that happened and to things that should have happened. -1. **How can we improve?** Capture action items _with assignees and due dates_. Consider: - * Stop: what should we stop doing? - * Start: what should we start doing? - * Continue: what should we keep doing? - -## Communicate AAR Status and Results - -The AAR owner, in coordination with the Internal Liaison, will communicate the status of the AAR (see below) - -### Status Descriptions - -| Status | Description | -|-|-| -| **Draft** | AAR investigation is still ongoing | -| **In Review** | AAR investigation has been completed, and is ready to be reviewed during the AAR meeting. | -| **Reviewed** | AAR meeting is over and the content has been reviewed and agreed upon.
If there are additional "External Messages", the communications team will take action to prepare. | -| **Closed** | No further actions are needed on the AAR (outstanding issues are tracked in tickets).
If no "External Messages", skip straight to this once the meeting is over.
If there are additional "External Messages", communications team will update AAR Closed once sent. | - -Communicate the results of the AAR internally and finalize the AAR documentation. - -# About - -This template was developed by the team at [Counteractive Security](https://www.counteractive.net), to help all organizations get a good start on a concise, directive, specific, flexible, and free incident response plan. Build a [plan you will actually use](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) to respond effectively, minimize cost and impact, and get back to business as soon as possible. - -## License - -This template is provided under the Apache License, version 2.0. You can view the source code for this plan at https://github.com/counteractive. - -## Instructions - -Customize this plan template for your own organization. Instructions are available in the project's [README](https://github.com/counteractive). For professional assistance with incident response, or with customizing, implementing, or testing your plan, please contact us by [email](mailto:support@counteractive.net) or [phone](tel:+18889255765). - -## References and Additional Reading - -* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) -* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) -* [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework) -* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) -* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) -* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) -* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) -* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) -* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) -* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) -* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) -* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) -* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) -* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) -* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) -* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) -* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) -* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) -* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) -* [Advanced PostMortem Fu and Human Error 101 (Velocity 2011)](http://www.slideshare.net/jallspaw/advanced-postmortem-fu-and-human-error-101-velocity-2011) -* [Blame. Language. Sharing.](http://fractio.nl/2015/10/30/blame-language-sharing/) - +# Plan de respuesta a incidentes para {{COMPANY_NAME}} + +Autor: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}} + +Revisión {{REVISION_NUMBER}}, Publicado {{RELEASE_DATE}} + +Este plan de respuesta a incidentes está basado en el plan conciso, directivo, específico, flexible y gratuito disponible en [Github](https://github.com/counteractive/incident-response-plan-template) de Counteractive Security y discutido en [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) + +Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. + +`TODO: Personalice esta plantilla de plan para su organización utilizando las instrucciones en https://github.com/counteractive/incident-response-plan-template. Para obtener servicios de respuesta a incidentes, o ayuda para personalizar, implementar o probar su plan, póngase en contacto con nosotros en contact@counteractive.net o en el (888) 925-5765.` + +# Evaluar + +1. **Mantenga la calma y la profesionalidad.** +1. Reúna la información pertinente, _e._, alarmas, eventos, datos, suposiciones, intuiciones (**observe**). +1. Considerar las categorías de impacto, a continuación (**orientar**), y determinar si hay un posible incidente (**decidir**): +1. 2. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El comandante del incidente y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. + +## Evaluar el impacto funcional + +¿Cuál es el impacto directo o probable en su misión? (_e._, operaciones comerciales, empleados, clientes, usuarios) + +* Degradación o fracaso de la misión/empresa: **incidente!** +* Ninguno: evalúe el impacto de la información. + +## Evaluar el impacto de la información + +¿Cuál es el impacto directo o probable en su información/datos, especialmente en los sensibles? (_p. ej., información personal, datos de propiedad, financieros o sanitarios) + +* Información a la que se ha accedido, tomado, cambiado o borrado: **incidente!** +* Ninguno: gestión a través de canales no relacionados con incidentes (por ejemplo, un ticket de soporte). + +**Cada miembro del equipo está facultado para iniciar este proceso.** Si ves algo, di algo. + +`TODO: Personalizar las categorías/severidades según sea necesario. Este sencillo ejemplo (incidente vs. no incidente) se basa en las categorías de impacto del NIST SP 800-61r2.` + +# Iniciar la respuesta + + +## Nombre del incidente + +Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.html) para referirse al incidente -un nombre en clave- para utilizarlo en el archivo de incidentes y en los canales. ##Todo: Personalizar el procedimiento de nomenclatura de incidentes. + +## Reunir el equipo de respuesta + +1. Llame al Comandante de Incidentes de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del Comandante de Incidentes`. +1. *No hable del incidente fuera del equipo de respuesta, a menos que el Comandante del Incidente lo autorice. +1. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta. +1. Inicie y/o únase a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. Tarea: Añadir el procedimiento de lanzamiento de la llamada de respuesta. +1. Prefiera la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. +1. No utilizar el correo electrónico primario si es posible. Si el correo electrónico es necesario, utilícelo con moderación o use {{ALTERNATE_EMAIL}}. Encripte los correos electrónicos cuando cualquier participante esté fuera del dominio {{ORGANIZATION_DOMAIN}}. `TODO: Añadir detalles y procedimiento de correo electrónico alternativo, por ejemplo, Office 365 o GSuite bajo demanda`. +1. No usar SMS/texto para comunicar el incidente, a menos que sea para decirle a alguien que se mueva a un canal más seguro. +1. Invite al personal de guardia a la llamada de respuesta y al chat de respuesta. + * Invite al equipo de seguridad. `TODO: Añadir lista de contactos del equipo de seguridad o procedimiento.` + * Invitar a una PYME de los equipos y sistemas afectados. Invitar a una PYME de los equipos y sistemas afectados. + * Invitar a las partes interesadas ejecutivas y a los asesores jurídicos lo antes posible, pero dar prioridad a los responsables operativos. Obligación: añadir una lista de contactos de las partes interesadas ejecutivas o un procedimiento. +1. OPCIONAL: Establecer una sala de colaboración en persona ("sala de guerra") para incidentes complejos o graves. OBJETIVO: Añadir un procedimiento de sala de colaboración. + +### Referencia: Estructura del equipo de respuesta + +* Equipo de Mando + * [Comandante del Incidente](#role-incident-commander-ic) + * [Comandante Adjunto de Incidentes](#role-deputy-incident-commander-deputy) + * [Escribano](#role-scribe) +* Equipo de enlace + * Enlace interno (#role-liaison) + * Enlace externo +* Equipo de operaciones + * Expertos en la materia](#role-subject-matter-expert-sme) (PYMES) para sistemas + * PYMES para equipos/unidades de negocio + * PYMES para Funciones Ejecutivas (por ejemplo, Legal, RRHH, Finanzas) + +`TODO: Modificar la estructura de roles según sea necesario. + +### Referencia: Información de contacto del equipo de respuesta + +Rol del equipo de respuesta | Información de contacto +---------------------------- | --------------------------- +Localizador del comandante del incidente | {{INCIDENT_COMMANDER_PAGER_NUMBER}} +Url del Comandante de Incidentes | {{INCIDENT_COMMANDER_PAGER_URL}} +Lista de comandantes de incidentes | {{INCIDENT_COMMANDER_ROSTER}} +Lista del equipo de seguridad | {{SECURITY_TEAM_ROSTER}} +Lista del equipo SME | {{TEAM_SME_ROSTER}} +Lista de ejecutivos | {{EXECUTIVE_ROSTER}} + +`TODO: Personalizar la información de contacto del equipo de respuesta. Incluya los procedimientos de contacto en las listas, que pueden ser estáticas o dinámicas. + +## Establecer el ritmo de la batalla + +### Realizar la llamada de respuesta inicial + +1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial] (#referencia-estructura-de-llamada-de-respuesta-inicial) +1. Siga las instrucciones del Comandante del Incidente. Si el Comandante de Incidentes de turno/de guardia no se une a la llamada dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}} y usted es un comandante de incidentes capacitado, tome el mando de la llamada. +1. Siga las [instrucciones para su función](#roles). +1. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, filtre las aportaciones a través del SME de su equipo si es posible. +1. *Mantenga la llamada y el chat activos durante todo el incidente para una comunicación basada en eventos. +1. Programe actualizaciones *cada {{UPDATE_FREQUENCY}} en el puente activo. + +#### Referencia: Estructura de la llamada de respuesta inicial + +*COMANDANTE DEL INCIDENTE (IC): Mi nombre es [NOMBRE], soy el Comandante del Incidente. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? +* SCRIBE: [Toma asistencia] +* IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. +* IC: [Hace preguntas para entender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. +* PYMES: [Respuestas breves a las preguntas del CI]. +* IC: [Si se trata de un incidente]: + * En este momento, el resumen del incidente es el siguiente: [reitera el resumen]. El equipo de investigación estará dirigido por [NOMBRE], el equipo de reparación estará dirigido por [NOMBRE] y el equipo de comunicación estará dirigido por [NOMBRE]. Ellos coordinarán la composición del equipo y me informarán. Los miembros del equipo, por favor, informen a su jefe de equipo correspondiente. + * ¿Qué medidas de investigación, corrección o comunicación se han tomado ya? [esta debería ser una lista corta, pero tiene que salir ahora] + * Esta llamada y el chat permanecerán activos y disponibles hasta el cierre del incidente, por favor, utilícelos para todas las comunicaciones relacionadas con el incidente. Proporcione actualizaciones de estado en tiempo real en el chat, si es posible. + * ¿Hay alguna pregunta o aportación restante? [responde a las preguntas] + * Líderes de equipo, por favor procedan con sus acciones planeadas. Nos reuniremos de nuevo en [UPDATE_TIME] para discutir el estado. Gracias. + * IC: [Si esto no es un incidente]: En este momento, estos hechos no alcanzan el nivel de un incidente. Me coordinaré directamente con el informador del incidente para las acciones de seguimiento. Gracias por su tiempo. + +#### Reference: Call Etiquette + +* Join both the call and chat. +* Keep background noise to a minimum. +* Keep your microphone muted until you have something to say. +* Identify yourself when you join the call; State your name and role (_e.g._, "I am the SME for team x"). +* Speak up and speak clearly. +* Be direct and factual. +* Keep conversations/discussions short and to the point. +* Bring any concerns to the Incident Commander (IC) on the call. +* Respect time constraints given by the Incident Commander. +* **Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** + +### Conduct Response Update + +* Conduct scheduled updates using the [update call structure](#reference-response-update-call-structure) every {{UPDATE_FREQUENCY}} on the active bridge. `TODO: Customize update frequency and scripts; recommend no more than twice daily.` +* Adjust frequency as necessary. +* Coordinate independent updates (_e.g._, executive, legal) as required, but as infrequently as practicable. + +#### Referencia: Estructura de la llamada de actualización de la respuesta + +* COMANDANTE DEL INCIDENTE (IC): Desde nuestra última actualización programada, el resumen del incidente es el siguiente: + * [Impacto] + * [Vector] + * [Actualización del resumen] + * [Actualización de la línea de tiempo] +* IC: Equipo de investigación, por favor proporcione una breve actualización + * LÍDER DE LA INVESTIGACIÓN: [Actividades de investigación o "nada que informar"] + * ¿Cuál es su plan de investigación recomendado? + * ¿Qué acciones de investigación necesitan ser asignadas o aprobadas? [escuchar, obtener consenso, encargar/aprobar] +* IC: Equipo de remediación, por favor proporcione una breve actualización + * Líder de remediación: [Actividades de remediación o "nada que informar"] + * ¿Cuál es su estrategia de corrección recomendada? ¿Objeciones fuertes? [escuchar, obtener el consenso, asignar/aprobar] + * ¿Qué acciones de corrección necesitan ser asignadas o aprobadas? +* IC: Equipo de comunicación, por favor, ofrezca una breve actualización: + * COMMUNICATIONS LEAD: [Actividades de comunicación o "nada que informar"] + * ¿Cuál es su estrategia de comunicación recomendada? ¿Objeciones fuertes? [escuchar, obtener consenso, encargar/aprobar] + * ¿Qué acciones de comunicación necesitan ser asignadas o aprobadas? +* IC: Esta llamada y el chat permanecerán activos y disponibles hasta el cierre del incidente, por favor, utilícelos para todas las comunicaciones relacionadas con el incidente. Si es posible, proporcione actualizaciones del estado en tiempo real en el chat. ¿Hay alguna pregunta o aportación restante? [responde a las preguntas] +* IC: Líderes de equipo, por favor procedan. Nos reuniremos de nuevo en [] para discutir el estado. Gracias. + +## Supervisar el alcance + +* Supervisar el alcance de la respuesta para asegurarse de que no excede el ámbito de control del comandante del incidente. +* Si un incidente es lo suficientemente complejo y hay suficientes intervinientes, considere la posibilidad de crear subequipos. + +### Crear Sub-Equipos + +* En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. `TODO: Personalizar la estructura de los subequipos si es necesario. +* Crear un puente de llamadas y un chat para cada subequipo. +* El Comandante del Incidente designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. Los líderes de equipo no tienen que estar formados como comandantes de incidentes, pero es preferible que tengan alguna experiencia de liderazgo. +* El Comandante del Incidente puede ajustar el propósito o el nombre de los subequipos según sea necesario. +* Si desea cambiar de equipo, pregunte a su **líder de equipo actual**. **No** pregunte al Comandante de Incidentes, o al líder del otro(s) equipo(s). Utilice la cadena de mando. + +### Incidente dividido + +Si un incidente resulta ser dos o más incidentes distintos: + +* Establecer un nuevo [archivo de incidentes](#crear-archivo-de-incidentes). +* Haga un seguimiento y coordine la investigación, la reparación y la comunicación en el archivo correspondiente. +* Considere la posibilidad de establecer subequipos para cada incidente. +* **Mantener un comandante de incidentes de alto nivel**, para coordinar los activos de baja densidad y alta demanda y mantener la unidad de mando. + +**Investigar + +**[Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Comandante del Incidente coordinará estas actividades. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar. + +## Crear el archivo del incidente + +1. Cree un nuevo archivo de incidentes en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente] (#nombredelincidente). Utilice este archivo para el almacenamiento seguro de documentación, pruebas, artefactos, _etc._. + * Proporcionar un almacenamiento digital seguro. + * Proporcionar un intercambio de archivos seguro. + * Obtener almacenamiento físico. + * Compartir la ubicación del archivo del incidente en la llamada y el chat. + * `TODO: Personalizar y automatizar la ubicación del archivo y el procedimiento`. +1. Documente el impacto funcional y de la información, si se conoce (véase [Assess](#assess)). `TODO: Personalizar las categorías de impacto, si es necesario.` +1. 2. Documentar el vector, si se conoce (_p. ej., _ web, correo electrónico, medios extraíbles). Tarea: Personalizar la lista de vectores, si es necesario. +1. Documente el resumen del incidente: un breve resumen del vector, el impacto, la investigación y la situación de la reparación, si se conoce. +1. Documente la línea de tiempo del incidente, incluyendo la actividad del atacante y la actividad de la respuesta. Tarea: Añadir líneas de tiempo con diferentes detalles, según sea necesario. +1. Documente los pasos de investigación, reparación y comunicación. Documente las actividades de forma independiente para que puedan combinarse y reutilizarse, si es posible. +1. Registre la información significativa, como: + **Pruebas**, con la hora de recogida, la fuente, la cadena de custodia, _etc._. + * **Sistemas afectados**, con el modo y el momento en que se identificó el sistema, y el resumen del efecto (_e._, tiene malware, datos a los que se ha accedido). + * **Archivos de interés**, como el malware o los archivos de datos, con el sistema y los metadatos. + * **Datos accedidos y tomados**, con nombres de archivos, metadatos y hora de presunta exposición. + * **Actividad significativa de los atacantes**, como inicios de sesión y ejecución de malware, con la hora del evento. + * Indicadores de compromiso (IOC) basados en la red, como direcciones IP y dominios. + * Indicadores de compromiso basados en el host**, como nombres de archivos, hashes y claves de registro. + * Cuentas comprometidas**, con el alcance del acceso y la hora del compromiso. + +Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator + +`TODO: Personalizar el procedimiento de documentación de incidentes, incluyendo hojas de cálculo, bases de datos, formularios, sistemas y plantillas, si es necesario.` + +## Recoger las pistas iniciales + +1. Entrevistar a los informadores del incidente. +1. 2. Recoger los datos de apoyo iniciales (_e._, alarmas, eventos, datos, suposiciones, intuiciones) en el archivo del incidente. +1. Entrevistar a la(s) PYME con experiencia en el dominio o el sistema, para comprender los detalles técnicos, el contexto y el riesgo. +1. Entrevistar a la(s) PYME de la unidad de negocio afectada, para comprender el impacto de la misión/negocio, el contexto y el riesgo. +1. Asegúrese de que las pistas son relevantes, detalladas y procesables. + +### Referencia: Lista de recursos de respuesta + +Recurso | Ubicación +------------------------- | ------------------------------------ +Lista de información crítica | {{CRITICAL_INFO_LIST_LOCATION}} +Lista de activos críticos | {{CRITICAL_ASSET_LIST_LOCATION}} +Base de datos de gestión de activos | {{ASSET_MGMT_DB_LOCATION}} +Mapa de red | {{NETWORK_MAP_LOCATION{}} +Consola SIEM | {{SIEM_CONSOLE_LOCATION}} +Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} + +`TODO: Completar la información crítica y las listas de activos ("joyas de la corona"). Esto es increíblemente importante para una respuesta eficaz. + +`TODO: Personalizar la lista de recursos de respuesta`. + +## Actualizar el plan de investigación y el archivo de incidentes + +1. Revisar y afinar el impacto del incidente. +1. Revisar y refinar el vector del incidente. +1. Revisar y perfeccionar el resumen del incidente. +1. Revisar y perfeccionar la línea de tiempo del incidente con hechos e inferencias. +1. Crear hipótesis: qué puede haber ocurrido y con qué seguridad. +1. **Identificar y priorizar las preguntas clave** (lagunas de información) para apoyar o desacreditar las hipótesis. + * Utilizar la matriz ATT&CK de MITRE o un marco similar para [desarrollar preguntas](#referencia-tácticas-de-atacantes-a-preguntas-clave-matriz). + * [ATT&CK for Enterprise](https://attack.mitre.org/wiki/Main_Page), incluyendo enlaces a los específicos de Windows, Mac y Linux. + * [ATT&CK Mobile Profile](https://attack.mitre.org/mobile/index.php/Main_Page) para dispositivos móviles. + * Utilizar palabras interrogativas como inspiración: + * ¿Cuándo?: primer compromiso, primera pérdida de datos, acceso a x datos, acceso a y sistema, etc. + * ¿Qué?: impacto, vector, causa de origen, motivación, herramientas/explotaciones utilizadas, cuentas/sistemas comprometidos, datos atacados/perdidos, infraestructura, COIs, etc.? + * ¿Dónde?: ubicación del atacante, unidades de negocio afectadas, infraestructura, etc.? + * ¿Cómo?: compromiso (explotación), persistencia, acceso, exfiltración, movimiento lateral, etc.? + * ¿Por qué?: objetivo, momento, acceso a x datos, acceso a y sistema, etc. + * ¿Quién?: atacante, usuarios afectados, clientes afectados, etc.? +1. **Identificar y priorizar los dispositivos y estrategias testigo** para responder a las preguntas clave. + * Consultar los diagramas de la red, los sistemas de gestión de activos y la experiencia de las PYMES + * Consultar la [Lista de recursos de respuesta](#reference-response-resource-list)) +1. Consulte los [libros de jugadas de incidentes](#librosdejugadas) para conocer las preguntas clave, los dispositivos testigos y las estrategias para investigar las amenazas comunes o muy dañinas. + +**El plan de investigación es fundamental para una respuesta eficaz; impulsa todas las acciones de investigación. Utilice el pensamiento crítico, la creatividad y el buen juicio. + +### Referencia: Táctica del atacante a la matriz de preguntas clave + +Táctica del atacante | La forma en que los atacantes ... | Posibles preguntas clave +-------------------- | ----------------------------- | ----------------------------------------- +Reconocimiento: ... aprender sobre los objetivos: ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Desarrollo de recursos: construir infraestructuras. ¿Qué sistemas? +Acceso inicial: ... entrar... ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Ejecución... ejecutar código hostil... ¿Qué malware? ¿Qué herramientas? ¿Dónde? ¿Cuándo? +¿Persistencia? ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Escalada de Privilegios | ... obtener acceso de mayor nivel | ¿Cómo? ¿Dónde? ¿Qué herramientas? +Evasión de la defensa | ... esquivar la seguridad | ¿Cómo? ¿Dónde? ¿Desde cuándo? +Acceso a credenciales | ... obtener/crear cuentas | ¿Qué cuentas? ¿Desde cuándo? ¿Por qué? +Descubrimiento: ... aprender nuestra red: ¿Cómo? ¿Dónde? ¿Qué saben? +Movimiento lateral | ... moverse | ¿Cómo? ¿Cuándo? ¿Qué cuentas? +Recogida | ... encontrar y reunir datos | ¿Qué datos? ¿Por qué? ¿Cuándo? ¿Dónde? +Mando y control | ... herramientas y sistemas de control | ¿Cómo? ¿Dónde? ¿Quién? ¿Por qué? +Exfiltración: ... tomar datos. ¿Qué datos? ¿Cómo? ¿Cuándo? ¿Dónde? +Impacto... romper cosas. ¿Qué sistemas o datos? ¿Cómo? ¿Cuándo? ¿Dónde? ¿Cómo de malo? + +Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más información e ideas. + +## Crear y desplegar indicadores de compromiso (IOC) + +> Haga hincapié en los indicadores **dinámicos y de comportamiento** junto con las huellas digitales estáticas. + +* Crear IOCs basados en [pistas iniciales](#recopilar-pistas-iniciales) y [análisis](#analizar-evidencias). +* Cree IOCs usando un formato abierto soportado por sus herramientas (_e._, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), si es posible. `TODO: Personalizar el formato de los COIs según sea necesario.` +* Utilice la automatización, si es posible. TODO: Añadir un procedimiento de despliegue/revocación de COIs. +* No desplegar "feeds" de COIs no relacionados y no curados, ya que pueden causar confusión y fatiga. +* Considerar todos los tipos de COI: + * IOC basados en la red, como direcciones IP o MAC, puertos, direcciones de correo electrónico, contenido o metadatos del correo electrónico, URLs, dominios o patrones PCAP. + * IOC basados en el host, como rutas, hashes de archivos, contenido o metadatos de archivos, claves de registro, MUTEXes, autoejecuciones o artefactos y permisos de usuarios. + * COIs basados en la nube, como patrones de registro para despliegues [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) o [IaaS](https://en.wikipedia.org/wiki/Infrastructure_as_a_service) + * IOCs de comportamiento (también conocidos como patrones, TTPs) tales como patrones de árbol de procesos, heurística, desviación de la línea base y patrones de inicio de sesión. +* Correlacionar varios tipos de IOC, como indicadores basados en la red y en el host en los mismos sistemas. + +## Identificar los sistemas de interés + +1. Validar si son relevantes. +1. Categorizar la(s) razón(es) por la(s) que son "de interés": tiene malware, acceso por cuenta comprometida, tiene datos sensibles, etc. Trátelas como "etiquetas", puede haber más de una categoría por sistema. +1. Prioriza la recogida, el análisis y la reparación en función de las necesidades de la investigación, el impacto en el negocio, etc. + +#Recogida de pruebas + +* Priorizar en base al plan de investigación +* Recoger datos de respuesta en vivo utilizando {{LIVE_RESPONSE_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de respuesta en vivo.` +* Recoger los registros relevantes de los sistemas (si no forman parte de la respuesta en vivo), agregadores, SIEM o consolas de dispositivos. Tarea: Personalizar las herramientas y el procedimiento de recopilación de registros. +* Recoger la imagen de la memoria, si es necesario y si no forma parte de la respuesta en vivo, utilizando {{MEMORY_COLLECTION_TOOL}}. Hacer: personalizar las herramientas y el procedimiento de recogida de memoria. +* Recoger la imagen del disco, si es necesario, utilizando {{DISK_IMAGE_TOOL}}. ToDo: Personalizar la herramienta y el procedimiento de recogida de imágenes de disco. +* Recoger y almacenar las pruebas de acuerdo con la política, y con la cadena de custodia adecuada. To do: Personalizar la política de recogida de pruebas y la cadena de custodia. + +Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ya sea en tiempo real (_por ejemplo, a través de EDR o un SIEM) o bajo demanda: + +### Ejemplo de artefactos útiles + +`TODO: Personalizar y priorizar los artefactos útiles. + +* Procesos en ejecución +* Servicios en ejecución +* Hashes ejecutables +* Aplicaciones instaladas +* Usuarios locales y de dominio +* Puertos de escucha y servicios asociados +* Configuración de resolución del sistema de nombres de dominio (DNS) y rutas estáticas +* Conexiones de red establecidas y recientes +* Clave de ejecución y otra persistencia de la ejecución automática +* Tareas programadas y trabajos cron +* Artefactos de ejecuciones anteriores (por ejemplo, Prefetch y Shimcache) +* Registros de eventos +* Política de grupo y artefactos WMI +* Detecciones antivirus +* Binarios en ubicaciones de almacenamiento temporal +* Credenciales de acceso remoto +* Telemetría de conexiones de red (por ejemplo, netflow, permisos de cortafuegos) +* Tráfico y actividad de DNS +* Actividad de acceso remoto, incluido el Protocolo de Escritorio Remoto (RDP), la red privada virtual (VPN), SSH, la informática de red virtual (VNC) y otras herramientas de acceso remoto +* Cadenas de identificadores de recursos uniformes (URI), cadenas de agentes de usuario y acciones de aplicación de proxies +* Tráfico web (HTTP/HTTPS) + +## Analizar las pruebas + +* Priorizar basándose en el plan de investigación +* Analizar y clasificar los datos de respuesta en vivo +* Analizar la memoria y las imágenes de disco (_i._, realizar análisis forenses) +* Analizar el malware +* _OPCIONAL:_ Enriquecer con investigación e inteligencia +* Documentar nuevos indicadores de compromiso (IOC) +* Actualizar el archivo del caso + +### Ejemplo de indicadores útiles + +`TODO: Personalizar y priorizar los indicadores útiles.` + +* Comportamiento inusual de autenticación (_e._, frecuencia, sistemas, hora del día, ubicación remota) +* Nombres de usuario con formato no estándar +* Binarios no firmados que se conectan a la red +* Balizamiento o transferencias de datos significativas +* Solicitudes de línea de comandos PowerShell con comandos codificados en Base64 +* Actividad excesiva de RAR, 7zip o WinZip, especialmente con nombres de archivo sospechosos +* Conexiones en puertos no utilizados previamente. +* Patrones de tráfico relacionados con el tiempo, la frecuencia y el recuento de bytes +* Cambios en las tablas de enrutamiento, como la ponderación, las entradas estáticas, las pasarelas y las relaciones entre pares + +## Iterar la investigación + +[Actualizar el plan de investigación](#actualizar-plan-de-investigación-y-archivo-de-incidentes) y repetir hasta el cierre. + +# Remediar + +**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El comandante del incidente coordinará estas actividades. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar + +## Actualizar el plan de remediación + +1. Revisar el archivo del incidente en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#nombredelincidente) +1. 2. Revisar los [playbooks](#playbooks) aplicables. +1. Revise la [lista de recursos de respuesta](#lalistaderecursosdereferencia)). +1. Considere qué tácticas del atacante están en juego en este incidente. Utilice la lista de MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) (_i._, Persistencia, Escalada de Privilegios, Evasión de la Defensa, Acceso a Credenciales, Descubrimiento, Movimiento Lateral, Ejecución, Recolección, Exfiltración y Mando y Control), o un marco similar. +1. Desarrollar remedios para cada táctica en juego, en la medida en que sea factible teniendo en cuenta las herramientas y los recursos existentes. Considere remedios para [Proteger](#protect), [Detectar](#detect), [Contener](#contain), y [Erradicar](#eradicate) cada comportamiento del atacante. +1. Priorizar en base a la [estrategia de tiempo](#elegir-tiempo-de-remediación), el impacto y la urgencia. +1. Documentar en el archivo de incidentes. + +Utilice los [marcos de seguridad de la información (infosec)](https://www.nist.gov/cyberframework) como inspiración, pero **no utilice la reparación de incidentes como sustituto de un programa de infosec con un marco adecuado.** Utilícelos para complementarse. + +### Proteger + +> "¿Cómo podemos evitar que la táctica X se repita o reducir el riesgo? ¿Cómo podemos mejorar la protección futura?" + +Utilice lo siguiente como punto de partida para la corrección de la protección: + +* Parchear las aplicaciones. +* Parchee los sistemas operativos. +* Actualice las firmas de IPS de la red y del host. +* Actualizar las firmas de protección de puntos finales/EDR/antivirus. +* Reducir las ubicaciones con datos críticos. +* Reducir las cuentas administrativas o privilegiadas. +* Habilitar la autenticación multifactor. +* Reforzar los requisitos de las contraseñas. +* Bloquear los puertos y protocolos no utilizados en los límites del segmento y de la red, tanto entrantes como salientes. +* Poner en lista blanca las conexiones de red para los servidores y servicios críticos. + +### Detectar + +> "¿Cómo podemos detectar esto en los nuevos sistemas o en el futuro? ¿Cómo podemos mejorar la detección e investigación en el futuro?" + +Utilice lo siguiente como punto de partida para la corrección de detecciones: + +* Mejorar el registro y la retención de los registros del sistema, especialmente en los sistemas críticos. +* Mejorar el registro de las aplicaciones, incluidas las aplicaciones SaaS. +* Mejorar la agregación de registros. +* Actualice las firmas de IDS de la red y del host utilizando los IOC. + +### Contener + +> "¿Cómo podemos evitar que esto se extienda o se agrave? ¿Cómo podemos mejorar la contención en el futuro?" + +Utilice lo siguiente como punto de partida para la corrección de la contención: + +* Implementar listas de acceso (ACL) en los límites de los segmentos de la red. +* Implementar bloqueos en el límite de la empresa, en múltiples capas del [modelo OSI](https://en.wikipedia.org/wiki/OSI_model). +* Desactivar o eliminar el acceso de las cuentas comprometidas. +* Bloquear direcciones IP o redes maliciosas. +* Bloquee los dominios maliciosos. +* Actualizar las firmas de IPS y antimalware de la red y el host mediante COI. +* Retirar de la red los sistemas críticos o comprometidos. +* Póngase en contacto con los proveedores para obtener ayuda (por ejemplo, proveedores de servicios de Internet, proveedores de SaaS). +* Poner en lista blanca las conexiones de red para los servidores y servicios críticos. +* Matar o deshabilitar procesos o servicios. +* Bloquear o eliminar el acceso de proveedores y socios externos, especialmente el acceso privilegiado. + +### Eliminar + +> "¿Cómo podemos eliminar esto de nuestros activos? ¿Cómo podemos mejorar la erradicación en el futuro?" + +Utilice lo siguiente como punto de partida para la remediación de la erradicación: + +* Reconstruir o restaurar los sistemas y datos comprometidos a partir de un estado bueno conocido. +* Restablecer las contraseñas de las cuentas. +* Eliminar cuentas o credenciales hostiles. +* Borrar o eliminar malware específico (¡difícil!). +* Implementar proveedores alternativos. +* Activar y migrar a ubicaciones, servicios o servidores alternativos. + +## Elegir el momento de la remediación + +Determine la estrategia de tiempo -cuando se tomarán las acciones de remediación- involucrando al Comandante de Incidentes, a los PYMES y propietarios del sistema, a los PYMES y propietarios de la unidad de negocio, y al equipo ejecutivo. Cada estrategia es apropiada en diferentes circunstancias: + +* Elija la reparación **inmediata** cuando sea más importante detener inmediatamente las actividades del atacante que seguir investigando. Por ejemplo, una pérdida financiera en curso, o un fracaso de la misión en curso, una pérdida de datos activa, o la prevención de una amenaza significativa inminente. +* Elija una reparación **retrasada** cuando sea importante completar la investigación o no alertar al atacante. Por ejemplo, el compromiso a largo plazo de un atacante avanzado, el espionaje corporativo o el compromiso a gran escala de un número desconocido de sistemas. +* Elija la remediación **combinada** cuando las circunstancias inmediatas y retardadas se apliquen en el mismo incidente. Por ejemplo, la segmentación inmediata de un servidor o red sensible para cumplir con los requisitos reglamentarios mientras se investiga un compromiso a largo plazo. + +## Ejecutar la remediación + +* Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. `TODO: Personalizar el procedimiento de aprobación de los riesgos de la remediación, si es necesario.` +* Implementar inmediatamente aquellas acciones de remediación que afecten poco o nada al atacante (a veces llamadas "acciones de postura"). Por ejemplo, muchas de las acciones de [protección](#protect) y [detección](#detect) anteriores son buenas candidatas. +* Programar y asignar acciones de remediación de acuerdo con la estrategia de tiempo. +* Ejecute las acciones de corrección en lotes, como eventos, para lograr la máxima eficacia y el mínimo riesgo. +* Documentar el estado de ejecución y el tiempo en el archivo de incidentes, especialmente para las medidas temporales. + +## Iterar la remediación + +[Actualice el plan de remediación](#update-remediation-plan) y repita hasta el cierre. + +#Comunicar + +**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar + +Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunique especulaciones. + +## Comunicar internamente + +### Notificar y actualizar a las partes interesadas + +* Comuníquese con las partes interesadas como parte de las llamadas iniciales y de actualización, así como a través de actualizaciones impulsadas por eventos en la llamada y el chat. +* Coordinar las actualizaciones independientes (_e._, ejecutivas, legales) según sea necesario, pero con la menor frecuencia posible, para mantener el foco en la investigación y la reparación. +* Concéntrese en la mejor evaluación del vector, el impacto, el resumen y los aspectos más destacados de la línea de tiempo, incluidos los pasos de remediación. No especule. + +### Notificar y actualizar la organización + +* No notifique ni ponga al día al personal que no ha respondido hasta que el Comandante del Incidente lo autorice, especialmente si existe riesgo de amenaza interna. +* Coordine las actualizaciones de los equipos o de toda la organización con los ejecutivos y la dirección de la empresa. +* Concéntrese en la mejor evaluación del vector, el impacto, el resumen y los aspectos más destacados de la línea de tiempo, incluidos los pasos de remediación. No especule. + +### Crear Informe de Incidentes + +* Tras el cierre del incidente, capture la información en el [archivo del incidente](#create-incident-file) para su distribución utilizando el formato en {{INCIDENT_REPORT_TEMPLATE}}. **Si los informes de vector, impacto, resumen, línea de tiempo y actividad están completos, esto puede ser totalmente automatizado.** +* Distribuir el informe de incidentes a lo siguiente: {{INCIDENT_REPORT_RECIPIENTS}}. +* `TODO: Personalizar la creación y distribución del informe de incidentes, si es necesario`. + +## Comunicar externamente + +### Notificar a los reguladores + +* **No** notifique o actualice al personal que no responde hasta que el Comandante del Incidente lo autorice. +* Notificar a los organismos reguladores (por ejemplo, HIPAA/HITRUST, PCI DSS, SOX) si es necesario, y de acuerdo con la política. +* Coordinar los requisitos, el formato y el calendario con el {COMPLIANCE_TEAM{}}. + +### Notificar a los clientes + +* **No** notifique ni ponga al día al personal que no responde hasta que el Comandante del Incidente lo autorice. +* Coordinar las notificaciones a los clientes con {{COMMUNICATIONS_TEAM}}. +* Incluya la fecha en el título de cualquier anuncio, para evitar confusiones. +* No utilice tópicos como "nos tomamos la seguridad muy en serio". Céntrese en los hechos. +* Sea honesto, acepte la responsabilidad y presente los hechos, junto con el plan para prevenir incidentes similares en el futuro. +* Sea lo más detallado posible con la línea de tiempo. +* Sea lo más detallado posible en cuanto a la información que se vio comprometida y cómo afecta a los clientes. Si estábamos almacenando algo que no debíamos, sé honesto al respecto. Saldrá a la luz más tarde y será mucho peor. +* No hablemos de las partes externas que podrían haber causado el problema, a menos que ya lo hayan hecho público, en cuyo caso enlazaremos con su información. Comunícate con ellos de forma independiente (ver [Notificar a los proveedores](#notificar-a-vendedores-y-socios)) +* Publique la comunicación externa lo antes posible. Las malas noticias no mejoran con el tiempo. +* Si es posible, contacte con los equipos de seguridad internos de los clientes antes de notificar al público. + +### Notificar a los proveedores y socios + +* **No** notifique ni ponga al día al personal que no responde hasta que el Comandante del Incidente lo autorice. +* Si es posible, póngase en contacto con los equipos de seguridad internos de los proveedores y socios antes de notificar al público. +* Céntrese en los aspectos específicos del incidente que afectan o implican al proveedor o socio. +* Coordine los esfuerzos de respuesta y comparta la información si es posible. + +### Notificar a las fuerzas de seguridad + +* **No** notifique o ponga al día al personal que no ha respondido hasta que el Comandante del Incidente lo autorice. +* Coordinar con {{EXECUTIVE_TEAM}} y {{LEGAL_TEAM}} antes de interactuar con las fuerzas del orden. +* Póngase en contacto con las fuerzas del orden locales en {{LOCAL_LE_CONTACT}}. +* Póngase en contacto con el FBI en {{FBI_CONTACT}} o a través del [Internet Crime Complaint Center (IC3)](https://www.ic3.gov). +* Póngase en contacto con los operadores de cualquier sistema utilizado en el ataque, sus sistemas también pueden haber sido comprometidos. + +### Contact External Response Support + +* Contacte con {{INCIDENT_RESPONSE_VENDOR}} para que le ayude a evaluar el riesgo, la gestión del incidente, la respuesta al mismo y el apoyo posterior al incidente. +* Póngase en contacto con {{PUBLIC_RELATIONS_VENDOR}} para que le ayude con las relaciones públicas y la comunicación externa. +* Contacte con {{INSURANCE_VENDOR}} para que le ayude con el ciberseguro. + +### Compartir Inteligencia + +* Comparta los IOC con [Infragard](https://www.infragard.org/) si procede. +* Comparta los IOC con su [ISAC](https://en.wikipedia.org/wiki/Information_Sharing_and_Analysis_Center) de servicio a través de {{ISAC_CONTACT}}, si procede. + +# `Recuperación + +`TODO: Personalizar los pasos de recuperación.` + +`TODO: Especificar las herramientas y procedimientos para cada paso, a continuación.` + +**La recuperación suele estar dirigida por las unidades de negocio y los propietarios de los sistemas. Tomar acciones de recuperación sólo en colaboración con las partes interesadas pertinentes.** + +1. Poner en marcha planes de continuidad de la actividad/recuperación de desastres: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de respaldo. +1. Integrar las acciones de seguridad con los esfuerzos de recuperación de la organización. + +# Cuadernos de juego + +Los siguientes libros de juego recogen los pasos comunes de [investigación](#investigación), [reparación](#remediación) y [comunicación](#comunicación) para determinados tipos de incidentes. + +Tarea: Crear libros de juego adicionales para tipos de incidentes muy probables o muy perjudiciales. + +## Playbook: Desaparición de sitios web + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. + +Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. + +### Investigar +1. Desconecta inmediatamente el servidor defectuoso para investigarlo más a fondo. + * Esto es especialmente importante si la desfiguración es insultante o provocadora de alguna manera. Elimine esto de la vista del público tan pronto como sea posible para evitar daños, así como para mitigar el impacto del negocio. + * El mensaje de desfiguración también puede contener información falsa que podría confundir a los usuarios o ponerlos en peligro. + * Desconectar el servidor permitirá una investigación más profunda de la desfiguración. Esto puede ser necesario, ya que el hacker puede haberse adentrado en la organización accediendo a servidores de aplicaciones, bases de datos, etc. +2. Determine el origen de la vulnerabilidad del sistema que ha utilizado el atacante. Los exploits más comunes son: + * Ataques de inyección SQL + * Este tipo de ataque se produce cuando un atacante interfiere en las consultas de una aplicación a la base de datos. Por lo tanto, esto puede conducir a un acceso no autorizado a datos privados o sensibles. Lea más sobre los ataques de inyección SQL [aquí](https://www.acunetix.com/websitesecurity/sql-injection/) + * Ataques de inclusión remota de archivos (RFI) + * Este tipo de ataque aprovecha la función de referencia de una aplicación para cargar malware desde una URL remota. Más información sobre los ataques RFI [aquí](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/) + * webshells + * Más información sobre web shells y defacement de sitios web [aquí](https://www.wordfence.com/blog/2017/06/wso-shell/) + * mal diseño de aplicaciones web + * hacks de javascript + * hacks de PHP/ASP + * Aquí hay más sobre [hacking con javascript](https://itnext.io/how-companies-are-hacked-via-malicious-javascript-code-12aa82560bdc) + * otros métodos de detección incluyen: + * Comprobar los registros del servidor + * buscar en el registro de acceso y en el registro de errores de la página web cualquier actividad sospechosa o desconocida + * por supuesto, también es una buena idea comprobar los registros del firewall IDS o IPS, si están disponibles + * Comprobar los archivos con contenido estático + * Escanear las bases de datos en busca de contenido malicioso + * Comprobación de los enlaces presentes en la página +3. Recoger cualquier pista sobre quién es el hacker o para qué organización trabaja. Considere las siguientes preguntas: + * ¿Qué representa la desfiguración? ¿Incluía un mensaje obvio? + * ¿Parece la desfiguración inofensiva o intencionada? ¿Podría ser el hacker un niño jugando o un grupo profesional que trabaja con un motivo? + * ¿Parece que su organización es el objetivo? ¿Quién podría querer atacar a su organización? + * ¿Qué esperaba conseguir el hacker? + * Consulta [aquí](https://www.geeksforgeeks.org/types-of-hackers/) para saber más sobre los tipos de hackers que pueden haber atacado tu página web. +4. Recoge otra información importante de la página que ha sido desfigurada, como por ejemplo + * una captura de pantalla de la desfiguración + * el dominio y la dirección IP de la página + * detalles del servidor web + * el código fuente de la página + * analizarlo cuidadosamente para identificar el problema y asegurarse de que se encuentra en un servidor de la empresa + * nombre o cualquier información sobre el atacante +6. También existen herramientas que ayudan a la detección y al análisis de los registros. A continuación se enumeran algunas de ellas: + * Weblog Expert + * Sawmill + * Deep Log Analyzer + + +Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para la desfiguración de sitios web. + +### Remediar + +* **Planifique eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. +**Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para la desfiguración de sitios web. + +Tarea: Especificar las herramientas y los procedimientos para cada paso, a continuación. + +1. Haga una copia de seguridad de todos los datos almacenados en el servidor web con fines forenses. +2. Como se ha mencionado anteriormente, asegúrese de que el servidor de la página desfigurada está temporalmente fuera de servicio mientras se lleva a cabo la investigación. + * Debería tener una página de error preparada para esta situación que informe al usuario y/o a los empleados de que el mantenimiento está en marcha y que la página que buscaban volverá en breve. Incluso podría tener preparada una página web de respaldo en la que pueda publicar contenido mientras se lleva a cabo la investigación y la reparación, y hacer que su página de error temporal redirija a los usuarios a este sitio de respaldo. + * Compruebe su mapa de arquitectura de red. Si la brecha es otro sistema de la red, descárguelo e investíguelo. +3. Una vez que se haya determinado el origen del ataque, aplique los pasos necesarios para garantizar que esto no vuelva a suceder. Esto puede incluir la modificación del código o la edición de los derechos de acceso. + * Consulte la sección "Investigar" para conocer las fuentes comunes de vulnerabilidad. + * Si esto está fuera de su dominio, simplemente asegúrese de que ha dado al personal apropiado toda la información que tiene sobre el ataque y permita que los expertos hagan su trabajo. + +### Recuperación + +`TODO: Personalizar los pasos de recuperación para el defacement`. + +`TODO: Especifique las herramientas y procedimientos para cada paso, a continuación`. + +1. Elimine el mensaje del hacker y reemplácelo con el contenido original y legítimo. Si se han perdido datos en el ataque, consulte las copias de seguridad y restaure la página original en la medida de lo posible. + * Compruebe las copias de seguridad en busca de indicadores de compromiso + * Considere la recuperación parcial y la prueba de integridad de las copias de seguridad +2. Considere pedir a los usuarios que cambien sus credenciales de acceso si el servidor web tiene autenticación de usuario. +3. Después de aplicar las medidas para evitar riesgos (como se recomienda a continuación), restaure su servidor mostrando el contenido original de la página. +4. Si es necesario y/o aplicable, prepare una disculpa/explicación del ataque ocurrido para los usuarios o cualquier persona que haya presenciado la desfiguración. Asegúrese de que queda claro que el contenido desfigurado no refleja a su organización de ninguna manera. + +#### Evitar riesgos + +`TODO: Comuníquese con otros empleados para asegurarse de que todos entienden y contribuyen a los siguientes pasos, cuando sea aplicable`. + +1. Utilice el menor número de plug-ins posible. Los piratas informáticos tienen como objetivo los sitios web que son vulnerables y tienen muchas fuentes de entrada. Puedes limitar estas fuentes de entrada utilizando sólo lo que necesites y eliminando los plug-ins y el software que no utilices o sean antiguos. También es importante actualizarlos lo antes posible. +2. Controle de cerca y ordene el acceso a los contenidos administrativos. Permita que las personas accedan sólo a lo que necesitan. Esto reducirá la posibilidad de que un error humano provoque un ciberataque. Hay más métodos de prevención DIY mencionados en [este artículo](https://cirt.gy/index.php/node/116) (pasos 6-12) y en el recurso #4 al final de este playbook. +3. Comprueba regularmente si hay malware en tu sitio web escaneando el código fuente. Busca scripts, iframes o URLs que te parezcan desconocidos y asegúrate de escanear también las URLs que sí te resulten familiares. +4. Hay muchos escáneres automáticos de sitios web de gran reputación que no le costarán nada de su tiempo y escanearán a fondo su sitio en busca de vulnerabilidades con regularidad. Aquí hay un [enlace a escáneres populares](https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref). +5. Defiéndase contra los puntos comunes de explotación, como las inyecciones SQL y los ataques XSS. [Este artículo](https://www.banffcyber.com/knowledge-base/articles/best-practices-address-issue-web-defacement/) incluye las mejores prácticas para defender estos ataques. +6. Instala programas de detección de desfiguración para que, si volviera a producirse un ataque, estés preparado y respondas rápidamente. Aquí hay un [artículo](https://www.techradar.com/news/best-website-defacement-monitoring-service) que resume algunos de los mejores servicios de monitoreo de 2020. +7. Habla con tus empleados de la importancia de mantener el acceso administrativo limitado y confidencial e infórmales de estos pasos para evitar incidentes, incluyendo la formación periódica de concienciación sobre ciberseguridad. + +#### Referencia: Recursos de remediación + +`TODO: especificar los recursos financieros, de personal y logísticos para llevar a cabo la reparación`. + +### Comunicar + +TODO: Personalizar los pasos de comunicación para la desfiguración + +TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. + +1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento +1. 2. Documentar el incidente según el procedimiento (e informar si procede) +1. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._. +1. Comunicarse con los usuarios (internos) + 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento + 1. Comunicar el impacto del incidente **y** las acciones de respuesta al incidente (por ejemplo, contención: "¿por qué está caído el archivo compartido?") + 1. Comunicar los requisitos: "¿qué deben hacer y no hacer los usuarios?" +1. Comunicar a los clientes + 1. Centrarse especialmente en aquellos cuyos datos se vieron afectados + 1. Generar las notificaciones requeridas en base a las regulaciones aplicables (particularmente aquellas que puedan considerar la desfiguración como una violación de datos o que requieran notificaciones de otro tipo) `TODO: Ampliar los requisitos y procedimientos de notificación para las regulaciones aplicables`. +1. Contactar con los proveedores de seguros + 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._. + 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad +1. Considerar la posibilidad de notificar e implicar a las fuerzas del orden. TODO: Vincule las siguientes viñetas con los recursos reales de su organización + 1. [Aplicación de la ley local](#TODO-link-to-actual-resource) + 1. 1. [Aplicación de la ley a nivel estatal o regional](#TODO-link-to-actual-resource) + 1. 1. [Fuerzas de seguridad federales o nacionales](#TODO-link-to-actual-resource) +1. Comuníquese con los proveedores de seguridad y de TI TODO: Vincule las siguientes viñetas con los recursos reales de su organización + 1. Notifique y colabore con [proveedores gestionados](#TODO-link-to-actual-resource) según el procedimiento + 1. 2. Notificar y colaborar con [consultores de respuesta a incidentes](#TODO-link-to-actual-resource) por procedimiento + +### Recursos + +#### Referencia: Acciones del usuario ante un presunto ataque de desfiguración + +`TODO: Personalizar los pasos de los usuarios ante una sospecha de defacement`. + +1. Mantenga la calma y respire profundamente. +1. 2. Desconecte su sistema de la red `TODO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para facilitar esta tarea ("romper en caso de emergencia"), considere los interruptores de corte de red por hardware`. +1. Haz fotos de la página que veas con tu smartphone mostrando las cosas que has notado: el mensaje de desfiguración y cualquier otro cambio en el sitio habitual. +1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: + 1. ¿Qué has notado? + 1. ¿Cuándo ocurrió por primera vez, y con qué frecuencia desde entonces? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? +1. Ponte en contacto con el [servicio de asistencia](#TODO-enlace-al-recurso) y sé lo más servicial posible. +1. Ten paciencia: deja que el personal informático lo controle, ¡puedes estar protegiendo a otros de un daño! **Gracias.** + +#### Referencia: Acciones del Help Desk ante un presunto ataque de defacement + +`TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de defacement`. + +1. Mantenga la calma y respire profundamente. +1. Abra un ticket para documentar el incidente, según el procedimiento. Tarea: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior. +1. Utiliza tu mejor criterio para decidir qué pasos priorizar (por ejemplo, si la desfiguración dejó contenido dañino o desencadenante, prioriza la retirada del servidor inmediatamente). +1. Pídele al usuario que tome fotos de su pantalla con su teléfono inteligente mostrando las cosas que notó. +1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haga preguntas detalladas, incluyendo + 1. ¿Qué has notado? + 1. ¿Cuándo ocurrió por primera vez, y con qué frecuencia desde entonces? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? +1. Haga las preguntas de seguimiento que sean necesarias. **Usted es una persona que responde al incidente, contamos con usted.** +1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede. +1. Registre toda la información en el ticket, incluyendo las notas manuscritas y de voz. +1. Ponga en cuarentena a los usuarios y sistemas afectados. `TODO: Personalizar los pasos de contención, automatizar todo lo posible`. +1. Póngase en contacto con el [equipo de seguridad] (#TODO-link-to-actual-resource) y prepárese para participar en la respuesta según las indicaciones: investigación, reparación, comunicación y recuperación. + +#### Información adicional +1. A helpful and detailed [paper](https://pdfs.semanticscholar.org/899e/2d629e06d920b9059edb21fcb52cdb33f783.pdf) on defacement detection +2. 10 tools for [better website monitoring and security](https://geekflare.com/website-defacement-monitoring/) +3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) with helpful statistics +4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) including DIYs and Best practices to prevent website defacement## Playbook: Identity and Access Compromise + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. + +Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la identidad y el acceso. + +1. TODO + +### Remediar + +* **Planificar eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. +* **Considere el tiempo y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la identidad y el acceso. + +TODO: Especificar las herramientas y procedimientos para cada paso, a continuación. + +*TODO + +`TODO: Considerar la automatización de las medidas de contención utilizando herramientas de orquestación.` + +#### Erradicar + +TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso. + +TODO: Especificar herramientas y procedimientos para cada paso, a continuación. + +* `TODO + +#### Referencia: Remediation Resources + +`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` + +### Communicate + +`TODO: Customize communication steps for identity and access compromise` + +`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` + +In addition to the general steps and guidance in the incident response plan: + +1. TODO + +### Recover + +`TODO: Customize recovery steps for identity and access compromise.` + +`TODO: Specify tools and procedures for each step, below.` + +In addition to the general steps and guidance in the incident response plan: + +1. TODO + +### Resources + +#### Additional Information + +1. ["Title"](#TODO-url), Author Last Name (Date) + +## Playbook: Phishing + +**Investigate, remediate (contain, eradicate), and communicate in parallel!** + +Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Utilice su mejor criterio. + +### Investigar + +Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el phishing. + +1. **Ampliar el ataque** Normalmente se le notificará que se está produciendo un posible ataque de phishing, ya sea por parte de un usuario, cliente o socio. + * Determinar el número total de usuarios afectados. + * Comprender las acciones de los usuarios en respuesta al correo electrónico de phishing (por ejemplo, si descargaron el archivo adjunto, visitaron el sitio falso o proporcionaron información personal o comercial, como credenciales). + * Encontrar la actividad potencialmente relacionada. Compruebe: + * las redes sociales + * cualquier correo electrónico posiblemente sospechoso + * correos electrónicos con enlaces a URLs externas y desconocidas + * correos electrónicos no retornables o no entregables + * cualquier tipo de notificación de actividad sospechosa +1. **Analizar el mensaje** utilizando un dispositivo seguro (es decir, **no** abrir los mensajes en un dispositivo con acceso a datos sensibles o credenciales ya que el mensaje puede contener malware), determinar: `TODO: especificar las herramientas y el procedimiento`. + * quién ha recibido el mensaje + * quién era el objetivo del mensaje (puede ser diferente de los destinatarios "exitosos") + * la dirección de correo electrónico del remitente + * línea de asunto + * cuerpo del mensaje + * los archivos adjuntos (**no abra los archivos adjuntos** salvo según los procedimientos establecidos) + * enlaces, dominios y nombres de host (**no siga los enlaces** excepto según los procedimientos establecidos) + * Metadatos del correo electrónico, incluidas las cabeceras de los mensajes (véase más adelante). + * información del remitente en el campo "de" y en la cabecera de usuario autenticado X + * todas las direcciones IP del cliente y del servidor de correo + * anotar las "rarezas" o características sospechosas +1. **Analizar los enlaces y los archivos adjuntos** `TODO: especificar las herramientas y el procedimiento`. + * Utilizar la recopilación pasiva, como nslookup y whois, para encontrar direcciones IP e información de registro. + * encontrar dominios relacionados utilizando OSINT (_e._, [reverse whois](https://www.whoxy.com/reverse-whois/)) en direcciones de correo electrónico y otros datos de registro + * enviar enlaces, archivos adjuntos y/o hashes a [VirusTotal](https://www.virustotal.com/gui/) + * enviar enlaces, archivos adjuntos y/o hashes a un sandbox de malware como [Cuckoo](https://cuckoosandbox.org/), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/), o [VMray](https://www.vmray.com/). +1. Categorice el tipo de ataque. `TODO: Personalizar las categorías y crear libros de jugadas adicionales para tipos de phishing comunes o de alto impacto`. +1. **Determine la gravedad: + * si la seguridad pública o personal está en riesgo + * si los datos personales (u otros datos sensibles) están en riesgo + * si hay pruebas de quién está detrás del ataque + * número de activos afectados + * el impacto preliminar en el negocio + * si los servicios se ven afectados + * si se pueden controlar/registrar los sistemas críticos + +`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el phishing.` + +### Remediar + +* **Planifique eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. +**Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el phishing. + +ToDo: Especifique las herramientas y los procedimientos para cada paso, a continuación. + +* Contener las cuentas afectadas + * cambiar las credenciales de acceso + * reducir el acceso a los servicios, sistemas o datos críticos hasta que se complete la investigación + * Reforzar la autenticación multifactor (MFA) +* Bloquear la actividad en función de los indicadores de compromiso descubiertos, _e.g._: + * bloquear dominios maliciosos mediante DNS, cortafuegos o proxies + * Bloquear los mensajes con remitentes, cuerpos de mensajes, asuntos, enlaces, archivos adjuntos similares, etc., utilizando un servicio o una pasarela de correo electrónico. +* Implementar la retención forense o conservar copias forenses de los mensajes +* Purgar los mensajes relacionados de las bandejas de entrada de otros usuarios, o hacerlos inaccesibles de otro modo. +* Contener el compromiso más amplio de acuerdo con el plan general de IR +* Considerar medidas de contención de los dispositivos móviles, como el borrado a través de la gestión de dispositivos móviles (MDM). Equilibrio con el impacto de la investigación/forense. +* Aumentar el "nivel de alerta" de la detección, con una mayor supervisión, en particular de las cuentas, dominios o direcciones IP relacionadas. +* Considerar la posibilidad de contar con asistencia externa en materia de seguridad para apoyar la investigación y la reparación. +* Confirmar las actualizaciones de software y antimalware pertinentes en los activos. + +#### Referencia: Recursos de remediación + +`TODO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la reparación`. + +### Comunicar + +TODO: Personalizar los pasos de comunicación para la suplantación de identidad. + +TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. + +1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento +1. Documente el incidente según el procedimiento (y [informe](https://us-cert.cisa.gov/report-phishing)) +1. 2. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._. +1. Comunicarse con los usuarios (internos) + 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento + 1. Comunicar el impacto del incidente **y** las acciones de respuesta al incidente (por ejemplo, contención: "¿por qué está caído el archivo compartido?") + 1. Comunicar los requisitos: "¿qué deben hacer y no hacer los usuarios?" +1. Comunicar a los clientes + 1. Centrarse especialmente en aquellos cuyos datos se vieron afectados + 1. Genere las notificaciones requeridas en función de la normativa aplicable (en particular, las que puedan considerar el phishing como una violación de datos o que requieran notificaciones de otro tipo) `TODO: Ampliar los requisitos y procedimientos de notificación para la normativa aplicable`. +1. Contacte con el/los proveedor/es de seguros + 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._. + 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad +1. Considere la posibilidad de notificar e implicar a [las fuerzas de seguridad](https://www.usa.gov/stop-scams-frauds) TODO: Vincule las siguientes viñetas con los recursos reales de su organización + 1. 1. [Aplicación de la ley local](#TODO-link-to-actual-resource) + 1. 1. [Aplicación de la ley a nivel estatal o regional](#TODO-link-to-actual-resource) + 1. 1. [Fuerzas de seguridad federales o nacionales](#TODO-link-to-actual-resource) +1. Comuníquese con los proveedores de seguridad y de TI TODO: Vincule las siguientes viñetas con los recursos reales de su organización + 1. Notifique y colabore con [proveedores gestionados](#TODO-link-to-actual-resource) según el procedimiento + 1. Notifique y colabore con [consultores de respuesta a incidentes](#TODO-link-to-actual-resource) por procedimiento + +### Recuperación + +`TODO: Personalizar los pasos de recuperación para el phishing`. + +`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación`. + +1. Poner en marcha un plan de continuidad de negocio/recuperación de desastres si el compromiso implica interrupciones de negocio: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de copia de seguridad. +1. Reforzar los programas de formación sobre los ataques de phishing sospechosos. Los principales indicadores de sospecha pueden ser: + * errores ortográficos en el mensaje o en el asunto + * Nombres de remitentes que parezcan de teléfono, incluida la falta de coincidencia entre el nombre y la dirección de correo electrónico. + * Direcciones de correo electrónico personales para asuntos oficiales (por ejemplo, correos electrónicos de gmail o yahoo de colegas de trabajo). + * líneas de asunto marcadas con "[EXTERNO]" en correos electrónicos que parecen internos + * [enlaces maliciosos o sospechosos](https://www.pcworld.com/article/248963/how-to-tell-if-a-link-is-safe-without-clicking-on-it.html) + * Recibir un correo electrónico o un archivo adjunto que no se esperaba pero que proviene de alguien conocido (contactar con el remitente antes de abrirlo). + * Informar de actividades sospechosas al departamento de TI o de seguridad. +1. Asegúrate de que el personal de TI y de seguridad está al día de las técnicas de phishing más recientes. +1. Determine si ha fallado algún control al ser víctima de un ataque y rectifíquelo. He aquí una [buena fuente](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) a tener en cuenta tras un ataque de phishing. + +### Recursos + +#### Referencia: Acciones del usuario ante la sospecha de un ataque de phishing + +`TODO: Personalizar los pasos para los usuarios ante una sospecha de phishing`. + +1. Mantenga la calma y respire profundamente. +1. 2. Haz fotos de tu pantalla con tu smartphone mostrando las cosas que has notado: el mensaje de phishing, el enlace si lo has abierto, la información del remitente. +1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿Dónde estaba cuando ocurrió y en qué red? (oficina/casa/tienda, con cable/inalámbrica, con/sin VPN, _etc._) + 1. ¿Qué sistemas está utilizando? (sistema operativo, nombre de host, _etc._) + 1. ¿Qué cuenta utilizas? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más te has puesto en contacto sobre este incidente y qué les has dicho? +1. Ponte en contacto con el [servicio de ayuda](#TODO-link-to-actual-resource) utilizando la [línea directa de phishing](#TODO-link-to-actual-resource) o la [barra de herramientas de informe de phishing](#TODO-link-to-actual-resource) y sé lo más servicial posible. +1. Ten paciencia: la respuesta puede ser perturbadora, pero estás protegiendo a tu equipo y a la organización. **Gracias.** + +#### Referencia: Acciones del servicio de asistencia ante un presunto ataque de phishing + +`TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de phishing`. + +1. Mantenga la calma y respire profundamente. +1. Abra un ticket para documentar el incidente, según el procedimiento. Tarea: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior. +1. Pídale al usuario que tome fotos de su pantalla usando su smartphone mostrando las cosas que notó: el mensaje de phishing, el enlace si lo abrió, la información del remitente, _etc._ Si es algo que notó directamente, haga lo mismo usted. +1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haz preguntas detalladas, incluyendo + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿De qué redes se trata? (oficina/casa/tienda, cableada/inalámbrica, con/sin VPN, _etc._) + 1. 2. ¿De qué sistemas se trata? (sistema operativo, nombre de host, _etc._) + 1. 2. ¿De qué datos se trata? (rutas, tipos de archivos, archivos compartidos, bases de datos, software, _etc._) + 1. ¿Qué usuarios y cuentas están implicados? (directorio activo, SaaS, SSO, cuentas de servicio, _etc._) + 1. ¿A qué datos suelen acceder los usuarios implicados? + 1. ¿Con quién más has contactado acerca de este incidente y qué les has dicho? +1. Haz las preguntas de seguimiento que sean necesarias. **Usted es el encargado de responder al incidente, contamos con usted.** +1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede. +1. Registre toda la información en el ticket, incluyendo las notas manuscritas y de voz. +1. Ponga en cuarentena a los usuarios y sistemas afectados. `TODO: Personalizar los pasos de contención, automatizar todo lo posible`. +1. Póngase en contacto con el [equipo de seguridad] (#TODO-link-to-actual-resource) y prepárese para participar en la respuesta según las indicaciones: investigación, reparación, comunicación y recuperación. + +#### Información adicional + +1. [Anti-Phishing Attack resources](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/top-16-anti-phishing-resources/#gref) +1. [Methods of Identifying a Phishing attack](https://www.securitymetrics.com/blog/7-ways-recognize-phishing-email) +1. [Phishing Email Examples](https://www.phishing.org/phishing-examples) +1. [Anti-Phishing best practices](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/anti-phishing-best-practices/#gref) +## Playbook: Ransomware + +**Investigate, remediate (contain, eradicate), and communicate in parallel! Containment is critical in ransomware incidents, prioritize accordingly.** + +Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. + +### Investigate + +`TODO: Expand investigation steps, including key questions and strategies, for ransomware.` + +1. **Determine the type** of ransomware (_i.e.,_ what is the family, variant, or flavor?)[[1]](#ransomware-playbook-ref-1) + 1. Find any related messages. Check: + * graphical user interfaces (GUIs) for the malware itself + * text or html files, sometimes opened automatically after encryption + * image files, often as wallpaper on infected systems + * contact emails in encrypted file extensions + * pop-ups after trying to open an encrypted file + * voice messages + 1. Analyze the messages looking for clues to the ransomware type: + * ransomware name + * language, structure, phrases, artwork + * contact email + * formato de la identificación del usuario + * especificaciones de la demanda de rescate (_e._, moneda digital, tarjetas de regalo) + * dirección de pago en caso de moneda digital + * chat de soporte o página de soporte + 1. Analice los archivos afectados y/o nuevos. Compruebe: + * el esquema de cambio de nombre de los archivos encriptados, incluyendo la extensión (_e.g._, `.cry`, `.cry`, `.locked`) y el nombre base + * corrupción de archivos frente a encriptación + * Tipos de archivos y ubicaciones objetivo + * usuario/grupo propietario de los archivos afectados + * Icono de los archivos encriptados + * marcadores de archivos + * existencia de listados de archivos, archivos clave u otros archivos de datos + 1. Analice los tipos de software o sistemas afectados. Algunas variantes de ransomware sólo afectan a determinadas herramientas (_e._, [bases de datos](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) o plataformas (_e._, [productos NAS](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) + 1. Suba los indicadores a servicios de categorización automatizados como [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php), [ID Ransomware](https://id-ransomware.malwarehunterteam.com/), o similares. +1. **Determinar el alcance:** + 1. ¿Qué sistemas están afectados? `TODO: Especificar la(s) herramienta(s) y el procedimiento`. + * Escanear en busca de indicadores concretos de compromiso (IOCs) como archivos/hashes, procesos, conexiones de red, etc. Utilice [protección de puntos finales/EDR](#TODO-link-to-actual-resource), [telemetría de puntos finales](#TODO-link-to-actual-resource), [registros del sistema](#TODO-link-to-actual-resource), etc. + * Compruebe si hay sistemas similares infectados (_por ejemplo, usuarios, grupos, datos, herramientas, departamento, configuración, estado de los parches): compruebe [herramientas IAM](#TODO-link-to-actual-resource), [herramientas de gestión de permisos](#TODO-link-to-actual-resource), [servicios de directorio](#TODO-link-to-actual-resource), _etc._. + * Encuentra el comando y control externo (C2), si está presente, y encuentra otros sistemas que se conectan a él: comprueba [registros del cortafuegos o IDS](#TODO-enlace-al-recurso-real), [registros del sistema/EDR](#TODO-enlace-al-recurso-real), [registros del DNS](#TODO-enlace-al-recurso-real), [registros del netflow o del router](#TODO-enlace-al-recurso-real), _etc._. + 1. ¿Qué datos se ven afectados? (_e._, tipos de archivos, departamento o grupo, software afectado) `TODO: Especifique la(s) herramienta(s) y el procedimiento`. + * Buscar cambios anómalos en los metadatos de los archivos, como cambios masivos en las horas de creación o modificación. Comprobar [herramientas de búsqueda de metadatos de archivos](#TODO-link-to-actual-resource) + * Encontrar cambios en archivos de datos normalmente estables o críticos. Compruebe las herramientas de [supervisión de la integridad de los archivos](#TODO-link-to-actual-resource) +1. **Assess the impact** to prioritize and motivate resources + 1. Assess functional impact: impact to business or mission. + * How much money is lost or at risk? + * How many (and which) missions are degraded or at risk? + 1. Assess information impact: impact to confidentiality, integrity, and availability of data. + * How critical is the data to the business/mission? + * How sensitive is the data? (_e.g._, trade secrets) + * What is the regulatory status of data (_e.g._, PII, PHI) +1. **Find the infection vector.** Check the tactics captured in the [Initial Access tactic](https://attack.mitre.org/tactics/TA0001/) of MITRE ATT&CK[[4]](#ransomware-playbook-ref-4). Common specifics and data sources include: + * email attachment: check [email logs](#TODO-link-to-actual-resource), [email security appliances and services](#TODO-link-to-actual-resource), [e-discovery tools](#TODO-link-to-actual-resource), _etc._ + * insecure remote desktop protocol (RDP): check [vulnerability scanning results](#TODO-link-to-actual-resource), [firewall configurations](#TODO-link-to-actual-resource), _etc._ + * self-propagation (worm or virus) (check [host telemetry/EDR](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), [forensic analysis](#TODO-link-to-actual-resource), _etc._) + * infección a través de unidades extraíbles (gusano o virus) + * entregado por otro malware o herramienta de ataque: ampliar la investigación para incluir herramientas de ataque o malware adicionales + +### Remediar + +* **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. +* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el ransomware. + +ToDo: Especificar las herramientas y los procedimientos para cada paso, a continuación. + +**En situaciones de ransomware, la contención es fundamental. Informar de las medidas de contención con los datos de la investigación. Dé mayor prioridad a las cuarentenas y otras medidas de contención que durante una respuesta típica.** + +Las cuarentenas (lógicas, físicas o ambas) impiden la propagación _desde_ los sistemas infectados y evitan la propagación _hacia_ los sistemas y datos críticos. Las cuarentenas deben ser exhaustivas: incluir el acceso a la nube/SaaS, el inicio de sesión único, el acceso a sistemas como el ERP u otras herramientas empresariales, _etc._. + +* Poner en cuarentena los sistemas infectados +* Poner en cuarentena a los usuarios y grupos afectados. +* Ponga en cuarentena los archivos compartidos (no sólo los conocidos; proteja también los no infectados). +* Ponga en cuarentena las bases de datos compartidas (no sólo los servidores infectados conocidos; proteja también las bases de datos no infectadas) +* Ponga en cuarentena las copias de seguridad, si no están ya protegidas +* Bloquee los dominios y direcciones de comando y control +* Elimine los correos electrónicos vectoriales de las bandejas de entrada. +* Confirme que la protección de los puntos finales (AV, NGAV, EDR, etc.) está actualizada y activada en todos los sistemas. +* Confirmar que los parches se han desplegado en todos los sistemas (dando prioridad a los sistemas, sistemas operativos, software, etc.). +* Despliegue de firmas personalizadas en las herramientas de protección de puntos finales y de seguridad de la red basadas en los COI descubiertos. + +`TODO: Considerar la posibilidad de automatizar las medidas de contención mediante herramientas de orquestación.` + +#### Erradicar + +Tarea: Personalizar los pasos de erradicación, tácticos y estratégicos, para el ransomware. + +ToDo: Especifique las herramientas y los procedimientos para cada paso, a continuación. + +* Reconstruir los sistemas infectados a partir de soportes conocidos y buenos. +* Restaurar a partir de copias de seguridad conocidas y limpias. +* Confirmar que la protección de los puntos finales (AV, NGAV, EDR, etc.) está actualizada y activada en todos los sistemas. +* Confirmar que los parches se despliegan en todos los sistemas (dando prioridad a los sistemas, SO, software, etc.). +* Despliegue de firmas personalizadas en las herramientas de protección de puntos finales y de seguridad de la red, basándose en los IOC descubiertos. +* **Vigilar la reinfección:** considerar el aumento de la prioridad de las alarmas/alertas relacionadas con este incidente. + +#### Referencia: Recursos de remediación + +`TODO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la reparación. + +### Comunicar + +ToDo: Personalice los pasos de comunicación para el ransomware. + +Tarea: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general. + +1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento +1. 2. Documentar el incidente según el procedimiento +1. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._. +1. Comunicarse con los usuarios (internos) + 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento + 1. Comunicar el impacto del incidente **y** las acciones de respuesta a incidentes (por ejemplo, contención: "¿por qué está caído el archivo compartido?"), que pueden ser más intrusivas/perturbadoras durante los incidentes de ransomware + 1. Comunicar los requisitos: "¿qué deben hacer y no hacer los usuarios?". Véase "Referencia: Acciones del usuario en caso de sospecha de ransomware", a continuación +1. Comunicar a los clientes + 1. Concéntrese especialmente en aquellos cuyos datos se vieron afectados + 1. Genere las notificaciones requeridas en base a las regulaciones aplicables (particularmente aquellas que puedan considerar el ransomware como una violación de datos o que de alguna manera requieran notificaciones (_e.g._, [HHS/HIPAA](https://www.hhs.gov/sites/default/files/RansomwareFactSheet.pdf)) `TODO: Ampliar los requisitos y procedimientos de notificación para las normativas aplicables`. +1. Contactar con el/los proveedor/es de seguros + 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._. + 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad +1. Comunicarse con los reguladores, incluyendo una discusión sobre los recursos que pueden poner a su disposición (no sólo una notificación de tipo repetitivo: muchos pueden ayudar activamente) +1. Considerar la posibilidad de notificar e implicar a [las fuerzas del orden](https://www.nomoreransom.org/en/report-a-crime.html) + 1. [Aplicación de la ley local](#TODO-link-to-actual-resource) + 1. 1. [Fuerzas de seguridad estatales o regionales](#TODO-link-to-actual-resource) + 1. 1. [Fuerzas de seguridad federales o nacionales](#TODO-link-to-actual-resource) +1. Comunicarse con los proveedores de seguridad y de TI + 1. Notificar y colaborar con [proveedores gestionados](#TODO-link-to-actual-resource) según el procedimiento + 1. Notificar y colaborar con [consultores de respuesta a incidentes](#TODO-link-to-actual-resource) por procedimiento + +### Recuperación + +`TODO: Personalizar los pasos de recuperación para el ransomware. + +`TODO: Specify tools and procedures for each step, below.` + +> **We do not recommend paying the ransom:** it does not guarantee a solution to the problem. It can go wrong (_e.g._, bugs could make data unrecoverable even with the key). Also, paying proves ransomware works and could increase attacks against you or other groups.[[2, paraphrased]](#ransomware-playbook-ref-2) + +1. Launch business continuity/disaster recovery plan(s): _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. +1. Recover data from known-clean backups to known-clean, patched, monitored systems (post-eradication), in accordance with our [well-tested backup strategy](#TODO-link-to-actual-resource). + * Check backups for indicators of compromise + * Consider partial recovery and backup integrity testing +1. Find and try known decryptors for the variant(s) discovered using resources like the No More Ransom! Project's [Decryption Tools page](https://www.nomoreransom.org/en/decryption-tools.html). +1. Considere la posibilidad de pagar el rescate por los activos/datos críticos irrecuperables, de acuerdo con la política `TODO: Ampliar y socializar esta matriz de decisión`. + * Considerar las ramificaciones con las partes interesadas apropiadas + * Comprender las implicaciones financieras y el presupuesto + * Comprender las implicaciones legales, reglamentarias y de seguros + * Comprender los mecanismos (por ejemplo, tecnologías, plataformas, proveedores intermedios/intermediarios) + +### Recursos + +#### Referencia: Acciones de los usuarios ante la sospecha de ransomware + +`TODO: Personalizar los pasos para los usuarios ante la sospecha de ransomware`. + +1. Mantenga la calma y respire profundamente. +1. Desconecte su sistema de la red `TODO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para facilitar esta tarea ("romper en caso de emergencia"), considere los interruptores de corte de red por hardware`. +1. Haz fotos de tu pantalla con tu smartphone mostrando las cosas que has notado: mensajes de rescate, archivos encriptados, mensajes de error del sistema, _etc._. +1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿Dónde estaba cuando ocurrió y en qué red? (oficina/casa/tienda, con cable/inalámbrica, con/sin VPN, _etc._) + 1. ¿Qué sistemas está utilizando? (sistema operativo, nombre de host, _etc._) + 1. ¿Qué cuenta utilizas? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más te has puesto en contacto sobre este incidente y qué les has dicho? +1. Ponte en contacto con el [servicio de ayuda](#TODO-enlace-al-recurso) y sé lo más servicial posible +1. Ten paciencia: la respuesta puede ser perturbadora, pero estás protegiendo a tu equipo y a la organización. **Gracias.** + +#### Referencia: Acciones del servicio de asistencia para un presunto ransomware + +`TODO: Personalizar los pasos para el personal de la mesa de ayuda ante la sospecha de ransomware`. + +1. Mantenga la calma y respire profundamente. +1. Abra un ticket para documentar el incidente, según el procedimiento `TODO: Personalizar la plantilla con las preguntas clave (ver más abajo) y el flujo de trabajo de seguimiento`. +1. Pídale al usuario que tome fotos de su pantalla usando su smartphone mostrando las cosas que notó: mensajes de rescate, archivos encriptados, mensajes de error del sistema, _etc._ Si esto es algo que notó directamente, haga lo mismo usted. +1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haz preguntas detalladas, incluyendo + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿De qué redes se trata? (oficina/casa/tienda, cableada/inalámbrica, con/sin VPN, _etc._) + 1. 2. ¿De qué sistemas se trata? (sistema operativo, nombre de host, _etc._) + 1. 2. ¿De qué datos se trata? (rutas, tipos de archivos, archivos compartidos, bases de datos, software, _etc._) + 1. ¿Qué usuarios y cuentas están implicados? (directorio activo, SaaS, SSO, cuentas de servicio, _etc._) + 1. ¿A qué datos suelen acceder los usuarios implicados? + 1. ¿Con quién más has contactado acerca de este incidente y qué les has dicho? +1. Haz las preguntas de seguimiento que sean necesarias. **Usted es el encargado de responder al incidente, contamos con usted.** +1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede +1. Registre toda la información en el ticket, incluyendo notas manuscritas y de voz +1. Poner en cuarentena a los usuarios y sistemas afectados `TODO: Personalizar los pasos de contención, automatizar todo lo posible`. +1. Póngase en contacto con el [equipo de seguridad] (#TODO-link-to-actual-resource) y prepárese para participar en la respuesta según las indicaciones: investigación, remediación, comunicación y recuperación + +#### Información adicional + +1. ["Ransomware Identification for the Judicious Analyst"](https://www.gdatasoftware.com/blog/2019/06/31666-ransomware-identification-for-the-judicious-analyst), Hahn (12 Jun 2019) +1. [No More Ransom!](https://www.nomoreransom.org) Project, including their [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php?lang=en) service and their [Q&A](https://www.nomoreransom.org/en/ransomware-qa.html) +1. [ID Ransomware](https://id-ransomware.malwarehunterteam.com/) service +1. [MITRE ATT&CK Matrix](https://attack.mitre.org), including the [Initial Access](https://attack.mitre.org/tactics/TA0001/) and [Impact](https://attack.mitre.org/tactics/TA0040/) tactics + +## Playbook: Compromiso de la cadena de suministro + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. + +Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la cadena de suministro. + +1. TODO + +### Remediar + +* **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. +* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la cadena de suministro. + +TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación. + +*TODO + +`TODO: Considerar la posibilidad de automatizar las medidas de contención mediante herramientas de orquestación.` + +#### Erradicar + +TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la cadena de suministro. + +TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación. + +* `TODO + +#### Referencia: Recursos de remediación + +`TODO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la remediación.` + +### Comunicar + +`TODO: Personalizar los pasos de comunicación para el compromiso de la cadena de suministro`. + +###Todo: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general. + +Además de los pasos y orientaciones generales del plan de respuesta a incidentes: + +1. TODO + +### Recuperación + +TODO: Personalizar los pasos de recuperación para el compromiso de la cadena de suministro. + +TODO: Especificar las herramientas y procedimientos para cada paso, a continuación. + +Además de los pasos generales y la orientación en el plan de respuesta a incidentes: + +1. TODO + +### Recursos + +#### Información adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) + +# Roles + +A continuación se presentan las descripciones, los deberes y la formación para cada uno de los roles definidos en la respuesta a un incidente. + +#Hacer: Personalizar los roles, las descripciones, las funciones y la formación, si es necesario. + +## Estructura de los roles + +* Equipo de mando + * [Comandante de Incidentes](#role-incident-commander-ic) + * [Comandante Adjunto de Incidentes](#role-deputy-incident-commander-deputy) + * [Escribano](#role-scribe) +* Equipo de enlace + * Enlace interno (#role-liaison) + * Enlace externo +* Equipo de operaciones + * Expertos en la materia](#role-subject-matter-expert-sme) (PYMES) para sistemas + * PYMES para equipos/unidades de negocio + * PYMES para las funciones ejecutivas (_e._, Legal, RRHH, Finanzas) +En el caso de incidentes complejos de mayor envergadura, la estructura de roles puede ajustarse para tener en cuenta la creación de subequipos. Para más información, lea cómo gestionamos los [incidentes complejos] (/before/complex_incidents.md). + +Esta es una **estructura flexible**: cada rol no será ocupado por una persona diferente para cada incidente. Por ejemplo, en un incidente pequeño, el adjunto podría actuar como escribiente y enlace interno. La estructura es flexible y se adapta al incidente. + +## Tiempos de guerra vs. Tiempos de paz + +En las llamadas de respuesta a incidentes ("tiempos de guerra"), una estructura organizativa diferente anula las operaciones normales ("tiempos de paz"): + +* El comandante del incidente está al mando. Independientemente de su rango en tiempos de paz, ahora es la persona de mayor rango en la llamada, superior al director general. +* Los primeros intervinientes (las personas que actúan como primeros intervinientes de un equipo/servicio) son las personas de mayor rango de ese servicio. +* Las decisiones serán tomadas por el CI tras considerar la información presentada. Una vez tomada la decisión, es definitiva. +* El CI puede tomar decisiones más arriesgadas que las que normalmente se considerarían en tiempos de paz. +* El CI puede ir en contra de una decisión consensuada. Si se hace una encuesta, y 9/10 personas están de acuerdo pero 1 está en desacuerdo. El CI puede elegir la opción del desacuerdo a pesar del voto de la mayoría. Aunque no esté de acuerdo, la decisión del CI es definitiva. Durante la convocatoria no es el momento de discutir con ellos. +* El CI puede utilizar un lenguaje o comportarse de una manera que usted considere grosera. Estamos en tiempos de guerra, y tienen que hacer lo que sea necesario para resolver la situación, por lo que a veces se producen groserías. Esto no es personal, y es algo que debes estar preparado para experimentar si nunca has estado en una situación de guerra. +* Es posible que el CI te pida que abandones la llamada, o incluso que te eche a la fuerza de una llamada. Esto queda a discreción del CI si considera que no estás aportando nada útil. De nuevo, esto no es personal y debes recordar que los tiempos de guerra son diferentes a los tiempos de paz. + +## Papel: Todos los participantes + +### Descripción + +Todos los participantes en la respuesta a un incidente tienen la responsabilidad de ayudar a resolver el incidente de acuerdo con el plan de respuesta a incidentes, bajo la autoridad del Comandante de Incidentes. + +### Deberes + +#### Exhibir la etiqueta de la llamada + +* Participar tanto en la llamada como en el chat. +* Mantenga el ruido de fondo al mínimo. +* Mantenga el micrófono silenciado hasta que tenga algo que decir. +* Identifíquese cuando entre en la llamada; diga su nombre y su función (por ejemplo, "Soy el SME del equipo x"). +* Habla con claridad. +* Sea directo y objetivo. +* Mantenga conversaciones/discusiones cortas y al grano. +* Comunicar cualquier preocupación al Comandante de Incidentes (CI) en la llamada. +* Respetar las limitaciones de tiempo dadas por el Comandante del Incidente. +* Si te unes a un solo canal (llamada o chat), no participes activamente, ya que provoca una comunicación inconexa. +* **Utilizar una terminología clara, y evitar acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad. + +##### Referencia: Procedimiento común de voz + +El [procedimiento de voz] estándar de la radio (https://en.wikipedia.org/wiki/Voice_procedure#Words_in_voice_procedure) **no es obligatorio**, sin embargo es posible que escuche ciertos términos (o que tenga que utilizarlos usted mismo). Las frases comunes incluyen: + +* **Ack/Rog:** "He recibido y entendido" +* **Diga otra vez:** "Repita su último mensaje" +**Standby:** "Por favor, espere un momento para la siguiente respuesta" +* **Wilco:** "Cumplirá" + +**No** invente nuevas abreviaturas; favorezca ser explícito sobre lo implícito. + +#### Seguir al Comandante del Incidente + +El comandante del incidente (IC) es el líder del proceso de respuesta al incidente. + +* Siga las instrucciones del comandante del incidente. +* No realice ninguna acción a menos que el comandante del incidente se lo indique. +* El comandante normalmente sondeará si hay objeciones fuertes antes de asignar una acción importante. Plantee objeciones si las tiene. +* Una vez que el comandante haya tomado una decisión, sígala (incluso si no está de acuerdo). +* Responde a cualquier pregunta que te haga el comandante de forma clara y concisa. Responder "no sé" es aceptable. No adivine. +* El comandante puede pedirte que investigues algo y que le contestes en X minutos. Esté preparado con una respuesta dentro de ese tiempo. Pedir más tiempo es aceptable, pero proporciona al comandante una estimación. + +### Formación + +Lee y entiende el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. + +## Rol: Jefe de Incidentes (IC) + +### Descripción + +El Comandante de Incidentes (IC) actúa como la única fuente de verdad de lo que está ocurriendo y lo que va a ocurrir durante un incidente importante. El CI es la persona de mayor rango en cualquier llamada de incidente, independientemente de su rango diario. Es quien toma las decisiones durante un incidente; delega tareas y escucha a los expertos en la materia para resolver el incidente. Sus decisiones como comandante son definitivas. + +Su trabajo como CI es evaluar la situación, proporcionar una orientación y coordinación claras, reclutando a otros para reunir el contexto/detalles. **No realice ninguna investigación o remediación:** delegue estas tareas. + +### Deberes + +Resolver el incidente de la forma más rápida y segura posible utilizando el plan de respuesta a incidentes como marco: dirigir el equipo para investigar, remediar y comunicar. Utiliza al adjunto para que te ayude, y delega en los enlaces y expertos pertinentes (PYMES) según tu criterio. + +1. Ayude a preparar los incidentes, + * Establezca canales de comunicación para los incidentes. + * Dirigir a las personas a estos canales de comunicación cuando se produzca un incidente importante. + * Formar a los miembros del equipo sobre cómo comunicarse durante los incidentes y formar a otros Comandantes de Incidentes. +1. Llevar los incidentes a la resolución, + * Conseguir que todo el mundo esté en el mismo canal de comunicación. + * Recoger información de los miembros del equipo sobre el estado de sus servicios/área de propiedad. + * Recoger las acciones de reparación propuestas, y luego recomendar las acciones de reparación a realizar. + * Delegar todas las acciones de reparación, el Comandante de Incidentes NO es un solucionador. + * Ser la única autoridad sobre el estado del sistema. +1. Facilitar las llamadas y reuniones, + * Conseguir el consenso (sondear durante una decisión) + * Proporcionar actualizaciones de estado + * Reducir el alcance (despedir a los asistentes cuando sea posible) + * Separar los sub-equipos + * Transferir el mando cuando sea necesario + * Firmar las convocatorias + * Mantener el orden + * Obtener respuestas directas + * Manejar la acción ejecutiva, como por ejemplo + * Anular al Comandante de Incidentes + * Anti-motivación + * Solicitudes de información + * Cuestionar la gravedad + * Manejar respondedores disruptivos o beligerantes +1. Post Mortem, + * Crear la plantilla inicial justo después del incidente para que la gente pueda poner sus pensamientos mientras está fresca. + * Asignar la autopsia después de que el evento haya terminado, esto se puede hacer después de la llamada. + * Trabajar con los Jefes de Equipo/Gestores en la programación de acciones preventivas. + +El Comandante de Incidentes utiliza algunos procedimientos y jerga de llamada adicionales: + +* Anuncie siempre cuando se incorpore a la llamada si es el CI de guardia. +* No deje que las discusiones se vayan de las manos. Mantenga las conversaciones breves. +* Tome nota de las objeciones de los demás, pero su llamada es definitiva. +* Si alguien interrumpe activamente la llamada, échalo. +* Anuncia el final de la llamada. +* Después de un incidente, comuníquese con otros Comandantes de Incidentes en formación sobre cualquier acción de informe que considere necesaria. + +**Utilice una terminología clara y evite los acrónimos o las abreviaturas. La claridad y la precisión son más importantes que la brevedad.** + +### Formación + +* Leer el plan de respuesta a incidentes, incluyendo todos los roles y libros de juego. +* Participar en un ejercicio de respuesta a incidentes. +* Siga a un comandante de incidentes actual sin participar activamente, manteniendo sus preguntas hasta el final. +* Seguir de cerca a un comandante de incidentes actual. Responder a incidentes con el actual CI para tomar el relevo si es necesario. +* _OPCIONAL:_ formación de facilitación +* _OPCIONAL:_ Consulte [El personal de respuesta a incidentes como facilitador (y terapeuta)](#FIX) y el [Entrenamiento del Comandante de Incidentes de PagerDuty](https://response.pagerduty.com/training/incident_commander/) para obtener más ideas y discusiones. + +#### Requisitos previos + +No hay requisitos previos de antigüedad o de unidad de negocio para convertirse en Comandante de Incidentes, es un papel abierto a cualquier persona con la formación y la capacidad. Para poder ser Comandante de Incidentes, se espera que cumpla los siguientes criterios: + +* Excelente capacidad de **comunicación verbal y escrita**. +* **Conocimiento de alto nivel** de la infraestructura y las funciones empresariales. +* Excelente pensamiento crítico, juicio y toma de decisiones. +* Flexibilidad y capacidad para **escuchar las opiniones de los expertos**, modificando los planes en caso necesario. +* Participación en al menos dos respuestas a incidentes. +* Gravedad, capacidad para "tomar el mando" y "voluntad de expulsar a la gente de una llamada" para eliminar las distracciones, incluso si se trata del director general. + +No se requieren conocimientos técnicos profundos. Los Comandantes de Incidentes no requieren un profundo conocimiento técnico de nuestros sistemas. Su trabajo como Comandante de Incidentes es coordinar la respuesta, no hacer cambios técnicos. No pienses que no puedes ser un Comandante de Incidentes sólo porque no estás en el departamento de ingeniería. + +#### Graduación + +Una vez completada la formación, añádase a la lista de Comandantes de Incidentes. + +## Rol: Jefe Adjunto de Incidentes (Adjunto) + +### Descripción + +Un Comandante Adjunto de Incidentes (Deputy) es una función de apoyo directo al Comandante de Incidentes (IC). El adjunto permite al CI centrarse en el problema que tiene entre manos, en lugar de preocuparse por documentar los pasos o controlar los temporizadores. El adjunto apoya al CI y lo mantiene centrado en el incidente. Como adjunto, se espera que asuma el mando del CI si éste lo solicita. + +### Funciones + +1. Plantear al Comandante de Incidentes cuestiones que, de otro modo, podrían no abordarse (vigilar los temporizadores que se han puesto en marcha, dar vueltas a los elementos que se han perdido al pasar lista, etc.). +1. 1. Ser un Comandante de Incidentes "de reserva", en caso de que el comandante principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de CI. +1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Comandante del Incidente. +1. Supervisar el estado del incidente y notificar al CI si el nivel de gravedad del incidente aumenta. +1. Supervise los temporizadores: + * controlar el tiempo que ha durado el incidente + * Notificar al CI cada X minutos para que pueda tomar medidas (por ejemplo, "CI, el incidente está ahora en la marca de 10 minutos"). +1. Supervisar los plazos de las tareas (p. ej., "CI, avisa de que el temporizador de la investigación de [EQUIPO] se ha agotado"). + +### Formación + +* Leer y comprender el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. + +#### Requisitos previos + +* Estar entrenado como [Comandante de Incidentes](#role-incident-commander-ic). + +## Rol: Escribano + +### Descripción + +Un escriba documenta la línea de tiempo de un incidente a medida que progresa, y se asegura de que todas las decisiones y datos importantes sean capturados para su posterior revisión. El escriba debe centrarse en el archivo del incidente, así como en los elementos de seguimiento para una acción posterior. + +### Funciones + +1. Asegurarse de que la llamada del incidente se está grabando. +1. 2. Anotar en el chat y en la línea de tiempo del expediente: los datos, eventos y acciones importantes, a medida que se producen. Específicamente: + * Acciones clave a medida que se llevan a cabo + * Informes de estado cuando el CI los proporcione + * Cualquier llamada clave durante la llamada o en la revisión final +1. Actualice el chat indicando quién es el CI, quién es el adjunto y que usted es el escribiente (si no lo ha hecho ya). + +Escribir es más un arte que una ciencia. El objetivo es mantener un registro preciso de los eventos importantes que ocurrieron, Usa tu juicio y experiencia. Pero aquí hay algunas cosas generales que definitivamente querrás capturar como escribiente. + +* El resultado de cualquier decisión de la votación. +### Cualquier elemento de seguimiento que se llame como "Deberíamos hacer esto..", "¿Por qué no se hizo esto?", etc. + +### Formación + +Lea y comprenda el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. + +#### Requisitos previos + +* Excelentes habilidades de **comunicación verbal y escrita**. +* Cualquiera puede actuar como escribiente durante un incidente, y son elegidos por el Comandante de Incidentes al inicio de la llamada. +* Normalmente, el ayudante actuará como escribiente. + +#### Proceso de formación + +* Lea el plan de respuesta a incidentes, incluyendo todos los roles y libros de jugadas. +* _OPCIONAL:_ Paralizar las acciones de un escriba durante un incidente o ejercicio, y buscar la opinión del escriba real y del Comandante de Incidentes. + +## Rol: Experto en la materia (SME) + +### Descripción + +Un experto en la materia (SME) es un experto en el dominio o propietario designado de un equipo, componente o servicio (un "área"). Está ahí para apoyar al comandante de incidentes en la identificación de la causa del incidente, sugiriendo y evaluando las acciones de investigación, remediación y comunicación, y realizando el seguimiento de las mismas según se le encomiende. + +### Funciones + +1. Diagnosticar problemas comunes dentro de su área de experiencia. +1. 2. Solucionar rápidamente los problemas detectados durante un incidente. +1. Comunicación concisa: + * Estado: ¿Cuál es el estado actual de la zona? ¿Es saludable o no? + * Acciones: ¿Qué medidas hay que tomar si su zona no se encuentra en un estado saludable? + * Necesidades: ¿Qué apoyo necesita para realizar una acción? +1. Participar en las fases de investigación, remediación y/o comunicación de la respuesta. +1. Anuncie todas las sugerencias al comandante del incidente, es su decisión cómo proceder, no siga ninguna acción a menos que se le indique. + +Si está de guardia para cualquier equipo, puede ser llamado para un incidente y se espera que responda como experto en la materia (SME) para su equipo, componente o servicio. Cualquiera que se considere un "experto en la materia" puede actuar como SME para un incidente. Por lo general, el principal de guardia del equipo actuará como SME para ese equipo. + +#### Prepárese para el período de guardia + +1. Esté preparado, habiéndose familiarizado ya con nuestras políticas y procedimientos de respuesta a incidentes. +1. Asegúrese de haber configurado sus métodos de alerta de acuerdo con nuestro procedimiento de guardia. +1. Compruebe que puede unirse a la llamada de incidentes. Es posible que tenga que instalar un plugin para el navegador. +1. Tenga en cuenta su próximo tiempo de guardia y organice los cambios en función de los viajes, las vacaciones, las citas, etc. +1. Si es comandante de incidentes, asegúrese de no estar de guardia para su equipo al mismo tiempo que está de guardia como comandante de incidentes. + +#### Durante el período de guardia + +1. Tenga su ordenador portátil e Internet con usted en todo momento durante su período de guardia (oficina, casa, un MiFi, un teléfono con un plan de anclaje, etc.). +1. Si tienes citas importantes, debes conseguir que otra persona de tu equipo cubra esa franja horaria con antelación. +1. Cuando recibas una alerta de incidente, se espera que te unas a la llamada de incidente y chatees lo antes posible (en cuestión de minutos). +1. El Comandante del Incidente le hará preguntas o le dará acciones. Responda a las preguntas de forma concisa y siga todas las acciones indicadas (incluso si no está de acuerdo con ellas). +1. Si no está seguro de algo, traiga a otras personas de su equipo que puedan ayudarle. **Nunca dudes en escalar**, si es necesario. +1. No culpes. Este proceso de respuesta a incidentes no tiene ninguna culpa: culpar es contraproducente y distrae del problema en cuestión. La revisión posterior a la acción identificará los puntos en los que todos podemos mejorar. + +### Formación + +## Leer y comprender el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. + +## Rol: Enlace + +### Descripción + +Los enlaces interactúan con otros equipos o partes interesadas, fuera del equipo de respuesta a incidentes. Estos suelen incluir: + +* Enlace externo: responsable de interactuar con los clientes, ya sea directamente, o a través de la comunicación pública. +* Enlace interno: responsable de interactuar con las partes interesadas internas. Ya sea notificando el incidente a un equipo interno, o movilizando a personal de respuesta adicional dentro de la organización. + +### Funciones + +#### Enlace externo o con el cliente + +1. Publicar cualquier mensaje de cara al público en relación con el incidente (Twitter, etc.). +1. 2. Notificar al CI cualquier cliente o cobertura de los medios de comunicación que informen de los efectos del incidente. +1. Proporcionar a los clientes el mensaje externo de la autopsia una vez que se haya completado. +1. Ponerse en contacto o interactuar con las partes interesadas externas, como proveedores, socios, fuerzas de seguridad, _etc._. +1. **No** te sientas responsable de crear todos los mensajes: trabaja con el comandante del incidente y con otras partes interesadas. +1. Según proceda, mantenga a los clientes informados durante un incidente. +1. Actuar como voz de nuestros clientes ante el Comandante de Incidentes, ya que esto es útil para la toma de decisiones del CI. +1. Obtener la aprobación del mensaje después de haber elaborado el mensaje público: copie el mensaje en el chat y espere la confirmación verbal/escrita del CI antes de continuar. + +##### Consejos para los mensajes públicos + +* Prepare un mensaje por defecto de antemano que pueda utilizarse para la actualización inicial si se desconoce el alcance del asunto. +* Sea honesto. No mienta ni adivine. +* Describa nuestro progreso en la resolución del incidente. + * _"Somos conscientes de un incidente..."_ + * _"Estamos investigando las notificaciones retrasadas..."_ + * _"Se ha aplicado una solución y se está desplegando..."_ + * _"El problema se ha resuelto..."_ +* Sea claro sobre cómo afecta la incidencia a los clientes. Esta es la información principal que les interesa a los clientes. +* Proporcione soluciones que los clientes puedan utilizar hasta que se resuelva la incidencia. +* No estime los tiempos de resolución. +* Proporcione el nivel de detalle adecuado. + +#### Enlace interno + +1. Llame a los SME u otro personal de guardia según las instrucciones del Comandante del Incidente. +1. Notifique o movilice a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Comandante del Incidente. +1. Seguir y anticiparse a las PYMES en la llamada. +1. 2. Interactuar con las partes interesadas y proporcionar actualizaciones de estado según sea necesario. +1. Interactuar con las partes interesadas internas para responder a sus preguntas, para mantener la llamada principal libre de distracciones. +1. Proporcionar actualizaciones periódicas de la situación al equipo ejecutivo, ofreciendo un resumen ejecutivo de la situación actual. + +### Formación + +Leer y comprender el plan de respuesta a incidentes, incluidos los roles y los libros de jugadas. + +#### Requisitos previos + +* Excelentes habilidades de **comunicación verbal y escrita**. +* _OPCIONAL:_ Formación en atención al cliente. +* _OPCIONAL:_ Formación en comunicación corporativa o marketing. + +# Llevar a cabo una revisión posterior a la acción (AAR) + +1. Programe una reunión de revisión posterior a la acción (AAR) dentro de {{AAR_SLA}} e invite a los asistentes que figuran en {{AAR_ATTENDEES}}. Incluya siempre a los siguientes: + * El comandante del incidente. + * Los propietarios de los servicios implicados en el incidente. + * Ingeniero(s)/responsable(s) clave involucrados en el incidente. +1. Designe a un propietario del AAR que investigue el incidente antes de la reunión para prepararlo, estudiando el proceso del incidente en sí, incluida la revisión de notas e informes. + +## 2. Llevar a cabo la reunión AAR + +Documente las respuestas a las siguientes preguntas clave: + +1. **Crear una línea de tiempo, apoyada con datos u otros artefactos. **Evitar la culpa. Encuentra los hechos.** +1. **¿Qué se suponía que iba a ocurrir?** + * Detallar las desviaciones del proceso, procedimiento o mejor práctica, incluyendo las evaluaciones de las PYMES. + * Identificar las formas en que el incidente podría haberse detectado antes, o haber respondido con mayor eficacia. +1. **¿Qué causas fundamentales se han producido? +1. **¿Cómo podemos mejorar? ** Capturar los elementos de acción _con asignados y fechas de vencimiento_. Considerar: + * Detener: ¿qué deberíamos dejar de hacer? + * Empezar: ¿qué deberíamos empezar a hacer? + * Continuar: ¿qué debemos seguir haciendo? + +## Communicate AAR Status and Results + +The AAR owner, in coordination with the Internal Liaison, will communicate the status of the AAR (see below) + +### Status Descriptions + +| Status | Description | +|-|-| +| **Draft** | AAR investigation is still ongoing | +| **In Review** | AAR investigation has been completed, and is ready to be reviewed during the AAR meeting. | +| **Reviewed** | AAR meeting is over and the content has been reviewed and agreed upon.
If there are additional "External Messages", the communications team will take action to prepare. | +| **Closed** | No further actions are needed on the AAR (outstanding issues are tracked in tickets).
If no "External Messages", skip straight to this once the meeting is over.
If there are additional "External Messages", communications team will update AAR Closed once sent. | + +Communicate the results of the AAR internally and finalize the AAR documentation. + +# About + +This template was developed by the team at [Counteractive Security](https://www.counteractive.net), to help all organizations get a good start on a concise, directive, specific, flexible, and free incident response plan. Build a [plan you will actually use](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) to respond effectively, minimize cost and impact, and get back to business as soon as possible. + +## Licencia + +Esta plantilla se proporciona bajo la Licencia Apache, versión 2.0. Puede ver el código fuente de este plan en https://github.com/counteractive. + +## Instrucciones + +Personalice esta plantilla de plan para su propia organización. Las instrucciones están disponibles en el [README] del proyecto (https://github.com/counteractive). Para obtener asistencia profesional con la respuesta a incidentes, o con la personalización, implementación o prueba de su plan, póngase en contacto con nosotros por [correo electrónico](mailto:support@counteractive.net) o [teléfono](tel:+18889255765). + +## Referencias y lecturas adicionales + +* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) +* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) +* [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework) +* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) +* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) +* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) +* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) +* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) +* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) +* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) +* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) +* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) +* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) +* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) +* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) +* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) +* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) +* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) +* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) +* [Advanced PostMortem Fu and Human Error 101 (Velocity 2011)](http://www.slideshare.net/jallspaw/advanced-postmortem-fu-and-human-error-101-velocity-2011) +* [Blame. Language. Sharing.](http://fractio.nl/2015/10/30/blame-language-sharing/) + From cec62389e0014df194d4f2205d9b5ad7857def36 Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:26:49 +0200 Subject: [PATCH 014/199] Add files via upload --- examples/plan.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/examples/plan.md b/examples/plan.md index 904b0a2..95e5d04 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -252,7 +252,7 @@ Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} * Consultar la [Lista de recursos de respuesta](#reference-response-resource-list)) 1. Consulte los [libros de jugadas de incidentes](#librosdejugadas) para conocer las preguntas clave, los dispositivos testigos y las estrategias para investigar las amenazas comunes o muy dañinas. -**El plan de investigación es fundamental para una respuesta eficaz; impulsa todas las acciones de investigación. Utilice el pensamiento crítico, la creatividad y el buen juicio. +**El plan de investigación es fundamental para una respuesta eficaz; impulsa todas las acciones de investigación. Utilice el pensamiento crítico, la creatividad y el buen juicio.** ### Referencia: Táctica del atacante a la matriz de preguntas clave @@ -296,7 +296,7 @@ Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más 1. Categorizar la(s) razón(es) por la(s) que son "de interés": tiene malware, acceso por cuenta comprometida, tiene datos sensibles, etc. Trátelas como "etiquetas", puede haber más de una categoría por sistema. 1. Prioriza la recogida, el análisis y la reparación en función de las necesidades de la investigación, el impacto en el negocio, etc. -#Recogida de pruebas +# Recogida de pruebas * Priorizar en base al plan de investigación * Recoger datos de respuesta en vivo utilizando {{LIVE_RESPONSE_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de respuesta en vivo.` @@ -309,7 +309,7 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ### Ejemplo de artefactos útiles -`TODO: Personalizar y priorizar los artefactos útiles. +`TODO: Personalizar y priorizar los artefactos útiles.` * Procesos en ejecución * Servicios en ejecución @@ -458,7 +458,7 @@ Determine la estrategia de tiempo -cuando se tomarán las acciones de remediaci #Comunicar -**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar +**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar** Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunique especulaciones. @@ -529,7 +529,7 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr * Comparta los IOC con [Infragard](https://www.infragard.org/) si procede. * Comparta los IOC con su [ISAC](https://en.wikipedia.org/wiki/Information_Sharing_and_Analysis_Center) de servicio a través de {{ISAC_CONTACT}}, si procede. -# `Recuperación +# Recuperación `TODO: Personalizar los pasos de recuperación.` @@ -548,7 +548,7 @@ Tarea: Crear libros de juego adicionales para tipos de incidentes muy probables ## Playbook: Desaparición de sitios web -**Investigar, remediar (contener, erradicar) y comunicar en paralelo. +**Investigar, remediar (contener, erradicar) y comunicar en paralelo.** Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. @@ -646,9 +646,9 @@ Tarea: Especificar las herramientas y los procedimientos para cada paso, a conti ### Comunicar -TODO: Personalizar los pasos de comunicación para la desfiguración +`TODO: Personalizar los pasos de comunicación para la desfiguración` -TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. +`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. 1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento 1. 2. Documentar el incidente según el procedimiento (e informar si procede) @@ -713,7 +713,7 @@ TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe 3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) with helpful statistics 4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) including DIYs and Best practices to prevent website defacement## Playbook: Identity and Access Compromise -**Investigar, remediar (contener, erradicar) y comunicar en paralelo. +**Investigar, remediar (contener, erradicar) y comunicar en paralelo.** Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. @@ -732,19 +732,19 @@ Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrat Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la identidad y el acceso. -TODO: Especificar las herramientas y procedimientos para cada paso, a continuación. +`TODO: Especificar las herramientas y procedimientos para cada paso, a continuación.` -*TODO +* TODO `TODO: Considerar la automatización de las medidas de contención utilizando herramientas de orquestación.` #### Erradicar -TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso. +`TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso.` -TODO: Especificar herramientas y procedimientos para cada paso, a continuación. +`TODO: Especificar herramientas y procedimientos para cada paso, a continuación.` -* `TODO +* TODO #### Referencia: Remediation Resources @@ -813,7 +813,7 @@ Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrat * enviar enlaces, archivos adjuntos y/o hashes a [VirusTotal](https://www.virustotal.com/gui/) * enviar enlaces, archivos adjuntos y/o hashes a un sandbox de malware como [Cuckoo](https://cuckoosandbox.org/), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/), o [VMray](https://www.vmray.com/). 1. Categorice el tipo de ataque. `TODO: Personalizar las categorías y crear libros de jugadas adicionales para tipos de phishing comunes o de alto impacto`. -1. **Determine la gravedad: +1. **Determine la gravedad:** * si la seguridad pública o personal está en riesgo * si los datos personales (u otros datos sensibles) están en riesgo * si hay pruebas de quién está detrás del ataque @@ -833,7 +833,7 @@ Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrat Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el phishing. -ToDo: Especifique las herramientas y los procedimientos para cada paso, a continuación. +`ToDo: Especifique las herramientas y los procedimientos para cada paso, a continuación.` * Contener las cuentas afectadas * cambiar las credenciales de acceso @@ -856,9 +856,9 @@ ToDo: Especifique las herramientas y los procedimientos para cada paso, a contin ### Comunicar -TODO: Personalizar los pasos de comunicación para la suplantación de identidad. +`TODO: Personalizar los pasos de comunicación para la suplantación de identidad.` -TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. +`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. 1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento 1. Documente el incidente según el procedimiento (y [informe](https://us-cert.cisa.gov/report-phishing)) @@ -1041,7 +1041,7 @@ Las cuarentenas (lógicas, físicas o ambas) impiden la propagación _desde_ los Tarea: Personalizar los pasos de erradicación, tácticos y estratégicos, para el ransomware. -ToDo: Especifique las herramientas y los procedimientos para cada paso, a continuación. +`ToDo: Especifique las herramientas y los procedimientos para cada paso, a continuación.` * Reconstruir los sistemas infectados a partir de soportes conocidos y buenos. * Restaurar a partir de copias de seguridad conocidas y limpias. @@ -1552,8 +1552,8 @@ Documente las respuestas a las siguientes preguntas clave: 1. **¿Qué se suponía que iba a ocurrir?** * Detallar las desviaciones del proceso, procedimiento o mejor práctica, incluyendo las evaluaciones de las PYMES. * Identificar las formas en que el incidente podría haberse detectado antes, o haber respondido con mayor eficacia. -1. **¿Qué causas fundamentales se han producido? -1. **¿Cómo podemos mejorar? ** Capturar los elementos de acción _con asignados y fechas de vencimiento_. Considerar: +1. **¿Qué causas fundamentales se han producido?** +1. **¿Cómo podemos mejorar?** Capturar los elementos de acción _con asignados y fechas de vencimiento_. Considerar: * Detener: ¿qué deberíamos dejar de hacer? * Empezar: ¿qué deberíamos empezar a hacer? * Continuar: ¿qué debemos seguir haciendo? From 42e3263069b5c0c9115bb2ba118e0c1953b7b109 Mon Sep 17 00:00:00 2001 From: gdomram487 <94167966+gdomram487@users.noreply.github.com> Date: Tue, 10 May 2022 09:27:49 +0200 Subject: [PATCH 015/199] Add files via upload --- playbooks/playbook-supply-chain.md | 130 ++++++++++++++--------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/playbooks/playbook-supply-chain.md b/playbooks/playbook-supply-chain.md index 4a1a0de..72894d6 100644 --- a/playbooks/playbook-supply-chain.md +++ b/playbooks/playbook-supply-chain.md @@ -1,65 +1,65 @@ -## Playbook: Supply Chain Compromise - -**Investigate, remediate (contain, eradicate), and communicate in parallel!** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for supply chain compromise.` - -1. TODO - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for supply chain compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -`TODO: Consider automating containment measures using orchestration tools.` - -#### Eradicate - -`TODO: Customize eradication steps, tactical and strategic, for supply chain compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -* TODO - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` - -### Communicate - -`TODO: Customize communication steps for supply chain compromise` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Recover - -`TODO: Customize recovery steps for supply chain compromise.` - -`TODO: Specify tools and procedures for each step, below.` - -In addition to the general steps and guidance in the incident response plan: - -1. TODO - -### Resources - -#### Additional Information - -1. ["Title"](#TODO-url), Author Last Name (Date) - +## Playbook: Compromiso de la cadena de suministro + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. + +Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la cadena de suministro. + +1. TODO + +### Remediar + +* **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. +* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. + +#### Contención + +Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la cadena de suministro. + +TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación. + +*TODO + +`TODO: Considerar la posibilidad de automatizar las medidas de contención mediante herramientas de orquestación.` + +#### Erradicar + +TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la cadena de suministro. + +TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación. + +* TODO + +#### Referencia: Recursos de remediación + +`TODO: Especificar los recursos financieros, de personal y logísticos para llevar a cabo la remediación.` + +### Comunicar + +`TODO: Personalizar los pasos de la comunicación para el compromiso de la cadena de suministro` + +`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o consulte el plan general.` + +Además de los pasos y orientaciones generales del plan de respuesta a incidentes: + +1. TODO + +### Recuperación + +`TODO: Personalizar los pasos de recuperación para el compromiso de la cadena de suministro.` + +`TODO: Especifique las herramientas y procedimientos para cada paso, a continuación.` + +Además de los pasos y orientaciones generales del plan de respuesta a incidentes: + +1. TODO + +### Recursos + +#### Información adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) + From b6b16467521a6c8e46cd7f83a44390320793f063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismael=20Gonz=C3=A1lez?= <94535885+iglezb@users.noreply.github.com> Date: Tue, 10 May 2022 09:28:15 +0200 Subject: [PATCH 016/199] =?UTF-8?q?Traducci=C3=B3n=20del=20rol=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/role-2-deputy.md | 51 +++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/roles/role-2-deputy.md b/roles/role-2-deputy.md index 6b06c82..9fbc657 100644 --- a/roles/role-2-deputy.md +++ b/roles/role-2-deputy.md @@ -1,25 +1,26 @@ -## Role: Deputy Incident Commander (Deputy) - -### Description - -A Deputy Incident Commander (Deputy) is a direct support role for the Incident Commander (IC). The Deputy enables the IC to focus on the problem at hand, rather than worrying about documenting steps or monitoring timers. The deputy supports the IC and keeps them focused on the incident. As a Deputy, you will be expected to take over command from the IC if they request it. - -### Duties - -1. Bring up issues to the Incident Commander that may otherwise not be addressed (keeping an eye on timers that have been started, circling back around to missed items from a roll call, etc). -1. Be a "hot standby" Incident Commander, should the primary need to either transition to a SME, or otherwise have to step away from the IC role. -1. Manage the incident call, and be prepared to remove people from the call if instructed by the Incident Commander. -1. Monitor the status of the incident, and notify the IC if/when the incident escalates in severity level. -1. Monitor timers: - * track how long the incident has been running - * notify the IC every X minutes so they can take actions (_e.g._, "IC, be advised the incident is now at the 10 minute mark.") -1. Monitor task deadlines (e.g., "IC, be advised the timer for [TEAM]'s investigation is up.") - -### Training - -* Read and understand the incident response plan, including the roles and playbooks. - -#### Prerequisites - -* Be trained as an [Incident Commander](#role-incident-commander-ic). - +## Rol: Delegado del Comandante de Incidentes (Subdelegado) + +### Descripción + +Un Subdelegado de Incidentes (Subdelegado es un papel de apoyo directo al Jefe de Incidentes (JI). El subdelegado permite que el JII se centre en el problema que tiene entre manos, en lugar de preocuparse por documentar los pasos o controlar los temporizadores. El Subdelegado apoya al JI y lo mantiene centrado en el incidente. Como Subdelegado, se espera que asuma el mando del JI si éste lo solicita. + +### Funciones + +1. 1. Plantear al Jefe de Incidentes cuestiones que, de otro modo, no se abordarían (vigilar los temporizadores que se han puesto en marcha, dar vueltas a los elementos que se han perdido en una toma de lista, etc.). +1. 1. Ser un Jefe de Incidentes "de reserva", en caso de que el jefe principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de JI. +1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Jefe del Incidente. +1. Supervisar el estado del incidente y notificar al JI si el nivel de gravedad del incidente aumenta. +1. Supervise los temporizadores: + * controlar el tiempo que ha durado el incidente + * Notificar al JI cada X minutos para que pueda tomar medidas (por ejemplo, "JI, el incidente está ahora en la marca de 10 minutos"). +1. Supervisar los plazos de las tareas (p. ej., "JI, avisa de que el temporizador de la investigación de [TEAM] se ha agotado"). + +### Formación + +* Leer y comprender el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. + +#### Requisitos previos + +* Estar entrenado como [Jefe de Incidentes](#role-incident-commander-ic). + +Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator \ No newline at end of file From d5844a7f9d45c697d20ac768ad33d0cdf17cb1fb Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:28:22 +0200 Subject: [PATCH 017/199] Add files via upload --- examples/plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/plan.md b/examples/plan.md index 95e5d04..d781c18 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -71,7 +71,7 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h * PYMES para equipos/unidades de negocio * PYMES para Funciones Ejecutivas (por ejemplo, Legal, RRHH, Finanzas) -`TODO: Modificar la estructura de roles según sea necesario. +`TODO: Modificar la estructura de roles según sea necesario.` ### Referencia: Información de contacto del equipo de respuesta From 48acd6ec68fc26a26facb0b6ed1482f965f48475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismael=20Gonz=C3=A1lez?= <94535885+iglezb@users.noreply.github.com> Date: Tue, 10 May 2022 09:28:41 +0200 Subject: [PATCH 018/199] Add files via upload --- playbooks/playbook-ransomware.md | 380 ++++++++++++++----------------- 1 file changed, 176 insertions(+), 204 deletions(-) diff --git a/playbooks/playbook-ransomware.md b/playbooks/playbook-ransomware.md index 8c640e1..45c7d38 100644 --- a/playbooks/playbook-ransomware.md +++ b/playbooks/playbook-ransomware.md @@ -1,204 +1,176 @@ -## Playbook: Ransomware - -**Investigate, remediate (contain, eradicate), and communicate in parallel! Containment is critical in ransomware incidents, prioritize accordingly.** - -Assign steps to individuals or teams to work concurrently, when possible; this playbook is not purely sequential. Use your best judgment. - -### Investigate - -`TODO: Expand investigation steps, including key questions and strategies, for ransomware.` - -1. **Determine the type** of ransomware (_i.e.,_ what is the family, variant, or flavor?)[[1]](#ransomware-playbook-ref-1) - 1. Find any related messages. Check: - * graphical user interfaces (GUIs) for the malware itself - * text or html files, sometimes opened automatically after encryption - * image files, often as wallpaper on infected systems - * contact emails in encrypted file extensions - * pop-ups after trying to open an encrypted file - * voice messages - 1. Analyze the messages looking for clues to the ransomware type: - * ransomware name - * language, structure, phrases, artwork - * contact email - * format of the user id - * ransom demand specifics (_e.g._, digital currency, gift cards) - * payment address in case of digital currency - * support chat or support page - 1. Analyze affected and/or new files. Check: - * file renaming scheme of encrypted files including extension (_e.g._, `.crypt`, `.cry`, `.locked`) and base name - * file corruption vs encryption - * targeted file types and locations - * owning user/group of affected files - * icon for encrypted files - * file markers - * existence of file listings, key files or other data files - 1. Analyze affected software or system types. Some ransomware variants only affect certain tools (_e.g._, [databases](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) or platforms (_e.g._, [NAS products](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) - 1. Upload indicators to automated categorization services like [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php), [ID Ransomware](https://id-ransomware.malwarehunterteam.com/), or similar. -1. **Determine the scope:** - 1. Which systems are affected? `TODO: Specify tool(s) and procedure` - * Scan for concrete indicators of compromise (IOCs) such as files/hashes, processes, network connections, etc. Use [endpoint protection/EDR](#TODO-link-to-actual-resource), [endpoint telemetry](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), etc. - * Check similar systems for infection (_e.g._, similar users, groups, data, tools, department,configuration, patch status): check [IAM tools](#TODO-link-to-actual-resource), [permissions management tools](#TODO-link-to-actual-resource), [directory services](#TODO-link-to-actual-resource), _etc._ - * Find external command and control (C2), if present, and find other systems connecting to it: check [firewall or IDS logs](#TODO-link-to-actual-resource), [system logs/EDR](#TODO-link-to-actual-resource), [DNS logs](#TODO-link-to-actual-resource), [netflow or router logs](#TODO-link-to-actual-resource), _etc._ - 1. What data is affected? (_e.g._, file types, department or group, affected software) `TODO: Specify tool(s) and procedure` - * Find anomalous changes to file metadata such as mass changes to creation or modification times. Check [file metadata search tools](#TODO-link-to-actual-resource) - * Find changes to normally-stable or critical data files. Check [file integrity monitoring](#TODO-link-to-actual-resource) tools -1. **Assess the impact** to prioritize and motivate resources - 1. Assess functional impact: impact to business or mission. - * How much money is lost or at risk? - * How many (and which) missions are degraded or at risk? - 1. Assess information impact: impact to confidentiality, integrity, and availability of data. - * How critical is the data to the business/mission? - * How sensitive is the data? (_e.g._, trade secrets) - * What is the regulatory status of data (_e.g._, PII, PHI) -1. **Find the infection vector.** Check the tactics captured in the [Initial Access tactic](https://attack.mitre.org/tactics/TA0001/) of MITRE ATT&CK[[4]](#ransomware-playbook-ref-4). Common specifics and data sources include: - * email attachment: check [email logs](#TODO-link-to-actual-resource), [email security appliances and services](#TODO-link-to-actual-resource), [e-discovery tools](#TODO-link-to-actual-resource), _etc._ - * insecure remote desktop protocol (RDP): check [vulnerability scanning results](#TODO-link-to-actual-resource), [firewall configurations](#TODO-link-to-actual-resource), _etc._ - * self-propagation (worm or virus) (check [host telemetry/EDR](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), [forensic analysis](#TODO-link-to-actual-resource), _etc._) - * infection via removable drives (worm or virus) - * delivered by other malware or attacker tool: expand investigation to include additional attacker tools or malware - -### Remediate - -* **Plan remediation events** where these steps are launched together (or in coordinated fashion), with appropriate teams ready to respond to any disruption. -* **Consider the timing and tradeoffs** of remediation actions: your response has consequences. - -#### Contain - -`TODO: Customize containment steps, tactical and strategic, for ransomware.` - -`TODO: Specify tools and procedures for each step, below.` - -**In ransomware situations, containment is critical. Inform containment measures with facts from the investigation. Prioritize quarantines and other containment measures higher than during a typical response.** - -Quarantines (logical, physical, or both) prevent spread _from_ infected systems and prevent spread _to_ critical systems and data. Quarantines should be comprehensive: include cloud/SaaS access, single-sign-on, system access such as to ERP or other business tools, _etc._ - -* Quarantine infected systems -* Quarantine affected users and groups. -* Quarantine file shares (not just known-infected shares; protect uninfected shares too) -* Quarantine shared databases (not just known-infected servers; protect uninfected databases too) -* Quarantine backups, if not already secured -* Block command and control domains and addresses -* Remove vector emails from inboxes -* Confirm endpoint protection (AV, NGAV, EDR, _etc._) is up-to-date and enabled on all systems. -* Confirm patches are deployed on all systems (prioritizing targeted systems, OSes, software, _etc._). -* Deploy custom signatures to endpoint protection and network security tools based on discovered IOCs - -`TODO: Consider automating containment measures using orchestration tools.` - -#### Eradicate - -`TODO: Customize eradication steps, tactical and strategic, for ransomware.` - -`TODO: Specify tools and procedures for each step, below.` - -* Rebuild infected systems from known-good media -* Restore from known-clean backups -* Confirm endpoint protection (AV, NGAV, EDR, _etc._) is up-to-date and enabled on all systems. -* Confirm patches are deployed on all systems (prioritizing targeted systems, OSes, software, _etc._). -* Deploy custom signatures to endpoint protection and network security tools based on discovered IOCs -* **Watch for re-infection:** consider increased priority for alarms/alerts related to this incident. - -#### Reference: Remediation Resources - -`TODO: Specify financial, personnel, and logistical resources to accomplish remediation.` - -### Communicate - -`TODO: Customize communication steps for ransomware` - -`TODO: Specify tools and procedures (including who must be involved) for each step, below, or refer to overall plan.` - -1. Escalate incident and communicate with leadership per procedure -1. Document incident per procedure -1. Communicate with internal and external legal counsel per procedure, including discussions of compliance, risk exposure, liability, law enforcement contact, _etc._ -1. Communicate with users (internal) - 1. Communicate incident response updates per procedure - 1. Communicate impact of incident **and** incident response actions (e.g., containment: "why is the file share down?"), which can be more intrusive/disruptive during ransomware incidents - 1. Communicate requirements: "what should users do and not do?" See "Reference: User Actions for Suspected Ransomware," below -1. Communicate with customers - 1. Focus particularly on those whose data was affected - 1. Generate required notifications based on applicable regulations (particularly those that may consider ransomware a data breach or otherwise requires notifications (_e.g._, [HHS/HIPAA](https://www.hhs.gov/sites/default/files/RansomwareFactSheet.pdf))) `TODO: Expand notification requirements and procedures for applicable regulations` -1. Contact insurance provider(s) - 1. Discuss what resources they can make available, what tools and vendors they support and will pay for, _etc._ - 1. Comply with reporting and claims requirements to protect eligibility -1. Communicate with regulators, including a discussion of what resources they can make available (not just boilerplate notification: many can actively assist) -1. Consider notifying and involving [law enforcement](https://www.nomoreransom.org/en/report-a-crime.html) - 1. [Local law enforcement](#TODO-link-to-actual-resource) - 1. [State or regional law enforcement](#TODO-link-to-actual-resource) - 1. [Federal or national law enforcement](#TODO-link-to-actual-resource) -1. Communicate with security and IT vendors - 1. Notify and collaborate with [managed providers](#TODO-link-to-actual-resource) per procedure - 1. Notify and collaborate with [incident response consultants](#TODO-link-to-actual-resource) per procedure - -### Recover - -`TODO: Customize recovery steps for ransomware.` - -`TODO: Specify tools and procedures for each step, below.` - -> **We do not recommend paying the ransom:** it does not guarantee a solution to the problem. It can go wrong (_e.g._, bugs could make data unrecoverable even with the key). Also, paying proves ransomware works and could increase attacks against you or other groups.[[2, paraphrased]](#ransomware-playbook-ref-2) - -1. Launch business continuity/disaster recovery plan(s): _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. -1. Recover data from known-clean backups to known-clean, patched, monitored systems (post-eradication), in accordance with our [well-tested backup strategy](#TODO-link-to-actual-resource). - * Check backups for indicators of compromise - * Consider partial recovery and backup integrity testing -1. Find and try known decryptors for the variant(s) discovered using resources like the No More Ransom! Project's [Decryption Tools page](https://www.nomoreransom.org/en/decryption-tools.html). -1. Consider paying the ransom for irrecoverable critical assets/data, in accordance with policy `TODO: Expand and socialize this decision matrix` - * Consider ramifications with appropriate stakeholders - * Understand finance implications and budget - * Understand legal, regulatory, and insurance implications - * Understand mechanisms (_e.g._, technologies, platforms, intermediate vendors/go-betweens) - -### Resources - -#### Reference: User Actions for Suspected Ransomware - -`TODO: Customize steps for users dealing with suspected ransomware` - -1. Stay calm, take a deep breath. -1. Disconnect your system from the network `TODO: include detailed steps with screenshots, a pre-installed tool or script to make this easy ("break in case of emergency"), consider hardware network cut-off switches` -1. Take pictures of your screen using your smartphone showing the things you noticed: ransom messages, encrypted files, system error messages, _etc._ -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. Every little bit helps! Document the following: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. Where were you when it happened, and on what network? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are you using? (operating system, hostname, _etc._) - 1. What account were you using? - 1. What data do you typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Contact the [help desk](#TODO-link-to-actual-resource) and be as helpful as possible -1. Be patient: the response may be disruptive, but you are protecting your team and the organization! **Thank you.** - -#### Reference: Help Desk Actions for Suspected Ransomware - -`TODO: Customize steps for help desk personnel dealing with suspected ransomware` - -1. Stay calm, take a deep breath. -1. Open a ticket to document the incident, per procedure `TODO: Customize template with key questions (see below) and follow-on workflow` -1. Ask the user to take pictures of their screen using their smartphone showing the things they noticed: ransom messages, encrypted files, system error messages, _etc._ If this is something you noticed directly, do the same yourself. -1. Take notes about the problem(s) using the voice memo app on your smartphone or pen-and-paper. If this is a user report, ask detailed questions, including: - 1. What did you notice? - 1. Why did you think it was a problem? - 1. What were you doing at the time you detected it? - 1. When did it first occur, and how often since? - 1. What networks are involved? (office/home/shop, wired/wireless, with/without VPN, _etc._) - 1. What systems are involved? (operating system, hostname, _etc._) - 1. What data is involved? (paths, file types, file shares, databases, software, _etc._) - 1. What users and accounts are involved? (active directory, SaaS, SSO, service accounts, _etc._) - 1. What data do the involved users typically access? - 1. Who else have you contacted about this incident, and what did you tell them? -1. Ask follow-up questions as necessary. **You are an incident responder, we are counting on you.** -1. Get detailed contact information from the user (home, office, mobile), if applicable -1. Record all information in the ticket, including hand-written and voice notes -1. Quarantine affected users and systems `TODO: Customize containment steps, automate as much as possible` -1. Contact the [security team](#TODO-link-to-actual-resource) and stand by to participate in the response as directed: investigation, remediation, communication, and recovery - -#### Additional Information - -1. ["Ransomware Identification for the Judicious Analyst"](https://www.gdatasoftware.com/blog/2019/06/31666-ransomware-identification-for-the-judicious-analyst), Hahn (12 Jun 2019) -1. [No More Ransom!](https://www.nomoreransom.org) Project, including their [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php?lang=en) service and their [Q&A](https://www.nomoreransom.org/en/ransomware-qa.html) -1. [ID Ransomware](https://id-ransomware.malwarehunterteam.com/) service -1. [MITRE ATT&CK Matrix](https://attack.mitre.org), including the [Initial Access](https://attack.mitre.org/tactics/TA0001/) and [Impact](https://attack.mitre.org/tactics/TA0040/) tactics - +## Playbook: Ransomware + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo. La contención es fundamental en los incidentes de ransomware, priorice en consecuencia.** + +Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. + +### Investigación + +`OBJETIVO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el ransomware.` + +1. **Determinar el tipo** de ransomware (_es decir, _ ¿cuál es la familia, la variante o el tipo?)[[1]](#ransomware-playbook-ref-1) + 1. Encuentre cualquier mensaje relacionado. Compruebe: + * las interfaces gráficas de usuario (GUI) del propio malware + * archivos de texto o html, que a veces se abren automáticamente tras el cifrado + * image files, often as wallpaper on infected systems + * contact emails in encrypted file extensions + * pop-ups after trying to open an encrypted file + * voice messages + 1. Analice los mensajes en busca de pistas sobre el tipo de ransomware: + * nombre del ransomware + * lenguaje, estructura, frases, material gráfico + * correo electrónico de contacto + * formato de la identificación del usuario + * especificaciones de la demanda de rescate (_e._, moneda digital, tarjetas de regalo) + * dirección de pago en caso de moneda digital + * chat de soporte o página de soporte + 1. Analice los archivos afectados y/o nuevos. Compruebe: + * el esquema de cambio de nombre de los archivos encriptados, incluyendo la extensión (_e.g._, `.cry`, `.cry`, `.locked`) y el nombre base + * corrupción de archivos frente a encriptación + * Tipos de archivos y ubicaciones objetivo + * usuario/grupo propietario de los archivos afectados + * Icono de los archivos encriptados + * marcadores de archivos + * existencia de listados de archivos, archivos clave u otros archivos de datos + + 1. Analice los tipos de software o sistemas afectados. Algunas variantes de ransomware sólo afectan a determinadas herramientas (_e.g._, [databases](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) or platforms (_e.g._, [NAS products](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) + 1. Subir los indicadores a servicios de categorización automatizados como [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php), [ID Ransomware](https://id-ransomware.malwarehunterteam.com/), o similar. +1. **Determinar el alcance:** + 1. ¿Qué sistemas están afectados? `TODO: Especificar herramientas y procedimientos` + * Busque indicadores de compromiso (IOC), como archivos/hashes, procesos, conexiones de red, etc. Utilice [endpoint protection/EDR](#TODO-link-to-actual-resource), [endpoint telemetry](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), etc. + * Comprobar la infección de sistemas similares (_por ejemplo, usuarios, grupos, datos, herramientas, departamento, configuración, estado de los parches): comprobar [IAM tools](#TODO-link-to-actual-resource), [permissions management tools](#TODO-link-to-actual-resource), [directory services](#TODO-link-to-actual-resource), _etc._ + * Find external command and control (C2), if present, and find other systems connecting to it: check [firewall or IDS logs](#TODO-link-to-actual-resource), [system logs/EDR](#TODO-link-to-actual-resource), [DNS logs](#TODO-link-to-actual-resource), [netflow or router logs](#TODO-link-to-actual-resource), _etc._ + 1. ¿Qué datos están afectados? (_e._, tipos de archivo, departamento o grupo, software afectado) `TODO: Especifique la(s) herramienta(s) y el procedimiento`. + * Buscar cambios anómalos en los metadatos de los archivos, como cambios masivos en las horas de creación o modificación. Comprobar [herramientas de búsqueda de metadatos de archivos](#TODO-link-to-actual-resource) + * Buscar cambios en archivos de datos normalmente estables o críticos. Comprobar [supervisión de la integridad de los archivos](#TODO-link-to-actual-resource) tools +1. **Evaluar el impacto** para priorizar y motivar los recursos + 1. Evaluar el impacto funcional: impacto en la empresa o en la misión. + * ¿Cuánto dinero se pierde o está en riesgo? + * ¿Cuántas (y cuáles) misiones se degradan o están en riesgo? + 1. Evaluar el impacto en la información: impacto en la confidencialidad, integridad y disponibilidad de los datos. + * ¿Qué importancia tienen los datos para la empresa/misión? + * ¿Cuán sensibles son los datos? (_p. ej., secretos comerciales) + * ¿Cuál es la situación reglamentaria de los datos (por ejemplo, PII, PHI)? + +1. **Encuentra el vector de infección.** Comprueba las tácticas capturadas en la [Initial Access tactic](https://attack.mitre.org/tactics/TA0001/) of MITRE ATT&CK[[4]](#ransomware-playbook-ref-4). Los datos más comunes y las fuentes de datos son: + * archivo adjunto de correo electrónico: comprobar [email logs](#TODO-link-to-actual-resource), [email security appliances and services](#TODO-link-to-actual-resource), [e-discovery tools](#TODO-link-to-actual-resource), _etc._ + * insecure remote desktop protocol (RDP): check [vulnerability scanning results](#TODO-link-to-actual-resource), [firewall configurations](#TODO-link-to-actual-resource), _etc._ + * auto-propagación (worm or virus) (check [host telemetry/EDR](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), [forensic analysis](#TODO-link-to-actual-resource), _etc._) + * + +### Remediate + +**Planificar eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. +**Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. + +#### Contención + +`OBJETIVO: Personalizar los pasos de contención, tácticos y estratégicos, para el ransomware.` + +`OBJETIVO: especificar las herramientas y los procedimientos para cada paso, a continuación.` + +**En situaciones de ransomware, la contención es fundamental. Informar de las medidas de contención con los datos de la investigación. Dé mayor prioridad a las cuarentenas y otras medidas de contención que durante una respuesta típica.** + +Las cuarentenas (lógicas, físicas o ambas) impiden la propagación _desde_ los sistemas infectados y evitan la propagación _hacia_ los sistemas y datos críticos. Las cuarentenas deben ser exhaustivas: incluir el acceso a la nube/SaaS, el inicio de sesión único, el acceso a sistemas como el ERP u otras herramientas empresariales, _etc._. + +* Poner en cuarentena los sistemas infectados +* Poner en cuarentena a los usuarios y grupos afectados. +* Ponga en cuarentena los archivos compartidos (no sólo los conocidos; proteja también los no infectados). +* Ponga en cuarentena las bases de datos compartidas (no sólo los servidores infectados conocidos; proteja también las bases de datos no infectadas) +* Ponga en cuarentena las copias de seguridad, si no están ya protegidas +* Bloquee los dominios y direcciones de comando y control +* Elimine los correos electrónicos vectoriales de las bandejas de entrada. +* Confirme que la protección de los puntos finales (AV, NGAV, EDR, etc.) está actualizada y activada en todos los sistemas. +* Confirmar que los parches se despliegan en todos los sistemas (priorizando los sistemas, SOs, software, _etc._). +* Despliegue de firmas personalizadas en las herramientas de protección de puntos finales y de seguridad de la red, basándose en los COI descubiertos. + +`OBJETIVO: Considerar la posibilidad de automatizar las medidas de contención mediante herramientas de orquestación.` + +#### Erradicar + +`OBJETIVO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el ransomware.` + +`OBJETIVO: Especificar las herramientas y los procedimientos para cada paso, a continuación.` + +* Reconstruir los sistemas infectados a partir de soportes conocidos como buenos. +* Restaurar a partir de copias de seguridad conocidas y limpias. +* Confirmar que la protección de los puntos finales (AV, NGAV, EDR, etc.) está actualizada y activada en todos los sistemas. +* Confirmar que los parches se despliegan en todos los sistemas (dando prioridad a los sistemas, SO, software, etc.). +* Despliegue de firmas personalizadas en las herramientas de protección de puntos finales y de seguridad de la red, basándose en los IOC descubiertos. +* **Vigilar la reinfección:** considerar el aumento de la prioridad de las alarmas/alertas relacionadas con este incidente. + +#### Referencia: Recursos de remediación + +`OBJETIVO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la reparación.` + +### Comunicar + +`OBJETIVO: Personalizar los pasos de comunicación para el ransomware.` + +`OBJETIVO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` + +> **No recomendamos pagar el rescate:** no garantiza la solución del problema. Puede salir mal (_e._, los errores podrían hacer que los datos sean irrecuperables incluso con la clave). Además, pagar demuestra que el ransomware funciona y podría aumentar los ataques contra ti o contra otros grupos.[[2, paraphrased]](#ransomware-playbook-ref-2) + +1. Poner en marcha un plan de continuidad de la actividad/recuperación de desastres: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de respaldo. +1. Recuperar los datos de las copias de seguridad ya limpias en sistemas ya limpios, parcheados y monitorizados (post-erradicación), de acuerdo con nuestra [well-tested backup strategy](#TODO-link-to-actual-resource). + *Comprobar las copias de seguridad en busca de indicadores de peligro + * Considerar la recuperación parcial y las pruebas de integridad de las copias de seguridad +1. ¡Encuentre y pruebe desencriptadores conocidos para la(s) variante(s) descubierta(s) utilizando recursos como el proyecto No More Ransom! Project's [Decryption Tools page](https://www.nomoreransom.org/en/decryption-tools.html). +1. Considerar el pago del rescate por los activos/datos críticos irrecuperables, de acuerdo con la política `OBJETIVO: Ampliar y socializar esta matriz de decisión`. + * Considerar las ramificaciones con las partes interesadas apropiadas + * Comprender las implicaciones financieras y el presupuesto + * Comprender las implicaciones legales, reglamentarias y de seguros + * Comprender los mecanismos (por ejemplo, tecnologías, plataformas, proveedores intermedios/intermediarios) + +### Recursos + +#### Referencia: Acciones de los usuarios ante la sospecha de ransomware + +`OBJETIVO: Personalizar los pasos para los usuarios ante la sospecha de ransomware`. + +1. Mantenga la calma y respire profundamente. +1. Desconecte su sistema de la red `OBJETIVO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para facilitar esta tarea ("romper en caso de emergencia"), considere los interruptores de corte de red por hardware`. +1. Haz fotos de tu pantalla con tu smartphone mostrando las cosas que has notado: mensajes de rescate, archivos encriptados, mensajes de error del sistema, _etc._. +1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: + 1. ¿Qué has notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿Dónde estaba cuando ocurrió y en qué red? (oficina/casa/tienda, con cable/inalámbrica, con/sin VPN, _etc._) + 1. ¿Qué sistemas está utilizando? (sistema operativo, nombre de host, _etc._) + 1. ¿Qué cuenta utilizas? + 1. ¿A qué datos suele acceder? + 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? +1. Contacta al [help desk](#TODO-link-to-actual-resource) y ser lo más útil posible +1. Tenga paciencia: la respuesta puede ser perturbadora, pero está protegiendo a su equipo y a la organización. **Gracias.** + +#### Referencia: Acciones del servicio de asistencia técnica ante la sospecha de ransomware + +`OBJETIVO: Personalizar los pasos para el personal de la mesa de ayuda ante la sospecha de ransomware`. + +1. Mantenga la calma y respire profundamente. +1. Abra un ticket para documentar el incidente, según el procedimiento `TODO: Personalizar la plantilla con las preguntas clave (ver abajo) y el flujo de trabajo de seguimiento`. +1. 2. Pida al usuario que tome fotos de su pantalla usando su smartphone mostrando las cosas que ha notado: mensajes de rescate, archivos encriptados, mensajes de error del sistema, _etc._ Si es algo que ha notado directamente, haga lo mismo usted. +1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haz preguntas detalladas, incluyendo + 1. ¿Qué ha notado? + 1. ¿Por qué pensaste que era un problema? + 1. ¿Qué estabas haciendo en el momento en que lo detectaste? + 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? + 1. ¿De qué redes se trata? (oficina/casa/tienda, cableada/inalámbrica, con/sin VPN, _etc._) + 1. 2. ¿De qué sistemas se trata? (sistema operativo, nombre de host, _etc._) + 1. 2. ¿De qué datos se trata? (rutas, tipos de archivos, archivos compartidos, bases de datos, software, _etc._) + 1. ¿Qué usuarios y cuentas están implicados? (directorio activo, SaaS, SSO, cuentas de servicio, _etc._) + 1. ¿A qué datos suelen acceder los usuarios implicados? + 1. ¿Con quién más has contactado acerca de este incidente y qué les has dicho? +1. Haz las preguntas de seguimiento que sean necesarias. **Usted es el encargado de responder al incidente, contamos con usted.** +1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede +1. Registre toda la información en el ticket, incluyendo notas manuscritas y de voz +1. Poner en cuarentena a los usuarios y sistemas afectados `OBJETIVO: Personalizar los pasos de contención, automatizar todo lo posible`. +1. Póngase en contacto con el [equipo de seguridad](#TODO-link-to-actual-resource) y estar preparados para participar en la respuesta según las indicaciones: investigación, reparación, comunicación y recuperación + +#### Información adicional + +1. ["Ransomware Identification for the Judicious Analyst"](https://www.gdatasoftware.com/blog/2019/06/31666-ransomware-identification-for-the-judicious-analyst), Hahn (12 Jun 2019) +1. [No More Ransom!](https://www.nomoreransom.org) Project, including their [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php?lang=en) service and their [Q&A](https://www.nomoreransom.org/en/ransomware-qa.html) +1. [ID Ransomware](https://id-ransomware.malwarehunterteam.com/) service +1. [MITRE ATT&CK Matrix](https://attack.mitre.org), including the [Initial Access](https://attack.mitre.org/tactics/TA0001/) and [Impact](https://attack.mitre.org/tactics/TA0040/) tactics From 9261ae74356bc0f424930ba4563a8823b90b2b02 Mon Sep 17 00:00:00 2001 From: gdomram487 <94167966+gdomram487@users.noreply.github.com> Date: Tue, 10 May 2022 09:28:46 +0200 Subject: [PATCH 019/199] Add files via upload --- reference/glossary.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/reference/glossary.md b/reference/glossary.md index f2323de..cc7afe1 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -1,13 +1,12 @@ -# Glossary - -1. **Incident Commander / IC:** The incident commander is the person responsible for bringing any major incident to resolution. They are the highest ranking individual on any major incident call, regardless of their day-to-day rank. Their decisions made as commander are final. -1. **Deputy:** Typically the backup IC. The deputy's job is to support the IC during the call, providing them with any help they need. -1. **Scribe:** The scribe's job is to keep a log of all activities performed during the call in a written chat log on Slack. -1. **Resolver:** A person on the incident call who is able to help resolve issues within a particular system. Also referred to as an SME (see below). -1. **SME:** "Subject Matter Expert", someone who is an expert in a particular service or subject who can provide information to the IC, and perform resolution actions for a particular system. -1. **Command Staff:** The Command Staff consists of the Incident Commander, Deputy, and Scribe. -1. **CAN Report:** CAN stands for "Conditions" "Actions" "Needs", if an IC asks you for a CAN report, you should provide the current state of your service (condition), what actions need to be taken to return it to a healthy state (actions), and what support you need in order to perform the actions (needs). -1. **Span of Control:** Refers to the number of direct reports you have. For example, if the IC has 10 people as direct reports on a call, they have a large span of control. We aim to make the span of control as minimal as we can while still being productive. -1. **Grenade Thrower:** Someone who joins the call at a late time in the game, and provides information that completely derails the current thinking. They then leave almost immediately. -1. **Executive Swoop:** When an executive comes on the call and drops some sort of bombshell. A version of grenade throwing. - +# Glosario + +1. **El jefe de incidentes es la persona responsable de resolver cualquier incidente grave. Es la persona de mayor rango en cualquier llamada de incidente mayor, independientemente de su rango diario. Sus decisiones como comandante son definitivas. +1. **El adjunto:** Normalmente es el CI de apoyo. El trabajo del ayudante es apoyar al CI durante la llamada, proporcionándole cualquier ayuda que necesite. +1. **Escriba:** El trabajo del escriba es mantener un registro de todas las actividades realizadas durante la llamada en un registro de chat escrito en Slack. +1. **Resolver:** Una persona en la llamada de incidentes que es capaz de ayudar a resolver problemas dentro de un sistema particular. También se le conoce como PYME (ver más abajo). +1. **SME:** "Subject Matter Expert", alguien que es un experto en un servicio o tema particular que puede proporcionar información al CI, y realizar acciones de resolución para un sistema en particular. +1. **Personal de mando: El personal de mando está formado por el comandante del incidente, el ayudante y el escriba. +1. **Informe CAN:** CAN significa "Condiciones" "Acciones" "Necesidades", si un CI le pide un informe CAN, debe proporcionar el estado actual de su servicio (condición), qué acciones hay que tomar para devolverlo a un estado saludable (acciones), y qué apoyo necesita para realizar las acciones (necesidades). +1. **Espacio de control:** Se refiere al número de informes directos que tiene. Por ejemplo, si el CI tiene 10 personas como informes directos en una convocatoria, tiene un gran rango de control. Nuestro objetivo es que el rango de control sea el mínimo posible sin dejar de ser productivo. +1. **Alguien que se une a la llamada en un momento tardío del juego, y proporciona información que desbarata completamente el pensamiento actual. A continuación, se marchan casi inmediatamente. +1. **Cuando un ejecutivo entra en la convocatoria y suelta algún tipo de bomba. Una versión del lanzamiento de granadas. From aa8d641f84bd837c0a5659e49317e041084d9b14 Mon Sep 17 00:00:00 2001 From: gdomram487 <94167966+gdomram487@users.noreply.github.com> Date: Tue, 10 May 2022 09:29:26 +0200 Subject: [PATCH 020/199] Add files via upload --- roles/role-3-scribe.md | 70 +++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/roles/role-3-scribe.md b/roles/role-3-scribe.md index fa7d25b..087e57d 100644 --- a/roles/role-3-scribe.md +++ b/roles/role-3-scribe.md @@ -1,35 +1,35 @@ -## Role: Scribe - -### Description - -A Scribe documents the timeline of an incident as it progresses, and makes sure all important decisions and data are captured for later review. The Scribe should focus on the incident file, as well as follow-up items for later action. - -### Duties - -1. Ensure the incident call is being recorded. -1. Note in chat and in the file timelines: important data, events, and actions, as they happen. Specifically: - * Key actions as they are taken - * Status reports when one is provided by the IC - * Any key call-outs either during the call or at the ending review -1. Update the chat with who the IC is, who the Deputy is, and that you're the scribe (if not already done). - -Scribing is more art than science. The objective is to keep an accurate record of important events that occurred, Use your judgement and experience. But here are some general things you most definitely want to capture as scribe. - -* The result of any polling decisions. -* Any followup items that are called out as "We should do this..", "Why didn't this?..", etc. - -### Training - -Read and understand the incident response plan, including the roles and playbooks. - -#### Prerequisites - -* Excellent verbal and written **communication skills**. -* Anyone can act as a scribe during an incident, and are chosen by the Incident Commander at the start of the call. -* Typically the Deputy will act as the Scribe - -#### Training Process - -* Read the incident response plan, including all roles and playbooks. -* _OPTIONAL:_ Parallel the actions of a scribe during an incident or exercise, and seek feedback from the actual Scribe and Incident Commander. - +## Rol: Escriba + +### Descripción + +Un escriba documenta la línea de tiempo de un incidente a medida que avanza, y se asegura de que todas las decisiones y datos importantes se capturen para su posterior revisión. El escriba debe centrarse en el archivo del incidente, así como en los elementos de seguimiento para una acción posterior. + +### Funciones + +1. Asegurarse de que la llamada del incidente se está grabando. +1. 2. Anotar en el chat y en la línea de tiempo del expediente: los datos, eventos y acciones importantes, a medida que se producen. Específicamente: + * Acciones clave a medida que se llevan a cabo + * Informes de estado cuando el CI los proporcione + * Cualquier llamada clave durante la llamada o en la revisión final +1. Actualice el chat indicando quién es el CI, quién es el adjunto y que usted es el escribiente (si no lo ha hecho ya). + +Escribir es más un arte que una ciencia. El objetivo es mantener un registro preciso de los eventos importantes que ocurrieron, Usa tu juicio y experiencia. Pero aquí hay algunas cosas generales que definitivamente querrás capturar como escribiente. + +* El resultado de cualquier decisión de la votación. +### Cualquier elemento de seguimiento que se llame "Deberíamos hacer esto..", "¿Por qué no se hizo esto?", etc. + +### Formación + +Lea y comprenda el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. + +#### Requisitos previos + +* Excelentes habilidades de **comunicación verbal y escrita**. +* Cualquiera puede actuar como escribiente durante un incidente, y son elegidos por el Comandante de Incidentes al inicio de la llamada. +* Normalmente, el ayudante actuará como escribiente. + +#### Proceso de formación + +* Lea el plan de respuesta a incidentes, incluyendo todos los roles y libros de jugadas. +* _OPCIONAL:_ Paralizar las acciones de un escriba durante un incidente o ejercicio, y buscar la opinión del escriba real y del jefe de Incidentes. + From b1357d53767308897e72f5a7520c79d265e8490d Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 09:42:56 +0200 Subject: [PATCH 021/199] =?UTF-8?q?Modificaci=C3=B3n=20menor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/index.md b/roles/index.md index 0cbc7da..09a8b48 100644 --- a/roles/index.md +++ b/roles/index.md @@ -7,8 +7,8 @@ A continuación se presentan las descripciones, los deberes y la formación para ## Estrcutura de los roles * Equipo de Mando - * [Comandante de Incidente](#role-incident-commander-ic) - * [Comandante-Adjunto de Incidente](#role-deputy-incident-commander-deputy) + * [Jefe de Incidente](#role-incident-commander-ic) + * [Jefe-Adjunto de Incidente](#role-deputy-incident-commander-deputy) * [Escribano o Escribiente](#role-scribe) * Equipo de enlace * Enlace Interno [Enlace](#role-liaison) From 3cfcd2c9f91a9571092715514dd428f6c44e3d5d Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:45:18 +0200 Subject: [PATCH 022/199] Add files via upload --- roles/role-1-commander.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/role-1-commander.md b/roles/role-1-commander.md index ab0e9ce..98e3542 100644 --- a/roles/role-1-commander.md +++ b/roles/role-1-commander.md @@ -1,9 +1,9 @@ -## Rol: Jefe de incidente +## Rol: Incident commander ### Descripcion -El jefe de incidente (JI) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el jefe de incidente son las decisivas. +El Incident commander(JI) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el Incident commander las decisivas. -Tu trabajo como jefe de incidente es evaluar la situacion, proveer un guiado claro y cordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios** delega estos trabajos. +Tu trabajo como Incident commander evaluar la situacion, proveer un guiado claro y cordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios** delega estos trabajos. ### Deberes From bbc1c2328555eebc3043d55cb91b628413c6d83b Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 09:45:35 +0200 Subject: [PATCH 023/199] Add files via upload From a01225b38fad5e72fda327f2b404673fffa409d6 Mon Sep 17 00:00:00 2001 From: Jose Manuel Arrieta Soto Date: Tue, 10 May 2022 10:09:39 +0200 Subject: [PATCH 024/199] Subida during.md --- during.md | 1075 ++++++++++++++++++++++++++--------------------------- 1 file changed, 537 insertions(+), 538 deletions(-) diff --git a/during.md b/during.md index 26bc84a..4411702 100644 --- a/during.md +++ b/during.md @@ -1,538 +1,537 @@ -# Incident Response Plan for {{COMPANY_NAME}} - -Author: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}} - -Revision {{REVISION_NUMBER}}, Released {{RELEASE_DATE}} - -This incident response plan is based on the concise, directive, specific, flexible, and free plan available on Counteractive Security's [Github](https://github.com/counteractive/incident-response-plan-template) and discussed at [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) - -It was last reviewed on {{REVIEW_DATE}}. It was last tested on {{TEST_DATE}}. - -`TODO: Customize this plan template for your organization using instructions at https://github.com/counteractive/incident-response-plan-template. For incident response services, or help customizing, implementing, or testing your plan, contact us at contact@counteractive.net or at (888) 925-5765.` - -# Assess - -1. **Stay calm and professional.** -1. Gather pertinent information, _e.g._, alarms, events, data, assumptions, intuitions (**observe**). -1. Consider impact categories, below (**orient**), and determine if there is a possible incident (**decide**): -1. Initiate a response if there is an incident (**act**). If in doubt, initiate a response. The incident commander and response team can adjust upon investigation and review. - -## Assess Functional Impact - -What is the direct or likely impact on your mission? (_e.g._, business operations, employees, customers, users) - -* Mission/business degradation or failure: **incident!** -* None: assess information impact. - -## Assess Information Impact - -What is the direct or likely impact on your information/data, particularly anything sensitive? (_e.g._, PII, proprietary, financial, or healthcare data) - -* Information accessed, taken, changed, or deleted: **incident!** -* None: handle via non-incident channels (_e.g._, support ticket). - -**Every team member is empowered to start this process.** If you see something, say something. - -`TODO: Customize categories/severities as necessary. This simple example (incident vs. no incident) is based on impact categories in NIST SP 800-61r2.` - -# Initiate Response - -## Name the Incident - -Create an [simple two-word phrase](http://creativityforyou.com/combomaker.html) to refer to the incident---a codename---to use for the incident file and channel(s). `TODO: Customize incident naming procedure.` - -## Assemble the Response Team - -1. Page the on-duty/on-call Incident Commander. `TODO: Add Incident Commander call list or procedure` -1. **Do not** discuss the incident outside the response team unless cleared by the Incident Commander -1. Launch and/or join the response chat at {{RESPONSE_CHAT}}. `TODO: Add response chat launch procedure.` -1. Launch and/or join the response call at {{RESPONSE_PHONE}} and/or {{RESPONSE_VTC}}. `TODO: Add response call launch procedure.` -1. Prefer voice call, chat, and secure file exchange over any other methods. -1. **Do not** use primary email if possible. If email is necessary, use sparingly or use {{ALTERNATE_EMAIL}}. Encrypt emails when any participant is outside the {{ORGANIZATION_DOMAIN}} domain. `TODO: Add alternative email details and procedure, e.g., on-demand Office 365 or GSuite` -1. **Do not** use SMS/text to communicate about the incident, unless to tell someone to move to a more secure channel. -1. Invite on-duty/on-call responders to the response call and response chat. - * Invite the security team. `TODO: Add security team contact list or procedure.` - * Invite a SME for affected teams and systems. `TODO: Add team SME contact list or procedure.` - * Invite executive stakeholders and legal counsel at earliest opportunity, but prioritize operational responders. `TODO: Add executive stakeholder contact list or procedure.` -1. _OPTIONAL:_ Establish an in-person collaboration room ("war room") for complex or severe incidents. `TODO: Add collaboration room procedure.` - -### Reference: Response Team Structure - -* Command Team - * [Incident Commander](#role-incident-commander-ic) - * [Deputy Incident Commander](#role-deputy-incident-commander-deputy) - * [Scribe](#role-scribe) -* Liaison Team - * Internal [Liaison](#role-liaison) - * External Liaison -* Operations Team - * [Subject Matter Experts](#role-subject-matter-expert-sme) (SMEs) for Systems - * SMEs for Teams/Business Units - * SMEs for Executive Functions (_e.g._, Legal, HR, Finance) - -`TODO: Modify role structure as necessary.` - -### Reference: Response Team Contact Information - -Response Team Role | Contact Information ----------------------------- | --------------------------- -Incident Commander pager | {{INCIDENT_COMMANDER_PAGER_NUMBER}} -Incident Commander pager url | {{INCIDENT_COMMANDER_PAGER_URL}} -Incident Commander roster | {{INCIDENT_COMMANDER_ROSTER}} -Security team roster | {{SECURITY_TEAM_ROSTER}} -Team SME roster | {{TEAM_SME_ROSTER}} -Executive roster | {{EXECUTIVE_ROSTER}} - -`TODO: Customize response team contact information. Include contact procedures in rosters, which can be static or dynamic.` - -## Establish Battle Rhythm - -### Conduct Initial Response Call - -1. Conduct initial call using the [initial response call structure](#reference-initial-response-call-structure) -1. Follow instructions from the Incident Commander. If the on-duty/on-call Incident Commander does not join the call **within {{INCIDENT_COMMANDER_RESPONSE_SLA}}** and you are a trained incident commander, take command of the call. -1. Follow the [instructions for your role](#roles). -1. Follow the call and chat, and comment as appropriate. If you are not a SME, filter input through the SME for your team if possible. -1. **Keep the call and chat active throughout the incident for event-driven communication.** -1. Schedule updates **every {{UPDATE_FREQUENCY}}** on the active bridge. - -#### Reference: Initial Response Call Structure - -* INCIDENT COMMANDER (IC): My name is [NAME], I am the Incident Commander. I have designated [NAME] as Deputy, and [NAME] as Scribe. Who is on the call? -* SCRIBE: [Takes attendance] -* IC: [If missing key personnel] Deputy, please page [MISSING PERSONNEL]. -* IC: [Asks questions to understand situation, symptoms, scope, vector, impact, and timeline from the incident reporter, applicable SMEs for systems and business units] -* SMEs: [Brief answers to IC's questions] -* IC:[If this is an incident]: - * At this time, the incident summary is as follows: [reiterates summary]. The Investigation team will be led by [NAME], the Remediation team will be led by [NAME], and the Communication team will be led by [NAME]. They will coordinate team membership and report to me. SMEs, please report to your appropriate team leader. - * What investigation, remediation, or communication steps have already been taken? [this should be a short list, but needs to come out now] - * This call and chat will remain up and available until incident closure, please use it for all incident related communications. Provide real-time status updates in the chat, if possible. Are there any questions or remaining inputs? [answers questions] - * Team leaders, please proceed with your planned actions. We will reconvene at [UPDATE_TIME] to discuss the status. Thank you. -* IC: [If this is not an incident]: At this time, these facts do not rise to the level of an incident. I will coordinate directly with the incident reporter for follow-on actions. Thank you for your time. - -#### Reference: Call Etiquette - -* Join both the call and chat. -* Keep background noise to a minimum. -* Keep your microphone muted until you have something to say. -* Identify yourself when you join the call; State your name and role (_e.g._, "I am the SME for team x"). -* Speak up and speak clearly. -* Be direct and factual. -* Keep conversations/discussions short and to the point. -* Bring any concerns to the Incident Commander (IC) on the call. -* Respect time constraints given by the Incident Commander. -* **Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** - -### Conduct Response Update - -* Conduct scheduled updates using the [update call structure](#reference-response-update-call-structure) every {{UPDATE_FREQUENCY}} on the active bridge. `TODO: Customize update frequency and scripts; recommend no more than twice daily.` -* Adjust frequency as necessary. -* Coordinate independent updates (_e.g._, executive, legal) as required, but as infrequently as practicable. - -#### Reference: Response Update Call Structure - -* INCIDENT COMMANDER (IC): Since our last scheduled update, the incident summary is as follows: - * [Impact] - * [Vector] - * [Summary update] - * [Timeline update] -* IC: Investigation team, please provide a brief update - * INVESTIGATION LEAD: [Investigative activities or "nothing to report"] - * What is your recommended investigations plan? - * What investigation actions need tasking or approval? [listen, gain consensus, task/approve] -* IC: Remediation team, please provide a brief update - * REMEDIATION LEAD: [Remediation activities or "nothing to report"] - * What is your recommended remediation strategy? Strong objections? [listen, gain consensus, task/approve] - * What remediation actions need tasking or approval? -* IC: Communication team, please provide a brief update: - * COMMUNICATIONS LEAD: [Communication activities or "nothing to report"] - * What is your recommended communication strategy? Strong objections? [listen, gain consensus, task/approve] - * What communication actions need tasking or approval? -* IC: This call and chat will remain up and available until incident closure, please use it for all incident related communications. Provide real-time status updates in the chat, if possible. Are there any questions or remaining inputs? [answers questions] -* IC: Team leaders, please proceed. We will reconvene in [{{UPDATE_TIME}}] to discuss the status. Thank you. - -## Monitor Scope - -* Monitor the scope of the response to ensure it does not exceed the Incident Commander's span of control. -* If an incident gets sufficiently complex, and there are sufficient responders, consider spinning off sub-teams. - -### Create Sub-Teams - -* In preparation for complex incidents, three sub-teams are pre-defined: Investigation, Remediation, and Communication, generally responsible for those response functions. `TODO: Customize sub-team structure if necessary.` -* Create a call bridge and chat for each sub-team. -* The Incident Commander will designate team leaders, who report to the IC, and team members, who report to their team leader. _Team leaders do not have to be trained as incident commanders, however some leadership experience is preferable._ -* The Incident Commander may adjust the purpose or name of the sub-teams as necessary. -* If you wish to switch teams, ask your **current team leader**. **Do not** ask the Incident Commander, or the leader of the other team(s). Use the chain of command. - -### Split Incident - -If an incident turns out to be two or more distinct incidents: - -* Establish a new [incident file](#create-incident-file). -* Track and coordinate investigation, remediation, and communication in the appropriate file. -* Consider establishing sub-teams for each incident. -* **Maintain one top-level Incident Commander**, to coordinate low-density, high-demand assets and maintain unity of command. - -# Investigate - -**[Investigate](#investigate), [remediate](#remediate), and [communicate](#communicate) in parallel, using separate teams, if possible.** The Incident Commander will coordinate these activities. Notify the Incident Commander if there are steps the team should consider. - -## Create Incident File - -1. Create a new incident file at {{INCIDENT_FILE_LOCATION}} using the [incident name](#name-the-incident). Use this file for secure storage of documentation, evidence, artifacts, _etc._ - * Provision secure digital storage. - * Provision secure file exchange. - * Obtain physical storage. - * Share the incident file location on the call and chat. - * `TODO: Customize and automate file location and procedure` -1. Document the functional and information impact, if known (see [Assess](#assess)). `TODO: Customize impact categories, if necessary.` -1. Document the vector, if known (_e.g.,_ web, email, removable media). `TODO: Customize vector list, if necessary.` -1. Document the incident summary: a brief overview of the vector, impact, investigation, and remediation situation, if known. -1. Document the incident timeline, including attacker activity and responder activity. `TODO: Add timelines of varying details, as necessary.` -1. Document investigation, remediation, and communication steps. Document activities independently so they can be combined and reused, if possible. -1. Track significant information such as: - * **Evidence**, with time of collection, source, chain of custody, _etc._ - * **Affected systems**, with how and when system was identified, and summary of effect (_e.g._, has malware, data accessed). - * **Files of interest**, such as malware or data files, with system and metadata. - * **Accessed and taken data**, with filenames, metadata, and time of suspected exposure. - * **Significant attacker activity**, such as logins and malware execution, with time of the event. - * **Network-based indicators of compromise (IOCs)**, such as IP addresses and domains. - * **Host-based IOCs**, such as filenames, hashes, and registry keys. - * **Compromised accounts**, with scope of access and time of compromise. - -`TODO: Customize incident documentation procedure, including spreadsheets, databases, forms, systems, and templates, if necessary.` - -## Collect Initial Leads - -1. Interview incident reporter(s). -1. Collect initial supporting data (_e.g._, alarms, events, data, assumptions, intuitions) in the incident file. -1. Interview SME(s) with domain or system expertise, to understand technical detail, context, and risk. -1. Interview SME(s) in affected business unit, to understand mission/business impact, context, and risk. -1. Ensure leads are relevant, detailed, and actionable. - -### Reference: Response Resource List - -Resource | Location -------------------------- | ------------------------------------ -Critical information list | {{CRITICAL_INFO_LIST_LOCATION}} -Critical asset list | {{CRITICAL_ASSET_LIST_LOCATION}} -Asset management database | {{ASSET_MGMT_DB_LOCATION}} -Network map | {{NETWORK_MAP_LOCATION}} -SIEM console | {{SIEM_CONSOLE_LOCATION}} -Log aggregator | {{LOG_AGGREGATOR_CONSOLE}} - -`TODO: Complete critical information and asset lists ("crown jewels"). This is incredibly important to effective response.` - -`TODO: Customize response resource list` - -## Update Investigative Plan and Incident File - -1. Review and refine incident impact. -1. Review and refine incident vector. -1. Review and refine incident summary. -1. Review and refine incident timeline with facts and inferences. -1. Create hypotheses: what may have happened, and with what confidence. -1. **Identify and prioritize key questions** (information gaps) to support or discredit hypotheses. - * Use the MITRE ATT&CK matrix or similar framework to [develop questions](#reference-attacker-tactics-to-key-questions-matrix). - * [ATT&CK for Enterprise](https://attack.mitre.org/wiki/Main_Page), including links to Windows, Mac, and Linux specifics. - * [ATT&CK Mobile Profile](https://attack.mitre.org/mobile/index.php/Main_Page) for mobile devices. - * Use interrogative words as inspiration: - * **When?**: first compromise, first data loss, access to x data, access to y system, _etc._ - * **What?**: impact, vector, root cause, motivation, tools/exploits used, accounts/systems compromised, data targeted/lost, infrastructure, IOCs, _etc._ - * **Where?**: attacker location, affected business units, infrastructure, _etc._ - * **How?**: compromise (exploit), persistence, access, exfiltration, lateral movement, _etc._ - * **Why?**: targeted, timing, access x data, access y system, _etc._ - * **Who?**: attacker, affected users, affected customers, _etc._ -1. **Identify and prioritize witness devices and strategies** to answer key questions. - * Consult network diagrams, asset management systems, and SME expertise - * Check the [Response Resource List](#reference-response-resource-list)) -1. Refer to [incident playbooks](#playbooks) for key questions, witness devices, and strategies for investigating common or highly damaging threats. - -**The investigative plan is critical to an effective response; it drives all investigative actions. Use critical thinking, creativity, and sound judgment.** - -### Reference: Attacker Tactics to Key Questions Matrix - -Attacker Tactic | The way attackers ... | Possible Key Questions --------------------- | ----------------------------- | ----------------------------------------- -Reconnaissance | ... learn about targets | How? Since when? Where? Which systems? -Resource Development | ... build infrastructure | Where? Which systems? -Initial Access | ... get in | How? Since when? Where? Which systems? -Execution | ... run hostile code | What malware? What tools? Where? When? -Persistence | ... stick around | How? Since when? Where? Which systems? -Privilege Escalation | ... get higher level access | How? Where? What tools? -Defense Evasion | ... dodge security | How? Where? Since when? -Credential Access | ... get/create accounts | Which accounts? Since when? Why? -Discovery | ... learn our network | How? Where? What do they know? -Lateral Movement | ... move around | How? When? Which accounts? -Collection | ... find and gather data | What data? Why? When? Where? -Command and Control | ... control tools and systems | How? Where? Who? Why? -Exfiltration | ... take data | What data? How? When? Where? -Impact | ... break things | What systems or data? How? When? Where? How bad? - -See the [MITRE ATT&CK page](https://attack.mitre.org/) for more insight and ideas. - -## Create and Deploy Indicators of Compromise (IOCs) - -> Emphasize **dynamic and behavioral** indicators alongside static fingerprints. - -* Create IOCs based on [initial leads](#collect-initial-leads) and [analysis](#analyze-evidence). -* Create IOCs using an open format supported by your tools (_e.g._, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), if possible. `TODO: Customize IOC format as necessary.` -* Use automation, if possible. `TODO: Add IOC deployment/revocation procedure.` -* **Do not** deploy unrelated, un-curated "feeds" of IOCs; these can cause confusion and fatigue. -* Consider all IOC types: - * Network-based IOCs such as IP or MAC addresses, ports, email addresses, email content or metadata, URLs, domains, or PCAP patterns. - * Host-based IOCs such as paths, file hashes, file content or metadata, registry keys, MUTEXes, autoruns, or user artifacts and permissions. - * Cloud-based IOCs such as log patterns for [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) or [IaaS](https://en.wikipedia.org/wiki/Infrastructure_as_a_service) deployments - * Behavioral IOCs (a.k.a., patterns, TTPs) such as process tree patterns, heuristics, deviation from baseline, and login patterns. -* Correlate various IOC types, such as network and host-based indicators on the same systems(s). - -## Identify Systems of Interest - -1. Validate whether they are relevant. -1. Categorize the reason(s) they are "of interest": has malware, accessed by compromised account, has sensitive data, etc. Treat these as "tags", there may be more than one category per system. -1. Prioritize collection, analysis, and remediation based on investigative needs, business impact, _etc._ - -## Collect Evidence - -* Prioritize based on the investigative plan -* Collect live response data using {{LIVE_RESPONSE_TOOL}}. `TODO: Customize live response tools and procedure.` -* Collect relevant logs from system(s) (if not part of live response), aggregator(s), SIEM(s), or device console(s). `TODO: Customize log collection tools and procedure.` -* Collect memory image, if necessary and if not part of live response, using {{MEMORY_COLLECTION_TOOL}}. `TODO: Customize memory collection tools and procedure.` -* Collect disk image, if necessary, using {{DISK_IMAGE_TOOL}}. `TODO: Customize disk image collection tool and procedure.` -* Collect and store evidence in accordance with policy, and with proper chain of custody. `TODO: Customize evidence collection and chain of custody policy.` - -Consider collecting the following artifacts as evidence, either in real time (_e.g., via EDR or a SIEM) or on demand: - -### Example Useful Artifacts - -`TODO: Customize and prioritize useful artifacts.` - -* Running Processes -* Running Services -* Executable Hashes -* Installed Applications -* Local and Domain Users -* Listening Ports and Associated Services -* Domain Name System (DNS) Resolution Settings and Static Routes -* Established and Recent Network Connections -* Run Key and other AutoRun Persistence -* Scheduled tasks and cron jobs -* Artifacts of past execution (e.g., Prefetch and Shimcache) -* Event logs -* Group policy and WMI artifacts -* Anti-virus detections -* Binaries in temporary storage locations -* Remote access credentials -* Network connection telemetry (e.g., netflow, firewall permits) -* DNS traffic and activity -* Remote access activity including Remote Desktop Protocol (RDP), virtual private network (VPN), SSH, virtual network computing (VNC), and other remote access tools -* Uniform Resource Identifier (URI) strings, user agent strings, and proxy enforcement actions -* Web traffic (HTTP/HTTPS) - -## Analyze Evidence - -* Prioritize based on the investigative plan -* Analyze and triage live response data -* Analyze memory and disk images (_i.e._, conduct forensics) -* Analyze malware -* _OPTIONAL:_ Enrich with research and intelligence -* Document new indicators of compromise (IOCs) -* Update the case file - -### Example Useful Indicators - -`TODO: Customize and prioritize useful indicators.` - -* Unusual authentication behavior (_e.g._, frequency, systems, time of day, remote location) -* Non-Standard formatted usernames -* Unsigned binaries connecting to the network -* Beaconing or significant data transfers -* PowerShell command line requests with Base64-encoded commands -* Excessive RAR, 7zip, or WinZip activity, especially with suspicious file names -* Connections on previously unused ports. -* Traffic patterns related to time, frequency, and byte count -* Changes to routing tables, such as weighting, static entries, gateways, and peer relationships - -## Iterate Investigation - -[Update the investigative plan](#update-investigative-plan-and-incident-file) and repeat until closure. - -# Remediate - -**[Investigate](#investigate), [remediate](#remediate), and [communicate](#communicate) in parallel, using separate teams, if possible.** The Incident Commander will coordinate these activities. Notify the Incident Commander if there are steps the team should consider - -## Update Remediation Plan - -1. Review the incident file at {{INCIDENT_FILE_LOCATION}} using the [incident name](#name-the-incident) -1. Review applicable [playbooks](#playbooks). -1. Review the [Response Resource List](#reference-response-resource-list)). -1. Consider which attacker tactics are in play in this incident. Use the MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) list (_i.e._, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Execution, Collection, Exfiltration, and Command and Control), or similar framework. -1. Develop remediations for each tactic in play, as feasible given existing tools and resources. Consider remediations to [Protect](#protect), [Detect](#detect), [Contain](#contain), and [Eradicate](#eradicate) each attacker behavior. -1. Prioritize based on [timing strategy](#choose-remediation-timing), impact, and urgency. -1. Document in incident file. - -Use [information security (infosec) frameworks](https://www.nist.gov/cyberframework) as inspiration, but **do not use incident remediation as a substitute for an infosec program with an appropriate framework.** Use them to supplement one another. - -### Protect - -> "How can we stop tactic X from happening again, or reduce risk? How can we improve future protection?" - -Use the following as a starting point for protective remediation: - -* Patch applications. -* Patch operating systems. -* Update network and host IPS signatures. -* Update endpoint protection/EDR/anti-virus signatures. -* Reduce locations with critical data. -* Reduce administrative or privileged accounts. -* Enable multi-factor authentication. -* Strengthen password requirements. -* Block unused ports and protocols at segment and network boundaries, both inbound and outbound. -* Whitelist network connections for critical servers and services. - -### Detect - -> "How can we detect this on new systems or in the future? How can we improve future detection and investigation?" - -Use the following as a starting point for detective remediation: - -* Enhance logging and retention for system logs, particularly critical systems. -* Enhance logging for applications, including SaaS applications. -* Enhance log aggregation. -* Update network and host IDS signatures using IOCs. - -### Contain - -> "How can we stop this from spreading, or getting more severe? How can we improve future containment?" - -Use the following as a starting point for containment remediation: - -* Implement access lists (ACLs) at network segment boundaries -* Implement blocks at the enterprise boundary, at multiple layers of the [OSI model](https://en.wikipedia.org/wiki/OSI_model). -* Disable or remove compromised account access. -* Block malicious IP addresses or networks. -* Black hole or sinkhole malicious domains. -* Update network and host IPS and anti-malware signatures using IOCs. -* Remove critical or compromised systems from the network. -* Contact providers for assistance (_e.g._, internet service providers, SaaS vendors) -* Whitelist network connections for critical servers and services. -* Kill or disable processes or services. -* Block or remove access for external vendors and partners, especially privileged access. - -### Eradicate - -> "How can we eliminate this from our assets? How can we improve future eradication?" - -Use the following as a starting point for eradication remediation: - -* Rebuild or restore compromised systems and data from known-good state. -* Reset account passwords. -* Remove hostile accounts or credentials. -* Delete or remove specific malware (difficult!). -* Implement alternative vendors. -* Activate and migrate to alternate locations, services, or servers. - -## Choose Remediation Timing - -Determine the timing strategy---when remediation actions will be taken---by engaging the Incident Commander, the system SMEs and owners, business unit SMEs and owners, and the executive team. Each strategy is appropriate under different circumstances: - -* Choose **immediate** remediation when it is more important to immediately stop attacker activities than to continue investigating. For example, ongoing financial loss, or ongoing mission failure, active data loss, or prevention of an imminent significant threat. -* Choose **delayed** remediation when it is important to complete the investigation, or important not to alert the attacker. For example, long-term compromise by an advanced attacker, corporate espionage, or large-scale compromise of an an unknown number of systems. -* Choose **combined** remediation when both immediate and delayed circumstances apply in the same incident. For example, immediate segmentation of a sensitive server or network to meet regulatory requirements while still investigating a long-term compromise. - -## Execute Remediation - -* Assess and explain risks of remediation actions to stakeholders. `TODO: Customize remediation risk approval procedure, if necessary.` -* Immediately implement those remediation actions with little or no affect on the attacker (sometimes called "posturing actions"). For example, many of the [protection](#protect) and [detection](#detect) actions above are good candidates. -* Schedule and task remediation actions according to the timing strategy. -* Execute remediation actions in batches, as events, for maximum effectiveness and minimum risk. -* Document execution status and time in the incident file, especially for temporary measures. - -## Iterate Remediation - -[Update the remediation plan](#update-remediation-plan) and repeat until closure. - -# Communicate - -**[Investigate](#investigate), [remediate](#remediate), and [communicate](#communicate) in parallel, using separate teams, if possible.** The Incident Commander will coordinate these activities. Notify the Incident Commander if there are steps the team should consider - -All communication must include the most accurate information available. Display integrity. Do not communicate speculation. - -## Communicate Internally - -### Notify and Update Stakeholders - -* Communicate with stakeholders as part of the initial and update calls, as well as via event-driven updates on the call and chat. -* Coordinate independent updates (_e.g._, executive, legal) as required, but as infrequently as practicable, to keep the focus on investigation and remediation. -* Focus on the best assessment of the vector, impact, summary, and highlights of the timeline including remediation steps. Do not speculate. - -### Notify and Update Organization - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander, particularly if there is a risk of an insider threat. -* Coordinate updates for teams or the entire organization with executives and business leadership. -* Focus on the best assessment of the vector, impact, summary, and highlights of the timeline including remediation steps. Do not speculate. - -### Create Incident Report - -* Upon incident closure, capture information in the [incident file](#create-incident-file) for distribution using the format at {{INCIDENT_REPORT_TEMPLATE}}. **If the vector, impact, summary, timeline, and activity reports are complete, this can be fully automated.** -* Distribute the incident report to the following: {{INCIDENT_REPORT_RECIPIENTS}}. -* `TODO: Customize incident report creation and distribution, if necessary` - -## Communicate Externally - -### Notify Regulators - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* Notify regulators (_e.g._, HIPAA/HITRUST, PCI DSS, SOX) if necessary, and in accordance with policy. -* Coordinate requirements, format, and timeline with {{COMPLIANCE_TEAM}}. - -### Notify Customers - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* Coordinate customer notifications with {{COMMUNICATIONS_TEAM}}. -* Include the date in the title of any announcement, to avoid confusion. -* **Do not** use platitudes such as "we take security very seriously". Focus on facts. -* Be honest, accept responsibility, and present the facts, along with the plan to prevent similar incidents in future. -* Be as detailed as possible with the timeline. -* Be as detailed as possible in what information was compromised, and how it affects customers. If we were storing something we shouldn't have been, be honest about it. It'll come out later and it'll be much worse. -* **Do not** discuss external parties that might have caused the compromise, unless they've already publicly disclosed, in which case link to their disclosure. Communicate with them independently (see [Notify Vendors](#notify-vendors-and-partners)) -* Release the external communication as soon as possible. Bad news does not get better with age. -* If possible, contact customers' internal security teams before notifying the public. - -### Notify Vendors and Partners - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* If possible, contact vendors' and partners' internal security teams before notifying the public. -* Focus on the specific aspects of the incident that affect or implicate the vendor or partner. -* Coordinate response efforts and share information if possible. - -### Notify Law Enforcement - -* **Do not** notify or update non-response personnel until cleared by the Incident Commander. -* Coordinate with {{EXECUTIVE_TEAM}} and {{LEGAL_TEAM}} prior to interacting with law enforcement -* Contact local law enforcement at {{LOCAL_LE_CONTACT}}. -* Contact FBI at {{FBI_CONTACT}} or via the [Internet Crime Complaint Center (IC3)](https://www.ic3.gov). -* Contact operators for any systems used in the attack, their systems may also have been compromised. - -### Contact External Response Support - -* Contact {{INCIDENT_RESPONSE_VENDOR}} to help in assessing risk, incident management, incident response, and post-incident support. -* Contact {{PUBLIC_RELATIONS_VENDOR}} for help with PR and external communication. -* Contact {{INSURANCE_VENDOR}} for help with cyber insurance. - -### Share Intelligence - -* Share IOCs with [Infragard](https://www.infragard.org/) if applicable. -* Share IOCs with your servicing [ISAC](https://en.wikipedia.org/wiki/Information_Sharing_and_Analysis_Center) through {{ISAC_CONTACT}}, if applicable. - -# Recover - -`TODO: Customize recovery steps.` - -`TODO: Specify tools and procedures for each step, below.` - -**Recovery is typically governed by business units and system owners. Take recovery actions only in collaboration with relevant stakeholders.** - -1. Launch business continuity/disaster recovery plan(s): _e.g._, consider migration to alternate operating locations, fail-over sites, backup systems. -1. Integrate security actions with organizational recovery efforts. - +# Plan de respuesta a incidentes para {{COMPANY_NAME}} + +Autor: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}} + +Revisión {{REVISION_NUMBER}}, Publicado {{RELEASE_DATE}} + +Este plan de respuesta a incidentes está basado en el plan conciso, directivo, específico, flexible y gratuito disponible en [Github](https://github.com/counteractive/incident-response-plan-template) de Counteractive Security y discutido en [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) + +Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. + +`TODO: Personalice esta plantilla de plan para su organización utilizando las instrucciones en https://github.com/counteractive/incident-response-plan-template. Para obtener servicios de respuesta a incidentes, o ayuda para personalizar, implementar o probar su plan, póngase en contacto con nosotros en contact@counteractive.net o en el (888) 925-5765.` + +# Evaluar + +1. **Mantenga la calma y la profesionalidad.** +2. Reúna la información pertinente, _por ejemplo_, alarmas, eventos, datos, suposiciones, intuiciones (**observe**). +3. Considerar las categorías de impacto, a continuación (**orientar**), y determinar si hay un posible incidente (**decidir**): +4. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El jefe del incidente y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. + +## Evaluar el impacto funcional + +¿Cuál es el impacto directo o probable en su misión? (_por ejemplo_, operaciones comerciales, empleados, clientes, usuarios) + +* Degradación o fracaso de la misión/negocio: **incidente!** +* Ninguno: evalúe el impacto de la información. + +## Evaluar el impacto de la información + +¿Cuál es el impacto directo o probable sobre su información/datos, en particular los sensibles? (_por ejemplo_, información personal, datos de propiedad, financieros o sanitarios) + +* Información a la que se ha accedido, tomado, cambiado o borrado: **incidente!** +* Ninguno: gestión a través de canales no relacionados con incidentes (por ejemplo, un ticket de soporte). + +**Cada miembro del equipo está facultado para iniciar este proceso.** Si ves algo, di algo. + +`TODO: Personalizar las categorías/severidades según sea necesario. Este sencillo ejemplo (incidente vs. no incidente) se basa en las categorías de impacto del NIST SP 800-61r2.` + +#Iniciar la respuesta + +## Nombrar el incidente + +Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.html) para referirse al incidente -un nombre en clave- que se utilizará para el archivo y el canal del incidente. `Todo: Personalizar el procedimiento de nomenclatura de incidentes.` + +## Reunir el equipo de respuesta + +1. Llame al jefe de Incidentes de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del jefe de Incidentes`. +2. **No** discuta el incidente fuera del equipo de respuesta a menos que el jefe del Incidente lo autorice +3. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. `ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta.` +4. Iniciar y/o unirse a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. `TODO: Añadir el procedimiento de lanzamiento de la llamada de respuesta.` +5. Prefiera la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. +6. **No** utilizar el correo electrónico principal si es posible. Si el correo electrónico es necesario, utilícelo con moderación o use {{ALTERNATE_EMAIL}}. Encripte los correos electrónicos cuando cualquier participante esté fuera del dominio {{ORGANIZATION_DOMAIN}}. `TODO: Añadir detalles y procedimiento de correo electrónico alternativo, por ejemplo, Office 365 o GSuite bajo demanda`. +7. **No** usar SMS/texto para comunicar el incidente, a menos que sea para decirle a alguien que se mueva a un canal más seguro. +8. Invite a los intervinientes de guardia/de guardia a la llamada de respuesta y al chat de respuesta. + * Invite al equipo de seguridad. `TODO: Añadir lista de contactos del equipo de seguridad o procedimiento.` + * Invitar a una PYME de los equipos y sistemas afectados. `TODO: Añadir la lista de contactos de la PYME del equipo o el procedimiento.` + * Invitar a las partes interesadas ejecutivas y a los asesores jurídicos lo antes posible, pero dar prioridad a los responsables operativos. `TODO: añadir una lista de contactos de las partes interesadas ejecutivas o un procedimiento.` +9. OPCIONAL:_ Establecer una sala de colaboración en persona ("sala de guerra") para incidentes complejos o graves. `TODO: Añadir el procedimiento de la sala de colaboración.` + +### Referencia: Estructura del equipo de respuesta + +* Equipo de Mando + * [jefe del Incidente](#role-incident-commander-ic) + * [jefe Adjunto de Incidentes](#role-deputy-incident-commander-deputy) + * [Escribano](#role-scribe) +* Equipo de enlace + * Enlace [interno](#role-liaison) + * Enlace externo +* Equipo de operaciones + * [Expertos en la materia](#role-subject-matter-expert-sme) (PYMES) para sistemas + * PYMES para equipos/unidades de negocio + * PYMES para Funciones Ejecutivas (_por ejemplo_, Legal, RRHH, Finanzas) + +`TODO: Modificar la estructura de roles según sea necesario`. + +### Referencia: Información de contacto del equipo de respuesta + +Rol del equipo de respuesta | Información de contacto +----------------------------------- | --------------------------- +Localizador del jefe del incidente | {INCIDENT_COMMANDER_PAGER_NUMBER}} +Url del jefe de Incidentes | {{INCIDENT_COMMANDER_PAGER_URL}} +Lista del jefe de incidentes | {{INCIDENT_COMMANDER_ROSTER}} +Lista del equipo de seguridad | {{SECURITY_TEAM_ROSTER}} +Lista del equipo SME | {{TEAM_SME_ROSTER}} +Lista de ejecutivos | {{EXECUTIVE_ROSTER}} + +`TODO: Personalizar la información de contacto del equipo de respuesta. Incluya los procedimientos de contacto en las listas, que pueden ser estáticas o dinámicas.` + +## Establecer el ritmo de la batalla + +### Realizar la llamada de respuesta inicial + +1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial](#reference-initial-response-call-structure) +2. Siga las instrucciones del Jefe del Incidente. Si el Jefe de Incidentes de turno/de guardia no se une a la llamada **dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}}** y usted es un Jefe de incidentes capacitado, tome el mando de la llamada. +3. Siga las [instrucciones correspondientes a su función](#roles). +4. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, filtre las aportaciones a través del SME de su equipo si es posible. +5. **Mantenga la llamada y el chat activos durante todo el incidente para una comunicación basada en eventos.** +6. Programe actualizaciones **cada {{UPDATE_FREQUENCY}}** en el puente activo. + +#### Referencia: Estructura de la llamada de respuesta inicial + +*Jefe DEL INCIDENTE (IC): Mi nombre es [NOMBRE], soy el Jefe del Incidente. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? +* SCRIBE: [Toma asistencia] +* IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. +* IC: [Hace preguntas para comprender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. +* PYMES: [Responde brevemente a las preguntas del CI]. +* IC: [Si se trata de un incidente]: + * En este momento, el resumen del incidente es el siguiente: [reitera el resumen]. El equipo de investigación estará dirigido por [NOMBRE], el equipo de reparación estará dirigido por [NOMBRE] y el equipo de comunicación estará dirigido por [NOMBRE]. Ellos coordinarán la composición del equipo y me informarán. Los miembros del equipo, por favor, informen a su jefe de equipo correspondiente. + * ¿Qué medidas de investigación, corrección o comunicación se han tomado ya? [esta debería ser una lista corta, pero tiene que salir ahora] + * Esta llamada y el chat permanecerán activos y disponibles hasta el cierre del incidente, por favor, utilícelos para todas las comunicaciones relacionadas con el incidente. Proporcione actualizaciones de estado en tiempo real en el chat, si es posible. ¿Hay alguna pregunta o aportación restante? [responde a las preguntas] + * Líderes de equipo, por favor procedan con sus acciones planeadas. Nos reuniremos de nuevo en [UPDATE_TIME] para discutir el estado. Gracias. +* IC: [Si esto no es un incidente]: En este momento, estos hechos no alcanzan el nivel de un incidente. Me coordinaré directamente con el informador del incidente para las acciones de seguimiento. Gracias por su tiempo. + +#### Referencia: Etiqueta de la llamada + +* Únase tanto a la llamada como al chat. +* Mantenga el ruido de fondo al mínimo. +* Mantenga su micrófono silenciado hasta que tenga algo que decir. +* Identifícate cuando te unas a la llamada; di tu nombre y tu función (por ejemplo, "Soy el SME del equipo x"). +* Habla con claridad. +* Sea directo y objetivo. +* Mantenga conversaciones/discusiones cortas y al grano. +* Comunicar cualquier preocupación al Jefe de Incidentes (CI) en la llamada. +* Respetar las limitaciones de tiempo impuestas por el Jefe del Incidente. +* **Utilizar una terminología clara y evitar acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad. + +### Realizar la actualización de la respuesta + +* Llevar a cabo actualizaciones programadas utilizando la [estructura de llamada de actualización](#reference-response-update-call-structure) cada {{UPDATE_FREQUENCY}} en el puente activo. `TODO: Personalizar la frecuencia de actualización y los scripts; se recomienda no más de dos veces al día.` +* Ajustar la frecuencia según sea necesario. +* Coordinar las actualizaciones independientes (_por ejemplo_, ejecutivas, legales) según sea necesario, pero con la menor frecuencia posible. + +#### Referencia: Estructura de la llamada de actualización de la respuesta + +* Jefe DEL INCIDENTE (IC): Desde la última actualización programada, el resumen del incidente es el siguiente: + * [Impacto] + * [Vector] + * [Actualización del resumen] + * [Actualización de la línea de tiempo] +* IC: Equipo de investigación, por favor proporcione una breve actualización + * LÍDER DE LA INVESTIGACIÓN: [Actividades de investigación o "nada que informar"] + * ¿Cuál es su plan de investigación recomendado? + * ¿Qué acciones de investigación necesitan ser asignadas o aprobadas? [escuchar, obtener consenso, encargar/aprobar] +* IC: Equipo de remediación, por favor proporcione una breve actualización + * Líder de remediación: [Actividades de remediación o "nada que informar"] + * ¿Cuál es su estrategia de corrección recomendada? ¿Objeciones fuertes? [escuchar, obtener el consenso, asignar/aprobar] + * ¿Qué acciones de corrección necesitan ser asignadas o aprobadas? +* IC: Equipo de comunicación, por favor, proporcione una breve actualización: + * COMMUNICATIONS LEAD: [Actividades de comunicación o "nada que informar"] + * ¿Cuál es su estrategia de comunicación recomendada? ¿Objeciones fuertes? [escuchar, obtener consenso, encargar/aprobar] + * ¿Qué acciones de comunicación necesitan ser asignadas o aprobadas? +* IC: Esta llamada y el chat permanecerán activos y disponibles hasta el cierre del incidente, por favor, utilícelos para todas las comunicaciones relacionadas con el incidente. Si es posible, proporcione actualizaciones del estado en tiempo real en el chat. ¿Hay alguna pregunta o aportación restante? [responde a las preguntas] +* IC: Líderes de equipo, por favor procedan. Nos reuniremos de nuevo en [{{UPDATE_TIME}}] para discutir el estado. Gracias. + +## Supervisar el alcance + +* Supervisar el alcance de la respuesta para asegurarse de que no excede el ámbito de control del Jefe del incidente. +* Si un incidente es lo suficientemente complejo y hay suficientes intervinientes, considere la posibilidad de crear subequipos. + +### Crear Sub-Equipos + +* En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. `TODO: Personalizar la estructura de los subequipos si es necesario.` +* Crear un puente de llamadas y un chat para cada subequipo. +* El Jefe del Incidente designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. _Los líderes de equipo no tienen que estar formados como Jefes de incidentes, pero es preferible que tengan alguna experiencia de liderazgo._ +* El Jefe del Incidente puede ajustar el propósito o el nombre de los subequipos según sea necesario. +* Si desea cambiar de equipo, pregunte a su **líder de equipo actual**. **No** pregunte al Jefe de Incidentes, o al líder del otro(s) equipo(s). Utilice la cadena de mando. + +### Incidente dividido + +Si un incidente resulta ser dos o más incidentes distintos: + +* Establezca un nuevo [archivo de incidentes](#create-incident-file). +* Haga un seguimiento y coordine la investigación, la reparación y la comunicación en el archivo correspondiente. +* Considere la posibilidad de establecer subequipos para cada incidente. +* **Mantener un Jefe de incidentes de alto nivel**, para coordinar los activos de baja densidad y alta demanda y mantener la unidad de mando. + +# Investigar + +**[Investigar](#investigate), [remediar](#remediate) y [comunicar](#communicate) en paralelo, utilizando equipos separados, si es posible.** El Jefe del Incidente coordinará estas actividades. Notifique al Jefe del Incidente si hay pasos que el equipo debe considerar. + +## Crear el archivo del incidente + +1. Cree un nuevo archivo de incidentes en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente] (#name-the-incident). Utilice este archivo para el almacenamiento seguro de documentación, pruebas, artefactos, _etc._. + * Proporcionar un almacenamiento digital seguro. + * Proporcionar un intercambio de archivos seguro. + * Obtener almacenamiento físico. + * Compartir la ubicación del archivo del incidente en la llamada y el chat. + * `TODO: Personalizar y automatizar la ubicación del archivo y el procedimiento`. +1. Documente el impacto funcional y de la información, si se conoce (véase [Assess](#assess)). `TODO: Personalizar las categorías de impacto, si es necesario.` +2. Documentar el vector, si se conoce (_por ejemplo_ web, correo electrónico, medios extraíbles). Tarea: Personalizar la lista de vectores, si es necesario. +3. Documente el resumen del incidente: un breve resumen del vector, el impacto, la investigación y la situación de la reparación, si se conoce. +4. Documente la línea de tiempo del incidente, incluyendo la actividad del atacante y la actividad de la respuesta. `TODO: Añadir líneas de tiempo con diferentes detalles, según sea necesario.` +5. Documente los pasos de investigación, reparación y comunicación. Documente las actividades de forma independiente para que puedan combinarse y reutilizarse, si es posible. +6. Registre la información significativa, como: + **Pruebas**, con la hora de recogida, la fuente, la cadena de custodia, _etc._. + * **Sistemas afectados**, con el modo y el momento en que se identificó el sistema, y el resumen del efecto (_por ejemplo, tiene malware, datos a los que se ha accedido). + * **Archivos de interés**, como el malware o los archivos de datos, con el sistema y los metadatos. + * **Datos accedidos y tomados**, con nombres de archivos, metadatos y hora de presunta exposición. + * **Actividad significativa del atacante**, como inicios de sesión y ejecución de malware, con la hora del evento. + * **Indicadores de compromiso (IOC)** basados en la red, como direcciones IP y dominios. + * **Indicadores de compromiso basados en el host**, como nombres de archivos, hashes y claves de registro. + * **Cuentas comprometidas**, con el alcance del acceso y la hora del compromiso. + +`TODO: Personalizar el procedimiento de documentación del incidente, incluyendo hojas de cálculo, bases de datos, formularios, sistemas y plantillas, si es necesario.` + +## Recoger las pistas iniciales + +1. Entrevistar a los informadores del incidente. +2. Recoger los datos de apoyo iniciales (_e._, alarmas, eventos, datos, suposiciones, intuiciones) en el archivo del incidente. +3. Entrevistar a la(s) PYME con experiencia en el dominio o el sistema, para comprender los detalles técnicos, el contexto y el riesgo. +4. Entrevistar a la(s) PYME de la unidad de negocio afectada, para comprender el impacto de la misión/negocio, el contexto y el riesgo. +5. Asegúrese de que las pistas son relevantes, detalladas y procesables. + +### Referencia: Lista de recursos de respuesta + +Recurso | Ubicación +----------------------------------- | ------------------------------------ +Lista de información crítica | {{CRITICAL_INFO_LIST_LOCATION}} +Lista de activos críticos | {{CRITICAL_ASSET_LIST_LOCATION}} +Base de datos de gestión de activos | {{ASSET_MGMT_DB_LOCATION}} +Mapa de red | {{NETWORK_MAP_LOCATION}} +Consola SIEM | {{SIEM_CONSOLE_LOCATION}} +Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} + +`TODO: Completar la información crítica y las listas de activos ("joyas de la corona"). Esto es increíblemente importante para una respuesta eficaz.` + +`TODO: Personalizar la lista de recursos de respuesta`. + +## Actualizar el plan de investigación y el archivo del incidente + +1. Revisar y perfeccionar el impacto del incidente. +2. Revisar y refinar el vector del incidente. +3. Revisar y perfeccionar el resumen del incidente. +4. Revisar y perfeccionar la línea de tiempo del incidente con hechos e inferencias. +5. Crear hipótesis: qué puede haber ocurrido y con qué seguridad. +6. **Identificar y priorizar las preguntas clave** (lagunas de información) para apoyar o desacreditar las hipótesis. + * Utilizar la matriz ATT&CK de MITRE o un marco similar para [desarrollar preguntas](#reference-attacker-tactics-to-key-questions-matrix). + * [ATT&CK for Enterprise](https://attack.mitre.org/wiki/Main_Page), incluyendo enlaces a los específicos de Windows, Mac y Linux. + * [ATT&CK Mobile Profile](https://attack.mitre.org/mobile/index.php/Main_Page) para dispositivos móviles. + * Utilizar palabras interrogativas como inspiración: + * **¿Cuándo?**: primer compromiso, primera pérdida de datos, acceso a x datos, acceso a y sistema, etc. + * **¿Qué?**: impacto, vector, causa de origen, motivación, herramientas/explotaciones utilizadas, cuentas/sistemas comprometidos, datos atacados/perdidos, infraestructura, COIs, etc.? + * **¿Dónde?**: ubicación del atacante, unidades de negocio afectadas, infraestructura, etc.? + * **¿Cómo?**: compromiso (explotación), persistencia, acceso, exfiltración, movimiento lateral, etc.? + * **¿Por qué?**: objetivo, momento, acceso a x datos, acceso a y sistema, etc. + * **¿Quién?**: atacante, usuarios afectados, clientes afectados, etc.? +1. **Identificar y priorizar los dispositivos y estrategias testigo** para responder a las preguntas clave. + * Consultar los diagramas de la red, los sistemas de gestión de activos y la experiencia de las PYMES + * Consultar la [Lista de recursos de respuesta](#reference-response-resource-list)) +1. Consulte los [playbook de incidentes](#playbooks) para conocer las preguntas clave, los dispositivos testigos y las estrategias para investigar las amenazas comunes o muy dañinas. + +**El plan de investigación es fundamental para una respuesta eficaz; impulsa todas las acciones de investigación. Utilice el pensamiento crítico, la creatividad y el buen juicio.** + +### Referencia: Táctica del atacante a la matriz de preguntas clave + +Táctica del atacante | La forma en que los atacantes ... | Posibles preguntas clave +----------------------- | ----------------------------------------- | ----------------------------------------- +Reconocimiento | ... aprender sobre los objetivos | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Desarrollo de recursos | construir infraestructuras. | ¿Qué sistemas? +Acceso inicial | ... entrar | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Ejecución | ... ejecutar código hostil | ¿Qué malware? ¿Qué herramientas? ¿Dónde? ¿Cuándo? +Persistencia | ... quédate por aquí | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Escalada de Privilegios | ... obtener acceso de mayor nivel | ¿Cómo? ¿Dónde? ¿Qué herramientas? +Evasión de la defensa | ... esquivar la seguridad | ¿Cómo? ¿Dónde? ¿Desde cuándo? +Acceso a credenciales | ... obtener/crear cuentas | ¿Qué cuentas? ¿Desde cuándo? ¿Por qué? +Descubrimiento | ... aprender nuestra red | ¿Cómo? ¿Dónde? ¿Qué saben? +Movimiento lateral | ... moverse | ¿Cómo? ¿Cuándo? ¿Qué cuentas? +Recogida | ... encontrar y reunir datos | ¿Qué datos? ¿Por qué? ¿Cuándo? ¿Dónde? +Mando y control | ... herramientas y sistemas de control | ¿Cómo? ¿Dónde? ¿Quién? ¿Por qué? +Exfiltración | ... tomar datos | ¿Qué datos? ¿Cómo? ¿Cuándo? ¿Dónde? +Impacto |... romper cosas. | ¿Qué sistemas o datos? ¿Cómo? ¿Cuándo? ¿Dónde? ¿Cómo de malo? + +Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más información e ideas. + +## Crear y desplegar indicadores de compromiso (IOC) + +> Haga hincapié en los indicadores **dinámicos y de comportamiento** junto con las huellas digitales estáticas. + +* Crear IOCs basados en [pistas iniciales](#collect-initial-leads) y [análisis](#analyze-evidence). +* Cree IOCs usando un formato abierto soportado por sus herramientas (_por ejemplo_, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), si es posible. `TODO: Personalizar el formato de los COIs según sea necesario.` +* Utilice la automatización, si es posible. `TODO: Añadir un procedimiento de despliegue/revocación de COIs.` +* **No** desplegar "feeds" de COIs no relacionados y no curados, ya que pueden causar confusión y fatiga. +* Considerar todos los tipos de COI: + * IOC basados en la red, como direcciones IP o MAC, puertos, direcciones de correo electrónico, contenido o metadatos del correo electrónico, URLs, dominios o patrones PCAP. + * IOC basados en el host, como rutas, hashes de archivos, contenido o metadatos de archivos, claves de registro, MUTEXes, autoejecuciones o artefactos y permisos de usuarios. + * COIs basados en la nube, como patrones de registro para despliegues [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) o [IaaS](https://en.wikipedia.org/wiki/Infrastructure_as_a_service) + * IOCs de comportamiento (a.ka., patrones, TTPs) tales como patrones de árbol de procesos, heurística, desviación de la línea base y patrones de inicio de sesión. +* Correlacionar varios tipos de IOC, como indicadores basados en la red y en el host en los mismos sistemas. + +## Identificar los sistemas de interés + +1. Validar si son relevantes. +2. Categorizar la(s) razón(es) por la(s) que son "de interés": tiene malware, acceso por cuenta comprometida, tiene datos sensibles, etc. Trátelas como "etiquetas", puede haber más de una categoría por sistema. +3. Prioriza la recogida, el análisis y la reparación en función de las necesidades de la investigación, el impacto en el negocio, _etc_. + +## Recogida de pruebas + +* Priorizar en base al plan de investigación +* Recoger datos de respuesta en vivo utilizando {{LIVE_RESPONSE_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de respuesta en vivo.` +* Recoger los registros relevantes de los sistemas (si no forman parte de la respuesta en vivo), agregadores, SIEM o consolas de dispositivos. `TODO: Personalizar las herramientas y el procedimiento de recopilación de registros.` +* Recoger la imagen de la memoria, si es necesario y si no forma parte de la respuesta en vivo, utilizando {{MEMORY_COLLECTION_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de recogida de memoria.` +* Recoger la imagen del disco, si es necesario, utilizando {{DISK_IMAGE_TOOL}}. `TODO: Personalizar la herramienta y el procedimiento de recogida de imágenes de disco.` +* Recoger y almacenar las pruebas de acuerdo con la política, y con la cadena de custodia adecuada. ToDo: Personalizar la política de recogida de pruebas y cadena de custodia. + +Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ya sea en tiempo real (_por ejemplo_, a través de EDR o un SIEM) o bajo demanda: + +### Ejemplo de artefactos útiles + +`TODO: Personalizar y priorizar los artefactos útiles.` + +* Procesos en ejecución +* Servicios en ejecución +* Hashes ejecutables +* Aplicaciones instaladas +* Usuarios locales y de dominio +* Puertos de escucha y servicios asociados +* Configuración de resolución del sistema de nombres de dominio (DNS) y rutas estáticas +* Conexiones de red establecidas y recientes +* Clave de ejecución y otra persistencia de la ejecución automática +* Tareas programadas y trabajos cron +* Artefactos de ejecución pasada (por ejemplo, Prefetch y Shimcache) +* Registros de eventos +* Política de grupo y artefactos WMI +* Detecciones antivirus +* Binarios en ubicaciones de almacenamiento temporal +* Credenciales de acceso remoto +* Telemetría de conexiones de red (por ejemplo, netflow, permisos de cortafuegos) +* Tráfico y actividad de DNS +* Actividad de acceso remoto, incluido el Protocolo de Escritorio Remoto (RDP), la red privada virtual (VPN), SSH, la informática de red virtual (VNC) y otras herramientas de acceso remoto +* Cadenas de identificadores de recursos uniformes (URI), cadenas de agentes de usuario y acciones de aplicación del proxy +* Tráfico web (HTTP/HTTPS) + +## Analizar las pruebas + +* Priorizar basándose en el plan de investigación +* Analizar y clasificar los datos de la respuesta en vivo +* Analizar la memoria y las imágenes de disco (es decir, realizar análisis forenses) +* Analizar el malware +* _OPCIONAL:_ Enriquecer con investigación e inteligencia +* Documentar nuevos indicadores de compromiso (IOCs) +* Actualizar el archivo del caso + +### Ejemplo de indicadores útiles + +`TODO: Personalizar y priorizar los indicadores útiles.` + +* Comportamiento inusual de autenticación (_e._, frecuencia, sistemas, hora del día, ubicación remota) +* Nombres de usuario con formato no estándar +* Binarios no firmados que se conectan a la red +* Balizamiento o transferencias de datos significativas +* Solicitudes de línea de comandos PowerShell con comandos codificados en Base64 +* Actividad excesiva de RAR, 7zip o WinZip, especialmente con nombres de archivo sospechosos +* Conexiones en puertos no utilizados previamente. +* Patrones de tráfico relacionados con el tiempo, la frecuencia y el recuento de bytes +* Cambios en las tablas de enrutamiento, como la ponderación, las entradas estáticas, las pasarelas y las relaciones entre pares. + +## Iterar la investigación + +[Actualizar el plan de investigación](#update-investigative-plan-and-incident-file) y repetir hasta el cierre. + +# Remediar + +**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible.** El Jefe del incidente coordinará estas actividades. Notifique al Jefe del Incidente si hay pasos que el equipo debe considerar + +## Actualización del plan de remediación + +1. Revise el archivo del incidente en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#name-the-incident) +1. 2. Revise los [playbook](#playbooks) aplicables. +1. Revise la [lista de recursos de respuesta](#reference-response-resource-list)). +1. Considere qué tácticas del atacante están en juego en este incidente. Utilice la lista de MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) (_i._, Persistencia, Escalada de Privilegios, Evasión de la Defensa, Acceso a Credenciales, Descubrimiento, Movimiento Lateral, Ejecución, Recolección, Exfiltración y Mando y Control), o un marco similar. +1. Desarrollar remedios para cada táctica en juego, en la medida en que sea factible teniendo en cuenta las herramientas y los recursos existentes. Considere remedios para [Proteger](#protect), [Detectar](#detect), [Contener](#contain), y [Erradicar](#eradicate) cada comportamiento del atacante. +1. Priorizar en base a la [estrategia de tiempo](#choose-remediation-timing), el impacto y la urgencia. +1. Documentar en el archivo de incidentes. + +Utilice [marcos de seguridad de la información (infosec)](https://www.nist.gov/cyberframework) como inspiración, pero **no utilice la reparación de incidentes como sustituto de un programa de infosec con un marco apropiado.** Utilícelos para complementarse. + +### Protección + +> "¿Cómo podemos evitar que la táctica X se repita o reducir el riesgo? ¿Cómo podemos mejorar la protección futura?" + +Utilice lo siguiente como punto de partida para la corrección de la protección: + +* Parchear las aplicaciones. +* Parchee los sistemas operativos. +* Actualice las firmas de IPS de la red y del host. +* Actualizar las firmas de protección de puntos finales/EDR/antivirus. +* Reducir las ubicaciones con datos críticos. +* Reducir las cuentas administrativas o privilegiadas. +* Habilitar la autenticación multifactor. +* Reforzar los requisitos de las contraseñas. +* Bloquear los puertos y protocolos no utilizados en los límites del segmento y de la red, tanto entrantes como salientes. +* Poner en lista blanca las conexiones de red para los servidores y servicios críticos. + +### Detección + +> "¿Cómo podemos detectar esto en los nuevos sistemas o en el futuro? ¿Cómo podemos mejorar la detección y la investigación en el futuro?" + +Utilice lo siguiente como punto de partida para la corrección de detecciones: + +* Mejorar el registro y la retención de los registros del sistema, en particular de los sistemas críticos. +* Mejorar el registro de las aplicaciones, incluidas las aplicaciones SaaS. +* Mejorar la agregación de registros. +* Actualizar las firmas de IDS de la red y del host utilizando IOC. + +### Contención + +> "¿Cómo podemos evitar que esto se extienda o se agrave? ¿Cómo podemos mejorar la contención en el futuro?" + +Utilice lo siguiente como punto de partida para la corrección de la contención: + +* Implementar listas de acceso (ACL) en los límites de los segmentos de la red. +* Implementar bloqueos en el límite de la empresa, en múltiples capas del [modelo OSI](https://en.wikipedia.org/wiki/OSI_model). +* Desactivar o eliminar el acceso de las cuentas comprometidas. +* Bloquear direcciones IP o redes maliciosas. +* Bloquee los dominios maliciosos. +* Actualizar las firmas de IPS y antimalware de la red y el host mediante COI. +* Retirar de la red los sistemas críticos o comprometidos. +* Póngase en contacto con los proveedores para obtener ayuda (por ejemplo, proveedores de servicios de Internet, proveedores de SaaS). +* Poner en lista blanca las conexiones de red para los servidores y servicios críticos. +* Matar o deshabilitar procesos o servicios. +* Bloquear o eliminar el acceso de proveedores y socios externos, especialmente el acceso privilegiado. + +### Erradicar + +> "¿Cómo podemos eliminar esto de nuestros activos? ¿Cómo podemos mejorar la erradicación en el futuro?" + +Utilice lo siguiente como punto de partida para la remediación de la erradicación: + +* Reconstruir o restaurar los sistemas y datos comprometidos a partir de un estado bueno conocido. +* Restablecer las contraseñas de las cuentas. +* Eliminar cuentas o credenciales hostiles. +* Borrar o eliminar malware específico (¡difícil!). +* Implementar proveedores alternativos. +* Activar y migrar a ubicaciones, servicios o servidores alternativos. + +## Elegir el momento de la reparación + +Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de remediación- involucrando al Jefe de Incidentes, a los PYMES y propietarios del sistema, a los PYMES y propietarios de la unidad de negocio, y al equipo ejecutivo. Cada estrategia es apropiada en diferentes circunstancias: + +* Elija la reparación **inmediata** cuando sea más importante detener inmediatamente las actividades del atacante que seguir investigando. Por ejemplo, una pérdida financiera en curso, o un fracaso de la misión en curso, una pérdida de datos activa, o la prevención de una amenaza significativa inminente. +* Elija una reparación **retrasada** cuando sea importante completar la investigación o no alertar al atacante. Por ejemplo, el compromiso a largo plazo de un atacante avanzado, el espionaje corporativo o el compromiso a gran escala de un número desconocido de sistemas. +* Elija la remediación **combinada** cuando las circunstancias inmediatas y retardadas se apliquen en el mismo incidente. Por ejemplo, la segmentación inmediata de un servidor o red sensible para cumplir con los requisitos reglamentarios mientras se investiga un compromiso a largo plazo. + +## Ejecutar la remediación + +* Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. `TODO: Personalizar el procedimiento de aprobación de los riesgos de la remediación, si es necesario.` +* Implementar inmediatamente aquellas acciones de remediación que afecten poco o nada al atacante (a veces llamadas "acciones de postura"). Por ejemplo, muchas de las acciones de [protección](#protect) y [detección](#detect) anteriores son buenas candidatas. +* Programar y asignar acciones de remediación de acuerdo con la estrategia de tiempo. +* Ejecute las acciones de corrección en lotes, como eventos, para lograr la máxima eficacia y el mínimo riesgo. +* Documentar el estado de ejecución y el tiempo en el archivo de incidentes, especialmente para las medidas temporales. + +## Iterar la remediación + +[Actualizar el plan de remediación](#update-remediation-plan) y repetir hasta el cierre. + +#Comunicar + +**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible. Notifique al Jefe del Incidente si hay pasos que el equipo debe considerar + +Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunicar especulaciones. + +## Comunicación Interna + +### Notificar y actualizar a las partes interesadas + +* Comunicarse con las partes interesadas como parte de las llamadas iniciales y de actualización, así como a través de actualizaciones basadas en eventos en la llamada y el chat. +* Coordinar las actualizaciones independientes (_e._, ejecutivas, legales) según sea necesario, pero con la menor frecuencia posible, para mantener el foco en la investigación y la reparación. +* Concéntrese en la mejor evaluación del vector, el impacto, el resumen y los aspectos más destacados de la línea de tiempo, incluidos los pasos de remediación. No especule. + +### Notificar y actualizar la organización + +* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice, en particular si existe el riesgo de una amenaza interna. +* Coordine las actualizaciones de los equipos o de toda la organización con los ejecutivos y la dirección de la empresa. +* Concéntrese en la mejor evaluación del vector, el impacto, el resumen y los aspectos más destacados de la línea de tiempo, incluidos los pasos de remediación. No especule. + +### Crear Informe de Incidentes + +* Tras el cierre del incidente, capture la información en el [archivo del incidente](#create-incident-file) para su distribución utilizando el formato en {{INCIDENT_REPORT_TEMPLATE}}. **Si los informes de vector, impacto, resumen, línea de tiempo y actividad están completos, esto puede ser totalmente automatizado.** +* Distribuir el informe de incidentes a lo siguiente: {{INCIDENT_REPORT_RECIPIENTS}}. +* `TODO: Personalizar la creación y distribución del informe de incidentes, si es necesario`. + +## Comunicar al exterior + +### Notificar a los reguladores + +* **No** notifique ni ponga al día al personal que no ha respondido hasta que el Jefe del Incidente lo autorice. +* Notificar a los organismos reguladores (por ejemplo, HIPAA/HITRUST, PCI DSS, SOX) si es necesario y de acuerdo con la política. +* Coordinar los requisitos, el formato y los plazos con el {{COMPLIANCE_TEAM}}. + +### Notificar a los clientes + +* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice. +* Coordine las notificaciones a los clientes con {{COMMUNICATIONS_TEAM}}. +* Incluya la fecha en el título de cualquier anuncio, para evitar confusiones. +* No utilice tópicos como "nos tomamos la seguridad muy en serio". Céntrese en los hechos. +* Sea honesto, acepte la responsabilidad y presente los hechos, junto con el plan para prevenir incidentes similares en el futuro. +* Sea lo más detallado posible con la línea de tiempo. +* Sea lo más detallado posible en cuanto a la información que se vio comprometida y cómo afecta a los clientes. Si estábamos almacenando algo que no debíamos, sé honesto al respecto. Saldrá a la luz más tarde y será mucho peor. +* No hablemos de las partes externas que podrían haber causado el problema, a menos que ya lo hayan hecho público, en cuyo caso enlazaremos con su información. Comunícate con ellos de forma independiente (ver [Notificar a los proveedores](#notify-vendors-and-partners)) +* Publique la comunicación externa lo antes posible. Las malas noticias no mejoran con el tiempo. +* Si es posible, contacte con los equipos de seguridad internos de los clientes antes de notificar al público. + +### Notificar a los proveedores y socios + +* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice. +* Si es posible, póngase en contacto con los equipos de seguridad internos de los proveedores y socios antes de notificar al público. +* Céntrese en los aspectos específicos del incidente que afectan o implican al proveedor o socio. +* Coordine los esfuerzos de respuesta y comparta la información si es posible. + +### Notificar a las Fuerzas de Seguridad + +* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice. +* Coordinar con {{EXECUTIVE_TEAM}} y {{LEGAL_TEAM}} antes de interactuar con las fuerzas del orden. +* Póngase en contacto con las fuerzas del orden locales en {{LOCAL_LE_CONTACT}}. +* Póngase en contacto con el FBI en {{FBI_CONTACT}} o a través del [Internet Crime Complaint Center (IC3)](https://www.ic3.gov). +* Póngase en contacto con los operadores de los sistemas utilizados en el ataque, sus sistemas también pueden haber sido comprometidos. + +### Contactar con el servicio de asistencia de respuesta externa + +* Póngase en contacto con {{INCIDENT_RESPONSE_VENDOR}} para que le ayude a evaluar el riesgo, la gestión de incidentes, la respuesta a los mismos y el apoyo posterior al incidente. +* Póngase en contacto con {{PUBLIC_RELATIONS_VENDOR}} para que le ayude con las relaciones públicas y la comunicación externa. +* Póngase en contacto con {{INSURANCE_VENDOR}} para obtener ayuda con el seguro cibernético. + +### Compartir Inteligencia + +* Comparta los IOCs con [Infragard](https://www.infragard.org/) si procede. +* Comparta los IOCs con su [ISAC](https://en.wikipedia.org/wiki/Information_Sharing_and_Analysis_Center) de servicio a través de {{ISAC_CONTACT}}, si procede. + +# Recuperación + +`TODO: Personalizar los pasos de recuperación.` + +`TODO: Especificar las herramientas y procedimientos para cada paso, a continuación.` + +**La recuperación suele estar dirigida por las unidades de negocio y los propietarios de los sistemas. Tome medidas de recuperación sólo en colaboración con las partes interesadas pertinentes.** + +1. Poner en marcha un plan de continuidad de negocio/recuperación de desastres: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de copia de seguridad. +2. Integrar las acciones de seguridad con los esfuerzos de recuperación de la organización. \ No newline at end of file From bb529f229cb38d4168478136b646bc3c8c96a952 Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 10:14:15 +0200 Subject: [PATCH 025/199] Add files via upload --- examples/plan.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/plan.md b/examples/plan.md index d781c18..94701d8 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -40,12 +40,13 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en ## Nombre del incidente -Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.html) para referirse al incidente -un nombre en clave- para utilizarlo en el archivo de incidentes y en los canales. ##Todo: Personalizar el procedimiento de nomenclatura de incidentes. +Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.html) para referirse al incidente -un nombre en clave- para utilizarlo en el archivo de incidentes y en los canales. +## Todo: Personalizar el procedimiento de nomenclatura de incidentes. ## Reunir el equipo de respuesta 1. Llame al Comandante de Incidentes de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del Comandante de Incidentes`. -1. *No hable del incidente fuera del equipo de respuesta, a menos que el Comandante del Incidente lo autorice. +1. * No hable del incidente fuera del equipo de respuesta, a menos que el Comandante del Incidente lo autorice. 1. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta. 1. Inicie y/o únase a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. Tarea: Añadir el procedimiento de lanzamiento de la llamada de respuesta. 1. Prefiera la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. @@ -84,7 +85,7 @@ Lista del equipo de seguridad | {{SECURITY_TEAM_ROSTER}} Lista del equipo SME | {{TEAM_SME_ROSTER}} Lista de ejecutivos | {{EXECUTIVE_ROSTER}} -`TODO: Personalizar la información de contacto del equipo de respuesta. Incluya los procedimientos de contacto en las listas, que pueden ser estáticas o dinámicas. +`TODO: Personalizar la información de contacto del equipo de respuesta. Incluya los procedimientos de contacto en las listas, que pueden ser estáticas o dinámicas.` ## Establecer el ritmo de la batalla @@ -175,7 +176,7 @@ Si un incidente resulta ser dos o más incidentes distintos: * Considere la posibilidad de establecer subequipos para cada incidente. * **Mantener un comandante de incidentes de alto nivel**, para coordinar los activos de baja densidad y alta demanda y mantener la unidad de mando. -**Investigar +**Investigar** **[Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Comandante del Incidente coordinará estas actividades. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar. @@ -202,7 +203,6 @@ Si un incidente resulta ser dos o más incidentes distintos: * Indicadores de compromiso basados en el host**, como nombres de archivos, hashes y claves de registro. * Cuentas comprometidas**, con el alcance del acceso y la hora del compromiso. -Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator `TODO: Personalizar el procedimiento de documentación de incidentes, incluyendo hojas de cálculo, bases de datos, formularios, sistemas y plantillas, si es necesario.` From 9a62a6e99b45fa0833aa543f70e00106764d25e7 Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 10:18:18 +0200 Subject: [PATCH 026/199] Add files via upload --- examples/plan.md | 68 ++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/examples/plan.md b/examples/plan.md index 94701d8..c2ca8c0 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -15,7 +15,7 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en 1. **Mantenga la calma y la profesionalidad.** 1. Reúna la información pertinente, _e._, alarmas, eventos, datos, suposiciones, intuiciones (**observe**). 1. Considerar las categorías de impacto, a continuación (**orientar**), y determinar si hay un posible incidente (**decidir**): -1. 2. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El comandante del incidente y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. +1. 2. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El Jefe de incidente y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. ## Evaluar el impacto funcional @@ -46,7 +46,7 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h ## Reunir el equipo de respuesta 1. Llame al Comandante de Incidentes de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del Comandante de Incidentes`. -1. * No hable del incidente fuera del equipo de respuesta, a menos que el Comandante del Incidente lo autorice. +1. * No hable del incidente fuera del equipo de respuesta, a menos que el Jefe de incidente lo autorice. 1. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta. 1. Inicie y/o únase a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. Tarea: Añadir el procedimiento de lanzamiento de la llamada de respuesta. 1. Prefiera la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. @@ -61,7 +61,7 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h ### Referencia: Estructura del equipo de respuesta * Equipo de Mando - * [Comandante del Incidente](#role-incident-commander-ic) + * [Jefe de incidente](#role-incident-commander-ic) * [Comandante Adjunto de Incidentes](#role-deputy-incident-commander-deputy) * [Escribano](#role-scribe) * Equipo de enlace @@ -78,7 +78,7 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h Rol del equipo de respuesta | Información de contacto ---------------------------- | --------------------------- -Localizador del comandante del incidente | {{INCIDENT_COMMANDER_PAGER_NUMBER}} +Localizador del Jefe de incidente | {{INCIDENT_COMMANDER_PAGER_NUMBER}} Url del Comandante de Incidentes | {{INCIDENT_COMMANDER_PAGER_URL}} Lista de comandantes de incidentes | {{INCIDENT_COMMANDER_ROSTER}} Lista del equipo de seguridad | {{SECURITY_TEAM_ROSTER}} @@ -92,7 +92,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ### Realizar la llamada de respuesta inicial 1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial] (#referencia-estructura-de-llamada-de-respuesta-inicial) -1. Siga las instrucciones del Comandante del Incidente. Si el Comandante de Incidentes de turno/de guardia no se une a la llamada dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}} y usted es un comandante de incidentes capacitado, tome el mando de la llamada. +1. Siga las instrucciones del Jefe de incidente. Si el Comandante de Incidentes de turno/de guardia no se une a la llamada dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}} y usted es un comandante de incidentes capacitado, tome el mando de la llamada. 1. Siga las [instrucciones para su función](#roles). 1. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, filtre las aportaciones a través del SME de su equipo si es posible. 1. *Mantenga la llamada y el chat activos durante todo el incidente para una comunicación basada en eventos. @@ -100,7 +100,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} #### Referencia: Estructura de la llamada de respuesta inicial -*COMANDANTE DEL INCIDENTE (IC): Mi nombre es [NOMBRE], soy el Comandante del Incidente. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? +* Jefe de incidente (IC): Mi nombre es [NOMBRE], soy el Jefe de incidente. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? * SCRIBE: [Toma asistencia] * IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. * IC: [Hace preguntas para entender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. @@ -122,8 +122,8 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} * Speak up and speak clearly. * Be direct and factual. * Keep conversations/discussions short and to the point. -* Bring any concerns to the Incident Commander (IC) on the call. -* Respect time constraints given by the Incident Commander. +* Bring any concerns to the Jefe de incidente (IC) on the call. +* Respect time constraints given by the Jefe de incidente. * **Use clear terminology, and avoid acronyms or abbreviations. Clarity and accuracy is more important than brevity.** ### Conduct Response Update @@ -134,7 +134,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} #### Referencia: Estructura de la llamada de actualización de la respuesta -* COMANDANTE DEL INCIDENTE (IC): Desde nuestra última actualización programada, el resumen del incidente es el siguiente: +* Jefe de incidente (IC): Desde nuestra última actualización programada, el resumen del incidente es el siguiente: * [Impacto] * [Vector] * [Actualización del resumen] @@ -156,15 +156,15 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ## Supervisar el alcance -* Supervisar el alcance de la respuesta para asegurarse de que no excede el ámbito de control del comandante del incidente. +* Supervisar el alcance de la respuesta para asegurarse de que no excede el ámbito de control del Jefe de incidente. * Si un incidente es lo suficientemente complejo y hay suficientes intervinientes, considere la posibilidad de crear subequipos. ### Crear Sub-Equipos * En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. `TODO: Personalizar la estructura de los subequipos si es necesario. * Crear un puente de llamadas y un chat para cada subequipo. -* El Comandante del Incidente designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. Los líderes de equipo no tienen que estar formados como comandantes de incidentes, pero es preferible que tengan alguna experiencia de liderazgo. -* El Comandante del Incidente puede ajustar el propósito o el nombre de los subequipos según sea necesario. +* El Jefe de incidente designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. Los líderes de equipo no tienen que estar formados como comandantes de incidentes, pero es preferible que tengan alguna experiencia de liderazgo. +* El Jefe de incidente puede ajustar el propósito o el nombre de los subequipos según sea necesario. * Si desea cambiar de equipo, pregunte a su **líder de equipo actual**. **No** pregunte al Comandante de Incidentes, o al líder del otro(s) equipo(s). Utilice la cadena de mando. ### Incidente dividido @@ -178,7 +178,7 @@ Si un incidente resulta ser dos o más incidentes distintos: **Investigar** -**[Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Comandante del Incidente coordinará estas actividades. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar. +**[Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Jefe de incidente coordinará estas actividades. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar. ## Crear el archivo del incidente @@ -225,7 +225,7 @@ Mapa de red | {{NETWORK_MAP_LOCATION{}} Consola SIEM | {{SIEM_CONSOLE_LOCATION}} Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} -`TODO: Completar la información crítica y las listas de activos ("joyas de la corona"). Esto es increíblemente importante para una respuesta eficaz. +`TODO: Completar la información crítica y las listas de activos ("joyas de la corona"). Esto es increíblemente importante para una respuesta eficaz.` `TODO: Personalizar la lista de recursos de respuesta`. @@ -363,7 +363,7 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, # Remediar -**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El comandante del incidente coordinará estas actividades. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar +**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Jefe de incidente coordinará estas actividades. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar ## Actualizar el plan de remediación @@ -458,7 +458,7 @@ Determine la estrategia de tiempo -cuando se tomarán las acciones de remediaci #Comunicar -**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Comandante del Incidente si hay pasos que el equipo debe considerar** +**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar** Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunique especulaciones. @@ -472,7 +472,7 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Notificar y actualizar la organización -* No notifique ni ponga al día al personal que no ha respondido hasta que el Comandante del Incidente lo autorice, especialmente si existe riesgo de amenaza interna. +* No notifique ni ponga al día al personal que no ha respondido hasta que el Jefe de incidente lo autorice, especialmente si existe riesgo de amenaza interna. * Coordine las actualizaciones de los equipos o de toda la organización con los ejecutivos y la dirección de la empresa. * Concéntrese en la mejor evaluación del vector, el impacto, el resumen y los aspectos más destacados de la línea de tiempo, incluidos los pasos de remediación. No especule. @@ -486,13 +486,13 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Notificar a los reguladores -* **No** notifique o actualice al personal que no responde hasta que el Comandante del Incidente lo autorice. +* **No** notifique o actualice al personal que no responde hasta que el Jefe de incidente lo autorice. * Notificar a los organismos reguladores (por ejemplo, HIPAA/HITRUST, PCI DSS, SOX) si es necesario, y de acuerdo con la política. * Coordinar los requisitos, el formato y el calendario con el {COMPLIANCE_TEAM{}}. ### Notificar a los clientes -* **No** notifique ni ponga al día al personal que no responde hasta que el Comandante del Incidente lo autorice. +* **No** notifique ni ponga al día al personal que no responde hasta que el Jefe de incidente lo autorice. * Coordinar las notificaciones a los clientes con {{COMMUNICATIONS_TEAM}}. * Incluya la fecha en el título de cualquier anuncio, para evitar confusiones. * No utilice tópicos como "nos tomamos la seguridad muy en serio". Céntrese en los hechos. @@ -505,14 +505,14 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Notificar a los proveedores y socios -* **No** notifique ni ponga al día al personal que no responde hasta que el Comandante del Incidente lo autorice. +* **No** notifique ni ponga al día al personal que no responde hasta que el Jefe de incidente lo autorice. * Si es posible, póngase en contacto con los equipos de seguridad internos de los proveedores y socios antes de notificar al público. * Céntrese en los aspectos específicos del incidente que afectan o implican al proveedor o socio. * Coordine los esfuerzos de respuesta y comparta la información si es posible. ### Notificar a las fuerzas de seguridad -* **No** notifique o ponga al día al personal que no ha respondido hasta que el Comandante del Incidente lo autorice. +* **No** notifique o ponga al día al personal que no ha respondido hasta que el Jefe de incidente lo autorice. * Coordinar con {{EXECUTIVE_TEAM}} y {{LEGAL_TEAM}} antes de interactuar con las fuerzas del orden. * Póngase en contacto con las fuerzas del orden locales en {{LOCAL_LE_CONTACT}}. * Póngase en contacto con el FBI en {{FBI_CONTACT}} o a través del [Internet Crime Complaint Center (IC3)](https://www.ic3.gov). @@ -1246,7 +1246,7 @@ Esta es una **estructura flexible**: cada rol no será ocupado por una persona d En las llamadas de respuesta a incidentes ("tiempos de guerra"), una estructura organizativa diferente anula las operaciones normales ("tiempos de paz"): -* El comandante del incidente está al mando. Independientemente de su rango en tiempos de paz, ahora es la persona de mayor rango en la llamada, superior al director general. +* El Jefe de incidente está al mando. Independientemente de su rango en tiempos de paz, ahora es la persona de mayor rango en la llamada, superior al director general. * Los primeros intervinientes (las personas que actúan como primeros intervinientes de un equipo/servicio) son las personas de mayor rango de ese servicio. * Las decisiones serán tomadas por el CI tras considerar la información presentada. Una vez tomada la decisión, es definitiva. * El CI puede tomar decisiones más arriesgadas que las que normalmente se considerarían en tiempos de paz. @@ -1272,7 +1272,7 @@ Todos los participantes en la respuesta a un incidente tienen la responsabilidad * Sea directo y objetivo. * Mantenga conversaciones/discusiones cortas y al grano. * Comunicar cualquier preocupación al Comandante de Incidentes (CI) en la llamada. -* Respetar las limitaciones de tiempo dadas por el Comandante del Incidente. +* Respetar las limitaciones de tiempo dadas por el Jefe de incidente. * Si te unes a un solo canal (llamada o chat), no participes activamente, ya que provoca una comunicación inconexa. * **Utilizar una terminología clara, y evitar acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad. @@ -1287,12 +1287,12 @@ El [procedimiento de voz] estándar de la radio (https://en.wikipedia.org/wiki/V **No** invente nuevas abreviaturas; favorezca ser explícito sobre lo implícito. -#### Seguir al Comandante del Incidente +#### Seguir al Jefe de incidente -El comandante del incidente (IC) es el líder del proceso de respuesta al incidente. +El Jefe de incidente (IC) es el líder del proceso de respuesta al incidente. -* Siga las instrucciones del comandante del incidente. -* No realice ninguna acción a menos que el comandante del incidente se lo indique. +* Siga las instrucciones del Jefe de incidente. +* No realice ninguna acción a menos que el Jefe de incidente se lo indique. * El comandante normalmente sondeará si hay objeciones fuertes antes de asignar una acción importante. Plantee objeciones si las tiene. * Una vez que el comandante haya tomado una decisión, sígala (incluso si no está de acuerdo). * Responde a cualquier pregunta que te haga el comandante de forma clara y concisa. Responder "no sé" es aceptable. No adivine. @@ -1391,7 +1391,7 @@ Un Comandante Adjunto de Incidentes (Deputy) es una función de apoyo directo al 1. Plantear al Comandante de Incidentes cuestiones que, de otro modo, podrían no abordarse (vigilar los temporizadores que se han puesto en marcha, dar vueltas a los elementos que se han perdido al pasar lista, etc.). 1. 1. Ser un Comandante de Incidentes "de reserva", en caso de que el comandante principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de CI. -1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Comandante del Incidente. +1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Jefe de incidente. 1. Supervisar el estado del incidente y notificar al CI si el nivel de gravedad del incidente aumenta. 1. Supervise los temporizadores: * controlar el tiempo que ha durado el incidente @@ -1456,7 +1456,7 @@ Un experto en la materia (SME) es un experto en el dominio o propietario designa * Acciones: ¿Qué medidas hay que tomar si su zona no se encuentra en un estado saludable? * Necesidades: ¿Qué apoyo necesita para realizar una acción? 1. Participar en las fases de investigación, remediación y/o comunicación de la respuesta. -1. Anuncie todas las sugerencias al comandante del incidente, es su decisión cómo proceder, no siga ninguna acción a menos que se le indique. +1. Anuncie todas las sugerencias al Jefe de incidente, es su decisión cómo proceder, no siga ninguna acción a menos que se le indique. Si está de guardia para cualquier equipo, puede ser llamado para un incidente y se espera que responda como experto en la materia (SME) para su equipo, componente o servicio. Cualquiera que se considere un "experto en la materia" puede actuar como SME para un incidente. Por lo general, el principal de guardia del equipo actuará como SME para ese equipo. @@ -1473,7 +1473,7 @@ Si está de guardia para cualquier equipo, puede ser llamado para un incidente y 1. Tenga su ordenador portátil e Internet con usted en todo momento durante su período de guardia (oficina, casa, un MiFi, un teléfono con un plan de anclaje, etc.). 1. Si tienes citas importantes, debes conseguir que otra persona de tu equipo cubra esa franja horaria con antelación. 1. Cuando recibas una alerta de incidente, se espera que te unas a la llamada de incidente y chatees lo antes posible (en cuestión de minutos). -1. El Comandante del Incidente le hará preguntas o le dará acciones. Responda a las preguntas de forma concisa y siga todas las acciones indicadas (incluso si no está de acuerdo con ellas). +1. El Jefe de incidente le hará preguntas o le dará acciones. Responda a las preguntas de forma concisa y siga todas las acciones indicadas (incluso si no está de acuerdo con ellas). 1. Si no está seguro de algo, traiga a otras personas de su equipo que puedan ayudarle. **Nunca dudes en escalar**, si es necesario. 1. No culpes. Este proceso de respuesta a incidentes no tiene ninguna culpa: culpar es contraproducente y distrae del problema en cuestión. La revisión posterior a la acción identificará los puntos en los que todos podemos mejorar. @@ -1498,7 +1498,7 @@ Los enlaces interactúan con otros equipos o partes interesadas, fuera del equip 1. 2. Notificar al CI cualquier cliente o cobertura de los medios de comunicación que informen de los efectos del incidente. 1. Proporcionar a los clientes el mensaje externo de la autopsia una vez que se haya completado. 1. Ponerse en contacto o interactuar con las partes interesadas externas, como proveedores, socios, fuerzas de seguridad, _etc._. -1. **No** te sientas responsable de crear todos los mensajes: trabaja con el comandante del incidente y con otras partes interesadas. +1. **No** te sientas responsable de crear todos los mensajes: trabaja con el Jefe de incidente y con otras partes interesadas. 1. Según proceda, mantenga a los clientes informados durante un incidente. 1. Actuar como voz de nuestros clientes ante el Comandante de Incidentes, ya que esto es útil para la toma de decisiones del CI. 1. Obtener la aprobación del mensaje después de haber elaborado el mensaje público: copie el mensaje en el chat y espere la confirmación verbal/escrita del CI antes de continuar. @@ -1519,8 +1519,8 @@ Los enlaces interactúan con otros equipos o partes interesadas, fuera del equip #### Enlace interno -1. Llame a los SME u otro personal de guardia según las instrucciones del Comandante del Incidente. -1. Notifique o movilice a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Comandante del Incidente. +1. Llame a los SME u otro personal de guardia según las instrucciones del Jefe de incidente. +1. Notifique o movilice a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Jefe de incidente. 1. Seguir y anticiparse a las PYMES en la llamada. 1. 2. Interactuar con las partes interesadas y proporcionar actualizaciones de estado según sea necesario. 1. Interactuar con las partes interesadas internas para responder a sus preguntas, para mantener la llamada principal libre de distracciones. @@ -1539,7 +1539,7 @@ Leer y comprender el plan de respuesta a incidentes, incluidos los roles y los l # Llevar a cabo una revisión posterior a la acción (AAR) 1. Programe una reunión de revisión posterior a la acción (AAR) dentro de {{AAR_SLA}} e invite a los asistentes que figuran en {{AAR_ATTENDEES}}. Incluya siempre a los siguientes: - * El comandante del incidente. + * El Jefe de incidente. * Los propietarios de los servicios implicados en el incidente. * Ingeniero(s)/responsable(s) clave involucrados en el incidente. 1. Designe a un propietario del AAR que investigue el incidente antes de la reunión para prepararlo, estudiando el proceso del incidente en sí, incluida la revisión de notas e informes. From 73285c8b6e98bbc2ec7af3ffe5058c9e2da44418 Mon Sep 17 00:00:00 2001 From: alejandrosanchezman <94168011+alejandrosanchezman@users.noreply.github.com> Date: Tue, 10 May 2022 10:18:37 +0200 Subject: [PATCH 027/199] Add files via upload From 2344beb45e4a41cff30abfe52cdabe33e0722802 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:34:28 +0200 Subject: [PATCH 028/199] Update index.md arreglado enlaces. --- playbooks/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/index.md b/playbooks/index.md index 8d3ccb5..b577d8d 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -1,6 +1,6 @@ # Playbook -Los siguientes libros de jugadas capturan los pasos comunes de [investigación](#investigación), [remediación](#remediación) y [comunicación](#comunicación) para determinados tipos de incidentes. +Los siguientes playbooks capturan los pasos comunes de [investigación](#investigate), [remediación](#remediate) y [comunicación](#communicate) para determinados tipos de incidentes. -Tarea: Crear libros de juego adicionales para tipos de incidentes muy probables o muy perjudiciales. +`TODO: Crear libros de juego adicionales para tipos de incidentes muy probables o muy perjudiciales.` From 24ed2c2dc29ca4427223c3e5f8af374c6e47ee4c Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:42:08 +0200 Subject: [PATCH 029/199] arreglado cambios menores --- playbooks/playbook-defacement.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/playbooks/playbook-defacement.md b/playbooks/playbook-defacement.md index 77809c4..3cb4b81 100644 --- a/playbooks/playbook-defacement.md +++ b/playbooks/playbook-defacement.md @@ -1,7 +1,7 @@ ## Playbook: Desaparición de sitios web -**Investigar, remediar (contener, erradicar) y comunicar en paralelo. +**Investigar, remediar (contener, erradicar) y comunicar en paralelo!** Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. ### Investigar @@ -57,9 +57,9 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuan #### Contención -Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para la desfiguración de sitios web. +`TODO: Personalizar los pasos de contención, tácticos y estratégicos, para la desfiguración de sitios web.` -Tarea: Especificar las herramientas y los procedimientos para cada paso, a continuación. +`TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación.` 1. Haga una copia de seguridad de todos los datos almacenados en el servidor web con fines forenses. 2. Como se ha mencionado anteriormente, asegúrese de que el servidor de la página desfigurada está temporalmente fuera de servicio mientras se lleva a cabo la investigación. @@ -101,9 +101,9 @@ Tarea: Especificar las herramientas y los procedimientos para cada paso, a conti ### Comunicar -TODO: Personalizar los pasos de comunicación para la desfiguración +`TODO: Personalizar los pasos de comunicación para la desfiguración` -TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general`. +`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general` 1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento 1. 2. Documentar el incidente según el procedimiento (e informar si procede) @@ -130,7 +130,7 @@ TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe #### Referencia: Acciones del usuario ante un ataque de sospecha de defacement -Tarea: Personalizar los pasos a seguir por los usuarios ante una sospecha de defacement +`TODO: Personalizar los pasos a seguir por los usuarios ante una sospecha de defacement` 1. Mantenga la calma y respire profundamente. 1. 2. Desconecte su sistema de la red `TODO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para hacer esto fácil ("romper en caso de emergencia"), considere interruptores de corte de red por hardware`. @@ -166,4 +166,4 @@ Tarea: Personalizar los pasos a seguir por los usuarios ante una sospecha de def 1. Un útil y detallado [paper](https://pdfs.semanticscholar.org/899e/2d629e06d920b9059edb21fcb52cdb33f783.pdf) sobre la detección de la desfiguraciónw 2. 10 herramientas para[better website monitoring and security](https://geekflare.com/website-defacement-monitoring/) 3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) con estadísticas útiles -4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) incluyendo bricolaje y mejores prácticas para evitar la desfiguración de sitios web \ No newline at end of file +4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) incluyendo bricolaje y mejores prácticas para evitar la desfiguración de sitios web From 2583dfdf00cb503d2c52189b21c10323a07c9713 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:44:33 +0200 Subject: [PATCH 030/199] Update playbook-defacement.md --- playbooks/playbook-defacement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-defacement.md b/playbooks/playbook-defacement.md index 3cb4b81..256a725 100644 --- a/playbooks/playbook-defacement.md +++ b/playbooks/playbook-defacement.md @@ -148,7 +148,7 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuan `TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de defacement`. 1. Mantenga la calma y respire profundamente. -1. Abra un ticket para documentar el incidente, según el procedimiento. Tarea: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior. +1. Abra un ticket para documentar el incidente, según el procedimiento. `TODO: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior` 1. Utiliza tu mejor criterio para decidir qué pasos priorizar (por ejemplo, si la desfiguración dejó contenido dañino o desencadenante, prioriza la retirada del servidor inmediatamente). 1. Pídele al usuario que tome fotos de su pantalla con su teléfono inteligente mostrando las cosas que notó. 1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haga preguntas detalladas, incluyendo From 1999bf1e29ee4b3cf7387bfe63805129af152799 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:47:30 +0200 Subject: [PATCH 031/199] cambios menores --- playbooks/playbook-identity-and-access.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/playbooks/playbook-identity-and-access.md b/playbooks/playbook-identity-and-access.md index b8c3875..b4e3697 100644 --- a/playbooks/playbook-identity-and-access.md +++ b/playbooks/playbook-identity-and-access.md @@ -1,12 +1,12 @@ ## Playbook: Compromiso de identidad y acceso -**Investigar, remediar (contener, erradicar) y comunicar en paralelo. +**Investigar, remediar (contener, erradicar) y comunicar en paralelo!.** Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. ### Investigar -Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la identidad y el acceso. +`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la identidad y el acceso.` 1. TODO @@ -17,19 +17,19 @@ Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrat #### Contención -Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la identidad y el acceso. +`TODO: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la identidad y el acceso.` -TODO: Especificar las herramientas y procedimientos para cada paso, a continuación. +`TODO: Especificar las herramientas y procedimientos para cada paso, a continuación.` -*TODO +* TODO `TODO: Considerar la automatización de las medidas de contención utilizando herramientas de orquestación.` #### Erradicar -TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso. +`TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso.` -TODO: Especificar herramientas y procedimientos para cada paso, a continuación. +`TODO: Especificar herramientas y procedimientos para cada paso, a continuación.` * TODO @@ -39,7 +39,7 @@ TODO: Especificar herramientas y procedimientos para cada paso, a continuación. ### Comunicar -TODO: Personalizar los pasos de comunicación para el compromiso de la identidad y el acceso. +`TODO: Personalizar los pasos de comunicación para el compromiso de la identidad y el acceso.` `TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` From 00ceb554219887a291a06a57cdce065b3bf258c3 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:50:50 +0200 Subject: [PATCH 032/199] Update playbook-phishing.md --- playbooks/playbook-phishing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index d89efa8..da287f5 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -1,6 +1,6 @@ ## Playbook: Phishing -**Investigar, reparar (contener, erradicar), y comunicar en paralelo!** +**Investigar, remediar (contener, erradicar), y comunicar en paralelo!** Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es meramente secuencial. Utilice su mejor criterio. @@ -49,7 +49,7 @@ Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando s `TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el phishing.` -### Reparar +### Remediar * **Planificar eventos de reparación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. * **Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. From c10a728c853bb5a8ae03ff2a64087f32628bf9c2 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:51:21 +0200 Subject: [PATCH 033/199] Update playbook-phishing.md --- playbooks/playbook-phishing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index da287f5..95405e2 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -51,7 +51,7 @@ Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando s ### Remediar -* **Planificar eventos de reparación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. +* **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. * **Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. #### Contener From a956a03c7a816a8f14aef562deb30471b1ee78aa Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:54:30 +0200 Subject: [PATCH 034/199] Update playbook-supply-chain.md --- playbooks/playbook-supply-chain.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-supply-chain.md b/playbooks/playbook-supply-chain.md index 72894d6..3a5970d 100644 --- a/playbooks/playbook-supply-chain.md +++ b/playbooks/playbook-supply-chain.md @@ -1,6 +1,6 @@ ## Playbook: Compromiso de la cadena de suministro -**Investigar, remediar (contener, erradicar) y comunicar en paralelo. +**Investigar, remediar (contener, erradicar) y comunicar en paralelo!.** Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. From de278ef29da8301bd4411a69bd518cb286875964 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:56:20 +0200 Subject: [PATCH 035/199] Update glossary.md --- reference/glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/glossary.md b/reference/glossary.md index cc7afe1..dcb61ea 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -1,6 +1,6 @@ # Glosario -1. **El jefe de incidentes es la persona responsable de resolver cualquier incidente grave. Es la persona de mayor rango en cualquier llamada de incidente mayor, independientemente de su rango diario. Sus decisiones como comandante son definitivas. +1. **El Incident Commander es la persona responsable de resolver cualquier incidente grave. Es la persona de mayor rango en cualquier llamada de incidente mayor, independientemente de su rango diario. Sus decisiones como comandante son definitivas.** 1. **El adjunto:** Normalmente es el CI de apoyo. El trabajo del ayudante es apoyar al CI durante la llamada, proporcionándole cualquier ayuda que necesite. 1. **Escriba:** El trabajo del escriba es mantener un registro de todas las actividades realizadas durante la llamada en un registro de chat escrito en Slack. 1. **Resolver:** Una persona en la llamada de incidentes que es capaz de ayudar a resolver problemas dentro de un sistema particular. También se le conoce como PYME (ver más abajo). From 9402efccb64ed5c73d8481a416e10a9bd19cfb36 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 10 May 2022 19:58:03 +0200 Subject: [PATCH 036/199] cambio del incident commander --- roles/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/index.md b/roles/index.md index 09a8b48..98e45f9 100644 --- a/roles/index.md +++ b/roles/index.md @@ -7,9 +7,9 @@ A continuación se presentan las descripciones, los deberes y la formación para ## Estrcutura de los roles * Equipo de Mando - * [Jefe de Incidente](#role-incident-commander-ic) - * [Jefe-Adjunto de Incidente](#role-deputy-incident-commander-deputy) - * [Escribano o Escribiente](#role-scribe) + * [Incident Commander](#role-incident-commander-ic) + * [Incident Commander-Adjunto](#role-deputy-incident-commander-deputy) + * [Escriba](#role-scribe) * Equipo de enlace * Enlace Interno [Enlace](#role-liaison) * Enlace externo From a5f2e5bba45d11bb12a27eed41edd7064af1b344 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:19:52 +0200 Subject: [PATCH 037/199] Update index.md --- roles/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/index.md b/roles/index.md index 98e45f9..ae0ec03 100644 --- a/roles/index.md +++ b/roles/index.md @@ -4,7 +4,7 @@ A continuación se presentan las descripciones, los deberes y la formación para `TODO: Personalizar los roles, las descripciones, las funciones y la formación, si es necesario.` -## Estrcutura de los roles +## Estructura de los roles * Equipo de Mando * [Incident Commander](#role-incident-commander-ic) From 0f3a4f1192216f7ea14479e73c6ed38e4972e426 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:30:35 +0200 Subject: [PATCH 038/199] Incident commander --- during.md | 58 +++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/during.md b/during.md index 4411702..def6315 100644 --- a/during.md +++ b/during.md @@ -15,7 +15,7 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en 1. **Mantenga la calma y la profesionalidad.** 2. Reúna la información pertinente, _por ejemplo_, alarmas, eventos, datos, suposiciones, intuiciones (**observe**). 3. Considerar las categorías de impacto, a continuación (**orientar**), y determinar si hay un posible incidente (**decidir**): -4. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El jefe del incidente y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. +4. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El Incident Commander y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. ## Evaluar el impacto funcional @@ -43,8 +43,8 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h ## Reunir el equipo de respuesta -1. Llame al jefe de Incidentes de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del jefe de Incidentes`. -2. **No** discuta el incidente fuera del equipo de respuesta a menos que el jefe del Incidente lo autorice +1. Llame al Incident Commander de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del Incident Commander`. +2. **No** discuta el incidente fuera del equipo de respuesta a menos que el Incident Commander lo autorice 3. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. `ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta.` 4. Iniciar y/o unirse a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. `TODO: Añadir el procedimiento de lanzamiento de la llamada de respuesta.` 5. Prefiera la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. @@ -59,9 +59,9 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h ### Referencia: Estructura del equipo de respuesta * Equipo de Mando - * [jefe del Incidente](#role-incident-commander-ic) - * [jefe Adjunto de Incidentes](#role-deputy-incident-commander-deputy) - * [Escribano](#role-scribe) + * [Incident Commander](#role-incident-commander-ic) + * [Incident Commander-Adjunto](#role-deputy-incident-commander-deputy) + * [Escriba](#role-scribe) * Equipo de enlace * Enlace [interno](#role-liaison) * Enlace externo @@ -76,9 +76,9 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h Rol del equipo de respuesta | Información de contacto ----------------------------------- | --------------------------- -Localizador del jefe del incidente | {INCIDENT_COMMANDER_PAGER_NUMBER}} -Url del jefe de Incidentes | {{INCIDENT_COMMANDER_PAGER_URL}} -Lista del jefe de incidentes | {{INCIDENT_COMMANDER_ROSTER}} +Localizador del Incident Commander | {INCIDENT_COMMANDER_PAGER_NUMBER}} +Url del Incident Commander | {{INCIDENT_COMMANDER_PAGER_URL}} +Lista del Incident Commander | {{INCIDENT_COMMANDER_ROSTER}} Lista del equipo de seguridad | {{SECURITY_TEAM_ROSTER}} Lista del equipo SME | {{TEAM_SME_ROSTER}} Lista de ejecutivos | {{EXECUTIVE_ROSTER}} @@ -90,7 +90,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ### Realizar la llamada de respuesta inicial 1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial](#reference-initial-response-call-structure) -2. Siga las instrucciones del Jefe del Incidente. Si el Jefe de Incidentes de turno/de guardia no se une a la llamada **dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}}** y usted es un Jefe de incidentes capacitado, tome el mando de la llamada. +2. Siga las instrucciones del Incident Commander. Si el Incident Commander de turno/de guardia no se une a la llamada **dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}}** y usted es un Incident Commander capacitado, tome el mando de la llamada. 3. Siga las [instrucciones correspondientes a su función](#roles). 4. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, filtre las aportaciones a través del SME de su equipo si es posible. 5. **Mantenga la llamada y el chat activos durante todo el incidente para una comunicación basada en eventos.** @@ -98,7 +98,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} #### Referencia: Estructura de la llamada de respuesta inicial -*Jefe DEL INCIDENTE (IC): Mi nombre es [NOMBRE], soy el Jefe del Incidente. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? +*Incident Commander (IC): Mi nombre es [NOMBRE], soy el Incident Commander. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? * SCRIBE: [Toma asistencia] * IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. * IC: [Hace preguntas para comprender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. @@ -119,8 +119,8 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} * Habla con claridad. * Sea directo y objetivo. * Mantenga conversaciones/discusiones cortas y al grano. -* Comunicar cualquier preocupación al Jefe de Incidentes (CI) en la llamada. -* Respetar las limitaciones de tiempo impuestas por el Jefe del Incidente. +* Comunicar cualquier preocupación al Incident Commander (CI) en la llamada. +* Respetar las limitaciones de tiempo impuestas por el Incident Commander. * **Utilizar una terminología clara y evitar acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad. ### Realizar la actualización de la respuesta @@ -131,7 +131,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} #### Referencia: Estructura de la llamada de actualización de la respuesta -* Jefe DEL INCIDENTE (IC): Desde la última actualización programada, el resumen del incidente es el siguiente: +* Incident Commander (IC): Desde la última actualización programada, el resumen del incidente es el siguiente: * [Impacto] * [Vector] * [Actualización del resumen] @@ -153,16 +153,16 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ## Supervisar el alcance -* Supervisar el alcance de la respuesta para asegurarse de que no excede el ámbito de control del Jefe del incidente. +* Supervisar el alcance de la respuesta para asegurarse de que no excede el ámbito de control del Incident Commander. * Si un incidente es lo suficientemente complejo y hay suficientes intervinientes, considere la posibilidad de crear subequipos. ### Crear Sub-Equipos * En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. `TODO: Personalizar la estructura de los subequipos si es necesario.` * Crear un puente de llamadas y un chat para cada subequipo. -* El Jefe del Incidente designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. _Los líderes de equipo no tienen que estar formados como Jefes de incidentes, pero es preferible que tengan alguna experiencia de liderazgo._ -* El Jefe del Incidente puede ajustar el propósito o el nombre de los subequipos según sea necesario. -* Si desea cambiar de equipo, pregunte a su **líder de equipo actual**. **No** pregunte al Jefe de Incidentes, o al líder del otro(s) equipo(s). Utilice la cadena de mando. +* El Incident Commander designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. _Los líderes de equipo no tienen que estar formados como Incident Commanders, pero es preferible que tengan alguna experiencia de liderazgo._ +* El Incident Commander puede ajustar el propósito o el nombre de los subequipos según sea necesario. +* Si desea cambiar de equipo, pregunte a su **líder de equipo actual**. **No** pregunte al Incident Commander, o al líder del otro(s) equipo(s). Utilice la cadena de mando. ### Incidente dividido @@ -171,11 +171,11 @@ Si un incidente resulta ser dos o más incidentes distintos: * Establezca un nuevo [archivo de incidentes](#create-incident-file). * Haga un seguimiento y coordine la investigación, la reparación y la comunicación en el archivo correspondiente. * Considere la posibilidad de establecer subequipos para cada incidente. -* **Mantener un Jefe de incidentes de alto nivel**, para coordinar los activos de baja densidad y alta demanda y mantener la unidad de mando. +* **Mantener un Incident Commander de alto nivel**, para coordinar los activos de baja densidad y alta demanda y mantener la unidad de mando. # Investigar -**[Investigar](#investigate), [remediar](#remediate) y [comunicar](#communicate) en paralelo, utilizando equipos separados, si es posible.** El Jefe del Incidente coordinará estas actividades. Notifique al Jefe del Incidente si hay pasos que el equipo debe considerar. +**[Investigar](#investigate), [remediar](#remediate) y [comunicar](#communicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar. ## Crear el archivo del incidente @@ -359,7 +359,7 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, # Remediar -**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible.** El Jefe del incidente coordinará estas actividades. Notifique al Jefe del Incidente si hay pasos que el equipo debe considerar +**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar ## Actualización del plan de remediación @@ -434,7 +434,7 @@ Utilice lo siguiente como punto de partida para la remediación de la erradicaci ## Elegir el momento de la reparación -Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de remediación- involucrando al Jefe de Incidentes, a los PYMES y propietarios del sistema, a los PYMES y propietarios de la unidad de negocio, y al equipo ejecutivo. Cada estrategia es apropiada en diferentes circunstancias: +Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de remediación- involucrando al Incident Commander, a los PYMES y propietarios del sistema, a los PYMES y propietarios de la unidad de negocio, y al equipo ejecutivo. Cada estrategia es apropiada en diferentes circunstancias: * Elija la reparación **inmediata** cuando sea más importante detener inmediatamente las actividades del atacante que seguir investigando. Por ejemplo, una pérdida financiera en curso, o un fracaso de la misión en curso, una pérdida de datos activa, o la prevención de una amenaza significativa inminente. * Elija una reparación **retrasada** cuando sea importante completar la investigación o no alertar al atacante. Por ejemplo, el compromiso a largo plazo de un atacante avanzado, el espionaje corporativo o el compromiso a gran escala de un número desconocido de sistemas. @@ -454,7 +454,7 @@ Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de re #Comunicar -**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible. Notifique al Jefe del Incidente si hay pasos que el equipo debe considerar +**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible. Notifique al Incident Commander si hay pasos que el equipo debe considerar Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunicar especulaciones. @@ -468,7 +468,7 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Notificar y actualizar la organización -* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice, en particular si existe el riesgo de una amenaza interna. +* **No** notifique o actualice al personal que no responde hasta que el Incident Commander lo autorice, en particular si existe el riesgo de una amenaza interna. * Coordine las actualizaciones de los equipos o de toda la organización con los ejecutivos y la dirección de la empresa. * Concéntrese en la mejor evaluación del vector, el impacto, el resumen y los aspectos más destacados de la línea de tiempo, incluidos los pasos de remediación. No especule. @@ -482,13 +482,13 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Notificar a los reguladores -* **No** notifique ni ponga al día al personal que no ha respondido hasta que el Jefe del Incidente lo autorice. +* **No** notifique ni ponga al día al personal que no ha respondido hasta que el Incident Commander lo autorice. * Notificar a los organismos reguladores (por ejemplo, HIPAA/HITRUST, PCI DSS, SOX) si es necesario y de acuerdo con la política. * Coordinar los requisitos, el formato y los plazos con el {{COMPLIANCE_TEAM}}. ### Notificar a los clientes -* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice. +* **No** notifique o actualice al personal que no responde hasta que el Incident Commander lo autorice. * Coordine las notificaciones a los clientes con {{COMMUNICATIONS_TEAM}}. * Incluya la fecha en el título de cualquier anuncio, para evitar confusiones. * No utilice tópicos como "nos tomamos la seguridad muy en serio". Céntrese en los hechos. @@ -501,14 +501,14 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Notificar a los proveedores y socios -* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice. +* **No** notifique o actualice al personal que no responde hasta que el Incident Commander lo autorice. * Si es posible, póngase en contacto con los equipos de seguridad internos de los proveedores y socios antes de notificar al público. * Céntrese en los aspectos específicos del incidente que afectan o implican al proveedor o socio. * Coordine los esfuerzos de respuesta y comparta la información si es posible. ### Notificar a las Fuerzas de Seguridad -* **No** notifique o actualice al personal que no responde hasta que el Jefe del Incidente lo autorice. +* **No** notifique o actualice al personal que no responde hasta que el Incident Commander lo autorice. * Coordinar con {{EXECUTIVE_TEAM}} y {{LEGAL_TEAM}} antes de interactuar con las fuerzas del orden. * Póngase en contacto con las fuerzas del orden locales en {{LOCAL_LE_CONTACT}}. * Póngase en contacto con el FBI en {{FBI_CONTACT}} o a través del [Internet Crime Complaint Center (IC3)](https://www.ic3.gov). @@ -534,4 +534,4 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr **La recuperación suele estar dirigida por las unidades de negocio y los propietarios de los sistemas. Tome medidas de recuperación sólo en colaboración con las partes interesadas pertinentes.** 1. Poner en marcha un plan de continuidad de negocio/recuperación de desastres: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de copia de seguridad. -2. Integrar las acciones de seguridad con los esfuerzos de recuperación de la organización. \ No newline at end of file +2. Integrar las acciones de seguridad con los esfuerzos de recuperación de la organización. From b27cf47b3dab42b0c909e1019191f9e289d8eab4 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:35:07 +0200 Subject: [PATCH 039/199] Update glossary.md --- reference/glossary.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/glossary.md b/reference/glossary.md index dcb61ea..80c2261 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -5,8 +5,8 @@ 1. **Escriba:** El trabajo del escriba es mantener un registro de todas las actividades realizadas durante la llamada en un registro de chat escrito en Slack. 1. **Resolver:** Una persona en la llamada de incidentes que es capaz de ayudar a resolver problemas dentro de un sistema particular. También se le conoce como PYME (ver más abajo). 1. **SME:** "Subject Matter Expert", alguien que es un experto en un servicio o tema particular que puede proporcionar información al CI, y realizar acciones de resolución para un sistema en particular. -1. **Personal de mando: El personal de mando está formado por el comandante del incidente, el ayudante y el escriba. +1. **Personal de mando:** El personal de mando está formado por el comandante del incidente, el ayudante y el escriba. 1. **Informe CAN:** CAN significa "Condiciones" "Acciones" "Necesidades", si un CI le pide un informe CAN, debe proporcionar el estado actual de su servicio (condición), qué acciones hay que tomar para devolverlo a un estado saludable (acciones), y qué apoyo necesita para realizar las acciones (necesidades). 1. **Espacio de control:** Se refiere al número de informes directos que tiene. Por ejemplo, si el CI tiene 10 personas como informes directos en una convocatoria, tiene un gran rango de control. Nuestro objetivo es que el rango de control sea el mínimo posible sin dejar de ser productivo. -1. **Alguien que se une a la llamada en un momento tardío del juego, y proporciona información que desbarata completamente el pensamiento actual. A continuación, se marchan casi inmediatamente. -1. **Cuando un ejecutivo entra en la convocatoria y suelta algún tipo de bomba. Una versión del lanzamiento de granadas. +1. **Lanzagranadas:** Alguien que se une a la llamada en un momento tardío del juego, y proporciona información que desbarata completamente el pensamiento actual. A continuación, se marchan casi inmediatamente. +1. **Golpe Ejecutivo:** Cuando un ejecutivo entra en la convocatoria y suelta algún tipo de bomba. Una versión del lanzamiento de granadas. From bb9cee225f7e319e5343146e422fcc5945a81e7b Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:37:47 +0200 Subject: [PATCH 040/199] Incident commander --- roles/role-1-commander.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/roles/role-1-commander.md b/roles/role-1-commander.md index 98e3542..10fbfbd 100644 --- a/roles/role-1-commander.md +++ b/roles/role-1-commander.md @@ -1,7 +1,7 @@ ## Rol: Incident commander ### Descripcion -El Incident commander(JI) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el Incident commander las decisivas. +El Incident commander(IC) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el Incident commander las decisivas. Tu trabajo como Incident commander evaluar la situacion, proveer un guiado claro y cordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios** delega estos trabajos. @@ -12,12 +12,12 @@ Resuelve el incidente lo mas rapido y seguro posible usando el plan de respuesta 1. Ayuda a preparos para incidentes, * Establecer canales de comunicacion para incidentes. * Redirige a las personas hacia estos canales de comunicacion cuando acurra algun incidente grave. - * Entrena a miembros del equipo sobre como comunicarte durante incidentes y entrena a otros jefes de incidentes. + * Entrena a miembros del equipo sobre como comunicarte durante incidentes y entrena a otros Incident Commanders. 1. Dirige los incidentes hacia una solucion, * Lleva a todos al mismo canal de comunicacion. * Recolecta informacion de los miembros del equipo por sus servicios de estatus. * Recolecta propuestas de reparacion de acciones, despues recomienda acciones de reparacion para que se lleven acabo. - * Delega todas la acciones de reparacion, el jefe de incidentes no es un resolutor. + * Delega todas la acciones de reparacion, el Incident Commander no es un resolutor. * Se la unica fuente de autoridad en el estado del sistema. 1. Facilita las llamadas y reuniones, * Gana concenso (Realiza encuentas durante las llamadas) @@ -29,7 +29,7 @@ Resuelve el incidente lo mas rapido y seguro posible usando el plan de respuesta * Mantener el orden * Obten respuestas directas * Manejar las caidas de ejecutivos como - * Anular al jefe de incidentes + * Anular al Incident Commander * Desmotivación * Peticion de informacion * Cuestionar la severidad @@ -39,14 +39,14 @@ Resuelve el incidente lo mas rapido y seguro posible usando el plan de respuesta * Asignar el post-mortem despues de que el evento termine, esto puede darse despues de terminar la llamada. * Trabaja con los manager o jefes de equipo para organizar acciones preventivas. -El jefe de incidentes utiliza metodos y lenguajes adicionales: +El Incident Commander utiliza metodos y lenguajes adicionales: * Siempre anuncie cuando se una a la llamada si es el JI de guardia. * **No** permita que las discusiones se salgan de control. Mantenga las conversaciones cortas. * Tenga en cuenta las objeciones de los demás, pero tu decision es la definitiva. * Si alguien está interrumpiendo activamente tu decision, expulsalo. * Anuncia el final de la llamada. -* Después de un incidente, comuníquese con otros jefes de incidentes sobre cualquier acción que considere necesaria. +* Después de un incidente, comuníquese con otros Incident Commander sobre cualquier acción que considere necesaria. **Utilice una terminología clara y evite las siglas o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** @@ -54,14 +54,14 @@ El jefe de incidentes utiliza metodos y lenguajes adicionales: * Lea el plan de respuesta a incidentes, incluidos todos los roles y manuales. * Participar en un ejercicio de respuesta a incidentes. -* Seguir a un jefe de incidentes actual sin participar activamente, manteniendo sus preguntas hasta el final. -* Tomar la iniciativa de un jefe de incidentes. Responda a incidentes con el JI actual allí para hacerse cargo si es necesario. +* Seguir a un Incident Commander actual sin participar activamente, manteniendo sus preguntas hasta el final. +* Tomar la iniciativa de un Incident Commander. Responda a incidentes con el JI actual allí para hacerse cargo si es necesario. * _OPCIONAL:_ facilitar las practicas * _OPCIONAL:_ recurre a [Incident Responders as Facilitators (and Therapists)](#FIX) y al [PagerDuty Incident Commander training](https://response.pagerduty.com/training/incident_commander/) para mas ideas y discussiones. #### prerequisitos -No hay requisitos previos de antigüedad o unidad de negocios para convertirse en jefe de Incidentes, es un rol abierto a cualquier persona con la capacitación y la capacidad. Antes de que pueda ser un jefe de incidentes, se espera que cumpla con los siguientes criterios: +No hay requisitos previos de antigüedad o unidad de negocios para convertirse en Incident Commander, es un rol abierto a cualquier persona con la capacitación y la capacidad. Antes de que pueda ser un Incident Commander, se espera que cumpla con los siguientes criterios: * Excelentes **habilidades de comunicación** verbal y escrita. * **Conocimiento de alto nivel** de la infraestructura y las funciones comerciales. @@ -70,8 +70,8 @@ No hay requisitos previos de antigüedad o unidad de negocios para convertirse e * **Participó en al menos dos respuestas a incidentes**. * Capacidad para **tomar el mando** y **disposición para expulsar a las personas de una llamada** para eliminar las distracciones, incluso si se trata del director ejecutivo. -¡No se requieren conocimientos técnicos profundos! Los jefes de incidentes no requieren un conocimiento técnico profundo de nuestros sistemas. Su trabajo como jefe de incidentes es coordinar la respuesta, no realizar cambios técnicos. No crea que no puede ser un jefe de Incidentes solo porque no está en el departamento de ingeniería. +¡No se requieren conocimientos técnicos profundos! Los Incident Commander no requieren un conocimiento técnico profundo de nuestros sistemas. Su trabajo como Incident Commander es coordinar la respuesta, no realizar cambios técnicos. No crea que no puede ser un Incident Commander solo porque no está en el departamento de ingeniería. #### Graduación -Al finalizar el entrenamiento, agréguese a la lista de jefes de incidentes. +Al finalizar el entrenamiento, agréguese a la lista de Incident Commander. From bdfdfcd97ea6e4a5141a074a25e6fc172e343ed0 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:38:17 +0200 Subject: [PATCH 041/199] Update role-1-commander.md --- roles/role-1-commander.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/role-1-commander.md b/roles/role-1-commander.md index 10fbfbd..4fd7017 100644 --- a/roles/role-1-commander.md +++ b/roles/role-1-commander.md @@ -1,7 +1,7 @@ -## Rol: Incident commander +## Rol: Incident Commander ### Descripcion -El Incident commander(IC) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el Incident commander las decisivas. +El Incident Commander(IC) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el Incident commander las decisivas. Tu trabajo como Incident commander evaluar la situacion, proveer un guiado claro y cordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios** delega estos trabajos. From 48d1da1a4bea8f277c5ea080f5a84772fbc770f6 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:39:25 +0200 Subject: [PATCH 042/199] Incident commander --- roles/role-0-all-participants.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/roles/role-0-all-participants.md b/roles/role-0-all-participants.md index 6ccc577..b8b0891 100644 --- a/roles/role-0-all-participants.md +++ b/roles/role-0-all-participants.md @@ -2,7 +2,7 @@ ### Descripción -Todos los participantes en la respuesta a un incidente tienen la responsabilidad de ayudar a resolver el incidente de acuerdo con el plan de respuesta a incidentes, bajo la autoridad del Jefe de Incidentes. +Todos los participantes en la respuesta a un incidente tienen la responsabilidad de ayudar a resolver el incidente de acuerdo con el plan de respuesta a incidentes, bajo la autoridad del Incident Commander. ### Deberes @@ -15,8 +15,8 @@ Todos los participantes en la respuesta a un incidente tienen la responsabilidad * Habla con claridad. * Sea directo y objetivo. * Mantenga las conversaciones/debates breves y al grano. -* Comunicar cualquier preocupación al Jefe de Incidentes (IC) en la llamada. -* Respetar las limitaciones de tiempo dadas por el Jefe del Incidente. +* Comunicar cualquier preocupación al Incident Commander (IC) en la llamada. +* Respetar las limitaciones de tiempo dadas por el Incident Commander. * Si te unes a un solo canal (llamada o chat), no participes activamente, ya que provoca una comunicación inconexa. * **Utilice una terminología clara y evite acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** @@ -31,12 +31,12 @@ El [procedimiento de voz] estándar de la radio (https://en.wikipedia.org/wiki/V **No** invente nuevas abreviaturas; favorezca ser explícito sobre lo implícito. -#### Seguir al jefe del Incidente +#### Seguir al Incident Commander -El jefe del incidente (IC) es el líder del proceso de respuesta al incidente. +El Incident Commander (IC) es el líder del proceso de respuesta al incidente. -* Siga las instrucciones del jefe del incidente. -* No realice ninguna acción a menos que el jefe del incidente se lo indique. +* Siga las instrucciones del Incident Commander. +* No realice ninguna acción a menos que el Incident Commander se lo indique. * El jefe normalmente sondeará si hay objeciones fuertes antes de asignar una acción importante. Plantee sus objeciones si las tiene. * Una vez que el jefe haya tomado una decisión, sígala (incluso si no está de acuerdo). * Responde a cualquier pregunta que te haga el jefe de forma clara y concisa. Responder "no sé" es aceptable. No adivine. From 3b66f4d3aa20e2de80bcfe9d44952c94f2bdb554 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:41:06 +0200 Subject: [PATCH 043/199] Incident commander --- roles/role-2-deputy.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/roles/role-2-deputy.md b/roles/role-2-deputy.md index 9fbc657..e0c0896 100644 --- a/roles/role-2-deputy.md +++ b/roles/role-2-deputy.md @@ -1,14 +1,14 @@ -## Rol: Delegado del Comandante de Incidentes (Subdelegado) +## Rol: Delegado del Incident Commander (Subdelegado) ### Descripción -Un Subdelegado de Incidentes (Subdelegado es un papel de apoyo directo al Jefe de Incidentes (JI). El subdelegado permite que el JII se centre en el problema que tiene entre manos, en lugar de preocuparse por documentar los pasos o controlar los temporizadores. El Subdelegado apoya al JI y lo mantiene centrado en el incidente. Como Subdelegado, se espera que asuma el mando del JI si éste lo solicita. +Un Subdelegado de Incidentes (Subdelegado es un papel de apoyo directo al Incident Commander (IC). El subdelegado permite que el JII se centre en el problema que tiene entre manos, en lugar de preocuparse por documentar los pasos o controlar los temporizadores. El Subdelegado apoya al IC y lo mantiene centrado en el incidente. Como Subdelegado, se espera que asuma el mando del IC si éste lo solicita. ### Funciones -1. 1. Plantear al Jefe de Incidentes cuestiones que, de otro modo, no se abordarían (vigilar los temporizadores que se han puesto en marcha, dar vueltas a los elementos que se han perdido en una toma de lista, etc.). -1. 1. Ser un Jefe de Incidentes "de reserva", en caso de que el jefe principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de JI. -1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Jefe del Incidente. +1. 1. Plantear al Incident Commander cuestiones que, de otro modo, no se abordarían (vigilar los temporizadores que se han puesto en marcha, dar vueltas a los elementos que se han perdido en una toma de lista, etc.). +1. 1. Ser un Incident Commander "de reserva", en caso de que el jefe principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de JI. +1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Incident Commander. 1. Supervisar el estado del incidente y notificar al JI si el nivel de gravedad del incidente aumenta. 1. Supervise los temporizadores: * controlar el tiempo que ha durado el incidente @@ -21,6 +21,6 @@ Un Subdelegado de Incidentes (Subdelegado es un papel de apoyo directo al Jefe d #### Requisitos previos -* Estar entrenado como [Jefe de Incidentes](#role-incident-commander-ic). +* Estar entrenado como [Incident Commander](#role-incident-commander-ic). -Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator \ No newline at end of file +Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator From aea0427968fb67ebf2e0af8ffeaf0a5d7db2d4a5 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:41:32 +0200 Subject: [PATCH 044/199] incident commander --- roles/role-3-scribe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/role-3-scribe.md b/roles/role-3-scribe.md index 087e57d..5c3ca91 100644 --- a/roles/role-3-scribe.md +++ b/roles/role-3-scribe.md @@ -31,5 +31,5 @@ Lea y comprenda el plan de respuesta a incidentes, incluyendo los roles y los li #### Proceso de formación * Lea el plan de respuesta a incidentes, incluyendo todos los roles y libros de jugadas. -* _OPCIONAL:_ Paralizar las acciones de un escriba durante un incidente o ejercicio, y buscar la opinión del escriba real y del jefe de Incidentes. +* _OPCIONAL:_ Paralizar las acciones de un escriba durante un incidente o ejercicio, y buscar la opinión del escriba real y del Incident Commander. From 37041608ac5fb3020347798846553a744c5cc07d Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:42:21 +0200 Subject: [PATCH 045/199] incident commander --- roles/role-4-expert.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/role-4-expert.md b/roles/role-4-expert.md index e6c1130..40a33b9 100644 --- a/roles/role-4-expert.md +++ b/roles/role-4-expert.md @@ -2,7 +2,7 @@ ### Descripción -Un experto en la materia (SME) es un experto en el dominio o propietario designado de un equipo, componente o servicio (un "área"). Está ahí para apoyar al jefe de incidentes en la identificación de la causa del incidente, sugiriendo y evaluando las acciones de investigación, remediación y comunicación, y realizando el seguimiento de las mismas según se le encomiende. +Un experto en la materia (SME) es un experto en el dominio o propietario designado de un equipo, componente o servicio (un "área"). Está ahí para apoyar al Incident Commander en la identificación de la causa del incidente, sugiriendo y evaluando las acciones de investigación, remediación y comunicación, y realizando el seguimiento de las mismas según se le encomiende. ### Funciones @@ -31,7 +31,7 @@ Si está de guardia para cualquier equipo, puede ser llamado para un incidente y 1. Tenga su ordenador portátil e Internet con usted en todo momento durante su período de guardia (oficina, casa, un MiFi, un teléfono con un plan de conexión, etc). 1. Si tiene citas importantes, debe conseguir que otra persona de su equipo cubra esa franja horaria con antelación. 1. Cuando recibas una alerta de incidente, se espera que te unas a la llamada de incidente y chatees lo antes posible (en cuestión de minutos). -1. El jefe de incidentes le hará preguntas o le dará acciones. Responde a las preguntas de forma concisa y sigue todas las acciones que se te den (incluso si no estás de acuerdo con ellas). +1. El Incident Commander le hará preguntas o le dará acciones. Responde a las preguntas de forma concisa y sigue todas las acciones que se te den (incluso si no estás de acuerdo con ellas). 1. Si no estás seguro de algo, haz venir a otros miembros de tu equipo que puedan ayudarte. **Nunca dudes en escalar**, si es necesario. 1. No culpes. Este proceso de respuesta a incidentes no tiene ninguna culpa: culpar es contraproducente y distrae del problema en cuestión. La revisión posterior a la acción identificará los puntos en los que todos podemos mejorar. From 8892efc3347868c18fdbed783f61097e090d26cf Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:43:03 +0200 Subject: [PATCH 046/199] incident commander --- roles/role-5-liaison.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/role-5-liaison.md b/roles/role-5-liaison.md index 5d61ccf..828258e 100644 --- a/roles/role-5-liaison.md +++ b/roles/role-5-liaison.md @@ -15,9 +15,9 @@ Los enlaces interactuan con otros equipos o partes interesadas fuera del equipo 1. Notificar al IC (Intelligence Customer) de cualquier cliente o cobertura de los medios de comunicación que informen de los efectos del incidente. 1. Proporcionar a los clientes el mensaje externo de la autopsia una vez que se haya completado. 1. Contactar o interactuar con las partes interesadas externas, como proveedores, socios, fuerzas de seguridad, _etc._ -1. **No** sentirse responsable de la creación de cada mensaje: trabajar con el Jefe del Incidente y otras partes interesadas. +1. **No** sentirse responsable de la creación de cada mensaje: trabajar con el Incident Commander y otras partes interesadas. 1. Según proceda, mantener a los clientes informados durante un incidente. -1. Actuar como voz de nuestros clientes ante el Jefe de Incidentes, ya que esto es útil para la toma de decisiones del IC. +1. Actuar como voz de nuestros clientes ante el Incident Commander, ya que esto es útil para la toma de decisiones del IC. 1. Obtener la aprobación del mensaje después de haber elaborado el mensaje público: copiar el mensaje en el chat y esperar la confirmación verbal/escrita del IC antes de continuar. ##### Pistas para mensajes públicos @@ -36,8 +36,8 @@ Los enlaces interactuan con otros equipos o partes interesadas fuera del equipo #### Enlace interno -1. Página PYMES u otro personal de guardia según las instrucciones del Jefe del Incidente. -1. Notificar o movilizar a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Jefe del Incidente. +1. Página PYMES u otro personal de guardia según las instrucciones del Incident Commander. +1. Notificar o movilizar a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Incident Commander. 1. Seguir y anticiparse a las PYMES en la convocatoria. 1. Interactuar con las partes interesadas y proporcionar actualizaciones de estado cuando sea necesario. 1. Interactuar con las partes interesadas internas para responder a sus preguntas, para mantener la llamada principal libre de distracciones. From ed42935f8796bbf336454ab75be0e757eeb370a4 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:44:33 +0200 Subject: [PATCH 047/199] incident commander --- after.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/after.md b/after.md index 14ae558..15d6eee 100644 --- a/after.md +++ b/after.md @@ -1,7 +1,7 @@ # Realizar una revisión posterior a la acción (Conduct an After Action Review, AAR) 1. Programe una reunión de revisión posterior a la acción (AAR) dentro de {{AAR_SLA}} e invite a los asistentes que figuran en {{AAR_ATTENDEES}}. Incluya siempre a los siguientes: - * El jefe del incidente. + * El Incident Commander. * Los propietarios de los servicios implicados en el incidente. * Ingeniero(s)/responsable(s) clave(s) implicado(s) en el incidente. 1. Designe a un propietario del AAR que investigue el incidente antes de la reunión para prepararlo, estudiando el proceso del incidente en sí, incluyendo la revisión de notas e informes. From a0a32fdfd9065059b0f28b76360eab0bdc9144f0 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 19:47:35 +0200 Subject: [PATCH 048/199] =?UTF-8?q?traducci=C3=B3n=20espa=C3=B1ol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pandoc.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandoc.yml b/pandoc.yml index 73d1aa8..ffb19ba 100644 --- a/pandoc.yml +++ b/pandoc.yml @@ -1,10 +1,10 @@ --- -title: 'Incident Response Plan for {{COMPANY_NAME}}' -author: 'Author: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}}' -date: 'Revision {{REVISION_NUMBER}}, Released {{RELEASE_DATE}}' +title: 'Plan de respuesta a incidentes para {{COMPANY_NAME}}' +author: 'Autor: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}}' +date: 'Revisión {{REVISION_NUMBER}}, Publicado {{RELEASE_DATE}}' abstract: | This incident response plan is based on the concise, directive, specific, flexible, and free plan available on Counteractive Security's [Github](https://github.com/counteractive/incident-response-plan-template) and discussed at [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) - It was last reviewed on {{REVIEW_DATE}}. It was last tested on {{TEST_DATE}}. + Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. # geometry: margin=1.5in --- From ce31473ccc39d8aa0564c04a081ac8fa1a2c591f Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:16:59 +0200 Subject: [PATCH 049/199] arreglo para que se autogenere bien con info.yml --- playbooks/playbook-identity-and-access.md | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/playbook-identity-and-access.md b/playbooks/playbook-identity-and-access.md index b4e3697..b5fd475 100644 --- a/playbooks/playbook-identity-and-access.md +++ b/playbooks/playbook-identity-and-access.md @@ -1,3 +1,4 @@ + ## Playbook: Compromiso de identidad y acceso **Investigar, remediar (contener, erradicar) y comunicar en paralelo!.** From c728ae80ded6726f2f2bfc6adc5f8a26958e75b1 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:17:15 +0200 Subject: [PATCH 050/199] arreglo para que se autogenere bien con info.yml --- playbooks/playbook-phishing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index 95405e2..aa53ffe 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -1,3 +1,4 @@ + ## Playbook: Phishing **Investigar, remediar (contener, erradicar), y comunicar en paralelo!** From fb96876054600252629bc6e0ae7507847a6d0414 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:17:29 +0200 Subject: [PATCH 051/199] arreglo para que se autogenere bien con info.yml --- playbooks/playbook-ransomware.md | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/playbook-ransomware.md b/playbooks/playbook-ransomware.md index 45c7d38..af944ac 100644 --- a/playbooks/playbook-ransomware.md +++ b/playbooks/playbook-ransomware.md @@ -1,3 +1,4 @@ + ## Playbook: Ransomware **Investigar, remediar (contener, erradicar) y comunicar en paralelo. La contención es fundamental en los incidentes de ransomware, priorice en consecuencia.** From b894172f9181c593adfa28c75b676658d8be4ba7 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:17:45 +0200 Subject: [PATCH 052/199] arreglo para que se autogenere bien con info.yml --- playbooks/playbook-supply-chain.md | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/playbook-supply-chain.md b/playbooks/playbook-supply-chain.md index 3a5970d..0f9b941 100644 --- a/playbooks/playbook-supply-chain.md +++ b/playbooks/playbook-supply-chain.md @@ -1,3 +1,4 @@ + ## Playbook: Compromiso de la cadena de suministro **Investigar, remediar (contener, erradicar) y comunicar en paralelo!.** From 4515e8e21298eeb10323d2f34c52712ebbbd8040 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:24:15 +0200 Subject: [PATCH 053/199] Update index.md --- roles/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/roles/index.md b/roles/index.md index ae0ec03..020f6f5 100644 --- a/roles/index.md +++ b/roles/index.md @@ -27,8 +27,8 @@ En las llamadas de respuesta a Incidentes ("tiempos de guerra"), una estructura * El Comandante del incidente está al mando. Independientemente de su rango en tiempos de paz, ahora es la persona de mayor rango en la llamada, superior al director general o CEO. * Los primeros intervinientes (las personas que actúan como primeros intervinientes de un equipo/servicio) son las personas de mayor rango de ese servicio. -* Las decisiones serán tomadas por el CI tras considerar la información presentada. Una vez tomada la decisión, es definitiva. -* El CI puede tomar decisiones más arriesgadas que las que normalmente se considerarían en tiempos de paz. -* El CI puede ir en contra de una decisión consensuada. Si se hace una encuenta, y 9/10 personas están de acuerdo pero 1 está en desacuerdo. El CI puede elegir la opción del desacuerdo a pesar del voto de la mayoría. Aunque no esté de acuerdo, la decisión del CI es definitiva. Durante la convocatoria no es el momento de discutir con ellos. -* El CI puede utilizar un lenguaje o comportarse de una manera que usted considere grosera. Esto es tiempo de guerra, y necesitan hacer lo que sea necesario para resolver la situación, por lo que a veces se producen groserías. Esto no es personal, y es algo que debes estar preparado para experimentar si nunca has estado en una situación de guerra. -* Es posible que el CI te pida que abandones la llamada, o incluso que te eche a la fuerza de una llamada. Esto queda a discreción del CI si considera que no estás aportando nada útil. De nuevo, esto no es personal y debes recordar que los tiempo de guerra son diferentes a los tiempo de paz. +* Las decisiones serán tomadas por el IC tras considerar la información presentada. Una vez tomada la decisión, es definitiva. +* El IC puede tomar decisiones más arriesgadas que las que normalmente se considerarían en tiempos de paz. +* El IC puede ir en contra de una decisión consensuada. Si se hace una encuenta, y 9/10 personas están de acuerdo pero 1 está en desacuerdo. El IC puede elegir la opción del desacuerdo a pesar del voto de la mayoría. Aunque no esté de acuerdo, la decisión del IC es definitiva. Durante la convocatoria no es el momento de discutir con ellos. +* El IC puede utilizar un lenguaje o comportarse de una manera que usted considere grosera. Esto es tiempo de guerra, y necesitan hacer lo que sea necesario para resolver la situación, por lo que a veces se producen groserías. Esto no es personal, y es algo que debes estar preparado para experimentar si nunca has estado en una situación de guerra. +* Es posible que el IC te pida que abandones la llamada, o incluso que te eche a la fuerza de una llamada. Esto queda a discreción del IC si considera que no estás aportando nada útil. De nuevo, esto no es personal y debes recordar que los tiempo de guerra son diferentes a los tiempo de paz. From e8e98db8fd8f34f95ead49db7ab41d46d6232a06 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:26:50 +0200 Subject: [PATCH 054/199] arreglo para que se autogenere bien con info.yml --- roles/role-0-all-participants.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/role-0-all-participants.md b/roles/role-0-all-participants.md index b8b0891..e9821d2 100644 --- a/roles/role-0-all-participants.md +++ b/roles/role-0-all-participants.md @@ -1,3 +1,4 @@ + ## Roles: Todos los participantes ### Descripción From 430684e7cb070f4be4940fa4f9a535996c2271a7 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:27:35 +0200 Subject: [PATCH 055/199] arreglo para que se autogenere bien con info.yml --- roles/role-1-commander.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/role-1-commander.md b/roles/role-1-commander.md index 4fd7017..d194a2a 100644 --- a/roles/role-1-commander.md +++ b/roles/role-1-commander.md @@ -1,3 +1,4 @@ + ## Rol: Incident Commander ### Descripcion From 9d1ddd36c3f70b2f8242bd2a3291467996f8088d Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:28:19 +0200 Subject: [PATCH 056/199] arreglo para que se autogenere bien con info.yml --- roles/role-2-deputy.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/role-2-deputy.md b/roles/role-2-deputy.md index e0c0896..3e20d59 100644 --- a/roles/role-2-deputy.md +++ b/roles/role-2-deputy.md @@ -1,3 +1,4 @@ + ## Rol: Delegado del Incident Commander (Subdelegado) ### Descripción From 9d08dacdb8d1093a45a83a1661b86203ba8e098f Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:28:37 +0200 Subject: [PATCH 057/199] arreglo para que se autogenere bien con info.yml --- roles/role-3-scribe.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/role-3-scribe.md b/roles/role-3-scribe.md index 5c3ca91..e7ce8f3 100644 --- a/roles/role-3-scribe.md +++ b/roles/role-3-scribe.md @@ -1,3 +1,4 @@ + ## Rol: Escriba ### Descripción From 62693f895f6536c51436dace027395c1c049b68d Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:28:51 +0200 Subject: [PATCH 058/199] arreglo para que se autogenere bien con info.yml --- roles/role-4-expert.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/role-4-expert.md b/roles/role-4-expert.md index 40a33b9..28f605a 100644 --- a/roles/role-4-expert.md +++ b/roles/role-4-expert.md @@ -1,3 +1,4 @@ + ## Rol: Experto en la materia {Subject Matter Expert (SME)} ### Descripción From f1dda3ebc1a910ec0c22833bd36df36b4e95c882 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:29:12 +0200 Subject: [PATCH 059/199] arreglo para que se autogenere bien con info.yml --- roles/role-5-liaison.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/role-5-liaison.md b/roles/role-5-liaison.md index 828258e..bb3f3f5 100644 --- a/roles/role-5-liaison.md +++ b/roles/role-5-liaison.md @@ -1,3 +1,4 @@ + ## Rol: Enlace ### Descripción From 5ce52f22143984a2d5ec364f2076e271e5e5c298 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:38:31 +0200 Subject: [PATCH 060/199] arreglo para que se autogenere bien con info.yml --- about.md | 1 + 1 file changed, 1 insertion(+) diff --git a/about.md b/about.md index b5344f3..617c7c0 100644 --- a/about.md +++ b/about.md @@ -1,3 +1,4 @@ + # Acerca de Esta plantilla ha sido creada por el equipo de [Counteractive Security](https://www.counteractive.net), para ayudar a todas las organizaciones a comenzar de forma concisa, directa, especifica, flexible y gratuita un plan de respuesta de incidentes. crea un plan [que utilizaras](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) para responder de manera eficiente, minimizando los costes e impactos, para volver a trabajar lo mas rapido posible. From 3fc55432ade289b088e2ca634f2b6cb20eb1bef2 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Wed, 11 May 2022 20:42:34 +0200 Subject: [PATCH 061/199] arreglo para que se autogenere bien con info.yml --- reference/glossary.md | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/glossary.md b/reference/glossary.md index 80c2261..74b05f3 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -1,3 +1,4 @@ + # Glosario 1. **El Incident Commander es la persona responsable de resolver cualquier incidente grave. Es la persona de mayor rango en cualquier llamada de incidente mayor, independientemente de su rango diario. Sus decisiones como comandante son definitivas.** From e50d02b5e4ad7df54a2e85620dbf89b4354466d9 Mon Sep 17 00:00:00 2001 From: Abel Posado Reyes <94357701+AbelPosadoReyes@users.noreply.github.com> Date: Thu, 12 May 2022 08:47:41 +0200 Subject: [PATCH 062/199] Update index.md --- playbooks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/index.md b/playbooks/index.md index b577d8d..c2098a3 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -2,5 +2,5 @@ Los siguientes playbooks capturan los pasos comunes de [investigación](#investigate), [remediación](#remediate) y [comunicación](#communicate) para determinados tipos de incidentes. -`TODO: Crear libros de juego adicionales para tipos de incidentes muy probables o muy perjudiciales.` +`TODO: Crear playbooks adicionales para tipos de incidentes muy probables o muy perjudiciales.` From 3bd8cc4ca2d868c5fa3df46ce64d66a4bccf04ef Mon Sep 17 00:00:00 2001 From: Jose Manuel Arrieta Soto Date: Tue, 17 May 2022 08:15:34 +0200 Subject: [PATCH 063/199] Arreglo during.md --- during.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/during.md b/during.md index def6315..25925bd 100644 --- a/during.md +++ b/during.md @@ -35,7 +35,7 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en `TODO: Personalizar las categorías/severidades según sea necesario. Este sencillo ejemplo (incidente vs. no incidente) se basa en las categorías de impacto del NIST SP 800-61r2.` -#Iniciar la respuesta +# Iniciar la respuesta ## Nombrar el incidente @@ -98,7 +98,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} #### Referencia: Estructura de la llamada de respuesta inicial -*Incident Commander (IC): Mi nombre es [NOMBRE], soy el Incident Commander. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? +* Incident Commander (IC): Mi nombre es [NOMBRE], soy el Incident Commander. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? * SCRIBE: [Toma asistencia] * IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. * IC: [Hace preguntas para comprender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. @@ -179,7 +179,7 @@ Si un incidente resulta ser dos o más incidentes distintos: ## Crear el archivo del incidente -1. Cree un nuevo archivo de incidentes en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente] (#name-the-incident). Utilice este archivo para el almacenamiento seguro de documentación, pruebas, artefactos, _etc._. +1. Cree un nuevo archivo de incidentes en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#name-the-incident). Utilice este archivo para el almacenamiento seguro de documentación, pruebas, artefactos, _etc._. * Proporcionar un almacenamiento digital seguro. * Proporcionar un intercambio de archivos seguro. * Obtener almacenamiento físico. @@ -359,17 +359,17 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, # Remediar -**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar +**[Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar ## Actualización del plan de remediación 1. Revise el archivo del incidente en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#name-the-incident) -1. 2. Revise los [playbook](#playbooks) aplicables. -1. Revise la [lista de recursos de respuesta](#reference-response-resource-list)). -1. Considere qué tácticas del atacante están en juego en este incidente. Utilice la lista de MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) (_i._, Persistencia, Escalada de Privilegios, Evasión de la Defensa, Acceso a Credenciales, Descubrimiento, Movimiento Lateral, Ejecución, Recolección, Exfiltración y Mando y Control), o un marco similar. -1. Desarrollar remedios para cada táctica en juego, en la medida en que sea factible teniendo en cuenta las herramientas y los recursos existentes. Considere remedios para [Proteger](#protect), [Detectar](#detect), [Contener](#contain), y [Erradicar](#eradicate) cada comportamiento del atacante. -1. Priorizar en base a la [estrategia de tiempo](#choose-remediation-timing), el impacto y la urgencia. -1. Documentar en el archivo de incidentes. +2. Revise los [playbook](#playbooks) aplicables. +3. Revise la [lista de recursos de respuesta](#reference-response-resource-list). +4. Considere qué tácticas del atacante están en juego en este incidente. Utilice la lista de MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) (_i._, Persistencia, Escalada de Privilegios, Evasión de la Defensa, Acceso a Credenciales, Descubrimiento, Movimiento Lateral, Ejecución, Recolección, Exfiltración y Mando y Control), o un marco similar. +5. Desarrollar remedios para cada táctica en juego, en la medida en que sea factible teniendo en cuenta las herramientas y los recursos existentes. Considere remedios para [Proteger](#protect), [Detectar](#detect), [Contener](#contain), y [Erradicar](#eradicate) cada comportamiento del atacante. +6. Priorizar en base a la [estrategia de tiempo](#choose-remediation-timing), el impacto y la urgencia. +7. Documentar en el archivo de incidentes. Utilice [marcos de seguridad de la información (infosec)](https://www.nist.gov/cyberframework) como inspiración, pero **no utilice la reparación de incidentes como sustituto de un programa de infosec con un marco apropiado.** Utilícelos para complementarse. @@ -452,9 +452,9 @@ Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de re [Actualizar el plan de remediación](#update-remediation-plan) y repetir hasta el cierre. -#Comunicar +# Comunicar -**Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible. Notifique al Incident Commander si hay pasos que el equipo debe considerar +* [Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible. Notifique al Incident Commander si hay pasos que el equipo debe considerar Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunicar especulaciones. From c7c6ec9e945601a3034b6b3ef69df0c3d074569e Mon Sep 17 00:00:00 2001 From: Jose Manuel Arrieta Soto Date: Tue, 17 May 2022 08:41:31 +0200 Subject: [PATCH 064/199] =?UTF-8?q?Actualizaci=C3=B3n=20info?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- info.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/info.yml b/info.yml index 85f1935..3b7b148 100644 --- a/info.yml +++ b/info.yml @@ -1,4 +1,6 @@ ---- +# Para generar correctamente el plan de respuestas +# hay que cambiar el string de la derecha (incluido los corchetes) +# por el dato que queramos. # The name of your organization (e.g., Acme, Inc.) COMPANY_NAME: '{{COMPANY_NAME}}' From 81bae0c02d5008420b7c9f21a8ce9d214423083a Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 08:46:27 +0200 Subject: [PATCH 065/199] correciones menores --- playbooks/playbook-phishing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index aa53ffe..2a60704 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -11,7 +11,7 @@ Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando s 1. **Ámbito del ataque** Normalmente se le notificará que se está produciendo un posible ataque de phishing, ya sea por parte de un usuario, cliente o socio. * Determinar el **número total de usuarios afectados**. - * Comprender **las acciones de los usuarios** en la respuesta al phishing de un correo electrónico (_e.j._, ¿Descargaroón el archivo adjunto?, ¿Visitarón el sitio suplantado?, ¿O, dieron alguna información personal o comercial como credenciales?) + * Comprender **las acciones de los usuarios** en la respuesta al phishing de un correo electrónico (_e.j._, ¿Descargarón el archivo adjunto?, ¿Visitarón el sitio suplantado?, ¿O, dieron alguna información personal o comercial como credenciales?) * Encontrar la actividad potencialmente relacionada. Comprueba: * Redes Sociales * Cualquier correo electrónico sospechoso posible. @@ -173,7 +173,7 @@ Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando s 7. Registra toda la información en el ticket, incluyendo notas manuscritas y de voz. 8. Poner en cuarentena a los usuarios y sistemas afectados. `TODO: Personalizar el contenido de los pasos, automatizar tanto como sea posible.` -10. Póngase en contacto con el [equipo de seguridad](#TODO-enlace-a-actual-recurso) y prepárase para participar en la respuesta según las indicaciones: investigación, reparación comunicación y recuperación. +10. Póngase en contacto con el [equipo de seguridad](#TODO-enlace-a-actual-recurso) y prepárase para participar en la respuesta según las indicaciones: investigación, remediación comunicación y recuperación. #### Información adicional From 30a9d26ffe514eb4aeeb18c62b40a2ef0e9f627e Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 08:50:45 +0200 Subject: [PATCH 066/199] Update playbook-phishing.md --- playbooks/playbook-phishing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index 2a60704..f899689 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -53,7 +53,7 @@ Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando s ### Remediar * **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. -* **Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. +* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. #### Contener From d71d77fdc794e020ebc7d442e9cf024483c467ea Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 08:54:37 +0200 Subject: [PATCH 067/199] Update playbook-phishing.md --- playbooks/playbook-phishing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md index f899689..21112bb 100644 --- a/playbooks/playbook-phishing.md +++ b/playbooks/playbook-phishing.md @@ -126,7 +126,7 @@ Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando s * Recibir un correo electrónico o un archivo adjunto que no se esperaba, pero que proviene de alguien conocido (contactar con el remitente antes de abrirlo). * Informar de actividades sospechosas al departamento de TI o de seguridad. 1. Asegúrate de que el personal de TI y de seguridad está al día de las técnicas de phishing más recientes. -1. Determine si ha fallado algún conrol al ser victima de un ataque y rectifíquelo. He aquí una [buena fuente](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) a tener en cuenta tras un ataque de phishing. +1. Determine si ha fallado algún control al ser victima de un ataque y rectifíquelo. He aquí una [buena fuente](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) a tener en cuenta tras un ataque de phishing. ### Recursos From 558ecc04e46e27aaff6a28dcbca5bb6ec685661e Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 09:33:00 +0200 Subject: [PATCH 068/199] Update index.md --- roles/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/index.md b/roles/index.md index 020f6f5..e6b9af5 100644 --- a/roles/index.md +++ b/roles/index.md @@ -7,7 +7,7 @@ A continuación se presentan las descripciones, los deberes y la formación para ## Estructura de los roles * Equipo de Mando - * [Incident Commander](#role-incident-commander-ic) + * [Incident Commander](#role-incident-commander-(ic)) * [Incident Commander-Adjunto](#role-deputy-incident-commander-deputy) * [Escriba](#role-scribe) * Equipo de enlace From 01dd4a8504c5ecc405b3f8e35e12b51bc663d7c3 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 09:33:15 +0200 Subject: [PATCH 069/199] Update index.md --- roles/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/index.md b/roles/index.md index e6b9af5..020f6f5 100644 --- a/roles/index.md +++ b/roles/index.md @@ -7,7 +7,7 @@ A continuación se presentan las descripciones, los deberes y la formación para ## Estructura de los roles * Equipo de Mando - * [Incident Commander](#role-incident-commander-(ic)) + * [Incident Commander](#role-incident-commander-ic) * [Incident Commander-Adjunto](#role-deputy-incident-commander-deputy) * [Escriba](#role-scribe) * Equipo de enlace From 96e9c752cbb0e49a3f4dbc3653f1b841b56c18fe Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 09:53:13 +0200 Subject: [PATCH 070/199] Update index.md --- roles/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/roles/index.md b/roles/index.md index 020f6f5..fbe1958 100644 --- a/roles/index.md +++ b/roles/index.md @@ -7,14 +7,14 @@ A continuación se presentan las descripciones, los deberes y la formación para ## Estructura de los roles * Equipo de Mando - * [Incident Commander](#role-incident-commander-ic) - * [Incident Commander-Adjunto](#role-deputy-incident-commander-deputy) - * [Escriba](#role-scribe) + * [Incident Commander](#rol-incident-commander) + * [Incident Commander-Adjunto](#rol-delegado-del-incident-commander-(subdelegado)) + * [Escriba](#rol-escriba) * Equipo de enlace - * Enlace Interno [Enlace](#role-liaison) + * Enlace Interno [Enlace](#rol-enlace) * Enlace externo * Equipo de Operaciones - * [Expertos en la materia](#role-subject-matter-expert-sme) (PYMES) para Sistemas + * [Expertos en la materia](#rol-experto-en-la-materia-{subject-matter-expert-(sme)}) (PYMES) para Sistemas * PYMES para equipos/unidades de negocio * PYMES para las funciones ejecutivas (_e.j._, Legal, RRHH, Finanzas) En el caso de incidentes complejos de mayor envergadura, la estructura de funciones puede ajustarse para tener en cuenta la creación de subequipos. Para más información, lea cómo gestionamos los [Incidentes Complejos](/before/complex_incidents.md). From a7b0a6f81a22887224b27c4d4146e76165486014 Mon Sep 17 00:00:00 2001 From: raulalberti <94535774+raulalberti@users.noreply.github.com> Date: Tue, 17 May 2022 10:06:07 +0200 Subject: [PATCH 071/199] Update index.md --- roles/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/index.md b/roles/index.md index fbe1958..b2fb499 100644 --- a/roles/index.md +++ b/roles/index.md @@ -8,13 +8,13 @@ A continuación se presentan las descripciones, los deberes y la formación para * Equipo de Mando * [Incident Commander](#rol-incident-commander) - * [Incident Commander-Adjunto](#rol-delegado-del-incident-commander-(subdelegado)) + * [Incident Commander-Adjunto](#rol-delegado-del-incident-commander-subdelegado) * [Escriba](#rol-escriba) * Equipo de enlace * Enlace Interno [Enlace](#rol-enlace) * Enlace externo * Equipo de Operaciones - * [Expertos en la materia](#rol-experto-en-la-materia-{subject-matter-expert-(sme)}) (PYMES) para Sistemas + * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (PYMES) para Sistemas * PYMES para equipos/unidades de negocio * PYMES para las funciones ejecutivas (_e.j._, Legal, RRHH, Finanzas) En el caso de incidentes complejos de mayor envergadura, la estructura de funciones puede ajustarse para tener en cuenta la creación de subequipos. Para más información, lea cómo gestionamos los [Incidentes Complejos](/before/complex_incidents.md). From 71c323e0e4f65f7b479bd3e2b3c894bf4763dbf7 Mon Sep 17 00:00:00 2001 From: Jose Manuel Arrieta Soto Date: Tue, 17 May 2022 10:48:58 +0200 Subject: [PATCH 072/199] Arreglo during.md --- during.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/during.md b/during.md index 25925bd..19a119e 100644 --- a/during.md +++ b/during.md @@ -59,14 +59,14 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h ### Referencia: Estructura del equipo de respuesta * Equipo de Mando - * [Incident Commander](#role-incident-commander-ic) - * [Incident Commander-Adjunto](#role-deputy-incident-commander-deputy) - * [Escriba](#role-scribe) + * [Incident Commander](#rol-incident-commander) + * [Incident Commander-Adjunto](#rol-delegado-del-incident-commander-subdelegado) + * [Escriba](#rol-scriba) * Equipo de enlace - * Enlace [interno](#role-liaison) + * Enlace [interno](#rol-enlace) * Enlace externo * Equipo de operaciones - * [Expertos en la materia](#role-subject-matter-expert-sme) (PYMES) para sistemas + * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (PYMES) para sistemas * PYMES para equipos/unidades de negocio * PYMES para Funciones Ejecutivas (_por ejemplo_, Legal, RRHH, Finanzas) @@ -89,7 +89,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ### Realizar la llamada de respuesta inicial -1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial](#reference-initial-response-call-structure) +1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial](#referencia-estructura-de-la-llamada-de-respuesta-inicial) 2. Siga las instrucciones del Incident Commander. Si el Incident Commander de turno/de guardia no se une a la llamada **dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}}** y usted es un Incident Commander capacitado, tome el mando de la llamada. 3. Siga las [instrucciones correspondientes a su función](#roles). 4. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, filtre las aportaciones a través del SME de su equipo si es posible. @@ -102,7 +102,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} * SCRIBE: [Toma asistencia] * IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. * IC: [Hace preguntas para comprender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. -* PYMES: [Responde brevemente a las preguntas del CI]. +* PYMES: [Responde brevemente a las preguntas del IC]. * IC: [Si se trata de un incidente]: * En este momento, el resumen del incidente es el siguiente: [reitera el resumen]. El equipo de investigación estará dirigido por [NOMBRE], el equipo de reparación estará dirigido por [NOMBRE] y el equipo de comunicación estará dirigido por [NOMBRE]. Ellos coordinarán la composición del equipo y me informarán. Los miembros del equipo, por favor, informen a su jefe de equipo correspondiente. * ¿Qué medidas de investigación, corrección o comunicación se han tomado ya? [esta debería ser una lista corta, pero tiene que salir ahora] @@ -125,7 +125,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ### Realizar la actualización de la respuesta -* Llevar a cabo actualizaciones programadas utilizando la [estructura de llamada de actualización](#reference-response-update-call-structure) cada {{UPDATE_FREQUENCY}} en el puente activo. `TODO: Personalizar la frecuencia de actualización y los scripts; se recomienda no más de dos veces al día.` +* Llevar a cabo actualizaciones programadas utilizando la [estructura de llamada de actualización](#referencia-estructura-de-la-llamada-de-actualización-de-la-respuesta) cada {{UPDATE_FREQUENCY}} en el puente activo. `TODO: Personalizar la frecuencia de actualización y los scripts; se recomienda no más de dos veces al día.` * Ajustar la frecuencia según sea necesario. * Coordinar las actualizaciones independientes (_por ejemplo_, ejecutivas, legales) según sea necesario, pero con la menor frecuencia posible. @@ -168,24 +168,24 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} Si un incidente resulta ser dos o más incidentes distintos: -* Establezca un nuevo [archivo de incidentes](#create-incident-file). +* Establezca un nuevo [archivo de incidentes](#crear-el-archivo-del-incidente). * Haga un seguimiento y coordine la investigación, la reparación y la comunicación en el archivo correspondiente. * Considere la posibilidad de establecer subequipos para cada incidente. * **Mantener un Incident Commander de alto nivel**, para coordinar los activos de baja densidad y alta demanda y mantener la unidad de mando. # Investigar -**[Investigar](#investigate), [remediar](#remediate) y [comunicar](#communicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar. +**[Investigar](#investigar), [Remediar](#remediar) y [comunicar](#communicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar. ## Crear el archivo del incidente -1. Cree un nuevo archivo de incidentes en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#name-the-incident). Utilice este archivo para el almacenamiento seguro de documentación, pruebas, artefactos, _etc._. +1. Cree un nuevo archivo de incidentes en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#nombre-del-incidente). Utilice este archivo para el almacenamiento seguro de documentación, pruebas, artefactos, _etc._. * Proporcionar un almacenamiento digital seguro. * Proporcionar un intercambio de archivos seguro. * Obtener almacenamiento físico. * Compartir la ubicación del archivo del incidente en la llamada y el chat. * `TODO: Personalizar y automatizar la ubicación del archivo y el procedimiento`. -1. Documente el impacto funcional y de la información, si se conoce (véase [Assess](#assess)). `TODO: Personalizar las categorías de impacto, si es necesario.` +1. Documente el impacto funcional y de la información, si se conoce (véase [Evaluar](#evaluar)). `TODO: Personalizar las categorías de impacto, si es necesario.` 2. Documentar el vector, si se conoce (_por ejemplo_ web, correo electrónico, medios extraíbles). Tarea: Personalizar la lista de vectores, si es necesario. 3. Documente el resumen del incidente: un breve resumen del vector, el impacto, la investigación y la situación de la reparación, si se conoce. 4. Documente la línea de tiempo del incidente, incluyendo la actividad del atacante y la actividad de la respuesta. `TODO: Añadir líneas de tiempo con diferentes detalles, según sea necesario.` @@ -245,7 +245,7 @@ Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} * **¿Quién?**: atacante, usuarios afectados, clientes afectados, etc.? 1. **Identificar y priorizar los dispositivos y estrategias testigo** para responder a las preguntas clave. * Consultar los diagramas de la red, los sistemas de gestión de activos y la experiencia de las PYMES - * Consultar la [Lista de recursos de respuesta](#reference-response-resource-list)) + * Consultar la [Lista de recursos de respuesta](#referencia-lista-de-recursos-de-respuesta)) 1. Consulte los [playbook de incidentes](#playbooks) para conocer las preguntas clave, los dispositivos testigos y las estrategias para investigar las amenazas comunes o muy dañinas. **El plan de investigación es fundamental para una respuesta eficaz; impulsa todas las acciones de investigación. Utilice el pensamiento crítico, la creatividad y el buen juicio.** @@ -275,7 +275,7 @@ Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más > Haga hincapié en los indicadores **dinámicos y de comportamiento** junto con las huellas digitales estáticas. -* Crear IOCs basados en [pistas iniciales](#collect-initial-leads) y [análisis](#analyze-evidence). +* Crear IOCs basados en [pistas iniciales](#recoger-las-pistas-iniciales) y [análisis](#analyze-evidence). * Cree IOCs usando un formato abierto soportado por sus herramientas (_por ejemplo_, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), si es posible. `TODO: Personalizar el formato de los COIs según sea necesario.` * Utilice la automatización, si es posible. `TODO: Añadir un procedimiento de despliegue/revocación de COIs.` * **No** desplegar "feeds" de COIs no relacionados y no curados, ya que pueden causar confusión y fatiga. @@ -355,19 +355,19 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ## Iterar la investigación -[Actualizar el plan de investigación](#update-investigative-plan-and-incident-file) y repetir hasta el cierre. +[Actualizar el plan de investigación](#actualizar-el-plan-de-investigación-y-el-archivo-del-incidente) y repetir hasta el cierre. # Remediar -**[Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar +**[Investigar](#investigar), [Remediar](#remediar) y [Comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Incident Commander coordinará estas actividades. Notifique al Incident Commander si hay pasos que el equipo debe considerar ## Actualización del plan de remediación -1. Revise el archivo del incidente en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#name-the-incident) +1. Revise el archivo del incidente en {{INCIDENT_FILE_LOCATION}} utilizando el [nombre del incidente](#nombre-del-incidente) 2. Revise los [playbook](#playbooks) aplicables. -3. Revise la [lista de recursos de respuesta](#reference-response-resource-list). +3. Revise la [lista de recursos de respuesta](#referencia-lista-de-recursos-de-respuesta). 4. Considere qué tácticas del atacante están en juego en este incidente. Utilice la lista de MITRE [ATT&CK](https://attack.mitre.org/wiki/Main_Page) (_i._, Persistencia, Escalada de Privilegios, Evasión de la Defensa, Acceso a Credenciales, Descubrimiento, Movimiento Lateral, Ejecución, Recolección, Exfiltración y Mando y Control), o un marco similar. -5. Desarrollar remedios para cada táctica en juego, en la medida en que sea factible teniendo en cuenta las herramientas y los recursos existentes. Considere remedios para [Proteger](#protect), [Detectar](#detect), [Contener](#contain), y [Erradicar](#eradicate) cada comportamiento del atacante. +5. Desarrollar remedios para cada táctica en juego, en la medida en que sea factible teniendo en cuenta las herramientas y los recursos existentes. Considere remedios para [Proteger](#protección), [Detectar](#detección), [Contener](#contención), y [Erradicar](#erradicar) cada comportamiento del atacante. 6. Priorizar en base a la [estrategia de tiempo](#choose-remediation-timing), el impacto y la urgencia. 7. Documentar en el archivo de incidentes. @@ -443,18 +443,18 @@ Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de re ## Ejecutar la remediación * Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. `TODO: Personalizar el procedimiento de aprobación de los riesgos de la remediación, si es necesario.` -* Implementar inmediatamente aquellas acciones de remediación que afecten poco o nada al atacante (a veces llamadas "acciones de postura"). Por ejemplo, muchas de las acciones de [protección](#protect) y [detección](#detect) anteriores son buenas candidatas. +* Implementar inmediatamente aquellas acciones de remediación que afecten poco o nada al atacante (a veces llamadas "acciones de postura"). Por ejemplo, muchas de las acciones de [protección](#protección) y [detección](#detección) anteriores son buenas candidatas. * Programar y asignar acciones de remediación de acuerdo con la estrategia de tiempo. * Ejecute las acciones de corrección en lotes, como eventos, para lograr la máxima eficacia y el mínimo riesgo. * Documentar el estado de ejecución y el tiempo en el archivo de incidentes, especialmente para las medidas temporales. ## Iterar la remediación -[Actualizar el plan de remediación](#update-remediation-plan) y repetir hasta el cierre. +[Actualizar el plan de remediación](#actualización-del-plan-de-remediación) y repetir hasta el cierre. # Comunicar -* [Investigar](#investigate), [remediar](#remediate) y [comunicar](#comunicate) en paralelo, utilizando equipos separados, si es posible. Notifique al Incident Commander si hay pasos que el equipo debe considerar +* [Investigar](#investigar), [Remediar](#remediar) y [Comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Incident Commander si hay pasos que el equipo debe considerar Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunicar especulaciones. @@ -474,7 +474,7 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr ### Crear Informe de Incidentes -* Tras el cierre del incidente, capture la información en el [archivo del incidente](#create-incident-file) para su distribución utilizando el formato en {{INCIDENT_REPORT_TEMPLATE}}. **Si los informes de vector, impacto, resumen, línea de tiempo y actividad están completos, esto puede ser totalmente automatizado.** +* Tras el cierre del incidente, capture la información en el [archivo del incidente](#crear-archivo-del-incidente) para su distribución utilizando el formato en {{INCIDENT_REPORT_TEMPLATE}}. **Si los informes de vector, impacto, resumen, línea de tiempo y actividad están completos, esto puede ser totalmente automatizado.** * Distribuir el informe de incidentes a lo siguiente: {{INCIDENT_REPORT_RECIPIENTS}}. * `TODO: Personalizar la creación y distribución del informe de incidentes, si es necesario`. @@ -495,7 +495,7 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr * Sea honesto, acepte la responsabilidad y presente los hechos, junto con el plan para prevenir incidentes similares en el futuro. * Sea lo más detallado posible con la línea de tiempo. * Sea lo más detallado posible en cuanto a la información que se vio comprometida y cómo afecta a los clientes. Si estábamos almacenando algo que no debíamos, sé honesto al respecto. Saldrá a la luz más tarde y será mucho peor. -* No hablemos de las partes externas que podrían haber causado el problema, a menos que ya lo hayan hecho público, en cuyo caso enlazaremos con su información. Comunícate con ellos de forma independiente (ver [Notificar a los proveedores](#notify-vendors-and-partners)) +* No hablemos de las partes externas que podrían haber causado el problema, a menos que ya lo hayan hecho público, en cuyo caso enlazaremos con su información. Comunícate con ellos de forma independiente (ver [Notificar a los proveedores](#notificar-a-los-proveedores-y-socios)) * Publique la comunicación externa lo antes posible. Las malas noticias no mejoran con el tiempo. * Si es posible, contacte con los equipos de seguridad internos de los clientes antes de notificar al público. From 615768de9dd17a140774e914b6243b29c2a1cee6 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Thu, 2 Jun 2022 10:54:09 +0200 Subject: [PATCH 073/199] Cambio autor2 --- info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/info.yml b/info.yml index 3b7b148..994eea8 100644 --- a/info.yml +++ b/info.yml @@ -6,7 +6,7 @@ COMPANY_NAME: '{{COMPANY_NAME}}' # Name and email of plan author (e.g., Chris) -AUTHOR_NAME: '{{AUTHOR_NAME}}' +AUTHOR_NAME: 'Angel Manuel Aragón' # Email of plan author (e.g., contact@counteractive.net) AUTHOR_EMAIL: '{{AUTHOR_EMAIL}}' From 3e4cacb1463b69be319c70187cf3b7e4313df062 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sat, 4 Jun 2022 09:00:59 +0200 Subject: [PATCH 074/199] =?UTF-8?q?Revisi=C3=B3n=20traducci=C3=B3n=20V1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- during.md | 100 +++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/during.md b/during.md index 19a119e..5ac9133 100644 --- a/during.md +++ b/during.md @@ -8,30 +8,30 @@ Este plan de respuesta a incidentes está basado en el plan conciso, directivo, Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. -`TODO: Personalice esta plantilla de plan para su organización utilizando las instrucciones en https://github.com/counteractive/incident-response-plan-template. Para obtener servicios de respuesta a incidentes, o ayuda para personalizar, implementar o probar su plan, póngase en contacto con nosotros en contact@counteractive.net o en el (888) 925-5765.` +`TODO: Personalice esta plantilla para su organización utilizando las instrucciones en https://github.com/counteractive/incident-response-plan-template. Para obtener servicios de respuesta a incidentes, o ayuda para personalizar, implementar o probar su plan, póngase en contacto con nosotros en contact@counteractive.net o en el (888) 925-5765.` # Evaluar 1. **Mantenga la calma y la profesionalidad.** -2. Reúna la información pertinente, _por ejemplo_, alarmas, eventos, datos, suposiciones, intuiciones (**observe**). +2. Reúna la información pertinente, _por ejemplo_, alarmas, eventos, datos, suposiciones, intuiciones (**observar**). 3. Considerar las categorías de impacto, a continuación (**orientar**), y determinar si hay un posible incidente (**decidir**): -4. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El Incident Commander y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. +4. Iniciar una respuesta si hay un incidente (**actuar**). En caso de duda, inicie una respuesta. El responsable de gestión de incidentes y el equipo de respuesta pueden ajustarse tras la investigación y la revisión. ## Evaluar el impacto funcional -¿Cuál es el impacto directo o probable en su misión? (_por ejemplo_, operaciones comerciales, empleados, clientes, usuarios) +¿Cuál es el impacto directo o probable en su trabajo? (_por ejemplo_, operaciones comerciales, empleados, clientes, usuarios) -* Degradación o fracaso de la misión/negocio: **incidente!** +* Degradación o fracaso del trabajo/negocio: **incidente!** * Ninguno: evalúe el impacto de la información. ## Evaluar el impacto de la información -¿Cuál es el impacto directo o probable sobre su información/datos, en particular los sensibles? (_por ejemplo_, información personal, datos de propiedad, financieros o sanitarios) +¿Cuál es el impacto directo o probable sobre sus datos/información, en particular los sensibles? (_por ejemplo_, información personal, datos de propiedad, financieros o sanitarios) -* Información a la que se ha accedido, tomado, cambiado o borrado: **incidente!** +* Información a la que se ha accedido, cogido, cambiado o borrado: **incidente!** * Ninguno: gestión a través de canales no relacionados con incidentes (por ejemplo, un ticket de soporte). -**Cada miembro del equipo está facultado para iniciar este proceso.** Si ves algo, di algo. +**Cada miembro del equipo está facultado para comenzar este proceso.** Si ves algo, dilo. `TODO: Personalizar las categorías/severidades según sea necesario. Este sencillo ejemplo (incidente vs. no incidente) se basa en las categorías de impacto del NIST SP 800-61r2.` @@ -47,12 +47,12 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h 2. **No** discuta el incidente fuera del equipo de respuesta a menos que el Incident Commander lo autorice 3. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. `ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta.` 4. Iniciar y/o unirse a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. `TODO: Añadir el procedimiento de lanzamiento de la llamada de respuesta.` -5. Prefiera la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. +5. Preferible usar la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. 6. **No** utilizar el correo electrónico principal si es posible. Si el correo electrónico es necesario, utilícelo con moderación o use {{ALTERNATE_EMAIL}}. Encripte los correos electrónicos cuando cualquier participante esté fuera del dominio {{ORGANIZATION_DOMAIN}}. `TODO: Añadir detalles y procedimiento de correo electrónico alternativo, por ejemplo, Office 365 o GSuite bajo demanda`. 7. **No** usar SMS/texto para comunicar el incidente, a menos que sea para decirle a alguien que se mueva a un canal más seguro. -8. Invite a los intervinientes de guardia/de guardia a la llamada de respuesta y al chat de respuesta. +8. Invite al personal de turno/guardia a la llamada y al chat de respuesta. * Invite al equipo de seguridad. `TODO: Añadir lista de contactos del equipo de seguridad o procedimiento.` - * Invitar a una PYME de los equipos y sistemas afectados. `TODO: Añadir la lista de contactos de la PYME del equipo o el procedimiento.` + * Invitar al SME de los equipos y sistemas afectados. `TODO: Añadir la lista de contactos de la PYME del equipo o el procedimiento.` * Invitar a las partes interesadas ejecutivas y a los asesores jurídicos lo antes posible, pero dar prioridad a los responsables operativos. `TODO: añadir una lista de contactos de las partes interesadas ejecutivas o un procedimiento.` 9. OPCIONAL:_ Establecer una sala de colaboración en persona ("sala de guerra") para incidentes complejos o graves. `TODO: Añadir el procedimiento de la sala de colaboración.` @@ -67,8 +67,8 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h * Enlace externo * Equipo de operaciones * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (PYMES) para sistemas - * PYMES para equipos/unidades de negocio - * PYMES para Funciones Ejecutivas (_por ejemplo_, Legal, RRHH, Finanzas) + * SME para equipos/unidades de negocio + * SME para Funciones Ejecutivas (_por ejemplo_, Legal, RRHH, Finanzas) `TODO: Modificar la estructura de roles según sea necesario`. @@ -85,30 +85,30 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} `TODO: Personalizar la información de contacto del equipo de respuesta. Incluya los procedimientos de contacto en las listas, que pueden ser estáticas o dinámicas.` -## Establecer el ritmo de la batalla +## Establecer el ritmo de batalla -### Realizar la llamada de respuesta inicial +### Realizar la primera llamada de respuesta 1. Realice la llamada inicial utilizando la [estructura de llamada de respuesta inicial](#referencia-estructura-de-la-llamada-de-respuesta-inicial) 2. Siga las instrucciones del Incident Commander. Si el Incident Commander de turno/de guardia no se une a la llamada **dentro de {{INCIDENT_COMMANDER_RESPONSE_SLA}}** y usted es un Incident Commander capacitado, tome el mando de la llamada. 3. Siga las [instrucciones correspondientes a su función](#roles). -4. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, filtre las aportaciones a través del SME de su equipo si es posible. +4. Siga la llamada y el chat, y comente según corresponda. Si no es un SME, comunique las aportaciones a través del SME de su equipo si es posible. 5. **Mantenga la llamada y el chat activos durante todo el incidente para una comunicación basada en eventos.** -6. Programe actualizaciones **cada {{UPDATE_FREQUENCY}}** en el puente activo. +6. Programe actualizaciones **cada {{UPDATE_FREQUENCY}}** sobre la comunicación activa. #### Referencia: Estructura de la llamada de respuesta inicial -* Incident Commander (IC): Mi nombre es [NOMBRE], soy el Incident Commander. He designado a [NOMBRE] como adjunto y a [NOMBRE] como escribiente. ¿Quién está en la llamada? -* SCRIBE: [Toma asistencia] -* IC: [Si falta personal clave] Diputado, por favor llame a [PERSONAL FALTANTE]. -* IC: [Hace preguntas para comprender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del informador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. -* PYMES: [Responde brevemente a las preguntas del IC]. +* Incident Commander (IC): Mi nombre es [NOMBRE], soy el Incident Commander. He designado a [NOMBRE] como adjunto y a [NOMBRE] como esccriba. ¿Quién está en la llamada? +* ESCRIBA: [Toma asistencia] +* IC: [Si falta personal clave] Adjunto, por favor llame a [PERSONAL FALTANTE]. +* IC: [Hace preguntas para comprender la situación, los síntomas, el alcance, el vector, el impacto y el calendario del reportador del incidente, los SME aplicables para los sistemas y las unidades de negocio]. +* SMEs: [Responde brevemente a las preguntas del IC]. * IC: [Si se trata de un incidente]: * En este momento, el resumen del incidente es el siguiente: [reitera el resumen]. El equipo de investigación estará dirigido por [NOMBRE], el equipo de reparación estará dirigido por [NOMBRE] y el equipo de comunicación estará dirigido por [NOMBRE]. Ellos coordinarán la composición del equipo y me informarán. Los miembros del equipo, por favor, informen a su jefe de equipo correspondiente. * ¿Qué medidas de investigación, corrección o comunicación se han tomado ya? [esta debería ser una lista corta, pero tiene que salir ahora] * Esta llamada y el chat permanecerán activos y disponibles hasta el cierre del incidente, por favor, utilícelos para todas las comunicaciones relacionadas con el incidente. Proporcione actualizaciones de estado en tiempo real en el chat, si es posible. ¿Hay alguna pregunta o aportación restante? [responde a las preguntas] * Líderes de equipo, por favor procedan con sus acciones planeadas. Nos reuniremos de nuevo en [UPDATE_TIME] para discutir el estado. Gracias. -* IC: [Si esto no es un incidente]: En este momento, estos hechos no alcanzan el nivel de un incidente. Me coordinaré directamente con el informador del incidente para las acciones de seguimiento. Gracias por su tiempo. +* IC: [Si esto no es un incidente]: En este momento, estos hechos no alcanzan el nivel de un incidente. Me coordinaré directamente con el reportador del incidente para las acciones de seguimiento. Gracias por su tiempo. #### Referencia: Etiqueta de la llamada @@ -160,7 +160,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} * En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. `TODO: Personalizar la estructura de los subequipos si es necesario.` * Crear un puente de llamadas y un chat para cada subequipo. -* El Incident Commander designará a los líderes de los equipos, que dependen del CI, y a los miembros de los equipos, que dependen de su líder. _Los líderes de equipo no tienen que estar formados como Incident Commanders, pero es preferible que tengan alguna experiencia de liderazgo._ +* El Incident Commander designará a los líderes de los equipos, que dependen del IC, y a los miembros de los equipos, que dependen de su líder. _Los líderes de equipo no tienen que estar formados como Incident Commanders, pero es preferible que tengan alguna experiencia de liderazgo._ * El Incident Commander puede ajustar el propósito o el nombre de los subequipos según sea necesario. * Si desea cambiar de equipo, pregunte a su **líder de equipo actual**. **No** pregunte al Incident Commander, o al líder del otro(s) equipo(s). Utilice la cadena de mando. @@ -186,7 +186,7 @@ Si un incidente resulta ser dos o más incidentes distintos: * Compartir la ubicación del archivo del incidente en la llamada y el chat. * `TODO: Personalizar y automatizar la ubicación del archivo y el procedimiento`. 1. Documente el impacto funcional y de la información, si se conoce (véase [Evaluar](#evaluar)). `TODO: Personalizar las categorías de impacto, si es necesario.` -2. Documentar el vector, si se conoce (_por ejemplo_ web, correo electrónico, medios extraíbles). Tarea: Personalizar la lista de vectores, si es necesario. +2. Documentar el vector, si se conoce (_por ejemplo_ web, correo electrónico, medios extraíbles). `TODO: Personalizar la lista de vectores, si es necesario.` 3. Documente el resumen del incidente: un breve resumen del vector, el impacto, la investigación y la situación de la reparación, si se conoce. 4. Documente la línea de tiempo del incidente, incluyendo la actividad del atacante y la actividad de la respuesta. `TODO: Añadir líneas de tiempo con diferentes detalles, según sea necesario.` 5. Documente los pasos de investigación, reparación y comunicación. Documente las actividades de forma independiente para que puedan combinarse y reutilizarse, si es posible. @@ -204,10 +204,10 @@ Si un incidente resulta ser dos o más incidentes distintos: ## Recoger las pistas iniciales -1. Entrevistar a los informadores del incidente. +1. Entrevistar a los reportadores del incidente. 2. Recoger los datos de apoyo iniciales (_e._, alarmas, eventos, datos, suposiciones, intuiciones) en el archivo del incidente. -3. Entrevistar a la(s) PYME con experiencia en el dominio o el sistema, para comprender los detalles técnicos, el contexto y el riesgo. -4. Entrevistar a la(s) PYME de la unidad de negocio afectada, para comprender el impacto de la misión/negocio, el contexto y el riesgo. +3. Entrevistar a lo(s) SME con experiencia en el dominio o el sistema, para comprender los detalles técnicos, el contexto y el riesgo. +4. Entrevistar a lo(s) SME de la unidad de negocio afectada, para comprender el impacto de la misión/negocio, el contexto y el riesgo. 5. Asegúrese de que las pistas son relevantes, detalladas y procesables. ### Referencia: Lista de recursos de respuesta @@ -244,7 +244,7 @@ Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} * **¿Por qué?**: objetivo, momento, acceso a x datos, acceso a y sistema, etc. * **¿Quién?**: atacante, usuarios afectados, clientes afectados, etc.? 1. **Identificar y priorizar los dispositivos y estrategias testigo** para responder a las preguntas clave. - * Consultar los diagramas de la red, los sistemas de gestión de activos y la experiencia de las PYMES + * Consultar los diagramas de la red, los sistemas de gestión de activos y la experiencia de las SME * Consultar la [Lista de recursos de respuesta](#referencia-lista-de-recursos-de-respuesta)) 1. Consulte los [playbook de incidentes](#playbooks) para conocer las preguntas clave, los dispositivos testigos y las estrategias para investigar las amenazas comunes o muy dañinas. @@ -252,22 +252,22 @@ Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} ### Referencia: Táctica del atacante a la matriz de preguntas clave -Táctica del atacante | La forma en que los atacantes ... | Posibles preguntas clave ------------------------ | ----------------------------------------- | ----------------------------------------- -Reconocimiento | ... aprender sobre los objetivos | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? -Desarrollo de recursos | construir infraestructuras. | ¿Qué sistemas? -Acceso inicial | ... entrar | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? -Ejecución | ... ejecutar código hostil | ¿Qué malware? ¿Qué herramientas? ¿Dónde? ¿Cuándo? -Persistencia | ... quédate por aquí | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? -Escalada de Privilegios | ... obtener acceso de mayor nivel | ¿Cómo? ¿Dónde? ¿Qué herramientas? -Evasión de la defensa | ... esquivar la seguridad | ¿Cómo? ¿Dónde? ¿Desde cuándo? -Acceso a credenciales | ... obtener/crear cuentas | ¿Qué cuentas? ¿Desde cuándo? ¿Por qué? -Descubrimiento | ... aprender nuestra red | ¿Cómo? ¿Dónde? ¿Qué saben? -Movimiento lateral | ... moverse | ¿Cómo? ¿Cuándo? ¿Qué cuentas? -Recogida | ... encontrar y reunir datos | ¿Qué datos? ¿Por qué? ¿Cuándo? ¿Dónde? -Mando y control | ... herramientas y sistemas de control | ¿Cómo? ¿Dónde? ¿Quién? ¿Por qué? -Exfiltración | ... tomar datos | ¿Qué datos? ¿Cómo? ¿Cuándo? ¿Dónde? -Impacto |... romper cosas. | ¿Qué sistemas o datos? ¿Cómo? ¿Cuándo? ¿Dónde? ¿Cómo de malo? +Táctica del atacante | La forma en que los atacantes ... | Posibles preguntas clave +----------------------- |----------------------------------------| ----------------------------------------- +Reconocimiento | ... aprender sobre los objetivos | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Desarrollo de recursos | ... construir infraestructuras. | ¿Qué sistemas? +Acceso inicial | ... entrar | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Ejecución | ... ejecutar código hostil | ¿Qué malware? ¿Qué herramientas? ¿Dónde? ¿Cuándo? +Persistencia | ... quedarse en el sistema | ¿Cómo? ¿Desde cuándo? ¿Dónde? ¿Qué sistemas? +Escalada de Privilegios | ... obtener acceso de mayor nivel | ¿Cómo? ¿Dónde? ¿Qué herramientas? +Evasión de la defensa | ... esquivar la seguridad | ¿Cómo? ¿Dónde? ¿Desde cuándo? +Acceso a credenciales | ... obtener/crear cuentas | ¿Qué cuentas? ¿Desde cuándo? ¿Por qué? +Descubrimiento | ... aprender nuestra red | ¿Cómo? ¿Dónde? ¿Qué saben? +Movimiento lateral | ... moverse | ¿Cómo? ¿Cuándo? ¿Qué cuentas? +Recogida | ... encontrar y reunir datos | ¿Qué datos? ¿Por qué? ¿Cuándo? ¿Dónde? +Mando y control | ... herramientas y sistemas de control | ¿Cómo? ¿Dónde? ¿Quién? ¿Por qué? +Exfiltración | ... tomar datos | ¿Qué datos? ¿Cómo? ¿Cuándo? ¿Dónde? +Impacto | ... romper cosas. | ¿Qué sistemas o datos? ¿Cómo? ¿Cuándo? ¿Dónde? ¿Cómo de malo? Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más información e ideas. @@ -278,11 +278,11 @@ Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más * Crear IOCs basados en [pistas iniciales](#recoger-las-pistas-iniciales) y [análisis](#analyze-evidence). * Cree IOCs usando un formato abierto soportado por sus herramientas (_por ejemplo_, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), si es posible. `TODO: Personalizar el formato de los COIs según sea necesario.` * Utilice la automatización, si es posible. `TODO: Añadir un procedimiento de despliegue/revocación de COIs.` -* **No** desplegar "feeds" de COIs no relacionados y no curados, ya que pueden causar confusión y fatiga. -* Considerar todos los tipos de COI: +* **No** desplegar "feeds" de IOCs no relacionados y no curados, ya que pueden causar confusión y fatiga. +* Considerar todos los tipos de IOC: * IOC basados en la red, como direcciones IP o MAC, puertos, direcciones de correo electrónico, contenido o metadatos del correo electrónico, URLs, dominios o patrones PCAP. * IOC basados en el host, como rutas, hashes de archivos, contenido o metadatos de archivos, claves de registro, MUTEXes, autoejecuciones o artefactos y permisos de usuarios. - * COIs basados en la nube, como patrones de registro para despliegues [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) o [IaaS](https://en.wikipedia.org/wiki/Infrastructure_as_a_service) + * IOCs basados en la nube, como patrones de registro para despliegues [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) o [IaaS](https://en.wikipedia.org/wiki/Infrastructure_as_a_service) * IOCs de comportamiento (a.ka., patrones, TTPs) tales como patrones de árbol de procesos, heurística, desviación de la línea base y patrones de inicio de sesión. * Correlacionar varios tipos de IOC, como indicadores basados en la red y en el host en los mismos sistemas. @@ -299,7 +299,7 @@ Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más * Recoger los registros relevantes de los sistemas (si no forman parte de la respuesta en vivo), agregadores, SIEM o consolas de dispositivos. `TODO: Personalizar las herramientas y el procedimiento de recopilación de registros.` * Recoger la imagen de la memoria, si es necesario y si no forma parte de la respuesta en vivo, utilizando {{MEMORY_COLLECTION_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de recogida de memoria.` * Recoger la imagen del disco, si es necesario, utilizando {{DISK_IMAGE_TOOL}}. `TODO: Personalizar la herramienta y el procedimiento de recogida de imágenes de disco.` -* Recoger y almacenar las pruebas de acuerdo con la política, y con la cadena de custodia adecuada. ToDo: Personalizar la política de recogida de pruebas y cadena de custodia. +* Recoger y almacenar las pruebas de acuerdo con la política, y con la cadena de custodia adecuada. `TODO: Personalizar la política de recogida de pruebas y cadena de custodia.` Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ya sea en tiempo real (_por ejemplo_, a través de EDR o un SIEM) o bajo demanda: @@ -434,7 +434,7 @@ Utilice lo siguiente como punto de partida para la remediación de la erradicaci ## Elegir el momento de la reparación -Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de remediación- involucrando al Incident Commander, a los PYMES y propietarios del sistema, a los PYMES y propietarios de la unidad de negocio, y al equipo ejecutivo. Cada estrategia es apropiada en diferentes circunstancias: +Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de remediación- involucrando al Incident Commander, a los SME y propietarios del sistema, a los SMEs y propietarios de la unidad de negocio, y al equipo ejecutivo. Cada estrategia es apropiada en diferentes circunstancias: * Elija la reparación **inmediata** cuando sea más importante detener inmediatamente las actividades del atacante que seguir investigando. Por ejemplo, una pérdida financiera en curso, o un fracaso de la misión en curso, una pérdida de datos activa, o la prevención de una amenaza significativa inminente. * Elija una reparación **retrasada** cuando sea importante completar la investigación o no alertar al atacante. Por ejemplo, el compromiso a largo plazo de un atacante avanzado, el espionaje corporativo o el compromiso a gran escala de un número desconocido de sistemas. From 7050a9af85e3e1fff1119b24be5631859cdebf50 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sat, 4 Jun 2022 12:14:12 +0200 Subject: [PATCH 075/199] =?UTF-8?q?Revisi=C3=B3n=20traducci=C3=B3n=20V1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- after.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/after.md b/after.md index 15d6eee..18d3e74 100644 --- a/after.md +++ b/after.md @@ -12,7 +12,7 @@ Documente las respuestas a las siguientes preguntas clave: 1. **¿Qué ocurrió?** Cree una línea de tiempo, apoyada con datos u otros artefactos. **Evitar las culpas. Busca los hechos.** 1. **¿Qué se suponía que iba a ocurrir?** - * Detallar las desviaciones del proceso, el procedimiento o las mejores prácticas, incluidas las evaluaciones de las PYMES. + * Detallar las desviaciones del proceso, el procedimiento o las mejores prácticas, incluidas las evaluaciones de los SME. * Identifique las formas en que el incidente podría haberse detectado antes o haberse respondido con mayor eficacia. 1. **¿Cuáles fueron las causas fundamentales?** Encuentre la raíz de lo que ocurrió y de lo que debería haber ocurrido. 1. **¿Cómo podemos mejorar?** Capture los elementos de acción con asignados y fechas de vencimiento. Considerar: From 7bf106f9076f99b1b999e12928e2d3f4ba6f1a48 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sat, 4 Jun 2022 12:27:20 +0200 Subject: [PATCH 076/199] =?UTF-8?q?Revisi=C3=B3n=20traducci=C3=B3n=20V1=5F?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test.md b/test.md index 61e3b17..ae35828 100644 --- a/test.md +++ b/test.md @@ -1,3 +1,3 @@ {{AUTHOR_NAME}} -more test data. +more test data From 89b8a31761b759ed3b38de8ede1324acdbc158a5 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sat, 4 Jun 2022 13:07:31 +0200 Subject: [PATCH 077/199] =?UTF-8?q?Revisi=C3=B3n=20traducci=C3=B3n=20V1=5F?= =?UTF-8?q?2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/info.yml b/info.yml index 994eea8..5902a3d 100644 --- a/info.yml +++ b/info.yml @@ -6,7 +6,7 @@ COMPANY_NAME: '{{COMPANY_NAME}}' # Name and email of plan author (e.g., Chris) -AUTHOR_NAME: 'Angel Manuel Aragón' +AUTHOR_NAME: '{{AUTHOR_NAME}}'' # Email of plan author (e.g., contact@counteractive.net) AUTHOR_EMAIL: '{{AUTHOR_EMAIL}}' From 95e3dac6d903aa9c54d51bcc07716042ef9f626a Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sun, 5 Jun 2022 10:24:04 +0200 Subject: [PATCH 078/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20de=20pandoc.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pandoc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandoc.yml b/pandoc.yml index ffb19ba..5696195 100644 --- a/pandoc.yml +++ b/pandoc.yml @@ -3,7 +3,7 @@ title: 'Plan de respuesta a incidentes para {{COMPANY_NAME}}' author: 'Autor: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}}' date: 'Revisión {{REVISION_NUMBER}}, Publicado {{RELEASE_DATE}}' abstract: | - This incident response plan is based on the concise, directive, specific, flexible, and free plan available on Counteractive Security's [Github](https://github.com/counteractive/incident-response-plan-template) and discussed at [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) + Este plan de respuesta a incidentes está basado en el plan conciso, directivo, específico, flexible y gratuito disponible [Github](https://github.com/counteractive/incident-response-plan-template) de Counteractive Security's y discutido en [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. # geometry: margin=1.5in From 0f1175b63b407ac0ac291acd3a0747cb3edf80ae Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sun, 5 Jun 2022 12:34:08 +0200 Subject: [PATCH 079/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20V1=20playbook-defacement.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/playbook-defacement.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/playbooks/playbook-defacement.md b/playbooks/playbook-defacement.md index 256a725..93acc85 100644 --- a/playbooks/playbook-defacement.md +++ b/playbooks/playbook-defacement.md @@ -2,14 +2,14 @@ ## Playbook: Desaparición de sitios web **Investigar, remediar (contener, erradicar) y comunicar en paralelo!** -Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. +Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. ### Investigar -1. Desconecte inmediatamente el servidor desfigurado para investigarlo. +1. Desconecte inmediatamente el servidor desconfigurado para investigarlo. * Esto es especialmente importante si la desfiguración es insultante o provocadora de algún modo. Elimine esto de la vista del público tan pronto como sea posible para evitar daños, así como para mitigar el impacto del negocio. * El mensaje de desfiguración también puede contener información falsa que podría confundir a los usuarios o ponerlos en peligro. - * Desconectar el servidor permitirá una investigación más profunda de la desfiguración. Esto puede ser necesario, ya que el hacker puede haberse adentrado en la organización accediendo a servidores de aplicaciones, bases de datos, etc. + * Desconectar el servidor permitirá una investigación más profunda de la desfiguración. Esto puede ser necesario, ya que el ciberdelincuente puede haberse adentrado en la organización accediendo a servidores de aplicaciones, bases de datos, etc. 2. Determine el origen de la vulnerabilidad del sistema que ha utilizado el atacante. Los exploits más comunes son: * Ataques de inyección SQL * Este tipo de ataque se produce cuando un atacante interfiere en las consultas de una aplicación a la base de datos. Por lo tanto, esto puede conducir a un acceso no autorizado a datos privados o sensibles. Lea más sobre los ataques de inyección SQL [aquí](https://www.acunetix.com/websitesecurity/sql-injection/) @@ -28,12 +28,12 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuan * Comprobar los archivos con contenido estático * Escanear las bases de datos en busca de contenido malicioso * Comprobación de los enlaces presentes en la página -3. Recoge cualquier pista sobre quién es el hacker o para qué organización trabaja. Considera las siguientes preguntas: +3. Recoge cualquier pista sobre quién es el ciberdelincuente o para qué organización trabaja. Considera las siguientes preguntas: * ¿Qué representa la desfiguración? ¿Incluía un mensaje obvio? - * ¿Parece que la desfiguración es inofensiva o intencionada? ¿Podría ser el hacker un niño jugando o un grupo profesional que trabaja con un motivo? + * ¿Parece que la desfiguración es inofensiva o intencionada? ¿Podría ser el ciberdelincuente un niño jugando o un grupo profesional que trabaja con un motivo? * ¿Parece que su organización haya sido el objetivo? ¿Quién podría querer atacar a su organización? - * ¿Qué esperaba conseguir el hacker? - * Consulta [aquí](https://www.geeksforgeeks.org/types-of-hackers/) para saber más sobre los tipos de hackers que pueden haber atacado tu página web. + * ¿Qué esperaba conseguir el ciberdelincuente? + * Consulta [aquí](https://www.geeksforgeeks.org/types-of-hackers/) para saber más sobre los tipos de ciberdelincuentes que pueden haber atacado tu página web. 4. Recoge otra información importante de la página que ha sido desfigurada, como por ejemplo * una captura de pantalla de la desfiguración * el dominio y la dirección IP de la página @@ -76,7 +76,7 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuan `TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación` -1. Elimine el mensaje del hacker y reemplácelo por el contenido original y legítimo. Si se han perdido datos en el ataque, consulte las copias de seguridad y restaure la página original en la medida de lo posible. +1. Elimine el mensaje del ciberdelincuente y reemplácelo por el contenido original y legítimo. Si se han perdido datos en el ataque, consulte las copias de seguridad y restaure la página original en la medida de lo posible. * Compruebe las copias de seguridad en busca de indicadores de compromiso * Considere la recuperación parcial y la prueba de integridad de las copias de seguridad 2. Considere pedir a los usuarios que cambien sus credenciales de acceso si el servidor web tiene autenticación de usuario. @@ -88,7 +88,7 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuan `TODO: Comuníquese con otros empleados para asegurarse de que todos entienden y contribuyen a los siguientes pasos, cuando sea aplicable`. 1. Utilice el menor número de plug-ins posible. Los piratas informáticos tienen como objetivo los sitios web que son vulnerables y tienen muchas fuentes de entrada. Puedes limitar estas fuentes de entrada utilizando sólo lo que necesites y eliminando los plug-ins y el software que no utilices o sean antiguos. También es importante actualizarlos lo antes posible. -2. Controle de cerca y ordene el acceso a los contenidos administrativos. Permita que las personas accedan sólo a lo que necesitan. Esto reducirá la posibilidad de que un error humano provoque un ciberataque. Hay más métodos de prevención DIY mencionados en [este artículo](https://cirt.gy/index.php/node/116) (pasos 6-12) y en el recurso #4 al final de este libro de jugadas. +2. Controle de cerca y ordene el acceso a los contenidos administrativos. Permita que las personas accedan sólo a lo que necesitan. Esto reducirá la posibilidad de que un error humano provoque un ciberataque. Hay más métodos de prevención DIY mencionados en [este artículo](https://cirt.gy/index.php/node/116) (pasos 6-12) y en el recurso #4 al final de este playbook. 3. Comprueba regularmente si hay malware en tu sitio web escaneando el código fuente. Busca scripts, iframes o URLs que te parezcan desconocidos y asegúrate de escanear también las URLs que sí te resulten familiares. 4. Hay muchos escáneres automáticos de sitios web de gran reputación que no le costarán nada de su tiempo y escanearán a fondo su sitio en busca de vulnerabilidades con regularidad. Aquí hay un [enlace a escáneres populares](https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref). 5. Defiéndase contra los puntos comunes de explotación, como las inyecciones SQL y los ataques XSS. [Este artículo](https://www.banffcyber.com/knowledge-base/articles/best-practices-address-issue-web-defacement/) incluye las mejores prácticas para defender estos ataques. @@ -122,7 +122,7 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuan 1. [Aplicación de la ley local](#TODO-link-to-actual-resource) 1. 1. [Aplicación de la ley a nivel estatal o regional](#TODO-link-to-actual-resource) 1. 1. [Fuerzas de seguridad federales o nacionales](#TODO-link-to-actual-resource) -1. Comuníquese con los proveedores de seguridad y de TI TODO: Vincule las siguientes viñetas con los recursos reales de su organización +1. Comuníquese con los proveedores de seguridad y de TI `TODO: Vincule las siguientes viñetas con los recursos reales de su organización` 1. Notifique y colabore con [proveedores gestionados](#TODO-link-to-actual-resource) según el procedimiento 1. 2. Notificar y colaborar con [consultores de respuesta a incidentes](#TODO-link-to-actual-resource) por procedimiento From 33be35a44d9be147b6402e798ee993f7f5d84764 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sun, 5 Jun 2022 12:34:31 +0200 Subject: [PATCH 080/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20glossary.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/glossary.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/glossary.md b/reference/glossary.md index 74b05f3..8327e4d 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -2,12 +2,12 @@ # Glosario 1. **El Incident Commander es la persona responsable de resolver cualquier incidente grave. Es la persona de mayor rango en cualquier llamada de incidente mayor, independientemente de su rango diario. Sus decisiones como comandante son definitivas.** -1. **El adjunto:** Normalmente es el CI de apoyo. El trabajo del ayudante es apoyar al CI durante la llamada, proporcionándole cualquier ayuda que necesite. +1. **El adjunto:** Normalmente es el IC de apoyo. El trabajo del ayudante es apoyar al IC durante la llamada, proporcionándole cualquier ayuda que necesite. 1. **Escriba:** El trabajo del escriba es mantener un registro de todas las actividades realizadas durante la llamada en un registro de chat escrito en Slack. -1. **Resolver:** Una persona en la llamada de incidentes que es capaz de ayudar a resolver problemas dentro de un sistema particular. También se le conoce como PYME (ver más abajo). -1. **SME:** "Subject Matter Expert", alguien que es un experto en un servicio o tema particular que puede proporcionar información al CI, y realizar acciones de resolución para un sistema en particular. +1. **Resolver:** Una persona en la llamada de incidentes que es capaz de ayudar a resolver problemas dentro de un sistema particular. También se le conoce como SME (ver más abajo). +1. **SME:** "Subject Matter Expert", alguien que es un experto en un servicio o tema particular que puede proporcionar información al IC, y realizar acciones de resolución para un sistema en particular. 1. **Personal de mando:** El personal de mando está formado por el comandante del incidente, el ayudante y el escriba. -1. **Informe CAN:** CAN significa "Condiciones" "Acciones" "Necesidades", si un CI le pide un informe CAN, debe proporcionar el estado actual de su servicio (condición), qué acciones hay que tomar para devolverlo a un estado saludable (acciones), y qué apoyo necesita para realizar las acciones (necesidades). -1. **Espacio de control:** Se refiere al número de informes directos que tiene. Por ejemplo, si el CI tiene 10 personas como informes directos en una convocatoria, tiene un gran rango de control. Nuestro objetivo es que el rango de control sea el mínimo posible sin dejar de ser productivo. +1. **Informe CAN:** CAN significa "Condiciones" "Acciones" "Necesidades", si un IC le pide un informe CAN, debe proporcionar el estado actual de su servicio (condición), qué acciones hay que tomar para devolverlo a un estado saludable (acciones), y qué apoyo necesita para realizar las acciones (necesidades). +1. **Espacio de control:** Se refiere al número de informes directos que tiene. Por ejemplo, si el IC tiene 10 personas como informadores directos en una convocatoria, tiene un gran rango de control. Nuestro objetivo es que el rango de control sea el mínimo posible sin dejar de ser productivo. 1. **Lanzagranadas:** Alguien que se une a la llamada en un momento tardío del juego, y proporciona información que desbarata completamente el pensamiento actual. A continuación, se marchan casi inmediatamente. 1. **Golpe Ejecutivo:** Cuando un ejecutivo entra en la convocatoria y suelta algún tipo de bomba. Una versión del lanzamiento de granadas. From 73642ab2c88f6f09f415dd2727985c9383d680af Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sun, 5 Jun 2022 13:10:58 +0200 Subject: [PATCH 081/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20playbook-ransomware.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/playbook-ransomware.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/playbooks/playbook-ransomware.md b/playbooks/playbook-ransomware.md index af944ac..b4312d3 100644 --- a/playbooks/playbook-ransomware.md +++ b/playbooks/playbook-ransomware.md @@ -13,20 +13,20 @@ Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando s 1. Encuentre cualquier mensaje relacionado. Compruebe: * las interfaces gráficas de usuario (GUI) del propio malware * archivos de texto o html, que a veces se abren automáticamente tras el cifrado - * image files, often as wallpaper on infected systems - * contact emails in encrypted file extensions - * pop-ups after trying to open an encrypted file - * voice messages + * archivos de imange, a menudo, como fondos de pantalla del sistema infectado + * correos electrónicos de contacto en extensiones de archivo encriptadas + * ventanas emergentes después de intentar abrir un archivo encriptado + * mensajes de voz 1. Analice los mensajes en busca de pistas sobre el tipo de ransomware: * nombre del ransomware * lenguaje, estructura, frases, material gráfico * correo electrónico de contacto * formato de la identificación del usuario - * especificaciones de la demanda de rescate (_e._, moneda digital, tarjetas de regalo) + * especificaciones de la demanda de rescate (_p.ej._, moneda digital, tarjetas de regalo) * dirección de pago en caso de moneda digital * chat de soporte o página de soporte 1. Analice los archivos afectados y/o nuevos. Compruebe: - * el esquema de cambio de nombre de los archivos encriptados, incluyendo la extensión (_e.g._, `.cry`, `.cry`, `.locked`) y el nombre base + * el esquema de cambio de nombre de los archivos encriptados, incluyendo la extensión (_p.ej._, `.cry`, `.cry`, `.locked`) y el nombre base * corrupción de archivos frente a encriptación * Tipos de archivos y ubicaciones objetivo * usuario/grupo propietario de los archivos afectados @@ -34,32 +34,31 @@ Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando s * marcadores de archivos * existencia de listados de archivos, archivos clave u otros archivos de datos - 1. Analice los tipos de software o sistemas afectados. Algunas variantes de ransomware sólo afectan a determinadas herramientas (_e.g._, [databases](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) or platforms (_e.g._, [NAS products](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) + 1. Analice los tipos de software o sistemas afectados. Algunas variantes de ransomware sólo afectan a determinadas herramientas (_p.ej._, [databases](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) or platforms (_e.g._, [NAS products](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) 1. Subir los indicadores a servicios de categorización automatizados como [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php), [ID Ransomware](https://id-ransomware.malwarehunterteam.com/), o similar. 1. **Determinar el alcance:** 1. ¿Qué sistemas están afectados? `TODO: Especificar herramientas y procedimientos` * Busque indicadores de compromiso (IOC), como archivos/hashes, procesos, conexiones de red, etc. Utilice [endpoint protection/EDR](#TODO-link-to-actual-resource), [endpoint telemetry](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), etc. * Comprobar la infección de sistemas similares (_por ejemplo, usuarios, grupos, datos, herramientas, departamento, configuración, estado de los parches): comprobar [IAM tools](#TODO-link-to-actual-resource), [permissions management tools](#TODO-link-to-actual-resource), [directory services](#TODO-link-to-actual-resource), _etc._ * Find external command and control (C2), if present, and find other systems connecting to it: check [firewall or IDS logs](#TODO-link-to-actual-resource), [system logs/EDR](#TODO-link-to-actual-resource), [DNS logs](#TODO-link-to-actual-resource), [netflow or router logs](#TODO-link-to-actual-resource), _etc._ - 1. ¿Qué datos están afectados? (_e._, tipos de archivo, departamento o grupo, software afectado) `TODO: Especifique la(s) herramienta(s) y el procedimiento`. + 1. ¿Qué datos están afectados? (_e.g._, tipos de archivo, departamento o grupo, software afectado) `TODO: Especifique la(s) herramienta(s) y el procedimiento`. * Buscar cambios anómalos en los metadatos de los archivos, como cambios masivos en las horas de creación o modificación. Comprobar [herramientas de búsqueda de metadatos de archivos](#TODO-link-to-actual-resource) - * Buscar cambios en archivos de datos normalmente estables o críticos. Comprobar [supervisión de la integridad de los archivos](#TODO-link-to-actual-resource) tools + * Buscar cambios en archivos de datos normalmente estables o críticos. Comprobar las herramientas de [supervisión de la integridad de los archivos](#TODO-link-to-actual-resource) 1. **Evaluar el impacto** para priorizar y motivar los recursos 1. Evaluar el impacto funcional: impacto en la empresa o en la misión. * ¿Cuánto dinero se pierde o está en riesgo? * ¿Cuántas (y cuáles) misiones se degradan o están en riesgo? 1. Evaluar el impacto en la información: impacto en la confidencialidad, integridad y disponibilidad de los datos. * ¿Qué importancia tienen los datos para la empresa/misión? - * ¿Cuán sensibles son los datos? (_p. ej., secretos comerciales) - * ¿Cuál es la situación reglamentaria de los datos (por ejemplo, PII, PHI)? + * ¿Cuán sensibles son los datos? (_p.ej._, secretos comerciales) + * ¿Cuál es la situación reglamentaria de los datos (_p.ej._, PII, PHI)? 1. **Encuentra el vector de infección.** Comprueba las tácticas capturadas en la [Initial Access tactic](https://attack.mitre.org/tactics/TA0001/) of MITRE ATT&CK[[4]](#ransomware-playbook-ref-4). Los datos más comunes y las fuentes de datos son: * archivo adjunto de correo electrónico: comprobar [email logs](#TODO-link-to-actual-resource), [email security appliances and services](#TODO-link-to-actual-resource), [e-discovery tools](#TODO-link-to-actual-resource), _etc._ * insecure remote desktop protocol (RDP): check [vulnerability scanning results](#TODO-link-to-actual-resource), [firewall configurations](#TODO-link-to-actual-resource), _etc._ * auto-propagación (worm or virus) (check [host telemetry/EDR](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), [forensic analysis](#TODO-link-to-actual-resource), _etc._) - * -### Remediate +### Remediar **Planificar eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. **Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. From 25b275b020710941c2a673648e7159a732f2bea1 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sun, 5 Jun 2022 13:15:49 +0200 Subject: [PATCH 082/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20playbook-supply-chain.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/playbook-supply-chain.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/playbooks/playbook-supply-chain.md b/playbooks/playbook-supply-chain.md index 0f9b941..f77902a 100644 --- a/playbooks/playbook-supply-chain.md +++ b/playbooks/playbook-supply-chain.md @@ -7,7 +7,7 @@ Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando s ### Investigar -Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la cadena de suministro. +`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la cadena de suministro.` 1. TODO @@ -18,9 +18,9 @@ Tarea: Ampliar los pasos de la investigación, incluyendo las preguntas y estrat #### Contención -Tarea: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la cadena de suministro. +`TODO: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la cadena de suministro.` -TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación. +`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación.` *TODO @@ -28,9 +28,9 @@ TODO: Especifique las herramientas y los procedimientos para cada paso, a contin #### Erradicar -TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la cadena de suministro. +`TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la cadena de suministro.` -TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación. +`TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación.` * TODO From 17ddd3201ca071f5b295cf5c6282cf5ecac38ad2 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Sun, 5 Jun 2022 18:06:44 +0200 Subject: [PATCH 083/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20de=20ROLES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/index.md | 8 ++--- roles/role-0-all-participants.md | 18 +++++------ roles/role-1-commander.md | 52 ++++++++++++++++---------------- roles/role-2-deputy.md | 14 ++++----- roles/role-3-scribe.md | 6 ++-- roles/role-4-expert.md | 10 +++--- roles/role-5-liaison.md | 8 ++--- 7 files changed, 58 insertions(+), 58 deletions(-) diff --git a/roles/index.md b/roles/index.md index b2fb499..ecb5e0f 100644 --- a/roles/index.md +++ b/roles/index.md @@ -14,9 +14,9 @@ A continuación se presentan las descripciones, los deberes y la formación para * Enlace Interno [Enlace](#rol-enlace) * Enlace externo * Equipo de Operaciones - * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (PYMES) para Sistemas - * PYMES para equipos/unidades de negocio - * PYMES para las funciones ejecutivas (_e.j._, Legal, RRHH, Finanzas) + * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (SMEs) para Sistemas + * SMEs para equipos/unidades de negocio + * SMEs para las funciones ejecutivas (_p.ej._, Legal, RRHH, Finanzas) En el caso de incidentes complejos de mayor envergadura, la estructura de funciones puede ajustarse para tener en cuenta la creación de subequipos. Para más información, lea cómo gestionamos los [Incidentes Complejos](/before/complex_incidents.md). Esta es una **estructura flexible**: cada rol no será ocupado por una persona diferente para cada incidente. Por ejemplo, en un incidente pequeño, el adjunto podría actuar como escribiente y enlace interno. La estructura es flexible y se adapta al incidente. @@ -29,6 +29,6 @@ En las llamadas de respuesta a Incidentes ("tiempos de guerra"), una estructura * Los primeros intervinientes (las personas que actúan como primeros intervinientes de un equipo/servicio) son las personas de mayor rango de ese servicio. * Las decisiones serán tomadas por el IC tras considerar la información presentada. Una vez tomada la decisión, es definitiva. * El IC puede tomar decisiones más arriesgadas que las que normalmente se considerarían en tiempos de paz. -* El IC puede ir en contra de una decisión consensuada. Si se hace una encuenta, y 9/10 personas están de acuerdo pero 1 está en desacuerdo. El IC puede elegir la opción del desacuerdo a pesar del voto de la mayoría. Aunque no esté de acuerdo, la decisión del IC es definitiva. Durante la convocatoria no es el momento de discutir con ellos. +* El IC puede ir en contra de una decisión consensuada. Si se hace una encuesta, y 9/10 personas están de acuerdo pero 1 está en desacuerdo. El IC puede elegir la opción del desacuerdo a pesar del voto de la mayoría. Aunque no esté de acuerdo, la decisión del IC es definitiva. Durante la convocatoria no es el momento de discutir con ellos. * El IC puede utilizar un lenguaje o comportarse de una manera que usted considere grosera. Esto es tiempo de guerra, y necesitan hacer lo que sea necesario para resolver la situación, por lo que a veces se producen groserías. Esto no es personal, y es algo que debes estar preparado para experimentar si nunca has estado en una situación de guerra. * Es posible que el IC te pida que abandones la llamada, o incluso que te eche a la fuerza de una llamada. Esto queda a discreción del IC si considera que no estás aportando nada útil. De nuevo, esto no es personal y debes recordar que los tiempo de guerra son diferentes a los tiempo de paz. diff --git a/roles/role-0-all-participants.md b/roles/role-0-all-participants.md index e9821d2..e213732 100644 --- a/roles/role-0-all-participants.md +++ b/roles/role-0-all-participants.md @@ -10,16 +10,16 @@ Todos los participantes en la respuesta a un incidente tienen la responsabilidad #### Exhibir la etiqueta de la llamada * Participar tanto en la llamada como en el chat. -* Mantenga el ruido de fondo al mínimo. -* Mantenga el micrófono silenciado hasta que tenga algo que decir. -* Identifíquese cuando entre en la llamada; diga su nombre y su función (por ejemplo, "Soy el SME del equipo x"). -* Habla con claridad. -* Sea directo y objetivo. -* Mantenga las conversaciones/debates breves y al grano. +* Mantener el ruido de fondo al mínimo. +* Mantener el micrófono silenciado hasta que tenga algo que decir. +* Identifícarse cuando entre en la llamada; diga su nombre y su función (por ejemplo, "Soy el SME del equipo x"). +* Hablar con claridad. +* Ser directo y objetivo. +* Mantener las conversaciones/debates breves y al grano. * Comunicar cualquier preocupación al Incident Commander (IC) en la llamada. * Respetar las limitaciones de tiempo dadas por el Incident Commander. -* Si te unes a un solo canal (llamada o chat), no participes activamente, ya que provoca una comunicación inconexa. -* **Utilice una terminología clara y evite acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** +* Si te unes a un solo canal (llamada o chat), no participar activamente, ya que provoca una comunicación inconexa. +* **Utilizar una terminología clara y evitar usar acrónimos o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** ##### Referencia: Procedimiento común de voz @@ -45,4 +45,4 @@ El Incident Commander (IC) es el líder del proceso de respuesta al incidente. ### Capacitación -Lee y entiende el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. +Lee y entiende el plan de respuesta a incidentes, incluyendo los roles y los libros de jugadas. \ No newline at end of file diff --git a/roles/role-1-commander.md b/roles/role-1-commander.md index d194a2a..7e7c614 100644 --- a/roles/role-1-commander.md +++ b/roles/role-1-commander.md @@ -2,65 +2,65 @@ ## Rol: Incident Commander ### Descripcion -El Incident Commander(IC) actua como la unica fuente de lo que realmente esta ocurriendo y va a ocurrir durante un incidente grave. El JI es el individuo con mayor ranking en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que estan tratando para resolver el incidente. Las decisiones tomadas por el el Incident commander las decisivas. +El Incident Commander(IC) actua como la única fuente de lo que realmente está ocurriendo y va a ocurrir durante un incidente grave. El IC es el individuo con mayor rango en cualquier llamada de incidente, sin importar el rango en el dia a dia. Ellos son los que toman decisiones durante un incidente; delegan tareas y prestan atencion a expertos en la materia que están tratando para resolver el incidente. Las decisiones tomadas por el Incident commander las decisivas. -Tu trabajo como Incident commander evaluar la situacion, proveer un guiado claro y cordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios** delega estos trabajos. +Tu trabajo como Incident commander evaluar la situación, proveer un guiado claro y coordinado, contratar otros trabajadores para recolectar contexto/detalles.**No realizar investigaciones o remedios**, delega estos trabajos. ### Deberes -Resuelve el incidente lo mas rapido y seguro posible usando el plan de respuesta de incidentes como plantilla de trabajo: guia al equipo de investigacion, remedio, comunicación. Utiliza al diputado para que te ayude, y delegue a relevantes enlaces y expertos a tu discreción. +Resuelve el incidente lo más rápido y seguro posible usando el plan de respuesta de incidentes como plantilla de trabajo: guia al equipo de investigacion, remedio, comunicación. Utiliza al adjunto para que te ayude, y delegue a relevantes enlaces y expertos a tu discreción. -1. Ayuda a preparos para incidentes, - * Establecer canales de comunicacion para incidentes. - * Redirige a las personas hacia estos canales de comunicacion cuando acurra algun incidente grave. +1. Ayuda a prepararos para los incidentes, + * Establecer canales de comunicación para incidentes. + * Redirige a las personas hacia estos canales de comunicación cuando acurra algún incidente grave. * Entrena a miembros del equipo sobre como comunicarte durante incidentes y entrena a otros Incident Commanders. -1. Dirige los incidentes hacia una solucion, - * Lleva a todos al mismo canal de comunicacion. - * Recolecta informacion de los miembros del equipo por sus servicios de estatus. - * Recolecta propuestas de reparacion de acciones, despues recomienda acciones de reparacion para que se lleven acabo. - * Delega todas la acciones de reparacion, el Incident Commander no es un resolutor. - * Se la unica fuente de autoridad en el estado del sistema. +1. Dirige los incidentes hacia una solución, + * Lleva a todos al mismo canal de comunicación. + * Recolecta información de los miembros del equipo por sus servicios de estatus. + * Recolecta propuestas de reparación de acciones, después recomienda acciones de reparación para que se lleven a cabo. + * Delega todas la acciones de reparación, el Incident Commander no es un resolvedor. + * Es la única fuente de autoridad en el estado del sistema. 1. Facilita las llamadas y reuniones, - * Gana concenso (Realiza encuentas durante las llamadas) + * Gana consenso (Realiza encuestas durante las llamadas) * Proporciona actualizaciones de estatus * Reduce el alcance (despedir a los asistentes cuando sea posible) * Spin off sub-equipos * Transfiere el control cuando sea necesario * Firmar las llamadas * Mantener el orden - * Obten respuestas directas - * Manejar las caidas de ejecutivos como + * Obtén respuestas directas + * Manejar las caídas de ejecutivos como * Anular al Incident Commander * Desmotivación - * Peticion de informacion + * Petición de información * Cuestionar la severidad * Manejar respuestas perturbadoras o beligerantes 1. Post Mortem, - * Crear la plantilla inicial justo despues del incidente para que las personas puedan escribir sus opiniones mientras estan frescas. - * Asignar el post-mortem despues de que el evento termine, esto puede darse despues de terminar la llamada. - * Trabaja con los manager o jefes de equipo para organizar acciones preventivas. + * Crear la plantilla inicial justo después del incidente para que las personas puedan escribir sus opiniones mientras están frescas. + * Asignar el post-mortem después de que el evento termine, esto puede darse después de terminar la llamada. + * Trabaja con los gerentes o jefes de equipo para organizar acciones preventivas. -El Incident Commander utiliza metodos y lenguajes adicionales: +El Incident Commander utiliza métodos y lenguajes adicionales: -* Siempre anuncie cuando se una a la llamada si es el JI de guardia. +* Siempre anuncie cuando se una a la llamada si es el IC de guardia. * **No** permita que las discusiones se salgan de control. Mantenga las conversaciones cortas. * Tenga en cuenta las objeciones de los demás, pero tu decision es la definitiva. -* Si alguien está interrumpiendo activamente tu decision, expulsalo. +* Si alguien está interrumpiendo activamente tu decision, expúlsalo. * Anuncia el final de la llamada. * Después de un incidente, comuníquese con otros Incident Commander sobre cualquier acción que considere necesaria. **Utilice una terminología clara y evite las siglas o abreviaturas. La claridad y la precisión son más importantes que la brevedad.** -### Practicas +### Prácticas * Lea el plan de respuesta a incidentes, incluidos todos los roles y manuales. * Participar en un ejercicio de respuesta a incidentes. * Seguir a un Incident Commander actual sin participar activamente, manteniendo sus preguntas hasta el final. -* Tomar la iniciativa de un Incident Commander. Responda a incidentes con el JI actual allí para hacerse cargo si es necesario. -* _OPCIONAL:_ facilitar las practicas +* Tomar la iniciativa de un Incident Commander. Responda a incidentes con el IC actual allí para hacerse cargo si es necesario. +* _OPCIONAL:_ facilitar las prácticas * _OPCIONAL:_ recurre a [Incident Responders as Facilitators (and Therapists)](#FIX) y al [PagerDuty Incident Commander training](https://response.pagerduty.com/training/incident_commander/) para mas ideas y discussiones. -#### prerequisitos +#### pre-requisitos No hay requisitos previos de antigüedad o unidad de negocios para convertirse en Incident Commander, es un rol abierto a cualquier persona con la capacitación y la capacidad. Antes de que pueda ser un Incident Commander, se espera que cumpla con los siguientes criterios: diff --git a/roles/role-2-deputy.md b/roles/role-2-deputy.md index 3e20d59..6015305 100644 --- a/roles/role-2-deputy.md +++ b/roles/role-2-deputy.md @@ -1,20 +1,20 @@ -## Rol: Delegado del Incident Commander (Subdelegado) +## Rol: adjunto del Incident Commander (adjunto) ### Descripción -Un Subdelegado de Incidentes (Subdelegado es un papel de apoyo directo al Incident Commander (IC). El subdelegado permite que el JII se centre en el problema que tiene entre manos, en lugar de preocuparse por documentar los pasos o controlar los temporizadores. El Subdelegado apoya al IC y lo mantiene centrado en el incidente. Como Subdelegado, se espera que asuma el mando del IC si éste lo solicita. +Un adjunto del Incident Commander (adjunto) es un papel de apoyo directo al Incident Commander (IC). El adjunto permite que el IC se centre en el problema que tiene entre manos, en lugar de preocuparse por documentar los pasos o controlar los tiempos. El adjunto apoya al IC y lo mantiene centrado en el incidente. Como adjunto, se espera que asuma el mando del IC si éste lo solicita. ### Funciones -1. 1. Plantear al Incident Commander cuestiones que, de otro modo, no se abordarían (vigilar los temporizadores que se han puesto en marcha, dar vueltas a los elementos que se han perdido en una toma de lista, etc.). -1. 1. Ser un Incident Commander "de reserva", en caso de que el jefe principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de JI. +1. 1. Plantear al Incident Commander cuestiones que, de otro modo, no se abordarían (vigilar los temporizadores que se han puesto en marcha, retomar los elementos que se han perdido de una lista, etc.). +1. 1. Ser un Incident Commander "de reserva", en caso de que el jefe principal tenga que hacer la transición a un SME, o tenga que alejarse de la función de IC. 1. 1. Gestionar la llamada del incidente y estar preparado para retirar a las personas de la llamada si así lo indica el Incident Commander. -1. Supervisar el estado del incidente y notificar al JI si el nivel de gravedad del incidente aumenta. +1. Supervisar el estado del incidente y notificar al IC si el nivel de gravedad del incidente aumenta. 1. Supervise los temporizadores: * controlar el tiempo que ha durado el incidente - * Notificar al JI cada X minutos para que pueda tomar medidas (por ejemplo, "JI, el incidente está ahora en la marca de 10 minutos"). -1. Supervisar los plazos de las tareas (p. ej., "JI, avisa de que el temporizador de la investigación de [TEAM] se ha agotado"). + * Notificar al IC cada X minutos para que pueda tomar medidas (por ejemplo, "IC, el incidente está ahora en la marca de 10 minutos"). +1. Supervisar los plazos de las tareas (_p.ej._, "IC, avisa de que el temporizador de la investigación de [TEAM] se ha agotado"). ### Formación diff --git a/roles/role-3-scribe.md b/roles/role-3-scribe.md index e7ce8f3..e35408d 100644 --- a/roles/role-3-scribe.md +++ b/roles/role-3-scribe.md @@ -10,9 +10,9 @@ Un escriba documenta la línea de tiempo de un incidente a medida que avanza, y 1. Asegurarse de que la llamada del incidente se está grabando. 1. 2. Anotar en el chat y en la línea de tiempo del expediente: los datos, eventos y acciones importantes, a medida que se producen. Específicamente: * Acciones clave a medida que se llevan a cabo - * Informes de estado cuando el CI los proporcione + * Informes de estado cuando el IC los proporcione * Cualquier llamada clave durante la llamada o en la revisión final -1. Actualice el chat indicando quién es el CI, quién es el adjunto y que usted es el escribiente (si no lo ha hecho ya). +1. Actualice el chat indicando quién es el IC, quién es el adjunto y que usted es el escribiente (si no lo ha hecho ya). Escribir es más un arte que una ciencia. El objetivo es mantener un registro preciso de los eventos importantes que ocurrieron, Usa tu juicio y experiencia. Pero aquí hay algunas cosas generales que definitivamente querrás capturar como escribiente. @@ -26,7 +26,7 @@ Lea y comprenda el plan de respuesta a incidentes, incluyendo los roles y los li #### Requisitos previos * Excelentes habilidades de **comunicación verbal y escrita**. -* Cualquiera puede actuar como escribiente durante un incidente, y son elegidos por el Comandante de Incidentes al inicio de la llamada. +* Cualquiera puede actuar como escribiente durante un incidente, y son elegidos por el Incident Commander al inicio de la llamada. * Normalmente, el ayudante actuará como escribiente. #### Proceso de formación diff --git a/roles/role-4-expert.md b/roles/role-4-expert.md index 28f605a..b1476bb 100644 --- a/roles/role-4-expert.md +++ b/roles/role-4-expert.md @@ -3,15 +3,15 @@ ### Descripción -Un experto en la materia (SME) es un experto en el dominio o propietario designado de un equipo, componente o servicio (un "área"). Está ahí para apoyar al Incident Commander en la identificación de la causa del incidente, sugiriendo y evaluando las acciones de investigación, remediación y comunicación, y realizando el seguimiento de las mismas según se le encomiende. +Un experto en la materia (SME) es un experto en el dominio o responsable designado de un equipo, componente o servicio (un "área"). Está ahí para apoyar al Incident Commander en la identificación de la causa del incidente, sugiriendo y evaluando las acciones de investigación, remediación y comunicación, y realizando el seguimiento de las mismas según se le encomiende. ### Funciones 1. Diagnosticar problemas comunes dentro de su área de experiencia. 1. Solucionar rápidamente los problemas detectados durante un incidente. 1. Comunicación concisa: - * Estado: ¿Cuál es el estado actual de su área? ¿Es saludable o no? - * Acciones: ¿Qué medidas hay que tomar si su zona no se encuentra en un estado saludable? + * Estado: ¿Cuál es el estado actual de su área? ¿Está buen estado o no? + * Acciones: ¿Qué medidas hay que tomar si su zona no se encuentra en un buen estado? * Necesidades: ¿Qué apoyo necesita para realizar una acción? 1. Participar en las fases de investigación, remediación y/o comunicación de la respuesta. 1. Anunciar todas las sugerencias al comandante del incidente, es su decisión cómo proceder, no siga ninguna acción a menos que se le indique. @@ -24,8 +24,8 @@ Si está de guardia para cualquier equipo, puede ser llamado para un incidente y 1. Esté preparado, habiéndose familiarizado ya con nuestras políticas y procedimientos de respuesta a incidentes. 1. Asegúrese de que ha configurado sus métodos de alerta de acuerdo con nuestro procedimiento de guardia. 1. Compruebe que puede unirse a la llamada de incidentes. Es posible que tenga que instalar un plugin para el navegador. -1. Tenga en cuenta su próximo tiempo de guardia y organice los cambios en función de los viajes, las vacaciones, las citas, etc. -1. Si usted es comandante de incidentes, asegúrese de no estar de guardia para su equipo al mismo tiempo que está de guardia como comandante de incidentes. +1. Tenga en cuenta su próxima vez de guardia y organice los cambios en función de los viajes, las vacaciones, las citas, etc. +1. Si usted es el Incident Commander, asegúrese de no estar de guardia con su equipo al mismo tiempo que está de guardia como Incident Commander. #### Durante el periodo de guardia diff --git a/roles/role-5-liaison.md b/roles/role-5-liaison.md index bb3f3f5..15dfefb 100644 --- a/roles/role-5-liaison.md +++ b/roles/role-5-liaison.md @@ -13,8 +13,8 @@ Los enlaces interactuan con otros equipos o partes interesadas fuera del equipo #### Enlace con el exterior o con el cliente 1. Subir cualquier mensaje de cara al público con respecto al incidente (Twitter, etc). -1. Notificar al IC (Intelligence Customer) de cualquier cliente o cobertura de los medios de comunicación que informen de los efectos del incidente. -1. Proporcionar a los clientes el mensaje externo de la autopsia una vez que se haya completado. +1. Notificar al IC de cualquier cliente o medios de comunicación que informen de los efectos del incidente. +1. Proporcionar a los clientes el mensaje externo del post-mortem una vez que se haya completado. 1. Contactar o interactuar con las partes interesadas externas, como proveedores, socios, fuerzas de seguridad, _etc._ 1. **No** sentirse responsable de la creación de cada mensaje: trabajar con el Incident Commander y otras partes interesadas. 1. Según proceda, mantener a los clientes informados durante un incidente. @@ -37,9 +37,9 @@ Los enlaces interactuan con otros equipos o partes interesadas fuera del equipo #### Enlace interno -1. Página PYMES u otro personal de guardia según las instrucciones del Incident Commander. +1. Página de SMEs u otro personal de guardia según las instrucciones del Incident Commander. 1. Notificar o movilizar a otros equipos de la organización (por ejemplo, Finanzas, Legal, Marketing), según las instrucciones del Incident Commander. -1. Seguir y anticiparse a las PYMES en la convocatoria. +1. Seguir y anticiparse a los SMEs en la convocatoria. 1. Interactuar con las partes interesadas y proporcionar actualizaciones de estado cuando sea necesario. 1. Interactuar con las partes interesadas internas para responder a sus preguntas, para mantener la llamada principal libre de distracciones. 1. Proporcionar actualizaciones periódicas de la situación al equipo ejecutivo, ofreciendo un resumen ejecutivo de la situación actual. From 1052260f88afbeaa969683dba849b0473642a700 Mon Sep 17 00:00:00 2001 From: anye3l0 Date: Tue, 7 Jun 2022 08:09:59 +0200 Subject: [PATCH 084/199] =?UTF-8?q?Revisi=C3=B3n=20de=20la=20traducci?= =?UTF-8?q?=C3=B3n=20PYMES=20-->=20SME=20y=20Formato=20a=20la=20tabla=20de?= =?UTF-8?q?=20about?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- after.md | 12 ++++++------ during.md | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/after.md b/after.md index 18d3e74..52a1267 100644 --- a/after.md +++ b/after.md @@ -26,11 +26,11 @@ El propietario del informe, en coordinación con el enlace interno, comunicará ### Descripciones de estado -| Estado | Descripción | -|-|-| -| **Borrador** | La investigación de la AAR sigue en curso | -| **En revisión** | La investigación AAR se ha completado, y está lista para ser revisada durante la reunión AAR. | -| **Revisado** | La reunión de AAR ha terminado y el contenido ha sido revisado y acordado.
Si hay "Mensajes externos" adicionales, el equipo de comunicación tomará medidas para prepararlos. | -| **Cerrado** | No es necesario realizar más acciones en el AAR (los problemas pendientes se rastrean en los tickets).
Si no hay "Mensajes Externos", pase directamente a esto una vez que la reunión haya terminado.
Si hay "Mensajes Externos" adicionales, el equipo de comunicaciones actualizará el AAR Cerrado una vez enviado. | +| Estado | Descripción | +|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Borrador** | La investigación de la AAR sigue en curso | +| **En revisión** | La investigación AAR se ha completado, y está lista para ser revisada durante la reunión AAR. | +| **Revisado** | La reunión de AAR ha terminado y el contenido ha sido revisado y acordado.
Si hay "Mensajes externos" adicionales, el equipo de comunicación tomará medidas para prepararlos. | +| **Cerrado** | No es necesario realizar más acciones en el AAR (los problemas pendientes se rastrean en los tickets).
Si no hay "Mensajes Externos", pase directamente a esto una vez que la reunión haya terminado.
Si hay "Mensajes Externos" adicionales, el equipo de comunicaciones actualizará el AAR Cerrado una vez enviado. | Comunicar internamente los resultados del AAR y finalizar la documentación del AAR. diff --git a/during.md b/during.md index 5ac9133..734d863 100644 --- a/during.md +++ b/during.md @@ -52,7 +52,7 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h 7. **No** usar SMS/texto para comunicar el incidente, a menos que sea para decirle a alguien que se mueva a un canal más seguro. 8. Invite al personal de turno/guardia a la llamada y al chat de respuesta. * Invite al equipo de seguridad. `TODO: Añadir lista de contactos del equipo de seguridad o procedimiento.` - * Invitar al SME de los equipos y sistemas afectados. `TODO: Añadir la lista de contactos de la PYME del equipo o el procedimiento.` + * Invitar al SME de los equipos y sistemas afectados. `TODO: Añadir la lista de contactos del SME del equipo o el procedimiento.` * Invitar a las partes interesadas ejecutivas y a los asesores jurídicos lo antes posible, pero dar prioridad a los responsables operativos. `TODO: añadir una lista de contactos de las partes interesadas ejecutivas o un procedimiento.` 9. OPCIONAL:_ Establecer una sala de colaboración en persona ("sala de guerra") para incidentes complejos o graves. `TODO: Añadir el procedimiento de la sala de colaboración.` @@ -66,7 +66,7 @@ Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.h * Enlace [interno](#rol-enlace) * Enlace externo * Equipo de operaciones - * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (PYMES) para sistemas + * [Expertos en la materia](#rol-experto-en-la-materia-subject-matter-expert-sme) (SME) para sistemas * SME para equipos/unidades de negocio * SME para Funciones Ejecutivas (_por ejemplo_, Legal, RRHH, Finanzas) From 200228542b1d856abbca17e4e64ba4e7ce708d69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Fern=C3=A1ndez=20Oliver?= Date: Thu, 23 Jun 2022 09:30:30 +0200 Subject: [PATCH 085/199] Update during.md --- during.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/during.md b/during.md index 734d863..ed53b83 100644 --- a/during.md +++ b/during.md @@ -4,7 +4,8 @@ Autor: {{AUTHOR_NAME}}, {{AUTHOR_EMAIL}} Revisión {{REVISION_NUMBER}}, Publicado {{RELEASE_DATE}} -Este plan de respuesta a incidentes está basado en el plan conciso, directivo, específico, flexible y gratuito disponible en [Github](https://github.com/counteractive/incident-response-plan-template) de Counteractive Security y discutido en [www.counteractive.net](https://www.counteractive.net/posts/an-ir-plan-you-will-use/) +Este plan de respuesta a incidentes está basado en el plan conciso, directivo, específico, flexible y gratuito disponible en [Github](https://github.com/counteractive/incident-response-plan-template) de Counteractive Security y discutido en [www.counteractive.net](https://www.counteractive.net/blog/an-ir-plan-you-will-use/) + Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. From c926448d418d1b7d5fb16193a7a37a8d883cd6a1 Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sat, 30 Mar 2024 20:39:04 +0100 Subject: [PATCH 086/199] =?UTF-8?q?feat:=20a=C3=B1adir=20documentos=20desa?= =?UTF-8?q?rrollados=20previamente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentosEmpresa/IS-1.a.02-G3.docx-1.pdf | Bin 0 -> 190543 bytes ...seguridad_clasificacion_y_priorizacion.xlsx | Bin 0 -> 74749 bytes ...ridad_hoja_para_el_analisis_de_riesgos.xlsm | Bin 0 -> 223085 bytes ...rector_de_seguridad_inventario_activos.xlsx | Bin 0 -> 74723 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentosEmpresa/IS-1.a.02-G3.docx-1.pdf create mode 100644 documentosEmpresa/plan_director_de_seguridad_clasificacion_y_priorizacion.xlsx create mode 100644 documentosEmpresa/plan_director_de_seguridad_hoja_para_el_analisis_de_riesgos.xlsm create mode 100644 documentosEmpresa/plan_director_de_seguridad_inventario_activos.xlsx diff --git a/documentosEmpresa/IS-1.a.02-G3.docx-1.pdf b/documentosEmpresa/IS-1.a.02-G3.docx-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5421ed7b46b6d1c15cbbccccddbd0ee3d8167bb6 GIT binary patch literal 190543 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 R6P>*%>+3~eO7jJ2TRrn^v{Qg@ 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 literal 0 HcmV?d00001 diff --git a/documentosEmpresa/plan_director_de_seguridad_hoja_para_el_analisis_de_riesgos.xlsm b/documentosEmpresa/plan_director_de_seguridad_hoja_para_el_analisis_de_riesgos.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..c50d6630c37eebf175d52a6b6ab30d18737949c0 GIT binary patch literal 223085 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 Date: Sun, 31 Mar 2024 20:04:52 +0200 Subject: [PATCH 139/199] Delete imagenes/hello.md --- imagenes/hello.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 imagenes/hello.md diff --git a/imagenes/hello.md b/imagenes/hello.md deleted file mode 100644 index 3479d2c..0000000 --- a/imagenes/hello.md +++ /dev/null @@ -1 +0,0 @@ -dsdf From 88182800bb4bca8c6c1b862ed3b4d8875efa7d8c Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:05:14 +0200 Subject: [PATCH 140/199] Update 2.a.md --- preguntas/2.a.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/preguntas/2.a.md b/preguntas/2.a.md index 311ba47..a345431 100644 --- a/preguntas/2.a.md +++ b/preguntas/2.a.md @@ -1 +1,7 @@ ### 2.a ¿En que consiste el Flujo de Toma de Decisiones y Escalado de tu plan de respuesta? ¿Existe un plan de comunicación, protocolos, etc? Si la respuesta es correcta, haz un resumen del plan y protocolos. Deja evidencias del flujo, mediante un diagrama. + +El flujo de Toma de decisiones y escalado de nuestro plan de respuesta consiste en identificar el incidente, evaluarlo, tomar decisiones necesarias siguiendo una serie de playbooks que nos ayuden a solucionar la situación lo antes posible o escalar dicha situación en caso de que esta se complique o no pueda ser solucionada. + +Nuestros playbooks indican con quién nos debemos comunicar en caso de que ocurra un incidente. El empleado en cuestión debe dirigirse inicialmente a su superior y este debe dirigirse al equipo de IT permitiendo que puedan actuar a la mayor brevedad posible. El equipo de IT deberá comunicar dicho incidente a dirección para que estén al tanto y a las autoridades competentes si es necesario. + +[!flujo](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/imagenes/diagrama-de-flujo.drawio.png) From 261eed74fb92907e3869e9fb114548c8edbeb9c0 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:05:51 +0200 Subject: [PATCH 141/199] Update 2.a.md --- preguntas/2.a.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/preguntas/2.a.md b/preguntas/2.a.md index a345431..133f717 100644 --- a/preguntas/2.a.md +++ b/preguntas/2.a.md @@ -4,4 +4,4 @@ El flujo de Toma de decisiones y escalado de nuestro plan de respuesta consiste Nuestros playbooks indican con quién nos debemos comunicar en caso de que ocurra un incidente. El empleado en cuestión debe dirigirse inicialmente a su superior y este debe dirigirse al equipo de IT permitiendo que puedan actuar a la mayor brevedad posible. El equipo de IT deberá comunicar dicho incidente a dirección para que estén al tanto y a las autoridades competentes si es necesario. -[!flujo](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/imagenes/diagrama-de-flujo.drawio.png) +![flujo](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/imagenes/diagrama-de-flujo.drawio.png) From 624d663e0ac775e3fa7be4ddcb50e6ff49cbfefd Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:07:32 +0200 Subject: [PATCH 142/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 7f7d68b..9de9229 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -31,8 +31,10 @@ ### Comunicar -1. Notificar sobre el incidente al superior o al equipo de IT. -2. Notificar a los proveedores y clientes si sus datos han sido afectados. +1. Notificar sobre el incidente al superior. +2. El superior deberá notificar inmediatamente al equipo de IT. +3. El equipo de IT deberá inmediatamente notificar a la dirección y a las autoridades competentes en caso de ser necesario. +4. Notificar a los proveedores y clientes si sus datos han sido afectados. ### Recuperación From 1a9a76ad6f0bfbe7573b9a5807728c51c9a56269 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:07:45 +0200 Subject: [PATCH 143/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index f6b75aa..9124f83 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -34,8 +34,10 @@ ### Comunicar -1. Notificar sobre el incidente al superior o al equipo de IT. -2. Notificar a los proveedores y clientes si sus datos han sido afectados. +1. Notificar sobre el incidente al superior. +2. El superior deberá notificar inmediatamente al equipo de IT. +3. El equipo de IT deberá inmediatamente notificar a la dirección y a las autoridades competentes en caso de ser necesario. +4. Notificar a los proveedores y clientes si sus datos han sido afectados. ### Recuperación From 81782c7ce59a0f39c9aa02f72b606a8b82854b49 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:07:55 +0200 Subject: [PATCH 144/199] Update playbook-Supply-Chain.md --- playbooks/playbook-Supply-Chain.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md index 5557bd4..4d92d85 100644 --- a/playbooks/playbook-Supply-Chain.md +++ b/playbooks/playbook-Supply-Chain.md @@ -35,8 +35,10 @@ ### Comunicar -1. Notificar sobre el incidente al superior o al equipo de IT. -2. Notificar a los proveedores y clientes si sus datos han sido afectados. +1. Notificar sobre el incidente al superior. +2. El superior deberá notificar inmediatamente al equipo de IT. +3. El equipo de IT deberá inmediatamente notificar a la dirección y a las autoridades competentes en caso de ser necesario. +4. Notificar a los proveedores y clientes si sus datos han sido afectados. ### Recuperación From ae6e163f291fccc4fc01974b3eb60f33bf0bfacb Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:08:07 +0200 Subject: [PATCH 145/199] Update playbook-Wipe-Disk.md --- playbooks/playbook-Wipe-Disk.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md index 09e09a8..477e6be 100644 --- a/playbooks/playbook-Wipe-Disk.md +++ b/playbooks/playbook-Wipe-Disk.md @@ -26,8 +26,10 @@ ### Comunicar -1. Notificar sobre el incidente al superior o al equipo de IT. -2. Notificar a los proveedores y clientes si sus datos han sido afectados. +1. Notificar sobre el incidente al superior. +2. El superior deberá notificar inmediatamente al equipo de IT. +3. El equipo de IT deberá inmediatamente notificar a la dirección y a las autoridades competentes en caso de ser necesario. +4. Notificar a los proveedores y clientes si sus datos han sido afectados. ### Recuperación From 59e68718648020de589f91f2b939394cd2c71051 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:17:49 +0200 Subject: [PATCH 146/199] Update index.md From 8ffaeef8c75abf238b5a4d84219556b9b5d6a472 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:17:57 +0200 Subject: [PATCH 147/199] Update IS-4.01-G3.md --- IS-4.01-G3.md => IS-4.01-G3.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) rename IS-4.01-G3.md => IS-4.01-G3.md (58%) diff --git a/ IS-4.01-G3.md b/IS-4.01-G3.md similarity index 58% rename from IS-4.01-G3.md rename to IS-4.01-G3.md index 9210ca2..77b9cbb 100644 --- a/ IS-4.01-G3.md +++ b/IS-4.01-G3.md @@ -12,6 +12,20 @@ # Playbooks +1. [playbook-Create-or-Modify-System-Procces](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Create-or-Modify-System-Process.md) +2. [playbook-DDoS](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-DDoS.md) +3. [playbook-DoS](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-DoS.md) +4. [playbook-Identity-and-Access](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Identity-and-Access.md) +5. [playbook-Supply-Chain](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Supply-Chain.md) +6. [playbook-Wipe-Disk](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Wipe-Disk.md) +7. [playbook-Credentials-from-Password-Stores](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-credentials%20from%20password%20stores.md) +8. [playbook-Defacement](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-defacement.md) +9. [playbook-Phishing](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-phishing.md) +10. [playbook-Ransonware](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-ransomware.md) +11. [playbook-Replication-Through-Removable-Media](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-replication%20through%20removable%20media.md) +12. [playbook-Steal-Web-Session-Cookie](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-steal-web-session-cookie.md) +13. [playbook-Brute-Force](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-brute%20force.md) + # Respuesta a las preguntas # Conclusiones From 651b7c3d8378c31048054182f15a762d1cb9b6fa Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:18:45 +0200 Subject: [PATCH 148/199] Update IS-4.01-G3.md --- IS-4.01-G3.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IS-4.01-G3.md b/IS-4.01-G3.md index 77b9cbb..a80781e 100644 --- a/IS-4.01-G3.md +++ b/IS-4.01-G3.md @@ -12,6 +12,8 @@ # Playbooks +En este punto indicamos con enlaces los playbooks que hemos generado para nuestro plan de respuesta. + 1. [playbook-Create-or-Modify-System-Procces](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Create-or-Modify-System-Process.md) 2. [playbook-DDoS](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-DDoS.md) 3. [playbook-DoS](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-DoS.md) From 814297a36f8b83d4de4deb617e5feda7f73bf348 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:49:47 +0200 Subject: [PATCH 149/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 9de9229..d866cb4 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -4,7 +4,7 @@ 1. Identificar el origen del ataque. 2. Identificar la vía del ataque. -3. Recopilar evidencias forenses. +3. Recopilar evidencias forenses con las herramientas suministradas por la empresa. 4. Evaluar el impacto del ataque. 5. Determinar las vulnerabilidades explotadas y las técnicas usadas. From 0f7bda71945984c33629b1d14ff5a6ef22adb7a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 21:01:56 +0200 Subject: [PATCH 150/199] Update 1.c.md --- preguntas/1.c.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/preguntas/1.c.md b/preguntas/1.c.md index 4713049..2cb18ef 100644 --- a/preguntas/1.c.md +++ b/preguntas/1.c.md @@ -1 +1,26 @@ -### 1.c ¿Como te has asegurado que has cubierto todas las fases del plan de respuesta? ¿Qué fase consideras que está más floja en un plan? ¿Cuál de ellas consideras que está mejor trabajada en tu plan? Asegúrate de hablar de todas las fases y como las cubres. \ No newline at end of file +### 1.c ¿Como te has asegurado que has cubierto todas las fases del plan de respuesta? ¿Qué fase consideras que está más floja en un plan? ¿Cuál de ellas consideras que está mejor trabajada en tu plan? Asegúrate de hablar de todas las fases y como las cubres. + +En nuestro plan de respuesta se da covertura completa a todas las fases, que son evaluar, iniciar la respuesta, investigar, remediar, comunicar y por último, la fase de recuperación. Si leemos el archivo during.md, vemos que, aunque todaas las fases son cubiertas con precisión y detalle, las más breves son de hecho la primera y la última, que son la fase de evaluación y la fase de recuperación. Del mismo modo, podemos aseverar que las fases intermedias, sobre todo la de investigación, son las más extensas y más trabajadas. Igualmente, si tenemos que elegir obligatoriamente una, sería sin duda la fase de investigación, la cual cubre la creación del archivo del incidente, pasa por la recogida de pruebas, los indicadores de compromiso, el análisis de las pruebas anteriormente recopiladas, así como una lista de artefactos útiles, etc. + +- Fase de Evaluación + - Toma en consideración una serie de pautas iniciales, para poder afrontar el incidente + - Comprobar la extensión del impacto del incidente. +- Fase de Inicio de Respuesta + - Reunión del equipo de respuesta + - Se establece el ritmo general de la "batalla" por superar el incidente + - Es necesario supervisar el alcance de la respuesta +- Fase de Investigación + - Creación del archivo del incidente + - Recopilación de pistas iniciales + - El plan de investigación y el archivo del incidente se van actualizando a medida que se afronta el incidente + - IOC's + - Recogida y análisis de pruebas +- Fase de Remediación + - Protección + - Detección + - Contención + - Erradicación +- Fase de Comunicación + - Cubre la comunicación tanto interna como con agentes externos, como clientes, socios comerciales, etc. +- Fase de Recuperación + - Esta fase subre tanto la recuperación del propio negocio, haciendo uso de un plan de continuidad del mismo, como la recuperación de los sistemas. From 6f448b243731540bbfae606e29dd1f5cea77f3d4 Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sun, 31 Mar 2024 21:13:39 +0200 Subject: [PATCH 151/199] pregunta 1.a y cambios de estructura directorios --- imagenes/attack.png | Bin 0 -> 223394 bytes imagenes/attack2.png | Bin 0 -> 270694 bytes imagenes/esquemaDDoS.png | Bin 0 -> 77191 bytes imagenes/react.png | Bin 0 -> 169256 bytes preguntas/1.a.md | 24 +++++++++++++++++++++++- preguntas/1.b.md | 2 +- preguntas/image.png | Bin 77230 -> 0 bytes 7 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 imagenes/attack.png create mode 100644 imagenes/attack2.png create mode 100644 imagenes/esquemaDDoS.png create mode 100644 imagenes/react.png delete mode 100644 preguntas/image.png diff --git a/imagenes/attack.png b/imagenes/attack.png new file mode 100644 index 0000000000000000000000000000000000000000..c477dc8b82879f0c588ff0224cfc21b0d5e1f9ea GIT binary patch literal 223394 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
pfhE1 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 AK>z>% literal 0 HcmV?d00001 diff --git a/imagenes/attack2.png b/imagenes/attack2.png new file mode 100644 index 0000000000000000000000000000000000000000..13ae3eadc377e029f8c2414a82f56c8a623c3f7b GIT binary patch literal 270694 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 z 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

NpYu8=*(P|&sv$9t)nIs5^ulZCBFID(dp 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 RYzg?8KMlid{K2gT`wRFsf3pAp literal 0 HcmV?d00001 diff --git a/documentosEmpresa/plan_director_de_seguridad_inventario_activos.xlsx b/documentosEmpresa/plan_director_de_seguridad_inventario_activos.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..fb130dad44c2b7b994b0c2ef54888aac12f2f2a7 GIT binary patch literal 74723 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Π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 Date: Sat, 30 Mar 2024 20:40:22 +0100 Subject: [PATCH 087/199] =?UTF-8?q?feat:=20a=C3=B1adir=20preguntas=20(falt?= =?UTF-8?q?a=20incluir=20esquema)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- preguntas/1.a.md | 1 + preguntas/1.b.md | 38 ++++++++++++++++++++++++++++++++++++++ preguntas/1.c.md | 1 + preguntas/2.a.md | 1 + preguntas/3.a.md | 1 + 5 files changed, 42 insertions(+) create mode 100644 preguntas/1.a.md create mode 100644 preguntas/1.b.md create mode 100644 preguntas/1.c.md create mode 100644 preguntas/2.a.md create mode 100644 preguntas/3.a.md diff --git a/preguntas/1.a.md b/preguntas/1.a.md new file mode 100644 index 0000000..1ee87e7 --- /dev/null +++ b/preguntas/1.a.md @@ -0,0 +1 @@ +### 1.a ¿Que relacción existe entre el trabajo que has hecho con las matrices MITRE ATT&CK y RE&CT y el plan de respuesta que estás planteando? ¿De que manera te ha ayudado el trabajo previo sobre las matrices a la hora de generar el plan? Deja evidencias del trabajo que has realizado sobre le navigator de las matrices, para obtener la información. \ No newline at end of file diff --git a/preguntas/1.b.md b/preguntas/1.b.md new file mode 100644 index 0000000..3d40658 --- /dev/null +++ b/preguntas/1.b.md @@ -0,0 +1,38 @@ +### 1.b ¿Qué playbooks has identificado como necesarios en este plan de respuesta y en que te has basado para identificar esos playbooks y saber que son los necesarios? Deja algún diagrama que describa el flujo de un playbook. + +En primer lugar, nos hemos basado en nuesto análisis de riesgos, el cual nos indicaba que las siguientes amenazas eran las que suponían un riesgo del mayor nivel (9). + +- Corrupción de la información +- Difusión de software dañino +- Denegación de servicio +- Caída del sistema por sobrecarga +- Ingeniería social +- Fuga de información + +Partiendo de estos riesgos, decidimos agrupar los riesgos y desarrollando playbooks que los cubran. + +Entonces, si nos dedicamos a agrupar los riesgos previos y crear un playbook que responda y responda al mismo, nos queda lo siguiente: + +> [!CAUTION] +> **Denegación de servicio y Caída del sistema por sobrecarga** +> +> - DoS +> - Supply-chain + +> [!CAUTION] +> **Corrupción de la información y difusión de software dañino** +> +> - Ransomware +> - Defacement (Desfiguración o modificación de la página web) +> - Create or Modify System Process + +> [!CAUTION] +> **Ingeniería social y fuga de información** +> +> - Identity-and-access +> - Phishing +> - Credentials from Password Stores +> - Replication Through Removable Media + +A continuación se detallará el flujo del playbook de _Denial Of Service_: + diff --git a/preguntas/1.c.md b/preguntas/1.c.md new file mode 100644 index 0000000..4713049 --- /dev/null +++ b/preguntas/1.c.md @@ -0,0 +1 @@ +### 1.c ¿Como te has asegurado que has cubierto todas las fases del plan de respuesta? ¿Qué fase consideras que está más floja en un plan? ¿Cuál de ellas consideras que está mejor trabajada en tu plan? Asegúrate de hablar de todas las fases y como las cubres. \ No newline at end of file diff --git a/preguntas/2.a.md b/preguntas/2.a.md new file mode 100644 index 0000000..311ba47 --- /dev/null +++ b/preguntas/2.a.md @@ -0,0 +1 @@ +### 2.a ¿En que consiste el Flujo de Toma de Decisiones y Escalado de tu plan de respuesta? ¿Existe un plan de comunicación, protocolos, etc? Si la respuesta es correcta, haz un resumen del plan y protocolos. Deja evidencias del flujo, mediante un diagrama. diff --git a/preguntas/3.a.md b/preguntas/3.a.md new file mode 100644 index 0000000..1b4b07f --- /dev/null +++ b/preguntas/3.a.md @@ -0,0 +1 @@ +### 3.a ¿Como te has asegurado de que tu plan tiene respuestas resilientes? ¿Porque son resilientes y en qué fases se centran? \ No newline at end of file From 4b5a882aadfcc79e41e2ff348b30fcbdb17ffcdc Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sat, 30 Mar 2024 20:40:48 +0100 Subject: [PATCH 088/199] =?UTF-8?q?feat:=20a=C3=B1adir=20playbooks=20base?= =?UTF-8?q?=20(a=20mejorar)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/playbook-DDoS.md | 80 +++++++ playbooks/playbook-DoS.md | 51 +++++ playbooks/playbook-defacement.md | 198 +++++------------ playbooks/playbook-ransomware.md | 210 +++++------------- .../playbook-steal-web-session-cookie.md | 77 +++++++ 5 files changed, 310 insertions(+), 306 deletions(-) create mode 100644 playbooks/playbook-DDoS.md create mode 100644 playbooks/playbook-DoS.md create mode 100644 playbooks/playbook-steal-web-session-cookie.md diff --git a/playbooks/playbook-DDoS.md b/playbooks/playbook-DDoS.md new file mode 100644 index 0000000..ae8f21c --- /dev/null +++ b/playbooks/playbook-DDoS.md @@ -0,0 +1,80 @@ +## Playbook: Ataque de Denegación de Servicio Distribuido (DDoS) + +**Investigar, mitigar y comunicar en paralelo!** +Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +1. Identificar y confirmar el ataque DDoS en curso. + * Supervise el tráfico de red y analice los patrones de tráfico anómalos que puedan indicar un ataque DDoS en curso. + * Utilice herramientas de monitoreo de red como Wireshark, Nagios, o soluciones específicas contra DDoS. +2. Determine el tipo de ataque DDoS. + * Ataque de inundación SYN + * Ataque de inundación UDP + * Ataque de inundación HTTP + * Otros tipos de ataques conocidos. +3. Evaluar la gravedad y el impacto del ataque. + * Analice la magnitud del tráfico malicioso en comparación con el tráfico normal. + * Determine si los servicios críticos están siendo afectados y en qué medida. +4. Identificar el origen y las fuentes del ataque. + * Rastree las direcciones IP de origen del tráfico malicioso. + * Utilice herramientas de geolocalización para identificar la ubicación aproximada de los atacantes. + * Recopile información sobre la infraestructura utilizada por los atacantes. + +### Mitigar + +**Planificar la mitigación** en la que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. + +1. Implementar filtros de tráfico y reglas de firewall. + * Bloquee las direcciones IP de origen conocidas del ataque. + * Configure reglas de firewall para filtrar el tráfico malicioso. +2. Utilizar servicios de mitigación de DDoS. + * Implemente un servicio de mitigación de DDoS externo, si está disponible. + * Active la protección DDoS de su proveedor de servicios de red, si corresponde. +3. Escalar la infraestructura. + * Aumente la capacidad de ancho de banda y los recursos de servidor para absorber el tráfico adicional. + * Utilice servicios de CDN (Content Delivery Network) para distribuir el tráfico y mitigar el impacto del ataque. +4. Configurar la alerta de respuesta de emergencia. + * Establezca alertas automáticas para notificar al equipo de seguridad sobre futuros picos inusuales de tráfico. + * Automatice la respuesta de mitigación para que se active automáticamente ante futuros ataques. + +### Comunicar + +**Comunicarse con las partes interesadas** para informar sobre el incidente y las acciones tomadas para mitigarlo. + +1. 1. Notificar a la dirección y al equipo de gestión de crisis. +1. 2. Documentar el incidente según el procedimiento establecido. +2. Comunicarse con los equipos de operaciones y desarrollo. + 1. Informar sobre las medidas de mitigación implementadas y las posibles interrupciones del servicio. + 2. Coordinar con los equipos de TI para garantizar la disponibilidad continua de los servicios críticos. +3. Comunicarse con los proveedores de servicios de red y DDoS. + 1. Notificar a los proveedores de servicios de red sobre el ataque y solicitar asistencia adicional si es necesario. + 2. Coordinar con los proveedores de servicios de mitigación de DDoS para optimizar la respuesta al ataque. +4. Actualizar a los clientes y usuarios. + 1. Informar sobre posibles interrupciones del servicio y tiempo estimado de recuperación. + 2. Proporcionar actualizaciones periódicas sobre el estado del incidente y las medidas de mitigación. + +### Recursos + +#### Herramientas de Mitigación de DDoS + +- Cloudflare +- Akamai +- AWS Shield +- Arbor Networks +- Radware +- F5 Networks + +#### Herramientas de Monitoreo de Red + +- Wireshark +- Nagios +- SolarWinds +- Cisco NetFlow +- Zabbix + +#### Referencia: Artículos y Recursos + +1. [Guía sobre DDoS](https://www.cloudflare.com/learning/ddos/what-is-a-ddos-attack/) de Cloudflare. +2. [Cómo protegerse contra ataques DDoS](https://aws.amazon.com/es/shield/) con AWS Shield. +3. [Cómo detectar y mitigar ataques DDoS](https://www.akamai.com/es/es/) con Akamai. diff --git a/playbooks/playbook-DoS.md b/playbooks/playbook-DoS.md new file mode 100644 index 0000000..3a5b9a5 --- /dev/null +++ b/playbooks/playbook-DoS.md @@ -0,0 +1,51 @@ +## Playbook: Ataque de Denegación de Servicio (DoS) + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo!** +Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +1. Confirmar el ataque de Denegación de Servicio (DoS). + * Verificar la degradación del rendimiento del sistema o la indisponibilidad de los servicios. + * Analizar los registros del servidor en busca de tráfico anormal o patrones de ataque. +2. Identificar posibles fuentes del ataque. + * Analizar el tráfico de red para identificar direcciones IP sospechosas o rangos de direcciones asociados con el ataque. + * Diferenciar entre un ataque de Denegación de Servicio distribuido (DDoS) y un ataque DoS convencional. + * Para ataques DDoS: Investigar la posibilidad de que el ataque provenga de una botnet o de dispositivos comprometidos distribuidos geográficamente. + * Para ataques DoS convencionales: Investigar si el ataque se origina desde una sola fuente o un conjunto limitado de direcciones IP. + * Considerar la posibilidad de que el ataque sea perpetrado por un atacante interno o externo. +3. Recopilar evidencia para la investigación. + * Capturar registros de tráfico y paquetes de red para su análisis posterior. + * Registrar cualquier actividad sospechosa observada durante el ataque, como intentos de autenticación fallidos o solicitudes de recursos específicos. + +### Remediar + +**Planificar la remediación** en la que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. + +#### Contención + +1. Mitigar el ataque en curso. + * Identificar y bloquear las fuentes de tráfico malicioso utilizando reglas de firewall, listas de bloqueo IP u otras medidas de filtrado. + * Utilizar servicios de mitigación de DDoS si están disponibles para desviar el tráfico no deseado. + +#### Erradicación + +1. Identificar la causa raíz del ataque. + * Analizar los registros de tráfico para determinar el tipo y la fuente del ataque. + * Investigar posibles vulnerabilidades en el sistema que podrían haber sido explotadas por los atacantes. + +### Comunicar + +**Comunicarse con las partes interesadas** para informar sobre el incidente y las acciones tomadas para mitigarlo. + +1. Notificar a la dirección y al equipo de gestión de crisis. + * Informar sobre la naturaleza y el alcance del ataque de Denegación de Servicio. + * Proporcionar actualizaciones regulares sobre la remediación y las medidas de mitigación implementadas. + +### Recursos + +#### Herramientas y Tecnologías de Mitigación + +- Firewalls con capacidades de filtrado avanzado. +- Servicios de mitigación de DDoS proporcionados por proveedores de seguridad. +- Sistemas de detección y prevención de intrusiones (IDS/IPS) para identificar y bloquear el tráfico malicioso. diff --git a/playbooks/playbook-defacement.md b/playbooks/playbook-defacement.md index 93acc85..d5d6a4d 100644 --- a/playbooks/playbook-defacement.md +++ b/playbooks/playbook-defacement.md @@ -1,169 +1,71 @@ - -## Playbook: Desaparición de sitios web +## Playbook: Defacement de Sitio Web **Investigar, remediar (contener, erradicar) y comunicar en paralelo!** -Asigne los pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es puramente secuencial. Utilice su mejor criterio. +Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial. Utilice su mejor criterio. ### Investigar -1. Desconecte inmediatamente el servidor desconfigurado para investigarlo. - * Esto es especialmente importante si la desfiguración es insultante o provocadora de algún modo. Elimine esto de la vista del público tan pronto como sea posible para evitar daños, así como para mitigar el impacto del negocio. - * El mensaje de desfiguración también puede contener información falsa que podría confundir a los usuarios o ponerlos en peligro. - * Desconectar el servidor permitirá una investigación más profunda de la desfiguración. Esto puede ser necesario, ya que el ciberdelincuente puede haberse adentrado en la organización accediendo a servidores de aplicaciones, bases de datos, etc. -2. Determine el origen de la vulnerabilidad del sistema que ha utilizado el atacante. Los exploits más comunes son: - * Ataques de inyección SQL - * Este tipo de ataque se produce cuando un atacante interfiere en las consultas de una aplicación a la base de datos. Por lo tanto, esto puede conducir a un acceso no autorizado a datos privados o sensibles. Lea más sobre los ataques de inyección SQL [aquí](https://www.acunetix.com/websitesecurity/sql-injection/) - * Ataques de inclusión remota de archivos (RFI) - * Este tipo de ataque explota la función de referencia de una aplicación para cargar malware desde una URL remota. Más información sobre los ataques RFI [aquí](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/) - * webshells - * Más información sobre web shells y defacement de sitios web [aquí](https://www.wordfence.com/blog/2017/06/wso-shell/) - * mal diseño de aplicaciones web - * hacks de javascript - * hacks de PHP/ASP - * Aquí hay más sobre [hacking con javascript](https://itnext.io/how-companies-are-hacked-via-malicious-javascript-code-12aa82560bdc) - * otros métodos de detección incluyen: - * Comprobar los registros del servidor - * buscar en el registro de acceso y en el registro de errores de la página web cualquier actividad sospechosa o desconocida - * por supuesto, también es una buena idea comprobar los registros del firewall IDS o IPS, si están disponibles - * Comprobar los archivos con contenido estático - * Escanear las bases de datos en busca de contenido malicioso - * Comprobación de los enlaces presentes en la página -3. Recoge cualquier pista sobre quién es el ciberdelincuente o para qué organización trabaja. Considera las siguientes preguntas: - * ¿Qué representa la desfiguración? ¿Incluía un mensaje obvio? - * ¿Parece que la desfiguración es inofensiva o intencionada? ¿Podría ser el ciberdelincuente un niño jugando o un grupo profesional que trabaja con un motivo? - * ¿Parece que su organización haya sido el objetivo? ¿Quién podría querer atacar a su organización? - * ¿Qué esperaba conseguir el ciberdelincuente? - * Consulta [aquí](https://www.geeksforgeeks.org/types-of-hackers/) para saber más sobre los tipos de ciberdelincuentes que pueden haber atacado tu página web. -4. Recoge otra información importante de la página que ha sido desfigurada, como por ejemplo - * una captura de pantalla de la desfiguración - * el dominio y la dirección IP de la página - * detalles del servidor web - * el código fuente de la página - * analizarlo cuidadosamente para identificar el problema y asegurarse de que se encuentra en un servidor de la empresa - * nombre o cualquier información sobre el atacante -6. También existen herramientas que ayudan a la detección y al análisis de los registros. A continuación se enumeran algunas de ellas: - * Weblog Expert - * Sawmill - * Deep Log Analyzer - - - -`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas clave y las estrategias, para la desfiguración de sitios web.` +1. Identificar y confirmar la desfiguración del sitio web. + * Verifique la autenticidad del incidente visitando el sitio web afectado y corroborando el cambio no autorizado. + * Determine si la desfiguración es global o si se limita a ciertas páginas o secciones del sitio. +2. Recopilar información sobre el incidente. + * Capture capturas de pantalla de la desfiguración y registre cualquier mensaje o contenido malicioso. + * Examine los registros del servidor web y de aplicaciones para identificar el momento y la fuente del ataque. +3. Evaluar el impacto del incidente. + * Determine si la desfiguración afecta la funcionalidad del sitio web o simplemente su apariencia. + * Evalúe el impacto en la reputación de la marca y la confianza del cliente. +4. Identificar la causa raíz del incidente. + * Investigue cómo los atacantes pudieron comprometer la seguridad del sitio web y realizar la desfiguración. + * Analice las vulnerabilidades de seguridad del sitio web y los posibles vectores de ataque utilizados. ### Remediar -**Planificar eventos de reparación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. -* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. +**Planificar la remediación** en la que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. #### Contención -`TODO: Personalizar los pasos de contención, tácticos y estratégicos, para la desfiguración de sitios web.` - -`TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación.` - -1. Haga una copia de seguridad de todos los datos almacenados en el servidor web con fines forenses. -2. Como se ha mencionado anteriormente, asegúrese de que el servidor de la página desfigurada está temporalmente fuera de servicio mientras se lleva a cabo la investigación. - * Debe tener una página de error preparada para esta situación que informe al usuario y/o a los empleados de que el mantenimiento está en marcha y que la página que buscaban volverá en breve. Incluso podría tener preparada una página web de respaldo en la que pueda publicar contenido mientras se lleva a cabo la investigación y la reparación, y hacer que su página de error temporal redirija a los usuarios a este sitio de respaldo. - * Compruebe su mapa de arquitectura de red. Si la brecha es otro sistema de la red, descárguelo e investíguelo. -3. Una vez que se haya determinado el origen del ataque, aplique los pasos necesarios para garantizar que esto no vuelva a suceder. Esto puede incluir la modificación del código o la edición de los derechos de acceso. - * Consulte la sección "Investigar" para conocer las fuentes comunes de vulnerabilidad. - * Si esto está fuera de su dominio, simplemente asegúrese de que ha dado al personal apropiado toda la información sobre el ataque que tiene y permita que los expertos hagan su trabajo. - - -### Recover - -`TODO: Personalizar los pasos de recuperación para la desfiguración` +1. Retirar la desfiguración del sitio web. + * Restaure el contenido original y legítimo del sitio web desde una copia de seguridad o desde una versión no afectada. + * Elimine cualquier archivo malicioso o modificado por los atacantes. +2. Reforzar la seguridad del sitio web. + * Actualice todas las aplicaciones, plugins y sistemas de gestión de contenido (CMS) a las versiones más recientes. + * Cambie todas las contraseñas de acceso y aplique una política de contraseñas fuerte. + * Implemente medidas adicionales de seguridad, como firewalls de aplicaciones web (WAF) y monitoreo de seguridad continuo. -`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación` +#### Erradicación -1. Elimine el mensaje del ciberdelincuente y reemplácelo por el contenido original y legítimo. Si se han perdido datos en el ataque, consulte las copias de seguridad y restaure la página original en la medida de lo posible. - * Compruebe las copias de seguridad en busca de indicadores de compromiso - * Considere la recuperación parcial y la prueba de integridad de las copias de seguridad -2. Considere pedir a los usuarios que cambien sus credenciales de acceso si el servidor web tiene autenticación de usuario. -3. Después de aplicar las medidas para evitar riesgos (como se recomienda a continuación), restaure su servidor mostrando el contenido original de la página. -4. Si es necesario y/o aplicable, prepare una disculpa/explicación del ataque ocurrido para los usuarios o cualquier persona que haya presenciado la desfiguración. Asegúrese de que queda claro que el contenido desfigurado no refleja a su organización de ninguna manera. +1. Investigar la causa raíz del incidente. + * Realice una revisión exhaustiva de la seguridad del sitio web para identificar las vulnerabilidades explotadas. + * Corrija las vulnerabilidades identificadas y aplique parches de seguridad según sea necesario. +2. Implementar controles de seguridad adicionales. + * Configure copias de seguridad regulares y automatizadas del sitio web y su contenido. + * Establezca alertas de seguridad para detectar y responder rápidamente a futuros incidentes de desfiguración. -#### Evitar riesgos +### Comunicar -`TODO: Comuníquese con otros empleados para asegurarse de que todos entienden y contribuyen a los siguientes pasos, cuando sea aplicable`. +**Comunicarse con las partes interesadas** para informar sobre el incidente y las acciones tomadas para mitigarlo. -1. Utilice el menor número de plug-ins posible. Los piratas informáticos tienen como objetivo los sitios web que son vulnerables y tienen muchas fuentes de entrada. Puedes limitar estas fuentes de entrada utilizando sólo lo que necesites y eliminando los plug-ins y el software que no utilices o sean antiguos. También es importante actualizarlos lo antes posible. -2. Controle de cerca y ordene el acceso a los contenidos administrativos. Permita que las personas accedan sólo a lo que necesitan. Esto reducirá la posibilidad de que un error humano provoque un ciberataque. Hay más métodos de prevención DIY mencionados en [este artículo](https://cirt.gy/index.php/node/116) (pasos 6-12) y en el recurso #4 al final de este playbook. -3. Comprueba regularmente si hay malware en tu sitio web escaneando el código fuente. Busca scripts, iframes o URLs que te parezcan desconocidos y asegúrate de escanear también las URLs que sí te resulten familiares. -4. Hay muchos escáneres automáticos de sitios web de gran reputación que no le costarán nada de su tiempo y escanearán a fondo su sitio en busca de vulnerabilidades con regularidad. Aquí hay un [enlace a escáneres populares](https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref). -5. Defiéndase contra los puntos comunes de explotación, como las inyecciones SQL y los ataques XSS. [Este artículo](https://www.banffcyber.com/knowledge-base/articles/best-practices-address-issue-web-defacement/) incluye las mejores prácticas para defender estos ataques. -6. Instala programas de detección de desfiguración para que, si volviera a producirse un ataque, estés preparado y respondas rápidamente. Aquí hay un [artículo](https://www.techradar.com/news/best-website-defacement-monitoring-service) que resume algunos de los mejores servicios de monitoreo de 2020. -7. Habla con tus empleados de la importancia de mantener el acceso administrativo limitado y confidencial e infórmales de estos pasos para evitar incidentes, incluyendo la formación periódica de concienciación sobre ciberseguridad. +1. Notificar a la dirección y al equipo de gestión de crisis. + * Informe a los ejecutivos y a los responsables de la toma de decisiones sobre la naturaleza y el alcance del incidente. + * Proporcione actualizaciones regulares sobre el progreso de la remediación y las medidas de seguridad implementadas. +2. Comunicarse con los usuarios y clientes. + * Notifique a los usuarios sobre el incidente y explique las medidas tomadas para restaurar la seguridad del sitio web. + * Proporcione canales de comunicación para que los usuarios puedan informar sobre cualquier problema adicional o inquietud. +3. Coordinar con las autoridades y reguladores pertinentes. + * Notifique a las autoridades de protección de datos y cumpla con cualquier requisito de notificación obligatoria. + * Colabore con las autoridades en la investigación del incidente y en la identificación de los responsables. -#### Referencia: Recursos de remediación +### Recursos -`TODO: especificar los recursos financieros, de personal y logísticos para llevar a cabo la reparación`. +#### Herramientas y Tecnologías de Seguridad -### Comunicar +- Firewalls de Aplicaciones Web (WAF) +- Sistemas de Gestión de Contenido (CMS) seguros +- Escáneres de Vulnerabilidades Web (Nessus, Acunetix) +- Herramientas de Monitoreo de Seguridad de Sitios Web (Sucuri, Wordfence) -`TODO: Personalizar los pasos de comunicación para la desfiguración` - -`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general` - -1. 1. Elevar el incidente y comunicarlo a la dirección según el procedimiento -1. 2. Documentar el incidente según el procedimiento (e informar si procede) -1. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._. -1. Comunicarse con los usuarios (internos) - 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento - 1. Comunicar el impacto del incidente **y** las acciones de respuesta al incidente (por ejemplo, contención: "¿por qué está caído el archivo compartido?") - 1. Comunicar los requisitos: "¿qué deben hacer y no hacer los usuarios?" -1. Comunicar a los clientes - 1. Centrarse especialmente en aquellos cuyos datos se vieron afectados - 1. Generar las notificaciones requeridas en base a las regulaciones aplicables (particularmente aquellas que puedan considerar la desfiguración como una violación de datos o que requieran notificaciones de otro tipo) `TODO: Ampliar los requisitos y procedimientos de notificación para las regulaciones aplicables`. -1. Contactar con los proveedores de seguros - 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._. - 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad -1. Considerar la posibilidad de notificar e implicar a las fuerzas del orden. TODO: Vincule las siguientes viñetas con los recursos reales de su organización - 1. [Aplicación de la ley local](#TODO-link-to-actual-resource) - 1. 1. [Aplicación de la ley a nivel estatal o regional](#TODO-link-to-actual-resource) - 1. 1. [Fuerzas de seguridad federales o nacionales](#TODO-link-to-actual-resource) -1. Comuníquese con los proveedores de seguridad y de TI `TODO: Vincule las siguientes viñetas con los recursos reales de su organización` - 1. Notifique y colabore con [proveedores gestionados](#TODO-link-to-actual-resource) según el procedimiento - 1. 2. Notificar y colaborar con [consultores de respuesta a incidentes](#TODO-link-to-actual-resource) por procedimiento - -### Recursos +#### Referencia: Artículos y Recursos -#### Referencia: Acciones del usuario ante un ataque de sospecha de defacement - -`TODO: Personalizar los pasos a seguir por los usuarios ante una sospecha de defacement` - -1. Mantenga la calma y respire profundamente. -1. 2. Desconecte su sistema de la red `TODO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para hacer esto fácil ("romper en caso de emergencia"), considere interruptores de corte de red por hardware`. -1. Haz fotos de la página que veas con tu smartphone mostrando las cosas que has notado: el mensaje de desfiguración y cualquier otro cambio en el sitio habitual. -1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: - 1. ¿Qué has notado? - 1. ¿Cuándo ocurrió por primera vez, y con qué frecuencia desde entonces? - 1. ¿A qué datos suele acceder? - 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? -1. Ponte en contacto con el [servicio de asistencia](#TODO-enlace-al-recurso) y sé lo más servicial posible. -1. Ten paciencia: deja que el personal informático lo controle, ¡puedes estar protegiendo a otros de un daño! **Gracias.** - -#### Referencia: Acciones del Help Desk ante un presunto ataque de defacement - -`TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de defacement`. - -1. Mantenga la calma y respire profundamente. -1. Abra un ticket para documentar el incidente, según el procedimiento. `TODO: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior` -1. Utiliza tu mejor criterio para decidir qué pasos priorizar (por ejemplo, si la desfiguración dejó contenido dañino o desencadenante, prioriza la retirada del servidor inmediatamente). -1. Pídele al usuario que tome fotos de su pantalla con su teléfono inteligente mostrando las cosas que notó. -1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haga preguntas detalladas, incluyendo - 1. ¿Qué has notado? - 1. ¿Cuándo ocurrió por primera vez, y con qué frecuencia desde entonces? - 1. ¿A qué datos suele acceder? - 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? -1. Haga las preguntas de seguimiento que sean necesarias. **Usted es una persona que responde al incidente, contamos con usted.** -1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede. -1. Registre toda la información en el ticket, incluyendo notas manuscritas y de voz. -1. Ponga en cuarentena a los usuarios y sistemas afectados. `TODO: Personalizar los pasos de contención, automatizar todo lo posible`. -1. Póngase en contacto con el [equipo de seguridad] (#TODO-link-to-actual-resource) y prepárese para participar en la respuesta según las indicaciones: investigación, reparación, comunicación y recuperación. - -#### Información adicional -1. Un útil y detallado [paper](https://pdfs.semanticscholar.org/899e/2d629e06d920b9059edb21fcb52cdb33f783.pdf) sobre la detección de la desfiguraciónw -2. 10 herramientas para[better website monitoring and security](https://geekflare.com/website-defacement-monitoring/) -3. [2019 Website Threat Research Report](https://sucuri.net/reports/2019-hacked-website-report/) con estadísticas útiles -4. [Article](https://www.imperva.com/learn/application-security/website-defacement-attack/) incluyendo bricolaje y mejores prácticas para evitar la desfiguración de sitios web +1. [OWASP Top 10](https://owasp.org/www-project-top-ten/) - Lista de las principales vulnerabilidades de seguridad en aplicaciones web. +2. [Sucuri Blog](https://sucuri.net/blog/) - Recursos y guías sobre seguridad web y protección contra desfiguraciones. +3. [Wordfence](https://www.wordfence.com/blog/) - Blog con consejos y mejores prácticas para la seguridad de WordPress y otros CMS. diff --git a/playbooks/playbook-ransomware.md b/playbooks/playbook-ransomware.md index b4312d3..ff32923 100644 --- a/playbooks/playbook-ransomware.md +++ b/playbooks/playbook-ransomware.md @@ -1,176 +1,70 @@ - ## Playbook: Ransomware -**Investigar, remediar (contener, erradicar) y comunicar en paralelo. La contención es fundamental en los incidentes de ransomware, priorice en consecuencia.** - -Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. - -### Investigación - -`OBJETIVO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el ransomware.` - -1. **Determinar el tipo** de ransomware (_es decir, _ ¿cuál es la familia, la variante o el tipo?)[[1]](#ransomware-playbook-ref-1) - 1. Encuentre cualquier mensaje relacionado. Compruebe: - * las interfaces gráficas de usuario (GUI) del propio malware - * archivos de texto o html, que a veces se abren automáticamente tras el cifrado - * archivos de imange, a menudo, como fondos de pantalla del sistema infectado - * correos electrónicos de contacto en extensiones de archivo encriptadas - * ventanas emergentes después de intentar abrir un archivo encriptado - * mensajes de voz - 1. Analice los mensajes en busca de pistas sobre el tipo de ransomware: - * nombre del ransomware - * lenguaje, estructura, frases, material gráfico - * correo electrónico de contacto - * formato de la identificación del usuario - * especificaciones de la demanda de rescate (_p.ej._, moneda digital, tarjetas de regalo) - * dirección de pago en caso de moneda digital - * chat de soporte o página de soporte - 1. Analice los archivos afectados y/o nuevos. Compruebe: - * el esquema de cambio de nombre de los archivos encriptados, incluyendo la extensión (_p.ej._, `.cry`, `.cry`, `.locked`) y el nombre base - * corrupción de archivos frente a encriptación - * Tipos de archivos y ubicaciones objetivo - * usuario/grupo propietario de los archivos afectados - * Icono de los archivos encriptados - * marcadores de archivos - * existencia de listados de archivos, archivos clave u otros archivos de datos - - 1. Analice los tipos de software o sistemas afectados. Algunas variantes de ransomware sólo afectan a determinadas herramientas (_p.ej._, [databases](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-professional-ransomware-group-gets-involved-infections-reach-28k-servers/)) or platforms (_e.g._, [NAS products](https://forum.synology.com/enu/viewtopic.php?f=3&t=88716)) - 1. Subir los indicadores a servicios de categorización automatizados como [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php), [ID Ransomware](https://id-ransomware.malwarehunterteam.com/), o similar. -1. **Determinar el alcance:** - 1. ¿Qué sistemas están afectados? `TODO: Especificar herramientas y procedimientos` - * Busque indicadores de compromiso (IOC), como archivos/hashes, procesos, conexiones de red, etc. Utilice [endpoint protection/EDR](#TODO-link-to-actual-resource), [endpoint telemetry](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), etc. - * Comprobar la infección de sistemas similares (_por ejemplo, usuarios, grupos, datos, herramientas, departamento, configuración, estado de los parches): comprobar [IAM tools](#TODO-link-to-actual-resource), [permissions management tools](#TODO-link-to-actual-resource), [directory services](#TODO-link-to-actual-resource), _etc._ - * Find external command and control (C2), if present, and find other systems connecting to it: check [firewall or IDS logs](#TODO-link-to-actual-resource), [system logs/EDR](#TODO-link-to-actual-resource), [DNS logs](#TODO-link-to-actual-resource), [netflow or router logs](#TODO-link-to-actual-resource), _etc._ - 1. ¿Qué datos están afectados? (_e.g._, tipos de archivo, departamento o grupo, software afectado) `TODO: Especifique la(s) herramienta(s) y el procedimiento`. - * Buscar cambios anómalos en los metadatos de los archivos, como cambios masivos en las horas de creación o modificación. Comprobar [herramientas de búsqueda de metadatos de archivos](#TODO-link-to-actual-resource) - * Buscar cambios en archivos de datos normalmente estables o críticos. Comprobar las herramientas de [supervisión de la integridad de los archivos](#TODO-link-to-actual-resource) -1. **Evaluar el impacto** para priorizar y motivar los recursos - 1. Evaluar el impacto funcional: impacto en la empresa o en la misión. - * ¿Cuánto dinero se pierde o está en riesgo? - * ¿Cuántas (y cuáles) misiones se degradan o están en riesgo? - 1. Evaluar el impacto en la información: impacto en la confidencialidad, integridad y disponibilidad de los datos. - * ¿Qué importancia tienen los datos para la empresa/misión? - * ¿Cuán sensibles son los datos? (_p.ej._, secretos comerciales) - * ¿Cuál es la situación reglamentaria de los datos (_p.ej._, PII, PHI)? - -1. **Encuentra el vector de infección.** Comprueba las tácticas capturadas en la [Initial Access tactic](https://attack.mitre.org/tactics/TA0001/) of MITRE ATT&CK[[4]](#ransomware-playbook-ref-4). Los datos más comunes y las fuentes de datos son: - * archivo adjunto de correo electrónico: comprobar [email logs](#TODO-link-to-actual-resource), [email security appliances and services](#TODO-link-to-actual-resource), [e-discovery tools](#TODO-link-to-actual-resource), _etc._ - * insecure remote desktop protocol (RDP): check [vulnerability scanning results](#TODO-link-to-actual-resource), [firewall configurations](#TODO-link-to-actual-resource), _etc._ - * auto-propagación (worm or virus) (check [host telemetry/EDR](#TODO-link-to-actual-resource), [system logs](#TODO-link-to-actual-resource), [forensic analysis](#TODO-link-to-actual-resource), _etc._) - -### Remediar - -**Planificar eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. -**Considere el momento y las compensaciones** de las acciones de reparación: su respuesta tiene consecuencias. - -#### Contención - -`OBJETIVO: Personalizar los pasos de contención, tácticos y estratégicos, para el ransomware.` - -`OBJETIVO: especificar las herramientas y los procedimientos para cada paso, a continuación.` +**Investigar, remediar (contener, erradicar) y comunicar en paralelo!** +Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial. Utilice su mejor criterio. -**En situaciones de ransomware, la contención es fundamental. Informar de las medidas de contención con los datos de la investigación. Dé mayor prioridad a las cuarentenas y otras medidas de contención que durante una respuesta típica.** +### Investigar -Las cuarentenas (lógicas, físicas o ambas) impiden la propagación _desde_ los sistemas infectados y evitan la propagación _hacia_ los sistemas y datos críticos. Las cuarentenas deben ser exhaustivas: incluir el acceso a la nube/SaaS, el inicio de sesión único, el acceso a sistemas como el ERP u otras herramientas empresariales, _etc._. +1. Identificar y confirmar la infección por ransomware. + * Verifique la autenticidad del incidente investigando cualquier mensaje de rescate o signos de cifrado de archivos. + * Determine el alcance de la infección identificando los sistemas y archivos afectados. +2. Recopilar información sobre el incidente. + * Capture capturas de pantalla de los mensajes de rescate y registre cualquier otra actividad sospechosa. + * Examine los registros del sistema y del servidor para identificar la fuente y el momento de la infección. +3. Evaluar el impacto del incidente. + * Determine el impacto en la disponibilidad de los sistemas y archivos afectados. + * Evalúe la sensibilidad de los datos cifrados y la importancia de los sistemas afectados para las operaciones comerciales. +4. Identificar la causa raíz del incidente. + * Investigue cómo el ransomware pudo infiltrarse en la red y cifrar los archivos. + * Analice las vulnerabilidades de seguridad explotadas y los vectores de ataque utilizados por los atacantes. -* Poner en cuarentena los sistemas infectados -* Poner en cuarentena a los usuarios y grupos afectados. -* Ponga en cuarentena los archivos compartidos (no sólo los conocidos; proteja también los no infectados). -* Ponga en cuarentena las bases de datos compartidas (no sólo los servidores infectados conocidos; proteja también las bases de datos no infectadas) -* Ponga en cuarentena las copias de seguridad, si no están ya protegidas -* Bloquee los dominios y direcciones de comando y control -* Elimine los correos electrónicos vectoriales de las bandejas de entrada. -* Confirme que la protección de los puntos finales (AV, NGAV, EDR, etc.) está actualizada y activada en todos los sistemas. -* Confirmar que los parches se despliegan en todos los sistemas (priorizando los sistemas, SOs, software, _etc._). -* Despliegue de firmas personalizadas en las herramientas de protección de puntos finales y de seguridad de la red, basándose en los COI descubiertos. - -`OBJETIVO: Considerar la posibilidad de automatizar las medidas de contención mediante herramientas de orquestación.` - -#### Erradicar +### Remediar -`OBJETIVO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el ransomware.` +**Planificar la remediación** en la que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. -`OBJETIVO: Especificar las herramientas y los procedimientos para cada paso, a continuación.` +#### Contención -* Reconstruir los sistemas infectados a partir de soportes conocidos como buenos. -* Restaurar a partir de copias de seguridad conocidas y limpias. -* Confirmar que la protección de los puntos finales (AV, NGAV, EDR, etc.) está actualizada y activada en todos los sistemas. -* Confirmar que los parches se despliegan en todos los sistemas (dando prioridad a los sistemas, SO, software, etc.). -* Despliegue de firmas personalizadas en las herramientas de protección de puntos finales y de seguridad de la red, basándose en los IOC descubiertos. -* **Vigilar la reinfección:** considerar el aumento de la prioridad de las alarmas/alertas relacionadas con este incidente. +1. Detener la propagación del ransomware. + * Aísle los sistemas comprometidos y desconéctelos de la red para evitar una mayor propagación. + * Bloquee el tráfico malicioso y las conexiones de comando y control utilizadas por el ransomware. +2. Identificar y mitigar la amenaza. + * Utilice herramientas de seguridad para identificar y eliminar el ransomware de los sistemas comprometidos. + * Restaure los archivos cifrados desde copias de seguridad limpias y confiables. -#### Referencia: Recursos de remediación +#### Erradicación -`OBJETIVO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la reparación.` +1. Investigar la causa raíz del incidente. + * Realice una revisión exhaustiva de la seguridad de la red y los sistemas para identificar las vulnerabilidades explotadas. + * Corrija las vulnerabilidades identificadas y aplique parches de seguridad según sea necesario. +2. Implementar controles de seguridad adicionales. + * Mejore la detección y la respuesta ante amenazas mediante la implementación de soluciones de seguridad avanzadas. + * Realice auditorías de seguridad regulares y pruebas de penetración para identificar posibles puntos de entrada adicionales. ### Comunicar -`OBJETIVO: Personalizar los pasos de comunicación para el ransomware.` +**Comunicarse con las partes interesadas** para informar sobre el incidente y las acciones tomadas para mitigarlo. -`OBJETIVO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` +1. Notificar a la dirección y al equipo de gestión de crisis. + * Informe a los ejecutivos y a los responsables de la toma de decisiones sobre la naturaleza y el alcance del incidente. + * Proporcione actualizaciones regulares sobre el progreso de la remediación y las medidas de seguridad implementadas. +2. Comunicarse con los usuarios y clientes. + * Notifique a los usuarios sobre el incidente y las medidas tomadas para restaurar la seguridad de sus datos. + * Proporcione orientación sobre cómo protegerse contra futuros ataques de ransomware y cómo recuperar datos cifrados. +3. Coordinar con las autoridades y reguladores pertinentes. + * Notifique a las autoridades de protección de datos y cumpla con cualquier requisito de notificación obligatoria. + * Colabore con las autoridades en la investigación del incidente y en la identificación de los responsables. -> **No recomendamos pagar el rescate:** no garantiza la solución del problema. Puede salir mal (_e._, los errores podrían hacer que los datos sean irrecuperables incluso con la clave). Además, pagar demuestra que el ransomware funciona y podría aumentar los ataques contra ti o contra otros grupos.[[2, paraphrased]](#ransomware-playbook-ref-2) +### Recursos -1. Poner en marcha un plan de continuidad de la actividad/recuperación de desastres: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de respaldo. -1. Recuperar los datos de las copias de seguridad ya limpias en sistemas ya limpios, parcheados y monitorizados (post-erradicación), de acuerdo con nuestra [well-tested backup strategy](#TODO-link-to-actual-resource). - *Comprobar las copias de seguridad en busca de indicadores de peligro - * Considerar la recuperación parcial y las pruebas de integridad de las copias de seguridad -1. ¡Encuentre y pruebe desencriptadores conocidos para la(s) variante(s) descubierta(s) utilizando recursos como el proyecto No More Ransom! Project's [Decryption Tools page](https://www.nomoreransom.org/en/decryption-tools.html). -1. Considerar el pago del rescate por los activos/datos críticos irrecuperables, de acuerdo con la política `OBJETIVO: Ampliar y socializar esta matriz de decisión`. - * Considerar las ramificaciones con las partes interesadas apropiadas - * Comprender las implicaciones financieras y el presupuesto - * Comprender las implicaciones legales, reglamentarias y de seguros - * Comprender los mecanismos (por ejemplo, tecnologías, plataformas, proveedores intermedios/intermediarios) +#### Herramientas y Tecnologías de Seguridad -### Recursos +- Soluciones de Antivirus y Antimalware +- Herramientas de Respuesta a Incidentes de Seguridad (SIEM) +- Soluciones de Copia de Seguridad y Recuperación de Datos +- Herramientas de Análisis de Malware y Sandboxing + +#### Referencia: Artículos y Recursos -#### Referencia: Acciones de los usuarios ante la sospecha de ransomware - -`OBJETIVO: Personalizar los pasos para los usuarios ante la sospecha de ransomware`. - -1. Mantenga la calma y respire profundamente. -1. Desconecte su sistema de la red `OBJETIVO: incluya pasos detallados con capturas de pantalla, una herramienta preinstalada o un script para facilitar esta tarea ("romper en caso de emergencia"), considere los interruptores de corte de red por hardware`. -1. Haz fotos de tu pantalla con tu smartphone mostrando las cosas que has notado: mensajes de rescate, archivos encriptados, mensajes de error del sistema, _etc._. -1. 2. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. Todo ayuda. Documenta lo siguiente: - 1. ¿Qué has notado? - 1. ¿Por qué pensaste que era un problema? - 1. ¿Qué estabas haciendo en el momento en que lo detectaste? - 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? - 1. ¿Dónde estaba cuando ocurrió y en qué red? (oficina/casa/tienda, con cable/inalámbrica, con/sin VPN, _etc._) - 1. ¿Qué sistemas está utilizando? (sistema operativo, nombre de host, _etc._) - 1. ¿Qué cuenta utilizas? - 1. ¿A qué datos suele acceder? - 1. ¿Con quién más se ha puesto en contacto en relación con este incidente y qué le ha dicho? -1. Contacta al [help desk](#TODO-link-to-actual-resource) y ser lo más útil posible -1. Tenga paciencia: la respuesta puede ser perturbadora, pero está protegiendo a su equipo y a la organización. **Gracias.** - -#### Referencia: Acciones del servicio de asistencia técnica ante la sospecha de ransomware - -`OBJETIVO: Personalizar los pasos para el personal de la mesa de ayuda ante la sospecha de ransomware`. - -1. Mantenga la calma y respire profundamente. -1. Abra un ticket para documentar el incidente, según el procedimiento `TODO: Personalizar la plantilla con las preguntas clave (ver abajo) y el flujo de trabajo de seguimiento`. -1. 2. Pida al usuario que tome fotos de su pantalla usando su smartphone mostrando las cosas que ha notado: mensajes de rescate, archivos encriptados, mensajes de error del sistema, _etc._ Si es algo que ha notado directamente, haga lo mismo usted. -1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y lápiz. 2. Si se trata de un informe de usuario, haz preguntas detalladas, incluyendo - 1. ¿Qué ha notado? - 1. ¿Por qué pensaste que era un problema? - 1. ¿Qué estabas haciendo en el momento en que lo detectaste? - 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? - 1. ¿De qué redes se trata? (oficina/casa/tienda, cableada/inalámbrica, con/sin VPN, _etc._) - 1. 2. ¿De qué sistemas se trata? (sistema operativo, nombre de host, _etc._) - 1. 2. ¿De qué datos se trata? (rutas, tipos de archivos, archivos compartidos, bases de datos, software, _etc._) - 1. ¿Qué usuarios y cuentas están implicados? (directorio activo, SaaS, SSO, cuentas de servicio, _etc._) - 1. ¿A qué datos suelen acceder los usuarios implicados? - 1. ¿Con quién más has contactado acerca de este incidente y qué les has dicho? -1. Haz las preguntas de seguimiento que sean necesarias. **Usted es el encargado de responder al incidente, contamos con usted.** -1. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede -1. Registre toda la información en el ticket, incluyendo notas manuscritas y de voz -1. Poner en cuarentena a los usuarios y sistemas afectados `OBJETIVO: Personalizar los pasos de contención, automatizar todo lo posible`. -1. Póngase en contacto con el [equipo de seguridad](#TODO-link-to-actual-resource) y estar preparados para participar en la respuesta según las indicaciones: investigación, reparación, comunicación y recuperación - -#### Información adicional - -1. ["Ransomware Identification for the Judicious Analyst"](https://www.gdatasoftware.com/blog/2019/06/31666-ransomware-identification-for-the-judicious-analyst), Hahn (12 Jun 2019) -1. [No More Ransom!](https://www.nomoreransom.org) Project, including their [Crypto Sheriff](https://www.nomoreransom.org/crypto-sheriff.php?lang=en) service and their [Q&A](https://www.nomoreransom.org/en/ransomware-qa.html) -1. [ID Ransomware](https://id-ransomware.malwarehunterteam.com/) service -1. [MITRE ATT&CK Matrix](https://attack.mitre.org), including the [Initial Access](https://attack.mitre.org/tactics/TA0001/) and [Impact](https://attack.mitre.org/tactics/TA0040/) tactics +1. [No More Ransom Project](https://www.nomoreransom.org/) - Recursos y herramientas gratuitas para recuperar archivos cifrados por ransomware. +2. [Malwarebytes Labs](https://blog.malwarebytes.com/) - Blog con análisis de amenazas y consejos de seguridad contra ransomware y otros tipos de malware. +3. [National Cyber Security Centre (NCSC)](https://www.ncsc.gov.uk/) - Recursos y guías sobre cómo prevenir y responder a incidentes de ransomware. diff --git a/playbooks/playbook-steal-web-session-cookie.md b/playbooks/playbook-steal-web-session-cookie.md new file mode 100644 index 0000000..406f8c5 --- /dev/null +++ b/playbooks/playbook-steal-web-session-cookie.md @@ -0,0 +1,77 @@ +## Playbook: Robo de Cookies de Sesión Web + +**Investigar, remediar (contener, erradicar) y comunicar en paralelo!** +Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial. Utilice su mejor criterio. + +### Investigar + +1. Identificar el incidente de robo de cookies de sesión web. + * Recopile información sobre cómo se descubrió el incidente y qué indicadores lo señalan. + * Confirme si se ha producido el robo de cookies de sesión y cuándo ocurrió. +2. Determinar el alcance del incidente. + * Identifique qué sistemas o aplicaciones se ven afectados por el robo de cookies de sesión. + * Evalúe el número de usuarios afectados y la sensibilidad de los datos comprometidos. +3. Recopilar evidencia forense. + * Capture y preserve las cookies de sesión comprometidas para su análisis forense. + * Registre los registros del servidor web y de aplicaciones relevantes para identificar la actividad maliciosa. +4. Identificar la causa raíz y el método de compromiso. + * Determine cómo se llevaron a cabo el robo de cookies de sesión y la explotación de las vulnerabilidades. + * Analice los vectores de ataque utilizados por los agresores y las posibles debilidades en la seguridad de la aplicación. +5. Evaluar el impacto del incidente. + * Determine las posibles repercusiones para los usuarios afectados y para la seguridad de los datos de la empresa. + * Evalúe el impacto en la confianza del cliente y la reputación de la empresa. + +### Remediar + +**Planificar la remediación** en la que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. + +#### Contención + +1. Revocar y regenerar todas las cookies de sesión comprometidas. + * Implemente una nueva sesión de autenticación para todos los usuarios afectados. + * Revise y actualice los mecanismos de autenticación y de gestión de sesiones para fortalecer la seguridad. +2. Restablecer las credenciales de acceso de los usuarios afectados. + * Notifique a los usuarios sobre el incidente y solicite que cambien sus contraseñas de inmediato. + * Implemente una política de contraseñas más robusta y fomenta el uso de autenticación de dos factores. +3. Implementar medidas de seguridad adicionales. + * Refuerce las políticas de seguridad de la aplicación y aplique parches de seguridad según sea necesario. + * Configure los sistemas de detección de intrusiones para monitorear la actividad maliciosa y los intentos de robo de cookies de sesión. + +#### Erradicación + +1. Investigar la causa raíz del incidente. + * Realice una revisión exhaustiva de la arquitectura de seguridad de la aplicación y de las configuraciones del servidor para identificar las vulnerabilidades subyacentes. + * Corrija cualquier brecha de seguridad identificada y fortalezca las defensas de la aplicación contra futuros ataques. +2. Realizar una revisión de seguridad completa. + * Realice pruebas de penetración y auditorías de seguridad para identificar posibles puntos de entrada adicionales y áreas de vulnerabilidad. + * Implemente medidas de seguridad adicionales según las recomendaciones de los auditores de seguridad. + +### Comunicar + +**Comunicarse con las partes interesadas** para informar sobre el incidente y las acciones tomadas para mitigarlo. + +1. Notificar a la dirección y al equipo de gestión de crisis. + * Informe a los ejecutivos y a los responsables de la toma de decisiones sobre la naturaleza y el alcance del incidente. + * Proporcione actualizaciones regulares sobre el progreso de la remediación y las medidas de seguridad implementadas. +2. Comunicarse con los usuarios afectados. + * Notifique a los usuarios sobre el incidente y proporcione instrucciones claras sobre cómo proteger sus cuentas y datos. + * Ofrezca asistencia y recursos adicionales, como líneas directas de atención al cliente y sitios web de ayuda. +3. Coordinar con las autoridades y reguladores pertinentes. + * Notifique a las autoridades de protección de datos y cumpla con cualquier requisito de notificación obligatoria. + * Colabore con las autoridades en la investigación del incidente y en la identificación de los responsables. + +### Recursos + +#### Herramientas y Tecnologías de Seguridad + +- Gestores de contraseñas seguras (LastPass, 1Password) +- Sistemas de autenticación de dos factores (Google Authenticator, Authy) +- Herramientas de detección de intrusiones (Snort, Suricata) +- Herramientas de análisis forense digital (Sleuth Kit, Autopsy) +- Escáneres de vulnerabilidad de aplicaciones web (Nessus, Acunetix) + +#### Referencia: Artículos y Recursos + +1. [OWASP Top 10](https://owasp.org/www-project-top-ten/) - Lista de las principales vulnerabilidades de seguridad en aplicaciones web. +2. [SANS Institute](https://www.sans.org/) - Recursos y formación en seguridad informática. +3. [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework) - Marco de trabajo para mejorar la seguridad cibernética de las organizaciones. From 5eb4aac67e7a8ad6f0cb09f215b01114eae9fac0 Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sat, 30 Mar 2024 20:41:29 +0100 Subject: [PATCH 089/199] =?UTF-8?q?feat:=20a=C3=B1adir=20nomenclatura=20in?= =?UTF-8?q?cidente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/plan.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/plan.md b/examples/plan.md index c2ca8c0..934fc00 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -41,7 +41,12 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en ## Nombre del incidente Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.html) para referirse al incidente -un nombre en clave- para utilizarlo en el archivo de incidentes y en los canales. -## Todo: Personalizar el procedimiento de nomenclatura de incidentes. + +El procedimiento de nomenclatura de los incidentes será el siguiente: + +Consistirá en un número, que empezará con el 0 siendo el primer incidente que se registre, seguido de un guión y la fecha en el siguiente formato: DDMAAAA, construyendo el mes en base a sus tres primeras letras en español. Por ejemplo, para el 3 incidente, sucedido el 2 de Mayo de 2024 tendríamos el código: + +- **2-02MAY2024** ## Reunir el equipo de respuesta From 7e720875f2fd7844d4263113e84024d4b4e25eca Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sat, 30 Mar 2024 20:41:44 +0100 Subject: [PATCH 090/199] feat: variables base modificadas --- info.yml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/info.yml b/info.yml index 5902a3d..e2692b2 100644 --- a/info.yml +++ b/info.yml @@ -3,67 +3,67 @@ # por el dato que queramos. # The name of your organization (e.g., Acme, Inc.) -COMPANY_NAME: '{{COMPANY_NAME}}' +COMPANY_NAME: 'Netmancer Incorporated' # Name and email of plan author (e.g., Chris) -AUTHOR_NAME: '{{AUTHOR_NAME}}'' +AUTHOR_NAME: 'GRUPO 3' # Email of plan author (e.g., contact@counteractive.net) -AUTHOR_EMAIL: '{{AUTHOR_EMAIL}}' +AUTHOR_EMAIL: 'grupo3@g.educaand.es' # Document control metadata (e.g., 1) -REVISION_NUMBER: '{{REVISION_NUMBER}}' +REVISION_NUMBER: '1' # Document control metadata (e.g., 7 Jan 2021) -RELEASE_DATE: '{{RELEASE_DATE}}' +RELEASE_DATE: '31 de Marzo de 2024' # Date someone last reviewed the plan (e.g., 7 Jan 2021) -REVIEW_DATE: '{{REVIEW_DATE}}' +REVIEW_DATE: '31 de Marzo de 2024' # Date someone last tested the plan (e.g., 7 Jan 2021) -TEST_DATE: '{{TEST_DATE}}' +TEST_DATE: '31 de Marzo de 2024' # URL or reference to IR chat program like Teams, Slack, or Discord (e.g., chat.acme.tld/codename) -RESPONSE_CHAT: '{{RESPONSE_CHAT}}' +RESPONSE_CHAT: 'https://discordapp.com/channels/1160937443617411112/1160937444200415276' # Phone number for response teleconference (e.g., 123-456-7890) -RESPONSE_PHONE: '{{RESPONSE_PHONE}}' +RESPONSE_PHONE: '956 24 33 17' # URL for response video teleconference (VTC) like Zoom or WebEx (e.g., zoom.acme.tld/codename) -RESPONSE_VTC: '{{RESPONSE_VTC}}' +RESPONSE_VTC: 'https://discordapp.com/channels/1160937443617411112/1160937444200415276' # Description/URL for alternate email (e.g., alt 365 tenant at ir.acme.tld/othermail) -ALTERNATE_EMAIL: '{{ALTERNATE_EMAIL}}' +ALTERNATE_EMAIL: '11001828.edu@juntadeandalucia.es' # Domain name for your organization (e.g., acme.tld) -ORGANIZATION_DOMAIN: '{{ORGANIZATION_DOMAIN}}' +ORGANIZATION_DOMAIN: 'https://iesrafaelalberti.es' # Number or URL to page Commander(s) (e.g., 555-PAGE) -INCIDENT_COMMANDER_PAGER_NUMBER: '{{INCIDENT_COMMANDER_PAGER_NUMBER}}' +INCIDENT_COMMANDER_PAGER_NUMBER: '555-123' # Number or URL to page Commander(s) (e.g., ir.acme.tld/ic-page) -INCIDENT_COMMANDER_PAGER_URL: '{{INCIDENT_COMMANDER_PAGER_URL}}' +INCIDENT_COMMANDER_PAGER_URL: 'https://iesrafaelalberti.es/te-informamos/' # URL/path to Commander roster/list (e.g., ir.acme.tld/ic-roster) -INCIDENT_COMMANDER_ROSTER: '{{INCIDENT_COMMANDER_ROSTER}}' +INCIDENT_COMMANDER_ROSTER: 'https://iesrafaelalberti.es/te-informamos/' # As above, for security team (e.g., ir.acme.tld/sec-roster) -SECURITY_TEAM_ROSTER: '{{SECURITY_TEAM_ROSTER}}' +SECURITY_TEAM_ROSTER: 'https://iesrafaelalberti.es/te-informamos/' # As above, for SMEs (e.g., ir.acme.tld/sme-roster) -TEAM_SME_ROSTER: '{{TEAM_SME_ROSTER}}' +TEAM_SME_ROSTER: 'https://iesrafaelalberti.es/te-informamos/' # As above, for executive team (e.g., ir.acme.tld/exec-roster) -EXECUTIVE_ROSTER: '{{EXECUTIVE_ROSTER}}' +EXECUTIVE_ROSTER: 'https://iesrafaelalberti.es/te-informamos/' # Time to wait for on-duty IC on call (e.g., 15 minutes) INCIDENT_COMMANDER_RESPONSE_SLA: '{{INCIDENT_COMMANDER_RESPONSE_SLA}}' # Time between scheduled updates (e.g., 4 hours) -UPDATE_FREQUENCY: '{{UPDATE_FREQUENCY}}' +UPDATE_FREQUENCY: '2 Semanas' # URL/path to incident file (e.g., ir.acme.tld/files/codename) -INCIDENT_FILE_LOCATION: '{{INCIDENT_FILE_LOCATION}}' +INCIDENT_FILE_LOCATION: 'https://netmancer.es/src/incidents' # URL/path to critical information list, data you want to protect (e.g., ir.acme.tld/cil) CRITICAL_INFO_LIST_LOCATION: '{{CRITICAL_INFO_LIST_LOCATION}}' From 323b62e52058d66c6b60a0be3114fc77157662e5 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:06:04 +0200 Subject: [PATCH 091/199] Delete playbooks/playbook-identity-and-access.md --- playbooks/playbook-identity-and-access.md | 65 ----------------------- 1 file changed, 65 deletions(-) delete mode 100644 playbooks/playbook-identity-and-access.md diff --git a/playbooks/playbook-identity-and-access.md b/playbooks/playbook-identity-and-access.md deleted file mode 100644 index b5fd475..0000000 --- a/playbooks/playbook-identity-and-access.md +++ /dev/null @@ -1,65 +0,0 @@ - -## Playbook: Compromiso de identidad y acceso - -**Investigar, remediar (contener, erradicar) y comunicar en paralelo!.** - -Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. - -### Investigar - -`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la identidad y el acceso.` - -1. TODO - -### Remediar - -* **Planificar eventos de remediación** en los que estos pasos se lancen juntos (o de forma coordinada), con los equipos apropiados listos para responder a cualquier interrupción. -* **Considere el tiempo y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. - -#### Contención - -`TODO: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la identidad y el acceso.` - -`TODO: Especificar las herramientas y procedimientos para cada paso, a continuación.` - -* TODO - -`TODO: Considerar la automatización de las medidas de contención utilizando herramientas de orquestación.` - -#### Erradicar - -`TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la identidad y el acceso.` - -`TODO: Especificar herramientas y procedimientos para cada paso, a continuación.` - -* TODO - -#### Referencia: Recursos de remediación - -`TODO: Especificar los recursos financieros, de personal y logísticos para llevar a cabo la remediación.` - -### Comunicar - -`TODO: Personalizar los pasos de comunicación para el compromiso de la identidad y el acceso.` - -`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` - -Además de los pasos y orientaciones generales del plan de respuesta a incidentes: - -1. TODO - -### Recuperación - -`TODO: Personalizar los pasos de recuperación para el compromiso de la identidad y el acceso.` - -`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación.` - -Además de los pasos y orientaciones generales del plan de respuesta a incidentes: - -1. TODO - -### Recursos - -#### Información adicional - -1. ["Title"](#TODO-url), Author Last Name (Date) From ea6f3cd0f84f07c6d6d3ba21af00d55b1c85a61d Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:06:41 +0200 Subject: [PATCH 092/199] Delete playbooks/playbook-supply-chain.md --- playbooks/playbook-supply-chain.md | 66 ------------------------------ 1 file changed, 66 deletions(-) delete mode 100644 playbooks/playbook-supply-chain.md diff --git a/playbooks/playbook-supply-chain.md b/playbooks/playbook-supply-chain.md deleted file mode 100644 index f77902a..0000000 --- a/playbooks/playbook-supply-chain.md +++ /dev/null @@ -1,66 +0,0 @@ - -## Playbook: Compromiso de la cadena de suministro - -**Investigar, remediar (contener, erradicar) y comunicar en paralelo!.** - -Asigne pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este libro de jugadas no es puramente secuencial. Utilice su mejor criterio. - -### Investigar - -`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el compromiso de la cadena de suministro.` - -1. TODO - -### Remediar - -* **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. -* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. - -#### Contención - -`TODO: Personalizar los pasos de contención, tácticos y estratégicos, para el compromiso de la cadena de suministro.` - -`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación.` - -*TODO - -`TODO: Considerar la posibilidad de automatizar las medidas de contención mediante herramientas de orquestación.` - -#### Erradicar - -`TODO: Personalizar los pasos de erradicación, tácticos y estratégicos, para el compromiso de la cadena de suministro.` - -`TODO: Especificar las herramientas y los procedimientos para cada paso, a continuación.` - -* TODO - -#### Referencia: Recursos de remediación - -`TODO: Especificar los recursos financieros, de personal y logísticos para llevar a cabo la remediación.` - -### Comunicar - -`TODO: Personalizar los pasos de la comunicación para el compromiso de la cadena de suministro` - -`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o consulte el plan general.` - -Además de los pasos y orientaciones generales del plan de respuesta a incidentes: - -1. TODO - -### Recuperación - -`TODO: Personalizar los pasos de recuperación para el compromiso de la cadena de suministro.` - -`TODO: Especifique las herramientas y procedimientos para cada paso, a continuación.` - -Además de los pasos y orientaciones generales del plan de respuesta a incidentes: - -1. TODO - -### Recursos - -#### Información adicional - -1. ["Title"](#TODO-url), Author Last Name (Date) - From f36948f25ed4fb5b3a617711a849c6e27e7e6442 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:07:35 +0200 Subject: [PATCH 093/199] Add files via upload playbook identity and access, supply chain, wipe disk and create or modify system process --- ...laybook-Create-or-Modify-System-Process.md | 51 +++++++++++++++++++ playbooks/playbook-Identity-and-Access.md | 50 ++++++++++++++++++ playbooks/playbook-Supply-Chain.md | 49 ++++++++++++++++++ playbooks/playbook-Wipe-Disk.md | 43 ++++++++++++++++ 4 files changed, 193 insertions(+) create mode 100644 playbooks/playbook-Create-or-Modify-System-Process.md create mode 100644 playbooks/playbook-Identity-and-Access.md create mode 100644 playbooks/playbook-Supply-Chain.md create mode 100644 playbooks/playbook-Wipe-Disk.md diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md new file mode 100644 index 0000000..d02397a --- /dev/null +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -0,0 +1,51 @@ + +## Playbook: Compromiso de creacción o modificación de procesos para escalado + +### Investigar + +1. Identificar el origen del ataque. +2. Identificar la vía del ataque. +3. Recopilar evidencias forenses. +4. Evaluar el impacto del ataque. +5. Determinar las vulnerabilidades explotadas y las técnicas usadas. + +### Remediar + +1. Eliminar la amenaza inicial dependiendo del origen del ataque. +2. Aplicar parches de seguridad a los sistemas afectados si el sistema no ha sido actualizado con anterioridad. +3. Si los datos han sido afectados, restaurar la integridad de los mismos a través de las copias de seguridad. +4. Comprobar los logs generados por el sistema sobre el acceso al sistema vulnerado. +5. Reforzar las medidas de control de acceso a los sistemas si es posible. +6. Actualizar politicas de seguridad. +7. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. +8. Monitorizar los sitemas afectados para identificar con mayor facilidad los futuros ataques. + +#### Contención + +1. Separar el sistema o sistemas afectados de la red. +2. Monitorizar los procesos afectados. + +#### Erradicar + +- Eliminar el proceso de los dispositivos afectados. +- Restaurar el sistema a un punto anterior donde el proceso no haya sido afectado. + +#### Referencia: Recursos de remediación + + + +### Comunicar + +1. Notificar sobre el incidente al superior o al equipo de IT. +2. Notificar a los proveedores y clientes si sus datos han sido afectados. + +### Recuperación + +1. Verificar si hay más procesos y que el sistema es funcion al tras la eliminación del proceso. +2. Si es necesario, restaurar el sistema a un momento anterior a la aparición del proceso. + +### Recursos + +#### Información adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md new file mode 100644 index 0000000..1dcddde --- /dev/null +++ b/playbooks/playbook-Identity-and-Access.md @@ -0,0 +1,50 @@ +## Playbook: Compromiso de identidad y acceso + +### Investigar + +1. Identificar el origen del ataque. +2. Identificar la vía del ataque. +3. Recopilar evidencias forenses. +4. Evaluar el impacto del ataque. +5. Determinar las vulnerabilidades explotadas y las técnicas usadas. + +### Remediar + +1. Eliminar la amenaza inicial modificando o eliminado la cuenta de usuario afectada. +2. Aplicar parches de seguridad a los sistemas afectados en caso de no haber sido actualizado anteriormente. +3. Si los datos han sido afectados, restaurar la integridad de los mismos a través de las copias de seguridad. +4. Comprobar los logs generados por el sistema sobre el acceso al sistema vulnerado. +5. Reforzar las medidas de control de acceso a los sistemas generando contraseñas más seguras. +6. Actualizar politicas de seguridad. +7. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. +8. Monitorizar los sitemas para identificar con mayor facilidad los futuros ataques. + +#### Contención + +1. Restringir temporalmente los privilegios de usuario para reducir el riesgo. +2. Bloquear el acceso a recursos compartidos en red al usuario vulnerado y desconectar los dispositivos que hayan sido afectados. +3. Monitorizar las cuentas y actividades de usuario sospechosas para detectar posibles intrusiones no deseadas. + +#### Erradicar + +1. Revocar los permisos a los usuarios que hayan sido afectados y restablecer las contraseñas de sus cuentas. +2. Analizar los logs de acceso para identificar y eliminar cuentas de usuario no autorizadas. +3. Implementar autenticación multifactor en todos los sistemas y aplicaciones. +4. Realizar auditorías de seguridad para asegurar que los empleados cumplen las políticas de seguridad referentes a las contraseñas de las cuentas de usuario. + +#### Referencia: Recursos de remediación + +### Comunicar + +1. Notificar sobre el incidente al superior o al equipo de IT. +2. Notificar a los proveedores y clientes si sus datos han sido afectados. + +### Recuperación + +- En caso de no haber sido recuperada la cuenta del empleado, eliminar la cuenta antigua y crearle una cuenta nueva siguiendo las politicas de seguridad de la empresa. + +### Recursos + +#### Información adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) \ No newline at end of file diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md new file mode 100644 index 0000000..c2fa86d --- /dev/null +++ b/playbooks/playbook-Supply-Chain.md @@ -0,0 +1,49 @@ +## Playbook: Compromiso de la cadena de suministro + +### Investigar + +1. Identificar el origen del ataque al sistema afectado. +2. Identificar la vía del ataque. +3. Recopilar evidencias forenses a través de herramientas forenses. +4. Evaluar el impacto del ataque. +5. Determinar las vulnerabilidades explotadas y las técnicas usadas. + +### Remediar + +1. Eliminar la amenaza inicial si es posible y depedendiendo el sistema afectado en la cadena de suministro y el tipo de ataque. +2. Aplicar parches de seguridad a los sistemas afectados en caso de que no se hayan actualizado anteriormente. +3. Si los datos han sido afectados, restaurar la integridad de los mismos a través de las copias de seguridad. +4. Reforzar las medidas de control de acceso a los sistemas generando contraseñas más seguras en todos los sitemas de la cadena de suministro. +5. Actualizar politicas de seguridad. +6. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. +7. Monitorizar los sitemas para identificar con mayor facilidad los futuros ataques. + +#### Contención + +1. Aislar el sistema que haya sido comprometido de la red. +2. Implementar medidas de control de acceso en el sistema de la cadena de suministro que haya sido comprometido restringiendo sus permisos. +3. Reforzar los activos críticos no afectados por el ataque a través de actualizaciones del sistema, generando contraseñas más seguras, etc. + +#### Erradicar + +1. Clasificar el vector de ataque del sistema vulnerado en la cadena de suministro. +2. Analizar los activos afectados dentro del sistema afectado a través de herramientas de análisis forenses. +3. Parchear la vulnerabilidad que ha sido identificada y analizada con actualizaciones más recientes. +4. Eliminar completamente el malware que haya vulnerado el sistema en el caso de que haya sido el problema. +5. Restaurar las copias de seguridad a las más recientes. + +#### Referencia: Recursos de remediación + +### Comunicar + +1. Notificar sobre el incidente al superior o al equipo de IT. +2. Notificar a los proveedores y clientes si sus datos han sido afectados. + +### Recuperación + +1. Restaruar gradualmente las operaciones de la cadena de suministro. +2. Implementar medidas de seguridad adicionales. + +### Información Adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md new file mode 100644 index 0000000..74c148d --- /dev/null +++ b/playbooks/playbook-Wipe-Disk.md @@ -0,0 +1,43 @@ +## Playbook: Compromiso de limpieza de disco + +### Investigar + +1. Identificar el origen del ataque en caso de que haya sido un malware. +2. Identificar la vía del ataque. +3. Recopilar evidencias forenses si es posible. +4. Evaluar el impacto del ataque. +5. Determinar las vulnerabilidades explotadas y las técnicas usadas. + +### Remediar + +1. En caso de no hacerse, planificar copias de seguridad. +2. Actualizar politicas de seguridad. +3. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. + +#### Contención + +1. Detectar que datos se guardaron en el disco duro si el origen del ataque ha sido un malware que haya podido extenderse por la red. +2. Eliminar el dispositivo afectado que contenía el disco duro de la red en caso de malware. +3. Prohibir cualquier acceso no autorizado al disco duro. + +#### Erradicar + +- Crear copias de seguridad de los discos duros. + +#### Referencia: Recursos de remediación + + +### Comunicar + +1. Notificar sobre el incidente al superior o al equipo de IT. +2. Notificar a los proveedores y clientes si sus datos han sido afectados. + +### Recuperación + +- Restaurar la última copia de seguridad de los discos duros afectados. + +### Recursos + +#### Información adicional + +1. ["Title"](#TODO-url), Author Last Name (Date) From f0d0f043f59f1d858d3d66c958be39d1fe089d33 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:09:22 +0200 Subject: [PATCH 094/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index d02397a..573c330 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -1,5 +1,5 @@ -## Playbook: Compromiso de creacción o modificación de procesos para escalado +## Playbook: Compromiso de creacción o modificación de procesos para escalado. ### Investigar @@ -27,13 +27,9 @@ #### Erradicar -- Eliminar el proceso de los dispositivos afectados. +- Eliminar el proceso de los dispositivos afectados parandolo o eliminandolo directamente. - Restaurar el sistema a un punto anterior donde el proceso no haya sido afectado. -#### Referencia: Recursos de remediación - - - ### Comunicar 1. Notificar sobre el incidente al superior o al equipo de IT. @@ -46,6 +42,4 @@ ### Recursos -#### Información adicional -1. ["Title"](#TODO-url), Author Last Name (Date) From b508ea7b8636a25f0265c2ce82037b382dc41ea0 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:09:58 +0200 Subject: [PATCH 095/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 573c330..0e7c346 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -28,7 +28,7 @@ #### Erradicar - Eliminar el proceso de los dispositivos afectados parandolo o eliminandolo directamente. -- Restaurar el sistema a un punto anterior donde el proceso no haya sido afectado. +- Restaurar el sistema a un punto anterior donde el proceso no haya sido modificado o creado. ### Comunicar From 9e226b50375f73c2879c8a6c6585d9a5df8dcd0d Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:15:03 +0200 Subject: [PATCH 096/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 0e7c346..03f0775 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -15,8 +15,8 @@ 2. Aplicar parches de seguridad a los sistemas afectados si el sistema no ha sido actualizado con anterioridad. 3. Si los datos han sido afectados, restaurar la integridad de los mismos a través de las copias de seguridad. 4. Comprobar los logs generados por el sistema sobre el acceso al sistema vulnerado. -5. Reforzar las medidas de control de acceso a los sistemas si es posible. -6. Actualizar politicas de seguridad. +5. Reforzar las medidas de control de acceso a los sistemas si es posible a través de contraseñas más seguras y autenticación multifactor. +6. Actualizar politicas de seguridad que haya sido afectada o crearla en caso de ser necesaria. 7. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. 8. Monitorizar los sitemas afectados para identificar con mayor facilidad los futuros ataques. @@ -40,6 +40,7 @@ 1. Verificar si hay más procesos y que el sistema es funcion al tras la eliminación del proceso. 2. Si es necesario, restaurar el sistema a un momento anterior a la aparición del proceso. -### Recursos - +### Herramientas +1. Para la eliminación del proceso se puede utilizar el mismo administrador de tareas de Windows o el comando kill de Linux. +2. Para monitorizar los procesos en Windows podemos usar Process Monitor de Systernals. From b979ff626c5c3cdd07862e16ee010ce8d8941b5c Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:15:31 +0200 Subject: [PATCH 097/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index 1dcddde..299a53f 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -42,9 +42,3 @@ ### Recuperación - En caso de no haber sido recuperada la cuenta del empleado, eliminar la cuenta antigua y crearle una cuenta nueva siguiendo las politicas de seguridad de la empresa. - -### Recursos - -#### Información adicional - -1. ["Title"](#TODO-url), Author Last Name (Date) \ No newline at end of file From 845facee9f2d0c5196e648be34df52ac9926b898 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:16:32 +0200 Subject: [PATCH 098/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index 299a53f..a71264e 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -27,10 +27,11 @@ #### Erradicar -1. Revocar los permisos a los usuarios que hayan sido afectados y restablecer las contraseñas de sus cuentas. -2. Analizar los logs de acceso para identificar y eliminar cuentas de usuario no autorizadas. -3. Implementar autenticación multifactor en todos los sistemas y aplicaciones. -4. Realizar auditorías de seguridad para asegurar que los empleados cumplen las políticas de seguridad referentes a las contraseñas de las cuentas de usuario. +1. En caso de que haya sido creado un playbook para el tipo de ataque que ha vulnerado el sistema con anterioridad, seguirlo paso a paso. +2. Revocar los permisos a los usuarios que hayan sido afectados y restablecer las contraseñas de sus cuentas. +3. Analizar los logs de acceso para identificar y eliminar cuentas de usuario no autorizadas. +4. Implementar autenticación multifactor en todos los sistemas y aplicaciones. +5. Realizar auditorías de seguridad para asegurar que los empleados cumplen las políticas de seguridad referentes a las contraseñas de las cuentas de usuario.+ #### Referencia: Recursos de remediación From 1bd02294c1713d1dd9774f852202aa57f6e84415 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:17:09 +0200 Subject: [PATCH 099/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index a71264e..a9f8e27 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -43,3 +43,7 @@ ### Recuperación - En caso de no haber sido recuperada la cuenta del empleado, eliminar la cuenta antigua y crearle una cuenta nueva siguiendo las politicas de seguridad de la empresa. + +### Recursos + +- Playbooks generados para los diferentes tipos de ataques. From 41702e2625010b07136a304da686901cea576468 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:17:22 +0200 Subject: [PATCH 100/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 03f0775..33ada2e 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -40,7 +40,7 @@ 1. Verificar si hay más procesos y que el sistema es funcion al tras la eliminación del proceso. 2. Si es necesario, restaurar el sistema a un momento anterior a la aparición del proceso. -### Herramientas +### Recursos 1. Para la eliminación del proceso se puede utilizar el mismo administrador de tareas de Windows o el comando kill de Linux. 2. Para monitorizar los procesos en Windows podemos usar Process Monitor de Systernals. From b47db2c6c0308dc3c039c9d594f19aed7b21985a Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:17:53 +0200 Subject: [PATCH 101/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index a9f8e27..decac07 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -27,11 +27,10 @@ #### Erradicar -1. En caso de que haya sido creado un playbook para el tipo de ataque que ha vulnerado el sistema con anterioridad, seguirlo paso a paso. -2. Revocar los permisos a los usuarios que hayan sido afectados y restablecer las contraseñas de sus cuentas. -3. Analizar los logs de acceso para identificar y eliminar cuentas de usuario no autorizadas. -4. Implementar autenticación multifactor en todos los sistemas y aplicaciones. -5. Realizar auditorías de seguridad para asegurar que los empleados cumplen las políticas de seguridad referentes a las contraseñas de las cuentas de usuario.+ +1. Revocar los permisos a los usuarios que hayan sido afectados y restablecer las contraseñas de sus cuentas. +2. Analizar los logs de acceso para identificar y eliminar cuentas de usuario no autorizadas. +3. Implementar autenticación multifactor en todos los sistemas y aplicaciones. +4. Realizar auditorías de seguridad para asegurar que los empleados cumplen las políticas de seguridad referentes a las contraseñas de las cuentas de usuario.+ #### Referencia: Recursos de remediación @@ -46,4 +45,3 @@ ### Recursos -- Playbooks generados para los diferentes tipos de ataques. From 1ac501d7489d578ae7cae7a688c45939f021a19e Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:18:20 +0200 Subject: [PATCH 102/199] Update playbook-Supply-Chain.md --- playbooks/playbook-Supply-Chain.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md index c2fa86d..765069a 100644 --- a/playbooks/playbook-Supply-Chain.md +++ b/playbooks/playbook-Supply-Chain.md @@ -31,7 +31,8 @@ 3. Parchear la vulnerabilidad que ha sido identificada y analizada con actualizaciones más recientes. 4. Eliminar completamente el malware que haya vulnerado el sistema en el caso de que haya sido el problema. 5. Restaurar las copias de seguridad a las más recientes. - +6. En caso de que haya sido creado un playbook para el tipo de ataque que ha vulnerado el sistema con anterioridad, seguirlo paso a paso. + #### Referencia: Recursos de remediación ### Comunicar From 1b1e896afaf9bce83b6ebdfbaa855045afbc6645 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:21:57 +0200 Subject: [PATCH 103/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index decac07..28efb2a 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -45,3 +45,5 @@ ### Recursos +1. Para eliminar la cuenta de usuario o modificarla podemos usar el administrador de cuentas de Windows llamado "Cuentas". +2. Para monitorizar cuentas de usuario podemos utilizar el registro de eventos de Windows. From e650bd13d4fa8fcc14b970a0403f32b6fb8b834d Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:23:12 +0200 Subject: [PATCH 104/199] Update playbook-Wipe-Disk.md --- playbooks/playbook-Wipe-Disk.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md index 74c148d..a1aa7b1 100644 --- a/playbooks/playbook-Wipe-Disk.md +++ b/playbooks/playbook-Wipe-Disk.md @@ -24,9 +24,6 @@ - Crear copias de seguridad de los discos duros. -#### Referencia: Recursos de remediación - - ### Comunicar 1. Notificar sobre el incidente al superior o al equipo de IT. @@ -35,9 +32,3 @@ ### Recuperación - Restaurar la última copia de seguridad de los discos duros afectados. - -### Recursos - -#### Información adicional - -1. ["Title"](#TODO-url), Author Last Name (Date) From f2ca8706a341641b3b62b28e324497b55e8d3ebd Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:23:39 +0200 Subject: [PATCH 105/199] Update playbook-Supply-Chain.md --- playbooks/playbook-Supply-Chain.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md index 765069a..1af2e76 100644 --- a/playbooks/playbook-Supply-Chain.md +++ b/playbooks/playbook-Supply-Chain.md @@ -32,8 +32,6 @@ 4. Eliminar completamente el malware que haya vulnerado el sistema en el caso de que haya sido el problema. 5. Restaurar las copias de seguridad a las más recientes. 6. En caso de que haya sido creado un playbook para el tipo de ataque que ha vulnerado el sistema con anterioridad, seguirlo paso a paso. - -#### Referencia: Recursos de remediación ### Comunicar @@ -44,7 +42,3 @@ 1. Restaruar gradualmente las operaciones de la cadena de suministro. 2. Implementar medidas de seguridad adicionales. - -### Información Adicional - -1. ["Title"](#TODO-url), Author Last Name (Date) From 52f895d488fc2fe933c9da0f9a8aec66a23beddd Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:24:09 +0200 Subject: [PATCH 106/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index 28efb2a..85129dc 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -19,21 +19,19 @@ 7. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. 8. Monitorizar los sitemas para identificar con mayor facilidad los futuros ataques. -#### Contención +### Contención 1. Restringir temporalmente los privilegios de usuario para reducir el riesgo. 2. Bloquear el acceso a recursos compartidos en red al usuario vulnerado y desconectar los dispositivos que hayan sido afectados. 3. Monitorizar las cuentas y actividades de usuario sospechosas para detectar posibles intrusiones no deseadas. -#### Erradicar +### Erradicar 1. Revocar los permisos a los usuarios que hayan sido afectados y restablecer las contraseñas de sus cuentas. 2. Analizar los logs de acceso para identificar y eliminar cuentas de usuario no autorizadas. 3. Implementar autenticación multifactor en todos los sistemas y aplicaciones. 4. Realizar auditorías de seguridad para asegurar que los empleados cumplen las políticas de seguridad referentes a las contraseñas de las cuentas de usuario.+ -#### Referencia: Recursos de remediación - ### Comunicar 1. Notificar sobre el incidente al superior o al equipo de IT. From 25fa8a14e401cb0858e7ad3cdb85852da50b128e Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:24:22 +0200 Subject: [PATCH 107/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 33ada2e..4dd69a3 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -20,12 +20,12 @@ 7. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. 8. Monitorizar los sitemas afectados para identificar con mayor facilidad los futuros ataques. -#### Contención +### Contención 1. Separar el sistema o sistemas afectados de la red. 2. Monitorizar los procesos afectados. -#### Erradicar +### Erradicar - Eliminar el proceso de los dispositivos afectados parandolo o eliminandolo directamente. - Restaurar el sistema a un punto anterior donde el proceso no haya sido modificado o creado. From 2a50e39fecc4d3781ddf8a384d2749bfc7a0503e Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:24:33 +0200 Subject: [PATCH 108/199] Update playbook-Wipe-Disk.md --- playbooks/playbook-Wipe-Disk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md index a1aa7b1..6d60c4c 100644 --- a/playbooks/playbook-Wipe-Disk.md +++ b/playbooks/playbook-Wipe-Disk.md @@ -14,13 +14,13 @@ 2. Actualizar politicas de seguridad. 3. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. -#### Contención +### Contención 1. Detectar que datos se guardaron en el disco duro si el origen del ataque ha sido un malware que haya podido extenderse por la red. 2. Eliminar el dispositivo afectado que contenía el disco duro de la red en caso de malware. 3. Prohibir cualquier acceso no autorizado al disco duro. -#### Erradicar +### Erradicar - Crear copias de seguridad de los discos duros. From 878d3ced5ebf70f9689e10503aa642e7e2a3e414 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:24:43 +0200 Subject: [PATCH 109/199] Update playbook-Supply-Chain.md --- playbooks/playbook-Supply-Chain.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md index 1af2e76..2906b7b 100644 --- a/playbooks/playbook-Supply-Chain.md +++ b/playbooks/playbook-Supply-Chain.md @@ -18,13 +18,13 @@ 6. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. 7. Monitorizar los sitemas para identificar con mayor facilidad los futuros ataques. -#### Contención +### Contención 1. Aislar el sistema que haya sido comprometido de la red. 2. Implementar medidas de control de acceso en el sistema de la cadena de suministro que haya sido comprometido restringiendo sus permisos. 3. Reforzar los activos críticos no afectados por el ataque a través de actualizaciones del sistema, generando contraseñas más seguras, etc. -#### Erradicar +### Erradicar 1. Clasificar el vector de ataque del sistema vulnerado en la cadena de suministro. 2. Analizar los activos afectados dentro del sistema afectado a través de herramientas de análisis forenses. From 2559f8ac7e9511aead90a228b02d68571d728fbe Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:25:09 +0200 Subject: [PATCH 110/199] Update playbook-Supply-Chain.md --- playbooks/playbook-Supply-Chain.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md index 2906b7b..59ced77 100644 --- a/playbooks/playbook-Supply-Chain.md +++ b/playbooks/playbook-Supply-Chain.md @@ -20,7 +20,7 @@ ### Contención -1. Aislar el sistema que haya sido comprometido de la red. +1. Aislar el sistema que haya sido comprometido de la red quitando el cable de red. 2. Implementar medidas de control de acceso en el sistema de la cadena de suministro que haya sido comprometido restringiendo sus permisos. 3. Reforzar los activos críticos no afectados por el ataque a través de actualizaciones del sistema, generando contraseñas más seguras, etc. From e3297b8af697e9d68f86cae0716114966175aaa6 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:26:10 +0200 Subject: [PATCH 111/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 1 - 1 file changed, 1 deletion(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 4dd69a3..3b9d2dc 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -1,4 +1,3 @@ - ## Playbook: Compromiso de creacción o modificación de procesos para escalado. ### Investigar From 9f503b82a7b8ac1fcffef4366244652fa668224c Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:27:05 +0200 Subject: [PATCH 112/199] Update playbook-Wipe-Disk.md --- playbooks/playbook-Wipe-Disk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md index 6d60c4c..eafd35f 100644 --- a/playbooks/playbook-Wipe-Disk.md +++ b/playbooks/playbook-Wipe-Disk.md @@ -1,4 +1,4 @@ -## Playbook: Compromiso de limpieza de disco +## Playbook: Limpieza de disco ### Investigar From 9aa1c3445ee3ab68670123a2e8551aa13b67701e Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:27:23 +0200 Subject: [PATCH 113/199] Update playbook-Create-or-Modify-System-Process.md --- playbooks/playbook-Create-or-Modify-System-Process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Create-or-Modify-System-Process.md b/playbooks/playbook-Create-or-Modify-System-Process.md index 3b9d2dc..7f7d68b 100644 --- a/playbooks/playbook-Create-or-Modify-System-Process.md +++ b/playbooks/playbook-Create-or-Modify-System-Process.md @@ -1,4 +1,4 @@ -## Playbook: Compromiso de creacción o modificación de procesos para escalado. +## Playbook: Creacción o modificación de procesos para escalado. ### Investigar From 2828547674019af84d27b54f505b515ea55db413 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 16:29:25 +0200 Subject: [PATCH 114/199] Update playbook-Wipe-Disk.md --- playbooks/playbook-Wipe-Disk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md index eafd35f..a1b19ba 100644 --- a/playbooks/playbook-Wipe-Disk.md +++ b/playbooks/playbook-Wipe-Disk.md @@ -22,7 +22,7 @@ ### Erradicar -- Crear copias de seguridad de los discos duros. +- Restaurar las copias de seguridad a la más recientes. ### Comunicar From 75a029d74ae4c1642917c6d7e451b9700c7adf73 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 16:36:08 +0200 Subject: [PATCH 115/199] Update playbook-Supply-Chain.md --- playbooks/playbook-Supply-Chain.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/playbook-Supply-Chain.md b/playbooks/playbook-Supply-Chain.md index 59ced77..5557bd4 100644 --- a/playbooks/playbook-Supply-Chain.md +++ b/playbooks/playbook-Supply-Chain.md @@ -13,10 +13,10 @@ 1. Eliminar la amenaza inicial si es posible y depedendiendo el sistema afectado en la cadena de suministro y el tipo de ataque. 2. Aplicar parches de seguridad a los sistemas afectados en caso de que no se hayan actualizado anteriormente. 3. Si los datos han sido afectados, restaurar la integridad de los mismos a través de las copias de seguridad. -4. Reforzar las medidas de control de acceso a los sistemas generando contraseñas más seguras en todos los sitemas de la cadena de suministro. +4. Reforzar las medidas de control de acceso a los sistemas generando contraseñas más seguras en todos los sistemas de la cadena de suministro. 5. Actualizar politicas de seguridad. 6. Actualizar playbooks con las lecciones aprendidas y nuevos metodos de remediación. -7. Monitorizar los sitemas para identificar con mayor facilidad los futuros ataques. +7. Monitorizar los sistemas para identificar con mayor facilidad los futuros ataques. ### Contención From a0869c81b79a6c05c2c4c07f111ac09daee40006 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 16:46:24 +0200 Subject: [PATCH 116/199] Update playbook-Wipe-Disk.md --- playbooks/playbook-Wipe-Disk.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/playbooks/playbook-Wipe-Disk.md b/playbooks/playbook-Wipe-Disk.md index a1b19ba..09e09a8 100644 --- a/playbooks/playbook-Wipe-Disk.md +++ b/playbooks/playbook-Wipe-Disk.md @@ -32,3 +32,7 @@ ### Recuperación - Restaurar la última copia de seguridad de los discos duros afectados. + +### Recursos + +1. Herramienta para crear copias de seguridad y restaurarlas del servidor llamada Bacula. From f67f00a027f52945b40c8bc46c86f284a5ebd26b Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 16:47:56 +0200 Subject: [PATCH 117/199] Update playbook-Identity-and-Access.md --- playbooks/playbook-Identity-and-Access.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/playbook-Identity-and-Access.md b/playbooks/playbook-Identity-and-Access.md index 85129dc..f6b75aa 100644 --- a/playbooks/playbook-Identity-and-Access.md +++ b/playbooks/playbook-Identity-and-Access.md @@ -44,4 +44,4 @@ ### Recursos 1. Para eliminar la cuenta de usuario o modificarla podemos usar el administrador de cuentas de Windows llamado "Cuentas". -2. Para monitorizar cuentas de usuario podemos utilizar el registro de eventos de Windows. +2. Para monitorizar cuentas de usuario podemos utilizar el propio registro de eventos de Windows. From 7394e1560b3a4bebf057c49541ee76237c5291ed Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 16:59:53 +0200 Subject: [PATCH 118/199] Update 3.a.md --- preguntas/3.a.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/preguntas/3.a.md b/preguntas/3.a.md index 1b4b07f..820db17 100644 --- a/preguntas/3.a.md +++ b/preguntas/3.a.md @@ -1 +1,3 @@ -### 3.a ¿Como te has asegurado de que tu plan tiene respuestas resilientes? ¿Porque son resilientes y en qué fases se centran? \ No newline at end of file +### 3.a ¿Como te has asegurado de que tu plan tiene respuestas resilientes? ¿Porque son resilientes y en qué fases se centran? + +Nos hemos asegurado de que son resilentes investigando cada tipo de ataque y las técnicas usadas por los atacantes, gracias a esta investigación hemos podido crear una serie de playbooks que de manera segura establece unos puntos de remediación, erradicación y contención que nos permitirá defender los activos críticos de la empresa. Cada punto cubre una serie de pasos que debemos seguir para proteger estos activos de manera eficaz y concisa que nos permite restaurar el orden de trabajo lo más rápido posible. From 115e07ef67871b975dabb69f32428aeeefe09d83 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 17:00:24 +0200 Subject: [PATCH 119/199] Update 3.a.md --- preguntas/3.a.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/preguntas/3.a.md b/preguntas/3.a.md index 820db17..43ee0d0 100644 --- a/preguntas/3.a.md +++ b/preguntas/3.a.md @@ -1,3 +1,3 @@ ### 3.a ¿Como te has asegurado de que tu plan tiene respuestas resilientes? ¿Porque son resilientes y en qué fases se centran? -Nos hemos asegurado de que son resilentes investigando cada tipo de ataque y las técnicas usadas por los atacantes, gracias a esta investigación hemos podido crear una serie de playbooks que de manera segura establece unos puntos de remediación, erradicación y contención que nos permitirá defender los activos críticos de la empresa. Cada punto cubre una serie de pasos que debemos seguir para proteger estos activos de manera eficaz y concisa que nos permite restaurar el orden de trabajo lo más rápido posible. +Nos hemos asegurado de que son resilentes investigando cada tipo de ataque y las técnicas usadas por los atacantes. Gracias a esta investigación hemos realizado, se ha podido crear una serie de playbooks que de manera segura establece unos puntos de remediación, erradicación y contención que nos permitirá defender los activos críticos de la empresa. Cada punto cubre una serie de pasos que debemos seguir para proteger estos activos de manera eficaz y concisa que nos permite restaurar el orden de trabajo lo más rápido posible. From 8361c30700d58363986f097c3af1d6caea70a4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 17:12:06 +0200 Subject: [PATCH 120/199] Delete playbooks/playbook-phishing.md --- playbooks/playbook-phishing.md | 183 --------------------------------- 1 file changed, 183 deletions(-) delete mode 100644 playbooks/playbook-phishing.md diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md deleted file mode 100644 index 21112bb..0000000 --- a/playbooks/playbook-phishing.md +++ /dev/null @@ -1,183 +0,0 @@ - -## Playbook: Phishing - -**Investigar, remediar (contener, erradicar), y comunicar en paralelo!** - -Asigna pasos a individuos o equipos para que trabajen simultáneamente, cuando sea posible; este playbook no es meramente secuencial. Utilice su mejor criterio. - -### Investigar - -`TODO: Ampliar los pasos de las investigaciones, incluyendo preguntas y estrategias claves, para el phishing.` - -1. **Ámbito del ataque** Normalmente se le notificará que se está produciendo un posible ataque de phishing, ya sea por parte de un usuario, cliente o socio. - * Determinar el **número total de usuarios afectados**. - * Comprender **las acciones de los usuarios** en la respuesta al phishing de un correo electrónico (_e.j._, ¿Descargarón el archivo adjunto?, ¿Visitarón el sitio suplantado?, ¿O, dieron alguna información personal o comercial como credenciales?) - * Encontrar la actividad potencialmente relacionada. Comprueba: - * Redes Sociales - * Cualquier correo electrónico sospechoso posible. - * Correos electrónicos con enlaces a URL's externas y desconocidas. - * Correos electrónicos de no-retorno o no-entregables. - * Cualquier tipo de notificación de actividad sospechosa. -1. **Analizar el mensaje** utilizando un dispositivo seguro (es decir, **no** abrir los mensajes en un dispositivo con acceso a datos sensibles o credenciales ya que el mensaje puede contener malware), determinar: -`TODO: Especificar las herramientas y el procedimiento`. - * Quién ha recibido el mensaje - * Quién era el objetivo del mensaje (puede ser diferente de los destinatarios a los que iba realmente dirigido el mensaje) - * Dirección de correo electrónico del remitente - * línea de asunto - * Cuerpo del mensaje - * Adjuntos (**no abra los archivos adjuntos** salvo según los procedimientos establecidos) - * Enlaces, dominios, y nombres de host (**no siga los enlaces**, excepto según los procedimientos establecidos) - * Metadatos del correo electrónico inluidas las cabeceras de los mensajes (véase más adelante) - * Información del remitente en el campo "de" y en la cabecera del usuario autenticado-X - * Todas las direcciones IP del cliente y del servidor de correo - * Anotar las "peculiaridades" o características sospechosas -1. **Analizar los enlaces y los archivos adjuntos** -`TODO: Especificar las herramientas y el procedimiento` - * Utilizar la recopilación pasiva como nslookup y whois para encontrar direcciones IP e información de registro - * Encontrar dominios relacionados utilizando OSINT (_e.j._, [reverse whois](https://www.whoxy.com/reverse-whois/)) en direcciones de correo electrónico y otros datos de registro. - * Enviar enlaces, archivos adjuntos y/o hashes a [VirusTotal](https://www.virustotal.com/gui/) - * Enviar enlaces, adjuntos y/o hashes a un sandbox de malware como [Cuckoo](https://cuckoosandbox.org/), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/), o [VMray](https://www.vmray.com/). -1. Categorice el tipo de ataque. -`TODO: Personalizar las categorías y crear playbooks adicionales para tipos de phishing comunes o de alto impacto` -1. **Determine la gravedad.** Considerar: - * Si la seguridad pública o personal está en riesgo - * Si los datos personales (u otros datos sensibles) están en riesgo - * Si hay pruebas de quién está detrás del ataque - * Número de activos afectados - * El impacto preliminar en el negocio - * Si los servicios se ven afectados - * Si se pueden controlar/registrar los sistemas críticos - -`TODO: Ampliar los pasos de la investigación, incluyendo las preguntas y estrategias clave, para el phishing.` - -### Remediar - -* **Planificar eventos de remediación** en los que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. -* **Considere el momento y las compensaciones** de las acciones de remediación: su respuesta tiene consecuencias. - -#### Contener - -`TODO: Personalizar los pasos de contención, tácticos y estrátegicos, para el phishing.` - -`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación.` - -* Contener las cuentas afectadas - * Cambiar las credenciales de acceso - * Reducir el acceso a los servicios, sistemas o datos críticos hasta que se complete la investigación - * Reforzar la autenticación multifactor (MFA) -* Bloquear la actividad en función de los indicadores de compromiso descubiertos, _e.j._: - * Bloquear dominios maliciosos mediante DNS, cortafuegos o proxies - * Bloquear los mensajes con remitentes, cuerpos de mensajes, asuntos, enlaces, archivos adjuntos similares, etc., utilizando la puerta de enlace predeterminada o el servicio de correo electrónico. -* Implementar la retención forense o conservar copias forenses de los mensajes -* Purgar los mensajes relacionados de las bandejas de entrada de otros usuarios, o hacerlos inaccesibles de otro modo. -* Contener el compromiso más amplio de acuerdo con el plan general de IR -* Considerar medidas de contención de los dispositivos móviles, como el borrado a través de la gestión de dispositivos móviles (MDM). Equilibrio con el impacto de la investigación/forense. -* Aumentar el "nivel de alerta" de la detección, con una mayor supervisión, en particular de las cuentas, dominios o direcciones IP relacionadas. -* Considerar la posibilidad de contar con asistencia externa en materia de seguridad para apoyar la investigación y la correción. -* Confirmar las actualizaciones de software y antimalware pertinenestes en los activos. - -#### Referencia: Recursos de Reparación - -`TODO: Especifique los recursos financieros, de personal y logísticos para llevar a cabo la reparación.` - -### Comunicar - -`TODO: Personalizar los pasos de comunicación para el phishing` - -`TODO: Especifique las herramientas y los procedimientos (incluyendo quién debe participar) para cada paso, a continuación, o remítase al plan general.` - -1. Elevar el incidente y comunicarlo a la dirección según el procedimiento -1. Documente el incidente según el procedimiento (y [informe](https://us-cert.cisa.gov/report-phishing)) -1. Comunicarse con los asesores jurídicos internos y externos según el procedimiento, incluyendo discusiones sobre el cumplimiento, la exposición al riesgo, la responsabilidad, el contacto con las fuerzas del orden, _etc._ -1. Comnunicación con los usuarios (interna) - 1. Comunicar las actualizaciones de la respuesta a incidentes según el procedimiento - 1. Comunicar el impacto del incidente **y** las acciones de respuesta al mismo (e.j., contención: "¿Por qué está caído el archivo compartido?") - 1. Comunicar los requisitos: "¿Qué deben hacer y no hacer los usuarios?" -1. Comunicar a los clientes - 1. Centrarse especialmente en aquellos cuyos datos se vieron afectados - 1. Genere las notificaciones requeridas en base a las regulaciones aplicables (particularmente aquellas que puedan considerar el phishing como una violación de datos o que requieren notificaciones de otro tipo) - `TODO: Ampliar los requisitos y procedimientos de notificación para las regulaciones aplicables` -1. Contactar con el/los proveedor/es de seguros - 1. Discutir qué recursos pueden poner a disposición, qué herramientas y proveedores apoyan y pagarán, _etc._ - 1. Cumplir con los requisitos de presentación de informes y reclamaciones para proteger la elegibilidad. -1. Considere la posibilidad de notificar e implicar a [las fuerzas del orden](https://www.policia.es/_es/tupolicia_conocenos_estructura_dao_cgpoliciajudicial_bcit.php) - `TODO: Vincule los siguiente puntos con los recursos reales de su organización` - 1. [Aplicación de la ley local](#TODO-enlace-a-actual-recurso) - 1. [Aplicación de la ley a nivel estatal o regional](#TODO-enlace-a-actual-recurso) - 1. [Fuerzas de seguridad nacionales o europeas](#TODO-enlace-a-actual-recurso) -1. Comuníquese con los proveedores de seguridad y de TI - `TODO: Vincule las siguientes viñetas con los recursos reales de su organización` - 1. Notifique y colabore con [proveedores gestionados](#TODO-enlace-a-actual-recurso) para el procedimiento - 1. Notifique y colabore con [consultores de respuesta ante incidentes](#TODO-enlace-a-actual-recurso) para el procedimiento - -### Recuperación - -`TODO: Personalizar los pasos de recuperación para el phishing` - -`TODO: Especifique las herramientas y los procedimientos para cada paso, a continuación` - -1. Poner en marcha un plan de continuidad de negocio/recuperación de desastres si el compromiso implica interrupciones de negocio: _e.j._, considerar la migración a ubicaciones operativas alternativas, clústers de conmutación por error, sistemas de copias de seguridad. -1. Reforzar los programas de formación sobre los ataques de phishing sospechosos. Los principales indicadores de sospecha pueden ser: - * Errores ortográficos en el mensaje o en el asunto - * Nombres de remitentes que parezcan de telélefono, incluida la falta de coincidencia entre el nombre y la dirección de correo electrónico. - * Direcciones de correo electrónico personales para asuntos oficiales (e.j., correos electrónicos de gmail o yahoo de colegas de trabajo) - * Líneas de asunto marcadas con "[EXTERNO]" en correos electrónicos que parecen internos. - * [enlaces maliciosos o sospechosos](https://www.pcworld.com/article/248963/how-to-tell-if-a-link-is-safe-without-clicking-on-it.html) - * Recibir un correo electrónico o un archivo adjunto que no se esperaba, pero que proviene de alguien conocido (contactar con el remitente antes de abrirlo). - * Informar de actividades sospechosas al departamento de TI o de seguridad. -1. Asegúrate de que el personal de TI y de seguridad está al día de las técnicas de phishing más recientes. -1. Determine si ha fallado algún control al ser victima de un ataque y rectifíquelo. He aquí una [buena fuente](https://www.proofpoint.com/us/security-awareness/post/14-things-do-after-phishing-attack) a tener en cuenta tras un ataque de phishing. - -### Recursos - -#### Referencia: Acciones del usuario ante la sospecha de un ataque de phishing - -`TODO: Personalizar los pasos para los usuarios ante una sospecha de phishing` - -1. Mantenga la calma y respire profundamente. -1. Haz fotos de tu pantalla con tu smartphone mostrando las cosas que has notado: el mensaje de phishing, el enlace si lo has abierto, la información del remitente. -1. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y boli. Todo por poco que sea, ayuda! Documenta lo siguiente: - 1. ¿Qué has notado? - 1. ¿Por qué pensaste que era un problema? - 1. ¿Qué estabas haciendo en el momento en que lo detectaste? - 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? - 1. ¿Dónde estaba cuando ocurrió y en qué red? (oficina/casa/tienda, con cable/inalámbrica, con/sin VPN, _etc._) - 1. ¿Qué sistemas está utilizando? (sistema operativo, nombre de host, _etc._) - 1. ¿Qué cuenta utilizas? - 1. ¿A qué datos suele acceder? - 1. ¿Con quién más te has puesto en contacto sobre este incidente y qué les has dicho? -1. Ponte en contacto con el [servicio de ayuda](#TODO-enlace-a-actual-recurso) utlizando la [línea directa de phishing](#TODO-enlace-a-actual-recurso) o la [barra de herramientas de informe de phishing](#TODO-enlace-a-actual-recurso) y sé lo más servicial posible. -1. Ten paciencia: La respuesta puede ser perturbardora, pero estas protegiendo a tu equipo y a la organización! **Gracias.** - -#### Referencia: Acciones del servicio de ayuda ante un presunto ataque phishing - -`TODO: Personalizar los pasos para el personal del servicio de asistencia ante una sospecha de phishing` - -1. Mantenga la calma y respire profundamente. -1. Abra un ticket para documentar el incidente, según el procedimiento. - `TODO: Personalizar la plantilla con las preguntas clave (véase más abajo) y el flujo de trabajo posterior` -3. Pídale al usuario que tome fotos de su pantalla usando su smartphone mostrando las cosas que notó: el mensaje de phishing, el enlace si lo abrió, la información del remitente, _etc._ Si es algo que notó directamente, haga lo mismo usted. -4. Toma notas sobre el problema o los problemas utilizando la aplicación de notas de voz de tu smartphone o con papel y boli. Si se trata de un informe de usurio, haz preguntas detalladas, incluyendo: - 1. ¿Qué has notado? - 1. ¿Por qué pensaste que era un problema? - 1. ¿Qué estabas haciendo en el momento en que lo detectaste? - 1. ¿Cuándo se produjo por primera vez, y con qué frecuencia desde entonces? - 1. ¿De qué redes se trata? (oficina/casa/tienda, cableada/inalámbrica, con/sin VPN, _etc._) - 1. ¿De qué sistemas se trata? (sistema operativo, nombre de host, _etc._) - 1. ¿De qué datos se trata? (rutas, tipos de archivos, archivos compartidos, bases de datos, software, _etc._) - 1. ¿Qué usuarios y cuentas están implicados? (directorio activo, SaaS, SSO, cuentas de servicio, _etc._) - 1. ¿A qué datos suelen acceder los usuarios implicados? - 1. ¿Con quién más te has puesto en contacto sobre este incidente y qué les has dicho? -5. Haz las preguntas de seguimiento que sean necesarias. **Usted es de respuesta ante Incidentes, Contamos contigo.** -6. Obtenga información de contacto detallada del usuario (domicilio, oficina, móvil), si procede. -7. Registra toda la información en el ticket, incluyendo notas manuscritas y de voz. -8. Poner en cuarentena a los usuarios y sistemas afectados. - `TODO: Personalizar el contenido de los pasos, automatizar tanto como sea posible.` -10. Póngase en contacto con el [equipo de seguridad](#TODO-enlace-a-actual-recurso) y prepárase para participar en la respuesta según las indicaciones: investigación, remediación comunicación y recuperación. - -#### Información adicional - -1. [Recurso Ataque Anti-Phishing](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/top-16-anti-phishing-resources/#gref) -1. [Métodos de Identificación de Ataques Phishing](https://www.securitymetrics.com/blog/7-ways-recognize-phishing-email) -1. [Ejemplos Correos electrónicos de Phishing](https://www.phishing.org/phishing-examples) -1. [Mejores prácticas Anti-Phishing](https://resources.infosecinstitute.com/category/enterprise/phishing/phishing-countermeasures/anti-phishing-best-practices/#gref) From 7f88a0f1dee239c8cf0ef6f7c141b9c9bdb866b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 17:25:30 +0200 Subject: [PATCH 121/199] =?UTF-8?q?A=C3=B1adidos=20Playbooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Phishing - Credentials from password stores - Replication through removable media --- ...aybook-credentials from password stores.md | 52 +++++++++++++++ playbooks/playbook-phishing.md | 65 +++++++++++++++++++ ...ook-replication through removable media.md | 45 +++++++++++++ 3 files changed, 162 insertions(+) create mode 100644 playbooks/playbook-credentials from password stores.md create mode 100644 playbooks/playbook-phishing.md create mode 100644 playbooks/playbook-replication through removable media.md diff --git a/playbooks/playbook-credentials from password stores.md b/playbooks/playbook-credentials from password stores.md new file mode 100644 index 0000000..66fbb3e --- /dev/null +++ b/playbooks/playbook-credentials from password stores.md @@ -0,0 +1,52 @@ +## Playbook: Credentials from Password Stores + +### Investigar + +- Monitorizar búsquedas en la memoria de palabras clave comunes, tales como password, pwd, login, store, secure, credentials, etc. +- Supervisar los comandos y argumentos ejecutados que pueden buscar ubicaciones de almacenamiento de contraseñas comunes para obtener credenciales de usuario, así como procesos a los que se accede, procesos recién ejecutados, llamadas API o archivos accedidos con este fin. +- Tener en cuenta el posible uso de herramientas automatizadas que escanean la memoria en busca de contraseñas. +- Prevenir el almacenamiento de contraseñas en texto plano. +- Supervisar cualquier actividad anómala en torno a todas las aplicaciones de almacenamiento de contraseñas autorizadas. +- Vigilar el uso de aplicaciones de almacenamiento de contraseñas no autorizadas. +- Controlar el acceso a los archivos de la BBDD de almacenamiento de contraseñas del navegador web. + +### Remediar + +- Limitar la cantidad de cuentas y servicios con permiso para consultar información de los almacenes de contraseñas solo a aquellos necesarios. Asegurar que las cuentas y servicios con permisos para consultar almacenes de contraseñas solo tengan acceso a los secretos que necesiten. +- La contraseña para el llavero de inicio de sesión del usuario puede ser cambiada desde la contraseña de inicio de sesión del usuario. Esto aumenta la complejidad para un atacante porque necesitarían conocer una contraseña adicional. +- Realizar escaneos en puntos finales (*endpoints*, o más concretamente, dispositivos finales de una red tales como ordenadores de sobremesa, teléfonos móviles, tablets, portátiles, etc) con antivirus (AV)(***Endpoint/AV Scan***). +- Restablecer cualquier contraseña comprometida, así como las contraseñas de cualquier cuenta comprometida. +- Inspeccionar los backups en busca de IOCs (Indicadores de Compromiso) consistentes con el perfil del ataque previo a la recuperación del sistema. +- Eliminar todas las instancias de credenciales que se almacenaron de forma insegura. + +#### Contener + +- Utilice software de detección y respuesta de endpoints (EDR) para finalizar los procesos infractores. +- Se debe aislar al equipo o sistema afectado de la red, a fin de evitar que el malware se propague por esta. Esto debe mantenerse hasta que el incidente de seguridad se dé por finalizado y solucionado. +- Identificar y bloquear de inmediato las cuentas de usuario comprometidas que hayan sido utilizadas para acceder o almacenar credenciales en ubicaciones no autorizadas. +- Revisar los permisos de acceso a los almacenes de contraseñas y otras ubicaciones sensibles para asegurar que solo los usuarios autorizados tengan acceso y que los privilegios se ajusten a los principios de menor privilegio. +- Reforzar los controles de acceso mediante la implementación de autenticación de múltiples factores (MFA) o autenticación de un solo uso (OTP) en los sistemas de almacenamiento de contraseñas y otros sistemas críticos. +- Capacitar a los empleados para no usar contraseñas inseguras, no almacenarlas en texto plano, no compartir las contraseñas con nadie, etc. + +### Comunicar + +- Informar a todos los empleados relevantes sobre el incidente de compromiso de credenciales y las acciones tomadas para contener y remediar la situación. +- Informar a la alta dirección de la organización sobre el incidente, destacando los posibles impactos en la seguridad y en las operaciones del negocio, así como las medidas tomadas para mitigar los riesgos asociados. +- Si el incidente de compromiso de credenciales afecta a socios comerciales, clientes u otras partes externas, es importante comunicarse con ellos de manera transparente y oportuna. Esto puede implicar informarles sobre el incidente, los riesgos potenciales y las medidas que están siendo tomadas para abordar la situación. + +### Recuperación + +- Restaurar hasta el Punto de Recuperación Objetivo (RPO) dentro del Tiempo de Recuperación Objetivo (RTO). + - El RPO es el punto en el tiempo al que una organización está dispuesta a recuperarse después de un desastre. + - El RTO es la cantidad de tiempo que una organización está dispuesta a tolerar para que sus servicios vuelvan a estar disponibles después de un desastre. +- Identificar y abordar cualquier daño colateral para minimizar cualquier impacto adicional en la organización. +- Resolver cualquier incidente de seguridad relacionado tales como posibles vulnerabilidades que hayan podido ser explotadas por los atacantes. +- Después de abordar cualquier daño colateral y resolver cualquier incidente de seguridad relacionado, se deben restaurar los sistemas afectados a su última copia de seguridad limpia. Esto implica volver a un estado conocido y seguro antes del incidente, utilizando copias de seguridad verificadas para garantizar la integridad y la seguridad de los datos y sistemas restaurados. + +### Recursos + +#### Referencia: Artículos y Recursos + +- [MITRE ATT&CK](https://attack.mitre.org/techniques/T1555/) +- [CIRT Playbook Battle Cards](https://github.com/guardsight/gsvsoc_cirt-playbook-battle-cards/blob/master/Markdown/GSPBC-1035%20-%20Credential%20Access%20-%20Credentials%20from%20Password%20Stores.md) +- [RE&CT](https://atc-project.github.io/atc-react/) \ No newline at end of file diff --git a/playbooks/playbook-phishing.md b/playbooks/playbook-phishing.md new file mode 100644 index 0000000..2b98d39 --- /dev/null +++ b/playbooks/playbook-phishing.md @@ -0,0 +1,65 @@ +## Playbook: Phishing + +### Investigar + +- Examinar los registros, mensajes y/u otros artefactos de aplicaciones de terceros que puedan enviar mensajes de phishing para obtener acceso a los sistemas de las víctimas. El filtrado basado en DKIM+SPF o análisis de encabezados puede ayudar a detectar cuándo el remitente del correo electrónico es falso. La inspección de URL dentro del correo electrónico (incluida la expansión de enlaces acortados) puede ayudar a detectar enlaces que conducen a sitios maliciosos conocidos. + - DMARC, DKIM y SPF son tres métodos de autenticación del correo electrónico . Juntos, ayudan a evitar que los spammers, phishers, y otras partes no autorizadas envíen correos electrónicos en nombre de un dominio que no poseen. +- Supervisar los registros de llamadas desde dispositivos corporativos para identificar patrones de posible phishing de voz, como llamadas hacia o desde números de teléfono maliciosos conocidos. Correlacionar estos registros con eventos del sistema. +- Revisar los archivos recién creados a partir de mensajes de phishing para obtener acceso a los sistemas de las víctimas. +- Monitorizar y analizar patrones de tráfico SSL/TLS e inspeccionar de paquetes asociados a protocolos que no siguen los estándares de protocolo y flujos de tráfico esperados (por ejemplo, paquetes extraños que no pertenecen a flujos establecidos, patrones de tráfico anómalos o gratuitos, sintaxis anómala o estructura). + - Los certificados de SSL/TLS permiten a los navegadores web identificar y establecer conexiones de red cifradas con sitios web mediante el protocolo de capa de conexión segura/seguridad de la capa de transporte (SSL/TLS). +- Evaluar los datos de la red para detectar flujos de datos poco comunes. Los procesos que utilizan la red y que normalmente no tienen comunicación de red o que nunca antes se han visto son sospechosos. +- Se debe poner especial atención a emails con archivos adjuntos sospechosos o de procedencia dudosa, a emails múltiples enviados desde fuentes desconocidas, emails con errores tipográficos en el nombre del dominio o aquellos que no cumplen con los métodos DKIM o SPF. + - Revisar enlaces, archivos adjuntos y/o hashes en [VirusTotal](https://www.virustotal.com/gui/home/upload) o en sandboxes de malware tales como [Cuckoo Sandbox](https://github.com/cuckoosandbox), [Hybrid Analysis](https://www.hybrid-analysis.com/), [Joe Sandbox](https://www.joesecurity.org/) o [VMRay](https://www.vmray.com/). + - También se recomienda analizar el mensaje, haciendo uso de un dispositivo seguro. Este no debe tener acceso a datos sensibles, credenciales o información importante en general. Se deben analizar los puntos siguientes: + - Receptor del mensaje y objetivo del mismo. + - Dirección de correo electrónico del remitente. + - Asunto y cuerpo del mensaje. + - Archivos adjuntos. Estos sólo deberían abrirse en máquinas virtuales aisladas de la red corporativa, y analizados por el equipo IT. + - Enlaces, dominios o nombres de host. En este caso se sigue el mismo principio que con los archivos adjuntos, los enlaces no deben abrirse, con la excepción de hacerlo en un entorno controlado por el equipo IT. + - Metadatos del correo electrónico. + +### Remediar + +- Para bloquear la actividad se pueden utilizar sistemas de prevención de intrusiones (IPS) o sistemas de detección de intrusiones (IDS) en la red y sistemas diseñados para escanear y eliminar enlaces o archivos adjuntos de correo electrónico maliciosos. +- Determinar si ciertos sitios web o tipos de archivos adjuntos (por ejemplo: .scr, .exe, .pif, .cpl, etc.) que pueden usarse para phishing son necesarios para las operaciones comerciales y considerar bloquear el acceso si la actividad no se puede monitorizar o bien si plantea un riesgo importante. +- Cerrar el vector de ataque. Esto puede suponer desconectar al equipo afectado de la red, a fin de evitar la posible propagación del malware. +- Realizar escaneos en puntos finales (*endpoints*, o más concretamente, dispositivos finales de una red tales como ordenadores de sobremesa, teléfonos móviles, tablets, portátiles, etc) con antivirus (AV)(***Endpoint/AV Scan***). +- Examinar los logs para identificar si existen otros usuarios afectados. +- Se puede capacitar a los usuarios para que identifiquen técnicas de ingeniería social y correos electrónicos de phishing. + +#### Contener + +- Contención de la cuenta afectada. Esto supone cambiar sus credenciales, utilizar autenticación multifactor (MFA) y limitar el acceso de la cuenta a cualquier servicio, sistema o información hasta que exista total certeza que es seguro hacerlo. Otra opción es bloquear la cuenta hasta que el problema haya quedado resuelto. +- Enumerar y evaluar los posibles daños causados por el incidente. Esto nos refiere al punto anterior y a cerrar el vector de ataque, o dicho de otro modo, aislar el equipo de origen, a fin de evitar una propagación del hipotético malware. +- Bloquear la IP externa e interna del equipo de origen, cerrar toda comunicación a través de los puertos del sistema y bloquear cualquier posible comunicación del usuario afectado. También se debe bloquear el dominio del email y el correo electrónico de origen. +- Poner en cuarentena tanto el mensaje recibido como el hipotético archivo adjunto que este pueda contener. Esta cuarentena debe realizarse teniendo en cuenta el formato del archivo, su hash, su ruta y el patrón de contenido del mismo. + - El antivirus puede poner automáticamente en cuarentena archivos sospechosos. +- Considerar llevar a cabo una actualización del software que pudiera presentar posibles vulnerabilidades. Tras una investigación, se debería detectar la hipotética vulnerabilidad o falla de seguridad que el malware pudo haber apovechado. + +### Comunicar + +- Informar a otros usuarios y partes interesadas relevantes sobre el ataque de phishing y las precauciones necesarias que deben tomar. +- Emitir un reporte al proveedor de servicios de correo electrónico o a la empresa de alojamiento web que se utilizó para enviar el correo electrónico malicioso. +- Escalar el incidente al nivel apropiado de gestión, si es necesario. +- Informar el incidente a las autoridades pertinentes, como organismos reguladores o encargados de hacer cumplir la ley, si es necesario. + +### Recuperación + +- En caso de interrupción del negocio, poner en marcha un plan de recuperación de desastres, además de hacer uso de las copias de seguridad en caso de considerarse necesario. +- Verificar que las credenciales se han cambiado correctamente. +- Es extremadamente recomendable preparar y poner en acción un programa de formación y adiestramiento de los empleados acerca de cómo responder a amenazas informáticas, y cómo prevenirlas en la medida de lo posible. Enfocándonos al phishing, que es el tema que nos ocupa, los empleados deben centrarse en los siguiente aspectos: + - Errores ortográficos en el mensaje, el asunto o más importante aún, en el nombre del domninio. + - Inconsistencia entre el nombre del remitente y el correo electrónico de origen. + - Uso de correos eletrónicos personales como Gmail, Hotmail o Yahoo para asuntos de trabajo. + - Enlaces sospechosos. En este punto se vuelve a aplicar la regla de los errores ortográficos. También se debe prestar atención a los servicios que acortan las urls, y si esto está presente en el enlace recibido. + +### Recursos + +#### Referencia: Artículos y Recursos + +- [Formas de detectar un ataque de phishing](https://www.securitymetrics.com/blog/7-ways-recognize-phishing-email) +- [Ejemplos de ataques de phishing](https://www.phishing.org/phishing-examples) +- [MITRE ATT&CK](https://attack.mitre.org/techniques/T1566/) +- [CIRT Playbook Battle Cards](https://github.com/guardsight/gsvsoc_cirt-playbook-battle-cards/blob/master/Markdown/GSPBC-1002%20-%20Credential%20Access%20-%20Spearphishing%20-%20Phishing.md) +- [RE&CT](https://atc-project.github.io/atc-react/) \ No newline at end of file diff --git a/playbooks/playbook-replication through removable media.md b/playbooks/playbook-replication through removable media.md new file mode 100644 index 0000000..0c533a0 --- /dev/null +++ b/playbooks/playbook-replication through removable media.md @@ -0,0 +1,45 @@ +## Playbook: Replication through Removable Media + +### Investigar + +- Supervisar las letras de unidad recién construidas o los puntos de montaje en medios extraíbles. +- Monitorizar los archivos inesperados a los que se accede en medios extraíbles. +- Vigilar los archivos recién construidos en medios extraíbles. +- Examinar los procesos recién ejecutados que se ejecutan desde medios extraíbles después de que se montan o cuando los inicia un usuario. Si se utiliza una herramienta de acceso remoto de esta manera para moverse lateralmente, es probable que se produzcan acciones adicionales después de la ejecución, como abrir conexiones de red para Comando y Control y Descubrimiento de información del sistema y de la red. + +### Remediar + +- Identificar y eliminar archivos maliciosos encontrados en medios extraíbles. +- Desconectar o bloquear el acceso a puertos USB y otros dispositivos de almacenamiento extraíbles en los sistemas afectados. +- Actualizar y parchear sistemas para cerrar posibles brechas de seguridad explotadas por el malware en medios extraíbles. +- Implementar políticas de seguridad claras y restricciones sobre qué dispositivos pueden conectarse y qué archivos pueden ser transferidos a través de medios extraíbles. + +#### Contener + +- Es importante analizar los archivos relacionados con el ataque en busca de información que pueda ayudar en la investigación. Esto puede incluir direcciones IP utilizadas por los atacantes, agentes de usuario que identifican los navegadores o herramientas utilizadas en el ataque, y detalles sobre las solicitudes de red realizadas durante el incidente. +- Fortalecer los activos críticos no afectados, con el objetivo de prevenir futuros ataques. +- En Windows 10, habilite las reglas de Reducción de superficie de ataque (ASR) para bloquear la ejecución de archivos ejecutables no firmados o que no sean de confianza (como .exe, .dll o .scr) desde unidades extraíbles USB. +- Desactivar la ejecución automática si no es necesario. +- Aislar el sistema afectado de la red corporativa, con el objetivo que el malware presente en el dispositivo extraíble malicioso no se propague. + +### Comunicar + +- Notificar a los equipos pertinentes de la organización sobre el incidente de replicación a través de medios extraíbles, incluyendo detalles relevantes sobre el alcance y las medidas de contención tomadas. +- Informar a la alta dirección sobre el incidente, destacando los posibles impactos en la seguridad y las operaciones del negocio, así como las acciones tomadas para mitigar los riesgos asociados. +- Comunicar proactivamente con los usuarios afectados y otros empleados sobre el incidente, proporcionando pautas claras sobre cómo proceder y cómo protegerse de futuros incidentes similares. +- Coordinar la comunicación con partes externas relevantes, como socios comerciales o autoridades reguladoras, según sea necesario y en cumplimiento con las políticas de divulgación de la organización. + +### Recuperación + +- Restaurar hasta el Punto de Recuperación Objetivo (RPO) dentro del Tiempo de Recuperación Objetivo (RTO). + - El RPO es el punto en el tiempo al que una organización está dispuesta a recuperarse después de un desastre. + - El RTO es la cantidad de tiempo que una organización está dispuesta a tolerar para que sus servicios vuelvan a estar disponibles después de un desastre. +- Restaurar los sistemas afectados a su última copia de seguridad limpia. Esto implica volver a un estado conocido y seguro antes del incidente, utilizando copias de seguridad verificadas para garantizar la integridad y la seguridad de los datos y sistemas restaurados. + +### Recursos + +#### Referencia: Artículos y Recursos + +- [MITRE ATT&CK](https://attack.mitre.org/techniques/T1091/) +- [CIRT Playbook Battle Cards](https://github.com/guardsight/gsvsoc_cirt-playbook-battle-cards/blob/master/Markdown/GSPBC-1066%20-%20Initial%20Access%20-%20Replication%20Through%20Removable%20Media.md) +- [RE&CT](https://atc-project.github.io/atc-react/) \ No newline at end of file From 8a15d62f38f2190fef28ce85daeae3e0f2a41b1e Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 17:32:16 +0200 Subject: [PATCH 122/199] Update index.md --- playbooks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/index.md b/playbooks/index.md index c2098a3..2810c23 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -2,5 +2,5 @@ Los siguientes playbooks capturan los pasos comunes de [investigación](#investigate), [remediación](#remediate) y [comunicación](#communicate) para determinados tipos de incidentes. -`TODO: Crear playbooks adicionales para tipos de incidentes muy probables o muy perjudiciales.` +1. [playbook-Create-or-Modify-System-Procces](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Create-or-Modify-System-Process.md) From f2a2d5de069acfeb5be601d5bf20d7edad3415be Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 17:36:59 +0200 Subject: [PATCH 123/199] Update index.md --- playbooks/index.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/playbooks/index.md b/playbooks/index.md index 2810c23..ed4c34b 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -3,4 +3,14 @@ Los siguientes playbooks capturan los pasos comunes de [investigación](#investigate), [remediación](#remediate) y [comunicación](#communicate) para determinados tipos de incidentes. 1. [playbook-Create-or-Modify-System-Procces](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Create-or-Modify-System-Process.md) - +2. [playbook-DDoS](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-DDoS.md) +3. [playbook-DoS](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-DoS.md) +4. [playbook-Identity-and-Access](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Identity-and-Access.md) +5. [playbook-Supply-Chain](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Supply-Chain.md) +6. [playbook-Wipe-Disk](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-Wipe-Disk.md) +7. [playbook-Credentials-from-Password-Stores](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-credentials%20from%20password%20stores.md) +8. [playbook-Defacement](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-defacement.md) +9. [playbook-Phishing](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-phishing.md) +10. [playbook-Ransonware](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-ransomware.md) +11. [playbook-Replication-Through-Removable-Media](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-replication%20through%20removable%20media.md) +12. [playbook-Steal-Web-Session-Cookie](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-steal-web-session-cookie.md) From ff13486fe011ea4e63fd7662303b1e39e62bc7aa Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sun, 31 Mar 2024 18:23:37 +0200 Subject: [PATCH 124/199] =?UTF-8?q?a=C3=B1adir=20archivo=20tarea=20y=20nom?= =?UTF-8?q?brar=20incidente=20bien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IS-4.01-G3.md | 43 +++++++++++++++++++++++++++++++++++++++++++ during.md | 6 +++++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 IS-4.01-G3.md diff --git a/ IS-4.01-G3.md b/ IS-4.01-G3.md new file mode 100644 index 0000000..9210ca2 --- /dev/null +++ b/ IS-4.01-G3.md @@ -0,0 +1,43 @@ +# Indice +1. [Introducción](#introducción) +2. [Plan de respuesta](#plan-de-respuesta) +3. [Playbooks](#playbooks) +4. [Respuesta a las preguntas](#respuesta-a-las-preguntas) +5. [Conclusiones](#conclusiones) +6. [Bibliografía](#bibliografía) + +# Introducción + +# Plan de respuesta + +# Playbooks + +# Respuesta a las preguntas + +# Conclusiones + +# Bibliografía + + +* [NIST Computer Security Incident Handling Guide](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf) (NIST) +* [CERT Societe Generale Incident Response Methodologies](https://github.com/certsocietegenerale/IRM/tree/master/EN) +* [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework) +* [Incident Handler's Handbook](https://www.sans.org/reading-room/whitepapers/incident/incident-handlers-handbook-33901) (SANS) +* [Responding to IT Security Incidents](https://technet.microsoft.com/en-us/library/cc700825.aspx) (Microsoft) +* [Defining Incident Management Processes for CSIRTs: A Work in Progress](http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=7153) (CMU) +* [Creating and Managing Computer Security Incident Handling Teams (CSIRTS)](https://www.first.org/conference/2008/papers/killcrece-georgia-slides.pdf) (CERT) +* [Incident Management for Operations](http://shop.oreilly.com/product/0636920036159.do) (Rob Schnepp, Ron Vidal, Chris Hawley) +* [_Incident Response & Computer Forensics, Third Edition_](http://a.co/cUkFzMh) (Jason Luttgens. Matthew Pepe. Kevin Mandia) +* [_Incident Response_](http://shop.oreilly.com/product/9780596001308.do) (Kenneth R. van Wyk, Richard Forno) +* [The Checklist Manifesto](http://atulgawande.com/book/the-checklist-manifesto/) (Atul Gawande) +* [The Field Guide to Understanding Human Error](https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/0754648265) (Sidney Dekker) +* [Normal Accidents: Living with High-Risk Technologies](https://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129) (Charles Perrow) +* [Site Reliability Engineering](https://landing.google.com/sre/book.html) (Google) +* [Debriefing Facilitation Guide](http://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) (Etsy) +* [Every Minute Counts: Leading Heroku's Incident Response](https://www.heavybit.com/library/video/every-minute-counts-coordinating-herokus-incident-response/) (Blake Gentry) +* [Three Analytical Traps in Accident Investigation](https://www.youtube.com/watch?v=TqaFT-0cY7U) (Dr. Johan Bergström) +* [US National Incident Management System (NIMS)](https://www.fema.gov/national-incident-management-system) (FEMA) +* [Informed's NIMS Incident Command System Field Guide](https://www.amazon.com/gp/product/1284038408) (Michael J. Ward) +* [Advanced PostMortem Fu and Human Error 101 (Velocity 2011)](http://www.slideshare.net/jallspaw/advanced-postmortem-fu-and-human-error-101-velocity-2011) +* [Blame. Language. Sharing.](http://fractio.nl/2015/10/30/blame-language-sharing/) + diff --git a/during.md b/during.md index ed53b83..ea569d8 100644 --- a/during.md +++ b/during.md @@ -40,7 +40,11 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en ## Nombrar el incidente -Cree una [frase simple de dos palabras](http://creativityforyou.com/combomaker.html) para referirse al incidente -un nombre en clave- que se utilizará para el archivo y el canal del incidente. `Todo: Personalizar el procedimiento de nomenclatura de incidentes.` +El procedimiento de nomenclatura de los incidentes será el siguiente: + +Consistirá en un número, que empezará con el 0 siendo el primer incidente que se registre, seguido de un guión y la fecha en el siguiente formato: DDMAAAA, construyendo el mes en base a sus tres primeras letras en español. Por ejemplo, para el 3 incidente, sucedido el 2 de Mayo de 2024 tendríamos el código: + +- **2-02MAY2024** ## Reunir el equipo de respuesta From cafe7158ec36f9ea3a933270bcc7c186da9b57de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 18:52:52 +0200 Subject: [PATCH 125/199] =?UTF-8?q?A=C3=B1adido=20playbook=20de=20fuerza?= =?UTF-8?q?=20bruta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/playbook-brute force.md | 50 +++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 playbooks/playbook-brute force.md diff --git a/playbooks/playbook-brute force.md b/playbooks/playbook-brute force.md new file mode 100644 index 0000000..8cc9dca --- /dev/null +++ b/playbooks/playbook-brute force.md @@ -0,0 +1,50 @@ +## Playbook: Brute Force + +### Investigar + +- Monitorear altos volúmenes de fallos de autenticación. Esto implica supervisar los registros de eventos de autenticación en busca de un número inusualmente alto de intentos fallidos de inicio de sesión. Estos intentos pueden indicar diferentes tipos de ataques dirigidos a comprometer las credenciales de usuario. + - *Password guessing:* Intento de adivinar la contraseña correcta probando diferentes combinaciones de contraseñas comunes o predecibles. + - *Password Cracking:* Intento de descifrar contraseñas utilizando técnicas como fuerza bruta o ataques de diccionario. Este tipo de ataques suelen producir un número elevado de errores de autenticación. + - *Password Spraying:* Intenta de inicio de sesión en múltiples cuentas con un conjunto limitado de contraseñas comunes. Este tipo de ataque deja un rastro de múltiples intentos fallidos de inicio de sesión en diversas cuentas. + - *Credential Stuffing:* Intento de inicio de sesión en una cuenta con credenciales filtradas de otros sitios web o servicios ajenos a la compañía. +- Investigar y eliminar todas las alertas asociadas con los activos afectados. Esto puede implicar la identificación de los sistemas afectados, el análisis de los registros de eventos relacionados y la recopilación de evidencia para una investigación más detallada. +- Verificar regularmente los registros del firewall, IDS (Sistema de Detección de Intrusiones), IPS (Sistema de Prevención de Intrusiones) y SIEM (Sistemas de gestión de información y eventos de seguridad) en busca de actividad inusual. +- Examinar los comandos y argumentos ejecutados que pueden utilizar técnicas de fuerza bruta para obtener acceso a cuentas cuando se desconocen las contraseñas o cuando se obtienen hashes de contraseñas. + +### Remediar + +- Restablezca proactivamente las cuentas que se sabe que forman parte de credenciales vulneradas, ya sea inmediatamente o después de detectar intentos de fuerza bruta. +- Implementar la autenticación multifactor. Cuando sea posible, habilitar también la autenticación multifactor en servicios externos. +- Cambiar las contraseñas que hayan sido vulneradas por los atacantes. + - Consultar las directrices del NIST al crear políticas de contraseñas. + - En base a estas directrices anteriormente mencionadas, capacitar e instar a los empleados para usar contraseñas que cumplan con estas normas. + +#### Contener + +- Establecer políticas de bloqueo de cuentas después de una cierta cantidad de intentos fallidos de inicio de sesión para evitar que se adivinen las contraseñas. + - Una política demasiado estricta puede crear una condición de denegación de servicio y dejar los entornos inutilizables, bloqueando todas las cuentas utilizadas en la fuerza bruta. Utilice políticas de acceso condicional para bloquear inicios de sesión desde dispositivos no compatibles o desde rangos IP de organización fuera de los definidos. + +### Comunicar + +- Informar a todos los equipos relevantes dentro de la organización sobre el incidente de fuerza bruta detectado, lo que incluye equipos de seguridad, TI, gestión de riesgos y cualquier otro departamento relevante. +- Si los usuarios fueron afectados por el intento de fuerza bruta (por ejemplo, si sus cuentas fueron objeto de ataques de contraseñas), es importante comunicarse con ellos de manera transparente. Proporcionar orientación sobre cómo proteger sus cuentas, como cambiar sus contraseñas y habilitar la autenticación de dos factores si está disponible. +- Informar a la dirección sobre el incidente de fuerza bruta. + +### Recuperación + +- Si se considera conveniente, debido a la intrusión de un/os posible/s atacante/s en la/s cuenta/s vulnerada/s, restaurar hasta el Punto de Recuperación Objetivo (RPO) dentro del Tiempo de Recuperación Objetivo (RTO). + - El RPO es el punto en el tiempo al que una organización está dispuesta a recuperarse después de un desastre. + - El RTO es la cantidad de tiempo que una organización está dispuesta a tolerar para que sus servicios vuelvan a estar disponibles después de un desastre. +- Restaurar los sistemas vulnerados hasta su último backup limpio. +- Antes de restaurar cualquier sistema desde una copia de seguridad, es esencial inspeccionar las copias de seguridad en busca de IOC (Indicadores de Compromiso) que puedan indicar que las copias de seguridad también están comprometidas. Esto ayuda a evitar la restauración de sistemas comprometidos y a garantizar la integridad de los datos restaurados. +- Identificar y abordar cualquier daño colateral para minimizar cualquier impacto adicional en la organización. +- Resolver cualquier incidente de seguridad relacionado tales como posibles vulnerabilidades que hayan podido ser explotadas por los atacantes. + +### Recursos + +#### Referencia: Artículos y Recursos + +- [MITRE ATT&CK](https://attack.mitre.org/techniques/T1110/) +- [CIRT Playbook Battle Cards](https://github.com/guardsight/gsvsoc_cirt-playbook-battle-cards/blob/master/Markdown/GSPBC-1048%20-%20Credential%20Access%20-%20Brute%20Force.md) +- [RE&CT](https://atc-project.github.io/atc-react/) +- [Directrices del NIST para crear políticas de contraseñas](https://pages.nist.gov/800-63-3/sp800-63b.html) \ No newline at end of file From 4e788561fa9dfacb959b486771a3a100a2c34042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 18:53:55 +0200 Subject: [PATCH 126/199] Update index.md --- playbooks/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/index.md b/playbooks/index.md index ed4c34b..b7d9a7b 100644 --- a/playbooks/index.md +++ b/playbooks/index.md @@ -14,3 +14,4 @@ Los siguientes playbooks capturan los pasos comunes de [investigación](#investi 10. [playbook-Ransonware](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-ransomware.md) 11. [playbook-Replication-Through-Removable-Media](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-replication%20through%20removable%20media.md) 12. [playbook-Steal-Web-Session-Cookie](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-steal-web-session-cookie.md) +13. [playbook-Brute-Force](https://github.com/IES-Rafael-Alberti/incident-response-plan-plantilla/blob/2024-4.1-G3/playbooks/playbook-brute%20force.md) From f64bcdfabb14951dd8c99fb61e9ba21089fd8643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 18:54:33 +0200 Subject: [PATCH 127/199] Update playbook-brute force.md --- playbooks/playbook-brute force.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playbooks/playbook-brute force.md b/playbooks/playbook-brute force.md index 8cc9dca..d210230 100644 --- a/playbooks/playbook-brute force.md +++ b/playbooks/playbook-brute force.md @@ -2,7 +2,7 @@ ### Investigar -- Monitorear altos volúmenes de fallos de autenticación. Esto implica supervisar los registros de eventos de autenticación en busca de un número inusualmente alto de intentos fallidos de inicio de sesión. Estos intentos pueden indicar diferentes tipos de ataques dirigidos a comprometer las credenciales de usuario. +- Monitorizar altos volúmenes de fallos de autenticación. Esto implica supervisar los registros de eventos de autenticación en busca de un número inusualmente alto de intentos fallidos de inicio de sesión. Estos intentos pueden indicar diferentes tipos de ataques dirigidos a comprometer las credenciales de usuario. - *Password guessing:* Intento de adivinar la contraseña correcta probando diferentes combinaciones de contraseñas comunes o predecibles. - *Password Cracking:* Intento de descifrar contraseñas utilizando técnicas como fuerza bruta o ataques de diccionario. Este tipo de ataques suelen producir un número elevado de errores de autenticación. - *Password Spraying:* Intenta de inicio de sesión en múltiples cuentas con un conjunto limitado de contraseñas comunes. Este tipo de ataque deja un rastro de múltiples intentos fallidos de inicio de sesión en diversas cuentas. @@ -13,7 +13,7 @@ ### Remediar -- Restablezca proactivamente las cuentas que se sabe que forman parte de credenciales vulneradas, ya sea inmediatamente o después de detectar intentos de fuerza bruta. +- Restablecer proactivamente las cuentas que se sabe que forman parte de credenciales vulneradas, ya sea inmediatamente o después de detectar intentos de fuerza bruta. - Implementar la autenticación multifactor. Cuando sea posible, habilitar también la autenticación multifactor en servicios externos. - Cambiar las contraseñas que hayan sido vulneradas por los atacantes. - Consultar las directrices del NIST al crear políticas de contraseñas. @@ -47,4 +47,4 @@ - [MITRE ATT&CK](https://attack.mitre.org/techniques/T1110/) - [CIRT Playbook Battle Cards](https://github.com/guardsight/gsvsoc_cirt-playbook-battle-cards/blob/master/Markdown/GSPBC-1048%20-%20Credential%20Access%20-%20Brute%20Force.md) - [RE&CT](https://atc-project.github.io/atc-react/) -- [Directrices del NIST para crear políticas de contraseñas](https://pages.nist.gov/800-63-3/sp800-63b.html) \ No newline at end of file +- [Directrices del NIST para crear políticas de contraseñas](https://pages.nist.gov/800-63-3/sp800-63b.html) From ccd6809189239851062df2cbf15ad2522b1a8b37 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 19:03:02 +0200 Subject: [PATCH 128/199] Update info.yml --- info.yml | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/info.yml b/info.yml index e2692b2..8f87da6 100644 --- a/info.yml +++ b/info.yml @@ -57,79 +57,79 @@ TEAM_SME_ROSTER: 'https://iesrafaelalberti.es/te-informamos/' EXECUTIVE_ROSTER: 'https://iesrafaelalberti.es/te-informamos/' # Time to wait for on-duty IC on call (e.g., 15 minutes) -INCIDENT_COMMANDER_RESPONSE_SLA: '{{INCIDENT_COMMANDER_RESPONSE_SLA}}' +INCIDENT_COMMANDER_RESPONSE_SLA: '60 minutos' # Time between scheduled updates (e.g., 4 hours) -UPDATE_FREQUENCY: '2 Semanas' +UPDATE_FREQUENCY: '3 horas' # URL/path to incident file (e.g., ir.acme.tld/files/codename) INCIDENT_FILE_LOCATION: 'https://netmancer.es/src/incidents' # URL/path to critical information list, data you want to protect (e.g., ir.acme.tld/cil) -CRITICAL_INFO_LIST_LOCATION: '{{CRITICAL_INFO_LIST_LOCATION}}' +CRITICAL_INFO_LIST_LOCATION: 'https://netmancer.es/src/critical_info_list' # URL/path to critical asset list, systems you want to protect (e.g., ir.acme.tld/cal) -CRITICAL_ASSET_LIST_LOCATION: '{{CRITICAL_ASSET_LIST_LOCATION}}' +CRITICAL_ASSET_LIST_LOCATION: 'https://netmancer.es/src/critical_asset_list' # URL/path to asset management DB (e.g., ir.acme.tld/assets) -ASSET_MGMT_DB_LOCATION: '{{ASSET_MGMT_DB_LOCATION}}' +ASSET_MGMT_DB_LOCATION: 'https://netmancer.es/src/assets' # URL/path to network map (e.g., ir.acme.tld/netmap) -NETWORK_MAP_LOCATION: '{NETWORK_MAP_LOCATION{}}' +NETWORK_MAP_LOCATION: 'https://netmancer.es/network/network_map' # URL to SIEM (e.g., siem.acme.tld) -SIEM_CONSOLE_LOCATION: '{{SIEM_CONSOLE_LOCATION}}' +SIEM_CONSOLE_LOCATION: 'https://netmancer.es/siem/console' # URL to log aggregator (e.g., elk.acme.tld) -LOG_AGGREGATOR_CONSOLE: '{{LOG_AGGREGATOR_CONSOLE}}' +LOG_AGGREGATOR_CONSOLE: 'https://netmancer.es/elk/console_log' # Name/URL of live response tool (e.g., [velociraptor](https://www.velocidex.com)) -LIVE_RESPONSE_TOOL: '{{LIVE_RESPONSE_TOOL}}' +LIVE_RESPONSE_TOOL: '[netman](https://netmancer.es/response_tool/netman)' # Name/URL of memory collection tool (e.g., [winpmem](https://github.com/Velocidex/WinPmem)) -MEMORY_COLLECTION_TOOL: '{{MEMORY_COLLECTION_TOOL}}' +MEMORY_COLLECTION_TOOL: '[volatility](https://github.com/volatilityfoundation/volatility)' # Name/URL of disk imaging tool (e.g., [sumuri](https://sumuri.com/software)) -DISK_IMAGE_TOOL: '{{DISK_IMAGE_TOOL}}' +DISK_IMAGE_TOOL: '[FTK_imager](https://www.exterro.com/digital-forensics-software/ftk-imager)' # URL/path to IR report template (e.g., ir.acme.tld/report/template) -INCIDENT_REPORT_TEMPLATE: '{{INCIDENT_REPORT_TEMPLATE}}' +INCIDENT_REPORT_TEMPLATE: 'https://netmancer.es/reports/template' # URL/path to report recipient list (e.g., ir.acme.tld/report/recipients) -INCIDENT_REPORT_RECIPIENTS: '{{INCIDENT_REPORT_RECIPIENTS}}' +INCIDENT_REPORT_RECIPIENTS: 'https://netmancer.es/reports/recipients' # Compliance team name and contact info (e.g., the legal team, legal@acme.tld) -COMPLIANCE_TEAM: '{COMPLIANCE_TEAM{}}' +COMPLIANCE_TEAM: 'leaglteam@netmancer.es' # Communications team name and contact info (e.g., the marketing team, marketing@acme.tld) -COMMUNICATIONS_TEAM: '{{COMMUNICATIONS_TEAM}}' +COMMUNICATIONS_TEAM: 'comunications@netmancer.es' # Executive team name and contact info (e.g., the front office, bosses@acme.tld) -EXECUTIVE_TEAM: '{{EXECUTIVE_TEAM}}' +EXECUTIVE_TEAM: 'executive@netmancer.es' # Legal team name (e.g., the legal team, legal@acme.tld) -LEGAL_TEAM: '{{LEGAL_TEAM}}' +LEGAL_TEAM: 'leaglteam@netmancer.es' # Local law enforcement contact info (e.g., Detective Jane Doe, police@local.gov.tld) -LOCAL_LE_CONTACT: '{{LOCAL_LE_CONTACT}}' +LOCAL_LE_CONTACT: 'Detective Ramón García. policia@policialocal.es' # FBI contact info (e.g., 1-800-CALL-FBI (225-5324), https://www.fbi.gov/contact-us) -FBI_CONTACT: '{{FBI_CONTACT}}' +FBI_CONTACT: 'https://www.fbi.gov/contact-us' # Vendor for IR and infosec support (e.g., [Counteractive Security](https://www.counteractive.net)) -INCIDENT_RESPONSE_VENDOR: '{{INCIDENT_RESPONSE_VENDOR}}' +INCIDENT_RESPONSE_VENDOR: '[AT&T USM Anywhere]https://cybersecurity.att.com/products/usm-anywhere' # Vendor for PR support (e.g., public relations llc, pr.firm.tld) -PUBLIC_RELATIONS_VENDOR: '{{PUBLIC_RELATIONS_VENDOR}}' +PUBLIC_RELATIONS_VENDOR: 'https://www.softr.io/' # (Cyber) insurance provider (e.g., AAA insurance co., cyber.insurance.tld) -INSURANCE_VENDOR: '{{INSURANCE_VENDOR}}' +INSURANCE_VENDOR: 'https://www.reale.es/' # Industry ISAC contact info (e.g., FS ISAC, https://en.wikipedia.org/wiki/Information_Sharing_and_Analysis_Center) -ISAC_CONTACT: '{{ISAC_CONTACT}}' +ISAC_CONTACT: 'https://isacspain.com/' # After action review (AAR) service level agreement (time after completion of incident to conduct AAR) (e.g., 5 business days) -AAR_SLA: '{{AAR_SLA}}' +AAR_SLA: '5 días laborables' # AAR attendees (e.g., ir.acme.tld/aar/attendees) -AAR_ATTENDEES: '{{AAR_ATTENDEES}}' +AAR_ATTENDEES: 'https://netmancer.es/aar/asistentes' From 9aecab4b69e2983822ae9eb86fdebdf867b58319 Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sun, 31 Mar 2024 19:10:33 +0200 Subject: [PATCH 129/199] solventados la mayoria de TODOs de plan de respuesta --- during.md | 102 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 57 insertions(+), 45 deletions(-) diff --git a/during.md b/during.md index ea569d8..2c10b91 100644 --- a/during.md +++ b/during.md @@ -9,8 +9,6 @@ Este plan de respuesta a incidentes está basado en el plan conciso, directivo, Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en {{TEST_DATE}}. -`TODO: Personalice esta plantilla para su organización utilizando las instrucciones en https://github.com/counteractive/incident-response-plan-template. Para obtener servicios de respuesta a incidentes, o ayuda para personalizar, implementar o probar su plan, póngase en contacto con nosotros en contact@counteractive.net o en el (888) 925-5765.` - # Evaluar 1. **Mantenga la calma y la profesionalidad.** @@ -34,8 +32,6 @@ Fue revisado por última vez el {{REVIEW_DATE}}. Fue probado por última vez en **Cada miembro del equipo está facultado para comenzar este proceso.** Si ves algo, dilo. -`TODO: Personalizar las categorías/severidades según sea necesario. Este sencillo ejemplo (incidente vs. no incidente) se basa en las categorías de impacto del NIST SP 800-61r2.` - # Iniciar la respuesta ## Nombrar el incidente @@ -48,18 +44,18 @@ Consistirá en un número, que empezará con el 0 siendo el primer incidente que ## Reunir el equipo de respuesta -1. Llame al Incident Commander de turno/de guardia. `TODO: Añadir lista o procedimiento de llamada del Incident Commander`. +1. Llame al Incident Commander de turno/de guardia. El Incident Commander debe estar disponible al 100% durante su turno de guardia mediante el canal oficial de Discord y su teléfono móvil. También es considerable el tener un dispositivo de radiofrecuencia que garantice que las comunicaciones se puedan establecer. 2. **No** discuta el incidente fuera del equipo de respuesta a menos que el Incident Commander lo autorice -3. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. `ToDo: Añadir el procedimiento de lanzamiento del chat de respuesta.` -4. Iniciar y/o unirse a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. `TODO: Añadir el procedimiento de lanzamiento de la llamada de respuesta.` +3. Inicie y/o únase al chat de respuesta en {{RESPONSE_CHAT}}. Si se utiliza una aplicación de mensajería instánea para la comunicación, será "Signal" debido a sus niveles de privacidad y encriptación. +4. Iniciar y/o unirse a la llamada de respuesta en {{RESPONSE_PHONE}} y/o {{RESPONSE_VTC}}. 5. Preferible usar la llamada de voz, el chat y el intercambio seguro de archivos sobre cualquier otro método. -6. **No** utilizar el correo electrónico principal si es posible. Si el correo electrónico es necesario, utilícelo con moderación o use {{ALTERNATE_EMAIL}}. Encripte los correos electrónicos cuando cualquier participante esté fuera del dominio {{ORGANIZATION_DOMAIN}}. `TODO: Añadir detalles y procedimiento de correo electrónico alternativo, por ejemplo, Office 365 o GSuite bajo demanda`. +6. **No** utilizar el correo electrónico principal si es posible. Si el correo electrónico es necesario, utilícelo con moderación o use {{ALTERNATE_EMAIL}}. Encripte los correos electrónicos cuando cualquier participante esté fuera del dominio {{ORGANIZATION_DOMAIN}}. 7. **No** usar SMS/texto para comunicar el incidente, a menos que sea para decirle a alguien que se mueva a un canal más seguro. 8. Invite al personal de turno/guardia a la llamada y al chat de respuesta. - * Invite al equipo de seguridad. `TODO: Añadir lista de contactos del equipo de seguridad o procedimiento.` - * Invitar al SME de los equipos y sistemas afectados. `TODO: Añadir la lista de contactos del SME del equipo o el procedimiento.` - * Invitar a las partes interesadas ejecutivas y a los asesores jurídicos lo antes posible, pero dar prioridad a los responsables operativos. `TODO: añadir una lista de contactos de las partes interesadas ejecutivas o un procedimiento.` -9. OPCIONAL:_ Establecer una sala de colaboración en persona ("sala de guerra") para incidentes complejos o graves. `TODO: Añadir el procedimiento de la sala de colaboración.` + * Invite al equipo de seguridad. + * Invitar al SME de los equipos y sistemas afectados. + * Invitar a las partes interesadas ejecutivas y a los asesores jurídicos lo antes posible, pero dar prioridad a los responsables operativos. +9. OPCIONAL:_ Establecer una sala de colaboración en persona ("sala de guerra") para incidentes complejos o graves. ### Referencia: Estructura del equipo de respuesta @@ -75,8 +71,6 @@ Consistirá en un número, que empezará con el 0 siendo el primer incidente que * SME para equipos/unidades de negocio * SME para Funciones Ejecutivas (_por ejemplo_, Legal, RRHH, Finanzas) -`TODO: Modificar la estructura de roles según sea necesario`. - ### Referencia: Información de contacto del equipo de respuesta Rol del equipo de respuesta | Información de contacto @@ -88,7 +82,6 @@ Lista del equipo de seguridad | {{SECURITY_TEAM_ROSTER}} Lista del equipo SME | {{TEAM_SME_ROSTER}} Lista de ejecutivos | {{EXECUTIVE_ROSTER}} -`TODO: Personalizar la información de contacto del equipo de respuesta. Incluya los procedimientos de contacto en las listas, que pueden ser estáticas o dinámicas.` ## Establecer el ritmo de batalla @@ -130,7 +123,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ### Realizar la actualización de la respuesta -* Llevar a cabo actualizaciones programadas utilizando la [estructura de llamada de actualización](#referencia-estructura-de-la-llamada-de-actualización-de-la-respuesta) cada {{UPDATE_FREQUENCY}} en el puente activo. `TODO: Personalizar la frecuencia de actualización y los scripts; se recomienda no más de dos veces al día.` +* Llevar a cabo actualizaciones programadas utilizando la [estructura de llamada de actualización](#referencia-estructura-de-la-llamada-de-actualización-de-la-respuesta) cada {{UPDATE_FREQUENCY}} en el puente activo. * Ajustar la frecuencia según sea necesario. * Coordinar las actualizaciones independientes (_por ejemplo_, ejecutivas, legales) según sea necesario, pero con la menor frecuencia posible. @@ -163,7 +156,7 @@ Lista de ejecutivos | {{EXECUTIVE_ROSTER}} ### Crear Sub-Equipos -* En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. `TODO: Personalizar la estructura de los subequipos si es necesario.` +* En la preparación de incidentes complejos, se predefinen tres subequipos: Investigación, Remediación y Comunicación, generalmente responsables de esas funciones de respuesta. * Crear un puente de llamadas y un chat para cada subequipo. * El Incident Commander designará a los líderes de los equipos, que dependen del IC, y a los miembros de los equipos, que dependen de su líder. _Los líderes de equipo no tienen que estar formados como Incident Commanders, pero es preferible que tengan alguna experiencia de liderazgo._ * El Incident Commander puede ajustar el propósito o el nombre de los subequipos según sea necesario. @@ -189,11 +182,10 @@ Si un incidente resulta ser dos o más incidentes distintos: * Proporcionar un intercambio de archivos seguro. * Obtener almacenamiento físico. * Compartir la ubicación del archivo del incidente en la llamada y el chat. - * `TODO: Personalizar y automatizar la ubicación del archivo y el procedimiento`. -1. Documente el impacto funcional y de la información, si se conoce (véase [Evaluar](#evaluar)). `TODO: Personalizar las categorías de impacto, si es necesario.` -2. Documentar el vector, si se conoce (_por ejemplo_ web, correo electrónico, medios extraíbles). `TODO: Personalizar la lista de vectores, si es necesario.` +1. Documente el impacto funcional y de la información, si se conoce (véase [Evaluar](#evaluar)). +2. Documentar el vector, si se conoce (_por ejemplo_ web, correo electrónico, medios extraíbles). 3. Documente el resumen del incidente: un breve resumen del vector, el impacto, la investigación y la situación de la reparación, si se conoce. -4. Documente la línea de tiempo del incidente, incluyendo la actividad del atacante y la actividad de la respuesta. `TODO: Añadir líneas de tiempo con diferentes detalles, según sea necesario.` +4. Documente la línea de tiempo del incidente, incluyendo la actividad del atacante y la actividad de la respuesta. 5. Documente los pasos de investigación, reparación y comunicación. Documente las actividades de forma independiente para que puedan combinarse y reutilizarse, si es posible. 6. Registre la información significativa, como: **Pruebas**, con la hora de recogida, la fuente, la cadena de custodia, _etc._. @@ -205,8 +197,6 @@ Si un incidente resulta ser dos o más incidentes distintos: * **Indicadores de compromiso basados en el host**, como nombres de archivos, hashes y claves de registro. * **Cuentas comprometidas**, con el alcance del acceso y la hora del compromiso. -`TODO: Personalizar el procedimiento de documentación del incidente, incluyendo hojas de cálculo, bases de datos, formularios, sistemas y plantillas, si es necesario.` - ## Recoger las pistas iniciales 1. Entrevistar a los reportadores del incidente. @@ -226,9 +216,7 @@ Mapa de red | {{NETWORK_MAP_LOCATION}} Consola SIEM | {{SIEM_CONSOLE_LOCATION}} Agregador de registros | {{LOG_AGGREGATOR_CONSOLE}} -`TODO: Completar la información crítica y las listas de activos ("joyas de la corona"). Esto es increíblemente importante para una respuesta eficaz.` - -`TODO: Personalizar la lista de recursos de respuesta`. +La información crítica sobre los riesgos y sus activos relacionados puede encontrarse en el directorio /documentosEmpresa/plan_director_de_seguridad_hoja_para_el_analisis_de_riesgos.xlsm ## Actualizar el plan de investigación y el archivo del incidente @@ -281,8 +269,8 @@ Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más > Haga hincapié en los indicadores **dinámicos y de comportamiento** junto con las huellas digitales estáticas. * Crear IOCs basados en [pistas iniciales](#recoger-las-pistas-iniciales) y [análisis](#analyze-evidence). -* Cree IOCs usando un formato abierto soportado por sus herramientas (_por ejemplo_, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), si es posible. `TODO: Personalizar el formato de los COIs según sea necesario.` -* Utilice la automatización, si es posible. `TODO: Añadir un procedimiento de despliegue/revocación de COIs.` +* Cree IOCs usando un formato abierto soportado por sus herramientas (_por ejemplo_, [STIX 2.0](https://oasis-open.github.io/cti-documentation/stix/intro)), si es posible. +* Utilice la automatización, si es posible. * **No** desplegar "feeds" de IOCs no relacionados y no curados, ya que pueden causar confusión y fatiga. * Considerar todos los tipos de IOC: * IOC basados en la red, como direcciones IP o MAC, puertos, direcciones de correo electrónico, contenido o metadatos del correo electrónico, URLs, dominios o patrones PCAP. @@ -299,19 +287,31 @@ Consulte la página [MITRE ATT&CK](https://attack.mitre.org/) para obtener más ## Recogida de pruebas -* Priorizar en base al plan de investigación -* Recoger datos de respuesta en vivo utilizando {{LIVE_RESPONSE_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de respuesta en vivo.` -* Recoger los registros relevantes de los sistemas (si no forman parte de la respuesta en vivo), agregadores, SIEM o consolas de dispositivos. `TODO: Personalizar las herramientas y el procedimiento de recopilación de registros.` -* Recoger la imagen de la memoria, si es necesario y si no forma parte de la respuesta en vivo, utilizando {{MEMORY_COLLECTION_TOOL}}. `TODO: Personalizar las herramientas y el procedimiento de recogida de memoria.` -* Recoger la imagen del disco, si es necesario, utilizando {{DISK_IMAGE_TOOL}}. `TODO: Personalizar la herramienta y el procedimiento de recogida de imágenes de disco.` -* Recoger y almacenar las pruebas de acuerdo con la política, y con la cadena de custodia adecuada. `TODO: Personalizar la política de recogida de pruebas y cadena de custodia.` +## Recogida de pruebas -Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ya sea en tiempo real (_por ejemplo_, a través de EDR o un SIEM) o bajo demanda: +* Priorizar en base al plan de investigación +* Recoger datos de respuesta en vivo utilizando {{LIVE_RESPONSE_TOOL}} para la memoria y {{LIVE_RESPONSE_TOOL}} para el disco. +* Recoger los registros relevantes de los sistemas (si no forman parte de la respuesta en vivo), agregadores, SIEM o consolas de dispositivos. +* Recoger la imagen de la memoria, si es necesario y si no forma parte de la respuesta en vivo, utilizando {{MEMORY_COLLECTION_TOOL}}. +* Recoger la imagen del disco, si es necesario, utilizando {{DISK_IMAGE_TOOL}}. +* Recoger y almacenar las pruebas de acuerdo con la política, y con la cadena de custodia adecuada. + - **Herramientas y Procedimientos:** + - Utilizar {{MEMORY_COLLECTION_TOOL}} para la recogida de memoria, siguiendo los procedimientos específicos de adquisición de evidencia. + - Utilizar {{DISK_IMAGE_TOOL}} para la recogida de imágenes de disco, asegurando la integridad de los datos y el cumplimiento de la cadena de custodia. + - Mantener registros detallados de todas las acciones realizadas durante la recogida de pruebas. +* Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ya sea en tiempo real (_por ejemplo_, a través de EDR o un SIEM) o bajo demanda: + - Registros de eventos del sistema y de seguridad. + - Registros de firewall y registros de proxy. + - Registros de acceso y autenticación. + - Copias de seguridad de archivos relevantes. + - Capturas de pantalla de actividades sospechosas. + - Copias de registros de chat o mensajes. + - Correos electrónicos relevantes. + - Archivos de configuración del sistema. + - Archivos de registro de aplicaciones relevantes. ### Ejemplo de artefactos útiles -`TODO: Personalizar y priorizar los artefactos útiles.` - * Procesos en ejecución * Servicios en ejecución * Hashes ejecutables @@ -346,8 +346,16 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, ### Ejemplo de indicadores útiles -`TODO: Personalizar y priorizar los indicadores útiles.` - +* Aumento repentino en el tráfico del sitio web, especialmente en páginas de pago o de acceso a cuentas. +* Cambios significativos en las tasas de conversión o abandono en el proceso de compra. +* Número de intentos de inicio de sesión fallidos en la plataforma de ecommerce. +* Cambios en el patrón de comportamiento de los usuarios, como la navegación rápida entre productos o la repetición de ciertas acciones. +* Incremento en el número de solicitudes de reembolso o cancelaciones de pedidos. +* Aparición de productos o categorías de productos no autorizados en el sitio web. +* Detección de enlaces o archivos maliciosos en el sitio web. +* Cambios en los precios de los productos sin autorización. +* Aumento en el número de quejas o reclamaciones de clientes sobre transacciones fraudulentas. +* Detección de accesos no autorizados o intentos de acceso a áreas protegidas del sitio web. * Comportamiento inusual de autenticación (_e._, frecuencia, sistemas, hora del día, ubicación remota) * Nombres de usuario con formato no estándar * Binarios no firmados que se conectan a la red @@ -447,7 +455,7 @@ Determine la estrategia de plazos -cuando se llevarán a cabo las acciones de re ## Ejecutar la remediación -* Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. `TODO: Personalizar el procedimiento de aprobación de los riesgos de la remediación, si es necesario.` +* Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. * Implementar inmediatamente aquellas acciones de remediación que afecten poco o nada al atacante (a veces llamadas "acciones de postura"). Por ejemplo, muchas de las acciones de [protección](#protección) y [detección](#detección) anteriores son buenas candidatas. * Programar y asignar acciones de remediación de acuerdo con la estrategia de tiempo. * Ejecute las acciones de corrección en lotes, como eventos, para lograr la máxima eficacia y el mínimo riesgo. @@ -481,7 +489,6 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr * Tras el cierre del incidente, capture la información en el [archivo del incidente](#crear-archivo-del-incidente) para su distribución utilizando el formato en {{INCIDENT_REPORT_TEMPLATE}}. **Si los informes de vector, impacto, resumen, línea de tiempo y actividad están completos, esto puede ser totalmente automatizado.** * Distribuir el informe de incidentes a lo siguiente: {{INCIDENT_REPORT_RECIPIENTS}}. -* `TODO: Personalizar la creación y distribución del informe de incidentes, si es necesario`. ## Comunicar al exterior @@ -532,11 +539,16 @@ Toda comunicación debe incluir la información más precisa disponible. Muestr # Recuperación -`TODO: Personalizar los pasos de recuperación.` - -`TODO: Especificar las herramientas y procedimientos para cada paso, a continuación.` - **La recuperación suele estar dirigida por las unidades de negocio y los propietarios de los sistemas. Tome medidas de recuperación sólo en colaboración con las partes interesadas pertinentes.** 1. Poner en marcha un plan de continuidad de negocio/recuperación de desastres: Por ejemplo, considerar la migración a ubicaciones operativas alternativas, sitios de conmutación por error, sistemas de copia de seguridad. + - **Herramientas y Procedimientos:** + - Utilizar Bacula para restaurar los datos desde las copias de seguridad. + - Coordinar con los equipos de operaciones para configurar y poner en funcionamiento los sistemas alternativos o de respaldo. + - Comunicar con claridad los pasos a seguir a todo el personal involucrado en la recuperación. + 2. Integrar las acciones de seguridad con los esfuerzos de recuperación de la organización. + - **Herramientas y Procedimientos:** + - Coordinar con el equipo de seguridad para garantizar que todas las medidas de seguridad adecuadas se implementen durante el proceso de recuperación. + - Realizar análisis de vulnerabilidades y pruebas de seguridad antes de poner en línea los sistemas recuperados. + - Implementar medidas de monitoreo y detección de intrusiones para identificar posibles actividades maliciosas durante el proceso de recuperación. \ No newline at end of file From 809417db6242c460f0592959e5eb9914696c4de7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 19:17:10 +0200 Subject: [PATCH 130/199] Update plan.md --- examples/plan.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/plan.md b/examples/plan.md index 934fc00..3eab8f4 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -451,7 +451,12 @@ Determine la estrategia de tiempo -cuando se tomarán las acciones de remediaci ## Ejecutar la remediación -* Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. `TODO: Personalizar el procedimiento de aprobación de los riesgos de la remediación, si es necesario.` +* Evaluar y explicar los riesgos de las acciones de remediación a las partes interesadas. +* Identificar las partes interesadas relevantes que necesitan estar involucradas en el proceso de aprobación de los riesgos de la remediación. Esto puede incluir representantes de seguridad, equipos de TI, gerentes de proyectos y líderes de negocio. +* Establecer criterios claros para evaluar y clasificar los riesgos asociados con las acciones de remediación propuestas. Esto puede incluir la probabilidad de éxito de la remediación, el impacto potencial en el negocio y la complejidad de implementación. +* Diseñar un flujo de trabajo para la revisión y aprobación de los riesgos de la remediación. Esto puede implicar la presentación de propuestas de remediación, la evaluación de riesgos por parte de expertos relevantes y la toma de decisiones basada en la evaluación de riesgos. +* Documentar el proceso de aprobación de los riesgos de la remediación, incluyendo los criterios de evaluación utilizados, los responsables de la toma de decisiones y los pasos a seguir en caso de discrepancias o disputas en la evaluación de riesgos. +* Revisar y actualizar regularmente el procedimiento de aprobación de los riesgos de la remediación a medida que evolucionen los riesgos y las estrategias de seguridad de la organización. * Implementar inmediatamente aquellas acciones de remediación que afecten poco o nada al atacante (a veces llamadas "acciones de postura"). Por ejemplo, muchas de las acciones de [protección](#protect) y [detección](#detect) anteriores son buenas candidatas. * Programar y asignar acciones de remediación de acuerdo con la estrategia de tiempo. * Ejecute las acciones de corrección en lotes, como eventos, para lograr la máxima eficacia y el mínimo riesgo. From 5e3da3d20e77d940d8525792d1ebb5993cb069a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Cumbrera=20L=C3=B3pez?= <91694808+JMCumbrera@users.noreply.github.com> Date: Sun, 31 Mar 2024 19:19:02 +0200 Subject: [PATCH 131/199] Update plan.md --- examples/plan.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/plan.md b/examples/plan.md index 3eab8f4..5414177 100644 --- a/examples/plan.md +++ b/examples/plan.md @@ -368,7 +368,7 @@ Considere la posibilidad de recopilar los siguientes artefactos como evidencia, # Remediar -**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Jefe de incidente coordinará estas actividades. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar +**[Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible.** El Jefe de incidente coordinará estas actividades. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar ## Actualizar el plan de remediación @@ -468,7 +468,7 @@ Determine la estrategia de tiempo -cuando se tomarán las acciones de remediaci #Comunicar -**Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar** +**[Investigar](#investigar), [remediar](#remediación) y [comunicar](#comunicar) en paralelo, utilizando equipos separados, si es posible. Notifique al Jefe de incidente si hay pasos que el equipo debe considerar** Toda comunicación debe incluir la información más precisa disponible. Muestre integridad. No comunique especulaciones. From 132446493302b4ae6bcccdec90ac7051c08edf34 Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sun, 31 Mar 2024 19:33:29 +0200 Subject: [PATCH 132/199] feat: modificar playbook DDoS --- playbooks/playbook-DDoS.md | 72 ++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/playbooks/playbook-DDoS.md b/playbooks/playbook-DDoS.md index ae8f21c..b037ff7 100644 --- a/playbooks/playbook-DDoS.md +++ b/playbooks/playbook-DDoS.md @@ -1,7 +1,38 @@ ## Playbook: Ataque de Denegación de Servicio Distribuido (DDoS) **Investigar, mitigar y comunicar en paralelo!** -Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial. Utilice su mejor criterio. +Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este playbook no es puramente secuencial (Exceptuando la fase "Mitigar" que SIEMPRE debe ser la primera). + +Utilice su mejor criterio. + + +### Mitigar + +1. Implementar filtros de tráfico y reglas de firewall. + * Bloquee las direcciones IP de origen conocidas del ataque. + * Considerar bloqueo de IP de un país concreto en caso de que todas las peticiones vengan de un lugar concreto, puede ocurrir. + * Configure reglas de firewall para filtrar el tráfico malicioso. +2. Escalar la infraestructura. + * Aumente la capacidad de ancho de banda y los recursos de servidor para absorber el tráfico adicional. + * Considerar conectar servidores adicionales disponibles para ganar tiempo. + * Utilice servicios de CDN (Content Delivery Network) para distribuir el tráfico y mitigar el impacto del ataque. + +### Comunicar + +1. 1. Notificar a la dirección y al equipo de gestión de crisis. +1. 2. Documentar el incidente según el procedimiento establecido. +2. Comunicarse con los equipos de operaciones y desarrollo. + 1. Informar sobre las medidas de mitigación implementadas y las posibles interrupciones del servicio. + 2. Coordinar con los equipos de TI para garantizar la disponibilidad continua de los servicios críticos. +3. Comunicarse con los proveedores de servicios de red. + 1. Notificar a los proveedores de servicios de red sobre el ataque y solicitar asistencia adicional si es necesario. + 2. Coordinar con los proveedores de servicios de mitigación de DDoS para optimizar la respuesta al ataque. +4. Actualizar a los clientes y usuarios. + 1. Informar sobre posibles interrupciones del servicio y tiempo estimado de recuperación. + 2. Proporcionar actualizaciones periódicas sobre el estado del incidente y las medidas de mitigación. +5. Configurar la alerta de respuesta de emergencia. + * Establezca alertas automáticas para notificar al equipo de seguridad sobre futuros picos inusuales de tráfico. + * Automatice la respuesta de mitigación para que se active automáticamente ante futuros ataques. ### Investigar @@ -20,39 +51,26 @@ Asigne los pasos a individuos o equipos para que trabajen simultáneamente; este * Rastree las direcciones IP de origen del tráfico malicioso. * Utilice herramientas de geolocalización para identificar la ubicación aproximada de los atacantes. * Recopile información sobre la infraestructura utilizada por los atacantes. +5. Recuperar y conseguir toda la información relativa a los sistemas para ser investigados utilizando técnicas forenses, las cuales nos ayudarán a aprender más sobre el escenario. -### Mitigar +### Evaluar y recuperar +1. Determinar el alcance del daño a los sistemas. + - Daños financieros + - Daños de imagen + - Daños físicos en por ejemplo hardware +2. Restablecer sistemas y servicios al estado habitual de los mismos + - Añadir configuraciones extras derivadas del ataque para el futuro + - Desactivar las medidas aplicadas en la fase de mitigación -**Planificar la mitigación** en la que estos pasos se pongan en marcha juntos (o de forma coordinada), con los equipos adecuados listos para responder a cualquier interrupción. -1. Implementar filtros de tráfico y reglas de firewall. - * Bloquee las direcciones IP de origen conocidas del ataque. - * Configure reglas de firewall para filtrar el tráfico malicioso. -2. Utilizar servicios de mitigación de DDoS. - * Implemente un servicio de mitigación de DDoS externo, si está disponible. - * Active la protección DDoS de su proveedor de servicios de red, si corresponde. -3. Escalar la infraestructura. - * Aumente la capacidad de ancho de banda y los recursos de servidor para absorber el tráfico adicional. - * Utilice servicios de CDN (Content Delivery Network) para distribuir el tráfico y mitigar el impacto del ataque. -4. Configurar la alerta de respuesta de emergencia. +### Aprender + +1. Configurar la alerta de respuesta de emergencia. * Establezca alertas automáticas para notificar al equipo de seguridad sobre futuros picos inusuales de tráfico. * Automatice la respuesta de mitigación para que se active automáticamente ante futuros ataques. +2. Mantener equipos y servicios para un posible nuevo escenario con necesidad de escalada de recursos. -### Comunicar - -**Comunicarse con las partes interesadas** para informar sobre el incidente y las acciones tomadas para mitigarlo. -1. 1. Notificar a la dirección y al equipo de gestión de crisis. -1. 2. Documentar el incidente según el procedimiento establecido. -2. Comunicarse con los equipos de operaciones y desarrollo. - 1. Informar sobre las medidas de mitigación implementadas y las posibles interrupciones del servicio. - 2. Coordinar con los equipos de TI para garantizar la disponibilidad continua de los servicios críticos. -3. Comunicarse con los proveedores de servicios de red y DDoS. - 1. Notificar a los proveedores de servicios de red sobre el ataque y solicitar asistencia adicional si es necesario. - 2. Coordinar con los proveedores de servicios de mitigación de DDoS para optimizar la respuesta al ataque. -4. Actualizar a los clientes y usuarios. - 1. Informar sobre posibles interrupciones del servicio y tiempo estimado de recuperación. - 2. Proporcionar actualizaciones periódicas sobre el estado del incidente y las medidas de mitigación. ### Recursos From b57dbc457bd00436ce3cda6ec7da026761341614 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 19:34:15 +0200 Subject: [PATCH 133/199] Update 3.a.md --- preguntas/3.a.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/preguntas/3.a.md b/preguntas/3.a.md index 43ee0d0..2117a6b 100644 --- a/preguntas/3.a.md +++ b/preguntas/3.a.md @@ -1,3 +1,4 @@ ### 3.a ¿Como te has asegurado de que tu plan tiene respuestas resilientes? ¿Porque son resilientes y en qué fases se centran? -Nos hemos asegurado de que son resilentes investigando cada tipo de ataque y las técnicas usadas por los atacantes. Gracias a esta investigación hemos realizado, se ha podido crear una serie de playbooks que de manera segura establece unos puntos de remediación, erradicación y contención que nos permitirá defender los activos críticos de la empresa. Cada punto cubre una serie de pasos que debemos seguir para proteger estos activos de manera eficaz y concisa que nos permite restaurar el orden de trabajo lo más rápido posible. +Hemos investigado los ataques más comunes que pueden existir y que pueden vulnerar nuestra empresa, por lo tanto hemos generado una serie de playbooks que reune lo que creemos son las respuestas a los incidentes encontrados paso a paso para llegar a recuperar nuestro sistema y orden de trabajo lo más pronto posible. +Nos hemos centrado principalmente en la fase llamada remediar ya que interrumpe el proceso del atacante y nos permite ganar tiempo a nosotros frente a la vulneralidad encontrada. Esta fase indica como detectar el incidente, como contenerlo y luego erradicarlo del sistema permitiendonos llegar a la fase de recuperación lo antes posible. From 8c3b27798dc4bc4c186e7e0018221e0ce95d97a4 Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 19:34:30 +0200 Subject: [PATCH 134/199] Update 3.a.md --- preguntas/3.a.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/preguntas/3.a.md b/preguntas/3.a.md index 2117a6b..65906e4 100644 --- a/preguntas/3.a.md +++ b/preguntas/3.a.md @@ -1,4 +1,4 @@ ### 3.a ¿Como te has asegurado de que tu plan tiene respuestas resilientes? ¿Porque son resilientes y en qué fases se centran? -Hemos investigado los ataques más comunes que pueden existir y que pueden vulnerar nuestra empresa, por lo tanto hemos generado una serie de playbooks que reune lo que creemos son las respuestas a los incidentes encontrados paso a paso para llegar a recuperar nuestro sistema y orden de trabajo lo más pronto posible. +Hemos investigado los ataques más comunes que pueden existir y que pueden vulnerar nuestra empresa, por lo tanto hemos generado una serie de playbooks que reune lo que creemos son las respuestas a los incidentes encontrados paso a paso para llegar a recuperar nuestro sistema y orden de trabajo lo más pronto posible.
Nos hemos centrado principalmente en la fase llamada remediar ya que interrumpe el proceso del atacante y nos permite ganar tiempo a nosotros frente a la vulneralidad encontrada. Esta fase indica como detectar el incidente, como contenerlo y luego erradicarlo del sistema permitiendonos llegar a la fase de recuperación lo antes posible. From 4c99c6063ddb90f4c38751b264b12abb38e4264b Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sun, 31 Mar 2024 19:48:16 +0200 Subject: [PATCH 135/199] feat: 1.b terminada --- preguntas/1.b.md | 1 + preguntas/image.png | Bin 0 -> 77230 bytes 2 files changed, 1 insertion(+) create mode 100644 preguntas/image.png diff --git a/preguntas/1.b.md b/preguntas/1.b.md index 3d40658..8f55e9c 100644 --- a/preguntas/1.b.md +++ b/preguntas/1.b.md @@ -36,3 +36,4 @@ Entonces, si nos dedicamos a agrupar los riesgos previos y crear un playbook que A continuación se detallará el flujo del playbook de _Denial Of Service_: +![diagramaDDoS](image.png) \ No newline at end of file diff --git a/preguntas/image.png b/preguntas/image.png new file mode 100644 index 0000000000000000000000000000000000000000..3fde6e9b682b01db0e5632d071f0496d05bfb99c GIT binary patch literal 77230 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%0AO{&3t3x3wHzUnrx%~K!>cO?P`R|bbL^$ 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 Lu6my8z7ziiNsllX literal 0 HcmV?d00001 From 639017ddebbfbb8fe62cbfeb201ef45bb84871bd Mon Sep 17 00:00:00 2001 From: cromeoli Date: Sun, 31 Mar 2024 19:59:40 +0200 Subject: [PATCH 136/199] upgrade: mejora pregunta 1.b --- preguntas/1.b.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/preguntas/1.b.md b/preguntas/1.b.md index 8f55e9c..53411af 100644 --- a/preguntas/1.b.md +++ b/preguntas/1.b.md @@ -34,6 +34,10 @@ Entonces, si nos dedicamos a agrupar los riesgos previos y crear un playbook que > - Credentials from Password Stores > - Replication Through Removable Media -A continuación se detallará el flujo del playbook de _Denial Of Service_: +De esta manera intentamos adecuar y acotar nuestros playbooks a la estrategia de negocio de nuestra empresa y a su ciberresiliencia, teniendo una respuesta clara a cada incidente que de verdad pudiera dañarnos gravemente. + +Además, ganamos organización y control sobre nuestro enfoque del plan teniendo ya agrupadas nuestras prioridades para maximizar la efectividad de la respuesta. + +A continuación se detallará el flujo del playbook de _Distributed Denial Of Service (DDoS)_: ![diagramaDDoS](image.png) \ No newline at end of file From 8d54c8c608ad49ec211dfaf4981309fddfe9ab9a Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:04:20 +0200 Subject: [PATCH 137/199] Create hello.md --- imagenes/hello.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 imagenes/hello.md diff --git a/imagenes/hello.md b/imagenes/hello.md new file mode 100644 index 0000000..3479d2c --- /dev/null +++ b/imagenes/hello.md @@ -0,0 +1 @@ +dsdf From d5965d24a6b434ddd2dedd36bb1b39eb1a9e5e9f Mon Sep 17 00:00:00 2001 From: sergioguerrero94 <147047366+sergioguerrero94@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:04:38 +0200 Subject: [PATCH 138/199] Add files via upload --- imagenes/diagrama-de-flujo.drawio.png | Bin 0 -> 30915 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 imagenes/diagrama-de-flujo.drawio.png diff --git a/imagenes/diagrama-de-flujo.drawio.png b/imagenes/diagrama-de-flujo.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..ae66b7a2f27b1d21dcb15b771fe50478b313c713 GIT binary patch literal 30915 zcmeHw2UwHI*1sYu3J8b@qBLDaMSAZjb_EO4r9=o3NC++TsuWk6E~_XdSV4hM1VZlu zt_V?(gpLpeAygp{O5i^)Wmn?f@7}N7=ezg6&$ACE?>jj&bLMx-oO5RO=Zm_h*tha; zUAJx>`~AS*1KFjb!=UF!=8b4>-P4zo-lGndDz$@ z;p_IxYA=7*O zkrS7a6_=I1BCWJv_NbIJ_#>?#Atk3^vfLhqfIF-Z)IodMB9XBDGAHFFqyVXdhPDpY zXm=OzQTGb?BP|6U%N_%tzzYSr<&Pc;a)-c^qmGV9xFP)7Ia@G}lk&2P60!>5@xgPa zujriLFQW}UBW>;B;Ga`)D|~O&<)ha4esn>i*{I2vFjX;79 zq2?}DFz|7Sk1Or2p`ESa&MUu{hg!*=*e`Vyw1xhY)m~vW_~HNq!(RI7MZi7rmEYU0 zuv}gSCM9RBq%3ZwC~qw;qbwsMZmpi8XFo4!&%1e*FU%zDz zukzU$jRqZkx4hrKUTuW((1s(SWmx6#NaSgWyOR(~FiEXmSuDha;fI&bB97Dpc!I8&)=dLyyiH5+x($K{f z=InYBXan#FlKG|YE3g83AIlw?8=jzj2&I$wHu9HO?YejxdEg#E$D72dj_G0s-2C{&bF zl#x-Eg)6|7l;z~C#g}DHMheUe0aWD@m@N?2$Il~;;pcUa$?0NrT%>F)Oje~CV%~DA zCF=h%R{lWDDL7DRU|wK^&Tu5m)zZ9oq?7>A+3(|KW2d}(D0!3lEnPImOluV^xs-7 zHy9GL!odA93P`YS$F6}72U%?3jN%s=q#9fwDA*98nl^g-jpr5V0 zUnO)L?h3cE-LEaX|Cp=;Xt=CB=l?+D#I|ua4YVTmy%L7(zLh4!GpEBSFBv(|boL+*b?3w`IB z{F!I6`s|;htdv(*{CmBj^uMjGlo>Z0khWsz^!8T`e6Sro45 z^uKm3z@q+FLmU4jM_^U+tvCWdXu|(_*h@<(uH7m9(C5D_?v!f^+<}V;<(;KKbln;50zUm4ZPtHOm#ewk?{<{` zGQsYZT-!edC`U1_Xpqf@L78hADUkbc1eqF;l>p!Vo$(>N8i@Qqfsdtx$=}GAuOw5x zt6BIy=)d%KwQ6Gd#mWz$qL$?pI^v4l;JS6f>&_fMdd0(hxRZ5Kf@G;VGJOB^ufmN- z(zfmt`?$Z-?&VK%KXL8gI;1w;J>tU&Zj6Yd=8Muu(2qz$1xbaVa7lf-> z+s!IL6;4jPTfoN2GihskOzWA!8)zY^9iRmhpHS^GFv19ww7mqfqhuLqw<#3c? z%FB&msnUN<><@1LpI$LG!%zIA{2E80u4r!I_a>GA(6|h<$zw3e6X&;F448h(c?)JA z$!W90i2tbNBc_7Bf=tY#4X>@Z8QOKSeBKHx^fYl7(X!+UygG5UrSSCVL2U-Ggr5{P zWRc~UVi%FpT56JaiiIJAWMu?V1ZV{jrwM;A7@aj26TDlM|6(#n)Qo_r$9v$tu#7JvoiI!%8 z>UQDx2ErsYUOax7i}VA>cD&)K4Bvj?DGS^2rAFJVwLH!XLncbf43~OxP*aYVCg5J{9<<>E&Z~YwGUr7{HHE#YxjFvQ$ z)*>{$1=GPTENRPVFzc31`oh?XMZ}P0L)^N+1!m`Z7nr@jZ<-AwpEg3c5_^9oO3M