首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-04-25 04:45
  • 3217
  • 11900
blog.csdn.net

目录

Linux信息收集:

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

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

虚拟化技术检测:

系统基本信息:

用户信息:

环境配置:

网络信息:

系统进程:

特权访问:

cron任务:

软件信息:

文件枚举:

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

虚拟化技术检测:

系统基本信息:

用户信息:

环境配置:

网络信息:

系统进程:

特权访问:

cron任务:

软件信息:

文件枚举:

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

虚拟化技术检测:

系统基本信息:

用户信息:

环境配置:

网络信息:

系统进程:

特权访问:

cron任务:

软件信息:

文件枚举:

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

Metasploit:

LinEnum:

5. 分类总结:漏洞利用与应急响应

漏洞利用:

应急响应:

6. 实际案例

漏洞利用案例

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

案例2:利用Docker组提权

案例3:路径劫持提权

案例4:利用SUID文件提权

应急响应案例

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

案例6:检测恶意进程

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

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

7. 命令总结(代码段)

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:查看发行版本信息。

    • hostname 或 uname -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 -a 或 ip 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 -l 或 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:查找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-virt、grep 'docker' /proc/1/cgroup:判断是否在虚拟机或容器中运行,以便选择虚拟机逃逸或容器提权技术。

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

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

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

  • 网络信息:
    • ifconfig -a、ip addr show、arp -a、route、netstat -antlp:获取网络接口和连接信息,用于网络嗅探或横向移动。

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

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

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

  • 软件信息:
    • yum list installed、dpkg -l、apt list:识别已安装软件,查找已知漏洞。

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

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


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

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

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

  • 系统基本信息:
    • uname -a、uname -r、uname -m、cat /etc/*-release:确定系统版本和架构,检查已知漏洞。

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

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

  • 网络信息:
    • netstat -antlp、netstat -ntpl、netstat -nupl、cat /etc/resolv.conf:检查网络连接和端口,识别未授权活动。

  • 系统进程:
    • ps aux、ps 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 installed、dpkg -l、apt list:检查软件版本,识别易受攻击软件。

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


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

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

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

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

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


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

    • 系统基本信息:uname -a、uname -r、uname -m、cat /etc/*-release

    • 用户信息:id、cat /etc/passwd、cat /etc/group

    • 环境配置:env、echo $PATH

    • 网络信息:ifconfig -a、ip addr show、arp -a、route、netstat -antlp

    • 系统进程:ps aux、ps aux | grep 'root'

    • 特权访问:cat /etc/sudoers、echo ' ' | sudo -S -l -k

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

    • 软件信息:yum list installed、dpkg -l、apt list

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

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

    • 系统基本信息:uname -a、uname -r、uname -m、cat /etc/*-release

    • 用户信息:w、users、last

    • 环境配置:cat /etc/profile、cat /etc/shells

    • 网络信息:netstat -antlp、netstat -ntpl、netstat -nupl、cat /etc/resolv.conf

    • 系统进程:ps aux、ps 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 installed、dpkg -l、apt list

    • 文件枚举:ls -la /*_history、find / -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. 创建恶意脚本ls(echo "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//exe,确认恶意二进制文件,删除并隔离。

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

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

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

案例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. 命令总结(代码段)
  1. # 虚拟化技术检测
  2. systemd-detect-virt
  3. grep 'docker' /proc/1/cgroup
  4. ​
  5. # 系统基本信息
  6. uname -a
  7. uname -r
  8. uname -m
  9. cat /etc/*-release
  10. hostname
  11. uname -n
  12. ​
  13. # 用户信息
  14. whoami
  15. id
  16. cat /etc/passwd
  17. cat /etc/group
  18. for i in $(cut -d":" -f1 /etc/passwd); do id $i; done
  19. w
  20. users
  21. last
  22. grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1 }'
  23. ​
  24. # 环境配置
  25. env | grep -v 'LS_COLORS'
  26. echo $PATH
  27. cat /etc/profile
  28. cat /etc/shells
  29. ​
  30. # 网络信息
  31. ifconfig -a
  32. ip addr show
  33. arp -a
  34. route
  35. netstat -antlp
  36. netstat -ntpl
  37. netstat -nupl
  38. cat /etc/resolv.conf
  39. ​
  40. # 系统进程
  41. ps aux
  42. ps aux | grep 'root'
  43. ps aux | awk '{print $11}' | xargs -I {} ls -l {}
  44. ​
  45. # 特权访问
  46. cat /etc/sudoers
  47. echo ' ' | sudo -S -l -k
  48. ​
  49. # cron任务
  50. ls -la /etc/cron*
  51. for user in $(getent passwd | cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done
  52. crontab -l
  53. crontab -l -u root
  54. ​
  55. # 软件信息
  56. yum list installed  # CentOS
  57. dpkg -l  # Debian/Ubuntu
  58. apt list  # Debian/Ubuntu
  59. ​
  60. # 文件枚举
  61. which nc; which netcat; which nmap; which gcc; which wget
  62. ls -la /etc/passwd; ls -la /etc/group; ls -la /etc/profile; ls -la /etc/shadow
  63. find / -perm -u=s -type f
  64. find / -perm -g=s -type f
  65. find / -writable ! -user $(whoami) -type f ! -path "/proc/*" ! -path "/sys/*" -exec ls -al {} \;
  66. find . -name "*.php" -print0 | xargs -0 grep -i -n "pass"
  67. ls -la /*_history
  68. find / -name ".*" -type f -path "/home/*" -exec ls -al {} \;
  69. find / -name "*.ovpn" -type f -path "/home/*" -exec ls -al {} \;
  70. find / -name id_rsa

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

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


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


注:本文转载自blog.csdn.net的浩策的文章"https://blog.csdn.net/zhzx123aa/article/details/146505303"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

122
操作系统
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top