学习啦>学习电脑>网络知识>网络基础知识>

网络黑客入侵渗透基础教程

孙胜龙分享

  许多人想要学习黑客基础知识,成为一名电脑高手,但是苦苦没有教程怎么办?学习啦小编就在这里教大家黑客基础教程中黑客入侵渗透教程,希望能帮到大家。

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

  主要TCP的四个字段判断:

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

  2,Window size:窗口大小;

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

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

  综合这些信息可以大概判断出目标的系统,但不能百分百确定。

  黑客入侵渗透第一步:查点

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

  1,Windows系统查点技术

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

  ----TCP

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

  例如:net use \IP\ipc$Content$nbsp;" " /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$Content$nbsp;" " /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 <

  >#!/bin/sh

  >EOF

  而这个特权程序是:

  bash$cat >test.c <

  >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在打开会执行将文件的属主改为当前用户,所以我们可以在执行完fopen之后,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,无线入侵渗透

  黑客入侵渗透第五步:入侵渗透以后

  1,在成功得到系统级别的权限以后,就要在目标留下后门方便以后进入,当然清楚日志是最为重要的收尾工作,这些方面也有很多的技术可以讨论,例如:后门的隐藏(WIN下的ADS是一个不错的隐藏程序的东东,日志的有选择删除及其伪造等等。

    266714