分类: LINUX
2010-12-01 11:38:17
|
第二步:在对方机器上启动HTTPTunnel的服务器端,并执行命令“hts -f localhost:21
80”,这个命令的意思是说,把本机的21端口发出去的数据全部通过80端口中转一下,并且开放80端口作为侦听端口,再用Neststat看一下他的机器,就会发现80端口现在也在侦听状态。
第三步:在本地机器上用FTP连接本机的8888端口,会发现已经连上对方的机器了。那么,为什么人家看到的是127.0.0.1,而不是
192.168.10.231呢?因为我们现在是连接本机的8888端口,防火墙肯定不会有反应,如果没往外发包,局域网的防火墙肯定就不知道了。现在连
接上本机的8888端口以后,FTP的数据包不管是控制信息还是数据信息,都被htc伪装成HTTP数据包然后发过去,在防火墙看来,这都是正常数据,相
当于欺骗了防火墙。
需要说明的是,这一招的使用需要其他机器的配合,就是说要在他的机器上启动一个hts,把他所提供的服务,如FTP等重定向到防火墙所允许的80端口
上,这样才可以成功绕过防火墙!肯定有人会问,如果对方的机器上本身就有WWW服务,也就是说他的80端口在侦听,这么做会不会冲
突?HTTPTunnel的优点就在于,即使他的机器以前80端口开着,现在也不会出现什么问题,重定向的隧道服务将畅通无阻!
(2)Tcp_wrapper
Tcp_wrapper是Wietse
Venema开发的一个免费软件。Tcp_wrapper的诞生有个小小的故事,大约1990年,作者所在大学的服务器屡屡受到一个外来黑客侵入,因为受
害主机的硬盘数据屡次被rm
-rf/命令整个抹掉,所以找寻线索极为困难,直到有一天晚上作者在工作的过程中无意中发现这个黑客在不断的finger
受害主机、偷窥受害者的工作。于是,一个想法诞生了:设计一个软件,使它可以截获发起finger请求的IP,用户名等资料。Venema很快投入了工
作,而Tcp_wrapper也由此诞生!此后,Tcp_wrapper随着广泛的应用逐渐成为一种标准的安全工具。通过它,管理员实现了对inetd提
供的各种服务进行监控和过滤。
Tcp_wrapper编译安装成功后,会生成一个tcpd程序,它可以在inetd.conf这个控制文件中取代in.telnetd的位置,这
样,每当有telnet的连接请求时,tcpd即会截获请求,先读取管理员所设置的访问控制文件,合乎要求,则会把这次连接原封不动的转给真正的
in.telnetd程序,由in.telnetd完成后续工作。如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供
telnet服务。Tcp_wrapper访问控制的实现是依靠两个文件:hosts.allow,hosts.deny来实现的。如果我们编辑/etc
/syslog.conf文件时,加入了日志纪录功能,即:
#tcp wrapper log
local3.info /var/log/tcplog
编辑结束后,保存文件,在/var/log下会生成tcplog文件,注意这个文件的读写属性, 应该只对root有读写权限。然后ps
-ef | grep syslogd,找出syslogd的进程号,kill -HUP 重启syslogd进程使改动生效。
在这里,我们可以预先看一看以后生成的tcplog文件内容,如下:
Jul 31 22:00:52
in.telnetd[4365]: connect from 10.68.32.1 Jul 31 22:02:10 in.telnetd[4389]: connect from 10.68.32.5 Jul 31 22:04:58 in.ftpd[4429]: connect from 10.68.32.3 Aug 2 02:11:07 in.rshd[13660]: connect from 10.68.32.5 Aug 2 02:11:07 in.rlogind[13659]: connect from 10.68.32.1 |
Rootkit出现于二十世纪90年代初,它是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击或者密码猜测获得系
统的访问权限。接着,攻击者会在侵入的主机中安装rootkit,然后他会通过rootkit的后门检查系统,看是否有其他的用户登录,如果只有自己,攻
击者就开始着手清理日志中的有关信息。通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。
如果攻击者能够正确地安装rootkit并合理地清理了日志文件,系统管理员就会很难察觉系统已经被侵入,直到某一天其它系统的管理员和他联系或者嗅
探器的日志把磁盘全部填满,他才会察觉已经大祸临头了。不过,在系统恢复和清理过程中,大多数常用的命令例如ps、df和ls已经不可信了。许多
rootkit中有一个叫做FIX的程序,在安装rootkit之前,攻击者可以首先使用这个程序做一个系统二进制代码的快照,然后再安装替代程序。
FIX能够根据原来的程序伪造替代程序的三个时间戳(atime、ctime、mtime)、date、permission、所属用户和所属用户组。如
果攻击者能够准确地使用这些优秀的应用程序,并且在安装rootkit时行为谨慎,就会让系统管理员很难发现。
下面我们介绍一个非常典型的针对Linux系统的LRK版本6。Linux Rootkit
6是一个开放源码的rootkit,经过多年的发展,Linux
Rootkit的功能越来越完善,具有的特征也越来越多。下面我们简单地介绍一下Linux Rootkit包含的各种工具。
首先是隐藏入侵者行踪的程序。为了隐藏入侵者的行踪,Linux Rootkit
IV的作者可谓煞费心机,编写了许多系统命令的替代程序,使用这些程序代替原由的系统命令,来隐藏入侵者的行踪。这些程序包括:
ls、find、du | 这些程序会阻止显示入侵者的文件以及计算入侵者文件占用的空间。在编译之前,入侵者可以通过ROOTKIT_FILES_FILE设置自己的文件所处的位置,默认是/dev/ptyr。注意如果在编译时使用了SHOWFLAG选项,就可以使用ls -/命令列出所有的文件。这几个程序还能够自动隐藏所有名字为:ptyr、hack.dir和W4r3z的文件。 |
ps、top、pidof | 这几个程序用来隐藏所有和入侵者相关的进程。 |
netstat | 隐藏出/入指定IP地址或者端口的网络数据流量程。 |
killall | 不会杀死被入侵者隐藏的进程。 |
ifconfig | 如果入侵者启动了嗅探器,这个程序就阻止PROMISC标记的显示,使系统管理员难以发现网络接口已经处于混杂模式下。 |
crontab | 隐藏有关攻击者的crontab条目。 |
tcpd | 阻止向日志中记录某些连接。 |
syslogd |
过滤掉日志中的某些连接信息。 |
chfn | 提升本地普通用户权限的程序。运行chfn,在它提示输入新的用户名时,如果用户输入rookit密码,他的权限就被提升为root。 |
chsh | 提升本地用户权限的程序。运行chsh,在它提示输入新的shell时,如果用户输入rootkit密码,他的权限就被提升为root。 |
passwd | 和上面两个程序的作用相同。在提示你输入新密码时,如果输入rookit密码,权限就可以变成root。 |
login |
允许使用任何帐户通过rootkit密码登录。如果使用root帐户登录被拒绝,可以尝试一下rewt。当使用后门时,这个程序还能够禁止记录命令的历史记录。 |
inetd | 特洛伊inetd程序,为攻击者提供远程访问服务。 |
rshd | 为攻击者提供远程shell服务。攻击者使用rsh -l rootkitpassword host command命令就可以启动一个远程root shell。 |
sshd | 为攻击者提供ssh服务的后门程序。 |
fix | 文件属性伪造程序。 |
linsniffer | 报文嗅探器程序。 |
sniffchk | 一个简单的bash shell脚本,检查系统中是否正有一个嗅探器在运行。 |
login |
允许使用任何帐户通过rootkit密码登录。如果使用root帐户登录被拒绝,可以尝试一下rewt。当使用后门时,这个程序还能够禁止记录命令的历史记录。 |
z2 |
utmp/wtmp/lastlog日志清理工具。可以删除utmp/wtmp/lastlog日志文件中有关某个用户名的所有条目。不过,如果用于Linux系统需要手工修改其源代码,设置日志文件的位置。 |
bindshell | 在某个端口上绑定shell服务,默认端口是12497。为远程攻击者提供shell服务。 |
(1)logcheck
logchek
可以自动地检查日志文件,定期检查日志文件以发现违反安全规则以及异常的活动。它先把正常的日志信息剔除掉,把一些有问题的日志保留下来,然后把这些信息
email 给系统管理员。logcheck 用 logtail
程序记住上次已经读过的日志文件的位置,然后从这个位置开始处理新的日志信息。logcheck 主要由下面几个主要的文件:
logcheck.sh | 可执行的脚本文件,记录logcheck检查那些日志文件等,我们可以把它加入crontab中定时运行。 |
logcheck.hacking | 是logcheck 检查的模式文件。和下面的文件一起,按从上到下的顺序执行。这个文件表明了入侵活动的模式。 |
logcheck.violations | 这个文件表示有问题,违背常理的活动的模式。优先级小于上面的那个模式文件。 |
logcheck.violations .ignore |
这个文件和上面的logcheck.violations的优先是相对的,是我们所不关心的问题的模式文件。 |
logcheck.ignore | 这是检查的最后一个模式文件。如果没有和前三个模式文件匹配,也没有匹配这个模式文件的话,则输出到报告中。 |
Logtail | 记录日志文件信息。 |
chinaunix网友2010-12-01 15:00:25
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com