BroadcastChannel
https://channel.gandli.eu.org/
https://channel.gandli.eu.org/
Pilot-Web:一款基于PythonFlask框架开发的前后端分离式渗透测试&漏洞挖掘Web靶场,内置WP与知识库的集成式教学靶场。
https://github.com/2740908911/Pilot-Web
#python #靶场
https://github.com/2740908911/Pilot-Web
#python #靶场
一键换源
https://linuxmirrors.cn/use/
#Linux #软件源 #Gitee
https://linuxmirrors.cn/use/
sudo apt-get install -y curl
sudo -i
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) #Linux #软件源 #Gitee
在 Kali Linux 上安装 Docker 的步骤归纳如下:
1. **更新包管理器**:
2. **安装 Docker**:
使用
3. **启动 Docker 并设置为开机自启**:
4. **测试 Docker 是否正常运行**:
你可以通过运行以下命令来验证:
5. **将当前用户添加到 Docker 组(可选)**:
如果希望在不使用
6. **重新登录**:
为使组的更改生效,退出并重新登录。
完成这些步骤后,你就可以在 Kali Linux 上使用 Docker 了。#kali #docker
1. **更新包管理器**:
sudo apt update
2. **安装 Docker**:
使用
docker.io 包进行安装: sudo apt install -y docker.io
3. **启动 Docker 并设置为开机自启**:
sudo systemctl enable docker --now
4. **测试 Docker 是否正常运行**:
你可以通过运行以下命令来验证:
docker
5. **将当前用户添加到 Docker 组(可选)**:
如果希望在不使用
sudo 的情况下运行 Docker,需将用户添加到 Docker 组: sudo usermod -aG docker $USER
6. **重新登录**:
为使组的更改生效,退出并重新登录。
完成这些步骤后,你就可以在 Kali Linux 上使用 Docker 了。#kali #docker
# kali
sudo git clone https://github.com/digininja/DVWA /var/www/html/DVWA --depth 1
sudo chmod -R 777 /var/www/html/DVWA#kali 更换源
sudo sed -i '1i deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib' /etc/apt/sources.list
sudo sed -i '1i deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib' /etc/apt/sources.list
sudo apt-get update#tshark
tshark
### 主要功能:
1. **数据包捕获**:可以在指定的网络接口上捕获数据包。
2. **数据包分析**:能够解析和显示捕获的数据包的详细信息。
3. **文件处理**:支持读取和写入多种格式的捕获文件(如 pcap)。
4. **过滤功能**:可以使用过滤表达式筛选捕获的数据包,帮助用户专注于感兴趣的流量。
### 常用命令示例:
- 捕获数据包并显示:
- 将捕获的数据包保存到文件:
- 使用过滤器捕获特定流量:
### 总结命令:
tshark
tshark 是一个命令行工具,用于捕获和分析网络流量。它是 Wireshark 的命令行版本,具有强大的网络监控和故障排除功能。`tshark` 可以实时捕获网络数据包并将其保存到文件中,或者进行过滤和分析。### 主要功能:
1. **数据包捕获**:可以在指定的网络接口上捕获数据包。
2. **数据包分析**:能够解析和显示捕获的数据包的详细信息。
3. **文件处理**:支持读取和写入多种格式的捕获文件(如 pcap)。
4. **过滤功能**:可以使用过滤表达式筛选捕获的数据包,帮助用户专注于感兴趣的流量。
### 常用命令示例:
- 捕获数据包并显示:
tshark -i eth0
- 将捕获的数据包保存到文件:
tshark -i eth0 -w capture.pcap
- 使用过滤器捕获特定流量:
tshark -i eth0 -f "tcp port 80"
### 总结命令:
tshark -i eth0#重置密码
Windows 重置密码
1. **以管理员身份打开命令提示符**。
2. 将当前用户的密码设置为空:
3. 或者,如果你想手动输入新密码:
Linux 重置密码
1. 打开终端。
2. 输入以下命令来重置当前用户的密码:
3. 如果你想当前用户密码为空:
Windows 重置密码
1. **以管理员身份打开命令提示符**。
2. 将当前用户的密码设置为空:
net user $env:username ""
3. 或者,如果你想手动输入新密码:
net user $env:username *
Linux 重置密码
1. 打开终端。
2. 输入以下命令来重置当前用户的密码:
sudo passwd $(whoami)
3. 如果你想当前用户密码为空:
sudo passwd -d $(whoami)在内网横移过程中,根据不同环境的特点,渗透测试人员需要采取不同的方法来横向移动。以下是几种常见的内网环境及对应的横移思路:
---
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 权限提升等方式。
根据不同环境选择最适合的横移方法,往往能更高效地达到渗透测试目标。