生活、计算机网络、Galgame、发电(

关于学校里的U盘快捷方式病毒

前言

在某些学校的电脑中,总会有那么几台电脑,如果你将U盘插入到那台计算机上,它就会将你整个U盘目录里所有文件/夹变成ink快捷方式,由于大多数人本着能用,能开文件就行的思想,也不以为然;
直到他插入了一个带有360U盘检测的电脑上,会发现他的U盘数据空了……然后又去找大佬帮恢复数据(实际是被隐藏了

它是如何运作的

原理

将一个only.ico文件放到U盘根目录,然后在U盘创建一个Autorun.inf文件并填入下面的代码

[Autorun]
icon=only.ico

将这个文件设置只读和隐藏,再插入你的U盘图标就变成你放入文件里的那个only.ico图标了

But,Autorun.inf 文件除了这个作用外,它还支持运行bat和下面几种(点击展开)

含义格式参数备注
DefaultIcon指定应用程序的默认图标DefaultIcon=图标路径名[,序号]图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。
当文件格式为.exe和.dll时,有时需要使用序号来指定图标。
序号:当文件格式为.exe和.dll时 ,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。
应用程序的默认图标将在windows explorer核心的驱动显示窗口中 替代设备的默认图标来显示。
图标路径名的默认目录是设备根目录
Icon指定设备显示图标Icon=图标路径名[,序号]图标文件名:应用程序的默认图标路径名 ,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。
序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。
设备显示图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。
图标路径名的默认目录是设备根目录
当存在应用程序默认图标(DefaultIcon)时,本命令无效
Label指定设备描述Label=描述任意文字,可以包括空格设备描述将在windows explorer核心的驱动显示窗口中替代设备的默认描述卷标来显示。
在非windows explorer核心的驱动显示窗口中(例如右击设备选择属性)显示的仍然是设备的卷标。
Open指定设备启用时运行之命令行Open=命令行
(命令行:程序路径名 [参数])
命令行:自动运行的命令行,必须是.exe、.com、.bat 文件,其他格式文件可以使用start.exe打开或使用ShellExecute命令。命令行的起始目录是设备根目录和系统的$Path环境变量。
ShellExecute指定设备启用时执行文件。(操作系统支持未知)ShellExecute=执行文件路径名 [参数]执行文件路径名:设备启用时执行文件路径名。可以是任意格式文件。系统会调用设置的程序执行此文件。
参数:参数,根据执行文件作调整
命令行的起始目录是设备根目录和系统的$Path环境变量。
Shell\关键字\Command定义设备右键菜单执行命令行Shell\关键字\Command=命令行
(命令行:程序路径名 [参数])
命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开命令行的起始目录是设备根目录和系统的$Path环境变量
Shell\关键字定义设备右键菜单文本Shell\关键字=文本关键字:用以标记菜单,可以使用任何字符表示,包括空格。
文本:在右键菜单中显示的文本。可以使用任何字符,不能存在空格。
在同一Autorun.inf文件中,不同右键菜单关键字不同,相同右键菜单关键字相同。
右键菜单文本中可以使用&;设定加速键,&&;输出一个&。
Shell关键字Command命令Shell关键字两者缺一不可,顺序无所谓。
当不存在Open、ShellExecute与Shell命令时,设备启用时运行第一个设备右键菜单指定命令。
Shell定义设备启用时运行之设备右键命令Shell=关键字关键字:标记过的菜单关键字Shell指定的关键字可以在AutoRun.inf文件的任意部分。
Open、ShellExecute、Shell命令后定义的优先级高。
action 这个命令用来定义程序的名字,比方说:
[autorun]
shellexecute=rundll32 ght
action=打开文件夹
那么在右键菜单显示的就是"打开文件夹",而执行的命令就是"rundll32 ght”
与其他inf文件一样,";"之后的内容会被当做注释,不参与编译

既然支持bat文件,而bat实现上面我所说的病毒效果又很简单,示例:

@echo off
setlocal enabledelayedexpansion

rem 设置变量
set drive=%~d0
set folder=%~p0
set folder=!folder:~0,-1!

rem 判断是否为U盘
if not "!drive!"=="%cd%" (
    echo 请将脚本复制到U盘根目录中运行!
    pause
    exit
)

rem 创建快捷方式
for /F "delims=" %%a in ('dir /b /a-d %folder%') do (
    set filename=%%a
    set fileext=!filename:~-3!
    if not "!fileext!"=="lnk" (
        set shortcut=!filename!.lnk
        set file=!folder!\\!filename!
        set shortcut=!folder!\\!shortcut!
        mklink "!shortcut!" "!file!" >nul
        attrib +h +s "!file!" >nul
    )
)

echo 操作已完成!
pause

动作实现

然后再利用相关木马(我不会写……)将类似加载一个识别是否有U盘插入,如果是,给U盘添加上方编写的bat文件和执行用的Autorun配置的脚本放入到类似C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup开机即运行

传播实现

Autorun配置中添加U盘插入到别的电脑就运行将上方动作实现提到的脚本文件放到类似C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup并运行

大致思路应该是这样的,只是笔者想的一个实现思路,笔者已经不是在校生,只是突然想起来这个病毒,就试着构思了下(水一篇文

参考文章:
百度百科:Autorun.inf
关于学校里的U盘快捷方式病毒

https://www.jerryyang.link/archives/30/

作者

Jerry

发布时间

2023-03-02

添加新评论