从某种意义上说,服务器被攻击是不可避免的,甚至被控制也情有可原。但绝对不能容忍的是,服务器被植入后门,攻击者如入无人之境,而管理者去浑然不觉。本文将对当前比较流行的后门技术进行解析,知己知彼方能杜绝后门。

  1、放大镜后门
  放大镜(magnify.exe)是Windows 2000/XP/2003系统集成的一个小工具,它是为方便视力障碍用户而设计的。在用户登录系统前可以通过“Win+U”组合键调用该工具,因此攻击者就用精心构造的magnify.exe同名文件替换放大镜程序,从而达到控制服务器的目的。
  通常情况下,攻击者通过构造的magnify.exe程序创建一个管理员用户,然后登录系统。当然有的时候他们也会通过其直接调用命令提示符(cmd.exe)或者系统shell(explorer.exe)。需要说明的是,这样调用的程序都是system权限,即系统最高权限。不过,以防万一当管理员在运行放大镜程序时发现破绽,攻击者一般通过该构造程序完成所需的操作后,最后会运行真正的放大镜程序,以蒙骗管理员。其利用的方法是:
  (1).构造批处理脚本   
@echo off 
  net user gslw$ test168 /add 
  net localgroup administrators gslw$ /add 
  %Windir%\system32\nagnify.exe 
  exit  将上面的脚本保存为magnify.bat,其作用是创建一个密码为test168的管理员用户gslw$,最后运行改名后的放大镜程序nagnify.exe。(图1)
  (2).文件格式转换
  因为批处理文件magnify.bat的后缀是bat,必须要将其转换为同名的exe文件才可以通过组合键Win+U调用。攻击者一般可以利用WinRar构造一个自动解压的exe压缩文件,当然也可以利用bat2com、com2exe进行文件格式的转换。我们就以后面的方法为例进行演示。
  打开命令行,进入bat2com、com2exe工具所在的目录,然后运行命令“bat2com magnify.bat”将magnify.bat转换成magnify.com,继续运行命令“com2exe magnify.com”将magnify.com转换成magnify.exe,这样就把批处理文件转换成和放大镜程序同名的程序文件。(图2)
(3).放大镜文件替换
  下面就需要用构造的magnify.exe替换同名的放大镜程序文件,由于Windows对系统文件的自我保护,因此不能直接替换,不过Windows提供了一个命令replace.exe,通过它我们可以替换系统文件。另外,由于系统文件在%Windir%\system32\dllcache中有备份,为了防止文件替换后又重新还原,所有我们首先要替换该目录下的magnify.exe文件。假设构造的magnify.exe文件在%Windir%目录下,我们可以通过一个批处理即可实现文件的替换。
   
@echo off 
  copy %Windir%\system32\dllcache\magnify.exe nagnify.exe 
  copy %Windir%\system32\magnify.exe nagnify.exe 
  replace.exe %Windir%\magnify.exe %Windir%\system32\dllcache 
  replace.exe %Windir%\magnify.exe %Windir%\system32 
  exit  上面批处理的功能是,首先将放大镜程序备份为nagnify.exe,然后用同名的构造程序将其替换。(图3)
  (4).攻击利用
  当完成上述操作后,一个放大镜后门就做成了。然后攻击者通过远程桌面连接服务器,在登录界面窗口摁下本地键盘的“Win+U”组合键,选择运行其中的“放大镜”,此刻就在服务器上创建了一个管理员用户gslw$并打开了放大镜工具,然后攻击者就开业通过该帐户登录服务器。当然,攻击者在断开登录前会删除所有与该帐户相关的信息,以防被管理员发现。(图4)
(5).防范措施
  进入%Windir%\system32\查看magnify.exe的文件图标是否是原来的放大镜的图标,如果不是的话极有可能被植入了放大镜后门。当然,有的时候攻击者也会将其文件图标更改为和原放大镜程序的图标一样。此时我们可以查看magnify.exe文件的大小和修改时间,如果这两样有一项不符就比较怀疑了。我们也可以先运行magnify.exe,然后运行lusrmgr.msc查看是否有可疑的用户。如果确定服务器被放置了放大镜后门,首先要删除该文件,然后恢复正常的放大镜程序。当然,我们也可以做得更彻底一些,用一个无关紧要的程序替换放大镜程序。甚至我们也可以以其人之道还治其人之身,构造一个magnify.exe,通过其警告攻击者或者进行入侵监控和取证。
  补充:与放大镜后门类似的还有“粘滞键”后门,即按下SHIEF键五次可以启动粘滞键功能,其利用和防范措施与放大镜后门类似,只是将magnify.exe换成了sethc.exe。
  2、组策略后门
  相对来说,组策略后门更加隐蔽。往册表中添加相应键值实现随系统启动而运行是木马常用的伎俩,也为大家所熟知。其实,在最策略中也可以实现该功能,不仅如此它还可以实现在系统关机时进行某些操作。这就是通过最策略的“脚本(启动/关机)”项来说实现。具体位置在“计算机配置→Windows设置”项下。因为其极具隐蔽性,因此常常被攻击者利用来做服务器后门。
  攻击者获得了服务器的控制权就可以通过这个后门实施对对主机的长期控制。它可以通过这个后门运行某些程序或者脚本,最简单的比如创建一个管理员用户,他可以这样做:
  (1).创建脚本
  创建一个批处理文件add.bat,add.bat的内容是:@echo off & net user gslw$ test168 /add && netlocalgroup administrators gslw$ /add & exit (创建一个用户名为gslw$密码为test168的管理员用户)。
  (2).后门利用
  在“运行”对话框中输入gpedit.msc,定位到“计算机配置一>Windows设置一>脚本(启动/关机)”, 双击右边窗口的“关机”,在其中添加add.bat。就是说当系统关机时创建gslw$用户。对于一般的用户是根本不知道在系统中有一个隐藏用户,就是他看见并且删除了该帐户,当系统关机时又会创建该帐户。所以说,如果用户不知道组策略中的这个地方那他一定会感到莫名其妙。
  其实,对于组策略中的这个“后门”还有很多利用法,攻击者通过它来运行脚本或者程序,嗅探管理员密码等等。当他们获取了管理员的密码后,就不用在系统中创建帐户了,直接利用管理员帐户远程登录系统。因此它也是“双刃剑”,希望大家重视这个地方。当你为服务器被攻击而莫名其妙时,说不定攻击者就是通过它实现的。(图5)
(3).后门防范
  组策略后门是攻击者利用了管理员的疏忽心理,因为对于组策略中的“(启动/关机)脚本”项往往被大家忽略,有些管理员甚至不知道组策略中的这个选项。防范这类服务器后门,也非常简单,只需打开组策略工具,定位到“脚本(启动/关机)”项下进行查看。当然也可以进入
  system32\GroupPolicy\Machine\Scripts\Startup和system32\GroupPolicy\Machine\Scripts\Shutdown目录检查是否有可疑的脚本。(图6)
  3、RootKit后门
  Rootkit是一个或者多个用于隐藏、控制系统的工具包,该技术被越来越多地应用于一些恶意软件中,当然攻击者也往往通过它来制作服务器后门。下面结合实例解析其利用方法。
  (1).创建一般帐户
  在命令提示符(cmd.exe)下输入如下命令:net user gslw$ test168 /add
  通过上面的命令建立了一个用户名为gslw$,密码为test168的普通用户。为了达到初步的隐藏我们在用户名的后面加了“$”号,这样在命令提示符下通过net user是看不到该用户的,当然在“本地用户和组”及其注册表的“SAM”项下还可以看到。
  (2).帐户非常规提权
  下面我们通过注册表对gslw$帐户进行提权,使其成为一个比较隐蔽(在命令行和“本地用户和组”中看不到)的管理员用户。
  第一步:打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SAM\SAM项。由于默认情况下管理员组对SAM项是没有操作权限的,因此我们要赋权。右键点击该键值选择“权限”,然后添加“administrators”组,赋予其“完全控制”权限,最后刷新注册表,就能够进入SAM项下的相关键值了。
  第二步:定位到注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users项,点击“000001F4”
  注册表项,双击其右侧的“F”键值,复制其值,然后点击“00000404”注册表项(该项不一定相同),双击其右侧的“F”键值,用刚才复制键值进行替换其值。(图7)
第三步:分别导出gslw$、00000404注册表项为1.reg和2.reg。在命令行下输入命令”net user gslw$ /del”删除gslw$用户,然后分别双击1.reg和2.reg导入注册表,最后取消administrators对SAM注册表项的访问权限。
  这样就把gslw$用户提升为管理员,并且该用户非常隐蔽,除了注册表在命令下及“本地用户和组”是看不到的。这样的隐藏的超级管理员用户是入侵者经常使用的,对于一个水平不是很高的管理员这样的用户他是很难发现的。这样的用户他不属于任何组,但却有管理员权限,是可以进行登录的。
  (3).高级隐藏用户
  综上所述,我们创建的gslw$用户虽然比较隐蔽,但是通过注册表可以看见。下面我们利用RootKit工具进行高级隐藏,即在注册表中隐藏该用户。
  可被利用的RootKit工具是非常多的,我们就以Hacker defende危机进行演示,它是个工具包,其中包含了很多工具,我们隐藏注册表键值只需其中的两个文件,hxdef100.exe和hxdef100.ini。其中hxdef100.ini是配置文件,hxdef100.exe是程序文件。打开hxdef100.ini文件定位到[Hidden RegKeys]项下,添加我们要隐藏的注册表键值gslw$和00000404即用户在注册表的项然后保存退出。(图8)
  然后双击运行hxdef100.exe,可以看到gslw$用户在注册表中的键值“消失”了,同时这两个文件也“不见”了。这样我们就利用RootKit实现了高级管理员用户的彻底隐藏,管理员是无从知晓在系统中存在一个管理员用户的。(图9)
(4).防范措施
  通过RootKit创建的后门是及其隐蔽的,除非清除RootKit,不然用其创建的管理员用户永远不可能被管理员发现。我们就以清除上面的Hacker defende为例让后门现行。
  驱动级的扫描:RootKit往往是驱动级别的,因此它比一般的应用程序更加靠近底层,清除起来更加的棘手。清除请进程扫描是必要的,RootKit Hook Analyzer是一款Rookit分析查询工具,利用它可以扫描分析出系统中存在的RooKit程序。该工具是英文程序,安装并运行点击其界面中下方的“Analyze”按钮就可以进行扫描分析,列出系统中的RooKit程序,勾选“Show hooked services only”就可以进行筛选值列出RooKit ervices。当然,类似这样的工具还有很多,我们可以根据自己的需要进行选择。(图10)
  查看隐藏进程:RootKit的程序进程往往是隐藏性或者嵌入型的,通过Windows的“任务管理器”是无法看到的。我们可以利用一款强大的进程工具IceSword(冰刃)来查看。运行IceSword点击“进程”按钮,就可以列出当前系统中的进程,其中红色显示的是可疑进程。我们可以看到hxdef100.exe进程赫然其中,这真是我们刚才运行的RootKit。在该进程上点击右键选择“结束”进程。这时hxdef100.exe和hxdef100.ini文件显身了,再刷新并查看注册表,刚才消失的两个键值有重现了。(图11)
专业工具查杀:利用IceSword进行RooKit的分析和并结束其进程不失为反RooKit的一种方法,但有的时候冰刃并不能分析出RootKit,因此我们就要比较专业的工具。比如卡巴斯基、超级巡警等都是不错的选择。下图就是通过超级巡警检测到的RootKit病毒。(图12)
  4、telnet后门
  telnet是命令行下的远程登录工具,不过在服务器管理时使用不多也常为管理员所忽视。攻击者如果在控制一台服务器后,开启“远程桌面”进行远程控制非常容易被管理员察觉,但是启动Telnet进行远程控制却不容易被察觉。不过,telnet的默认端口是23,如果开启后,别人是很容易扫描到的,因此攻击者会更改telnet的端口,从而独享该服务器的控制权。
  (1).修改端口
  本地修改Windows 2003服务器的telnet端口的方法是:“开始→运行”输入cmd打开命令提示符,然后运行命令“tlntadmn config port=800”(800是修改后的telnet端口,为了避免端口冲突不用设置成已知服务的端口。) 当然,我们也可以远程修改服务器的telnet端口,在命令提示符下输入命令“tlntadmn config \\192.168.1.9 port=800 -u gslw -p test168 ”(\\192.168.1.9对方IP,port=800要修改为的telnet端口,-u指定对方的用户名,-p指定对方用户的密码。)(图13)
  (2).远程登录
  攻击者在本地运行命令提示符(cmd.exe)输入命令“telnet 192.168.1.9 800”然后输入用户名及其密码记录telnet到服务器。
  (3).防范措施
  对于telnet后门的方法非常简单,可以通过“tlntadmn config port=n”命令更改其端口,更彻底的运行“services.msc”打开服务管理器,禁用telnet服务。(图14)
 5、嗅探后门
  这类后门是攻击者在控制了服务器之后,并不创建新的帐户而是在服务器上安装嗅探工具窃取管理员的密码。由于此类后门,并不创建新的帐户而是通过嗅探获取的管理员密码登录系统,因此隐蔽性极高,如果管理员安全意识不高并缺少足够的安全技能的话是根本发现不了的。
  (1).安装嗅探工具
  攻击者将相应的嗅探工具上传或者下载到服务器,然后安装即可。需要说明的是这些嗅探工具一般体积很小并且功能单一,但是往往被做成驱动形式的,所以隐蔽性极高,很难发现也不宜清除。
  (2).获取管理员密码
  嗅探工具对系统进行实施监控,当管理员登录服务器时其密码也就被窃取,然后嗅探工具会将管理员密码保存到一个txt文件中。当攻击者下一次登录服务器后,就可以打开该txt文件获取管理员密码。此后他登录服务器就再不用重新创建帐户而是直接用合法的管理员帐户登录服务器。如果服务器是一个Web,攻击者就会将该txt文件放置到某个web目录下,然后在本地就可以浏览查看该文件了。(图15)
  (3).防范措施
  嗅探后门攻击者以正常的管理员帐户登录服务器,因此很难发现,不过任何入侵都会留下蛛丝马迹,我们可以启用组策略中的“审核策略”使其对用户的登录情况进行记录,然后通过事件查看器查看是否有可疑时间的非法登录。不过,一个高明的攻击者他们会删除或者修改系统日志,因此最彻底的措施是清除安装在服务器上的嗅探工具,然后更改管理员密码。
  总结:上面我们比较详细地解析了五种服务器后门技术,并提供了防范措施。要从根本上防范后门,管理员做好服务器的安全部署,及时地进行系统更新不给攻击者留后门的机会。当然,就算服务器被安置了后门,也不管其采用了多么高明的技术,只要时刻提高警惕掌握一定的安全技能就能够使后门现行

震惊!WIN2003存在后门大全,提权成功率高的更多相关文章

  1. 1433修复命令大全提权错误大全_cmd_shell组件修复

    net user SQLDebugger list /add net localgroup administrators SQLDebugger /add Error Message:未能找到存储过程 ...

  2. udf提权

    0x00前言: udf提权是通过数据库来实现获取目标的管理员的shell,来达到从低权限提权到高权限 0x01什么是udf: udf(Userdefined function)是用户自定义函数 在my ...

  3. 记一次FileZillaServer提权

    前段时间检测一个企业网站,在检测该企业的一个下属公司的网站时通过用户名admin和密码123456进入了后台,后台目录就是公司汉语拼音+admin,诸如xxxadmin这种形式的.在后台通过“产品图片 ...

  4. metaspolit下UAC提权以及日志清除

    在获得webshell时但权限不够大,这时候为了完全获得受害者机器的权限,使用msf进行后渗透. 一.获取Meterpreter会话 Meterpreter 是msf的一个payload,目标执行之后 ...

  5. 08提权 系统文件权限和远程连接IP绕过 安装后门

    大家都知道08权限的系统权限设置很严格  面对限制IP连接的情况 我们及时拿到system权限 有账号也上不去这种情况下只能弄shift后门 或者放大镜了  但08权限 在system权限也操作不了系 ...

  6. Windows server 2003 粘滞键后门+提权

    Windows server 2003中可以建立粘滞键与cmd的连接来绕过已经设置好的安全机制做一些事情,比如新建用户.提权 粘滞键介绍 网上查了一些资料,也没怎么说明白,不如自己试一下,大概意思就是 ...

  7. Linux提权中常见命令大全

    在拿到一个 webshell 之后,大家首先会想到去把自己的权限提升到最高,windows 我们会提升到 SYSTEM 权限,而 Linux 我们会提升到 root 权限,拿在进行 Linux 提权的 ...

  8. WIN提权总结【本地存档-转载】

    [ web提权 ] 1.能不能执行cmd就看这个命令:net user,net不行就用net1,再不行就上传一个net到可写可读目录,执行/c c:\windows\temp\cookies\net1 ...

  9. 靶机DC-2 rbash绕过+git提权

    这个靶机和DC-1一样,一共5个flag.全部拿到通关. root@kali:/home/kali# nmap -sP 192.168.1.* 先扫一下靶机的IP地址,拿到靶机的地址为192.168. ...

随机推荐

  1. SpringWeb增删改查

    模型类: package com; public class Model { private int id; private String name; private String dtype; pr ...

  2. luogu P1361 小猫爬山 [iddfs]

    题目描述 WD和LHX饲养了N只小猫,这天,小猫们要去爬山.经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了. WD和LHX只好花钱让它们坐索道下山.索道上的缆车最大承重量为W ...

  3. jmeter之BeanShell对两个变量断言对比

    在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行. 假设需求: 获取某类型用户uid个数与数据库查询结果是否相等 获取uid个数用http接口获取统计数据 ...

  4. foreach是怎么实现遍历的

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  5. [JAVASCRIPT]实现页面复制至电脑剪贴板

    一. 方法 方1: window.clipboarddata  可惜不支持chrome , chrome 下会提示找不到 clipboarddata 对象 方2: 采用国外大牛写的ZeroClipbo ...

  6. 【JQUERY】插件的写法

    1. jquery插件怎么写 $.extend $.fn 2. 写的时候注意些什么

  7. echarts3.0使用总结

    echarts的使用和例子传送门 1.安装echarts npm install echarts --save 这里配置好了,直接输入 npm install //下载插件 npm start //运 ...

  8. 解读 Vue 之 Reactive

    本文同步发表在 https://github.com/whxaxes/blog/issues/7 前言 在一篇文章中简单讲了 vue 是如何把模板解析成 render function 的,这一篇文章 ...

  9. 使用DbFunctions来解决EF按照日期分组数据

    如下一张表 要进行MyDate的date部分进行分组,我们会发现如下写法会报异常 那么如何才能使linq正确转化为sql语句呢,这就要使用到了DbFunctions这个工具类 转到定义可以看到此类在e ...

  10. 手工释放linux内存——/proc/sys/vm/drop_caches

    --手工释放linux内存——/proc/sys/vm/drop_caches 总有很多朋友对于Linux的内存管理有疑问,之前一篇日志似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新 ...