判定管理员是否在线

  随着网络黑客工具的简单化和傻瓜化,越来越多的网络爱好者可以通过现成的攻击工具轻松的入侵主机,然而谁也不想在管理员的眼皮底下做入侵,所以在入侵成功以后,一个很重要的事情是:你能不能确认你的行为在别人的监视之下?所以我们首先要知道管理员是不是现在正在你入侵的主机上?
如何判定管理员在线,我们要知道的是管理员是通过什么方式管理主机的:是pcanywhere、vnc、DameWar、终端服务、ipc、telnet还是本地登陆・・・ 
一、对于用第三方的控屏工具(pcanywhere、vnc、DameWar等),你只要看相应端口有没有状态为"ESTABLISHED"的连接。一个netstat -an就可以知道,如果想查看与端口相关的进程,使用Fport.exe就可以了。比如我们在一台主机上使用netstat -an发现如下的信息:
Active Connections

Proto Local Address Foreign Address State

TCP lin:1755 lin:telnet ESTABLISHED
TCP lin:1756 lin:netbios-ssn ESTABLISHED
TCP lin:1758 202.103.243.105:http TIME_WAIT
TCP lin:1764 202.103.243.105:http TIME_WAIT
TCP lin:6129 lin:1751 ESTABLISHED

使用Fport.exe得到如下的信息:
Pid Process Port Proto Path

528 mysqld-nt -> 3306 TCP D:\mysql\bin\mysqld-nt.exe
1328 DWRCS -> 6129 TCP C:\WINNT\SYSTEM32\DWRCS.EXE ---这个是DameWare Mini Remote Control服务

8 System -> 138 UDP
248 lsass -> 500 UDP C:\WINNT\system32\lsass.exe

------从这个可以看出,管理员是通过DameWare Mini Remote Control来管理现在的主机,连接的端口是6129。同样如果管理员使用其他的控屏工具,比如pcanywhere、vnc我们也是可以通过netstat -an查看端口连接的情况。

  二、对于从本地或终端服务登陆的,看看有几个winlogon进程,我们可以使用的工具是PSTOOLS的PULIST.EXE,它能够查看本机的所用正在运行的进程。然后单凭有几个winlogon进程也很难判定在线的是不是管理员,因为一般用户和管理员都是通过图形界面登陆的,身份验证都是在GINA(GINA - Graphical Identification andAuthentication图形标识和身份验证)中进行,而GINA又和Winlogon进程紧密相关,所以查看有几个winlogon进程只能知道当前有几个用户登陆主机。这个办法也是给一个参考而已吧,给一个例子,这样应该好理解一点:
在主机上运行pulist.exe(至于如何才能在主机上运行pulist.exe,我想这个问题也不用说了吧),进程情况:
PID Path
0 [Idle Process]
8 [System]
160 \SystemRoot\System32\smss.exe
184 \??\C:\WINNT\system32\csrss.exe
208 \??\C:\WINNT\system32\winlogon.exe ----这个
680 C:\WINNT\System32\svchost.exe
404 C:\WINNT\Explorer.EXE
1088 \??\C:\WINNT\system32\csrss.exe
1084 \??\C:\WINNT\system32\winlogon.exe ----还有这个

在这个上面我们发现了有二个的winlogon.exe,就可以知道目前有2个用户通过本地或终端服务登陆主机,结合上面说的判定方法,使用netstat 查看TCP端口连接:

Num LocalIP Port RemoteIP PORT Status

10 192.168.0.1 3389 192.168.2.1 1071 Established ----终端的

可以看出使用的是终端3389连接。

  三、对于用telnet登陆的,telnet的登陆不是通过winlogon来管理的,还是看相应端口的连接吧,我们知道的是一般情况下telnet使用23端口连接,通过netstat -an可能很清楚的看出23端口有没有打开:
C:\>netstat -an

Active Connections

Proto Local Address Foreign Address State

TCP 127.0.0.1:23 127.0.0.1:1030 ESTABLISHED
TCP 127.0.0.1:1030 127.0.0.1:23 ESTABLISHED
我们也可以通过上面的方法查看相应的进程,比如我们使用FPORT.EXE是得到如下的信息:
E:\HACK>fport
FPort v2.0 - TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
[url]http://www.foundstone.com[/url]

Pid Process Port Proto Path
660 inetinfo -> 21 TCP C:\WINNT\System32\inetsrv\inetinfo.exe
1112 tlntsvr -> 23 TCP C:\WINNT\system32\tlntsvr.exe
660 inetinfo -> 80 TCP C:\WINNT\System32\inetsrv\inetinfo.exe
416 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
660 inetinfo -> 443 TCP C:\WINNT\System32\inetsrv\inetinfo.exe
8 System -> 1028 TCP
408 telnet -> 1030 TCP C:\WINNT\system32\telnet.exe

从上面的信息可以知道23端口对应的正是telnet服务tlntsvr.exe。

  四、通过IPC$管道进行管理,这个可以通过WINDOWS NT系统内置的工具NET SESSION,它的作用是列出或断开连接本地计算机和与它连接的客户之间的会话。 
下面给出一个结果:
E:\HACK>net session

计算机 用户名 客户类型 打开空闲时间

-------------------------------------------------------------------------------
\\LIN LINYUN Windows 2000 2195 0 00:08:47

命令成功完成。

从这个上面我们就可以看出当前有一个用户名为LIYUN的用户登陆主机LIN。在这里给大家推荐一个比较好的工具――PSTOOLS里面的psloggedon.exe,它不仅能列出使用IPC$登陆的用户,而且能列出本地登陆的用户。
E:\Pstools\Pstools>psloggedon.exe

PsLoggedOn v1.21 - Logon Session Displayer
Copyright (C) 1999-2000 Mark Russinovich
SysInternals - _blank> [url]www.sysinternals.com[/url]

Users logged on locally:
2004-*-* 14:33:38 LIN\Administrator -----这个是本地登陆的用户administrator

Users logged on via resource shares:
2004-*-* 14:41:04 LIN\LINYUN -----这个是使用IPC$连接的用户LINYUN

  如何判定管理员是否在线是一个比较深入的话题,上面说的仅仅是提供一个思路,当然了,如果管理员登陆了,却锁定了主机,或者正在运行屏幕保护程序,这一些就都不好说了!有矛必有盾,我们既然能通过各种的方式判定管理员是不是在线,同样,管理员也能通过这样的途径知道自己是否被入侵,从而尽快的查出入侵者,所以请广大的网络爱好者不要以身试法,入侵国内主机。

你可能感兴趣的:(职场,在线,管理员,休闲)