Add files via upload
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
### 如何判断目标单位的机器是哪种协议出网
|
||||
|
||||
**1. 自动化扫描与端口探测**
|
||||
|
||||
这是最直接且高效的方法
|
||||
|
||||
- **使用自动化工具**:利用 **Nmap** 或 **`port-scan`** 这类工具,对目标内网机器或出网网段进行扫描
|
||||
- **常用端口与协议**:
|
||||
- **HTTP/HTTPS**(80/443):这是最常见的出网协议。几乎所有企业都必须开放这两个端口以供员工浏览网页。这是一个非常好的 C2 通道选择
|
||||
- **DNS**(53):如果 DNS 请求能够出网,那么你可以利用 DNS 隧道技术。这种方法非常隐蔽,因为 DNS 流量通常被认为是无害的
|
||||
- **SMTP/SMTPS**(25/465/587):如果企业允许员工收发邮件,那么这些端口很可能出网
|
||||
- **FTP/FTPS**(20/21):不常见,但如果开放了,也是一个很好的出网通道
|
||||
- **SSH**(22):如果目标允许员工通过 SSH 远程访问服务器,那么这个端口很可能出网
|
||||
- **优点**:快速、自动化,能提供初步的端口开放信息
|
||||
- **缺点**:不一定能确定协议能否出网,因为端口开放可能只是用于内部服务
|
||||
|
||||
**2. 手动测试与验证**
|
||||
|
||||
自动化扫描后,你需要手动验证协议是否真的能出网
|
||||
|
||||
- **使用命令行工具**:
|
||||
|
||||
- **`ping`**:测试 ICMP 协议是否出网
|
||||
- **`telnet`** 或 **`nc` (netcat)**:测试 TCP 协议。例如,`telnet www.baidu.com 443` 或 `nc -vz www.baidu.com 443`。如果连接成功,说明 443 端口出网
|
||||
|
||||
- **利用编程语言**:
|
||||
|
||||
- **Python**:编写一个简单的 Python 脚本,尝试通过不同的协议向你的服务器发送请求
|
||||
|
||||
```python
|
||||
import socket
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.settimeout(5)
|
||||
s.connect(('your_server_ip', 443))
|
||||
print("Port 443 is open")
|
||||
s.close()
|
||||
except Exception as e:
|
||||
print(f"Port 443 is closed: {e}")
|
||||
```
|
||||
|
||||
- **优点**:能精确验证某个端口是否出网,并能获得更详细的错误信息
|
||||
|
||||
**3. 基于 DNS 查询的隐蔽测试**
|
||||
|
||||
如果你无法通过常见的协议出网,DNS 是一个非常隐蔽的测试方法
|
||||
|
||||
- **原理**:即使防火墙非常严格,也必须允许 DNS 流量出网,否则员工将无法正常上网。你可以利用这个特性,通过 DNS 查询来判断出网情况
|
||||
- **操作步骤**:
|
||||
1. 在你的攻击服务器上,搭建一个 DNS 服务器,并配置一个域名,例如 `test.com`
|
||||
2. 在目标机器上,执行一个 DNS 查询命令,例如 `nslookup <随机字符串>.test.com`
|
||||
3. 回到你的 DNS 服务器,如果收到了这个 DNS 查询请求,就说明 DNS 协议出网。你甚至可以从 DNS 请求的源 IP 地址,判断是哪台机器发出的请求
|
||||
- **优点**:高度隐蔽,能绕过许多严格的防火墙规则
|
||||
|
||||
**4. 利用现有权限进行系统配置分析**
|
||||
|
||||
如果你已经通过其他漏洞(如钓鱼、弱口令等)获得了某台机器的权限,那么判断出网协议就变得更加容易
|
||||
|
||||
- **检查防火墙规则**:
|
||||
- **Windows**:`netsh advfirewall firewall show rule name=all` 或 `Get-NetFirewallRule`。这能直接告诉你哪些端口是出网的
|
||||
- **检查代理服务器**:
|
||||
- **Windows**:`netsh winhttp show proxy` 或检查浏览器的代理设置。许多公司要求所有出网流量必须通过一个代理服务器。在这种情况下,你需要配置你的 C2 通道去使用这个代理
|
||||
- **检查应用程序日志**:
|
||||
- 查看 Web 服务器、代理服务器或防火墙的日志。这些日志文件会记录所有出入流量,是判断出网协议的最佳来源
|
||||
Reference in New Issue
Block a user