网络安全___2025-08-08

网络安全___2025-08-08

目录


术语

  • 深网: 指互联网上不被搜索引擎索引的部分, 包括私人数据库、内部网络等, 需要特定权限或工具才能访问。
  • 暗网: 深网的一个子集, 通过特殊软件(如Tor)访问, 提供匿名通信和隐私保护。

基本操作 系统配置

apt

apt update 更新软件包索引, 不会改变已安装的软件包 apt upgrade 更新已安装的软件包, 不解决依赖问题 apt dist-upgrade 更新已安装的软件包, 解决依赖问题

如果直接upgrade, 一些受依赖的软件包因为一部分软件升级而随之升级, 可能会导致另一部分软件无法使用, 这时需要使用dist-upgrade来解决依赖问题。

基于debian的Linux发行版使用 apt命令来管理软件包。 aptapt-getapt-cache子集 apt-get 是 apt 的底层命令, 功能更强大.

因此两者install、remove、update等命令其实完全等价

常用命令:

  • install: 安装软件包
  • remove: 删除软件包
  • update: 更新软件包索引
  • upgrade: 更新已安装的软件包
  • dist-upgrade: 更新已安装的软件包并解决依赖问题
  • edit-sources: 编辑软件源列表

网络

systemctl restart networking 重启网络服务 vim /etc/network/interfaces 编辑网络配置文件

# 动态IP配置
auto eth0
iface eth0 inet dhcp
# 静态IP配置
auto eth0
iface eth0 inet static
address 192.168.0.56
netmask 255.255.255.0
gateway 192.168.0.1

注意: 静态IP不是随便选择的, 必须要在和主机Localhost同一子网中, 才可以本地通信. 这个例子中, 子网掩码是24, 所以IP地址的前三个字节必须相同, 例如192.168.0.x。

ssh

vim /etc/ssh/sshd_config          
/etc/init.d/ssh restart

对于SSH服务的配置文件 /etc/ssh/sshd_config,开启以下两个选项:

PermitRootLogin yes
PubkeyAuthentication yes

配置TOR浏览器

Tor浏览器是一个: 世界各地志愿者维护的, 大型的, 分布式的, 免费的, 开源的, 匿名网络 类似于分布式VPN, 但更注重隐私保护, 通过多层加密和随机路由来隐藏用户的真实IP地址。 由于一层层跳转加密, 被称为洋葱头

被动信息收集

被动信息收集: 第三方服务, 例如百度搜索, 对目标进行信息收集, 不主动发起请求, 主要依赖于公开信息和用户行为分析。 主动信息收集: 直接扫描, 例如使用Nmap端口扫描器

可以收集的信息

  • ip地址
  • 域名
  • 邮件
  • 文档图片数据
  • 公司地址
  • 公司组织架构
  • 联系电话
  • 人员姓名/职务
  • 目标系统的技术架构
  • 公开商业信息

DNS查询

13个根域名服务器, 负责解析顶级域名(TLD)的IP地址, 如.com、.org等。 每个顶级域名服务器都有多个权威DNS服务器, 负责解析具体域名的IP地址。

A记录: 正向解析, 将域名转换为IP地址。 PTR记录: 反向解析, 将IP地址转换为域名, in-addr.arpa保存。 CNAME记录: 别名记录, 将一个域名指向另一个域名。 MX记录: 邮件交换记录, 指定邮件服务器的域名。(优先级越小优先级越高) NS记录: 命名服务器记录, 指定域名的权威DNS服务器。

指令: nslookup

查询DNS解析(也可以用ping)

nslookup www.example.com
nslookup -type=A example.com

指令: dig

查询解析记录

dig @8.8.8.8 baidu.com any 

反查域名

dig -x 8.8.8.8

查询DNS服务器bind版本信息(从而找漏洞)

dig txt chaos version.bind @ns3.dnsv4.com

指令: whois

  1. 查询网站的域名注册信息

可以直接上阿里云whois查询

whois baidu.com
  1. 备案信息查询

web接口查询: icp.chinaz.com

Maltego收集子域名信息

主域名在防御措施严密的情况下, 无法直接拿下, 但子域名往往防御措施较弱, 可以通过子域名间接攻击主域名。

  1. 子域名挖掘机: Maltego
  2. 搜索引擎: google搜索 site:qq.com
  3. 第三方查询 / 证书透明度公开日志枚举 / 其他途径

FOFA网络空间资产检索系统

FOFA是一个网络空间资产检索系统, 可以通过搜索引擎查询到互联网上的设备和服务信息。有更多域名数据, 而且还能识别蜜罐 官网网址: fofa.so

基础语法

  1. title="百度": 搜索标题包含"百度"的网站
  2. body="百度": 搜索正文包含"百度"的网站
  3. country="CN": 搜索位于中国的网站
  4. domain="baidu.com": 搜索域名为"baidu.com"的网站
  5. region="Shanghai": 指定行政区
  6. city="Beijing": 指定城市
  • !=: 排除
  • &&: 与
  • ||: 或
  • *: 通配符
  • ~: 模糊

还可以用图标去查找, 网站自动计算hash并匹配
甚至网站使用的js脚本

搜索引擎高级查询

  • site:example.com: 限定域名
  • inurl:admin: 查找URL中的关键字
  • intext:"login": 查找页面正文中的关键字
  • intitle:"index of": 查找页面标题中的关键字
  • filetype:pdf: 查找特定文件类型
  • cache:example.com: 查看搜索引擎缓存的页面

主动信息收集

主动信息收集特点:

  • 直接与目标系统交互
  • 无法避免留下访问痕迹
  • 使用受控的第三方电脑(肉鸡)进行扫描, 使用代理, 做好被封杀的准备
  • 扫描发送不同的探测, 根据返回结果判断

若要人莫知, 除非己莫为

发现主机的流程

  1. 识别存活的主机, 发现潜在的被攻击目标
  2. 输出IP地址列表, 例如IP地址段(攻击旁路)
  3. 使用 二三四层 进行探测发现

基于OSI模型的扫描

OSI七层模型:

层级 名称 功能描述 协议
7 应用层 提供网络服务和应用程序接口(各类协议) HTTP、FTP、SMTP等
6 表示层 数据格式转换和加密(数据格式) JPEG、MPEG、SSL等
5 会话层 管理会话和连接(会话管理) NetBIOS、RPC等
4 传输层 提供端到端的通信和数据传输(流量控制) TCP、UDP等
3 网络层 路由选择和逻辑地址管理(分组转发) IP、ICMP等
2 数据链路层 物理地址管理和数据帧传输(帧封装) ARP、Ethernet、PPP等
1 物理层 传输比特流和物理连接(电缆、光纤) USB、RS-232等

在TCP/IP模型中, 567层被合并为应用层

优缺点:

层级 优点 缺点
二层 速度快, 可靠, 可绕过防火墙 不可路由, 受限于局域网
三层 可路由, 可跨网络扫描 速度较慢, 经常被防火墙阻挡
四层 1.可路由且结果可靠; 2.不太可能被防火墙过滤; 3.可以发现所有端口都被过滤的主机 速度慢, 基于状态过滤的防火墙可能被过滤

基于Ping的探测

ping

常用于判断主机间网络连通性, 也可以判断目标主机是否存活

ping 192.168.0.1 -c 1 # 指定发送1个包

traceroute

通过traceroute命令可以查看数据包经过的路由节点, 以及每个节点的响应时间。

traceroute baidu.com # 跟踪路由

*表示地址被防火墙过滤了

arping

ARP协议用于解析主机的域名为MAC地址, 即32位IP转化为48位MAC

无论谁回答, ARP查询都会接受
防范: 静态绑定+ARP防火墙

arping 192.168.0.1 -c 1
arping 192.168.0.1 -c 1 | grep "bytes from" | cut -d " " -f 5 | cut -d "(" -f 2 | cut -d ")" -f 1

linux 脚本 语法 |管道符: 结果传递 grep: 筛选出含有指定字符串的行 cut: 分割

  • -d 指定分割符号(只能是单个的字符)
  • -f 指定取第几段(从1开始数数), 传递1-3可以选择一段

对整个网段扫描, 可以写自定义脚本

#!/bin/bash
if [ "$#" -ne 1 ];then
  echo "Usage - ./arping.sh [interface]"
  echo "Example - ./arping.sh eth0"
  exit 1
fi

interface=$1
prefix=$(ifconfig $interface | grep "inet " | cut -d "t" -f 2 | cut -d " " -f 2 | cut -d "." -f 1-3)

if [ -z "$prefix" ]; then
    echo "Error: Could not get IP address for interface $interface"
    exit 1
fi

for addr in $(seq 1 254);do
  arping -c 1 -I $interface $prefix.$addr | grep "bytes from" | cut -d " " -f 5 | cut -d "(" -f 2 | cut -d ")" -f 1
done

如果发现有重复的192.168.0.1说明被ARP攻击

netdiscover 兼具主被动

ARP侦查工具, 主动: 全部发送ARP请求来确认存活; 被动: 转发ARP请求

netdiscover -i eth0 -r 192.168.0.0/24
netdiscover -p -i eth0 -r 192.168.0.0/24 # 被动嗅探