利用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定义方法:这样的 ...
随机推荐
- CSS知识整理
1. 权重问题(CSS优先级): 继承或 * :0,0,0,0 标签:0,0,0,1 每个类,伪类:0,0,1,0 每个ID:0,1,0,0 每个行内式:1,0,0,0 !important:无穷大 ...
- JavaPoet的基本使用
原文:https://blog.csdn.net/crazy1235/article/details/51876192 JavaPoet JavaPoet 是一个用来生成 .java源文件的Java ...
- 【转】DATA_SECTION 和CODE_SECTION 的区别
请问#pragma DATA_ALIGN有什么作用? 下面是我在EDMA的一个例程中摘录的几句话:#pragma DATA_ALIGN(ping,128);#pragma DATA_ALIGN(pon ...
- HQL基本语法及应用案例
HQL基本语法及应用案例 摘自:<大数据技术体系详解:原理.架构与实践> 一.HQL基本语法 HQL是Hive提供的数据查询语言,由于Hive巨大的影响力,HQL已被越来越多的Hive O ...
- SHELL脚本编程基础知识
SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...
- centos 安装vsftp 服务
安装软件yum install vsftpd -y 启动测试 # systemctl start vsftpd# netstat -nultp | grep 21tcp 0 0 0.0.0.0:21 ...
- 剑指Offer(三十四):第一个只出现一次的字符
剑指Offer(三十四):第一个只出现一次的字符 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...
- php进行判断PC还是手机端代码
之前网站判断移动还是手机跳转都是用js实现,今天给大家分享一个自己用的php判断移动或者PC <?php function check_wap() { if (isset($_SERVER['H ...
- 结构型模式(三) 装饰模式(Decorator)
一.动机(Motivate) 在房子装修的过程中,各种功能可以相互组合,来增加房子的功用.类似的,如果我们在软件系统中,要给某个类型或者对象增加功能,如果使用"继承"的方案来写代码 ...
- python字符转数字
print(float("260.01478420521632365364543423")) 260.0147842052163