0x00 前言

  未知攻焉知防,攻击者在获取服务器权限后,通常会用一些后门技术来维持服务器权限,服务器一旦被植入后门,攻击者如入无人之境。这里整理一些window服务端常见的后门技术,了解攻击者的常见后门技术,有助于更好去发现服务器安全问题。

常见的后门技术列表:

1、隐藏、克隆账户

2、shift后门

3、启动项、计划任务

4、劫持技术

5、Powershell后门

6、远控软件

7、嗅探技术

0x01 隐藏、克隆账号

window 隐藏系统用户制作:

1、CMD命令行下,建立了一个用户名为“test$”,密码为“abc123!”的简单隐藏账户,并且把该隐藏账户提升为了管理员权限。

PS:CMD命令行使用"net user",看不到"test$"这个账号,但在控制面板和本地用户和组是可以显示此用户的。

2、“开始”→“运行”,输入“regedt32.exe”后回车,需要到“HKEY_LOCAL_MACHINE\SAM\SAM”,单机右建权限,把名叫:administrator的用户给予:完全控制以及读取的权限,在后面打勾就行,然后关闭注册表编辑器,再次打开即可。

3、来到注册表编辑器的“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names”处,点击test$用户,得到在右边显示的键值中的“类型”一项显示为0x3ec,找到箭头所指目录。

4、扎到administrator所对应的的项为“000001F4”,将“000001F4”的F值复制到“000003EC”的F值中,保存。

5、分别test$和“000003EC导出到桌面,删除test$用户   net user test$ /del

6、将刚才导出的两个后缀为.reg的注册表项导入注册表中。这样所谓的隐藏账户就创建好了。

PS:不管你是在命令提示符下输入net user 或者在系统用户管理界面都是看不到test$r这个账户的,只有在注册表中才能看得到。

检测和清理方法:

使用D盾_web查杀工具,使用克隆账号检测功能进行查看,可检测出隐藏、克隆账号。

0x02 shift后门

Shift 五次粘滞键后门制作:

将C盘windows目录下面的system32文件里面的sethc.exe应用程序进行转移,并生成sethc.exe.bak文件。并将cmd.exe拷贝覆盖sethc.exe

C:\>cd WINDOWS\system32

C:\WINDOWS\system32>move sethc.exe sethc.exe.bak
移动了 个文件。 C:\WINDOWS\system32>copy cmd.exe sethc.exe
覆盖 sethc.exe 吗? (Yes/No/All): Yes
已复制 个文件。

直接按5次shift键弹出cmd窗口,可直接以system权限执行系统命令,创建管理员用户,登录服务器等。

搜索关键词 "shift后门",可进一步了解各式各样的shift后门。

检测和清理方法:

1、远程登录服务器的时候,连续按5次shift键,确认服务器是否被入侵。

2、拒绝使用sethc.exe或禁用Shift键

各式各样的shift后门

http://xiaowang.blog.51cto.com/1083/314046/

纯手工打造服务器自解压shift后门

https://www.exehack.net/160.html

Shift后门的检测与清除

http://server.zzidc.com/fwqcjwt/502.html

2008服务器提权提升之远程连接安装shift后门

https://www.exehack.net/2965.html

0x03 启动项、计划任务等

  保存以下内容,新建bat文件,利用windows的启动项、任务计划等功能执行恶意脚本来维护权限。利用bat转exe工具,可转换为exe。

@echo off
net user test$ abc123! /add
net localgroup administrators test$ /add

【启动项】

1、window--开始--所有程序--启动

2、将test.bat 加入启动项

【组策略欺骗】

组策略,运行gpedit.msc,通过最策略的“脚本(启动/关机)”项来说实现。

具体位置在“计算机配置→Windows设置”项下。因为其极具隐蔽性,因此常常被攻击者利用来做服务器后门。

【计划任务】

1、window--开始--所有程序--附件--系统工具--任务计划程序

2、创建计划任务--添加test.bat

【服务】

将后门脚本注册为window服务,自启动。

【放大镜后门】

  攻击者就用精心构造的magnify.exe同名文件替换放大镜程序,从而达到控制服务器的目的。

  通常情况下,攻击者通过构造的magnify.exe程序创建一个管理员用户,然后登录系统。当然有的时候他们也会通过其直接调用命令提示符(cmd.exe)或者系统shell(explorer.exe)。需要说明的是,这样调用的程序都是system权限,即系统最高权限。不过,以防万一当管理员在运行放大镜程序时发现破绽,攻击者一般通过该构造程序完成所需的操作后,最后会运行真正的放大镜程序,以蒙骗管理员。

【telnet后门】

  telnet是命令行下的远程登录工具,不过在服务器管理时使用不多也常为管理员所忽视。攻击者如果在控制一台服务器后,开启“远程桌面”进行远程控制非常容易被管理员察觉,但是启动Telnet进行远程控制却不容易被察觉。不过,telnet的默认端口是23,如果开启后,别人是很容易扫描到的,因此攻击者会更改telnet的端口,从而独享该服务器的控制权。

检测和清理方法:

1、查看启动项、计划任务、服务等是否有异常

2、查看进程、端口是否有异常

0x04 劫持技术

【LPK劫持技术】

  lpk.dll病毒是当下比较流行的一类病毒,而正常系统本身也会存在lpk.dll文件,这足以说明这类病毒的危险性。系统本身的lpk.dll文件位于C:\WINDOWS\system32和C:WINDOWS\system\dllcache目录下。lpk.dll病毒的典型特征是感染存在可执行文件的目录,并隐藏自身,删除后又再生成,当同目录中的exe文件运行时,lpk.dll就会被Windows动态链接,从而激活病毒,进而导致不能彻底清除。

1、运行T00ls Lpk Sethc v4,设置2键启动(65/66即ab),设置密码(123),生成文件,文件名lpk.dll

2、lpk.dll复制到一个含有exe的文件夹,运行Getpass.exe,即可实现劫持

3、远程登录服务器,按下5次shift键,再按上面设置的2键启动(ab),输入密码,跳出如下界面:

【映像劫持技术】

  所谓的映像劫持就是Image File Execution Options(IFEO),位于注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

1、打开注册表,选择Image File Execution Options,新建个项,然后这个项(默认在最后面)改成123.exe

2、选择123.exe这个项,然后默认右边是空白的,我们点右键,新建个“字符串值”,然后改名为“Debugger"

3、双击该键,修改数据数值(其实就是路径),把它改为 C:\WINDOWS\system32\cmd.exe,确定。

4、找个扩展名为EXE的,改名为123.exe(Getpass.exe), 然后运行之,出现了DOS操作框。

Getpass.exe效果:

改名123.exe运行效果:

【com劫持技术】 

  打开文件夹就能运行指定的程序?这不是天方夜谭,而是在现实世界中确实存在的。利用COM劫持技术,可以轻松实现出打开文件夹就运行指定代码的功能。

1.精选CLSID,尽量选择系统应用范围广的CLSID,这样的模块可以保证系统在进行很多功能时都会加载dll。我们选择的CLSID为:{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7},其对应着CAccPropServicesClass类。修改注册表,将CLSID对应的DLL文件修改成实现了某些待定功能的文件(这个文件是由我们精心构造的,不然无法利用成功)。可通过将下列数据导入到注册表实现

Windows RegistryEditor Version 5.00 

[HKEY_CLASSES_ROOT\CLSID\{b5f8350b--48b1-a6ee-88bd00b4a5e7}]

[HKEY_CLASSES_ROOT\CLSID\{b5f8350b--48b1-a6ee-88bd00b4a5e7}\InProcServer32]

@="freebuf.dll"

"ThreadingModel"="Apartment"

2. 新建文件夹,以CLSID做为后缀名,同时将我们的利用dll拷贝到系统目录下: 这里的文件名可以充分发挥想象力(骗术),利用社会工程学,起个诱惑的文件夹名,比如,目标喜欢日本姑娘,文件夹就叫做” 小泽にほんごかなニホンゴ(カナ).{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}”

3. 打开文件夹,成功利用 利用的步骤很简单,其中最为关键是我们实现代码的dll以及CLSID的选择,这不是一个普通的dll,而是dll中的”战斗dll”,这是一个实现了COM接口的dll,并且在dll的导出函数的返回值有特殊要求。

参考链接:

http://www.freebuf.com/articles/system/115241.html

打开文件夹就运行?COM劫持利用新姿势

https://3gstudent.github.io/Use-COM-Object-hijacking-to-maintain-persistence-Hijack-explorer.exe/

两种利用COM劫持实现的后门方法

http://app.myzaker.com/news/article.php?pk=59a39b6b1bc8e0f76a000006

COM Object hijacking 后门的实现思路——劫持 CAccPropServicesClass and MMDeviceEnumerator

0x05 Powershell隐蔽后门

如何创建Powershell持久隐蔽后门

http://www.freebuf.com/articles/system/133640.html

Babadook:无连接的powershell持续性反弹后门

http://www.mottoin.com/89554.html

Schtasks-Backdoor: Powershell 权限维持后门

https://github.com/re4lity/Schtasks-Backdoor

如何优雅的维持住一个Web shell

https://bbs.ichunqiu.com/thread-23660-1-1.html

https://ub3r.cn/?p=30

0x06 远控木马

  远控木马是一种恶意程序,其中包括在目标计算机上用于管理控制的后门。远程访问木马通常与用户请求的程序(如游戏程序)一起,是一种看不见的下载,或作为电子邮件附件发送。一旦主机系统被攻破,入侵者可以利用它来向其他易受感染的计算机分发远程访问木马,从而建立僵尸网络。

一般分为客户端和服务端,如:灰鸽子、上兴远控、梦想时代、QuasarRAT等。

0x07 嗅探

  Cain是大家都熟悉的一款软件,具有arp欺骗加嗅探和密码破解的功能,使用嗅探软件抓取3389密码。

嗅探3389密码的具体过程讲解

http://infosec.blog.51cto.com/226250/282888/

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【权限维持】window服务端常见后门技术的更多相关文章

  1. [译]servlet3.0与non-blocking服务端推送技术

    Non-blocking(NIO)Server Push and Servlet 3 在我的前一篇文章写道如何期待成熟的使用node.js.假定有一个框架,基于该框架,开发者只需要定义协议及相关的ha ...

  2. 微信JS-SDK使用权限签名算法的服务端实现(.net版本)

    原文:微信JS-SDK使用权限签名算法的服务端实现(.net版本) 一.概要 微信此次开放JS接口,开放了一大批api权限,即使在未认证的订阅号也可以使用图像接口,音频接口,智能接口,地理位置,界面操 ...

  3. go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践

    大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还 ...

  4. 一文了解服务端推送(含JS代码示例)

    常用的服务端推送技术,包括轮询.长轮询.websocket.server-sent-event(SSE) 传统的HTTP请求是由客户端发送一个request,服务端返回对应response,所以当服务 ...

  5. Java实现UDP之Echo客户端和服务端

    Java实现UDP之Echo客户端和服务端 代码内容 采用UDP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...

  6. Java实现TCP之Echo客户端和服务端

    Java实现TCP之Echo客户端和服务端 代码内容 采用TCP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...

  7. http系列--HTTP2.0新特性:二进制传输,多路复用,Haeder压缩,服务端push,QUIC协议

    一.前言 HTTP 2.0 相比于 HTTP 1.X,可以说是大幅度提高了 web 的性能. 在 HTTP 1.X 中,为了性能考虑,我们会引入雪碧图.将小图内联.使用多个域名等等的方式.这一切都是因 ...

  8. 那些年,我们见过的 Java 服务端“问题”

    导读 明代著名的心学集大成者王阳明先生在<传习录>中有云: 道无精粗,人之所见有精粗.如这一间房,人初进来,只见一个大规模如此.处久,便柱壁之类,一一看得明白.再久,如柱上有些文藻,细细都 ...

  9. SSE技术详解:使用 HTTP 做服务端数据推送应用的技术

    SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议. 严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来 ...

随机推荐

  1. AngularJS Notes

    ng-app The ng-app directive tells AngularJS that the <div> element is the "owner" of ...

  2. fastjson生成JSON字符串的时候出现$ref

    fastjson生成JSON字符串的时候出现$ref 转载自:http://wuzhuti.cn/201426!826!05!130202.html 可以通过选项 DisableCircularRef ...

  3. vmstat和iostat命令进行Linux性能监控

    这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和 ...

  4. 机器学习 demo分西瓜

    周老师的书,对神经网络写了一个小的Demo 是最简单的神经网络,只有一层的隐藏层. 这次练习依旧是对西瓜的好坏进行预测. 主要分了以下几个步骤 1.数据预处理 对西瓜的不同特性进行数学编码表示(0~1 ...

  5. 【转】在android程序中使用配置文件properties

    在android程序中使用配置文件来管理一些程序的配置信息其实非常简单 在这里我们主要就是用到Properties这个类直接给函数给大家 这个都挺好理解的 读写函数分别如下: //读取配置文件 pub ...

  6. Ubuntu18.04 + cuda9.0+cudnn7.0

    1 cannot find Toolkit in /usr/local/cuda-8.0 2017年05月27日 17:37:33 阅读数:2754  对于新版本ubuntukylin17.04安装C ...

  7. 高通 mixer_paths.xml 音频配置文件 初始化过程

    记录一下高通音频配置文件mixer_paths.xml初始化过程.参考代码基于Android O. hardware/qcom/audio/hal/audio_hw.c struct audio_mo ...

  8. Spring和mybatis的整合

    一.搭建项目开发环境 1. 新建一个maven项目SpringMybatis,项目结构如下: 说明: src/main/java 存放java代码和映射文件: com.study.springmyba ...

  9. Python——thread

    该模块在Python 3中更名为 _thread. 该模块实现对Python多线程的低层次操作原语,也提供了多线程之间用于同步的锁机制.threading 模块基于本模块提供了更易用的高层次线程API ...

  10. MySQL中information_schema是什么

    转载地址:http://help.wopus.org/mysql-manage/607.html 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_sche ...