利用Unicode RTLO方法构建恶意文件名

Posted -mo-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Unicode RTLO方法构建恶意文件名相关的知识,希望对你有一定的参考价值。

一:简介

RTLO”字符全名为“RIGHT-TO-LEFTOVERRIDE”,是一个不可显示的控制类字符,其本质是unicode 字符。“RTLO”字符可使电脑将任意语言的文字内容按倒序排列,最初是用来支持一些从右往左写的语言的文字,比如阿拉伯语,希伯来语。由于它可以重新排列字符的特性,会被不法分子利用从而达到欺骗目标,使得用户运行某些具有危害性的可执行文件。

二:构造方法(1)

(1)这里我的实验环境就是本机电脑,较高版本的win10系统,某一个文件夹下有一个“momaek.txt”文件,我们想对它动些手脚:

技术图片

(文件扩展名勾上了!)
技术图片

(2)这里有两种构造方式,如果你是windows用户的话,直接通过给文件重命名就可以插入Unicode的RTLO字符:
技术图片

(3)这里我们直接输入fdp回车后,原本的“momaek.txt”变成了“momaektxt.pdf”。但是这里注意,这个文件的属性仍是文档(txt)的类型,并没有变成pdf文件格式!
技术图片

(4)我们做一个先后变化的文件对比:

  • 在这种详细信息的视图中,可以明显的看到改动后的文件类型还是文本文档,唯独后缀名不一样。
    技术图片

  • 但是我们切换成“内容模式、(小、中、大、超大)图标模式”后,就无法看出文件的真实类型了!(当文件夹下内容过多时,windows会默认将视图模式更改为内容模式)
    技术图片

三:构造方法(2)

(1)还有一种方法是:通过python对目标文件重命名。
上面的内容理解清楚后,这次我们来做点不一样的:(构造一个恶意.exe)
(2)一个“mo.png”,一个“mo.exe”:(嘻嘻嘻,满脸坏笑)
技术图片

(3)通过python给它加上RTLO方法:使其变成以.png为后缀的名称:

import os
os.rename('mo.exe', 'mo\\u202egnp.exe')

技术图片

(4)看下效果:详细模式下:
技术图片

内容、(小、中、大、超大)图标模式下:
技术图片

四:总结

这种方法算是一个小技巧吧,实用性也不是很强。
主要是在网上很少有介绍它的文章,平时也没怎么见过这种方式,故整理了此篇。
与此之外,看到一位师傅用“Unicode RTLO方法”来生成的后门,详情请见:https://www.freebuf.com/sectool/90362.html

本文参考链接:
https://blog.malwarebytes.com/cybercrime/2014/01/the-rtlo-method/
http://www.lijiejie.com/unicode-rtlo-right-to-left-override-issue/

以上是关于利用Unicode RTLO方法构建恶意文件名的主要内容,如果未能解决你的问题,请参考以下文章

利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换

文件包含漏洞利用方式-日志注入getshell

msf下的LNK漏洞(CVE-2017-8464)利用

可利用的 PHP 函数

文件上传漏洞的利用和防御