基于认证的入侵(二)

基于认证的入侵(二) 作者 emile 日期 2007-7-7 21:36:00
三、Telnet入侵:
1、关于Telnet:
(1)虽然IPC$连接也能远程执行命令,但相比之下,Telnet对入侵者而言会更方便。入侵者利用Telnet从一
    个“肉鸡”登录到另一个“肉鸡”,这样在入侵过程中就很好的隐藏了自己的IP地址。
(2)NTLM验证:考虑到Telnet的安全问题,微软为Telnet添加了身份验证,称为NTLM验证,它要求Telnet
    终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM验证关系,这就大大增加了Telnet
    主机的安全性。

2、Telnet典型入侵:
(1)Telnet典型入侵步骤:
步骤一:建立IPC$连接,建立后门帐号;
步骤二:开启远程主机中被禁用的Telnet服务;
步骤三:断开IPC$连接;
步骤四:去掉NTLM验证:
      方法一:首先在本地计算机上建立一个与远程主机上相同的帐号和密码;然后通过“开始”—>“程序”—>“附件”找到“命令提示符”,使用鼠标右键单击“命令提示符”选择“属性”,在高级属性“以其他用户身份运行”前打勾,单击“确定”;接着,仍按上面路径找到“命令提示符”,鼠标左键单击打开,键入“用户名”和“密码”,单击“确定”后得到MS-DOS界面,然后用该界面进行Telnet登录;键入“telnet 目的IP”回车,输入“Y”发送密码并登录;打开Telnet终端用户Shell后,在Shell中输入的命令将直接在远程计算机上执行。
      方法二:该方法使用工具 NTLM.EXE来去除NTLM验证。首先与远程主机建立IPC$连接,然后将NTLM.EXE拷贝到远程主机,最后通过at命令使远程计算机执行NTLM.EXE。计划任务执行NTLM.EXE后,便可键入“telnet 目标IP”命令来登录远程计算机。最后得到登录界面,在该界面中键入用户名和密码,如果正确,便会登录到远程计算机,得到远程计算机的Shell。此外,还有一种方法是通过上传NCX,然后开99端口执行Telnet服务,类似于使用NTLM.EXE的过程,这里不详述了。
      方法三:还可通过修改远程计算机的Telnet服务设置来去除NTLM验证。首先建立文本文件telnet.txt,目的是通过telnet.txt文件来配置tlntadmn程序。其中tlntadmn程序是Windows系统自带的程序,专门用来配置telnet服务。
      在telnet.txt中依次键入3,7,y,0,y,0,0,其中每个字符各占一行。然后建立批处理文件“tel.bat”,内容是“tlntadmn < telnet.txt”;该命令中的“<”表示把telnet.txt中的内容导入给tlntadmn.exe。最后建立IPC$连接,把 tel.bat和telnet.txt分别拷贝到远程计算机中,并通过at命令执行tel.bat文件,从而去除NTLM认证。

3、Telnet杀手锏:
(1) opentelnet:opentelnet 专门用来解除Telnet的NTLM认证,它不用建立IPC$连接、不必考虑远程计算机是否正在运行Telnet服务,只要有用户名和密码,并且主机开放 IPC$连接就行了。不过opentelnet打开的telnet服务在目标主机重启后不会自动运行。相应于去除NTLM验证,还有一个恢复NTLM验证的程序— ResumeTelnet.exe
   opentelnet的用法:opentelnet.exe //server <帐号> <密码> <NTLM认证方式> <telnet端口>
   其中:server是目标主机IP地址;Telnet端口默认是23,不过入侵者一般用其他端口如55、90等来迷惑
   管理员;NTLM认证方式:0不使用NTLM身份验证,1先尝试NTLM身份验证,失败再使用用户名和密
   码,2只使用NTLM身份验证。
(2)实例:任务—去除NTLM验证,更改Telnet服务端口号,登陆Telnet目标主机。
步骤一:使用opentelnet.exe去除远程计算机NTLM验证,并把Telnet服务端口号改为55:在Ms-dos中键
        入“opentelnet file://192.168.1.60/ administrator "" 1 55”。从回显看到,成功去除了NTLM验证,更改
        了Telnet服务端口,并开启了Telnet服务。
步骤二:键入“telnet 192.168.1.60 55”来登录远程主机。成功登陆后,得到登录界面。
        此外,还可以用与opentelnet.exe相配套的程序resumetelnet.exe来恢复远程主机的NTLM验证,命令格式为“ResumeTelnet.exe file://server/ sername password”。执行后将关闭目标主机Telnet服务,恢复NTLM验证。


4、Telnet高级入侵:
入侵者入侵通常都会修改Telnet端口,修改Telnet服务来隐藏行踪,下面是完成入侵过程需要的工具:
  X-Scan:用来扫描出存在NT弱口令的主机;
  opentelnet:用来去除NTLM验证、开启Telnet服务、修改Telnet服务端口;
  AProMan:用来查看进程、杀死进程;
  instsrv:用来给主机安装服务。
(1)AProMan和instsrv介绍:
    AProMan以命令行方式查看、杀死进程,不会被杀毒软件查杀(如果入侵者发现目标主机上运行有杀毒软件,会导致上传的工具被查杀,那么他们就要在上传工具前关闭杀毒防火墙)。用法如下:
  C:/AProMan.exe -a             显示所有进程
  C:/AProMan.exe -p             显示端口进程关联关系(需Administrator权限)
  C:/AProMan.exe -t[PID]        杀掉指定进程号的进程
  C:/AProMan.exe -f[FileName]   把进程及模块信息存入文件
  instsrv是一款用命令行就可以安装、卸载服务的程序,可以自由指定服务名称和服务所执行的程序,用法如下:
      安装服务:instsrv <服务名称> <执行程序的位置>
      卸载服务:instsrv <服务名称> REMOVE

还有另一款优秀的远程服务管理工具SC,也是命令行工具,可以在本地对远程计算机上的服务进行查询、启动、停止和删除。
(2)下面通过实例介绍入侵者如何实现Telnet登录并留下Telnet后门的过程:
步骤一:扫出有NT弱口令的主机:在X-Scan的“扫描模块”中选中“NT-SERVER弱口令”,指定扫描范
                围扫描。
步骤二:用opentelnet打开远程主机Telnet服务、修改目标主机端口、去除NTLM验证。如:通过
              “opentelnet file://192.168.1.60/ administrator "" 1 66”来完成。
步骤三:把所需文件(instsrv.exe、AProMan.exe)拷贝到远程主机。首先建立IPC$,然后通过映射网络硬
                盘的方法拷贝、粘贴到远程计算机的C:/winnt文件夹中。
步骤四:Telnet登录。在MS-DOS中键入“telnet 192.168.1.60 66”来登录。
步骤五:杀死防火墙进程。当入侵者登录成功,进入到C:/winnt目录中使用AProMan程序;首先通过
                AProMan -a命令查看所有进程,然后找到杀毒防火墙进程的PID,最后使用AProMan -t[PID]来杀
                掉杀毒防火墙。
步骤六:另外安装更为隐蔽的Telnet服务(留后门)。
      在“计算机管理”中查看“Telnet服务”属性,可以看到可执行文件路径指向“C:/WINNT/SYSTEM32/tlntsvr.exe”,可见,程序tlntsvr.exe就是Windows系统中专门用来提供“Telnet服务”的。因此,入侵者可以自定义一个新服务,将该服务指向 tlntsvr.exe,从而通过该服务提供的Telnet服务登录,这样做后,即使远程主机上的Telnet服务是被禁用的,入侵者也可以毫无阻碍的登录到远程计算机,这种方法称之为Telnet后门。下面介绍一下上述过程的实现:
      首先进入instsrv所在目录,然后使用instsrv.exe建立一个名为“SYSHEALTH”的服务,并把这个服务指向C:/WINNT/ SYSTEM32/tlntsvr.exe,根据instsrv.exe的用法,键入命令“instsrv.exe SYSHEALTH C:/WINNT/SYSTEM32/tlntsvr.exe”,一个名为SYSHEALTH的服务就被建立了。通过“计算机管理”可以看到该服务已经被添加在远程计算机上。入侵者一般会把这个服务的启动类型设置为“自动”,而把原来的“Telnet服务”停止并禁用。通过验证,虽然远程主机的 Telnet服务被禁用,但入侵者仍能通过Telnet来控制远程主机,通过这些修改,即使管理员使用“netstat -n”命令也看不出66端口正在提供Telnet服务。
5、常见问题:
(1)虽然获得远程主机用户名和密码,用opentelnet连接时仍然失败,可能是目标主机没有启动Server服
     务,或者没开放IPC$。
(2)抵御Telnet入侵的主要措施:
     保证帐号密码的强壮性,防暴力破解;禁用Telnet服务;关闭IPC$也可防止一些情况发生;安装网络防
     火墙。


四、远程命令执行及进程查杀:
在了解实现Telnet的多种方法后,这里介绍入侵者远程执行命令的另一种方法及常用的进程查、杀技术。
1、远程执行命令:使用工具PSEXEC
(1) PSEXEC为远程执行命令软件,使用方法:
     psexec //computer [-u user [-p passwd]] [-s] [-i] [-c [-f]] [-d] cmd [arguments]
     -u      登录远程主机的用户名
     -p      登录远程主机的密码
     -i      与远程主机交互执行
     -c      拷贝本地文件到远程主机系统目录并执行
     -f      拷贝本地文件到远程主机系统目录并执行,如果远程主机已存在该文件,则覆盖
     -d      不等待程序结束
   如果命令或程序含有空格,则要用双引号括起来,如:psexec file://emile/ "C:/long name app.exe"
(2)实例一:
   通过PSEXEC可实现与Telnet登录同样的功能,在MS-DOS中键入“psexec file://192.168.1.60/ -u administrator -p "" cmd”便可在本地机上打开远程主机192.168.1.60上的命令行Shell,在该命令行Shell中输入的命令会在远程主机上直接执行。这就实现了与Telnet登录同样的功能。
(3)实例二:
   通过PSEXEC,入侵者还可把本地木马程序拷贝到远程主机执行,在MS-DOS键入“psexec file://192.168.1.60/ -u administrator -p "" -d -c C:/hack.exe”,便可将本地C盘中的hack.exe木马程序拷贝到远程主机192.168.1.60上并自动执行,其中参数-d表示执行完毕后马上结束PSEXEC进程。
   可见,PSEXEC执行过程没有类似Telnet的登录过程,不容易被日志记录。与PSEXEC功能类似的工具还有RemoteNC。

2、查、杀进程:
   使用前面提到的PSEXEC和AProMan两个工具就可实现这一过程,其中PSEXEC用来远程执行命令,工具“AProMan”用来查看进程、端口与进程的关联关系,并杀死指定进程,还可把进程和模块列表导出到文本文件中。
   AProMan.exe使用方法:
     AProMan -p:           显示端口进程关联关系(需Administrator权限)
     AProMan -t [PID]:     杀掉指定进程号的进程
     AProMan -f [FileName]  把进程及模块信息存入文件
   实现查杀进程的过程如下:
步骤一:上传AProMan.exe
        首先把AProMan.exe拷贝到本地D盘下,然后在MS-DOS键入“psexec file://192.168.1.60/ -u       administrator -p "" -d -c D:/AProMan.exe”。
步骤二:查看远程主机进程
        在MS-DOS中键入“psexec file://192.168.1.60/ -u administrator -p "" AProMan -a”命令后,在本地机中便会获得远程主机中的进程列表。
步骤三:杀死远程主机进程
        获得远程主机进程列表后,便可通过AProMan杀死指定进程。比如要杀死远程主机中金山毒霸进      程“watcher.exe”,首先前面的过程查出金山毒霸防火墙进程的PID为556,下面键入命令“psexec       file://192.168.1.60/ -u administrator -p "" -d AProMan -t 556”杀掉进程。

3、其它工具:
   除了使用“PSEXEC”与“AProMan”来查杀进程外,还可通过工具“ pslist.exe”和“ pskill.exe”来实现,其中前者是命令行下远程查看进程工具,后者是命令行下远程杀进程工具。
   具体使用方法可以用 pslist /? 和 pskill /?来查看。此外,还有一款能杀死TCP连接的工具KillTCP,它能列出本地活动连接、杀死指定连接、列出TCP监听端口,不过它需要拷贝到远程主机上使用。
4、远程执行命令方法汇总:
   三种方法可以远程执行命令:通过计划任务执行;通过Telnet执行;通过PSEXEC程序执行。
   通过计划任务远程执行命令,需要入侵者掌握远程主机管理员账号和密码,能建立IPC$连接,并开放计划任务服务。此外,还通常需要编写BAT文件配合。
   通过Telnet远程执行命令,需要入侵者掌握远程主机管理员账号和密码,并开放Telnet服务。
   通过PSEXEC远程执行命令,需要远程主机开放Server服务及IPC服务,也需要掌握远程主机管理员账号和密码。
   比较起来,如果能建立IPC$连接,PSEXEC更简单容易些,Telnet一般还需去除NTLM验证;如果不能建立IPC$连接,只有通过Telnet登录方式实现远程命令的执行了。

五、入侵注册表:
1、注册表相关知识:
   注册表被组织成子树及项、子项和项值的分层结构。注册表根项名称说明如下:
   HKEY_LOCAL_MACHINE   包含关于本地计算机系统的信息,包括硬件和操作系统数据,如总线类型、
                                                   系统内存、设备驱动程序和启动控制数据。
   HKEY_CLASSES_ROOT    包含由各种OLE技术使用的信息和文件类别关联数据(等价于MS_DOS下
                                                    的Windows注册表)。如果HKEY_LOCAL_MACHINE/SOFTWARE/Classes
                                                    或HKEY_CURRENT_USER/SOFTWARE/Classes中存在某个键或值,则
                                                    对应的键或值将出现在HKEY_CLASSES_ROOT中。如果两处均存在项或
                                                    值,HKEY_CURRENT_USER版本将是出现在HKEY_CLASSES_ROOT中
                                                    的一个。
   HKEY_CURRENT_USER    包含当前以交互方式(与远程方式相反)登录的用户的用户配置文件,包括环
                                                   境变量、桌面设置、网络连接、打印机和程序首选项。该子目录树是
                                                   HKEY_USERS子目录树的别名并指向HKEY_USERS/当前用户的安全ID。
   HKEY_USERS             包含关于动态加载的用户配置文件和默认的配置文件的信息。这包含同时出
                                         现在HKEY_CURRENT_USER中的信息。要远程访问服务器的用户在服务器上的
                                         该项下没有配置文件;他们的配置文件将加载到他们自己计算机的注册表中。
   HKEY_CURRENT_CONFIG      包含在启动时由本地计算机系统使用的硬件配置文件的相关信息。该信息
                                                        用于配置一些设置,如要加载的设备驱动程序和显示时要使用的分辨率。
                                                        该子目录树是HKEY_LOCAL_MACHINE子目录树的一部分并指向
                                                        HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/HardwareProfiles/Current。
2、开启远程主机的“远程注册表服务”:
   入侵者一般都是通过远程进入目标主机注册表的,因此,如果要连接远程目标主机的“网络注册表”实现注册表入侵,除了能成功建立IPC$连接外,还需要远程目标主机已经开启了“远程注册表服务”。
   步骤一:建立IPC$连接;
   步骤二:打开“计算机管理”,用“计算机管理”管理远程计算机;
   步骤三:开启“远程注册表服务”;
   步骤四:关闭“计算机管理”,断开IPC$连接。

3、连接远程主机的注册表:
   入侵者可以通过Windows自带的工具连接远程主机的注册表并进行修改,下面用实例介绍这个过程:
   步骤一:建立IPC$连接,过程略;
   步骤二:连接远程主机注册表(前面已经开启了“远程注册表服务”);打开“运行”执行regedit来打开注册表编辑器,在注册表编辑器界面单击“注册表”,选择“连接网络注册表”,如图1、2所示:

   在弹出的对话框键入远程主机IP地址,确定;连接网络注册表成功后,入侵者可以通过该工具在本地修改远程注册表,不过这种方式得到的网络注册表只有三个根项。
   步骤三:断开网络注册表。修改完远程主机的注册表后,要断开网络注册表。

4、reg文件编辑:
   入侵者除了使用网络注册表连接远程主机的注册表外,还可以通过手工导入reg文件的方法来修改远程主机的注册表,只要拥有权限,便可以通过这种方式修改注册表任意一项。
   reg文件是Windows系统中一种特定格式的文本文件,通过reg文件导入的方法能够修改远程注册表的任意一项。下面是几个实例:
   实例一:介绍如何在远程主机注册表根项HKEY_CURRENT_USER/Software/中添加名为“HACK”的主键,并在HACK主键下建立一个名为“NAME”,类型为“DWORD”,值为“00000000”的键值项。
   首先打开记事本,进行如下编辑:  
   (1)添加主键:为了在HKEY_CURRENT_USER/Software/中建立HACK主键,在记事本中写入:
   REGEDIT4
   [HKEY_CURRENT_USER/Software/HACK]
   另存为TEST1.REG,双击该文件导入后,便建立了HACK主键。说明:第一列代表reg文件版本为4;第二行是要添加主键的路径。
   (2)添加键值项:为了在HACK主键下建立一个名为“NAME”,类型为“DWORD”,值为“00000000”的键值项,在记事本中写入:
   REGEDIT4
   [HKEY_CURRENT_USER/Software/HACK]
   "NAME"=dword:00000000
   然后另存为TEST2.REG,双击后导入。
   实例二:把实例一中建立的注册表信息删掉。
   (1)删除键值项:
   同样,打开记事本,在"NAME"后面写一个减号,如下:
   REGEDIT4
   [HKEY_CURRENT_USER/Software/HACK]
   "NAME"=-
   然后另存为TEST3.REG,双击后导入,NAME项即被删掉。
   (2)删除主键:
   打开记事本,在“HKEY_CURRENT_USER”前键入减号,如下:
   REGEDIT4
   [-HKEY_CURRENT_USER/Software/HACK]
   然后另存为TEST4.REG,双击后导入,HACK主键就被删掉了。
   前面说明了编辑简单注册表,下面说明入侵者如何在命令行把REG文件导入注册表,这样的方法不会产生询问。
   方法一:使用专门的注册表导入工具来实现。
   方法二:使用Windows系统自带的命令:注册表文件导入命令为—regedit /s <REG文件>,其中参数/s表示不需要询问。

5、远程关机方法:
   修改完注册表后,只有远程主机重启后才能生效,下面介绍远程关机的方法:
   方法一:
   打开计算机管理(本地);在控制台树中,右键单击“计算机管理”,然后单击“连接到另一台计算机”;在“选择计算机”对话框的“名称”下,选择要重新启动或关闭的计算机,然后单击“确定”;在控制台树中,右键单击“计算机管理(远程计算机名)”然后选择“属性”;在“高级”选项卡上单击“启动和故障恢复” 栏中的“设置”按钮;单击“关闭”按钮;在“操作”栏中选择要在连接的计算机上执行的操作;在“强制应用程序关闭”栏中,选择关闭或重新启动计算机时是否强制关闭程序,最后单击“确定”按钮。
   方法二:
   使用Windows XP/2003中的shutdown命令来完成远程关机,shutdown.exe是系统自带的程序,但windows2000以下系统是没有这个工具的,可以从xp或2003系统文件夹下把shutdown.exe拷贝到2000系统文件夹下,就可以使用该命令了。下面是该命令常用的几个参数:
   -s:     关闭计算机
   -r:     重启计算机
   -m file://ip/:制定被操作的远程计算机
   -t xx:  指定多少时间后,关闭或重启目标计算机
   需说明的是,在使用shutdown前要与远程主机建立IPC$连接,然后才能使用命令。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值