【网安-Web渗透测试-内网渗透】内网信息收集(Linux命令行集合)
·
目录
1. 内网基础知识
内网即局域网,由组织或公司的计算机组成,可通过私有协议通信,实现数据安全便捷传输。
1.1 局域网
1.1.1 局域网简介
局域网(LAN)是局部范围内的网络,由计算机、打印机、服务器等设备通过网络互联,实现资源共享与信息交换。拓扑结构可采用星型、环型等,支持以太网等技术。
常见应用包括文件共享、联机游戏、视频会议等,同时支持电子邮件、FTP等Internet应用。
1.1.2 局域网的网络结构

核心组成包括:
- 客户端:用户使用的计算机,用于获取网络资源和服务;
- 服务器:提供文件、打印、数据库等网络服务;
- 网络媒介:连接网络设备的物理载体(如电缆、无线电波);
- 网络设备:连接各类设备(如交换机、路由器);
- 网络协议:设备通信标准(如TCP/IP、IPX/SPX协议)。
(3)局域网的特点
网络规模小(范围数百米内)、传输速度快、拓扑结构灵活、维护成本低、安全性高。
1.2 内网渗透
内网渗透是获取目标服务器控制权后,通过内网信息收集、代理、权限提升、横向移动等技术,获取内网其他主机(如域控、运维主机)权限的过程。
域渗透思路:
- 通过域成员主机,定位域控制器IP及域管理员账号;
- 以域成员主机为跳板,渗透其他域成员;
- 利用域管理员权限特性,定位其登录过的主机,dump密码并拿下域控制器;
- 渗透整个内网。
2.内网信息收集(Linux命令)
2.1 内核、操作系统和设备信息
- 打印所有可用的系统信息(内核、主机名、架构等)
$ uname -a
- 查看内核版本
$ uname -r
- 查看系统主机名
$ uname -n
- 查看系统内核架构(64位/32位)
$ uname -m
- 查看/设置系统主机名
$ hostname
- 查看系统发行版详细信息(适用于多数Linux发行版)
$ lsb_release -a
- 查看内核详细信息(含编译信息)
$ cat /proc/version
- 查看系统发行版信息(通用方式)
$ cat /etc/*-release
- 查看系统发行版简易信息(登录前显示内容)
$ cat /etc/issue
- 查看CPU详细信息(核心数、型号、频率等)
$ cat /proc/cpuinfo
- 更直观地查看CPU信息
$ lscpu
- 查看内存详细信息(总内存、空闲内存等)
$ cat /proc/meminfo
- 以人性化格式查看内存使用情况
$ free -h
- 查看磁盘分区及空间使用情况
$ df -h
- 查看磁盘分区结构(直观显示磁盘、分区关系)
$ lsblk
2.2 用户和群组信息
- 列出系统上的所有用户(含用户ID、家目录、shell等)
$ cat /etc/passwd
- 查看用户密码哈希(需root权限)
$ cat /etc/shadow
- 列出系统上的所有组(含组ID、组内用户)
$ cat /etc/group
- 查看当前用户所在的所有组
$ groups
- 查看test用户所在的所有组
$ groups test
- 查看xxx组内的所有用户
$ getent group xxx
- 列出所有超级用户(UID=0的用户)
$ grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'
- 查看是否存在空口令用户
$ awk -F: 'length($2)==0 {print $1}' /etc/shadow
- 查看使用密码登录(非密钥)的账号
$ awk '/\$1|\$6/{print $1}' /etc/shadow
- 查看当前登录用户名
$ whoami
- 查看当前已登录用户及他们的操作(含CPU占用、执行命令)
$ w
- 显示系统中所有已登录的用户(简洁版)
$ who
- 查看最后登录用户的列表(含登录时间、IP、退出时间)
$ last
- 查看所有用户上次登录的信息
$ lastlog
- 查看指定用户上次登录的详细信息
$ lastlog –u %username%
- 查看指定用户的UID、GID及所属组
$ id %username%
- 查看系统默认的用户创建配置
$ useradd -D
2.3 用户和权限信息
- 查看当前用户名
$ whoami
- 查看当前用户的UID、GID及所属组
$ id
- 查看可使用sudo提升至root权限的用户/组
$ cat /etc/sudoers
- 查看当前用户可以root身份执行的操作
$ sudo -l
- 查看当前目录下文件/目录的权限
$ ls -l
- 查看当前目录下所有文件(含隐藏文件)的权限及所有者
$ ls -la
- 查看权限修改方法(辅助查看权限相关)
$ chmod --help
- 查看所有者修改方法(辅助查看权限相关)
$ chown --help
2.4 环境信息
- 显示所有系统环境变量
$ env
- 显示本地环境变量(含shell内置变量)
$ set
- 查看环境变量中的路径信息(可执行文件搜索路径)
$ echo $PATH
- 显示和设置环境变量
$ export [-fnp][变量名称]=[变量设置值]
- 输出当前工作目录
$ pwd
- 查看默认系统环境变量配置
$ cat /etc/profile
- 查看系统可用的shell类型
$ cat /etc/shells
- 查看/etc目录下所有配置文件
$ ls -la /etc/*.conf
- 查看当前用户的家目录
$ echo $HOME
- 查看当前用户使用的shell
$ echo $SHELL
- 查看当前用户的bash环境配置
$ cat ~/.bashrc
2.5 历史命令
- 查看当前用户的历史命令记录
$ history
- 查看当前用户历史命令的存储文件(完整记录)
$ cat ~/.bash_history
- 查看其他用户(user)的历史命令文件(需权限)
$ cat /home/user/.bash_history
- 清空当前用户的历史命令(辅助操作)
$ history -c
- 查看历史命令保存的最大条数
$ echo $HISTSIZE
2.6 进程信息
- 以用户格式显示所有进程(含非终端进程、CPU/内存占用)
$ ps aux
- 显示所有进程(含UID、父进程PPID、启动时间等)
$ ps -ef
- 查询某个应用(如java)的所有进程信息
$ ps -ef | grep java
- 实时显示系统资源占用最多的进程(按q退出)
$ top
- 更直观的实时进程监控工具(需安装)
$ htop
- 以树状结构显示进程之间的父子关系
$ pstree
- 查看所有可用的进程信号
$ kill -l
- 快速查询java进程的PID
$ pgrep java
2.7 服务信息
- 查询系统中定义的所有服务及端口
$ cat /etc/services
- 查询与Java相关的服务
$ cat /etc/services | grep Java
- 查询已开启的服务
$ systemctl list-units --type=service --state=running
- 查询已停止的服务
$ systemctl list-units --type=service --state=stopped
- 查看指定服务的运行状态
$ systemctl status <服务名>
- 查看所有服务的运行状态
$ service --status-all
- 查看所有服务的开机自启状态
$ chkconfig --list
2.8 计划任务
- 计划任务存储路径(按优先级排序):
| 路径 | 说明 |
|---|---|
| /var/spool/cron/crontabs/ | 按账号区分,存储每个用户的个人计划任务 |
| /var/spool/cron/ | 所有用户的计划任务 |
| /var/spool/anacron/* | anacron计划任务(非实时执行) |
| /etc/crontab | 系统级计划任务(需指定执行用户) |
| /etc/anacrontab | 系统级anacron计划任务 |
| /etc/cron.* | 计划任务相关的配置目录(如cron.d、cron.hourly) |
- 查询当前用户的所有计划任务
$ crontab -l
- 查询指定用户(user)的计划任务(需root权限)
$ crontab -l -u user
- 查询root用户的计划任务
$ cat /var/spool/cron/crontabs/root
- 查看系统级计划任务
$ cat /etc/crontab
- 检查anacron计划任务配置
$ anacron -t
2.9 网络、路由和通信信息
- 查看网络接口配置(IP、MAC、子网掩码等)
$ ifconfig
- 查看网络接口配置(替代ifconfig,更全面)
$ ip addr
- 查询路由表
$ route
- 查询路由表(以IP地址显示,不解析域名)
$ route -n
- 查询路由表
$ netstat -r
- 查询路由表(简写,替代route命令)
$ ip ro
- 查看ARP缓存表(IP与MAC对应关系)
$ arp -a
- 查看所有端口(TCP+UDP,显示进程名、PID)
$ netstat -antup
- 查看所有TCP端口
$ netstat -antp
- 查看所有UDP端口
$ netstat -anup
- 查看端口与服务的对应关系
$ cat /etc/services
- 查看防火墙规则(默认filter表)
$ iptables -L
- 查看网络接口的流量统计
$ netstat -i
- 查看DNS配置信息(域名服务器)
$ cat /etc/resolv.conf
- 打印DNS系统中FQDN名称的域名
$ dnsdomainname -V
- 查看本地hosts域名解析文件(IP与域名映射)
$ cat /etc/hosts
- 测试网络连通性
$ ping <目标IP/域名>
- 测试指定端口是否可达
$ telnet <目标IP 端口>
- 查看端口占用(替代netstat,更高效)
$ ss -antup
- 查看网络接口状态
$ ip link show
- 查看网络统计信息(TCP/UDP连接数等)
$ netstat -s
2.10 已安装应用信息
Redhat、CentOS(RPM包管理):
- 查看所有已安装软件(按安装时间排序)
$ rpm -qa --last
- 查看指定应用(polkit)的安装版本
$ rpm -qa polkit
- 查看指定软件的安装文件路径
$ rpm -ql <软件名>
- 查看指定软件的详细信息(版本、厂商等)
$ rpm -qi <软件名>
Ubuntu、Debian(DPKG包管理):
- 查看所有已安装软件
$ dpkg -l
- 查看指定应用(policykit-1)的安装版本
$ dpkg -l policykit-1
- 查询某个软件所关联的文件
$ dpkg -L xxx
- 查看指定软件的详细状态
$ dpkg -s xxx
通用查询:
- 查看指定命令的可执行文件路径
$ which <命令名>
- 查看指定命令的可执行文件、配置文件路径
$ whereis <命令名>
- 查找软件相关文件
$ find / -name "<软件名>"
2.11 可写/可执行目录查找
- 查找系统中所有可写目录(忽略错误信息)
$ find / -writable -type d 2>/dev/null
- 查找其他用户可写的目录
$ find / -perm -o+w -type d 2>/dev/null
- 查找其他用户可执行的目录
$ find / -perm -o+x -type d 2>/dev/null
- 查找设置了SUID权限的文件(高风险)
$ find / -perm -u+s -type f 2>/dev/null
- 查找设置了SGID权限的文件(高风险)
$ find / -perm -g+s -type f 2>/dev/null
- 单独查找/home目录下的可写目录
$ find /home -writable -type d 2>/dev/null
2.12 防火墙配置
- 查看防火墙规则(filter表,默认)
$ iptables -L
- 查看防火墙规则(不解析域名,更快速)
$ iptables -L -n
- 查看防火墙状态:
$ systemctl status firewalld
$ service iptables status
- 暂时关闭防火墙:
$ systemctl stop firewalld
$ service iptables stop
- 永久关闭防火墙:
$ systemctl disable firewalld
$ chkconfig iptables off
- 重启防火墙:
$ systemctl restart firewalld
$ service iptables restart
- 永久开启防火墙:
$ systemctl enable firewalld
2.13 敏感文件查找
- 查找历史命令、配置、密码相关敏感文件
$ find / -type f -iname "*.bash_history" -o -iname "*config*" -o -iname "web.xml" -o -iname "*database*" -o -iname "*pass*" 2>/dev/null
- 查找SSH密钥相关文件
$ find / -name "id_dsa*" -o -name "id_rsa*" -o -name "known_hosts" -o -name "authorized_hosts" -o -name "authorized_keys" 2>/dev/null |xargs -r ls
- 查找证书、密钥文件
$ find / -name "*.pem" -o -name "*.key" -o -name "*.crt" 2>/dev/null
- 查找包含密码的日志、文本文件
$ find / -name "*.log" -o -name "*.txt" 2>/dev/null | grep -i pass
- 查看密码备份文件
$ cat /etc/passwd- /etc/shadow-
- 查找系统日志文件
$ find /var/log -type f -name "*.log" 2>/dev/null
2.14 Web应用服务配置
3.14.1 Apache/Nginx配置文件路径
- Apache配置文件:
/apache/apache/conf/httpd.conf
/apache/apache2/conf/httpd.conf
/etc/apache/apache.conf
/etc/apache/httpd.conf
/etc/apache2/apache.conf
/etc/apache2/httpd.conf
/etc/apache2/sites-available/default
/etc/apache2/vhosts.d/00_default_vhost.conf
/etc/httpd/conf.d/httpd.conf
/etc/httpd/conf/httpd.conf
/home/apache/conf/httpd.conf
/home/apache2/conf/httpd.conf
/opt/www/conf/httpd.conf
/usr/local/apache/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/httpd/conf/httpd.conf
/var/httpd/conf/httpd.conf
/var/local/www/conf/httpd.conf
/var/www/conf/httpd.conf
/www/conf/httpd.conf
- Nginx配置文件:
/etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf
/var/nginx/conf/nginx.conf
2.14.2 PHP配置文件路径(php.ini)
/apache/php/php.ini
/bin/php.ini
/etc/httpd/conf.d/php.conf
/etc/php.ini
/etc/php/apache/php.ini
/etc/php/apache2/php.ini
/etc/php/cgi/php.ini
/etc/php/php4/php.ini
/etc/php4.4/fcgi/php.ini
/etc/php4/apache/php.ini
/etc/php4/apache2/php.ini
/etc/php4/cgi/php.ini
/etc/php5/apache/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/home/bin/stable/apache/php.ini
/home2/bin/stable/apache/php.ini
/NetServer/bin/stable/apache/php.ini
/opt/xampp/etc/php.ini
/PHP/php.ini
/php/php.ini
/php4/php.ini
/php5/php.ini
/usr/lib/php.ini
/usr/local/apache/conf/php.ini
/usr/local/apache2/conf/php.ini
/usr/local/etc/php.ini
/usr/local/lib/php.ini
/usr/local/php/lib/php.ini
/usr/local/php4/lib/php.ini
/usr/local/php5/etc/php.ini
/usr/local/php5/lib/php.ini
/usr/local/php5/php5.ini
/usr/local/share/examples/php/php.ini
/usr/local/share/examples/php4/php.ini
/usr/local/Zend/etc/php.ini
/var/httpd/conf/php.ini
/var/local/www/conf/php.ini
/web/conf/php.ini
/www/php/php.ini
/www/php4/php.ini
/www/php5/php.ini
/xampp/apache/bin/php.ini
2.14.3 数据库配置文件路径(MySQL/MariaDB)
/etc/init.d/mysql
/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf
/var/lib/mysql/mysql/user.MYD
/usr/local/mysql/bin/mysql
/usr/local/mysql/my.cnf
/usr/share/mysql/my.cnf
# MySQL数据文件
/var/lib/mysql/ibdata1
2.15 其他信息收集命令
时间信息:
- 查看当前系统时间
$ date
- 查看/设置系统时间、时区
$ timedatectl
- 查看系统时区
$ cat /etc/timezone
系统负载信息:
- 查看系统运行时间及负载(1/5/15分钟)
$ uptime
- 查看系统负载及用户登录情况
$ w
开机自启项:
- 查看开机自启的服务
$ systemctl list-unit-files --type=service | grep enabled
- 查看开机自启的服务
$ chkconfig --list | grep on
硬件信息:
- 查看详细硬件信息(需安装)
$ lshw :
- 查看硬件信息(需安装)
$ hwinfo
- 查看指定端口对应的进程
$ lsof -i:<端口号>
系统日志信息
- 查看systemd系统日志
$ journalctl
- 查看系统通用日志
$ cat /var/log/messages
- 查看系统安全日志(登录、权限相关)
$ cat /var/log/secure
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)