### 🔐 Port Knocking(端口敲门)简介

Port Knocking**(端口敲门)是一种基于网络通信的隐蔽技术,用于在未经授权的情况下隐藏网络服务的入口点。只有完成特定的**敲门序列**(特定端口的访问顺序或数据模式)后,目标系统的服务端口才会开放,允许后续的通信。

这种技术主要应用于增强网络安全,防止端口扫描和未授权访问。

---

### 🛠 **Port Knocking 的工作原理


1. 默认端口关闭
服务器的服务端口(如 SSH、RDP 等)在默认状态下是关闭的,不响应连接请求。

2. 敲门序列检测
客户端按照一定顺序(例如 TCP/UDP 包的目标端口号)尝试连接预定义的端口。这些连接不会真正打开端口,而是作为敲门信号被监听器记录。

3. 验证敲门序列
服务器的 Port Knocking 守护进程会验证客户端发出的敲门序列是否正确。如果匹配,目标服务端口(如 22 号 SSH 端口)会临时开放。

4. 建立连接
客户端在目标端口开放后,可以正常连接到服务,完成通信。

5. 端口关闭
在设定的时间后,端口会重新关闭,恢复隐蔽状态。

---

### 🧩 Port Knocking 的常见实现方式

1. 基于 TCP/UDP 端口扫描
客户端按顺序尝试连接几个特定的 TCP/UDP 端口。例如,敲击顺序为 `1234 -> 5678 -> 91011`,正确的顺序才能触发端口开放。

2. 基于特定数据包的 Payload
通过在敲门包中嵌入密码或加密信息,进一步增强安全性。

3. 隐蔽型敲门
使用非标准端口号或特定协议(如 ICMP Ping 包)作为敲门信号。

---

### 🛡 Port Knocking 的优缺点

#### 优点:
1. 增强安全性:
隐藏端口,避免被简单的端口扫描工具发现。

2. 轻量化:
不需要占用大量资源或额外的网络带宽。

3. 兼容性强:
可用于现有的防火墙和服务配置。

#### 缺点:
1. 容易被监控或重放攻击利用:
如果敲门序列是明文传输,可能被监听并复制。

2. 复杂性增加:
客户端和服务端的配置可能不直观,导致管理和使用不便。

3. 对错误序列的容错性低:
敲门顺序或网络延迟可能导致误触发。

---

### 🔧 Port Knocking 实现示例

以下是基于 iptablesknockd 的实现示例:

#### 服务端配置:
1. 安装 `knockd`:
   sudo apt install knockd
   


2. 编辑 /etc/knockd.conf 配置文件:
   [options]
   logfile = /var/log/knockd.log

   [openSSH]
   sequence = 7000,8000,9000
   seq_timeout = 5
   command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
   tcpflags = syn

   [closeSSH]
   sequence = 9000,8000,7000
   seq_timeout = 5
   command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
   tcpflags = syn
   


3. 启动 `knockd`:
   sudo systemctl start knockd
   


#### 客户端敲门:
使用 `knock` 命令:
knock 192.168.1.100 7000 8000 9000
ssh user@192.168.1.100


---

### 🌐 Port Knocking 的应用场景
1. 隐藏敏感服务端口:
防止 SSH、VPN 等端口被暴力破解工具攻击。

2. 应急接入机制:
在无需长期暴露端口的情况下,为管理员提供备用访问通道。

3. 网络蜜罐增强:
配合蜜罐系统,诱导攻击者触发错误敲门序列,记录其行为。

---

### 🚀 增强安全的建议
1. 使用加密的敲门序列:
结合加密协议(如 HMAC)确保序列不被嗅探和伪造。

2. 结合动态防火墙:
配置时限短的动态规则,减少端口开放时间。

3. 审计和监控:
定期检查 knockd 的日志,发现异常敲门行为。

---

### 🔑 关键词
#PortKnocking #端口敲门 #网络安全 #隐蔽技术 #防火墙
### Nikto 命令行选项概述

Nikto 是一个广泛使用的 web 服务器扫描工具,提供了多种扫描选项以进行不同类型的测试。以下是常用选项的简要说明:

#### 常见选项:
- -ask+: 提示是否提交更新数据。可以选择 yes`、`no 或 `auto`。
- -check6: 检查 IPv6 是否可用,默认会连接到 `ipv6.google.com`。
- -Cgidirs+: 指定扫描的 CGI 目录,可以设置为 `none`、`all` 或自定义目录(如 `/cgi/`)。
- -config+: 使用指定的配置文件。
- -Display+: 设置显示输出的详细程度。选项包括:
- `1` 显示重定向
- 2 显示接收到的 Cookie
- 3 显示所有 200/OK 响应
- V 显示详细输出
- -evasion+: 设置编码技术,用于绕过防火墙或代理,支持多种编码方式,如随机 URI 编码、目录自引用等。
- -followredirects: 跟随 3xx 重定向。
- -Format+: 设置输出格式,可以选择 csv`、`json`、`xml 等。
- -host+: 指定目标主机或 URL。
- -output+: 设置输出文件(默认为当前目录)。
- -Plugins+: 指定要运行的插件列表(默认运行所有插件)。
- -Tuning+: 设置扫描调优选项,可以指定关注特定的漏洞类别(如 SQL 注入、命令执行等)。

#### 网络相关选项:
- -ssl: 强制使用 SSL 模式进行连接。
- -useproxy: 使用指定的代理进行请求。
- -vhost+: 设置虚拟主机(用于 Host 请求头)。
- -timeout+: 设置请求的超时时间(默认 10 秒)。

#### 扫描相关选项:
- -port+: 设置扫描端口(默认为 80)。
- -mutate+: 启用额外的文件名猜测方法,例如尝试猜测密码文件名。
- -maxtime+: 设置每个主机的最大测试时间。
- -nointeractive: 禁用交互式功能,适用于自动化脚本。

#### 调试与输出:
- -dbcheck: 检查数据库和其他关键文件的语法错误。
- -output+: 设置结果输出文件,支持多种格式,如 txt`、`html`、`csv 等。
- -Pause+: 在测试之间暂停指定时间。

#### 安全相关:
- -Tuning+: 调整扫描目标的侧重点,如 XSS、SQL 注入等。

### 示例命令:
nikto -h http://example.com -o result.html -ssl -Tuning 4


### 关键词
#Nikto #web安全 #扫描工具 #漏洞扫描 #网络安全
### 常用Linux系统信息收集命令

在进行渗透测试或信息收集时,以下命令可以帮助收集目标系统的关键信息,便于更好地了解系统配置、用户权限、网络信息和运行的服务等。

#### 1. 用户与权限相关

- `id`**:显示当前用户的UID、GID及所属组信息。
```bash
id
```

-
whowhoami:显示当前登录用户的详细信息。
```bash
who
```

-
last:显示系统最近的登录记录,了解历史登录行为。
```bash
last
```

-
cat /etc/passwd:查看系统中的用户列表(注意权限)。
```bash
cat /etc/passwd
```

-
sudo -l:列出当前用户可执行的sudo命令,特别适用于查找可能的提权点。
```bash
sudo -l
```

#### 2. **系统配置和版本信息


- `uname -a`**:显示系统内核及操作系统的基本信息。
```bash
uname -a
```

-
cat /etc/os-releaselsb_release -a:显示系统发行版本详细信息。
```bash
cat /etc/os-release
```

-
hostnamectl:显示系统的主机名、内核版本和操作系统信息(在systemd系统上有效)。
```bash
hostnamectl
```

#### 3. **网络相关


- `ifconfig` 或 `ip a`**:查看网络接口信息,包括IP地址、MAC地址等。
```bash
ip a
```

-
netstat -tulnss -tuln:列出当前系统监听的端口和对应的服务。
```bash
netstat -tuln
```

-
iptables -L:查看防火墙配置规则,检查开放的端口和流量控制情况。
```bash
sudo iptables -L
```

-
routeip route:显示系统的路由表,了解网络通信路径。
```bash
ip route
```

#### 4. **进程和服务


- `ps aux`**:显示所有进程的详细信息,包括启动命令、权限、CPU、内存等资源占用。
```bash
ps aux
```

-
tophtop:动态显示系统的CPU、内存使用情况及进程信息。
```bash
top
```

-
systemctl list-units --type=service --state=running:列出当前运行的系统服务,适用于`systemd`服务管理的系统。
```bash
systemctl list-units --type=service --state=running
```

#### 5. **文件与目录权限


- `find / -perm -4000 2>/dev/null`**:查找系统中所有SUID位的文件,特别是可疑的SUID文件,这些可能提供提权的机会。
```bash
find / -perm -4000 2>/dev/null
```

-
ls -al /etc/:列出`/etc`目录的详细文件权限,重点查看`passwd`和`shadow`等文件。
```bash
ls -al /etc/
```

-
cat /etc/shadow:在获取了root权限的情况下,查看密码哈希(需要root权限)。
```bash
sudo cat /etc/shadow
```

#### 6. **计划任务


- `crontab -l`**:查看当前用户的计划任务。
```bash
crontab -l
```

-
ls -la /etc/cron*:列出系统所有的计划任务文件。
```bash
ls -la /etc/cron*
```

#### 7. **系统日志


- `dmesg`**:显示系统启动和内核日志消息,可以了解硬件、驱动错误及其他启动信息。
```bash
dmesg
```

-
cat /var/log/auth.logcat /var/log/secure:检查系统的登录日志(auth.log 适用于Debian系,secure适用于Red Hat系)。
```bash
cat /var/log/auth.log
```

-
journalctl:显示systemd系统的系统日志。
```bash
journalctl
```

#### 8. **环境与安装信息


- `env`**:显示当前用户的环境变量,可能包含有用的配置信息或敏感路径。
```bash
env
```

-
dpkg -lrpm -qa**:列出系统已安装的软件包(分别适用于Debian和Red Hat系)。

  dpkg -l
  


使用以上命令可以收集全面的系统信息,有助于渗透测试中的信息收集和漏洞分析。根据具体的渗透环境选择合适的命令组合,以提升测试的效率和效果。

whoami && id && uname -a && lsb_release -a && ip a && netstat -tuln && ps aux && df -h && crontab -l && ls -al /etc/cron* && cat /etc/passwd && find / -perm -4000 2>/dev/null

#Linux信息收集 #渗透测试 #系统信息 #网络信息
### SSH服务未启动的原因及解决方法

从输出信息来看,SSH服务(`ssh.service`)目前状态是**inactive(dead)**,说明服务未运行。可能的原因包括SSH服务未启动或未设置自启动。以下是具体的解决方法:

1. **启动SSH服务**:
尝试手动启动SSH服务,执行以下命令:
   sudo systemctl start ssh
   


2. **设置SSH服务开机自启动**:
为确保系统重启后SSH服务能够自动启动,执行以下命令:
   sudo systemctl enable ssh
   


3. **再次确认服务状态**:
重新检查SSH服务状态以确认是否已启动:
   sudo systemctl status ssh
   


完成上述步骤后,再尝试使用SSH连接到目标IP地址。如果仍然出现连接问题,请确认网络连接是否正常,以及防火墙或其他安全设置是否可能影响到SSH访问。

#SSH服务未启动 #Kali Linux #系统服务 #网络安全
nmap 收集信息:

### 1. 快速全端口扫描

sudo nmap --min-rate 10000 -p- 192.168.153.130
   

- 功能**:扫描目标 IP 地址(192.168.153.130)上的所有端口(1-65535)。
- **选项**:
- `--min-rate 10000`:设置最小扫描速率,每秒发送最少 10000 个数据包,加快扫描速度。
- `-p-`:扫描所有端口。
- **用途**:适用于需要快速发现目标主机上开放端口的场景。

### 2. **TCP 全连接扫描 + 服务版本识别 + 操作系统识别 + 默认脚本扫描


sudo nmap -sT -sV -sC -O -p 22,80 192.168.153.130
   

- 功能**:对目标 IP 地址执行 TCP 连接扫描(全连接),并同时执行服务版本识别、操作系统识别和默认的漏洞扫描脚本。
- **选项**:
- `-sT`:TCP 连接扫描(通过完整的三次握手连接目标主机端口)。
- `-sV`:服务版本识别,查找目标主机上运行的服务版本。
- `-sC`:执行 nmap 默认脚本(例如检测已知漏洞、配置问题等)。
- `-O`:操作系统识别。
- `-p 22,80`:仅扫描端口 22 和 80。
- **用途**:适用于详细的信息收集和漏洞识别,尤其是对常见的服务(如 SSH、HTTP)进行深度分析。

### 3. **UDP 扫描


sudo nmap -sU -p 22,80 192.168.153.130
   

- 功能**:对目标 IP 地址执行 UDP 扫描,扫描端口 22 和 80。
- **选项**:
- `-sU`:执行 UDP 扫描(与 TCP 扫描不同,UDP 扫描不会建立连接,通常较慢)。
- `-p 22,80`:扫描端口 22 和 80(通常这两个端口是 TCP 服务,但此命令是通过 UDP 扫描的)。
- **用途**:用于检测目标主机上的 UDP 服务,特别是在 UDP 协议上常用的服务。

### 4. **漏洞扫描


sudo nmap --script=vuln -p 22,80 192.168.153.130
   

- **功能**:对目标 IP 地址执行漏洞扫描,检查端口 22 和 80 是否存在已知的漏洞。
- **选项**:
- `--script=vuln`:启用 nmap 的漏洞扫描脚本(检查已知漏洞)。
- `-p 22,80`:扫描端口 22 和 80。
- **用途**:用于检测目标主机是否存在已知的安全漏洞,尤其适用于评估目标主机的安全性。

### 总结:
- **快速扫描**(第一个命令)适用于快速检测目标主机上开放的端口。
- **详细扫描**(第二个命令)用于获得目标的服务版本、操作系统信息和潜在漏洞。
- **UDP 扫描**(第三个命令)专门用于检测 UDP 协议上的服务,适用于识别不常见的 UDP 服务。
- **漏洞扫描**(第四个命令)通过漏洞脚本检查目标的已知漏洞,帮助识别潜在的安全风险。

这些命令可以帮助网络安全人员全面了解目标主机的开放端口、服务版本、操作系统信息,以及可能存在的安全漏洞。
#nmap #网络扫描 #漏洞扫描 #服务识别 #端口扫描
使用 nmap 执行不同扫描:

1. 第一个命令:
sudo nmap --min-rate 10000 -p- 192.168.153.130
这个命令对目标 IP 地址(192.168.153.130)执行端口扫描,使用 --min-rate 10000 设置扫描速度,意味着每秒最小发送 10,000 个数据包,`-p-` 表示扫描所有端口(1-65535)。

2. 第二个命令:
sudo nmap -sT -sV -sC -O -p 22,80 192.168.153.130
这个命令执行多种扫描:
- `-sT`:使用 TCP 连接扫描(全连接扫描)。
- `-sV`:尝试识别服务版本。
- `-sC`:使用默认的脚本扫描(可以帮助发现更多信息)。
- `-O`:启用操作系统识别。
- `-p 22,80`:仅扫描端口 22 和 80。

3. 第三个命令:
sudo nmap -sU -p 22,80 192.168.153.130
这个命令执行 UDP 扫描(使用 `-sU`),对目标 IP 地址的 22 和 80 端口进行扫描。UDP 扫描通常比 TCP 扫描慢,因为 UDP 是无连接协议,且不返回 ACK 包。

这些命令适用于快速和全面的网络扫描,帮助识别目标系统上开放的端口、服务版本以及其他潜在的安全信息。
#nmap #网络扫描 #TCP扫描 #UDP扫描
ISW靶场简介
ISW靶场(Internet Security Wargame)是一个专注于网络安全的在线靶场,提供模拟真实网络攻击和防御的环境。该平台允许用户通过实际操作来提升网络安全技能,包括渗透测试、漏洞分析和防御策略的实施。

ISW靶场的特点包括:

多样化的靶机:提供不同类型和难度的靶机,适合各个水平的安全从业者。
真实场景模拟:通过模拟真实网络环境,用户可以学习如何识别和利用安全漏洞。
社区支持:有活跃的用户社区,提供交流与学习的机会。
该靶场对提高安全技能、测试工具的有效性和学习最新攻击技术非常有帮助。

#ISW靶场 #网络安全 #渗透测试
nmap -A -T4 fj.tobacco.gov.cn

基本信息:

IP 地址:112.51.0.152
主机状态:在线(响应时间:0.0056s)
开放端口:

80/tcp(HTTP):
服务:Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
服务器:Microsoft-IIS/7.5
443/tcp(HTTPS):
服务:Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
服务器:Microsoft-IIS/7.5
SSL 证书信息:
通用名:*.tobacco.gov.cn
组织名:国家烟草专卖局
有效期:从 2024-08-01 到 2025-08-01
HTTP 方法:

存在潜在风险的方法:TRACE。
操作系统信息:

识别到的操作系统是基于 Linux 的 Actiontec MI424WR-GEN3I 无线接入点,内核版本为 2.4.X。
网络拓扑:

网络距离:2 跳。
额外信息:

脚本检测结果显示时钟偏差为 1 秒。

#Nmap #网络安全 #信息收集
 
 
Back to Top