通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 攻防教程 >> 文章正文
推荐:入侵渗透思路
责任编辑:酷酷鱼   更新日期:2007-1-4
 
一,踩点

踩点可以了解目标主机和网络的一些基本的安全信息,主要有;

1,管理员联系信息,电话号,传真号;

2,IP地址范围;

3,DNS服务器;

4,邮件服务器。

相关搜索方法:

1,搜索网页。

确定目标信息1,为以后发动字典和木马入侵做准备;寻找网页源代码找注释和
隐藏域,寻找隐藏域中的"FORM"标记。例如:

<FORM action=/Poll/poll.asp method=post>

<input type=hidden name=vice value=vice>

</FORM>

可以发起SQL注入攻击,为以后入侵数据库做准备。

相关工具:UNIX下的Wget,Windows下的Teleport。

2,链接搜索

目标网站所在的服务器可能有其他具有弱点的网站,可以进行迂回入侵,而且可
以发现某些隐含的信息。

搜索方法介绍:

通过各种搜索引擎:GOOGLE,http://www.dogpile.comhttp://www.hotbot.com


二,查点

A,确定目标的域名和相关的网络信息。

搜索方法;

Whois查询,通过Whois数据库查询可以得到以下的信息:

1,注册机构:显示相关的注册信息和相关的Whois服务器;

2,机构本身:显示与某个特定机构相关的所有信息;

3,域名:显示与某个特定域名相关的所有信息

4,网络:显示与某个特定网络或单个IP地址相关的所有信息;

5,联系点:显示与某位特定人员相关的所有信息

搜索引擎站:http://www.infobear.com/whois.shtml

举例:Output of: whois 163.com@whois.internic.net

Registrant:

Netease.com, Inc.

36/F Peace World Plaza, No.362-366

Huan Shi Dong Road

Guangzhou, Guangdong 510060

CN

Domain Name: 163.COM

Administrative Contact, Technical Contact:

Netease.com, Inc. nsadmin@corp.netease.com

36/F Peace World Plaza, No.362-366

Huan Shi Dong Road

Guangzhou, Guangdong 510060

CN

+86-20-85525516 fax: +86-20-85525535

Record expires on 24-Jan-2009.

Record created on 15-Sep-1997.

Database last updated on 10-Feb-2006 03:24:01 EST.

Domain servers in listed order:

NS.NEASE.NET 202.106.185.75

NS3.NEASE.NET 220.181.28.3

B,利用ARIN数据库可以查询某个域名所对应的网络地址分配信息。

相关搜索地址:http://ws.arin.net/cgi-bin/whois.pl


利用http://whois.apnic.net/apnic-bin/whois2.pl进行对IP地址的查询,以搜集

有关的网络信息:

举例:163.com->202.108.9.16

inetnum: 202.108.0.0 - 202.108.255.255

netname: CNCGROUP-BJ

descr: CNCGROUP Beijing province network

descr: China Network Communications Group Corporation

descr: No.156,Fu-Xing-Men-Nei Street,

descr: Beijing 100031

country: CN

admin-c: CH455-AP

tech-c: SY21-AP

mnt-by: APNIC-HM

mnt-lower: MAINT-CNCGROUP-BJ

mnt-routes: MAINT-CNCGROUP-RR

changed: hm-changed@apnic.net 20031017

status: ALLOCATED PORTABLE

changed: hm-changed@apnic.net 20060124

source: APNIC

role: CNCGroup Hostmaster

e-mail: abuse@cnc-noc.net

address: No.156,Fu-Xing-Men-Nei Street,

address: Beijing,100031,P.R.China

nic-hdl: CH455-AP

phone: +86-10-82993155

fax-no: +86-10-82993102

country: CN

admin-c: CH444-AP

tech-c: CH444-AP

changed: abuse@cnc-noc.net 20041119

mnt-by: MAINT-CNCGROUP

source: APNIC

person: sun ying

address: Beijing Telecommunication Administration

address: TaiPingHu DongLi 18, Xicheng District

address: Beijing 100031

country: CN

phone: +86-10-66198941

fax-no: +86-10-68511003

e-mail: suny@publicf.bta.net.cn

nic-hdl: SY21-AP

mnt-by: MAINT-CHINANET-BJ

changed: suny@publicf.bta.net.cn 19980824

source: APNIC

知道了目标所在的网络,可以进行迂回渗透,寻找薄弱点,进入目标网络,然后在
攻击目标。

C,DNS信息查询

域名系统允许把一个DNS命名空间分割成多个区,各个去分别保存一个或多个DNS域
的名字信息。

区复制和区传送:DNS服务器之间是采用区传送的机制来同步和复制区内数据的。

区传送的安全问题不在于所传输的域名信息,而在于其配置是否正确。因为有些域
名信息当中包含了不应该公开的内部主机和服务器的域名信息。

相关工具:

1,Windows下,nslookup,SamSpade;

2, UNIX下:nslookup,dig,host,axfr

在Windows下的使用方法:

c:\>nslookup

Default server: 目标的DNS服务

Address: 目标的IP地址

>set type=ANY //表示接受任何可能的DNS记录

>ls -d 163.com >zone.163.com.txt //获得目标域的相关记录,结果保存在zon
e.163.com.txt

D,通过Traceroute获得网络的拓扑结构以及网络网络设备的地址。

相关工具;

Windows下:Tracert 支持ICMP协议

UNIX下:Traceroute 支持ICMP和DNS协议,由于多数防火墙已经过滤了ICMP,所以
UNIX下的Traceroute是不错的选择,而且使用-p n选项可以自己指定使用的端口。


三,网络扫描

面对不同的网络,应该采用不用的扫描方法:

1,对于内部网络,可用类型很多,ICMP协议是普遍要装上的,在内部网广播ICMP数
据包可以区分WINDOWS和UNIX系统,

发送类型为8的ICMP的ECHO请求,如果可以受到类型为0的ECHO回应,表明对方主机
是存活的。

相关工具介绍:

UNIX下的:fping&gping

WINDOWS下:Pinger 特点:速度快,多线程。

2,对于外部网络,可用类型也很多,涉及到的原理也有很多,例如:TCP扫描,UD
P扫描,

其实我是很不愿意用扫描工具的,很容易使对方感觉到入侵事件的发生,不论是防
火墙还是入侵检测系统都会或多或少的留下我们的脚印,如果遇到一个勤快的管理
员的话,那么这次入侵很可能以失败告终。

但使用与否依各个喜好而定了:),有时候我们在测试网络或者主机的安全性时,
就不能忽视他的存在了,首先,安全测试不是入侵,全面的测试对抵御黑客和蠕虫
的攻击是必要的,在这里推荐的端口扫描工具是NMAP,因为他带有躲避IDS检测的机
制,重组了TCP的三次握手机制,慢扫描机制等等都是其他扫描工具无法比拟的,U
DP扫描是很不可靠的,原因有下几点:

这种扫描依靠ICMP端口不可达消息,如果发送端给目标一个感兴趣的端口发送了一个
UDP数据包后,没有收到ICMP端口不可打消息,那么我们认为该端口处于打开状态。


不可靠的原因:

1,路由器可能丢弃UDP分组;

2,很多的UDP服务不也不产生响应;

3,防火墙的常规配置是丢弃UDP分组(除DNS外);

4,休眠状态的UDP端口是不会发送一个ICMP端口不可到达消息。

还有的扫描工具就是弱点扫描工具,这些工具综合各种漏洞信息构造漏洞数据库,
去探究存在漏洞没有打补丁的主机,当然也有针对特定漏洞的检测发现工具(脚本小
子能用,网络安全人员也弄用--双刃剑-:)

这里详细介绍对目标操作系统类型的检测原理:

Telnet标识和TCP/IP堆栈指纹:

1,网上许多的系统可以直接Telnet到目标,大多会返回欢迎信息的,返回的信息包
含了该端口所对应的服务软件的版本号,这个对于寻找这个版本的软件的漏洞很重
要,如果对方开了Telnet,那么可以直接得到对方的系统类型和版本号,这个对于
挖掘系统的漏洞很重要(对于溢出来说,不同版本的系统和语言版本的系统来说,
RET地址,JMP ESP,地址是不同的)。

2,如今越来越多的管理员懂的了关闭功能标志,甚至提供伪造的欢迎信息。那么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,搜索特定目录和文件,例如:上传程序文件,这个利用价值也很大;

3,寻找管理员登陆网页,进行字典或者SQL饶过入侵;

4,寻找WEB程序的源代码,进行漏洞挖掘,主要涉及的漏洞类型有:SQL注入,文件
包含漏洞,目录跳转漏洞,以脚本文件格式保存错误日志漏洞,上传漏洞

5,在代码审核时,不要忘记对程序员犯的逻辑错误进行查看,例如:函数书写错误


6,总是,漏洞的成因归根到底是由于对用户的输入没有进行严格的过滤。

七,其他的入侵

1,针对数据库MSSQL,MYSQL,ORACLE等数据库的入侵;

2,针对路由,防火墙,IDS等网络设备的渗透

3,无线入侵渗透

八,入侵渗透以后
  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章提醒:“求职信”病毒1月6日发作
    普通文章两条“蠕虫”蠢蠢欲动
    普通文章5“网银大盗”狂盗储户14万 武汉男子被判10年
    普通文章“木马事件”终告结束 英语学习网重获新生
    普通文章搜索引擎不再喜欢新米,并非只是CN米
    普通文章蠕虫"威金"新变种 "小熊猫"屠宰多个计算机系统
    普通文章元旦上网谨防“Real蛀虫” 通过视频文件传播
    普通文章入侵工具Knark的分析及防范
    普通文章认清本质 计算机病毒防治常遇问题
    普通文章饶过现代Anti-Rookit工具的内核模块扫描(ZT)
    精彩专题