扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 2007年9月14日
关键字: 黑客工具 PcAnyWhere 终端服务 winlogon进程
随着网络黑客工具的简单化和傻瓜化,越来越多的网络爱好者可以通过现成的攻击工具轻松的入侵主机,然而谁也不想在管理员的眼皮底下做入侵,所以在入侵成功以后,一个很重要的事情是:你能不能确认你的行为在别人的监视之下?所以我们首先要知道管理员是不是现在正在你入侵的主机上?
如何判定管理员在线,我们要知道的是管理员是通过什么方式管理主机的:是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.
http://www.foundstone.com
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 - www.sysinternals.com
Users logged on locally:
2003-9-15 14:33:38 LIN\Administrator -----这个是本地登陆的用户administrator
Users logged on via resource shares:
2003-9-15 14:41:04 LIN\LINYUN -----这个是使用IPC$连接的用户LINYUN
如何判定管理员是否在线是一个比较深入的话题,上面说的仅仅是提供一个思路,当然了,如果管理员登陆了,却锁定了主机,或者正在运行屏幕保护程序,这一些就都不好说了!有矛必有盾,我们既然能通过各种的方式判定管理员是不是在线,同样,管理员也能通过这样的途径知道自己是否被入侵,从而尽快的查出入侵者,所以请广大的网络爱好者不要以身试法,入侵国内主机。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者