⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system-backdoor.html

📁 学习linux的工具书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta name="Author" content="Edward Fu">
   <meta name="GENERATOR" content="Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]">
   <title>Freesoft Linux FAQ -- 关于系统的后门</title>
</head>
<body>
这是一篇很好的文章,以前曾读过,但很匆忙.昨天静下心来细细品味,颇有收获.
<br>由于水平所限,许多不确切的地方已经指出,希望你们不吝指教.还有,许多方法
<br>理论上能够明白,实际操作尚有距离,希望大家以后能热烈讨论.
<br>&nbsp;
<p>后门 (Beta 1)
<br>&nbsp;
<p>Christopher Klaus 8/4/97
<p>译者 iamtheguest
<br>&nbsp;
<p>&nbsp;&nbsp;&nbsp; 从早期的计算机入侵者开始,他们就努力发展能使自己重返被入侵系统的技术或后
<br>门.本文将讨论许多常见的后门及其检测方法. 更多的焦点放在Unix系统的后门,同时
<br>讨论一些未来将会出现的Windows NT的后门. 本文将描述如何测定入侵者使用的方法
<br>这样的复杂内容和管理员如何防止入侵者重返的基础知识. 当管理员懂的一旦入侵者
<br>入侵后要制止他们是何等之难以后, 将更主动于预防第一次入侵. 本文试图涉及大量
<br>流行的初级和高级入侵者制作后门的手法, 但不会也不可能覆盖到所有可能的方法.
<br>&nbsp;
<p>大多数入侵者的后门实现以下二到三个目的:
<p>&nbsp;&nbsp;&nbsp; 即使管理员通过改变所有密码类似的方法来提高安全性,仍然能再次侵入.&nbsp;&nbsp;
使再
<br>次侵入被发现的可能性减至最低.大多数后门设法躲过日志, 大多数情况下即使入侵者
<br>正在使用系统也无法显示他已在线. 一些情况下, 如果入侵者认为管理员可能会检测
<br>到已经安装的后门, 他们以系统的 脆弱性作为唯一的后门, 重而反复攻破机器.
这也
<br>不会引起管理员的注意. 所以在 这样的情况下,一台机器的脆弱性是它唯一未被注意
<br>的后门.
<br>&nbsp;
<p>密码破解后门
<p>这是入侵者使用的最早也是最老的方法, 它不仅可以获得对Unix机器的访问,
而且可
<br>以通过破解密码制造后门. 这就是破解口令薄弱的帐号. 以后即使管理员封了入侵者
<br>的当前帐号,这些新的帐号仍然可能是重新侵入的后门. 多数情况下, 入侵者寻找口令
<br>薄弱的未使用帐号,然后将口令改的难些. 当管理员寻找口令薄弱的帐号是,
也不会发
<br>现这些密码已修改的帐号.因而管理员很难确定查封哪个帐号.
<br>&nbsp;
<br>&nbsp;
<p>Rhosts + + 后门
<p>在连网的Unix机器中,象Rsh和Rlogin这样的服务是基于rhosts文件里的主机名使用简
<br>单的认证方法. 用户可以轻易的改变设置而不需口令就能进入. 入侵者只要向可以访
<br>问的某用户的rhosts文件中输入"+ +", 就可以允许任何人从任何地方无须口令便能进
<br>入这个帐号. 特别当home目录通过NFS向外共享时, 入侵者更热中于此. 这些帐号也成
<br>了入侵者再次侵入的后门. 许多人更喜欢使用Rsh, 因为它通常缺少日志能力.
许多管
<br>理员经常检查 "+ +",&nbsp;&nbsp; 所以入侵者实际上多设置来自网上的另一个帐号的主机名和
<br>用户名,从而不易被发现.
<br>&nbsp;
<p>校验和及时间戳后门
<p>早期,许多入侵者用自己的trojan程序替代二进制文件. 系统管理员便依靠时间戳和系
<br>统校验和的程序辨别一个二进制文件是否已被改变, 如Unix里的sum程序. 入侵者又发
<br>展了使trojan文件和原文件时间戳同步的新技术. 它是这样实现的: 先将系统时钟拨
<br>回到原文件时间, 然后调整trojan文件的时间为系统时间. 一旦二进制trojan文件与
<br>原来的精确同步, 就可以把系统时间设回当前时间. sum程序是基于CRC校验,
很容易
<br>骗过.入侵者设计出了可以将trojan的校验和调整到原文件的校验和的程序.
MD5是被
<br>大多数人推荐的,MD5使用的算法目前还没人能骗过.
<br>&nbsp;
<p>Login后门
<br>&nbsp;
<p>在Unix里,login程序通常用来对telnet来的用户进行口令验证. 入侵者获取login.c的
<br>原代码并修改,使它在比较输入口令与存储口令时先检查后门口令. 如果用户敲入后门
<br>口令,它将忽视管理员设置的口令让你长驱直入. 这将允许入侵者进入任何帐号,甚至
<br>是root.由于后门口令是在用户真实登录并被日志记录到utmp和wtmp前产生一个访问
<br>的, 所以入侵者可以登录获取shell却不会暴露该帐号. 管理员注意到这种后门后,
便
<br>用"strings"命令搜索login程序以寻找文本信息. 许多情况下后门口令会原形毕露.
<br>入侵者就开始加密或者更好的隐藏口令, 使strings命令失效.&nbsp;&nbsp;
所以更多的管理员是
<br>用MD5校验和检测这种后门的.
<br>&nbsp;
<br>&nbsp;
<p>Telnetd后门
<p>当用户telnet到系统, 监听端口的inetd服务接受连接随后递给in.telnetd,由它运行
<br>login.一些入侵者知道管理员会检查login是否被修改, 就着手修改in.telnetd.
<br>&nbsp;在in.telnetd内部有一些对用户信息的检验, 比如用户使用了何种终端.
典型的终端
<br>设置是Xterm或者VT100.入侵者可以做这样的后门, 当终端设置为"letmein"时产生一
<br>个不要任何验证的shell. 入侵者已对某些服务作了后门, 对来自特定源端口的连接产
<br>生一个shell .
<br>&nbsp;
<p>服务后门
<p>几乎所有网络服务曾被入侵者作过后门. finger, rsh, rexec, rlogin, ftp,
甚至
<br>inetd等等的作了的版本随处多是. 有的只是连接到某个TCP端口的shell,通过后门口
<br>令就能获取访问.这些程序有时用刺娲□?ucp这样不用的服务,或者被加入inetd.conf
<br>作为一个新的服务.管理员应该非常注意那些服务正在运行, 并用MD5对原服务程序做
<br>校验.
<p>Cronjob后门
<p>Unix上的Cronjob可以按时间表调度特定程序的运行. 入侵者可以加入后门shell程序
<br>使它在1AM到2AM之间运行,那么每晚有一个小时可以获得访问. 也可以查看cronjob中
<br>经常运行的合法程序,同时置入后门.
<p>库后门
<p>几乎所有的UNIX系统使用共享库. 共享库用于相同函数的重用而减少代码长度.
一些
<br>入侵者在象crypt.c和_crypt.c这些函数里作了后门. 象login.c这样的程序调用了
<br>crypt(),当使用后门口令时产生一个shell. 因此, 即使管理员用MD5检查login程序,
<br>仍然能产生一个后门函数.而且许多管理员并不会检查库是否被做了后门.对于许多入
<br>侵者来说有一个问题: 一些管理员对所有东西多作了MD5校验. 有一种
<br>办法是入侵者对open()和文件访问函数做后门. 后门函数读原文件但执行trojan后门
<br>程序. 所以 当MD5读这些文件时,校验和一切正常. 但当系统运行时将执行trojan版本
<br>的. 即使trojan库本身也可躲过
<br>MD5校验. 对于管理员来说有一种方法可以找到后门, 就是静态编连MD5校验程序然后
<br>运行.
<br>静态连接程序不会使用trojan共享库.
<br>&nbsp;
<p>内核后门
<p>内核是Unix工作的核心. 用于库躲过MD5校验的方法同样适用于内核级别,甚至连静态
<br>连接多不能识别. 一个后门作的很好的内核是最难被管理员查找的, 所幸的是内核的
<br>后门程序还不是随手可得, 每人知道它事实上传播有多广.
<p>文件系统后门
<p>入侵者需要在服务器上存储他们的掠夺品或数据,并不能被管理员发现. 入侵者的文章
<br>常是包括exploit脚本工具,后门集,sniffer日志,email的备分,原代码,等等.
有时为
<br>了防止管理员发现这么大的文件, 入侵者需要修补"ls","du","fsck"以隐匿特定的目
<br>录和文件.在很低的级别, 入侵者做这样的漏洞: 以专有的格式在硬盘上割出一部分,
<br>且表示为坏的扇区. 因此入侵者只能用特别的工具访问这些隐藏的文件. 对于普通的
<br>管理员来说, 很难发现这些"坏扇区"里的文件系统, 而它又确实存在.
<br>&nbsp;
<p>Boot块后门
<p>在PC世界里,许多病毒藏匿与根区, 而杀病毒软件就是检查根区是否被改变. Unix下,
<br>多数管理员没有检查根区的软件, 所以一些入侵者将一些后门留在根区.
<br>&nbsp;
<br>&nbsp;
<p>隐匿进程后门
<p>入侵者通常想隐匿他们运行的程序. 这样的程序一般是口令破解程序和监听程序
<br>(sniffer).有许多办法可以实现,这里是较通用的:&nbsp;&nbsp;&nbsp;&nbsp;
编写程序时修改自己的argv[]
<br>使它看起来象其他进程名.&nbsp;&nbsp;&nbsp;&nbsp; 可以将sniffer程序改名类似in.syslog再执行.
因此
<br>当管理员用"ps"检查运行进程时, 出现&nbsp;&nbsp;&nbsp;&nbsp; 的是标准服务名.
可以修改库函数致使
<br>"ps"不能显示所有进程. 可以将一个后门或程序嵌入中断驱动程序使它不会在进程表
<br>显现. 使用这个技术的一个后门
<br>&nbsp;&nbsp;&nbsp; 例子是amod.tar.gz :
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://star.niimm.spb.su/~maillist/bugtraq.1/0777.html
<p>&nbsp;&nbsp;&nbsp; 也可以修改内核隐匿进程.
<br>&nbsp;
<br>&nbsp;
<p>Rootkit
<p>最流行的后门安装包之一是rootkit. 它很容易用web搜索器找到.从Rootkit的README
<br>里,可以找到一些典型的文件:
<p>z2 - removes entries from utmp, wtmp, and lastlog.
<br>Es - rokstar's ethernet sniffer for sun4 based kernels.
<br>Fix - try to fake checksums, install with same dates/perms/u/g.
<br>Sl - become root via a magic password sent to login.
<br>Ic - modified ifconfig to remove PROMISC flag from output.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -