网络安全之超强Linux信息收集:渗透测试与应急响应的基石(命令超强集合工作手册)

目录

Linux信息收集:

渗透测试与应急响应的基石

[1. Linux系统信息收集有哪些命令?](#1. Linux系统信息收集有哪些命令?)

虚拟化技术检测:

系统基本信息:

用户信息:

环境配置:

网络信息:

系统进程:

特权访问:

cron任务:

软件信息:

文件枚举:

[2. 这些命令能应用于哪些安全漏洞场景中?](#2. 这些命令能应用于哪些安全漏洞场景中?)

虚拟化技术检测:

系统基本信息:

用户信息:

环境配置:

网络信息:

系统进程:

特权访问:

cron任务:

软件信息:

文件枚举:

[3. 这些命令在应急响应中如何应用?](#3. 这些命令在应急响应中如何应用?)

虚拟化技术检测:

系统基本信息:

用户信息:

环境配置:

网络信息:

系统进程:

特权访问:

cron任务:

软件信息:

文件枚举:

[4. 红队常用的Linux信息收集工具](#4. 红队常用的Linux信息收集工具)

Metasploit:

LinEnum:

[5. 分类总结:漏洞利用与应急响应](#5. 分类总结:漏洞利用与应急响应)

漏洞利用:

应急响应:

[6. 实际案例](#6. 实际案例)

漏洞利用案例

案例1:利用内核漏洞提权

案例2:利用Docker组提权

案例3:路径劫持提权

案例4:利用SUID文件提权

应急响应案例

案例5:检测恶意网络连接

案例6:检测恶意进程

案例7:检查恶意定时任务

案例8:利用SSH私钥横向移动

[7. 命令总结(代码段)](#7. 命令总结(代码段))

[8. 总结逻辑与知识点](#8. 总结逻辑与知识点)

逻辑:

知识点:


Linux信息收集:

渗透测试与应急响应的基石
  • 在Linux系统中,信息收集是渗透测试和应急响应的关键第一步。
    • 通过收集系统架构、用户信息、网络拓扑、进程状态和文件权限等信息,渗透测试人员可以快速了解目标系统,识别潜在漏洞并制定提权策略;
    • 应急响应人员则能迅速定位异常,遏制攻击并恢复安全。
  • Linux信息收集的命令及其应用。
    • 信息收集的重要性在于,它帮助测试人员避免盲目攻击,节省时间和资源。
    • 例如,通过uname -r获取内核版本,可直接查找对应漏洞;
    • 通过id发现用户组权限,可利用Docker或sudo提权。
  • 在应急响应中,netstat -antlp能揭示未授权连接,ps aux能定位恶意进程。
    • 常用命令包括:systemd-detect-virt检测虚拟化环境,cat /etc/passwd枚举用户,find / -perm -u=s -type f查找SUID文件等。这些命令覆盖系统、网络、进程和文件多个维度,为后续行动提供依据。红队工具如Metasploit和LinEnum进一步提升效率,自动化收集关键信息。
  • 总之:
    • Linux信息收集是权限提升和安全防御的基石,掌握相关命令和应用场景,能显著提升攻防能力。

1. Linux系统信息收集有哪些命令?

基于文章内容,以下是Linux系统中常用的信息收集命令,分类列出:

虚拟化技术检测
  • systemd-detect-virt:检测系统是否运行在虚拟化环境中。

  • grep 'docker' /proc/1/cgroup:判断是否在Docker容器中。

系统基本信息
  • uname -a:查看系统名称、版本、架构、主机名和内核版本。

  • uname -r:查看内核版本。

  • uname -m:查看系统架构。

  • cat /etc/*-release:查看发行版本信息。

  • hostnameuname -n:查看主机名。

用户信息
  • whoami:查看当前用户名。

  • id:查看当前用户详细信息(用户ID、组ID等)。

  • cat /etc/passwd:查看所有用户信息。

  • cat /etc/group:查看所有用户组。

  • for i in $(cut -d":" -f1 /etc/passwd); do id $i; done:获取所有用户及其ID和组信息。

  • w:查看当前登录用户信息。

  • users:查看当前登录用户。

  • last:查看历史登录信息。

  • grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1 }':查找超管用户。

环境配置
  • env | grep -v 'LS_COLORS':查看系统环境变量。

  • echo $PATH:查看环境变量中的路径信息。

  • cat /etc/profile:查看用户环境配置文件。

  • cat /etc/shells:查看可用Shell。

网络信息
  • ifconfig -aip addr show:查看网络接口信息。

  • arp -a:查看ARP缓存信息。

  • route:查看IP路由表。

  • netstat -antlp:查看所有网络连接信息。

  • netstat -ntpl:查看监听的TCP端口。

  • netstat -nupl:查看监听的UDP端口。

  • cat /etc/resolv.conf:查看DNS配置文件。

系统进程
  • ps aux:查看所有系统进程。

  • ps aux | grep 'root':查看以root权限运行的进程。

  • ps aux | awk '{print $11}' | xargs -I {} ls -l {}:查看进程对应的二进制文件及权限。

特权访问
  • cat /etc/sudoers:查看sudoers文件(需root权限)。

  • echo ' ' | sudo -S -l -k:检查是否可以无密码使用sudo。

cron任务
  • ls -la /etc/cron*:查看所有cron任务。

  • for user in $(getent passwd | cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done:查看所有用户的定时任务(需root权限)。

  • crontab -l:查看当前用户的定时任务。

  • crontab -l -u root:查看指定用户的定时任务(需root权限)。

软件信息
  • yum list installed(CentOS):查看已安装的程序。

  • dpkg -lapt list(Debian/Ubuntu):查看已安装的程序。

文件枚举
  • which nc; which netcat; which nmap; which gcc; which wget:检查常用工具是否安装。

  • ls -la /etc/passwd; ls -la /etc/group; ls -la /etc/profile; ls -la /etc/shadow:查看敏感文件权限。

  • find / -perm -u=s -type f:查找SUID文件。

  • find / -perm -g=s -type f:查找SGID文件。

  • find / -writable ! -user $(whoami) -type f ! -path "/proc/*" ! -path "/sys/*" -exec ls -al {} \;:查找可写文件。

  • find . -name "*.php" -print0 | xargs -0 grep -i -n "pass":查找包含关键字的文件。

  • ls -la /*_history:查找历史命令记录文件。

  • find / -name ".*" -type f -path "/home/*" -exec ls -al {} \;:查找隐藏文件。

  • find / -name "*.ovpn" -type f -path "/home/*" -exec ls -al {} \;:查找VPN配置文件。

  • find / -name id_rsa:查找SSH私钥文件。


2. 这些命令能应用于哪些安全漏洞场景中?

以下是命令在安全漏洞场景中的应用:

虚拟化技术检测
  • systemd-detect-virtgrep 'docker' /proc/1/cgroup:判断是否在虚拟机或容器中运行,以便选择虚拟机逃逸或容器提权技术。

系统基本信息
  • uname -auname -runame -mcat /etc/*-release:获取内核版本和架构,查找已知内核漏洞或发行版特定的漏洞。

用户信息
  • idcat /etc/passwdcat /etc/group:获取用户和组信息,用于权限提升(如利用不安全组)或横向移动。

环境配置
  • envecho $PATH:检查环境变量,寻找路径劫持机会。

网络信息
  • ifconfig -aip addr showarp -aroutenetstat -antlp:获取网络接口和连接信息,用于网络嗅探或横向移动。

系统进程
  • ps auxps aux | grep 'root':识别root进程,尝试进程注入或提权。

特权访问
  • cat /etc/sudoersecho ' ' | sudo -S -l -k:检查sudo配置,寻找无密码提权机会。

cron任务
  • ls -la /etc/cron*crontab -l:检查定时任务,寻找提权或持久化机会。

软件信息
  • yum list installeddpkg -lapt list:识别已安装软件,查找已知漏洞。

文件枚举
  • find / -perm -u=s -type ffind / -writable ! -user $(whoami) -type f:查找SUID文件或可写文件,用于提权。

  • find / -name id_rsa:查找SSH私钥,获取其他服务器权限。


3. 这些命令在应急响应中如何应用?

以下是命令在应急响应中的应用,分类总结:

虚拟化技术检测
  • systemd-detect-virtgrep 'docker' /proc/1/cgroup:判断系统环境,评估攻击范围。

系统基本信息
  • uname -auname -runame -mcat /etc/*-release:确定系统版本和架构,检查已知漏洞。

用户信息
  • wuserslast:检查当前和历史登录用户,识别异常活动。

环境配置
  • cat /etc/profilecat /etc/shells:检查配置文件,寻找配置错误。

网络信息
  • netstat -antlpnetstat -ntplnetstat -nuplcat /etc/resolv.conf:检查网络连接和端口,识别未授权活动。

系统进程
  • ps auxps aux | awk '{print $11}' | xargs -I {} ls -l {}:检查进程,识别恶意进程。

特权访问
  • cat /etc/sudoers:检查sudo配置,寻找提权痕迹。

cron任务
  • for user in $(getent passwd | cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done:检查定时任务,识别恶意任务。

软件信息
  • yum list installeddpkg -lapt list:检查软件版本,识别易受攻击软件。

文件枚举
  • ls -la /*_historyfind / -name ".*" -type f -path "/home/*"find / -name "*.ovpn" -type f -path "/home/*"find / -name id_rsa:检查历史记录、隐藏文件和配置文件,寻找恶意文件或凭据。

4. 红队常用的Linux信息收集工具

基于文章,以下是红队常用的工具:

Metasploit
  • 模块如post/linux/gather/enum_network:收集网络信息。

  • 其他模块如checkvmenum_configs:检测虚拟化技术、枚举配置。

LinEnum
  • 自动化脚本,收集内核版本、敏感文件、用户、定时任务等信息。

5. 分类总结:漏洞利用与应急响应
漏洞利用
  • 虚拟化技术检测systemd-detect-virtgrep 'docker' /proc/1/cgroup

  • 系统基本信息uname -auname -runame -mcat /etc/*-release

  • 用户信息idcat /etc/passwdcat /etc/group

  • 环境配置envecho $PATH

  • 网络信息ifconfig -aip addr showarp -aroutenetstat -antlp

  • 系统进程ps auxps aux | grep 'root'

  • 特权访问cat /etc/sudoersecho ' ' | sudo -S -l -k

  • cron任务ls -la /etc/cron*crontab -l

  • 软件信息yum list installeddpkg -lapt list

  • 文件枚举find / -perm -u=s -type ffind / -writable ! -user $(whoami) -type f

应急响应
  • 虚拟化技术检测systemd-detect-virtgrep 'docker' /proc/1/cgroup

  • 系统基本信息uname -auname -runame -mcat /etc/*-release

  • 用户信息wuserslast

  • 环境配置cat /etc/profilecat /etc/shells

  • 网络信息netstat -antlpnetstat -ntplnetstat -nuplcat /etc/resolv.conf

  • 系统进程ps auxps aux | awk '{print $11}' | xargs -I {} ls -l {}

  • 特权访问cat /etc/sudoers

  • cron任务for user in $(getent passwd | cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done

  • 软件信息yum list installeddpkg -lapt list

  • 文件枚举ls -la /*_historyfind / -name ".*" -type f -path "/home/*"find / -name "*.ovpn" -type f -path "/home/*"find / -name id_rsa


6. 实际案例
漏洞利用案例
案例1:利用内核漏洞提权
  1. 执行uname -r,输出内核版本为3.10.0-514.el7.x86_64

  2. 搜索该版本已知漏洞,发现CVE-2017-1000112(提权漏洞)。

  3. 下载对应漏洞利用代码,编译并运行,成功获取root权限。

案例2:利用Docker组提权
  1. 执行id,发现当前用户属于docker组。

  2. 执行docker run -v /:/mnt -it alpine chroot /mnt sh,挂载根目录并进入新Shell。

  3. 在新Shell中以root身份操作,提权成功。

案例3:路径劫持提权
  1. 执行echo $PATH,发现/tmp在PATH中且可写。

  2. 创建恶意脚本lsecho "whoami > /tmp/rootcheck" > /tmp/ls)。

  3. 设置执行权限(chmod +x /tmp/ls),等待root用户执行ls,确认提权。

案例4:利用SUID文件提权
  1. 执行find / -perm -u=s -type f,发现/usr/bin/customtool为SUID文件。

  2. 检查其功能,发现可执行任意命令。

  3. 执行/usr/bin/customtool /bin/sh,获取root Shell。

应急响应案例
案例5:检测恶意网络连接
  1. 执行netstat -antlp,发现未知IP的TCP连接(192.168.1.100:4444)。

  2. 执行ps aux | grep 4444,定位关联进程PID。

  3. 执行ls -l /proc/<PID>/exe,确认恶意二进制文件,删除并隔离。

案例6:检测恶意进程
  1. 执行ps aux | grep 'root',发现异常进程/tmp/.hidden以root运行。

  2. 执行ls -l /tmp/.hidden,确认文件属性异常。

  3. 终止进程(kill -9 <PID>),删除文件并分析来源。

案例7:检查恶意定时任务
  1. 执行crontab -l,发现每分钟运行/tmp/backdoor.sh

  2. 查看文件内容(cat /tmp/backdoor.sh),确认恶意代码。

  3. 删除定时任务(crontab -e)和文件,记录日志。

案例8:利用SSH私钥横向移动
  1. 执行find / -name id_rsa,发现/backup/.ssh/id_rsa可读。

  2. 复制私钥到本地(scp),设置权限(chmod 600 id_rsa)。

  3. 执行ssh -i id_rsa root@目标IP,成功登录另一服务器。


7. 命令总结(代码段)
bash 复制代码
# 虚拟化技术检测
systemd-detect-virt
grep 'docker' /proc/1/cgroup
​
# 系统基本信息
uname -a
uname -r
uname -m
cat /etc/*-release
hostname
uname -n
​
# 用户信息
whoami
id
cat /etc/passwd
cat /etc/group
for i in $(cut -d":" -f1 /etc/passwd); do id $i; done
w
users
last
grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1 }'
​
# 环境配置
env | grep -v 'LS_COLORS'
echo $PATH
cat /etc/profile
cat /etc/shells
​
# 网络信息
ifconfig -a
ip addr show
arp -a
route
netstat -antlp
netstat -ntpl
netstat -nupl
cat /etc/resolv.conf
​
# 系统进程
ps aux
ps aux | grep 'root'
ps aux | awk '{print $11}' | xargs -I {} ls -l {}
​
# 特权访问
cat /etc/sudoers
echo ' ' | sudo -S -l -k
​
# cron任务
ls -la /etc/cron*
for user in $(getent passwd | cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done
crontab -l
crontab -l -u root
​
# 软件信息
yum list installed  # CentOS
dpkg -l  # Debian/Ubuntu
apt list  # Debian/Ubuntu
​
# 文件枚举
which nc; which netcat; which nmap; which gcc; which wget
ls -la /etc/passwd; ls -la /etc/group; ls -la /etc/profile; ls -la /etc/shadow
find / -perm -u=s -type f
find / -perm -g=s -type f
find / -writable ! -user $(whoami) -type f ! -path "/proc/*" ! -path "/sys/*" -exec ls -al {} \;
find . -name "*.php" -print0 | xargs -0 grep -i -n "pass"
ls -la /*_history
find / -name ".*" -type f -path "/home/*" -exec ls -al {} \;
find / -name "*.ovpn" -type f -path "/home/*" -exec ls -al {} \;
find / -name id_rsa

8. 总结逻辑与知识点
逻辑
  • 信息收集是Linux渗透测试和应急响应的基础,通过系统化收集信息,确定攻击路径或异常点,从而实现提权或防御目标。

知识点
  • Linux命令行操作、系统架构、用户和组管理、环境变量配置、网络配置、进程管理、文件权限、定时任务、软件包管理。

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!


相关推荐
小白跃升坊6 分钟前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey25 分钟前
【Linux】线程同步与互斥
linux·笔记
杨江26 分钟前
seafile docker安装说明
运维
舰长11528 分钟前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀33 分钟前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng42 分钟前
Linux 输出重定向
linux·运维
路由侠内网穿透.44 分钟前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独1 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3
Acrelhuang1 小时前
工商业用电成本高?安科瑞液冷储能一体机一站式解供能难题-安科瑞黄安南
大数据·开发语言·人工智能·物联网·安全
VekiSon1 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发