首页 电脑 电脑学堂 查看内容

黑客技术1

2004-9-29 20:05 1089 0

摘要: 尽一年没来了,发现帐号还在,嘻嘻。。。挺好。看了这版的文章,觉得有些想法,好象大家对网上安全的问题看法差别很大,有些好象还觉得网上真的很安全,呵呵。。所以想有时间分几次谈谈自己的看法,不过想先举个例子...
关键词: 封包 一个 密码 安全 问题 网络 Microsoft sniffer found 系统

尽一年没来了,发现帐号还在,嘻嘻。。。挺好。看了这版的文章,觉得有些想法,好象大家对网上安全的问题看法差别很大,有些好象还觉得网上真的很安全,呵呵。。所以想有时间分几次谈谈自己的看法,不过想先举个例子,就学校的网络系统而言,用10秒的时间,你可以看到什么?我看到的是这样的: 210.34.0.12='www.xmu.edu.cn' 210.34.0.13='bbs.xmu.edu.cn' 210.34.0.14='dns.xmu.edu.cn' 210.34.0.17='yanan.xmu.edu.cn' 210.34.0.18='JingXian.xmu.edu.cn' 210.34.0.55='nv6000.xmu.edu.cn' 210.34.0.1='router.xmu.edu.cn' 210.34.0.2='xmu.edu.cn' 210.34.0.15 210.34.0.65='net.xmu.edu.cn' 210.34.0.66 ok.那么这些又代表什么呢?看看bbs--210.34.0.13吧,再用10秒。 Port 13 found. Desc='daytime' Port 9 found. Desc='discard' Port 19 found. Desc='chargen' Port 21 found. Desc='ftp' ^^^ 可能有东东的。请参考CERT coordination Center 关于这个东东的说明。 Wuarchive.wustl.edu:/packages/ftpd.wuarchive.shar Port 22 found. Port 23 found. Desc='telnet' Port 25 found. Desc='smtp' Port 80 found. Desc='www' ^^^^^^^^^^^^^^^^^^^ 这是个bug.使用别的工具,你可以看到进程所有者。呵呵。。你说是root吗? Port 110 found. Desc='pop3' Port 111 found. Desc='portmap/sunrpc' Port 37 found. Desc='time' Port 7 found. Desc='echo' Port 513 found. Desc='login/who' Port 514 found. Desc='shell/syslog' Port 540 found. Desc='uucp' Port 970 found. Port 971 found. Port 972 found. Port 976 found. Port 977 found. 提供的服务不少嘛,好了,现在对一个有经验的hacker(是hacker,不是cracker)来说,这台主机已经在你手上了,离root不远了,这里我只是举个例子。并没有褒贬本bbs的意思。还望见谅。当然,这没什么。相信很多人可以这样的。所以,我想对网络的安全问题谈自己的一些看法,边整理边贴,贴到哪里算哪里。可能会涉及到的有关参考资料,技术报告,白皮书等,我会尽可能列出网址。对于 提供的服务不少嘛,好了,现在对一个有经验的hacker(是hacker,不是cracker)来说,这台主机已经在你手上了,离root不远了,这里我只是举个例子。并没有褒贬本bbs的意思。还望见谅。当然,这没什么。相信很多人可以这样的。所以,我想对网络的安全问题谈自己的一些看法,边整理边贴,贴到哪里算哪里。某些用PostScript格式的说明文件,你可以到这些地方去下载。能列出网址。对于ftp://ftp.winsite.com/pub/pc/winnt/txtutil/rops3244.ziphttp://www.cs.wisc.edu/%7Eghost/gsview/index.html 相关的工具软件我也会列出下载站点,但是某些程序请你自己编译,并且不保证没有特络伊木马或其他恶意代码。 从Crack Password说起吧。 黑客技术(2)-破解密码 所有看法纯属个人见解,欢迎指正,有悖你想法的地方,请E_mail:[email protected] 密码破解:网络很大一部分安全是靠密码保护的,但是密码可以被破解,所以还是有可能被人入侵系统的。我想这是大部分人对破解密码的看法。也就是,我可以用一些技巧来获得系统的口令文件,然后我用某个算法来计算加密的口令,然后,呵呵。。其实不然。。事实上,我的看法是被加密过的密码大部分是不可能被解码的。加密算法的过程绝大多数是单向的。所以,真正加密过的密码是不可能解出来的。(Microsoft 例外,呵呵 。。)大部分的破解程序只是使用和原来加密密码的同样算法,透过分析,试着找出对应的加密版本和原来的密码。也就是通常cracker们说的“暴力”算法。一个一个试。呵呵。。试到你提供的字典文件中的某个单词刚刚好和那个傻瓜用户的密码一样,如果字典文件找完了,还没有一个一样的单词,呵呵,,我看什么东东都没有,白浪费时间而已,所以,很多的高手通常的字典文件都100M左右,不奇怪的。 可见,“大多数人认为只要他们的密码没有在usr/dict/words中,就安全了,所以不关心帐号的安全。。 ”(Daniel V. Klein 的"A survey of implements to,Password Security") 所以,提供注册密码或CD-Keys不是破解密码,而在网上提供这些东东的行为和海盗没什么差别。你可以到alt.cracks这个新闻组里看看这些海盗们。 真正的破解密码程序看起来向这样: Microsort很关心是不是有人偷了他的windows。所以Microsoft搞了一个CD-keys的保护程序。相信大家都知道是怎么一回事,有个人呢,看不下去,所以就写了一个程序,经过 1。将所有明显的和跟键值无关的拿掉。 2。将剩下的数全部相加。 3。结果除7。如果你没得到小数,你拿到了一个有效的CD-Keys。设计这个软件的人叫Donald Moore,你可以在http://www.apexsc.com/vb/lib/lib3.html 得到整个详细说明和分析。在http://www.futureone.com/~damaged/pc/microsoft_cd_key/mscdsrc.html 得到完整源代码。 还有的呢? 我想大多数人对Unix平台的密码很感兴趣。在Unix上,所有使用者的 id 和密码都放在一个集中的地方,/etc/passwd(shadow).因此我们关心的就是这个地方舒服吗?事实上从DES(美国国家标准局和国家安全总署联合背书的)的加密程序Crypt(3)来看,想要破解是有这样一种可能的(1/70,000,000,000,000,000)几率。 (详细的DES,crypt资料从ftp://gatekeeper.dec.com/glibc-1.09.1.tar.gz拿到) 但是,如果你拿到passwd,取出密码段喂给某个程序,加密后和原来的做比较,如果一样,90%你拿到口令了。就是这么简单。网络其实就这么安全。 如何拿到passwd超出本版的范围,也不在我知识掌握之中,但是,你可以从http://sdg.ncsa.uiuc.edu/~mag/Misc/wordlists.html下载几个字典文件研究一下。从http://www.fc.net/phrack/under/misc.htmlhttp://www.ilf.net/~toast/files/http://www.interware.net/~jcooper/cracks.htm拿到CrackerJack. 从http://tms.netrom.com/~cassidy/crack.htm拿到PaceCrack95. 看看他们对你的系统有没有威胁。 其他的密码破解采用相近的方法。有兴趣的话,你可以找一个zipCrack10或 FastZip2.0玩玩。 WordPerfect可以找Decrypt. Excel的用excrack windows的Pwl文件。。呵呵。。用Glide.Http://www.iaehv.nl/users/rvdpeet/unrelate/glide.zip Novell的用netcrack. Nt的用password NThttp://www.omna.com/yes/andyBaron/recovery.htm ……… 我想我是无法列尽这些东东的,不过可以说的是,没有什么软件能提供给你真正的安全保护。特别是当你上线的时候。。。 感觉好象乱乱写。。呵呵。。太多的关于密码的东东了,我只是想说,不管你用什么系统,在Crack眼中,没有什么安全性可言。 明天再整理如何在网络中收集你想要的有关对方主机信息。谈谈host ,traceroute, rusers,finger 如何将你的主机信息告诉别人。并且告诉到什么程度。呵呵。。 黑客技术(3)-Scanner 网络安全上,最有名的我想莫过于Scanner了。。它是一个可以自动侦察系统安全的程序,大部分情况下,用来找出系统的安全弱点。通过对Tcp的ports和服务的侦察,然后将信息记录下来,提供目标的安全分析报告,这是标准的scanner,象unix上的某些服务,如:host,rusers,finger等,只是半个scanner.完全发挥Scanner的功能要求使用者必须掌握相应的tcp,C,Perl,Socket 的基本常识。关于socket可以从http://147.17.36.24/prog/sockets.html得到详细的设计说明。 那么Scanner到底会告诉你什么呢?其实他真的不告诉你什么,呵呵。。他只是将信息完整的记录下来,做为一个系统管理员,会看出内在的弱点才是要命的,因此,我不知道你通常是怎么做的,我是到这些地方去看信息的。 [email protected] [email protected] [email protected] ntsecurity@iis [email protected] 多了解这些信息对看出由scanner记录的东东很由好处。 比如:finger [email protected] 后我得到这样得信息: login name: root in real life: 0000-Adim(0000) ^^^^^^^^^^^^^^^ Directory: /shell: /sbin/sh Last login tue Feb 18 19 04:05:58 1997; Unread since Web Feb……… No Plan. 现在我起码知道server.com这台主机上跑Solaris.再用ftp或telnet我可以知道Solaris 的版本号,然后我可以知道那个版本的有什么Bugs, 分别是哪一级的,我如何做。。。。 可见,Scanner能找到网络上的机器,找出机器的信息,提供某些人分析。 一个典型的例子: 1995年,SGI卖出许多“WebForce”的机器,机器很不错,多媒体功能很强,跑的是 IRIX ,不幸的是,有个系统的内置帐号“lp”不需要密码。(本市有这样的机器)好了,现在我想看看究竟是哪一台,他的硬盘有些什么,我这样做: 1。我找到一个搜索引擎,查找“EZSetup + root: lp:” (老土的方法)或者,我用scanner.使用scanner的telnet对202.XXX.XXX.000到202.XXX.XXX.255 全部进行telnet.传回的信息象这样: Trying 202.XXX.XXX.XXX Connected to …….. Escape Character is "]" IRIX 4.1 Welcome ……… Login: 2。我马上离开了。。呵呵。。。。 想了解最后一个使用这个bug的人的ip地址,finger [email protected] 这小子很牛。 修改你的passwd 使其中一行这样:lp:*:4:7:lp:/var/spool/lpd: 你的问题解决了。 在unix中,host执行nslookup一样的功能。但是,host是unix中最危险,最有威胁性的十大工具之一,(我认为)比如:我host 某个大学。 Host -l -v -t any edu.cn 呵呵。。你会看到: Found 1 addresses for XXX.XXX.edu.cn Found 5 addresses for XXX.YYY.edu.cn .. .. Trying 210.XXX.XXX.XXX XXX.XXX.edu.cn 86400 IN SOA 961112121 900 900 604800 86400 …. XXX.YYY.edu.cn 86400 IN HINFO SUN-SPARCSTATION-10/41 UNIX XXX.ZZZ.edu.cn 86400 IN HINFO DEC-ALPHA-3000/300LX OSF1 …. XXX.xmu.edu.cn 86400 IN HINFO PC-PENTIUM DOS/WINDOWS …. 一个将近120K的文件。好了,现在我知道跑dec的机器可能有mount -d -s 的毛病。跑sun的机器可能有patch-ID#100376-01的问题。 跑windows 95 的机器可能有SMB协议,我可以用SAMBA来连上共享目录。 Rraceroute 同样也是unix中的犀利工具,用来确定主机到底在什么地方。具体功能我不说了,他和rusers, finger一样,提供一些看起来好象没什么的资料,但是,你可以利用某些技巧来定位一个目标。 还有一个命令shownount.他的-e参数可以提供某些目录的bug出来。类似的工具你可以参考这些: netscanhttp://www.eskimo.com/~nwps/index.html NetWork Toolboxhttp://wwwljriver.com/netbox.html Tcp/Ip Surveyorftp://wuarchive.wustl.edu/systems/ibmpc/win95/netutil/wssrv32nz ip 真正的Scanner: NSShttp://www.giga.or.at/pub/hacker/unix/ Strobehttp://sunsite.kth.se/linux/system/network/admin/ SATANhttp://www.fish.com IdentTCPscanhttp://www.giga.or.at/pub/hacker/unix/ (这是我强力推荐的) Connecthttp://ww.giga.or.at/pub/hacker/unix/ SafeSuite (强力推荐的软件,由ISS发展小组开发) Safesuite提供3个scanner, Intranet scanner , Web scanner ,firewall scanner. 提供6个攻击测试: sendmail,ftp,nntp,telnet ,prc,nfs 如果你的主机通过了这个软件,呵呵。。不要命的hacker可能会和你拼了。使用这个软件,我很轻易的就发现了学校一台主机的三个致命弱点。 Rlogin,ftp,httpd。每个都够你使用root权限。 如何使用和到哪里去下载这个软件我不太清楚,你可以到网上去找。 总之,我相信任何的系统都存在安全上的风险,对于想真正了解网络安全的系统管理员,都应该从很细小的资料上注意起。并且应该时刻注意你所用的系统有没有新的不安全因素出现在网上。 还想谈的安全问题还有sniffer,trojans,fake ip,email bomb,system bugs, microsoft(oob 139,1031,80),some unix problem.(telnet,nfs..),hacker&cracker. 这些都是我长期收集的资料和实际操作中碰到的。所以只能是整理到哪里贴到哪里。当然,这些只是我的个人看法,能谈到什么程度我不敢说,但是我希望能对关心网络安全问题的人提供一些帮助。也希望大家一起来真正了解我们面对的机器能保存些什么秘密。 黑客技术(4)-Windows和Nt Microsoft的安全问题一直是一个很敏感的问题,因为网络上有太多的使用者了,在我收集的长达79页的Microsoft技术规范说明中,谈到安全问题的仅仅是一段 “比以往的版本,在安全技术上有很大的改善”,显然,Microsoft更关心的是有没有人偷他的软件去使用,而不是用户在使用软件时是否安全。那么,摆在眼前的就是:Microsoft从来就不是一个安全的平台,即使是Nt系统,虽然Nt经过了NSA的安全等级C2鉴定。但是,请注意以下的补充说明: 1·C2在EPL中是很低的等级。 2·NT的C2只在某些硬件上才能达到,(Compaq Poliant 2000,DECpcAXP/150 Alpha) 3·NT的C2认证是假定在没有网络的情况下。 所以,在Microsoft的Windows产品中,基本的安全功能就相当的缺乏,所有密码的功能基本是依赖一个PWL的文件,所以,了解这份文件,你也就了解了Windows的所谓的安全机制。 在Windows中,使用两个函数来计算密码: WnetCachePassword( ) WnetGetGachedPassword( ) 如果你是一个软件设计人员,那么你可以使用相同的这两个函数来获得使用者的密码。但是,更简单的方法是,你可以在Windows系统目录下,直接删除PWL文件,然后再以你的口令生成一个文件。详细的说明你可以参考http://199.44.114.223/rharri/tips.htm 或者你可以http://www.iaehv.nl/users/rvdpeet/unrelate/glide.zip下载这个软件,然后试试在你的机器上运行。如何解决上述问题,你可以使用Fortres 101,http://www.fortres.com/f101.htm 上面说的只是单机的情况,那么,如果你的机器在网络上呢? 这里有我一份在去年3月份的记录。对在记录中出现的任何机器,我很抱歉将你们列出来。但是我保证没有动改你们的硬盘。呵呵。。。。 1997.3.27 xx:xx:xx 我从internet连线上学校的网络,当时,我用了一个Scanner来扫描整个的网络,令人惊奇的是,我从结果窗口中看到了这样的一些信息: Win95client: littlesun Win95client: tina&ryu ….. ….. Win95client: subtle ….. WinNtServer: XXXXXX Domain:XXXXX_XX ….. Ok, 接下来,我只是用网络邻居来打开某台机器,然后,我立刻就发现了一些的共享目录。其中的某些目录你可以用"guest"来连上,到了这一步,如果你是一个别有用心的人,你会怎么做?我想象的做法应该是: 1. 到95的系统目录下,下载所有的PWL文件。 (其中就有Administrator的) 2. 到我本机后,用glide在一秒中内解出所有的密码。 3. 然后我想,可能有某台机器是连上NT服务器的系统管理员的工作平台,这样的话,他不太可能使用两个密码来登录Nt域和他本地的Win95系统,通常在服务器上的 Administrator和他在本地的Administrator用户口令相同。 4. 于是,我可以用这个密码来登录发现的那一台服务器,用administrator. Ok, 脆弱的工作站连累了Nt服务器。这就是结果。 出现这样的安全问题,原因是什么?就是Windows采用的SMB协议所带来的问题。 SMB(Server Message Block) ,Microsoft用这个协议来实现系统在网络中的共享协定。包括:文件,目录,打印机,通讯口等。这个协议可以加在很多协议上跑,象Tcp/Ip, NetBios,Ipx/spx 于是,hacker就可以使用telnetd透过SMB来或取windows,Nt的共享目录,然后就可以: 1. 使用SMB的clinet端送"dir ..\"给服务器,造成"denial-of-service"的攻击。 2.使用SAMBA连上共享目录。慢慢观赏你的硬盘。呵呵。。。 解决问题的方法是:不绑定SMB给Tcp/Ip. http://ftp.microsoft.com/developr/drg/cifs/中找详细的SMB资料,然后到http://www.microsoft.com/kb/articles/q140/8/18.htm找一个SMB的patch. 这只是nt系统中普遍存在的问题,实际上,根据我个人的看法,在一个Nt中,你起码应该注意这些问题: 1.Port 80的远程漏洞。 Telnet到prot 80 ,发送这样的命令:get ../.. Ok ,Web服务器立即当掉。 使用Service pack 1a,2来修复这个问题。 2. Denial-of-Service的攻击。http://ntinternals.com/cpuhog.htm取cpuhog这个软件,他使你的nt服务器 Cpu达到100%忙碌状态,然后死掉。 3. Port 135,1031的问题。这个OOB的问题相信大家都知道,但是Microsoft对1031口存在的问题却不太关心。在1997年2月2日的Microsoft报告中就明显指出这个问题,到现在还没有有效的解决方法。 4. 对DNS-Denial的攻击,使用Service Pack 3来修复。 5. 通常hacker会用的由nbtstat来查询机器名称,放入lmhosts文件后,对网络查询来得到共享目录,使用者信息,等。。。。 这些是我个人对使用Nt的看法,当然,如果你有更好的建议,你可以发E-mail给我。 再谈谈nt的密码问题,Nt的密码采用和95不同的机制来实现。在Nt中,使用的安全模型是DAC ( Discretionary Access Control ).你可以从这个网址得到完整的参考:http://www.v-one.com/newpages/obook.html 而DAC的实现有赖于NTFS,所以,请你在安装Nt时,选用NTFS选项。但是,不要以为NTFS能带给你100%的安全,到这个地址:http://www.hidata.com/guest/nthacks/passworddll.htm 你可以得到一个工具。呵呵。。你自己用用看。 这里我想列出一些可能对你管理nt服务器有用的工具,它们可以用来找出你系统的弱点,或者防范网络hacker的攻击: scanNT:http://www.omna.com/yes/andybaron/pk.htm Systems Management Server :http://www.microsoft.com/smsmgmt/revgd/sms00.htm Dump ACL:http://www.net-shopper.co.uk/software/nt/dmpacl/index.htm 上述是我对Microsoft的操作系统安全问题的看法,实际上,有些问题并不只是在 windows或nt中,在Microsoft的dos, winword, access,excel ,front page web server ,o'reilly website server等产品中,都有不少的安全弱点。体力所限,我无法完全列出,有兴趣可以和我直接联系。 黑客技术(5)-Sniffer Sniffer 了解什么是Sniffer之前,我想先说说网络的基本构成,通常的网络看起来是这样的:一个控制软件的控制台(可以是pc机、工作站等)一套用来控制网络硬件的软件一个支持Ethernet封包的网络控制卡一条用来使封包从这里流到那里的传输设备另一套和上述相同设备的硬件、软件。可见,这其中的一个关键环节是封包如何在网上跑,当然,可以用tcp/ip、 ipx等。。或是多个的组合,那么,Sniffer的目的就是将整个的网络界面变成不区分的状态,然后再截取网络上的封包。传统上的Sniffer可以是硬件或软件或硬件和软件的结合。由于Ethernet 的工作方式,网络请求在网上一般以广播的方式传送,这个广播是非验证的,也就是每个nodes都可以收到,除了目标接受者会回应这个信息外,其他的接受者会忽略这个广播。Sniffer就是一个专门收集广播而决不回应的东东。 由于sniffer是工作在封包这一级的产品,因而,它对网络的安全威胁是相当大的,因为它可以: 1。抓到正在传输的密码。 2。抓到别人的秘密(信用卡号)或不想共享的资料。 3。可以通过管理员封包破解相互信任的系统域。 可见,通常的安全分析将sniffer放在第二级的攻击不是没道理的,如果你在你管理的网络中发现了sniffer, 那么它代表的是有个cracker已经进入你的网络了,并且正在收集使用者的id和密码。现在我想你可能已经知道sniffer的工作原理了,如果你想多了解它攻击目标后会如何,请参考:http://yahi.csustan.edu/studnotw.htmlhttp://www.securitymanagement.com/library/000215.html (美国陆军导弹研究中心和Whist Sands导弹发射基地事件) 在中国,我没有收集到可靠的sniffer攻击的例子,但是,可以肯定的是,有人在广州网易上这样做过,但是我没有证据来说明。(请注意如果有人在你的网络上放sniffer,你的封包传送丢失的机会将大增)。 那么如何得到一个sniffer来研究研究呢? 在ms-dos平台上有个杰出的sniffer :Gobbler 你可以到这里找到它:http://www.cse.rmit.edu.au/~rdssc/courses/ds738/watt/other/gobbler.zipftp://ftp.mzt.hr/pub/tools/pc/sniffers/gobbler/gobbler.zip 它可以在pc上执行,并且只分析区域内的封包,还可以设定只分析每个封包的前200到300个字节,这其中包含了用户名称和密码,通常,Cracker要这些就可以了。(这一点很重要,想象一下,如何没有节制的收集封包,几分钟内,你的硬盘就可能放不下任何文件了),还有,我个人认为很重要的一点,Gobbler 可以很轻易的看到每个封包从哪里来,要到哪里去,我觉得这起码使我的工作变的很有针对性。 还有一个 C 的sniffer, Ethload.一个相当完整的sniffer.它可以在这些协议上跑: Novell odi 2Com/Microsoft Protocol Manager PC/TCP/Clarkson/Crynwr 可以分析这些封包: Tcp/Ip DECnet OSI XNS Netware NetEBUI 你可以到这些地方下载:ftp://oak.oakland.edu/simtel/msdos/lan/ethld104.ziphttp://wwww.med.ucalgary.ca:70/1/ftp/dos/regular Netman :http://www.cs.curtin.edu.au/~netman/ 这是一个可以在X-windows中执行的sniffer.可我觉得这个功能不太可能用上,试想一下,如果有个Cracker在你的网络中执行X-windows而你不知道,呵呵。。。那我觉得,你的问题比被别人放sniffer更粗。  
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部