contenido OSINT
Etiqueta: editor de código 2017
 
 
Línea 14: Línea 14:
Phobos OSINT no es una herramienta OSINT puntual, sino un sistema que coordina muchas herramientas OSINT de forma controlada y consistente.
Phobos OSINT no es una herramienta OSINT puntual, sino un sistema que coordina muchas herramientas OSINT de forma controlada y consistente.


¿Para qué sirve la herramienta?
=== <big>¿Para qué sirve la herramienta?</big> ===
 
Phobos OSINT sirve para realizar investigaciones OSINT de forma estructurada, automatizable y controlada, evitando la ejecución manual y desordenada de herramientas aisladas.
Phobos OSINT sirve para realizar investigaciones OSINT de forma estructurada, automatizable y controlada, evitando la ejecución manual y desordenada de herramientas aisladas.


La herramienta está pensada para:
La herramienta está pensada para:


1. Ejecutar búsquedas OSINT sobre distintos tipos de objetivos (targets)
==== 1. Ejecutar búsquedas OSINT sobre distintos tipos de objetivos (targets) ====
 
El concepto de Target está definido explícitamente como un valor de entrada que puede representar:
El concepto de Target está definido explícitamente como un valor de entrada que puede representar:


Línea 33: Línea 31:
Esto indica que la herramienta no se limita a un solo tipo de investigación, sino que soporta distintos tipos de inputs OSINT, cada uno asociado a diferentes herramientas
Esto indica que la herramienta no se limita a un solo tipo de investigación, sino que soporta distintos tipos de inputs OSINT, cada uno asociado a diferentes herramientas


2. Agrupar herramientas según el tipo de investigación (Profiles)
==== 2. Agrupar herramientas según el tipo de investigación (Profiles) ====
 
La documentación define el concepto de Profile como: “set de herramientas habilitadas por tipo de target”
La documentación define el concepto de Profile como: “set de herramientas habilitadas por tipo de target”


Línea 47: Línea 44:
Esto apunta a: Repetibilidad, menor error humano y estandarización de investigaciones
Esto apunta a: Repetibilidad, menor error humano y estandarización de investigaciones


3. Normalizar resultados OSINT heterogéneos
==== 3. Normalizar resultados OSINT heterogéneos ====
 
Cada herramienta OSINT:
Cada herramienta OSINT:


Tiene formatos distintos
* Tiene formatos distintos
 
* Devuelve errores distintos
Devuelve errores distintos
* Puede fallar de formas distintas
 
Puede fallar de formas distintas


Para resolver esto, Phobos define el concepto de ToolResult, que representa: “resultado normalizado por herramienta (éxito/error + data)”
Para resolver esto, Phobos define el concepto de ToolResult, que representa: “resultado normalizado por herramienta (éxito/error + data)”
Línea 65: Línea 59:
Los errores se reportan por herramienta, sin romper la ejecución general
Los errores se reportan por herramienta, sin romper la ejecución general


4. Ejecutar búsquedas de forma sincrónica o asincrónica
==== 4. Ejecutar búsquedas de forma sincrónica o asincrónica ====
 
La herramienta soporta dos modos de ejecución:
La herramienta soporta dos modos de ejecución:


Modo sincrónico: ejecución directa sin Redis
'''Modo sincrónico:''' ejecución directa sin Redis


Modo asincrónico: con Jobs, polling y resultados parciales usando Redis
'''Modo asincrónico:''' con Jobs, polling y resultados parciales usando Redis


Redis es opcional, y se utiliza para:
Redis es opcional, y se utiliza para:


TTL
* TTL
 
* Polling
Polling
* Resultados parciales
 
* Desacople de ejecución
Resultados parciales
 
Desacople de ejecución


Esto implica que Phobos está pensado para:
Esto implica que Phobos está pensado para:
Línea 89: Línea 79:
Escenarios más pesados o largos (con jobs)
Escenarios más pesados o largos (con jobs)


¿Cómo está pensada la arquitectura?
=== ¿Cómo está pensada la arquitectura? Arquitectura general ===
Arquitectura general
La vista de alto nivel definida muestra el siguiente flujo:
 
La vista de alto nivel definida en la documentación muestra el siguiente flujo:


CLI / Dashboard
CLI / Dashboard
Línea 118: Línea 106:
Jobs / Resultados parciales (Redis)
Jobs / Resultados parciales (Redis)


Backend


==== Backend ====
El backend está implementado en Python, elegido explícitamente porque:
El backend está implementado en Python, elegido explícitamente porque:


Línea 126: Línea 114:
Facilita integración de:
Facilita integración de:


CLIs
* CLIs
* Parsers
* Wrappers
* Permite adaptaciones homogéneas con bajo overhead


Parsers
==== Frontend ====


Wrappers
* El frontend se describe como:
 
* Un dashboard para iterar rápido
Permite adaptaciones homogéneas con bajo overhead
* Con UI consistente y filtros
 
* Construido con Node + Tailwind
Frontend
* Con backend desacoplado vía VITE_API_URL
 
El frontend se describe como:
 
Un dashboard para iterar rápido
 
Con UI consistente y filtros
 
Construido con Node + Tailwind
 
Con backend desacoplado vía VITE_API_URL


No se le atribuye lógica OSINT, lo cual refuerza que:
No se le atribuye lógica OSINT, lo cual refuerza que:
Línea 156: Línea 137:
Se define explícitamente qué tipo de herramientas son aceptables.
Se define explícitamente qué tipo de herramientas son aceptables.


Las herramientas OSINT deben cumplir:


Valor inmediato
'''Las herramientas OSINT deben cumplir:'''


Aportar señales útiles o pivotes reales.
* Valor inmediato
 
* Aportar señales útiles o pivotes reales.
Automatización posible
* Automatización posible
 
* Deben exponer CLI o API estable, con output parseable.
Deben exponer CLI o API estable, con output parseable.
* Riesgo controlable
 
Riesgo controlable


Consideraciones de:
Consideraciones de:


Rate limits
* Rate limits
* Bloqueos
* Aspectos legales y éticos
* Fallback controlado


Bloqueos


Aspectos legales y éticos
'''Si una herramienta falla:'''
 
Fallback controlado
 
Si una herramienta falla:


El sistema no se cae
El sistema no se cae
Línea 184: Línea 160:
El error se reporta por herramienta
El error se reporta por herramienta


Componentes principales del sistema
==== <big>Componentes principales del sistema Los componentes identificables son:</big> ====
Los componentes identificables son:
 
CLI: interfaz de ejecución directa.
 
Dashboard: interfaz gráfica de operación.
 
API ASGI: capa de exposición y control.
 
Orquestador: coordina ejecuciones.


Adapters: encapsulan cada herramienta OSINT.
* CLI: interfaz de ejecución directa.
* Dashboard: interfaz gráfica de operación.
* API ASGI: capa de exposición y control.
* Orquestador: coordina ejecuciones.
* Adapters: encapsulan cada herramienta OSINT.


Configuración declarativa:


profiles.yaml


dorks.yaml
'''Configuración declarativa:'''


Sistema de Jobs (opcional, con Redis)
* profiles.yaml
* dorks.yaml
* Sistema de Jobs (opcional, con Redis)

Revisión actual - 03:01 3 feb 2026

¿Qué es Phobos OSINT?

Phobos OSINT es una plataforma de orquestación de herramientas OSINT diseñada para ejecutar, coordinar y normalizar resultados provenientes de múltiples herramientas externas (CLIs y APIs), exponiendo esos resultados a través de una API backend y un dashboard web.

Esta definición se desprende de varios elementos explícitos en la documentación:

Existe un orquestador central que ejecuta herramientas OSINT mediante adapters dedicados. Las herramientas OSINT no viven en el frontend, sino que se ejecutan desde el backend. Los resultados son normalizados por herramienta antes de ser expuestos. El sistema puede ser operado tanto por CLI como por dashboard web

En otras palabras:

Phobos OSINT no es una herramienta OSINT puntual, sino un sistema que coordina muchas herramientas OSINT de forma controlada y consistente.

¿Para qué sirve la herramienta?

Phobos OSINT sirve para realizar investigaciones OSINT de forma estructurada, automatizable y controlada, evitando la ejecución manual y desordenada de herramientas aisladas.

La herramienta está pensada para:

1. Ejecutar búsquedas OSINT sobre distintos tipos de objetivos (targets)

El concepto de Target está definido explícitamente como un valor de entrada que puede representar:

Dominio Email Usuario Teléfono Keyword Archivo

Esto indica que la herramienta no se limita a un solo tipo de investigación, sino que soporta distintos tipos de inputs OSINT, cada uno asociado a diferentes herramientas

2. Agrupar herramientas según el tipo de investigación (Profiles)

La documentación define el concepto de Profile como: “set de herramientas habilitadas por tipo de target”

Esto significa que:

No todas las herramientas se ejecutan siempre.

Las herramientas se seleccionan en función del tipo de objetivo.

La configuración de qué herramientas se usan está externalizada en archivos de configuración (profiles.yaml)

Esto apunta a: Repetibilidad, menor error humano y estandarización de investigaciones

3. Normalizar resultados OSINT heterogéneos

Cada herramienta OSINT:

  • Tiene formatos distintos
  • Devuelve errores distintos
  • Puede fallar de formas distintas

Para resolver esto, Phobos define el concepto de ToolResult, que representa: “resultado normalizado por herramienta (éxito/error + data)”

Esto indica que:

Los resultados se presentan de forma homogénea

Los errores se reportan por herramienta, sin romper la ejecución general

4. Ejecutar búsquedas de forma sincrónica o asincrónica

La herramienta soporta dos modos de ejecución:

Modo sincrónico: ejecución directa sin Redis

Modo asincrónico: con Jobs, polling y resultados parciales usando Redis

Redis es opcional, y se utiliza para:

  • TTL
  • Polling
  • Resultados parciales
  • Desacople de ejecución

Esto implica que Phobos está pensado para:

Escenarios simples (sin infraestructura adicional)

Escenarios más pesados o largos (con jobs)

¿Cómo está pensada la arquitectura? Arquitectura general

La vista de alto nivel definida muestra el siguiente flujo:

CLI / Dashboard

    API ASGI
  Orquestador

Adapters de Tools

CLIs / APIs externas

Y, de forma opcional:

Jobs / Resultados parciales (Redis)


Backend

El backend está implementado en Python, elegido explícitamente porque:

Es el ecosistema natural para OSINT

Facilita integración de:

  • CLIs
  • Parsers
  • Wrappers
  • Permite adaptaciones homogéneas con bajo overhead

Frontend

  • El frontend se describe como:
  • Un dashboard para iterar rápido
  • Con UI consistente y filtros
  • Construido con Node + Tailwind
  • Con backend desacoplado vía VITE_API_URL

No se le atribuye lógica OSINT, lo cual refuerza que:

No ejecuta herramientas

No contiene lógica sensible

Criterios de selección de herramientas OSINT

Se define explícitamente qué tipo de herramientas son aceptables.


Las herramientas OSINT deben cumplir:

  • Valor inmediato
  • Aportar señales útiles o pivotes reales.
  • Automatización posible
  • Deben exponer CLI o API estable, con output parseable.
  • Riesgo controlable

Consideraciones de:

  • Rate limits
  • Bloqueos
  • Aspectos legales y éticos
  • Fallback controlado


Si una herramienta falla:

El sistema no se cae

El error se reporta por herramienta

Componentes principales del sistema Los componentes identificables son:

  • CLI: interfaz de ejecución directa.
  • Dashboard: interfaz gráfica de operación.
  • API ASGI: capa de exposición y control.
  • Orquestador: coordina ejecuciones.
  • Adapters: encapsulan cada herramienta OSINT.


Configuración declarativa:

  • profiles.yaml
  • dorks.yaml
  • Sistema de Jobs (opcional, con Redis)