Kali Linux 秘籍 第二章 定制 Kali Linux

时间:2021-09-12 17:57:13

第二章 定制 Kali Linux

作者:Willie L. Pritchett, David De Smet

译者:飞龙

协议:CC BY-NC-SA 4.0

这一章会向你介绍Kali的定制,便于你更好地利用它。我们会涉及到ATI和英伟达GPU技术的安装和配置,以及后面章节所需的额外工具。基于ATI和英伟达GPU的显卡允许我们使用它们的图像处理单元(GPU)来执行与CPU截然不同的操作。我们会以ProxyChains的安装和数字信息的加密来结束这一章。

2.1 准备内核头文件

有时我们需要使用所需的内核头文件来编译代码。内核头文件是Linux内核的源文件。这个秘籍中,我们会解释准备内核头文件所需的步骤,便于以后使用。

准备

完成这个秘籍需要网络连接。

操作步骤

让我们开始准备内核头文件:

  1. 我们首先通过执行下列命令升级发行版作为开始:

    apt-get update

    Kali Linux 秘籍 第二章 定制 Kali Linux

  2. 下面,我们需要再次使用apt-get来准备内核头文件,执行下列命令:

    apt-get install linux-headers - `uname –r`

    Kali Linux 秘籍 第二章 定制 Kali Linux

  3. 复制下列目录以及其中的全部内容:

    cd /usr/src/linux 
    cp -rf include/generated/* include/linux/
  4. 我们现在已准备好编译需要内核头文件的代码。

2.2 安装 Broadcom 驱动

在这个秘籍中,我们将要安装 Broadcom 官方的Linux混合无线驱动。 使用Broadcom 无线USB适配器可以让我们在Kali上连接我们的无线USB接入点。对于这本书的其余秘籍,我们假设Broadcom 无线驱动已经安装。

准备

完成这个秘籍需要网络连接。

操作步骤

让我们开始安装 Broadcom 驱动:

  1. 打开终端窗口,从http://www.broadcom.com/support/802.11/linux_sta.php下载合适的Broadcom 驱动:

    cd /tmp/ 
    wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_ x86_64-v5_100_82_112.tar.gz

    Kali Linux 秘籍 第二章 定制 Kali Linux

  2. 使用下列命令解压下载的驱动:

    mkdir broadcom 
    tar xvfz hybrid-portsrc_x86_64-v5_100_82_112.tar.gz –C /tmp/ broadcom
  3. 修改wl_cfg80211.c文件,由于5.100.82.112版本中有个bug,会阻止小于2.6.39内核版本上的编译:

    vim /tmp/broadcom/src/wl/sys/wl_cfg80211.c

    观察代码段的1814行:


    #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)

    将其改为:


    #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)

    并保存修改。

  4. 编译代码:

    make clean
    make
    make install
  5. 更新依赖:

    depmod -a
  6. 通过下列命令找到加载的模块:

    lsmod | grep b43|ssb|bcma
  7. 通过执行下列命令移除发现的模块:

    rmmod <module>b43

    其中<module>应为b43ssbbcma

  8. 将模块加入黑名单,防止它们在系统启动中加载:

    echo "blacklist <module>" >> /etc/modprobe.d/blacklist.conf 

    其中<module>应为b43ssbwl

  9. 最后,将新模块添加到Linux内核中,来使它成为启动进程的一部分:

    modprobe wl

2.3 安装和配置ATI显卡驱动

这个秘籍中,我们会详细讲解ATI显卡驱动的安装和配置,在此之前需要AMD Accelerated Parallel Processing (APP) SDK、OepnCL和CAL++。我们可以利用 ATI Stream技术的优势来运行计算密集型任务 – 它们通常运行在CPU上 – 使它们更快更高效地执行。更多ATI Stream技术相关的详细信息,请访问www.amd.com/stream

准备

需要网络连接来完成这个秘籍。同时在开始这个秘籍之前需要准备内核头文件,它在第一节有所涉及。

操作步骤

让我们开始安装和配置ATI驱动:

  1. 下载系统所需的ATI显示驱动:

    cd /tmp/ 
    wget http://www2.ati.com/drivers/linux/amd-driver-installer-121-x86.x86_64.run

    我们也可以从下面的网址下载显示驱动:[http://support. amd.com/us/gpudownload/Pages/index.aspx](http://support. amd.com/us/gpudownload/Pages/index.aspx)。

    Kali Linux 秘籍 第二章 定制 Kali Linux

  2. 通过键入下列命令来开始安装:

    sh amd-driver-installer-12-1-x86.x86_64.run

    Kali Linux 秘籍 第二章 定制 Kali Linux

  3. 在安装完成之后,重启你的系统来使改变生效,并且避免不稳定。

  4. 为之后的步骤安装一些依赖:

    apt-get install libroot-python-dev libboost-python-dev libboost1.40-all-dev cmake
  5. 下载并解压 AMD APP SDK,根据你的CPU架构:

    wget http://developer.amd.com/Downloads/AMD-APP-SDK-v2.6-lnx64.tgz 
    mkdir AMD-APP-SDK-v2.6-lnx64
    tar zxvf AMD-APP-SDK-v2.6-lnx64.tgz –C /tmp/AMD-APP-SDK-v2.6-lnx64
    cd AMD-APP-SDK-v2.6-lnx64
  6. 通过下列命令安装AMD APP SDK:

    sh Install-AMD-APP.sh
  7. .bashsrc文件中设置ATI Stream的路径:

    echo export ATISTREAMSDKROOT=/opt/AMDAPP/ >> ~/.bashrc 
    source ~/.bashrc
  8. 下载并编译calpp

    cd /tmp/ 
    svn co https://calpp.svn.sourceforge.net/svnroot/calpp calpp
    cd calpp/trunk
    cmake .
    make
    make install
  9. 下载并编译pyrit

    cd /tmp/ 
    svn co http://pyrit.googlecode.com/svn/trunk/ pyrit_src
    cd pyrit_src/pyrit
    python setup.py build
    python setup.py install
  10. 构建并安装OpenCL:

    cd /tmp/pyrit_src/cpyrit_opencl 
    python setup.py build
    python setup.py install\
  11. cpyrit_calpp的安装做一些小修改:

    cd /tmp/pyrit_source/cpyrit_calpp 
    vi setup.py

    找到下面这一行:

    VERSION = '0.4.0-dev' 

    把它改成:

    VERSION = '0.4.1-dev' 

    之后,找到下面这一行:

    CALPP_INC_DIRS.append(os.path.join(CALPP_INC_DIR, 'include')) 

    把它改成:

    CALPP_INC_DIRS.append(os.path.join(CALPP_INC_DIR, 'include/CAL'))
  12. 最后将ATI GPU模块添加到pyrit:

    python setup.py build 
    python setup.py install

为了展示可用的CAL++设备和CPU的核数,我们需要键入下列命令:

pyrit list_cores

为了进行跑分,我们只需要键入:

pyrit benchmark

2.4 安装和配置英伟达显卡驱动

这个秘籍中,我们会拥抱CUDA,英伟达的并行计算架构。在CUDA工具包的安装之后,首先会安装英伟达开发者显示驱动。通过使用GPU的威力,这会带来计算性能的戏剧性提升,它们通常用于一些类似密码破解的场合。

有关CUDA的更多信息,请浏览他们的官方网站

准备

需要网络连接来完成这个秘籍。

同时需要在开始之前准备内核头文件,这在第一节中有所涉及。

为了完成英伟达驱动的安装,需要关闭X会话。

操作步骤

让我们开始安装和配置英伟达显卡驱动:

  1. 下载英伟达开发者显示驱动,根据你的CPU架构:

    cd /tmp/ 
    wget http://developer.download.nvidia.com/compute/cuda/4_1/rel/ drivers/NVIDIA-Linux-x86_64-285.05.33.run

    Kali Linux 秘籍 第二章 定制 Kali Linux

  2. 安装驱动:

    chmod +x NVIDIA-Linux-x86_64-285.05.33.run 
    ./NVIDIA-Linux-x86_64-285.05.33.run –kernel-source-path='/usr/src/ linux'
  3. 下载CUDA工具包:

    wget http://developer.download.nvidia.com/compute/cuda/4_1/rel/ toolkit/cudatoolkit_4.1.28_linux_64_ubuntu11.04.run
  4. 安装CUDA工具包到/opt

    chmod +x cudatoolkit_4.1.28_linux_64_ubuntu11.04.run 
    ./cudatoolkit_4.1.28_linux_64_ubuntu11.04.runConfigure the environment variables required for nvcc to work:
    echo PATH=$PATH:/opt/cuda/bin >> ~/.bashrc
    echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cuda/lib >> ~/.bashrc
    echo export PATH >> ~/.bashrc
    echo export LD_LIBRARY_PATH >> ~/.bashrc
  5. 运行以下命令来使变量生效:

    source ~/.bashrc 
    ldconfig
  6. 安装pyrit的依赖:

    apt-get install libssl-dev python-dev python-scapy
  7. 下载并安装GPU增效工具pyrit

    svn co http://pyrit.googlecode.com/svn/trunk/ pyrit_src 
    cd pyrit_src/pyrit
    python setup.py build
    python setup.py install
  8. 最后,将英伟达GPU模块添加到pyrit

    cd /tmp/pyrit_src/cpyrit_cuda 
    python setup.py
    build python setup.py install

为了验证nvcc是否正确安装,我们需要键入下列命令:

nvcc -V

为了进行跑分,我们只需要键入下列命令:

pyrit benchmark

2.5 升级和配置额外的安全工具

这个秘籍中,我们会涉及到升级Kali,以及配置一些额外的工具,它们对于之后的章节和秘籍十分实用。由于Kali的包在发布之间会不断升级,你很快就会发现比起之前在你的DVD中下载好的工具,又提供了一系列新的工具。我们会以升级来开始,之后获得Nessus的激活码,并以安装Squid来结束。

操作步骤

让我们开始进行升级,以及配置额外的安全工具。

  1. 使用仓库中最新的修改来更新本地的包索引:

    apt-get update
  2. 升级现有的包:

    apt-get upgrade
  3. 升级到最新版本(如果可用的话):

    apt-get dist-upgrade
  4. 获得Nessus的激活码,通过在[这里]( http://www.nessus.org/ products/nessus/nessus-plugins/obtain-an-activation-code)注册。

  5. 通过执行下列命令来激活Nessus:

    /opt/nessus/bin/nessus-fetch --register A60F-XXXX-XXXX-XXXX-0006 

    其中A60F-XXXX-XXXX-XXXX-0006应为你的激活码。

  6. 为Nessus Web界面创建账户:

    /opt/nessus/sbin/nessus-adduser
  7. 为了启动Nessus服务器,我们只需要执行下列命令:

    /etc/init.d/nessusd start
  8. 安装Squid:

    apt-get install squid3 
  9. 阻止Squid在启动时自动运行:

    update-rc.d -f squid3 remove

为了在仓库中找到特定的包,我们可以在apt-get update之后使用下列命令:

apt-cache search <keyword> 

其中<keyword>是包名称或者正则表达式。

2.6 配置ProxyChains

这个章节中,我们会强制指定应用的网络连接使用用户定义的代理列表,来打破接受者和发送者之间的直接连接。

操作步骤

  1. 打开ProxyChains的配置文件:

    vim /etc/proxychains.conf 
  2. 解除我们打算使用的链接类型的注释,这里是dynamic_chain

    Kali Linux 秘籍 第二章 定制 Kali Linux

  3. 向列表中添加一些代理服务器:

    Kali Linux 秘籍 第二章 定制 Kali Linux

  4. 使用我们的链式代理来解析目标主机:

    proxyresolv www.targethost.com 
  5. 现在可以在我们打算使用的应用上运行ProxyChains,例如msfconsole

    proxychains msfconsole

2.7 目录加密

这一章的最后一个秘籍关于信息隐私。我们会使用TrueCrypt通过密钥来隐藏重要和私密的数字信息,远离公众的眼睛。

操作步骤

  1. 通过访问Applications Menu | Kali | Forensics | Digital Anti Forensics | install truecrypt来安装TrueCrypt。

    Kali Linux 秘籍 第二章 定制 Kali Linux

    点击Install TrueCrypt(安装TrueCrypt)并且遵循屏幕上的指导。

  2. Applications Menu | Kali Linux | Forensics | Digital Anti Forensics | truecrypt运行TrueCrypt,你会看到下面的窗口:

    Kali Linux 秘籍 第二章 定制 Kali Linux

  3. 点击Create Volume(新建卷)来启动TrueCrypt Volume Creation Wizard(TrueCrypt卷创建向导)。

  4. 保留默认选项并点击Next

  5. 选择Standard TrueCrypt(标准TrueCrypt)模式并点击Next

  6. 点击Select File…(选择文件)按钮并为新的TrueCrypt卷指定名称和路径。完成后点击Save(保存)。

    Kali Linux 秘籍 第二章 定制 Kali Linux

  7. 点击Next按钮并选择打算使用的加密和哈希算法。

  8. 在下个屏幕中,我们会为容器指定空间总量。

  9. 现在我们需要为我们的卷键入密码。点击Next

  10. 选择文件系统类型。

  11. 按需选择Cross-Platform Support(跨平台支持)。

  12. 在下个屏幕中,向导会让我们在窗口内移动鼠标,来增加加密密钥的密码强度。完成后点击Format(格式化)按钮。

  13. 格式化会开始,完成时TrueCrypt的卷就创建好了。按下OKExit(退出)。

  14. 我们现在回到TrupCrypt窗口。

  15. 从列表中选择一个Slot(槽)来解密我们的卷,点击Select File…(选择文件),并打开我们创建的卷。

  16. 点击Mount(挂载)并键入我们的密码,完成后点击OK

    Kali Linux 秘籍 第二章 定制 Kali Linux

  17. 我们现在可以通过在槽上双击或通过挂载目录来访问卷,以及在里面保存文件。当我们完成之后,只需要点击Dismount All(解除所有挂载)。

工作原理

这个秘籍中,我们配置了 Truecrypt,创建了保护卷,之后挂载了它。这是个用于保护数据安全性的实用工具。