Post

内网渗透笔记(1)

为了铸剑杯临阵磨枪

内网渗透笔记(1)

内网渗透笔记

Bash

1
ip a

查看本机IP

1
for i in {1..65535};do ping -c 1 -W 1 172.16.20.$i;done

-c--count 的简写,指定 ping 命令发送的 ICMP Echo Request 包数量,1 表示仅发送 1 个包。

-W--timeout 的简写,指定 ping 命令的等待响应超时时间,单位为秒(部分系统如 Windows 用 -w,单位为毫秒,需注意差异),1 表示发送包后等待 1 秒,若未收到响应则判定为超时(目标不可达)。Linux/macOS:-W 指单个包的响应超时(秒),-w 指整个 ping 命令的总超时(秒)

1
for i in {1..254};do ping -c 1 -W 1 172.16.20.$i | grep form;done

|(管道符)

  • 语法作用:将前一个命令(ping)的标准输出(stdout)直接传递给后一个命令(grep)作为输入,实现输出筛选的流水线操作,无需保存中间结果。

grep(文本过滤命令)

  • 工具作用:在输入文本中搜索匹配指定字符串的行,仅输出符合条件的内容,是 Shell 中常用的文本筛选工具。

grep form(字符串匹配筛选)

  • 参数含义:搜索包含 “form” 字符串的行,输出匹配结果。
1
c.traditional -vv -z 127.0.0.1 1-65535 2>&1 | grep -v "?"
组成部分 内容 作用
扫描命令 nc.traditional 调用传统模式的端口扫描工具
详细输出参数 -vv 启用双详细模式,输出扫描过程中的详细日志(包括连接尝试、端口状态等)
端口扫描参数 -z 启用 Netcat 的端口扫描模式(仅检测端口是否开放,不建立完整连接 / 传输数据)
目标 IP 127.0.0.1 本地回环地址,扫描当前本机的端口状态
目标端口范围 1-65535 指定扫描端口范围为 1 到 65535(全端口扫描)
重定向符 2>&1 将标准错误输出(stderr,文件描述符 2)重定向到标准输出(stdout,文件描述符 1),统一输出流
管道符 | 将前面命令的统一输出作为 grep 命令的输入
过滤命令 grep -v "?" 反向筛选输出,排除包含 “?” 字符串的行(保留明确端口状态的日志)
1
(echo < /dev/tcp/127.0.0.1/$i) &>/dev/null && printf "the Open Port is : %d" "$i\n" || printf "."

&>/dev/null(全输出丢弃)

  • 语法等价:等价于 > /dev/null 2>&1,是 Bash 的扩展语法,用于统一处理标准输出(stdout,文件描述符 1)和标准错误(stderr,文件描述符 2)。
1
uname -a

查询内核及系统架构信息

1
lsb_release -a

查询 Linux 发行版详细信息

1
cat /proc/version
1
2
3
4
cat /etc/passwd
cat /etc/issue
cat /etc/crontab
cat /etc/fstab

一些敏感信息

1
2
3
4
5
hostnamectl # 查询 / 修改系统主机名及系统信息
hostname # 查询 / 设置系统主机名
ip route
ip neigh # 查询 ARP 缓存(邻居表)
arp -a # 查询 ARP 缓存表(传统命令)
1
2
sudo -l
history
1
getcap -r / 2>/dev/null
组成部分 内容 作用
核心命令 getcap 查询文件的 Linux capabilities(权限.cap)配置
递归查询参数 -r 递归遍历目标目录下的所有文件 / 子目录,不遗漏深层文件
目标路径 / 以根目录为起点,扫描整个系统的所有文件
输出重定向 2>/dev/null 丢弃标准错误输出(如权限不足、无效路径的报错),仅保留有效结果
1
ls -liah

Nmap

1
sudo nmap -sn 172.16.200.0/24
组成部分 内容 作用
执行权限 sudo 以管理员(root)身份运行命令
工具名称 nmap 调用网络扫描工具 Nmap
核心参数 -sn 开启「主机存活探测」,禁用端口扫描
目标网段 172.16.200.0/24 24 表示子网掩码为 255.255.255.0,包含的 IP 范围是 172.16.200.1 到 254
1
sudo nmap --min-rate 10000 -p- 10.194.238.140 -oA nmapscan/ports
组成部分 内容 作用
执行权限 sudo 以管理员(root)身份运行命令
工具名称 nmap 调用网络扫描工具 Nmap
扫描参数 --min-rate 10000 -p- 控制扫描速率和扫描端口范围
目标对象 10.194.238.140 待扫描的目标 IP 地址(内网 IP)
  -oA 输出到文件中
1
sudo nmap -sU --min-rate 10000 -p- 10.194.238.140

强制UDP扫描

1
sudo nmap -sT -sV -sC -O -p80,111,777,52497,5353 172.16.20.131
组成部分 内容 作用
扫描类型参数 -sT 启用 TCP 全连接扫描(完整三次握手验证端口状态)
服务版本探测参数 -sV 探测开放端口对应的服务类型及具体版本号
操作系统探测参数 -O 识别目标主机的操作系统类型及内核版本
目标端口 80,111,777,52497,5353 指定需扫描的 5 个 TCP 端口(逗号分隔)
目标 IP 172.16.20.131 待探测的内网目标 IP(172.16.0.0/12 私有网段)
1
sudo nmap --script=vuln -p80 127.0.0.1
组成部分 内容 作用
脚本参数 --script=vuln 加载 Nmap 内置的「漏洞探测类脚本集」,针对目标端口进行漏洞扫描
目标端口 -p80 指定仅扫描目标主机的 80 端口(HTTP 服务默认端口)
目标 IP 127.0.0.1 本地回环地址,对应当前运行 Nmap 的本机(用于本地服务漏洞自查)
1
2
3
4
grep open ./nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ','

ports=$(grep open ./nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',')

好习惯,将端口提取出来

linpeans

1
curl -L https://github.com/peass-ng/PEASS-ng/releases/download/20251115-0322d43c/linpeas.sh | sh

UDF提权

secure_file_priv 为空或者为可利用目录时可以UDF提权

This post is licensed under CC BY 4.0 by the author.