自学渗透测试第11天(Linux压缩解压与磁盘管理)

第5章 文件操作与靶场部署(第11--14天)

5.1 Linux压缩解压与磁盘管理(第11天)

核心目标
  1. 掌握文件打包与压缩 :熟练使用targzipbzip2zipunzip7z等命令,处理渗透测试中收集的数据、传输工具、日志打包。

  2. 掌握磁盘空间管理 :熟练使用dfdumountfdisklsblk等命令,分析目标系统存储结构,定位大文件、敏感数据存储位置。

  3. 掌握文件系统操作:理解Linux文件系统层次,能够检查磁盘使用情况、挂载点、文件系统类型,为数据窃取、日志清理、取证分析打下基础。

模块一:文件打包与压缩工具
1.1 tar - 打包与解包工具
  • 核心功能:将多个文件/目录打包成一个文件(归档),常与压缩工具结合使用。

  • 常用选项

    • -c:创建归档文件。

    • -x:提取归档文件。

    • -v:显示详细过程。

    • -f:指定归档文件名。

    • -z:通过gzip压缩/解压。

    • -j:通过bzip2压缩/解压。

    • -J:通过xz压缩/解压。

    • -t:列出归档内容。

  • 实战示例

    复制代码
    # 打包并压缩
    tar -czvf backup.tar.gz /var/www/html  # 打包并gzip压缩
    tar -cjvf backup.tar.bz2 /etc/         # 打包并bzip2压缩
    # 解压
    tar -xzvf backup.tar.gz                # 解压gzip压缩包
    tar -xjvf backup.tar.bz2 -C /tmp/      # 解压到/tmp目录
    # 查看内容
    tar -tzf archive.tar.gz
1.2 gzip / bzip2 / xz - 压缩工具
  • 特点对比

    • gzip(.gz):速度快,压缩率一般。

    • bzip2(.bz2):速度慢,压缩率高。

    • xz(.xz):速度最慢,压缩率最高。

  • 独立使用

    复制代码
    gzip file.txt        # 压缩,生成file.txt.gz
    gunzip file.txt.gz   # 解压
    bzip2 file.txt       # 压缩
    bunzip2 file.txt.bz2 # 解压
1.3 zip / unzip - 跨平台压缩工具
  • 特点:Windows/Linux通用,支持密码加密。

  • 实战示例

    复制代码
    zip -r backup.zip /var/log/         # 递归压缩目录
    zip -e secret.zip file.txt          # 加密压缩(会提示输入密码)
    unzip backup.zip -d /tmp/extract/   # 解压到指定目录
    unzip -l backup.zip                 # 列出压缩包内容
1.4 7z - 高压缩率工具
  • 安装sudo apt install p7zip-full

  • 实战示例

    复制代码
    7z a backup.7z /var/www/           # 创建压缩包
    7z x backup.7z -o/tmp/             # 解压到/tmp
    7z l backup.7z                     # 列出内容
    7z a -p backup_encrypted.7z /path/to/data  # 创建加密压缩包
模块二:磁盘与文件系统管理
2.1 磁盘空间查看
  • df- 查看文件系统磁盘空间使用情况

    复制代码
    df -h                    # 人类可读格式(推荐)
    df -i                    # 查看inode使用情况
    df -T                    # 显示文件系统类型
  • du- 查看目录/文件磁盘使用情况

    复制代码
    du -sh /var/log/         # 查看/var/log/总大小
    du -ah /home/ | sort -rh | head -20  # 列出/home下最大的20个文件/目录
    #-a:显示所有的文件。-h:以人类可读的形式显示。-r:反向排序,从大到小(默认是从小到大)
    du -sh *                 # 查看当前目录下各文件/目录大小
2.2 磁盘分区与挂载
  • lsblk- 列出块设备信息

    复制代码
    lsblk                    # 树形显示磁盘和分区
    lsblk -f                 # 显示文件系统类型和UUID
  • mount/ umount- 挂载/卸载文件系统

    复制代码
    mount                    # 显示已挂载的文件系统
    mount /dev/sdb1 /mnt/    # 挂载分区到/mnt
    umount /mnt/             # 卸载
  • fdisk/ parted- 磁盘分区工具

    复制代码
    sudo fdisk -l            # 查看所有磁盘分区表
    sudo fdisk /dev/sdb      # 对/dev/sdb进行分区操作
2.3 文件系统检查与修复
  • fsck- 检查并修复Linux文件系统

    复制代码
    sudo fsck /dev/sda1      # 检查文件系统(需先卸载)
模块三:渗透测试中的实战应用
3.1 数据打包与传输
  • 压缩渗透工具包:在公网服务器下载工具前先压缩,避免被安全设备检测。

    复制代码
    tar -czf tools.tar.gz sqlmap nmap-scripts
    #sqlmap nmap-scripts:指的是在上述命令中被压缩的文件内容。
  • 压缩并加密敏感数据:获取到敏感数据后,加密压缩再传输。

    复制代码
    zip -e confidential_data.zip database_dump.csv
    tar -czvf - /etc/passwd /etc/shadow | openssl enc -aes-256-cbc -out secrets.tar.gz.enc
    # Openssl:作用是充当"加密管道"。enc:编码/加密命令。-aes-256-cbc:加密算法(军用级别的加密算法) -out :输出
3.2 磁盘分析与敏感文件定位
  • 查找大文件:在目标系统上快速定位可能包含数据库、日志、备份的大文件。

    复制代码
    find / -type f -size +100M 2>/dev/null | xargs du -h | sort -rh
    #xargs:从标准输入读取数据,将读取到的数据作为参数传输给后面的命令进行使用。
  • 分析磁盘使用热点:确定哪些分区或目录存储了关键数据。

    复制代码
    df -h
    du -sh /home/* /var/* 2>/dev/null | sort -rh
    #-s:详细显示每个子目录的大小。
3.3 日志清理与空间释放
  • 查找大日志文件并清理

    复制代码
    find /var/log -type f -name "*.log" -size +100M
    # 清空大日志文件(谨慎操作!)
    : > /var/log/large.log
模块四:当日达标实战任务
4.1 压缩解压操作
  1. 创建测试数据 :在/tmp/test_dir下创建多个文件和一些嵌套目录,填充一些文本数据。

  2. 打包压缩 :使用tar分别创建.tar.gz.tar.bz2.tar.xz格式的压缩包,比较它们的大小和压缩时间。

  3. 加密压缩 :使用zip7z创建一个带有密码的压缩包,并尝试解压验证。

4.2 磁盘空间分析
  1. 系统概览 :使用df -hlsblk命令,绘制出你Kali虚拟机的磁盘分区结构图,标注每个挂载点的使用率和文件系统类型。

  2. 空间占用分析 :使用du命令,找出/var目录下占用空间最大的前5个子目录。

  3. 查找大文件:在整个文件系统中搜索大于50MB的文件,列出它们的路径和大小。

4.3 综合场景:数据收集与整理
  1. 模拟渗透数据打包 :假设你在一次授权测试中收集了以下数据:/var/www/html下的网站源码、/etc/passwd/etc/shadow文件、/var/log/apache2/access.log。请编写一个脚本或命令序列,将这些数据打包成一个按时间命名的压缩包(如collection_20240515.tar.gz),并计算压缩包的哈希值(md5sum, sha256sum)以供验证完整性。
模块五:常见问题与解决方案
5.1 压缩解压问题
  • 解压时提示"不支持的文件格式"或"文件已损坏" :确认压缩文件的完整性和格式,使用file命令查看文件类型,或尝试用其他工具解压。

  • zip加密压缩包忘记密码 :尝试使用fcrackzip等工具进行破解,但强密码难以破解。

  • tar解压时路径穿越攻击 :恶意压缩包可能包含绝对路径或../路径,解压时可能覆盖系统文件。使用tar--strip-components或指定解压目录,或在沙箱中操作。

5.2 磁盘管理问题
  • dfdu结果不一致 :通常是因为有文件被删除但仍有进程占用(空间未释放),重启进程或系统可解决。lsof | grep deleted查找此类文件。

  • 磁盘空间已满但找不到大文件 :可能是大量小文件占满inode。使用df -i检查inode使用率,并用find定位小文件密集的目录。

  • 无法卸载设备"device is busy" :有进程正在使用该挂载点。使用lsoffuser找出进程并终止,或使用umount -l(lazy卸载)。


明日预告 :第12天将系统回顾渗透测试标准流程 ,并动手在虚拟机中部署和配置DVWA,这是后续所有Web漏洞实验的基础环境。我们将学习环境隔离、网络配置和初步的漏洞验证。


免责声明

本技术分享内容仅供学习和交流目的,不构成任何形式的专业建议或承诺。

分享者不对因使用或参考本内容而导致的任何直接或间接损失或损害承担责任。

网络安全技术涉及潜在风险,请在合法授权范围内谨慎操作,遵守相关法律法规。

读者应自行评估技术适用性,并在实际环境中采取必要的安全措施。

版权声明

未经许可,不得擅自修改、转载或用于商业用途。

相关推荐
lifewange4 小时前
Linux ps 进程查看命令详解
linux·运维·服务器
功德+n4 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
左手厨刀右手茼蒿5 小时前
Linux 内核中的块设备驱动:从原理到实践
linux·嵌入式·系统内核
杨云龙UP5 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
HXQ_晴天5 小时前
Ubuntu 设置中文输入法
linux·运维·ubuntu
Dovis(誓平步青云)5 小时前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
左手厨刀右手茼蒿5 小时前
Linux 内核中的模块机制:从加载到卸载
linux·嵌入式·系统内核
0vvv05 小时前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu