BroadcastChannel
https://channel.gandli.eu.org/
https://channel.gandli.eu.org/
在内网横移过程中,根据不同环境的特点,渗透测试人员需要采取不同的方法来横向移动。以下是几种常见的内网环境及对应的横移思路:
---
1. Windows 域环境
在 Windows 域环境中,通常存在 Active Directory (AD) 管理用户和资源,这是横向移动的核心。
凭证窃取和滥用:
Pass-the-Hash 和 Pass-the-Ticket:直接使用获取到的哈希值或 Kerberos 票据,跳过密码验证进行访问。
Over-Pass-the-Hash:利用 Kerberos 票据请求高权限访问。
DCSync 攻击:获取域控制器的同步权限,可以直接下载域内所有用户的 NTLM 哈希。
协议滥用:
PsExec 和 WMI:利用 SMB、WMI 等协议在目标机器上执行命令。
RDP:使用远程桌面连接进行控制(如具备管理员权限)。
PowerShell Remoting:在 PowerShell Remoting 开启的情况下,使用 Invoke-Command 在其他主机执行命令。
Kerberos 票据攻击:
Kerberoasting:获取服务账户的票据离线破解,尝试获取到高权限用户的凭证。
Golden Ticket/Silver Ticket:直接伪造 Ticket 以获得对域内资源的访问。
---
2. 无域 Windows 工作组环境
在无域环境中,没有集中管理的 AD,需要通过共享凭证或共享资源实现横向移动。
本地凭证窃取和重用:
使用 Mimikatz 等工具从内存中窃取本地凭证,或直接访问 SAM 数据库获取密码哈希。
本地管理员账户重用:在多台主机上共享相同的本地管理员账号,可以在多台机器间横移。
利用开放的文件共享和 SMB:
SMB 共享文件夹:尝试连接共享文件夹,利用其作为跳板。
SMB Relay 攻击:在 NTLM 身份验证开启的情况下,可利用中间人攻击通过 SMB Relay 实现横移。
计划任务和服务:
利用 计划任务(Scheduled Task) 或 服务,在目标主机上创建恶意任务,实现远程代码执行。
---
3. Linux 环境
在 Linux 环境中,横向移动通常涉及 SSH 密钥和共享凭证等。
SSH 密钥和凭证重用:
在获得某台主机的 SSH 私钥后,尝试直接使用密钥登录其他主机。
密码重用:在多台 Linux 服务器中,可能会存在共享密码或同一账号在多台服务器上使用相同的密码。
利用 SSH Agent 转发:
通过 SSH 代理转发(SSH Agent Forwarding)功能,利用已存在的 SSH 会话向其他服务器进行连接,而不需要输入密码。
文件共享:
NFS(Network File System) 或 Samba:在共享文件系统上放置后门文件,或直接访问其他主机上的敏感数据。
利用 Sudo 权限:
在 Linux 中,某些账户拥有 sudo 权限。可以利用 sudo 提权后尝试横向移动至其他主机。
---
4. 混合网络环境(Windows 和 Linux 混合)
在混合环境下,通常需要识别关键节点并利用跨平台的工具。
SSH 与 SMB 协同使用:
利用 SSH 登录 Linux 主机,使用其访问网络中的 SMB 共享或凭证进行横向移动。
Impacket 工具:
Impacket 提供了跨平台的工具,如 smbexec.py、wmiexec.py 等,可以在 Linux 系统上执行 Windows SMB 协议攻击。
血缘图(BloodHound):
分析网络中的 Windows 域和 Linux 系统之间的关系,识别共享的账户和权限。
---
5. 分段隔离的内网环境
在隔离分段的网络环境中,渗透需要通过跳板机或代理来实现横向移动。
端口转发和代理隧道:
使用工具(如 ssh -D、proxychains、plink)进行端口转发,将目标网络段的端口暴露给攻击者。
SOCKS 代理:使用 SOCKS 代理(如通过 meterpreter 的 portfwd 功能)实现跨网络段的通信。
隧道工具:
Chisel、Frp 等工具,可以通过 HTTP、TCP 隧道跨越不同网络段的隔离。
Web Shell 作为跳板:
在隔离网络中,利用 Web Shell 控制一台机器,通过该机器向其他主机进行横移。
---
6. 虚拟化与容器化环境
在 Docker 和 Kubernetes 等容器环境中,攻击的重点是突破容器边界和访问主机资源。
容器逃逸:
利用 Docker 漏洞或不当配置(如挂载主机目录)突破容器边界,获取主机权限。
Kubernetes 权限提升:如果 K8s 中的 Pod 具有过高的权限,可以通过权限提升访问其他容器或主机。
跨容器网络通信:
容器之间通常共享网络,通过扫描和攻击其他容器的开放端口实现横移。
利用 Kubernetes API:
如果攻击者获得了对 Kubernetes API 的访问权限,可以在集群内横向部署恶意容器,或访问其他服务。
---
总结
在内网横移中,环境的不同直接决定了横移方法的选择。总结来看,通常会利用以下几个关键点:
1. 凭证窃取和重用:尤其在共享凭证和跨平台的情况下,通过凭证可以快速横移。
2. 协议滥用:利用 SMB、WMI、SSH 等协议进行远程代码执行。
3. 跳板机与隧道:在分段隔离的网络环境中,通过跳板机和端口转发等方式突破隔离。
4. 网络结构分析:通过 BloodHound 等工具对域环境或混合环境进行图谱分析,从而找到最佳的横移路径。
5. 容器与虚拟化:在容器化环境中,关注容器逃逸和 API 权限提升等方式。
根据不同环境选择最适合的横移方法,往往能更高效地达到渗透测试目标。
---
1. Windows 域环境
在 Windows 域环境中,通常存在 Active Directory (AD) 管理用户和资源,这是横向移动的核心。
凭证窃取和滥用:
Pass-the-Hash 和 Pass-the-Ticket:直接使用获取到的哈希值或 Kerberos 票据,跳过密码验证进行访问。
Over-Pass-the-Hash:利用 Kerberos 票据请求高权限访问。
DCSync 攻击:获取域控制器的同步权限,可以直接下载域内所有用户的 NTLM 哈希。
协议滥用:
PsExec 和 WMI:利用 SMB、WMI 等协议在目标机器上执行命令。
RDP:使用远程桌面连接进行控制(如具备管理员权限)。
PowerShell Remoting:在 PowerShell Remoting 开启的情况下,使用 Invoke-Command 在其他主机执行命令。
Kerberos 票据攻击:
Kerberoasting:获取服务账户的票据离线破解,尝试获取到高权限用户的凭证。
Golden Ticket/Silver Ticket:直接伪造 Ticket 以获得对域内资源的访问。
---
2. 无域 Windows 工作组环境
在无域环境中,没有集中管理的 AD,需要通过共享凭证或共享资源实现横向移动。
本地凭证窃取和重用:
使用 Mimikatz 等工具从内存中窃取本地凭证,或直接访问 SAM 数据库获取密码哈希。
本地管理员账户重用:在多台主机上共享相同的本地管理员账号,可以在多台机器间横移。
利用开放的文件共享和 SMB:
SMB 共享文件夹:尝试连接共享文件夹,利用其作为跳板。
SMB Relay 攻击:在 NTLM 身份验证开启的情况下,可利用中间人攻击通过 SMB Relay 实现横移。
计划任务和服务:
利用 计划任务(Scheduled Task) 或 服务,在目标主机上创建恶意任务,实现远程代码执行。
---
3. Linux 环境
在 Linux 环境中,横向移动通常涉及 SSH 密钥和共享凭证等。
SSH 密钥和凭证重用:
在获得某台主机的 SSH 私钥后,尝试直接使用密钥登录其他主机。
密码重用:在多台 Linux 服务器中,可能会存在共享密码或同一账号在多台服务器上使用相同的密码。
利用 SSH Agent 转发:
通过 SSH 代理转发(SSH Agent Forwarding)功能,利用已存在的 SSH 会话向其他服务器进行连接,而不需要输入密码。
文件共享:
NFS(Network File System) 或 Samba:在共享文件系统上放置后门文件,或直接访问其他主机上的敏感数据。
利用 Sudo 权限:
在 Linux 中,某些账户拥有 sudo 权限。可以利用 sudo 提权后尝试横向移动至其他主机。
---
4. 混合网络环境(Windows 和 Linux 混合)
在混合环境下,通常需要识别关键节点并利用跨平台的工具。
SSH 与 SMB 协同使用:
利用 SSH 登录 Linux 主机,使用其访问网络中的 SMB 共享或凭证进行横向移动。
Impacket 工具:
Impacket 提供了跨平台的工具,如 smbexec.py、wmiexec.py 等,可以在 Linux 系统上执行 Windows SMB 协议攻击。
血缘图(BloodHound):
分析网络中的 Windows 域和 Linux 系统之间的关系,识别共享的账户和权限。
---
5. 分段隔离的内网环境
在隔离分段的网络环境中,渗透需要通过跳板机或代理来实现横向移动。
端口转发和代理隧道:
使用工具(如 ssh -D、proxychains、plink)进行端口转发,将目标网络段的端口暴露给攻击者。
SOCKS 代理:使用 SOCKS 代理(如通过 meterpreter 的 portfwd 功能)实现跨网络段的通信。
隧道工具:
Chisel、Frp 等工具,可以通过 HTTP、TCP 隧道跨越不同网络段的隔离。
Web Shell 作为跳板:
在隔离网络中,利用 Web Shell 控制一台机器,通过该机器向其他主机进行横移。
---
6. 虚拟化与容器化环境
在 Docker 和 Kubernetes 等容器环境中,攻击的重点是突破容器边界和访问主机资源。
容器逃逸:
利用 Docker 漏洞或不当配置(如挂载主机目录)突破容器边界,获取主机权限。
Kubernetes 权限提升:如果 K8s 中的 Pod 具有过高的权限,可以通过权限提升访问其他容器或主机。
跨容器网络通信:
容器之间通常共享网络,通过扫描和攻击其他容器的开放端口实现横移。
利用 Kubernetes API:
如果攻击者获得了对 Kubernetes API 的访问权限,可以在集群内横向部署恶意容器,或访问其他服务。
---
总结
在内网横移中,环境的不同直接决定了横移方法的选择。总结来看,通常会利用以下几个关键点:
1. 凭证窃取和重用:尤其在共享凭证和跨平台的情况下,通过凭证可以快速横移。
2. 协议滥用:利用 SMB、WMI、SSH 等协议进行远程代码执行。
3. 跳板机与隧道:在分段隔离的网络环境中,通过跳板机和端口转发等方式突破隔离。
4. 网络结构分析:通过 BloodHound 等工具对域环境或混合环境进行图谱分析,从而找到最佳的横移路径。
5. 容器与虚拟化:在容器化环境中,关注容器逃逸和 API 权限提升等方式。
根据不同环境选择最适合的横移方法,往往能更高效地达到渗透测试目标。
## Cobalt Strike for WSL
1. 破解版下载
[下载链接](https://www.ddosi.org/cobalt-strike-4-8-2/)
2. 启动脚本
3. 端口转发工具
[WSLHostPatcher](https://github.com/CzBiX/WSLHostPatcher)
有两种方法可以让端口转发工具自动启动:
1. 修改
2. 修改
1. 破解版下载
[下载链接](https://www.ddosi.org/cobalt-strike-4-8-2/)
2. 启动脚本
@echo off & setlocal enabledelayedexpansion
echo [+] Getting Host IP Address...
:: 获取宿主机的 IP 地址
for /f "tokens=2 delims=:" %%b in ('ipconfig ^| find /i "IPv4 Address"') do (
set fsip=%%b
set fsip=!fsip:~1! :: 去掉前面的空格
)
echo Host IP Address: !fsip!
echo [+] Starting Cobalt Strike server...
:: 获取 WSL 的 IP 地址
for /f "delims=" %%i in ('wsl -u root -- bash -c "hostname -I"') do (
set wslIP=%%i
goto :done
)
:done
:: 设置默认密码
set defaultPassword=password
:: 打印获取的 WSL IP 和密码
echo WSL IP Address: !wslIP!
echo Default Password: !defaultPassword!
:: 启动 Cobalt Strike 服务器并在后台运行
start /B wsl -u root -- bash -c "cd ./Server && ./teamserver !wslIP! !defaultPassword!"
echo [+] Cobalt Strike server started.
:: 等待一段时间(例如 10 秒)
timeout /t 10 >nul
echo [+] Starting Cobalt Strike client...
:: 启动 Cobalt Strike 客户端并在后台运行
start /B java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -javaagent:./Client/uHook.jar -Xms512M -Xmx1024M -jar ./Client/cobaltstrike-client.jar -connect !wslIP! -password !defaultPassword!
:: 等待用户输入以保持窗口打开
pause
3. 端口转发工具
[WSLHostPatcher](https://github.com/CzBiX/WSLHostPatcher)
有两种方法可以让端口转发工具自动启动:
1. 修改
.profile 文件,添加工具路径: <path to WSLHostPatcher.exe>2. 修改
/etc/wsl.conf 文件:
[boot]
command=<path to WSLHostPatcher.exe>|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 用法说明
- **命令格式**:在 Beacon 提示符下输入命令并按回车。
- **参数**:某些命令需要额外的参数,例如文件名或选项。请查阅具体命令以了解详细用法。
- **帮助命令**:使用
ps | 显示进程列表 ||
psinject | 在特定进程中执行 PowerShell 命令 ||
pth | 使用 Mimikatz 进行哈希传递 ||
pwd | 打印当前目录 ||
reg | 查询注册表 ||
remote-exec | 在远程主机上运行命令 ||
rev2self | 恢复到原始令牌 ||
rm | 删除文件或文件夹 ||
rportfwd | 设置反向端口转发 ||
rportfwd_local | 通过 Cobalt Strike 客户端设置反向端口转发 ||
run | 在目标上执行程序(返回输出) ||
runas | 作为另一个用户执行程序 ||
runasadmin | 在提升的上下文中执行程序 ||
runu | 在另一个 PID 下执行程序 ||
screenshot | 拍摄单张截图 ||
screenwatch | 定期拍摄桌面截图 ||
setenv | 设置环境变量 ||
shell | 通过 cmd.exe 执行命令 ||
shinject | 将 shellcode 注入到进程中 ||
shspawn | 生成进程并注入 shellcode ||
sleep | 设置 Beacon 的睡眠时间 ||
socks | 启动/停止 SOCKS4a/SOCKS5 服务器转发流量 ||
spawn | 生成会话 ||
spawnas | 作为另一个用户生成会话 ||
spawnto | 设置要生成进程的可执行文件 ||
spawnu | 在另一个进程下生成会话 ||
spunnel | 通过 rportfwd 生成并隧道代理 ||
spunnel_local | 通过 Cobalt Strike 客户端 rportfwd 生成并隧道代理 ||
ssh | 使用 SSH 在主机上生成 SSH 会话 ||
ssh-key | 使用 SSH 在主机上生成 SSH 会话 ||
steal_token | 从进程中窃取访问令牌 ||
syscall-method | 更改或查询系统调用方法 ||
timestomp | 将一个文件的时间戳应用到另一个文件 ||
token-store | 热插拔访问令牌 ||
unlink | 从父 Beacon 断开连接 ||
upload | 上传文件 ||
windows_error_code | 显示 Windows 错误代码 |### 用法说明
- **命令格式**:在 Beacon 提示符下输入命令并按回车。
- **参数**:某些命令需要额外的参数,例如文件名或选项。请查阅具体命令以了解详细用法。
- **帮助命令**:使用
help 命令可以获取关于 Beacon 中可用命令的更多信息。# Cobalt Strike 中 Beacon 命令的翻译和用法说明:
### Beacon 命令
===============
| 命令 | 描述 |
|---------------------------|-------------------------------------------|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Beacon 命令
===============
| 命令 | 描述 |
|---------------------------|-------------------------------------------|
|
! | 从历史记录中运行命令 ||
argue | 为匹配的进程伪造参数 ||
blockdlls | 阻止非微软 DLL 在子进程中加载 ||
browserpivot | 设置浏览器透传会话 ||
cancel | 取消正在进行的下载 ||
cd | 更改目录 ||
checkin | 向主控端报告并发送数据 ||
chromedump | 从 Google Chrome 恢复凭证 ||
clear | 清除 Beacon 队列 ||
clipboard | 尝试获取文本剪贴板内容 ||
connect | 通过 TCP 连接到 Beacon 对等体 ||
covertvpn | 部署隐蔽 VPN 客户端 ||
cp | 复制文件 ||
data-store | 将后渗透项目存储到 Beacon ||
dcsync | 从域控制器提取密码哈希 ||
desktop | 查看并与目标的桌面交互 ||
dllinject | 将反射 DLL 注入到进程 ||
dllload | 使用 LoadLibrary() 将 DLL 加载到进程中 ||
download | 下载文件 ||
downloads | 列出正在进行的文件下载 ||
drives | 列出目标的驱动器 ||
elevate | 在提升的上下文中生成会话 ||
execute | 在目标上执行程序(无输出) ||
execute-assembly | 在目标的内存中执行本地 .NET 程序 ||
exit | 终止 Beacon 会话 ||
file_browser | 打开此 Beacon 的文件浏览器标签 ||
getprivs | 启用当前令牌上的系统权限 ||
getsystem | 尝试获取 SYSTEM 权限 ||
getuid | 获取用户 ID ||
hashdump | 导出密码哈希 ||
help | 帮助菜单 ||
history | 显示命令历史 ||
inject | 在特定进程中生成会话 ||
inline-execute | 在此会话中运行 Beacon 对象文件 ||
jobkill | 杀死长时间运行的后渗透任务 ||
jobs | 列出长时间运行的后渗透任务 ||
jump | 在远程主机上生成会话 ||
kerberos_ccache_use | 将缓存中的 kerberos 票据应用于此会话 ||
kerberos_ticket_purge | 从此会话中清除 kerberos 票据 ||
kerberos_ticket_use | 将 kerberos 票据应用于此会话 ||
keylogger | 启动击键记录器 ||
kill | 杀死进程 ||
link | 通过命名管道连接到 Beacon 对等体 ||
logonpasswords | 使用 Mimikatz 导出凭证和哈希 ||
ls | 列出文件 ||
make_token | 创建一个令牌以传递凭证 ||
mimikatz | 运行 Mimikatz 命令 ||
mkdir | 创建目录 ||
mode dns | 使用 DNS A 作为数据通道(仅限 DNS beacon)||
mode dns-txt | 使用 DNS TXT 作为数据通道(仅限 DNS beacon)||
mode dns6 | 使用 DNS AAAA 作为数据通道(仅限 DNS beacon)||
mv | 移动文件 ||
net | 网络和主机枚举工具 ||
note | 为此 Beacon 指派笔记 ||
portscan | 扫描网络以查找开放服务 ||
powerpick | 通过 Unmanaged PowerShell 执行命令 ||
powershell | 通过 powershell.exe 执行命令 ||
powershell-import | 导入一个 PowerShell 脚本 ||
ppid | 设置生成的后渗透作业的父 PID ||
printscreen | 通过 PrintScr 方法拍摄单张截图 ||
process_browser | 打开此 Beacon 的进程浏览器标签 |@echo off
echo [+] Starting Cobalt Strike server...
:: 获取 WSL 的 IP 地址
for /f "delims=" %%i in ('wsl -u root -- bash -c "hostname -I"') do (
set wslIP=%%i
goto :done
)
:done
:: 设置默认密码
set defaultPassword=password
:: 打印获取的 IP 和密码
echo WSL IP Address: %wslIP%
echo Default Password: %defaultPassword%
:: 启动 Cobalt Strike 服务器并在后台运行
start /B wsl -u root -- bash -c "cd ./Server && ./teamserver %wslIP% %defaultPassword%"
echo [+] Cobalt Strike server started.
:: 等待一段时间(例如 10 秒)
timeout /t 10 >nul
echo [+] Starting Cobalt Strike client...
:: 启动 Cobalt Strike 客户端并在后台运行
start /B java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -javaagent:./Client/uHook.jar -Xms512M -Xmx1024M -jar ./Client/cobaltstrike-client.jar -connect %wslIP% -password %defaultPassword%
:: 等待用户输入以保持窗口打开
pause
echo [+] Starting Cobalt Strike server...
:: 获取 WSL 的 IP 地址
for /f "delims=" %%i in ('wsl -u root -- bash -c "hostname -I"') do (
set wslIP=%%i
goto :done
)
:done
:: 设置默认密码
set defaultPassword=password
:: 打印获取的 IP 和密码
echo WSL IP Address: %wslIP%
echo Default Password: %defaultPassword%
:: 启动 Cobalt Strike 服务器并在后台运行
start /B wsl -u root -- bash -c "cd ./Server && ./teamserver %wslIP% %defaultPassword%"
echo [+] Cobalt Strike server started.
:: 等待一段时间(例如 10 秒)
timeout /t 10 >nul
echo [+] Starting Cobalt Strike client...
:: 启动 Cobalt Strike 客户端并在后台运行
start /B java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -javaagent:./Client/uHook.jar -Xms512M -Xmx1024M -jar ./Client/cobaltstrike-client.jar -connect %wslIP% -password %defaultPassword%
:: 等待用户输入以保持窗口打开
pause
cobaltstrike_start.bat
# 打印启动服务器信息
Write-Host "[+] Starting Cobalt Strike server..."
# 获取 WSL 的 IP 地址
$wslIP = wsl -u root -- bash -c "hostname -I | awk '{print $1}'"
# 设置默认密码
$defaultPassword = "password"
# 打印获取的 IP 和密码
Write-Host "WSL IP Address: $wslIP"
Write-Host "Default Password: $defaultPassword"
# 启动 Cobalt Strike 服务器并在后台运行
Start-Process -FilePath "wsl" -ArgumentList "-u root -- bash -c 'cd /mnt/d/Global/apps/cobaltstrike/current/Server/ && ./teamserver $wslIP $defaultPassword'"
Write-Host "[+] Cobalt Strike server started."
# 等待一段时间(例如 10 秒)
Start-Sleep -Seconds 10
# 打印启动客户端信息
Write-Host "[+] Starting Cobalt Strike client..."
# 启动 Cobalt Strike 客户端并在后台运行
Start-Process -FilePath "java" -ArgumentList "-XX:ParallelGCThreads=4", "-XX:+AggressiveHeap", "-XX:+UseParallelGC", "-javaagent:D:\Global\apps\cobaltstrike\current\Client\uHook.jar", "-Xms512M", "-Xmx1024M", "-jar", "D:\Global\apps\cobaltstrike\current\Client\cobaltstrike-client.jar", "-connect", "$wslIP", "-password", "$defaultPassword"
# 等待用户输入以保持窗口打开
Read-Host -Prompt "Press Enter to exit"
# 打印启动服务器信息
Write-Host "[+] Starting Cobalt Strike server..."
# 获取 WSL 的 IP 地址
$wslIP = wsl -u root -- bash -c "hostname -I | awk '{print $1}'"
# 设置默认密码
$defaultPassword = "password"
# 打印获取的 IP 和密码
Write-Host "WSL IP Address: $wslIP"
Write-Host "Default Password: $defaultPassword"
# 启动 Cobalt Strike 服务器并在后台运行
Start-Process -FilePath "wsl" -ArgumentList "-u root -- bash -c 'cd /mnt/d/Global/apps/cobaltstrike/current/Server/ && ./teamserver $wslIP $defaultPassword'"
Write-Host "[+] Cobalt Strike server started."
# 等待一段时间(例如 10 秒)
Start-Sleep -Seconds 10
# 打印启动客户端信息
Write-Host "[+] Starting Cobalt Strike client..."
# 启动 Cobalt Strike 客户端并在后台运行
Start-Process -FilePath "java" -ArgumentList "-XX:ParallelGCThreads=4", "-XX:+AggressiveHeap", "-XX:+UseParallelGC", "-javaagent:D:\Global\apps\cobaltstrike\current\Client\uHook.jar", "-Xms512M", "-Xmx1024M", "-jar", "D:\Global\apps\cobaltstrike\current\Client\cobaltstrike-client.jar", "-connect", "$wslIP", "-password", "$defaultPassword"
# 等待用户输入以保持窗口打开
Read-Host -Prompt "Press Enter to exit"
# 打印启动服务器信息
Write-Host "[+] Starting Cobalt Strike server..."
# 获取 WSL 的 IP 地址
$wslIP = wsl -u root -- bash -c "hostname -I | awk '{print $1}'"
# 设置默认密码
$defaultPassword = "password"
# 打印获取的 IP 和密码
Write-Host "WSL IP Address: $wslIP"
Write-Host "Default Password: $defaultPassword"
# 启动 Cobalt Strike 服务器并在后台运行
Start-Process -FilePath "wsl" -ArgumentList "-u root -- bash -c 'cd /mnt/d/Global/apps/cobaltstrike/current/Server/ && ./teamserver $wslIP $defaultPassword'"
Write-Host "[+] Cobalt Strike server started."
# 等待一段时间(例如 10 秒)
Start-Sleep -Seconds 10
# 打印启动客户端信息
Write-Host "[+] Starting Cobalt Strike client..."
# 启动 Cobalt Strike 客户端并在后台运行
Start-Process -FilePath "java" -ArgumentList "-XX:ParallelGCThreads=4", "-XX:+AggressiveHeap", "-XX:+UseParallelGC", "-javaagent:D:\Global\apps\cobaltstrike\current\Client\uHook.jar", "-Xms512M", "-Xmx1024M", "-jar", "D:\Global\apps\cobaltstrike\current\Client\cobaltstrike-client.jar", "-connect", "$wslIP", "-password", "$defaultPassword"
# 等待用户输入以保持窗口打开
Read-Host -Prompt "Press Enter to exit"
Write-Host "[+] Starting Cobalt Strike server..."
# 获取 WSL 的 IP 地址
$wslIP = wsl -u root -- bash -c "hostname -I | awk '{print $1}'"
# 设置默认密码
$defaultPassword = "password"
# 打印获取的 IP 和密码
Write-Host "WSL IP Address: $wslIP"
Write-Host "Default Password: $defaultPassword"
# 启动 Cobalt Strike 服务器并在后台运行
Start-Process -FilePath "wsl" -ArgumentList "-u root -- bash -c 'cd /mnt/d/Global/apps/cobaltstrike/current/Server/ && ./teamserver $wslIP $defaultPassword'"
Write-Host "[+] Cobalt Strike server started."
# 等待一段时间(例如 10 秒)
Start-Sleep -Seconds 10
# 打印启动客户端信息
Write-Host "[+] Starting Cobalt Strike client..."
# 启动 Cobalt Strike 客户端并在后台运行
Start-Process -FilePath "java" -ArgumentList "-XX:ParallelGCThreads=4", "-XX:+AggressiveHeap", "-XX:+UseParallelGC", "-javaagent:D:\Global\apps\cobaltstrike\current\Client\uHook.jar", "-Xms512M", "-Xmx1024M", "-jar", "D:\Global\apps\cobaltstrike\current\Client\cobaltstrike-client.jar", "-connect", "$wslIP", "-password", "$defaultPassword"
# 等待用户输入以保持窗口打开
Read-Host -Prompt "Press Enter to exit"
60W用户Chrome插件存在恶意代码
SuperCopy 超级复制插件是看见 V 友推荐后安装的,偶然发现其会拦截所有返利平台流量和商家自然流量
起因
偶尔会使用京东联盟自己邀请下单,最近有一些订单没有拿到返利,发现使用 Chrome 访问京东商品详情页时,已打开的第一个标签页的会自动跳转然后跳回之前的页面
排查
对所有安装的插件逐一排查,确定是 SuperCopy 超级复制插件 https://chromewebstore.google.com/detail/supercopy-%E8%B6%85%E7%BA%A7%E5%A4%8D%E5%88%B6/onepmapfbjohnegdmfhndpefjkppbjkm 该插件目前用户 60W+,有精选标签
复现
当浏览器已经打开的标签页大于 3 个时,访问京东任意商品详情页,该插件会发起一个请求 https://cdn.shopimgs.com/jclk?itid=itid&uid=uid&name=supercopy-v3 参数 itid 为 base64 后的京东商品详情页链接,该请求返回一个链接,此时浏览器中第一个标签页会跳转到该链接,该链接跳转到京东联盟返利链接,访问完成之后再跳转回该标签页之前打开的链接,下单用户最后一次打开的是谁的返利链接,京东就会返利给谁
SuperCopy 超级复制插件是看见 V 友推荐后安装的,偶然发现其会拦截所有返利平台流量和商家自然流量
起因
偶尔会使用京东联盟自己邀请下单,最近有一些订单没有拿到返利,发现使用 Chrome 访问京东商品详情页时,已打开的第一个标签页的会自动跳转然后跳回之前的页面
排查
对所有安装的插件逐一排查,确定是 SuperCopy 超级复制插件 https://chromewebstore.google.com/detail/supercopy-%E8%B6%85%E7%BA%A7%E5%A4%8D%E5%88%B6/onepmapfbjohnegdmfhndpefjkppbjkm 该插件目前用户 60W+,有精选标签
复现
当浏览器已经打开的标签页大于 3 个时,访问京东任意商品详情页,该插件会发起一个请求 https://cdn.shopimgs.com/jclk?itid=itid&uid=uid&name=supercopy-v3 参数 itid 为 base64 后的京东商品详情页链接,该请求返回一个链接,此时浏览器中第一个标签页会跳转到该链接,该链接跳转到京东联盟返利链接,访问完成之后再跳转回该标签页之前打开的链接,下单用户最后一次打开的是谁的返利链接,京东就会返利给谁