| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | 

您现在的位置: 中国X黑客小组 >> 技术文章 >> 黑客技术 >> 入侵检测 >> 文章正文 用户登录 新用户注册
  入侵渗透思路         ★★★ 【字体:
入侵渗透思路
作者:asm_c    文章来源:安全焦点论坛    点击数:    更新时间:2006-2-24    
,甚至提供伪造的欢迎信息。那么T  
CP/IP堆栈指纹是区分不同系统的好方法。  

1,FIN扫描  

给打开的端口发送FIN包,RFC 793规定不返回任何响应,例外的系统是: MS Wind  
ows,BSDI,CISCO,HP/UX,MVS和IRIX都返回一个RESET包。  

2,TCP初始序列号(ISN)采样  

这种方法利用了在实现TCP连接时使用不同的ISN模式识别系统,可以分成多种模式  
:传统的64K增加(旧  

UNIX OS),随机增加(新版的Solaris,IRIX,FreeBSD,Digital UNIX和Cray等),  
真正随机(Linux 2.0.*,OpenVMS和新版AIX等),Windows系统使用所谓的“时间依  
赖性”模型,即ISN的增加同某一个短固定的时间间隔有关系,有些主机始终使用固  
定的ISN,例如3COM集线器(使用0x803)和AppleLaserWriter打印机(0xC7001)。  


3,不分片位  

目前许多系统在他们发送的包中使用IP“不分片”位,这主要是想获得好的运行性  
能,不过也不是所有的操作系统都有此功能,即使有,其实现的方式可能也不同。  
因此利用次位或许有利于我们收集更多的有关目标OS的信息。  

4,TCP初始窗  

TCP初始窗只是简单地测试返回包的窗口尺寸。Queso和Nmap可以对实际的窗口进行  
窗口跟踪。在很多操作系统中是一个常数。例如:AIX是唯一使用0x3F25的操作系统  
。对于完全重新编写代码的NT 5的TCP堆栈,使用0x402E.  

5,ACK值  

如果发送一个FIN|PSH|URG,许多操作系统设置ACK等于初始序列号,而Windows和某  
些打印机将发送seq+1.如果发送一个SYN|FIN|PSH|URG到打开的端口,不同的Windo  
ws系统的实现将很不一致,有时返回seq,有时返回seq+1,甚至返回完全随机的数值  
。  

6,ICMP错误消息机制  

某些操作系统按照RFC 1812的建议,限制不同错误消息的发送速率。例如:Linux内  
核(在net/ipv4/icmp.h中定义)限制目标不可到达消息的产生速率为4秒种内80个  
,如果超过这个限制将有1/4的惩罚。测试方法是发送一大串包到某些随机选取的高  
端口,然后计算返回的不可到达包的数目。  

7,ICMP消息引用(Message Quoting)  

RFC规定:ICMP错误消息将引用一小部分导致错误消息包的ICMP消息内容。对于端口  
不可达消息,几乎所有的实现都只发送所需要的IP头+8字节。不过Solaris发送的内  
容更多,而Linux发送的东西最多。这就是我们识别没有打开任何端口的Linux和So  
laris主机。  

8,ICMP错误消息回射完整性  

主机对端口不可打错误消息将送回一小部分于是消息的内容。某些机器送回的包中  
包括的协议头部分已经被改变。例如,AIX和BSDI送回的IP总长度是20字节。而系统  
BSDI,FreeBSD,OpenBSD,ULTRIX和VAXen则将原样送回你所发送的IP标识符。某些系  
统(AIX和FreeBSD等)将送回不一致或等于0的校验和。这同样适用于UDP校验和。  
Nmap对ICMP错误消息包进行九种不同的测试以标识系统之间的微笑差别。  

9,TCP选项  

是实现TCP/IP协议时可选的一个部分功能,这跟不同的系统实现有关,这些选项都  
是挖掘可用信息的好方法。原因是:  

1,他们都是可选项,不是所有主机都可以实现的;  

2,如果你所发送的包中对某个选项进行了设置,只要目标支持,那么目标主机就返  
回此选项;  

3,可以在包中设置所有的选项进行测试。  

例如:Nmap在每个探测包中设置所有的选项来进行测试:  

Windows Scale=10;NOP;Max Segment Size=265;Timestamp;End of Ops;  

从返回的的包中查看这些选项,就知道了什么系统支持他们。  

还有一种被动操作系统识别方法,就是监控不同系统之间网络包的情况来判断目标  
的操作系统类型,siphon被用来进行这方面的测试,这个工作原理如下:  

签名:  

主要TCP的四个字段判断:  

1,TTL:出站的包的存活时间;  

2,Window size:窗口大小;  

3,DF:是否设置了不准分片位;  

4,TOS:是否设置了服务类型。  

综合这些信息可以大概判断出目标的系统,但不能%100。  

四,查点  

利用查点技术可以得到比前面讲的更多更具体的有用信息,例如:帐户信息等。  

1,Windows系统查点技术  

利用NetBIOS规则,首先介绍NetBIOS,NetBOIS位于TCP/IP之上,定义了多个TCP和U  
DP端口。  

----TCP  

(1),139:nbsession:NetBOIS会话。  

例如:net use \\IP\ipc$ " " /user:" ".  

(2),42:WINS:Windows Internet名字系统(UDP端口也是42)。  

----UDP  

(1)137:nbname:名字查询。  

例如:nbtstat -A IP //03中显示的不是计算机名就是用户名  

(2)138:nbdatagram:UDP数据报服务  

例如:net send /d:domain-name "Hello"  

得到用户名利用到了IPC$空会话和sid工具。sid工具由两个小工具组成:user2sid  
和sid2user.user2sid获得用户名或组名的sid;sid2user则是输入一个sid而获得相  
应用户名的和组名,sid就是在创建用户时而创建的,相当于UNIX系统下的UID,WIN  
系统权限的检查就是通过对SID的检查的。一个sid是由一长串数字组成的,其中包  
括两个部分,前一部分用来唯一标识一个域,后一部分唯一标识一个用户名,这部  
分数字被称作rid,既相对标识符,rid有一定的规律,其取值总是从500开始的,超  
级管理员的rid总是500,而GUEST用户的rid总是501;而新建立的帐户的rid从1000  
开始。  

具体的步骤:  

c:\net use \\IP\ipc$ " " /user:" "  

c:\user2sid \\IP guest //得到了SID的前半部分  

s-1-5-21-1123561945-1580818891-1957994488-501  

s是sid的前缀,后面跟的是1表示版本号,5用于标识发放sid的授权实体,5指NT/2  
000。21-1123561945-1580818891-1957994488唯一地标识域和工作组。不同的用户  
只是最后的相对标识符不一样。现在用sid2user查询系统的用户名了:  

c:\sid2user \\IP 5 21 1123561945 1580818891 1957994488 500  

name is cookie  

domain is condor  

c:\sid2user \\IP 5 21 1123561945 1580818891 1957994488 1001  

SNMP查点:通过默认的管理群字符串PUBLIC读取特性,可以得到系统的一些信息,  
具体有:接口表,路由表及ARP表,TCP表和UDP表,设备表和存储表,进程表和软件  
表,用户表,共享表。  

SNMP工具,snmputil.exe  

例如:  

1,或者网络接口数目:  

c:\snmputil get localhost public .1.3.6.1.2.1.2.1.0  

2,显示所有的SNMP变量内容  

c:\snmputil walk localhost public .1.3  

2UNIX类系统的查点技术  

1,$showmount -e www.target.com   //前提2049号端口开着(NFS)  

2,$finger @www.target.com //还有rusers  

3, $telnet www.target.com 25  

  vrfy root   //证实是否有root  

  expn adm  

  quit  

五,具体的分析漏洞  

针对特定目标进行了以上分析后,总结出最好的入侵思路,选择入侵工具,做好入  
侵的准备工作是必须,有时入侵时间的选择也是很重要的,因为会涉及到正常的公  
司网络的正常通信,甚至会使恶意的网络在你入侵测试就发生了,最直接的漏洞利  
用方法,我认为是溢出漏洞了,因为他直接就可以得到对方的系统权限,返回一个  
和在本地一样的SHELL环境,此时无所不能:  

溢出攻击的分类有:  

1,WINDOWS下的和UNIN下的  

一般原理,就用户提交的参数范围超过了在内存中保存的本地变量的范围,而程序  
或者系统并没有对输入的参数进行合理的长度检查,导致了被调用函数的返回地址  
被覆盖,如果用一个跳转到我们提交的shellcode的地方的地址代替,那么我们的s  
hellcode就可以运行,成功得到了目标的系统权限。  

此外还有格式化串漏洞,导致这个漏洞的原因是在处理用户数据的参数时没有过滤  
用户提交的,格式化符号,例如%n这个将允许输出的参数的个数保存在内存中,恶  
意构造此漏洞用户将会向内存的任何位置写SHELLCODE的地址。  

2,常见漏洞类型  

UNIX下的本地漏洞很多,挖掘起来也较容易,他主要有以下几种类型:  

1,环境欺骗  

一般指PATH环境变量的欺骗,就是说如果一个特权的程序执行了一个外部的命令,  
那么我们可以简单的构造这个外部命令程序,然后修改PATH使这个特权程序能够去  
首先执行我们构造的外部命令程序,而这个外部的命令程序是一个去得SHELL的程序  
例如:  

bash$cat >ps <<EOF  

>#!/bin/sh  

>EOF  

而这个特权程序是:  

bash$cat >test.c <<EOF  

>int main()  

>{  

>setuid(0);  

>system("ps -ef");   /*程序调用了外部命令,但没有给出这个命令的绝对路径,  
这个是PATH欺骗的前提*/  

>}  

>EOF  

编译后的test文件具有s为,属主是root.这样设置是因为程序test执行时会以root  
身份运行特权命令,这样在他运行时由于调用的是我们伪造的ps命令程序,所以会  
产生一个root权限的SHELL环境。  

2,竞争条件  

一般指时序竞争,例如:  

fp=fopen("test.log","w+");  

chown("test.log",getuid(),getgid());  

原理也很简单,就是如果当前的程序运行时权限是euid=root,uid=当前用户,由于  
文件test.log在打开会执行将文件的属主改为当前用户,所以我们可以在执行完fo  
pen之后,chown之前删了test.log,而创建了一个到/etc/passwd的符号链接,这样  
就会将/etc/passwd文件的属主改为当前的用户,当前的用户就可以在passwd文件中  
将自己的uid改为0,这样就取得了system权限。  

3,溢出和格式串漏洞  

导致这些漏洞的数据来源主要是:  

1,命令行参数  

2,环境变量  

3,特定格式文件的读取  

4,用户交互十的输入  

缓冲溢出的漏洞是有以下一些函数引起的:  

1,strcpy  

2, strcat  

3, sprintf  

4, vsprintf  

格式化串的漏洞和以下一些函数有关:  

1, print/vprintf  

2, fprintf/vfprintf  

3, sprintf/vsprintf  

4, snprintf/vsnprintf  

利用工具有objdump,elfedump查看目标是否有不安全的以上不安全的函数,如果有  
可以进行黑盒测试,进而进行返汇编分析程序的上下文和执行流程,利用strings可  
以静态查找目标的环境变量。  

六,攻击WWW  

现在的入侵事件,攻击WWW居多,原因也很简单,那就是程序员在编写WEB脚本程序  
时更本不注重安全因素,导致了上传shell,提升权限之类的严重后果,入侵渗透测  
试主要通过以下几个方面进行测试:  

1,搜索SQL注入点;  

2,搜索特定目录和文件,例如:上传程序文件,这个利用价值也很大;  

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

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

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    对kappa官方网站的渗透经过
    十大入侵检测系统高风险事件
    部署入侵防御系统刻不容缓
    入侵检测技术:网络安全的第
    网络入侵检测系统(IDS)漫谈
    认识黑客入侵的利器 了解嗅探
    渗透冰兰黑客基地
    入侵检测系统(IDS)简介
    入侵检测应该与操作系统绑定
    IDS技术分析 入侵检测系统面
      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    Powered by ICE RIVER - STUDIO
    » CnXHacker.CoM   © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved.