执着成就未来 技术成就梦想
文字横幅以及760*60黄金广告位置招租,欢迎恰谈! 广告业务联系QQ:8019399 声明:在本站所投放广告内容均与本站立场无关!

您现在的位置: 中国安全在线 >> 攻防技术 >> 入侵攻击 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
换机后QQ也能继续传没有传完的文件
菜鸟都可以入侵一个网吧所有电脑
手把手教你如何防止黑客入侵
踏入黑客之路的必备技能
ActiveX漏洞通用Exploit
开通QQ所有服务
破解QQ聊天记录偷看器2007第五版
一句话asp木马加密(去掉asp里的%)
如何编译C++源程序
汇编培训教程
网络入侵方法小结
作者:佚名 来源:安全在线 更新时间:2006-8-1 【字体:
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论

阅读提示:

第一章:网络踩点
网络踩点就是通过结合使用工具和技巧,攻击者能够由一个未知量规约出域名、网络块以及直接连接到互联网上的系统的个别IP地址的一个特定范围的方法。
对于一个真正的黑客,如果想进入一个主机,他会不择手段的探索这个主机的信息,而不是局限于现在大多数入侵者扫描主机得到主机信息之上。他会从各方面分析该主机的情况,比如主机地理位置可能使用的操作系统、根据主机的重要程度推测管理员的水平,然后推测可能会出现什么失误的网络配置,具体我总结出来有以下几个方面:
1、 仔细查看目标机构的网页:真正希望入侵这台主机,就需要收集尽可能多的主机上机构的信息,这其中可能有:
l 机构所在位置
l 与其关系亲密的公司或实体
l 公司兼并或归靠的新闻报道
l 电话号码
l 联系人姓名和电子邮件地址
l 指示所用安全机制的类型的隐私和机密保障策略
l 与其相关联的Web服务器超链接
关于这些方面的利用将在下面的各章节中利用,请勿必注意!
2、 阅读HTML源代码:这一点在很多入侵者忽略了,其实是很重要的,可以了解整个主页真正在你的计算机上能做到什么东西。真正一个好的主页,为了方便其他网页编程员更方便的读懂网页,同时也加了很多注释。比如说现在流行的万花谷网页病毒,它主要通过修改注册表达到破坏的目的,为了尽快的恢复回来,你就可以研究它本身的源代码,摸着石头过河,把一些内容修改回来。说到注释问题,一般注释都?quot;<!-->"之间,可能存放的信息是私用电子邮件地址,电话号码等,这在以后的拨号攻击中相当重要。
3、 搜索公开信息源找出与目标机构关联的信息:了解与机构相连接的主机也是很重要的一个方面,由于各个主机之间的权限不同,但是未必同一个机构的各个主机具有相同的安全性,你就可以通过先得到一个安全性较差主机的权限,再利用它作为跳板,到达进入主机的目的。凯文·米特尼克就曾经用这样的方法成功入侵过!
4、 阅读机构工作人员的技术水平:如果能从多方面了解管理员的技术水平也是成功进入主机的关键,尽可能看这个管理员张贴的文章,你就可以了解管理员熟悉什么、不熟悉什么,由此可能会出现什么错误的配置,这在入侵时打好了基础,至少你能大体知道进入主机后是否有必要删除日志文件等。
5、 机构本身的查询:一旦标识出一个特定的机构或实体,就可以进行InterNIC数据库查询了,这样能发现与之类似的域名,找到真正的网络,直到发现一个真正工作着的网络为止。下面我们以Acme Networks(极点网络公司)一个例子说明这点,在某个UNIX或LINUX的SHELL下执行查询:
[japleak@root]$ whois "Acme Networks"
[rs.internic.net]
Acme Networks (NAUTILUS-AZ-DOM) NAUTILUS-NJ.COM
Acme Networks (WINDOWS4-DOM) WINDOWS.NET
Acme Networks (BURNER-DOM) BURNET.COM
Acme Networks (ACME2-DOM) ACME.NET
Acme Networks (Y2MAN-DOM) Y2MAN.COM
……
看见了吧?与此相关联的域名有很多,现在就要发现那个是真正的网络,哪个是真正工作着的网络呢?
6、 机构域名查询:作为一个机构要上互联网就必须去登记,所以登记的地方就必然有它的一些资料,建议去http://www.nic.com/进行查询,为了方便说明,这里同样也用shell查询:
[japleak@root]$ whois Acme.net
[rs.internic.net]
Registrant:
Acme Networks (ACME2-DOM)
11 Town Center Ave.
Einstein,AZ 21098
Domain Name:ACME.NET
Administrative Contact,Technical Contact,Zone Contact:
Boyd,Woody [Networks Engineer] (WB9201) woody@ACME.NET
201-555-9011 (201)555-3338 (FAX)201-555-1212
Record last updated on 13-Sep-95
Record created on 13-May-95
Database last update on 04-Mar-02 23:20:14 EDT
Domain servers in listed order:
DNS.ACME.NET 10.10.10.1
DNS2.ACME.NET 10.10.10.2
上面的E文我就不用解释了吧?通过这样查询就可以的到如下信息:
l 注册人
l 域名
l 管理方面联系人
l 记录创建时间和更新时间
l 域名系统(DNS)服务器
7、 网络勘查:既然已经标识了已知的网络,就需要对网络内部进行一定的勘查,看看网络
速度、是否存在防火墙等等,下面我们还是用常用的WINDOWS下的tracert追踪路由,查看整个网络的拓扑:
C:\>tracert Acme.net
Tracert to Acme.net (10.10.10.1),30 hops max,40byte packets
1 gate2 (192.168.10.1) 5.391ms 5.107ms 5.559ms
2 rtr1.bigisp.net (10.10.12.13) 33.374ms 33.443ms 33.137ms
3 rtr2.bigisp.net (10.10.12.14) 35.100ms 34.427ms 34.813ms
4 hssitrt.bigisp.net (10.11.31.14) 43.030ms 43.941ms 43.244ms
5 gate.Acme.net (10.10.10.1) 43.803ms 44.041ms 47.835ms
由上可以看见本地到主机需要经过5跳,中间没有UDP分组的丢失,因此可以看出第四跳很可能是主机Acme.net的路由设备,这样可以对整个网络之间有一个大体的了解。
如果存在防火墙又怎么知道呢?下面还是用一个例子说明吧:
C:\>tracert 10.10.10.2
Tracert to (10.10.10.2),30 hops max,40byte packets
1 gate2 (192.168.10.1) 5.391ms 5.107ms 5.559ms
2 rtr1.bigisp.net (10.10.12.13) 33.374ms 33.443ms 33.137ms
3 rtr2.bigisp.net (10.10.12.14) 35.100ms 34.427ms 34.813ms
4 hssitrt.bigisp.net (10.11.31.14) 43.030ms 43.941ms 43.244ms
5 * * *
6 * * *
可以看出,缺省的UDP分组被防火墙拦截了。可能此时有人会说ping也可以做到这一点,如果出现超时(Request Time Out)提示,也是因为防火墙的原因,不过我要说:不能确定!因为ping发送的是一个ICMP分组,可以通过主机的响应判断网络状况,如果安装了防火墙,可以过滤掉ICMP分组。不过,如果对方是WINDOWS系统,也可以很方便的修改注册表来过滤掉ICMP分组,让攻击者误认为是存在防火墙!其实修改注册表的方法也是避免DoS(拒绝服务攻击)的一种有效方法。

第二章:扫描
1、 网络PING查询:要映射出真正的网络是否存在,就需要对网络是否工作着一定了解。传统意义上,PING用于向某个目标系统发送ICMP回射请求(echo request)分组(ICMP类型为8),并期待由此改发的表明目标系统存活着的ICMP回射应答(echo reply)分组(ICMP类型为0)。不过用这样的方法在整个网络中扫描的时间太长,这里推荐使用UNIX下的fping和gping,两者可以联系运用,达到探测网络是否存活的目的。
[japleak@root]$gping 192.168.0.1 254
192.168.0.1
192.168.0.2
192.168.0.3
……
192.168.0.253
192.168.0.254
192.168.0.255
这样我们就得到网络上潜在的所有IP地址构成的列表后,我们就可以尝试探测那些系统存活着了。
[japleak@root]$gping 192.168.0.1 254|fping -a
192.168.0.254 is alive
192.168.0.224 is alive
192.168.0.228 is alive
……
192.168.0.3 is alive
192.168.0.2 is alive
192.168.0.4 is alive
192.168.0.1 is alive
2、 端口扫描:端口扫描就是连接到目标系统的TCP和UDP端口上,确定哪些服务正在运行即处于监听状态过程。通过扫描我们希望达到以下的目的:
l 标识运行在目标系统上的TCP服务和UDP服务
l 标识目标系统的操作系统类型
l 标识特定的应用或特定服务的版本
l 标识目标系统存在的漏洞或缺陷
TCP连接一般分为三路握手过程:(1)客户机发送一个SYN分组给服务器;(2)服务器接受分组后,向客户机发送一个SYN/ACK分组,表示服务器接受这个连接;(3)最后客户机再发出一个ACK分组进行通信。
在扫描器中,国内用的最多的莫过于小榕的流光,因此这里我就不用在介绍了,具体用法可以参考流光的使用说明。现在我们就针对国外经久不衰的一个扫描器NAMP进行讨论。
由Fyodor编写的nmap提供了基本的TCP和UDP扫描的能力,集成了多种扫描器的技巧,很少以单个软件包提供如此之多用处的工具。下面介绍它的一些特写下说明:
[japleak@root]$ nmap -h
nmap v.2.12 usage;namp [Scan Type(s)] [Options] <host or net # 1 …[# N]>Scan types
-sT tcp connect () port scan -sS tcp SYN stealth port scan (must be root) -sF,-sX,-sN Stealth FIN,Xmas,or Null scan (only works against UNIX).-sP ping "scan".Find which hosts on specified network(s) are up but don't port scan them -sU UDP port scan,must be root -b <ftp_relay_host> ftp "bounce attack" port scan Options (none are required,most can be combined):
-f use tiny fragmentd packets for SYN,FIN,Xmas,or NULL scan.
-P0 Don't ping hosts(needed to scan www.microsoft.com and others)
-PT Use "TCP Ping"to see what hosts are up (for normal and ping scans).-PT21 Use "TCP Ping"scan with probe destination port of 21 (or whatever).-PI Use ICMP ping packer to determianes hosts that are up -PB Do BOTH TCP&ICMP scans in parallel (TCP dest port can be specified after the 'B') -PS Use TCP SYN sweep rather than the default ACK sweep used in "TCP Ping" -O Use TCP/IP fingerprinting to guess what OS the remote host is running -P <range> ports:
ex:'-p 23' will only try port 23 of the host(s) '-p 20-30,63000-' scan 20-30 and 63000-65535.default:1-1024 +ect/services
-Ddecoy_host1,decoy2,ME,decoy3 [,…]Launch scans from decoy host(s) along with the real one.If you care about the order your real IP appears,stick "ME" somewhere in the list.Even if the target detects the scan,they are unlikely to know whick IP is scaning them and which are decoys.
-F fast scan.Only scans ports in /etc/services,a la strobe(1).-l Get idented (RFC 1413) info on listening TCP procsses.-n Don't DNS resolve anything unless we have to (makes ping scan faster) -R Try to resolve all hosts,even down ones (can take a lot of time) -o <logfile> Output scan logs to <logfile> in human readable.-m <logfile>Output scan logs to <logfile> in machine parseable format.-i<inputfile> Grab IP numbers or hostnames from file.Use '-' for stdin
-g <portnumber> Sets the source port used for scans.20 and 53 are good choices.-S <your_IP> If you want to specify the source address of SYN of FYN scan.-v Verbose.Its use is recommended.Use twice for greater effect.-h help,print this junk.Also see http://www.insecure.org/nmap/ -V Print version number and exit.-e <devicename>.Send packets on interface <devicename> (eth0,ppp0,etc.).-q quash argv to something benign,currently set to "pine".(deprecated)
Hostnames specified as internet hostname or IP address,Optional '/mask' specifiles subnet,For example:cert.org /24 or 192.88.209.5/24 or 192.88.209.0-255 or '128.88.209.*' all scan CERT's Class C.
补充:(感谢小榕论坛永远的FLASH补充

nmap - 网络勘察工具和安全扫描器

摘要
----*
nmap [扫描形式] [选项] "lt;主机或网络 #1 ... [#N]"gt;

描述
----*
nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。它支持多种协议的扫描如UDP,TCP connect(),TCP SYN (half open), ftp proxy (bounce attack), Reverse-ident, ICMP (ping sweep), FIN, ACK sweep,Xmas Tree, SYN sweep, 和Null扫描。你可以从SCAN TYPES一节中察看相关细节。nmap还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、 直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。

对非ROOT的用户来说,nmap的正式版本有着一些重大的成就。当然,部份危险或可能导致危险的核心功能(比如raw sockets)还是需要root权限。nmap可以在任何时候以root的身份运行。

运行nmap后通常会得到一个关于你扫描的机器的一个实用的端口列表。nmap总是显示该服务的服务名称,端口号,状态以及协议。状态有'open','filtered'和'unfiltered'三种。'open'指的是目标机器将会在该端口接受你的连接请求。'filtered'指的是有防火墙、过滤装置或者其它的网络障碍物在这个端口阻挡了nmap 进一步查明端口是否开放的动作。至于'unfiltered'则只有在大多数的扫描端口都处在'filtered'状态下才会出现的。

在利用一些参数后,nmap还可以对远程主机进行下列的探测:使用的系统、TCP状态、在各端口上使用应用程序用户的用户名、DNS名、主机是否是个smurf地址以及一些其它功能。

参数
----*

这些参数通常都是可组合使用的。使用参数可以精确地定义一个扫描模式。nmap将会尽力捕捉并对不规范的参数组合作出提示。
如果你急于开始,你可以跳过本文未尾的示例节——那儿有最基本的使用方法的示范。你也可以使用nmap -h来打开关于nmap选项参数的简介。

扫描类型
--------*

-sT TCP connect()扫描:这是对TCP的最基本形式的侦测。在该操作下,该connect()对目标主机上你感兴趣的端口进行试探,如果该端口被监听,则连接成功——否则代表这个端口无法到达。这个技术的很大好处就是你无须任何特殊权限,在大多数的UNIX系统下这个命令可以被任何人自由地使用。
但是这种形式的探测很容易被目标主机察觉并记录下来。因为服务器接受了一个连接但它却马上断开,于是其记录会显示出一连串的连接及错误信息。

-sS TCP SYN 扫描:这类技术通常涉及一种“半开”式的扫描——因为你不打开完整的TCP连接,你发送一个SYN信息包仿佛你要打开一个真正的连接而且你在等待对方的回应。一个SYN|ACK(应答)会表明该端口是开放监听的。一个RST(空闲?)则代表该端口未被监听。如果SYN|ACK的回应返回,则会马上发送一个RST包来中断这个连接(事实上是我们的系统核心在干这事)。这种扫描的最大好处是只有极少的站点会对它作出记录,但是——你需要有root权限来定制这些SYN包。

-sF -sX -sN
Stealth FIN,Xmas Tree 或者Null扫描模式:有时甚至SYN扫描都不够隐蔽——一些防火墙及信息包过滤装置会在重要端口守护,SYN包在此时会被截获,一些应用软件如Synlogger以及Courtney对侦测这类型的扫描都是行家。所以呢,在另一方面要有更进一步的扫描能在不遇到麻烦的情况下通过它们……
这个主意是关闭的端口会对你发送的探测信息包返回一个RST,而打开的端口则对其忽略不理(你可以参阅RFC 973 PP64)。所以FIN扫描使用空的FIN信息包作为探针、Xmas tree使用FIN,URG,PUSH标记、N ull扫描则不用任何标记。但是不幸的是微软以他们一贯的风格不理睬这一标准……所以这一扫描在WINDOWS9X以及NT下不能工作。
从积极方面来讲,这其实也是一个很好的区分两种平台的办法——如果这次扫描发现了打开的端口,那你就能明白这台机器不是运行WINDOWS。如果-sF,-sX,-sN的扫描显示所有端口都是关闭的但一个SYN(-sS)扫描却显示有打开端口,那你就能大致推断它是WINDOWS平台。这只是一个简单应用,因为现在nmap已经有了更彻底的操作系统判别方法——当然它的原理类似上面所提到的。这些平台包括Cisco, BSDI, HP/UX, MVS, 和IRIX。

-sP Ping扫描:有时你仅希望了解网络上有哪些主机是开放的,nmap可以通过对你指定的IP地址发送ICMP的echo request信息包来做到这一点,有回应的主机就是开放的啦。但令人讨厌的是一些站点比如microsoft.com对echo request包设置了障碍。这样的话nmap还能发送一个TC

[1] [2] [3] [4] 下一页

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力

文章录入:ls1238    责任编辑:ls1238 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系方式 | 友 情链接 | 关于我们 | 网站留言 |
    Copyright ?2003-2008 www.cnsafer.com All Rights Reserved.
    如有意见请与我们联系 Email:admin#mail.cnsafer.com 联系QQ:8589101
    中国安全在线友情提示:建议使用IE6.0或以上版本, 分辩率1024*768进行浏览
    敢想 敢做 挑战自我 努力做最好 打造最优秀的新手成长 第一起跑线
    中网科技有限公司 技术支持 鄂ICP备05006475号