• LNK善意利用


    lnk

      lnk在Windows平台下是快捷方式,可以指向其他目录下的文件,并且可以传递参数。现在有些恶意活动会恶意利用lnk,执行恶意代码。

      关于lnk的格式,可以使用010 editor的模板功能,快速识别。

      如果鼠标右键创建快捷方式,可以在目标中输入执行的命令,但是字符串最长为260字节。

      可以将过长的命令放在其他位置去执行,也可以对lnk本身进行修改,从而去除字符数限制。

      现在的lnk启动命令很容易被拦截,不过可以了解一下。

      可以简单粗暴地右键创建一个lnk文件,拖进010 editor,用模板跑一下。

      可以看到实际上COMMAND_LINE_ARGUMENTS的长度可以支持到16-bit大小(0xffff),修改成大于260的值,之后插入增大字节数量的2倍(因为支持的是Unicode格式字符)空白空间,在其中写入命令。

      也可以在中间加大量空格,最后末尾加上恶意命令,这样限于图形窗口中的260显示大小,可以一定程度上隐藏自身。

    关于图标

      假如不修改图标的话,快捷方式的图标将显示为指向的可执行程序的图标,可以在右键菜单中通过"更改图标"。

      可以选择系统dll中携带的文件图标,比如说%systemroot%\system32\shell32.dll

      在lnk文件中的变化主要体现在ShellLinkHeaderLinkFlags结构体中的HasIconLocation标志位置为1;IconIndex为使用的icon在目标中的下标;最后是紧接在COMMAND_LINE_ARGUMENTS后的ICON_LOCATION字段,lnk使用的icon所在的文件,本文中是“%systemroot%system32shell32.dll”。

    关于工作目录

      要使得修改lnk指向的应用程序工作在指定目录,可以在WORKING_DIR字段进行修改,如果要去除该字段,可以设置sLinkInfo字段中的HasWorkingDir为0,并删除WORKING_DIR字段,则lnk启动的程序工作目录将在当前窗口。

  • 相关阅读:
    调用tensorflow中的concat方法时Expected int32, got list containing Tensors of type '_Message' instead.
    lstm公式推导
    RNN推导
    word2vec原理
    反向传播神经网络入门
    mac升级系统自带numpy失败解决方案
    mac安装.net core
    mac 当前位置打开终端
    docker安装配置
    KVM性能优化学习笔记
  • 原文地址:https://www.cnblogs.com/zUotTe0/p/13532385.html
Copyright © 2020-2023  润新知