【权限维持】window服务端常见后门技术
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服务端常见后门技术的更多相关文章
- [译]servlet3.0与non-blocking服务端推送技术
Non-blocking(NIO)Server Push and Servlet 3 在我的前一篇文章写道如何期待成熟的使用node.js.假定有一个框架,基于该框架,开发者只需要定义协议及相关的ha ...
- 微信JS-SDK使用权限签名算法的服务端实现(.net版本)
原文:微信JS-SDK使用权限签名算法的服务端实现(.net版本) 一.概要 微信此次开放JS接口,开放了一大批api权限,即使在未认证的订阅号也可以使用图像接口,音频接口,智能接口,地理位置,界面操 ...
- go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践
大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还 ...
- 一文了解服务端推送(含JS代码示例)
常用的服务端推送技术,包括轮询.长轮询.websocket.server-sent-event(SSE) 传统的HTTP请求是由客户端发送一个request,服务端返回对应response,所以当服务 ...
- Java实现UDP之Echo客户端和服务端
Java实现UDP之Echo客户端和服务端 代码内容 采用UDP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...
- Java实现TCP之Echo客户端和服务端
Java实现TCP之Echo客户端和服务端 代码内容 采用TCP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...
- http系列--HTTP2.0新特性:二进制传输,多路复用,Haeder压缩,服务端push,QUIC协议
一.前言 HTTP 2.0 相比于 HTTP 1.X,可以说是大幅度提高了 web 的性能. 在 HTTP 1.X 中,为了性能考虑,我们会引入雪碧图.将小图内联.使用多个域名等等的方式.这一切都是因 ...
- 那些年,我们见过的 Java 服务端“问题”
导读 明代著名的心学集大成者王阳明先生在<传习录>中有云: 道无精粗,人之所见有精粗.如这一间房,人初进来,只见一个大规模如此.处久,便柱壁之类,一一看得明白.再久,如柱上有些文藻,细细都 ...
- SSE技术详解:使用 HTTP 做服务端数据推送应用的技术
SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议. 严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来 ...
随机推荐
- PHP的Try, throw 和 catch
PHP的Try, throw 和 catch Try, throw 和 catch Try - 使用异常的函数应该位于 "try" 代码块内.如果没有触发异常,则代码将照常继续 ...
- Hive之分区(Partitions)和桶(Buckets)
转自:http://www.aahyhaa.com/archives/316 hive引入partition和bucket的概念,中文翻译分别为分区和桶(我觉的不是很合适,但是网上基本都是这么翻译,暂 ...
- 关于Unity中3D声音的使用
3D声音 3D立体声和2D声不同的地方是它是会随着距离衰减的,距离越近声音越大,距离越远声音越小. 1: 声音: 背景音乐和音效; 2: 声音文件支持的格式: ogg, mp3, wave, AIFF ...
- mysql数据库性能测试报告
网上有写的好的模板, 直接复链接了: 1. http://blog.csdn.net/mituan1234567/article/details/45247989 2. https://msdn.mi ...
- 单表多个Count 条件进行查询拼接小妙用
单表多数据进行拼接 DROP table if EXISTS tmp_table; CREATE TEMPORARY TABLE tmp_table ( 创建临时表 SELECT p1q04,p2q0 ...
- 怎么用一个ppt介绍一个项目
- jsp页面利用JS做即时时间显示
想给系统多些点缀,顺便把知识点温习一遍,不过讲真,这些都是网上扒的!我的水平现在也就这样 <%@page import="javax.xml.crypto.Data"%> ...
- (笔记)Linux下怎么安装tar.gz的软件
一般这种的就是源代码.先下载下来.然后cd到下载目录.用tar xvfz XXX.tar.gz的解压.然后进入解压后的目录. 打./configure生成配置文件.打make对源代码进行编译,生成库和 ...
- JDBC简单示例代码
本文章教程中将演示如何创建一个简单的JDBC应用程序的示例. 这将显示如何打开数据库连接,执行SQL查询并显示结果. 这个示例代码中涉及所有步骤,一些步骤将在本教程的后续章节中进行说明. 创建JDBC ...
- 如何解决#1045 - Access denied for user 'root'@'localhost' (using password: NO)问题
1. #1045 - Access denied for user 'root'@'localhost' (using password: NO) 解决方案 在phpMyAdmin中librarie ...