Unicode RTLO(Right-To-Left Override) Security ISSUE

很久没有写博客了,不太容易安静下来,做一些简单的总结。希望2016年可以多记录一些零散的想法。

今天简单聊一下 RTLO的小问题。

RTLO是一个8238的Unicode字符,它的作用是让紧跟在后面的字符串倒序: http://www.codetable.net/decimal/8238

可以用来欺骗用户打开可执行文件(钓鱼攻击),或者欺骗后端应用的检查机制。

例如,我这里有一个可执行文件,文件名是 u’aaaa\u202eFDP.exe’  的文件,202e是

>> hex(8238)
'0x202e'

那么windows用户在资源管理器中看到的文件名将显示为 aaaaexe.PDF,如果这个exe的图标正好PDF的图标,可能会欺骗用户点击执行。

我示例将cmd.exe重命名为u’aaaa\u202eFDP.exe’ ,python中执行

>> os.rename('cmd.exe', u'aaaa\u202eFDP.exe')

用户在资源管理器中看到的效果就是aaaaexe.PDF(我这里特意大写了PDF):

rtlo.sample

不过,可以注意到,文档类型那一栏,依然是“应用程序”。而且一般的安全工具也能拦截这种欺骗攻击。

本文参考链接: https://blog.malwarebytes.org/online-security/2014/01/the-rtlo-method/

《Unicode RTLO(Right-To-Left Override) Security ISSUE》上有3条评论

  1. 哈哈哈,其实本来是不拦截的,qq文件互传也检测不到名称逆向(至少15年中之前)。然后兴高采烈写了个文章分享了一下,玩了玩,就没有然后了。# 你当360的大灰阔们不上freebuf的!? #
    _(:зゝ∠)_ 天要杀我,我不得不毒。。http://www.freebuf.com/tools/90362.html

  2. Lijiejie 你好,https://github.com/lijiejie/BBScan。你写的这个工具特别的好用,不知道能增加一个指定端口的命令吗?或者读取端口配置文件自动在ip后面添加指定的端口。

回复 evil7 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注