首页 > 其他分享 >Kali高手都在用的环境变量技巧,学会这些就能实现隐蔽渗透!黑客技术零基础入门到精通教程

Kali高手都在用的环境变量技巧,学会这些就能实现隐蔽渗透!黑客技术零基础入门到精通教程

时间:2025-01-13 21:30:00浏览次数:3  
标签:网络安全 变量 Kali HISTSIZE 黑客技术 export PATH 环境变量

大家好,我们今天继续更新《黑客视角下的Kali Linux的基础与网络管理》中的管理用户环境变量。为了充分利用我们的黑客操作系统Kali Linux,我们需要理解和善于使用环境变量,这样会使我们的工具更具便利,甚至具有一定的隐蔽性。

在这里插入图片描述

1. 环境变量基础概念

1.1 什么是变量?

变量在计算机中是绕不开的话题,它就像是一个购物袋:

  • 可以往里面放东西(赋值)

  • 可以拿出来看看里面有什么(读取)

  • 可以把里面的东西换成别的(修改)

  • 用完可以扔掉(删除)

变量本质上是一组键值对,格式为KEY=value

1.2 变量类型

从技术角度,变量主要分为两类:

1. shell变量

  • 以小写字母形式列出

  • 仅在当前shell中有效

2. 环境变量

  • 系统内置的全局变量

  • 控制系统外观和行为

  • 可被子shell或进程继承

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

2. 基础环境变量管理

2.1 查看环境变量

# 查看所有默认环境变量
env

# 查看所有变量(包括环境变量、shell变量、本地变量)
set

# 使用more分页查看
set | more

# 过滤特定变量
set | grep HISTSIZE

2.2 基本变量操作

# 设置变量
VARIABLE_NAME=value

# 读取变量
echo $VARIABLE_NAME

# 删除变量
unset VARIABLE_NAME

3. 环境变量的高级操作

3.1 环境变量的动态控制

# 创建一个干净的环境变量空间
env -i bash

# 只保留特定环境变量
env -i PATH=$PATH HOME=$HOME bash

# 局部变量声明
local HACK_TOOL="/opt/tools/hack"

# 只读变量设置
readonly SECURE_PATH="/secure/path"

3.2 环境配置文件管理

# ~/.pentest_profile
export HACK_HOME="/opt/hacktools"
export PAYLOAD_PATH="$HACK_HOME/payloads"
export WORDLIST_PATH="$HACK_HOME/wordlists"
export PROXY_CHAINS="socks5://127.0.0.1:9050"

# 使用配置
source ~/.pentest_profile

4. 特殊环境变量配置

4.1 历史记录管理

# 修改历史记录大小
HISTSIZE=1000
export HISTSIZE

# 禁用历史记录(用于隐蔽操作)
HISTSIZE=0
export HISTSIZE

4.2 PATH环境变量管理

在Shell命令行中直接使用的命令

# 查看当前PATH
echo $PATH
# 添加新路径
PATH=$PATH:/new/path

可以保存在独立的脚本文件中(如 ~/.bash_functions),然后通过 source 命令加载

# 清理重复路径
clean_path() {
    if [ -n "$PATH" ]; then
        old_PATH=$PATH:
        PATH=
        while [ -n "$old_PATH" ]; do
            x=${old_PATH%%:*}
            case$PATH: in
                *:"$x":*) ;;
                *) PATH=$PATH:$x;;
            esac
            old_PATH=${old_PATH#*:}
        done
        PATH=${PATH#:}
    fi
} 

5. 安全性和隐蔽性

5.1 变量加密存储

可以创建专门的函数文件,例如 ~/.secure_vars_functions,对环境变量进行加密

# 加密敏感变量
encrypt_var() {
    echo "$1" | openssl enc -aes-256-cbc -a -salt > ~/.secure_vars
}

# 解密使用
decrypt_var() {
    cat ~/.secure_vars | openssl enc -aes-256-cbc -a -d
}

5.2 环境隔离和切换

可以创建专门的函数文件,例如 ~/.secure_vars_functions,对环境变量进行隔离和切换。通过 switch_env 命令配合不同参数(stealth/attack/normal)来切换工作环境。其中 stealth 模式通过设置 HISTSIZE=0 来禁用历史记录并使用简单提示符 “”,适合执行需要保密的操作;attack 模式会将渗透测试工具路径添加到 PATH 并使用 "[Attack]# " 提示符,方便进行测试工作;normal 模式则恢复到标准的历史记录大小和默认提示符 "kali@hack:~ ",用于日常工作。这个函数通常保存在专门的函数配置文件中(如 ~/.bash_functions),通过在 ~/.bashrc 中 source 来加载使用。

# 创建多环境切换函数
switch_env() {
    case$1in
        "stealth")
            export HISTSIZE=0
            export PS1="$ "
            ;;
        "attack")
            export PATH="$PATH:$HACK_HOME/bin"
            export PS1="[Attack]# "
            ;;
        "normal")
            export HISTSIZE=1000
            export PS1="kali@hack:~$ "
            ;;
    esac
}

6. 工具链和代理配置

6.1 工具链路径管理

# 添加多个工具路径
setup_toolchain() {
    local tools=(
        "/opt/metasploit-framework/bin"
        "/opt/burpsuite/bin"
        "/opt/custom_scripts"
    )
    for tool in "${tools[@]}"; do
        PATH="$PATH:$tool"
    done
    export PATH
}

6.2 代理链配置

# 配置多层代理
setup_proxy_chain() {
    export HTTP_PROXY="http://proxy1:8080"
    export HTTPS_PROXY="http://proxy2:8080"
    export SOCKS_PROXY="socks5://proxy3:1080"
    export NO_PROXY="localhost,127.0.0.1"
}

7. 调试和维护

7.1 环境变量监控

# 创建环境变量修改监控
watch_vars() {
    whiletrue; do
        current=$(set | md5sum)
        if [ "$current" != "$last" ]; then
            echo"环境变量发生变化!"
            diff <(echo"$last") <(echo"$current")
        fi
        last=$current
        sleep 1
    done
}

7.2 环境诊断

# 创建环境诊断函数
check_env() {
    echo"检查关键环境变量..."
    for var in PATH LD_LIBRARY_PATH PYTHONPATH; do
        echo"$var = ${!var}"
    done
    
    echo"检查权限..."
    ls -l ~/.bashrc ~/.profile
    
    echo"检查最近修改..."
    find ~ -maxdepth 1 -mtime -1 -type f -name ".*"
}

8. 最佳实践建议

  1. 环境变量管理
  • 定期审查和清理

  • 保持命名规范

  • 注意变量作用域

  1. 安全考虑
  • 加密存储敏感信息

  • 实施访问控制

  • 监控环境变化

  1. 性能优化
  • 合理配置PATH

  • 使用懒加载

  • 避免环境臃肿

  1. 备份和恢复
  • 定期备份配置

  • 建立恢复机制

  • 保持文档更新

通过掌握这些环境变量管理技巧,我们可以更好地控制和优化Kali Linux系统,提高渗透测试效率,同时保持必要的隐蔽性和安全性。环境变量不仅是简单的配置工具,更是一种强大的系统管理和控制机制。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

标签:网络安全,变量,Kali,HISTSIZE,黑客技术,export,PATH,环境变量
From: https://blog.csdn.net/wholeliubei/article/details/145124170

相关文章

  • 万字详解内网渗透该怎么学!黑客技术零基础入门到精通实战教程建议收藏!
    前言:本文主要记录了作者之前在内网渗透的一个全方面的学习过程,包括如何从外网找到入口点,之后如何提权,然后如何在内网中进行一个信息收集,当存在域的情况下又是怎么收集信息,然后通过代理来进一步横向,不论是一层代理还是两层,本文都有涉及,以及一些常见的代理工具的使用方法、权......
  • 实战自动化加解密&加密场景下的暴力破解,黑客技术零基础入门到精通实战教程!
    场景拿到一个站,请求和响应中的数据均经过加密,但是我们想在测试中看到明文数据并可以修改前两天看到有个师傅的使用双层mitmproxy代理实现自动化加解密的思路,今天来实现一下。顺便回忆一下该场景下使用Yakit热加载进行数据暴力破解。思路请求:设置下游代理捕获浏览器......
  • 安装Maven,配置环境变量,修改本地仓库,idea中引入依赖报错-已经解决(是我一个cainiao改bu
    安装Maven,配置环境变量,修改本地仓库后idea中引入依赖报错1.安装Maven1.1下载Maven记得去官网下载 :  https://maven.apache.org/download.cgi二进制文件,下载即安装1.2Maven安装下载完毕之后可以剪切到自己想要安装的目录,然后解压即可。(下载解压即安装)2.配置环境......
  • Kali系统的网络配置
    修改kali的apt安装包的源修改kali系统的apt安装包的源,更为kali系统初始的下载源,更改为国内中科大的下载源,可以更快的提升访问速度操作如下,先切换到root用户,然后输入以下指令,打开apt安装包源的所在位置 在进入之后,界面如下按i键进入编辑页面,然后我们将第二条注释掉 在插......
  • nvm 安装进行node多版本管理及环境变量配置
    注意:1、安装nvm之前需要卸载之前的nodejs,并且还要删除之前的环境变量配置,否则会出现一些奇怪的问题2、nvm的安装路径不能有中文或者空格,否则后面在cmd中切换node版本会出现乱码一、完全卸载旧的nodejs参考文章《Node卸载超详细步骤》1、打开系统的控制面板,点击卸载程序,卸载no......
  • 【2025最新】Kali linux零基础学习教程(超详细),从下载、安装到使用,看这一篇就够了!
    kali镜像官网:Indexof/kali-images/1.打开虚拟机选择新建虚拟机安装的位置需要提前新建好桥接网络-把物理机当成了交换机。特点:虚拟机的ip和物理机的ip是同一个网段的。前提:确定自己是否有足够多的ip.对应vmnet0NAT:网络地址转换:对应vmnet1,主机模式:虚拟机......
  • mac m1 安装ffmpeg,配置环境变量
    1首先要安装brew2  gitclonehttps://git.ffmpeg.org/ffmpeg.gitffmpeg3 cdffmpeg4执行脚本 ./configure--prefix=/opt/local5编译 sudomake,需要提权,要不系统目录无法创建文件夹6安装 makeinstall7安装成功,查看 ffmpeg版本  /opt/local/bin/ffmpeg-ve......
  • 雷池社区版WAF 容器常用环境变量说明
    常用环境变量说明此处列举了一些容器的常用环境变量WAF版本>=7.4.0safeline-mgt变量名称默认值说明MGT_PGpostgres://safeline-ce:${POSTGRES_PASSWORD}@safeline-pg/safeline-ce?sslmode=disablePG地址LUIGI_HOSTsafeline-luigiluigi服务的host地址C......
  • Linux环境变量配置
    0前言环境变量的配置主要便于操作系统正确的搜索到想要的文件,以及一些其他的配置。Linux中的环境变量配置分别有三种:临时的,个人用户的,全局的。相比Windows中的环境变量配置,多了临时的选项。1三种配置方法1.1临时配置export用户在终端可以通过export命令完成环境变量的临时......
  • Linux 环境变量配置
    Linux环境变量配置在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。按变量的周期划为永久变量和临时性变量2种:永久变量:通过修改配置文件,配置之后变量永久生效。临时性变量:使用命令如export等命令设置,设置之后马上生效。当关闭shell的时候失......