Abusando de RTLO - Defender bypass - Golang revershell
¿Qué es RTLO?
TLO, o Right-to-Left Override, es una técnica utilizada en informática para alterar la dirección del texto. En condiciones normales, el texto se lee de izquierda a derecha, como en inglés o español. Sin embargo, con el RTLO, se puede cambiar la dirección del texto de derecha a izquierda.
¿Como lo utilizan los hackers?
Camuflar archivos maliciosos: Cambian la dirección del texto en nombres de archivos para hacer que parezcan seguros cuando en realidad son peligrosos.
Phishing: Ocultan enlaces maliciosos en correos electrónicos o redes sociales, engañando a los usuarios para que crean que están interactuando con sitios web legÃtimos.
Evadir filtros de seguridad: Alteran la dirección del texto en el código malicioso para eludir la detección de sistemas de seguridad.
En resumen, RTLO es una herramienta que los hackers usan para engañar y ocultar su actividad maliciosa.
Demostracion de RTLO
El caracter unicode que se utiliza para el RTLO es '\u202e' este caracter unicode lo que hace es dar la vuelta a los caracteres que hay detras de el. Ejemplo:
Como podemos ver en el ejemplo todo lo que se pone detras de el caracter RTLO se ha cambiado de derecha a izquierda el 'tal' se ha convertido en 'lat'.
La gracia de esta tecnica es poder utilizarla para cambiar las extensiones de los archivos para que parezcan otras.
Ejemplo:
Como podemos ver en este ejemplo podemos hacer que un archivo .exe parezca un .pdf sin serlo, ya que cuando se ejecuta seguira siendo un .exe
Revershell Golang - Defender Undetection - Fake pdf
He programado en el lenguaje Golang una revershell la cual el defender no detecta. Tambien para que sea menos sospechoso ya que el .exe estara camuflado como un .pdf vamos a hacer que la revershell tambien descargue un pdf y luego lo abra para quitar cualquier tipo de sospecha, tambien haremos que el binario de go se renombre como totepad.exe en la carpeta "C:\Temp\" dejando el pdf normal en la carpeta donde se estaba ejecutando el binario malicioso y dejando un notepad.exe
Codigo Golang:
Para hacerlo mas creible vamos a compilar el .exe con el icono del pdf, para hacer esto seguimos los siguientes pasos:
Nos vamos a la carpeta donde se encuantra la revershell en .go y ejecutamos los siguientes comandos:
Usando RTLO - Defender Bypass
Script python:
Si lo utilizamos con la revershell podemos ver que funciona:
El problema de esto es que esta tecnica es detectada por el defender.
Para que el defender no detecte la tecnica del RTLO usaremos una extension parecida al pdf como pdfx, cambiamos en el codigo a esa otra extension.
Script python .pdfx:
Ahora ejecutamos otra vez el script y veremos que el defender no lo detecta, tambien usaremos una palabra del español que acabe en exe para que no sea tan cantoso.
Renombramos la revershell con algo creible que pueda llevar la palabra exe al final:
Ya tenemos un .exe que parece pdf.
Compartir pdf - recibir revershell - Defender undetection
Primero vamos a conseguir el pdf que queremos que se abra cuando se ejecute la revershell lo renombraremos a pdf.pdf y lo compartiremos por http con python, claramente tu servidor tiene que tener la ip que pusimos anteriormente para abrir el pdf en la revershell en go.
Iniciamos el servidor http:
Y ya podemos abrir el archivo en la maquina windows victima y recibiremos la revershell, tambien podremos ver como desaparece el .exe enmascarado y se queda un pdf normal mientras en la carpeta C:\Temp se ha creado un notepad.exe donde esta corriendo la revershell.
Video POC:
Last updated