在树莓派2上折腾kali2.0小记(1)

本文主要是对自己在树莓派2上折腾kali2.0过程的一个记录,主要面向初学者,欢迎各位大神赐教。

很久之前就听说过树莓派大名,刚好今年发布2.0版本,而且刚好最近有空,就入手了一套系统。

硬件

基本:树莓派2 本人用的EL版

      5V2A电源带开关线一个

      Kingston 64G内存卡一枚 SD卡兼容性列表:http://elinux.org/RPi_SD_cards  (16G足够,本       着一次到位原则选了个大的)

扩展:HDMI转VGA转接头一个,配上USB键鼠可在网络出问题时本地调试,一般用不到。

软件  

      系统镜像:kali for raspberry pi  https://www.offensive-security.com/kali-linux-vmware-arm-p_w_picpath-download/ 到KALI官网找到树莓派版本下载即可。

      内存卡烧录工具:Win32 Disk Imager和usb p_w_picpath tool都可以,本文用Win32 Disk Imager。

      远程连接工具:SecureCRT和VNC Viewer。SecureCRT用于SSH连接进行初始配置,VNC Viewer在配置好VNCserver后用于图形化远程连接。


初始简单配置


系统镜像写入

首先下载系统镜像并解压为img格式,将内存卡连接到计算机,打开Win32 Disk Imager选择对应内存卡和img镜像,点击write开始写入。写入后内存卡会在Windows系统显示大小仅为几十MB,这是由于写入镜像后内存卡转换为Linux的ext分区,Windows识别不到,在磁盘管理和分区软件中能够看到。要还原为普通内存卡的话直接利用分区工具删除所有分区重建分区即可。


启动树莓派

将写好镜像的内存卡插入树莓派内存卡插槽中,连接好网线,接上电源开机。红灯是电源指示灯,绿灯是系统指示灯,如果只有红灯常亮说明系统有问题。这里使用局域网连接,还有其他很多方法请自行百度。在同一局域网内找到树莓派开机后新增加的IP,然后使用SSH进行连接。如果有显示器和键鼠直接在本地配置也可以。

进入系统后输入用户名:root 默认密码:toor。


调整分区

因为写入的系统分区默认没有使用内存卡的全部空间,需要扩展分区大小使用全部的空间。首先输入df查询空间使用情况,如果是raspberry pi的原生系统可以使用自带工具进行调整,目前kali2.0没有集成

此工具,这里利用fdisk工具进行手动调整。

fdisk /dev/mmcblk0

p查看到挂载点为/的分区数值,将分区的start值和分区号记录下来。

d 删除分区

2 选择分区号

p 查看目前磁盘分区状态

n 新建分区

p 分区类型为主分区

输入开始和结束的磁盘块数值

w 写入

partprobe应用

重启后利用resize2fs重新修改分区大小:resize2fs /dev/mmcblk0p2

至此分区大小调整完成。




解决vi编辑中上下左右和Backspace键失效

修改配置文件

vi /etc/vim/vimrc.tiny

set compatible修改为set nocompatible

然后加入一行

set backspace=2

保存退出即可。


修改源

vi /etc/apt/source.list

百度搜索最新的kali源复制进去即可,这里列举一些目前的源:

#官方源

deb http://http.kali.org/kali kali main non-free contrib

deb-src http://http.kali.org/kali kali main non-free contrib

deb http://security.kali.org/kali-security kali/updates main contrib non-free 

#中科大kali源

deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib

deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib

deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free

#debian_wheezy国内源

deb http://ftp.sjtu.edu.cn/debian wheezy main non-free contrib

deb-src http://ftp.sjtu.edu.cn/debian wheezy main non-free contrib 

deb http://ftp.sjtu.edu.cn/debian wheezy-proposed-updates main non-free contrib 

deb-src http://ftp.sjtu.edu.cn/debian wheezy-proposed-updates main non-free contrib 

deb http://ftp.sjtu.edu.cn/debian-security wheezy/updates main non-free contrib 

deb-src http://ftp.sjtu.edu.cn/debian-security wheezy/updates main non-free contrib 

deb http://mirrors.163.com/debian wheezy main non-free contrib 

deb-src http://mirrors.163.com/debian wheezy main non-free contrib 

deb http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib 

deb-src http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib 

deb-src http://mirrors.163.com/debian-security wheezy/updates main non-free contrib 

deb http://mirrors.163.com/debian-security wheezy/updates main non-free contrib


安装VNC服务

这里推荐安装tightvnc,简单易用。

apt-get install tightvncserver

tightvncserver

配置连接密码和只读密码。之后输入tightvnc开启VNC服务,再输一次会开放第二个服务终端。然后利用VNC连接工具进行连接(手机端也有类似工具),填写服务器IP:终端号和访问密码即可,需要注意VNC服务端口号为5900,第一个终端号的端口号为5901,向后以此类推。接下来设置VNC服务开机启动。

编辑文件并写入,注意根据实际情况修改用户名

vi /etc/init.d/tightvncserver 

#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $syslog $remote_fs $network
# Required-Stop: $syslog $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts VNC Server on system start.
# Description: Starts tight VNC Server. Script written by James Swineson.
### END INIT INFO
# /etc/init.d/tightvncserver
VNCUSER='root'
case "$1" in
        start)
                su $VNCUSER -c '/usr/bin/tightvncserver :1'
                echo "Starting TightVNC Server for $VNCUSER"
        ;;
        stop)
                pkill Xtightvnc
                echo "TightVNC Server stopped"
        ;;
        *)
                echo "Usage: /etc/init.d/tightvncserver {start|stop}"
                exit 1
        ;;
esac
exit 0

然后进行授权和开机启动

chmod 755 /etc/init.d/tightvncserver

update-rc.d tightvncserver defaults

如要取消开机启动则输入

update-rc.d -f tightvncserver remove


解决图形化界面中TAB命令补全失效

在图形化界面中打开终端输入命令时,TAB命令补全功能无效,这是由于快捷键冲突造成的,在命令行终端中输入

xfwm4-settings

打开快捷键设置,选择keyboard选项卡,找到TAB快捷键对应的“switch widow for same application”,将其快捷键改换或清除即可。


系统配置


软件安装和更新


kali的rpi版本精简了大部分软件,所以要实现kali所有的功能需要将缺失的软件进行安装和更新。

首先更新缓存和现有的软件

apt-get update & apt-get upgrade

之后安装Kali的软件包

查看kali组件包

apt-cache search kali-

这里为了方便而且空间足够大,选择安装所有的组件

apt-get install kali-linux-all

注意,这些包大约5个G,本人下载加上安装了整整一天,所以选择一个网络和供电稳定的环境进行安装。本人第一次安装时中途意外断电导致系统崩溃只能重新刷系统。安装过程中有一些选项包需要配置选项,其余大部分时间可以无人值守。还有推荐安装时使用VNC连接在图形化界面中的命令行终端进行安装,因为本人实验的SecureCRT连接一旦断开安装也会停止,进入后台后断开也一样。VNC中安装断开VNC连接没有问题。关于SSH断开连接后台安装,各位有什么好的方法也可以推荐下。

安装完毕之后重启后,再更新下看看有无新版本的软件包

reboot

apt-get update & apt-get upgrade

至此,基础的系统环境配置完成。


备份镜像

经过这么一大堆折腾估计谁也不想重头再来一遍,为了防止意外在配置完后进行一次备份。还是利用内存卡烧录工具,将内存卡连接电脑,点击read,选择位置和保存名字即可,需要注意的是这里备份的是整个内存卡的空间,并非已用空间,备份后进行压缩即可。