Phising & Recon De Una Organizacion
Phising & Remote Recon
¿Qué es el phishing?
El Phishing es un término informático que distingue a un conjunto de técnicas que persiguen el engaño a una víctima ganándose su confianza haciéndose pasar por una persona, empresa o servicio de confianza, para manipularla y hacer que realice acciones que no debería realizar.
A veces nos preguntamos como las personas recopilan información acerca de personas, servicios, o corporaciones con fines maliciosos… en este pequeño articulo procede a detallar cuales son las herramientas y técnicas que los ‘malos’ utilizan en esta técnica tan eficiente a dias de hoy.
Para que sirve
El phising es la actividad de compromiso más común y las características más comunes del phising es :
• El vector de ataque “clásico”
• Utilizado para repartir malware por correo electrónico.
• Todavía se utiliza en campañas de fraude y entregas Payloads.
Information Gathering - Recon
A continuación armaremos una pequeña lista de los temas que tocaremos
-
Motores de búsquedas :
Google, Bing
-> Un poco de dorking -
Reconocimiento
-
Dns/whois, Dig -> Enumeración de dominios
-
Shodan -> Reconocimiento de Servicios
-
Dumpster -> Reconocimiento de Dns y subdominios
-
Hunter.io -> Reconocimiento de Emails e información de contacto
-
Redes sociales -> Información útil para etapas posteriores de phising
Google Dorking
Google dorking es una técnica para realizar búsquedas más precisas e ignorar resultados que no nos interesan del todo, para eso debemos hacer uso de parámetros de búsquedas como:
#(Buscamos tipo de fichero, sitio, texto)
site:packetstormsecurity.com filetype:pdf intext:buffer overflow
#(Files xls)
filetype:xls "Precios de casas" and "Rosario, Argentina"
#(Any Doc file what contain "Security plan of the site gov.in")
filetype:doc “security plan” site:gov.in
# Admins credentials
intext:company_keyword & ext:txt | ext:sql | ext:cnf | ext:config | ext:log & intext:"admin" | intext:"root" | intext:"administrator" & intext:"password" | intext:"root" | intext:"admin" | intext:"administrator"
# Look for domains indexed by others website
site:bgp.he.net inurl:ndd
site:dnslookup.fr inurl:ndd
# Get información on the internal organization
sites:cadres.apec.fr direction <SOCIETE>
Ejemplo Dorking
site:cisco.com -site:www.cisco.com
site:newsroom.cisco.com -site:forums.cisco.com -site:blogs.cisco.com
Con el operador "-" encontramos nombres de host interesantes y reducimos los sus resultados
Example II
Para ser más especifico :
‐ excluimos el tipo de fichero con -ext (extensios, filetype)
‐ site:argentina.gov -> regresa 14.000 resultados
‐ site:argentina.gov -ext:htm -ext:html -> regresa 4000 resultados
(Este dominio por razones obvias no existe, es a modo de ejemplo)
Example III
login | logon -> Busca las páginas de inicio dentro de un sitio de destino
username | userid | employee.ID -> Busca posible información de credenciales
password | passcode | “your password is” -> Puede ayudar a encontrar credenciales (bastante raro) mas amenudo regresa paginas que ayudan a recuperar contraseñas a los usuarios
admin | administrator -> Paginas de administración de la aplicacion
intranet | help.desk -> Puede localizar información de contacto de una mesa de ayuda, util para ejercisios de phising y pretecto... asi como portales de inicio de sesión
El uso de operadores negativos como “-ext:” puede ayudar a reducir los resultados nuevamente, acercándole a lo que está
buscando.
"-Ext" eliminará páginas e información de las consultas de Google con extensiones específicas.
Recomiendo google hacking database de exploit DB
https://www.exploit-db.com/google-hacking-database
Shodan
Shodan es un motor de búsqueda para dispositivos conectados a Internet. es una herramienta muy poderosa a la hora de enumerar ya que también podemos elaborar consultas de búsqueda e incluir filtros como los siguientes
- net: Especificamos Bloque de ip CIDR
- city: Ciudad donde se encuentra el target
- country: País donde se encuentra el target
- port: Puerto de servicio
- before: Posted before a certain data
- after: posted after a certain date
- os: Sistema operativo en uso
Whois
Es un protocolo TCP basado en petición/respuesta que se emplea para realizar consultas en una base de datos, permitiendo identificar al propietario de un nombre de dominio o una dirección IP en Internet.
- **Podemos identificar bloques de ip CIDR**
- información de contactos.
‐ **NS**: Nameserver(servidor de nombres) records
los registros **NS** delegan la zona DNS para usar los servidores de nombres autorizados dados
‐ **A**: Address records
El registro **A** se utiliza para una resolución de DNS directo. En resumen, el registro **A** apunta su dominio a su servidor
‐ **MX**: Mail Exchange records
(MX) de DNS dirige el correo electrónico a un servidor de correo
‐ **PTR**: Pointers, inverse lookup record
Resuelve las direcciones ip en nombre s dominio, crea una zona de dns inversa
Reconocimiento Con Fuentes públicas de una organización
Hay numerosos sitios publicos que pueden brindarle información acerca de una organización o compañía.
-
Rocket Reach : buscador de emails, números de teléfono e información de contacto
-
Zoominfo : vende acceso a su base de datos de información sobre empresarios y empresas a profesionales de ventas
-
Registro Nacional de personas, sitios públicos del gobierno/estado donde consultar información
-
información de contacto en los sitios webs de la organización - donde encontramos nombres, teléfono y emails
Redes sociales
Las redes sociales son las más fructíferas, ya que en ella se dejan demasiada información útil para etapas posteriores a la hora de realizar algún tipo de ataque de ingeniería social lo más común es encontrar.
- Ubicación
- Empleo
- Información de contacto
- Hobbies e intereses
- Información de la familia
DNSquery
Es un sitio para reconocimientos de hosts, bastante útil ya que usted puede realizar distintos de tareas
DNSQUERY con el ud puede hacer un reconocimiento básico de red simple y básica para sitios y servicios en línea.
Brecha de datos si es que identificamos correos
-
Intelx.io Osint + identifica brechas de datos
Busquedas de OSINT
-
SpiderFoot [https://github.com/smicallef/spiderfoot]
-
NameCheckr - Enumerar desde un email a cuentas en distintas plataformas
Creepy
Cree.py es una herramienta de geolocalización bastante útil
The Harvester
The harvester es una herramienta que realiza búsquedas en distintos motores de búsqueda como Google, LinkedIn, Bing, Shodan y otras fuentes también puede enumerar
- Informacion de de DNS
- Personas
- Emails
- Servicios conocidos.
Como ven es una fantástica herramienta de reconocimiento ya que en los resultados podemos identificar los cargos de empleados como de administración, recursos humanos, o ingenieros de softwares etc.
Recon-NG
Recon-ng es uno de los DreamWorks más versátiles para el reconocimiento.
El fue construido por Tim Tomes, quien desarrolló la herramienta para emular el mismo modelo interactivo que se encuentra en Metasploit
El framework se puede descargar en https://github.com/lanmaster53/RECON-NG.
**Recon-NG tiene varios módulos de reconocimiento disponibles, incluidas las búsquedas de dominio, la orientación de las redes sociales,
Información de geo localización y muchos más. El módulo “Profiler” de Micah Hoffman es una herramienta fantástica para mirar hacia arriba
Información del usuario en línea, y lo describe en detalle en su sitio.**
Metadatos
Es interesante analizar los metadatos de material audio visual, ya que podemos encontrar información como rutas de directorios, información del autor, información de la cámara, inclusive hasta coordenadas de localización.
-
Exiftool
-
Foca
Web Spidering 🕸
Si bien no es puramente “Recon”, ya estaríamos rosando el escaneo activo, el Spidering de sitios web mas bien es enumerar posibles rutas hacia recursos que no se están listando publicamente , mas bien son recursos que se ocultan en los motores de búsquedas con el fichero robots.txt en el podemos espeficar que mostrar e ingorar cuando un crawler de búsqueda reconoce nuestro sitio web.
Hay muchas herramientas que puedes usar para el Spidering de servidores web:
-
wget
-
BURP
-
ZAP
-
Siempre busque el archivo robots.txt en el raíz de un sitio web!
ejemplo:
https://www.midominio.eu/robots.txt
- Dorking para encontrar robots.txt
site: "robots.txt" "disallow:" filetype:txt
Una vez que ya hemos recopilado informacion de nuestro target
Debemos comenzar a analizar la información y hacer ‘Conexiones’ como :
-
Relaciones personales/empresariales.
-
Organizaciones/Pasatiempos relacionados
-
Funciones/funciones de trabajo
-
Ubicaciones
-
Opiniones/Preferencia
con el fin de armar un perfil.
Esto no tiene estar completo 100% desde el principio de hecho, es probable que tenga que descubrir los usuarios/emails específicos, especialmente si se planifican ataques avanzados como ataques de Spear Phising.
Ejemplo de un Perfil de Prueba
Un perfil de muestra de un objetivo puede incluir:
Nombre(s)
Direcciones de correo electrónico y números de teléfono.
Direcciones físicas
Miembros de la familia/Relaciones
Aficiones
Organizaciones/causas afiliadas
Direcciones físicas: son generalmente para organizaciones e instalaciones relacionadas con el trabajo, No queremos acechar a la gente y esto suele estar fuera de los límites del alcance y las reglas de compromiso
Miembros/relaciones familiares: si puede aprender los nombres de familia o los intereses de alguien, esto puede resultar útil para
Engañar a una persona para que ella pulse un link o abra un correo electrónico.
En la Ingeniería social necesitas ser consciente que usas tácticas que violan la ética fundamental.
Aunque los verdaderos atacantes pueden no tener límites sobre cómo realizan la ingeniería social, es muy poco probable que estemos en esa misma posición
¿Cómo alguien puede suplantar el correo de un dominio u otra persona?
Mail Spoofing
Dicho de una forma sencilla, el Mail Spoofing es cuando alguien nos envía un correo donde el campo de entrada FROM del remitente es falso , de forma que podrían decirte que el correo te lo ha enviado una persona, empresa o entidad bancaria pero que realmente no son ellos los que realizan este envío.
la técnica de mail spoofing generalmente es utilizada cuando tenemos en cuenta 3 protocolos de correo
- **SPF**, **DKIM** y **DMARC**
- **DKIM** : permite firmar el correo con tu dominio mediante claves públicas indicadas en las zonas de tu dominio, para asegurar que ha sido enviado desde tu servidor y ha sido incerceptado ni modificado.
- **SPF** : Se encarga de certificar que IP puede mandar correos utilizando el DOMINIO **(Lo podemos chequear con nslookup)**
- **Dmarc**: Este registro indica qué hacer cuando dan error los registros anteriores es complementario de SPF y DKIM
- son protocolos de autenticación de emails que certifican a los servidores de correo como Gmail, Yahoo o Hotmail que el sender que está enviando un email es seguro y es quien dice ser. En otras palabras, es como si a tus emails les pusieran una pulsera o una medalla que diga “hey, es un remitente seguro, puede pasar”
Utiliza registro SPF para evitar el Mail Spoofing.
es decir si el encargado en esta área de su organización no ha registrado o se ha olvidado ante la autoridad dos de registrar que pertenece a tal organización, un atacante puede suplantar el correo de un dominio.
-
Checker de comprobacion Dmarc
Le sugiero que investigue en profundidad estos tópicos, ya que en este artículo se basa en un enfoque más práctico y superficial que en cuestiones meramente técnicas en las que es interesantes de aprender cómo funcionan.
Con esta información en poder sabemos que podemos suplantar el correo de un dominio o bien hacerse pasar por otra persona, por ejemplo alguien de recursos humanos o un jefe de otro departamento. la creatividad es la clave.
Chequeando SPF
vemos que en el registro spf podemos identificar servidores de correo e incluso rangos de ip
-
los rangos de ip son a lo que se les permite enviar correo electrónico en el dominio
-
Tenga en cuenta el parametro al final de este campo (en este caso -all)
Hay un número de políticas que pueden afectar la prueba de pisan por email:
- **-all** (rechaza o falla si las pruebas no coinciden absolutamente)
- **~all** (rechazo liviana; Marca el correo como sospechoso pero lo acepta)
- **+all** (lo acepta independientemente de donde venga)
- **?all** (aceptan el correo, pero no pueden clasificarlo negativamente o positivamente)
Si consultamos otro dominio, encontraremos una cantidad significativa de otras direcciones IP que también se deben considerar.
Motivos por los cuales el correo enviado podría ser bloqueado
Enlaces sospechosos
-
dominios inusuales
-
Esquemas de codificación extraños
-
mal gramática y ortografía.
-
Replicar mensajes de muestras del mundo real.
-
Uso de servicios compartidos o su propia IP
Puede consultar dominios hasta encontrar uno que no contenga registro y estos los dominios pueden falsificarse fácilmente usando los métodos convencionales.
- Enviando un correo falso.
Que funciona usualmente de este ataque
• Restablecer contraseña del usuario
• Entrega de algun paquetes de Amazon, Alibaba, Mercadolibre
• Un incidente de recursos humanos (bien planeado)
• Transferencias de archivos falsos
• Todo lo que al sujeto le apasione y pueda interesarle (esta información está en sus redes sociales)
por ejemplo.
Puede enviar correos invitando a los clientes a una hermosa barbacoa de la compañía con entretenimiento y con presencia de algunas celebridades pero que solo hay reservas limitadas así que deberían reservar su espacio, dentro de las 24/48 horas próximas.
Para que en realidad los empleados tengan que loguearse en un sitio web clonado de la compañia y se les invita a introducir sus credenciales de accesso para obtener su ‘Prestigioso espacio reservado’ (lol). para después ser reenviados con un redirect 302 a otro sitio legitimo de la compañia, o bien con una ventana popup notificando que su espacio a sido reservado correctamente.
El phising es un ataque de creatividad de distintas formas, mantente simple. Manteniendo un ojo en los controles de seguridad y defensas, y cuando el usuario cliquea, necesitamos un payload
La habilidad de evasión en estos casos juega un rol fundamental
• El payload normalmente se centra en:
-
Un backdoor que da acceso al atacanete
-
un tracker para rastrear clicks
-
recoger credenciales
Segunda Parte
-
Vishing
-
Clonando Sitios
¿Què es Vishing?
Es algo más sofisticados ya que le sumamos la interacción con teléfonos móviles y servicios de plataformas, que normalmente las personas suelen usar a diario como whatsapp o cualquier mensajero en línea.
El vishing es la suplantación de empresas o entidades de confianza para obtener datos personales a través de una simple llamada esto sigue siendo un intento de estafa muy habitual en todo el mundo
Generalmente pretende suplantar la identidad de una entidad o persona con el fin de lograr su cometido que es extraer información privilegiada.
Un Vhishing es un mensaje (sms)/whatsapp o un llamada para que el usuario entregue información o realice comportamientos manipulados o bien entregue datos o acceso a un sistema.
- Llamadas
- Mensajes de voz
- SMS/WHATSAPP
Sitios Comunes para realizar Sms Spoofing
A esto puedes sumarle otros vectores de ataque como los vistos anteriormente
- correo, con un enlace web (probablemente con un acortador de urls para disfrazar la dirección original).
Clonado de sitios con formularios de logueo
En esta sección exploraremos las técnicas de clonación de sitios para obtener información sensible
En esta etapa debemos intentar tener en nuestra caja de herramientas, templates o plantillas de sitios clonados de plataformas populares, con el fin de capturar credenciales desde un formulario donde el usuario ingresara sus datos.
debemos usar certificados SSL que podemos conseguir en namecheap para dar una sensación de seguridad al invitado.
SeToolKit
SEToolkit es un programa de TrustestSEC que tiene muchas funciones para ingeniera social que va desde el robo de credenciales por sitios clonados, hasta la realización de cargas útiles de Metasploit.
Para clonar sitios :
-
2) Website Attack Vectors
-
5) Web Jacking Attack Method
-
3) Custom Import
Indicamos el path de nuestro sitio clonado y el ip de callback donde se enviaran los datos, esta técnica podría hacerse manual, simplemente alojando un sitio en un servidor con un certificado de dominio similar a la de la compañia que quiere spoofear, incluso se podría enviar los inputs del usuario a una base de datos liviana como sqlite
Creaciones de Payloads
Solo rasgaremos la superficie en este tema, ya que será un tema que tocaremos en post posteriores y le dedicaremos una sección entera ya que es algo extenso.
Uno de los principios aplicados a los payloads es que traten de unirse con el binario/lnk/documento ofimático/instalador o lo que sea que utilicemos para el compromiso inicial.
Puede visitar el sitio de Mitre ATT&CK para analizar cuáles son los ataques más comunes.
Haremos una pequeña POC para esto por eje:
Enviar un lnk malicioso comprimido en un archivo zip con contraseña por correo , al estar encriptado con la contraseña lo más probable es que los scanners de correo no lo detecten, estó con el fin de que cuando el usuario descomprima el fichero obtenga un “pdf”, cuando en realidad solo es un acceso directo o más bien un ‘lnk’ con icono de un PDF es un payload que puede ejecutar acciones en su pc. y podría pasar desapercibido ya que después de haber ejecutado su acción maliciosa, puede abrirle un pdf al final para que el usuario no se de cuenta de lo que sucedió.
Así como ejecuto un calculador como prueba de concepto también puede realizar acciones algo más adecuadas para evadir AV/EDR y obtener una shell.
Como por ejp: hacer una petición a un sitio web con un recurso que aloja en su interior un shellcode ofuzcado o encriptado para almacenarlo en memoria y después invocarlo con un rutina que remplaze los caracteres ofuzcados o bien desencripte la carga.
Así como también puede enviar un documento ofimático que contenga código malicioso que se active cuando el usuario haga clic en ‘entable contento’ para darle ejecución a la macro que correrá el código oculto a simple vista en el documento, lo más probable es que sea puerta trasera embebida en él.
en el caso de que sean binarios necesitamos por ejemplo que el binario de compromiso estén firmados, y si es posible por entidades de confianza.
(Para esto puede agarrar instaladores de confianza o binarios e inyectarle el código con “MSFVENOM” - “Shellter”)
No esta demás decir que necesitamos que tengan iconos que se vean ‘confiables’ , y la información necesaria para parecer legítimo con el fin de no alertar al AV/DEFENDER como la versión, el proveedor del software.
Una herramienta útil interesante para firmar binarios es:
[SigThief]https://github.com/secretsquirrel/SigThief de SecretSquirrel
Extraerá una firma de un archivo PE firmado y se la agregará a otro, arreglando la tabla de certificados para firmar el archivo. No es una firma valida, pero ya está firmado y ese es el punto.
Reporte
El reporte es lo que garantizara que hayamos realizado nuestro trabajo de investigación. Para eso debemos tener en cuenta lo siguiente
Antes del reporte
Gran parte de las campañas de ingeniería social está vinculada a Documentación y resultados de búsquedas.
-
Todo el trabajo debe tener un seguimiento, incluso las llamadas deben poder grabarse
-
Información de grabación
-
Pequeñas grabadoras de voz, o su teléfono.
-
Fotografías
-
Cámaras digitales para reconocimiento, o su teléfono
El reporte
Debe ser de unas pocas páginas como máximo 3 paginas, pero bien detalladas y con información precisa o lo más cercano a ello, con una breve explicación del projecto es decir quien la realiza, cual es el fin , y el alcance del mismo. en conclusión debemos colocar los resultados dependiendo su nivel de criticidad como
-
bajo (green)
-
medio (yellow)
-
alto (red)
El phishing es una de las tácticas más efectivas según estatiisticas de compromisos iniciales, el arma mas fuerte para combatirla es solamente usar el sentido común