利用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方法构建恶意文件名的更多相关文章
- 利用 Rational ClearCase ClearMake 构建高性能的企业级构建环境
转载地址:http://www.ibm.com/developerworks/cn/rational/r-cn-clearmakebuild/ 构建管理是 IBM® Rational® ClearCa ...
- 利用Nutch和Tomcat构建搜索引擎
利用Nutch和Tomcat构建搜索引擎 1.安装环境及软件版本介绍 本教程是在Linux Ubuntu 12.04 desktop i386操作系统上搭建,结合使用了Nutch-1.2和Apache ...
- 利用ML&AI判定未知恶意程序——里面提到ssl恶意加密流检测使用N个payload CNN + 字节分布包长等特征综合判定
利用ML&AI判定未知恶意程序 导语:0x01.前言 在上一篇ML&AI如何在云态势感知产品中落地中介绍了,为什么我们要预测未知恶意程序,传统的安全产品已经无法满足现有的安全态势.那么 ...
- 利用angular4和nodejs-express构建一个简单的网站(五)—用户的注册和登录-HttpClient
上一节简单介绍了一下利用angular构建的主路由模块,根据上一节的介绍,主页面加载时直接跳转到用户管理界面,下面就来介绍一下用户管理模块.启动应用后,初始界面应该是这样的: 用户管理模块(users ...
- 利用水文分析方法提取山脊线和山谷线(ArcPy实现)
一.背景 作为地形特征线的山脊线.山谷线对地形.地貌具有一定的控制作用.它们与山顶点.谷底点以及鞍部点等一起构成了地形起伏变化的骨架结构.同时由于山脊线具有分水性,山谷线具有合水性特征,使得它们在地形 ...
- jquery利用event.which方法获取键盘输入值的代码
jquery利用event.which方法获取键盘输入值的代码,需要的朋友可以参考下. 实例 显示按了哪个键: $("input").keydown(function(event) ...
- JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)
JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...
- Python中的str与unicode处理方法
Python中的str与unicode处理方法 2015/03/25 · 基础知识 · 3 评论· Python 分享到:42 原文出处: liuaiqi627 的博客 python2.x中处理 ...
- 利用final定义方法:这样的方法为一个不可覆盖的方法。
常量(这里的常量指的是实例常量:即成员变量)赋值: ①在初始化的时候通过显式声明赋值.Final int x=3: ②在构造的时候赋值. 局部变量可以随时赋值. 利用final定义方法:这样的 ...
随机推荐
- Redis安装--CentOS7上安装Redis
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 1.R ...
- 【洛谷 P2444】 [POI2000]病毒(AC自动机)
题目链接 这么多字符串,肯定是自动机啦. 先建出AC自动机,然后怎么表示一个安全代码没有病毒代码呢? 就是存在一条路径不经过有病毒代码段结尾的节点呗. 所以呢?有环啊!dfs一下救星了. #inclu ...
- OO——JML作业总结
目录 第三单元博客作业 JML语言理论基础 1.注释结构 2.JML表达式 3.方法规格 4.类型规格 应用工具链 JMLUnitNG使用实例 作业架构设计 第一次作业 第二次作业 第三次作业 BUG ...
- javascript设计模式之适配器模式
---恢复内容开始--- 定义: 是指讲一个接口转换成客户端希望 的另外一个接口,该模式使得原本不兼容的类可以一起工作.适配器模式的作用事解决两个软件实体间的接口不兼容的问题. 生活中的实例: USB ...
- iOS配置TARGETS
说一下背景 自从这个项目不死不活的迭代了2年,从项目搭建到现在,一直都是自己在开发和维护,所以项目结构非常清晰,但是之前的水平写的代码现在看来也是惨不忍睹,不过本人比较懒,也就没有考虑过重构的事情 - ...
- python 3.7.4 安装 opencv
明确一下,我们需要使用python来调用opencv中的库函数,所以需要安装opencv-python. 主要需要安装: 1. opencv-python 2. numpy 第一步先来安装opencv ...
- Nginx的proxy buffer参数总结
1. proxy_buffering 语法:proxy_buffering on|off 默认值:proxy_buffering on 上下文:http,server,location 作用:该指令开 ...
- UEditor 在 Layer 模态框中无法使用问题
问题: 解决方法: 在 使用 ueditor 的页面顶部加入js代码: window.UEDITOR_HOME_URL = "__STATIC__/path/to/ueditor/&quo ...
- 最小哈希 minhash
最小哈希 维基百科,自由的百科全书 跳到导航跳到搜索 在计算机科学领域,最小哈希(或最小哈希式独立排列局部性敏感哈希)方法是一种快速判断两个集合是否相似的技术.这种方法是由Andrei Bro ...
- 手写热更新阐述tinker实现原理
关于热更新如今面试也是基本上都会提及到的,我上一家公司用的是tinker,而这里准备研究的也是它的原理,而关于tinker的原理网上也是一大堆文章进行介绍,为了对它有个更加进一步的认识,所以自己动手来 ...