滲透測試教程(基礎篇)-2

二. Kali 介紹 9
2.1 Kali Linux 特性 10
2.2 下載Kali Linux 11
2.2.1 封裝最新的Kali ISO 11
2.2.2 官方Kali Linux鏡象 11
2.3 製作定製的Kali鏡象 12
2.3.1 準備開始 12
2.3.2 封裝Kali ISO的配置(可選) 12
2.3.3 封裝ISO 13
2.3.4 爲今後封裝ISO提速 14
2.4 安裝Kali Linux 14
2.4.1 加密安裝Kali Linux 14
2.4.2 用Live U盤安裝Kali Linux 17
2.4.3 Kali和Windows雙引導 20
2.4.4 硬盤安裝Kali Linux 21
2.4.5 通過網絡安裝Kali Linux 22
2.4.6 通過網絡PXE安裝Kali Linux 23
2.4.7 Kali Linux常見問題 24
2.4.8 Kali虛擬機安裝VMware Tools 25
2.4.9 Kali Linux ARM文檔 26
2.4.10 重新編譯Kali Linux內核 27

二. Kali 介紹
Kali Linux是一個高級滲透測試和安全審計Linux發行版.

Kali Linux適合你麼?
作爲發行版的開發者,可能有人認爲我們建議所有人都使用KaliLinux.事實上,Kali是一個面向專業的滲透測試和安全審計的發行版,所以不推薦那些不熟悉Linux的人使用.
此外,在你的網絡裏濫用安全工具,特別是未經許可時,將會導致不可挽回的損失和嚴重的後果.

2.1 Kali Linux 特性
 Kali是BackTrack Linux完全遵循Debian開發標準的完整重建.全新的目錄框架、複查並打包所有工具、還爲VCS建立了Git 樹.
 超過300個滲透測試工具: 複查了BackTrack裏的每一個工具之後,我們去掉了一部分已經無效或功能重複的工具.
 永久免費: Kali Linux一如既往的免費.你永遠無需爲Kali Linux付費.
 開源Git樹: 我們是開源軟件忠實的擁護者,那些想調整或重建包的人可以瀏覽我們的開發樹得到所有源代碼.
 遵循FHS: Kali的開發遵循Linux目錄結構標準,用戶可以方便的找到命令文件、幫助文件、庫文件等..
 支持大量無線設備: 我們儘可能的使Kali
 Linux支持更多的無線設備,能正常運行在各種各樣的硬件上,能兼容大量USB和其它無線設備.
 集成注入補丁的內核: 作爲滲透測試者或開發團隊經常需要做無線安全評估.所以我們的內核包含了最新的注入補丁.
 安全的開發環境: Kali Linux開發團隊由一羣可信任的人組成,他們只能在使用多種安全協議的時候提交包或管理源.
 包和源有GPG簽名: 每個開發者都會在編譯和提交Kali的包時對它進行簽名,並且源也會對它進行簽名.
 多語言: 雖然滲透工具趨向於用英語,但我們確保Kali有多語言支持,可以讓用戶使用本國語言找到他們工作時需要的工具.
 完全的可定製: 我們完全理解,不是每個人都贊同我們的設計決定,所以我們讓更多有創新精神的用戶定製Kali Linux(甚至定製內核)成他們喜歡的樣子變得儘可能的容易.
 ARMEL和ARMHF支持:
自從基於ARM的設備變得越來越普遍和廉價,我們就知道我們該竭盡全力的做好Kali的ARM支持.因此有了現在的ARMEL 和ARMHF架構的系統.KaliLinux有完整的主線發行版的ARM源,所以ARM版的工具將會和別的版本同時更新.Kali現在可以運行在如下的ARM設備:
rk3306 mk/ss808
Raspberry Pi
ODROID U2/X2
MK802/MK802 II
Samsung Chromebook
2.2 下載Kali Linux
2.2.1 封裝最新的Kali ISO
Kali Linux允許你用Debian的live-build腳本封裝最新的Kali ISO.封裝鏡像最簡單的辦法就是在Kali Linux環境下做如下操作.
你需要先安裝live-build 和 cdebootstrap 這兩個包:

apt-get install git live-build cdebootstrap

下一步克隆Kali cdimage的Git源:

git clone git://git.kali.org/live-build-config.git

現在切換到cdimage.kali.org目錄下的live目錄裏,然後封裝ISO.

cd live-build-config
lb clean --purge
lb config
lb build
live-build

腳本可以完整的定製Kali Linux鏡像.

2.2.2 官方Kali Linux鏡象
ISO文件
Kali Linux提供了32位和64位的可引導ISO.
下載Kali ISO
VMware 鏡象
Kali提供了已經安裝Vmware Tools的VMware虛擬機鏡象(PAE內核的32位鏡像).
下載Kali VMware鏡像文件
ARM 鏡象
由於ARM的架構性質,單一的一個鏡象不能通用於所有ARM設備運行.我們提供瞭如下設備的Kali Linux ARM鏡象:
rk3306 mk/ss808
Raspberry Pi
ODROID-U2/X2
MK802/MK802 II
Samsung Chromebook
2.3 製作定製的Kali鏡象
封裝定製的Kali Live ISO
打造專屬的Kali ISO – 簡介
封裝定製的Kali ISO很簡單,很有趣,很有意義.你可以用Debian的live-build腳本對Kali ISO進行全面的配置.這些腳本以一系列配置文件的方式對鏡像進行全面的自動定製,讓任何人都可以輕易地就能打造一個Live系統鏡像.官方發佈的Kali ISO也採用了這些腳本.
前提
最理想的是在預裝Kali的環境裏定製你的KaliISO.如果不是這樣,請務必使用最新版本的live-build腳本(3.x分支的腳本可用於Debian wheezy).
2.3.1 準備開始
首先我們要用以下命令搭建好定製Kali ISO的環境:

apt-get install git live-build cdebootstrap kali-archive-keyring
git clone git://git.kali.org/live-build-config.git
cd live-build-config
lb config

2.3.2 封裝Kali ISO的配置(可選)
config目錄裏包含了定製ISO的各種重要的自定義選項,這些選項在Debian的live build 3.x
頁面有文檔說明.然而如果你沒有耐心,請特別注意以下的配置文件:
config/package-lists/kali.list.chroot – 包含要安裝在Kali ISO裏的軟件包的列表.你可以指定移除已經安裝的軟件包.也可以切換你的Kali ISO的桌面環境(KDE,Gnome,XFCE,LXDE等).
hooks/ – hooks 目錄允許我們在不同階段調用腳本封裝定製Kali Live ISO.
舉個例子,Kali是這樣添加取證模式的引導菜單的:

$ cat config/hooks/forensic-menu.binary
#!/bin/sh
cat >>binary/isolinux/live.cfg <<END
label live-forensic
menu label ^Live (forensic mode)
linux /live/vmlinuz
initrd /live/initrd.img
append boot=live noconfig username=root hostname=kali noswap noautomount

2.3.3 封裝ISO
在封裝ISO之前,可以指定需要的架構,選擇amd64或者i386.還要注意”lb build”需要root權限.如果你不指定架構,live build將根據你現在使用的架構來封裝ISO.
如果你想在在32位系統封裝64位的ISO,務必打開多架構支持:

dpkg --add-architecture amd64
apt-get update

配置live-build封裝64位或者32位ISO:

lb config --architecture amd64 # for 64 bit
# ...or...
lb config --architecture i386 # for 32 bit
lb build

最後一個命令需要一些時間,因爲它下載所有需要的軟件包然後封裝ISO.
2.3.4 爲今後封裝ISO提速
如果你打算經常定製ISO,你可以把kali的軟件包緩存在本地便於今後的封裝.最簡單的就是安裝apt-cacher-ng,然後在每次打包時配置http_proxy環境變量.

apt-get install apt-cacher-ng
/etc/init.d/apt-cacher-ng start
export http_proxy=http://localhost:3142/
.... # setup and configure your live build
lb build

2.4 安裝Kali Linux
2.4.1 加密安裝Kali Linux
有時我們希望採用全盤加密的方式來加密我們的敏感信息.你可以使用Kali安裝程序把它安裝到硬盤或是U盤的加密LVM邏輯卷.安裝過程除了加密LVM邏輯卷部分以外,與”常規的Kali Linux安裝”非常類似.
加密安裝Kali Linux條件
安裝KaliLinux到你的電腦過程很簡單.首先你需要兼容的電腦硬件.最低硬件要求如下,更好的硬件性能會更好.i386鏡象默認使用PAE內核,所以你能在大於4GB內存的機器運行它.下載Kali Linux然後刻錄DVD盤,或準備好一塊Kali Linux Live U盤作爲安裝媒介.
安裝條件
安裝Kali Linux需要最少8G硬盤可用空間.
i386和amd64架構,最低512MB內存.
CD-DVD光驅/支持USB引導
準備安裝
1. 下載Kali Linux.
2. 把Kali Linux刻錄到DVD盤或製作Kali Linux鏡像U盤.
3. 確認你電腦的BIOS設置了從CD/USB引導.

Kali Linux安裝步驟

1.開始安裝,從你選擇的安裝媒介啓動. 你會看到Kali的引導界面.選擇圖形界面或文本模式安裝.此處,我們選擇圖形界面安裝.
2. 選擇你的首選語言和國家.你會被提示爲你的鍵盤配置適當的Keymap.
3. 安裝器會複製鏡象到你的硬盤,探測你的網絡接口,然後提示你爲你的系統輸入主機名.此例,我們輸入”Kali”作爲主機名.
4. 爲root賬戶輸入一個強健的密碼
5. 下一步設置時區.
6. 安裝器會檢測硬盤,並提供4個選項.加密LVM安裝應選擇”Guided – use entire disk and set up encryptedLVM(使用全盤LVM加密卷)“. 如下圖所示.
7. 選擇安裝Kali的目標驅動器.在此例中我們選擇一塊U盤作爲目標驅動器.我們將用這塊U盤來啓動加密的Kali.
8. 確認你的分區結構並繼續安裝.
9. 然後,你將被要求輸入一個加密密碼.你必須記住此密碼並在每次啓動Kali時輸入.
10. 配置網絡Mirrors.Kali使用中心源發佈軟件.在必要的時候你需要輸入適當的代理信息. 注意!如果你選擇了”NO”,你將不能從Kali源安裝軟件.
11. 下一步安裝GRUB.
12. 最後,點擊Continue(繼續)來重啓系統,進入全新安裝的Kali.如果你安裝的目標驅動器是U盤,確認BIOS中已設置爲從U盤啓動.你將在每次啓動時輸入先前設置的加密密碼.

2.4.2 用Live U盤安裝Kali Linux
從U盤啓動然後安裝Kali是我們最喜歡並且是運行Kali最快(容易)的方法.爲此,我們首先要把Kali的ISO克隆到U盤.如果你經常使用Kali Linux U盤,請在克隆前閱讀完整的文檔.
準備USB鏡象

下載Kali linux.
- 如果你用的是Windows,下載Win32 Disk Imager.
- *nix類系統不需要額外的軟件.
- 一塊U盤(至少 2GB 容量).

  • Kali Linux Live U盤安裝過程

在用Windows的電腦上克隆Kali
- 插入U盤.運行Win32 Disk Imager.
- 選擇Kali Linux ISO文件作爲被克隆的文件,然後覈實要克隆的U盤是否正確.
- 克隆完成後,從Windows機器安全彈出U盤.現在你可以用U盤啓動Kali Linux了.

  • 在用Linux的電腦上克隆Kali

在Linux環境下製作可啓動的Kali Linux U盤很容易.下載好Kali ISO文件後,你可以用dd把它克隆到U盤:
警告!雖然在U盤上克隆Kali過程很簡單,但是如果你不懂你正在用dd做什麼,很容易破壞引導分區.
1. 插入U盤.
2. 用dmesg確認你的U盤設備塊名.
3. 開始克隆Kali ISO文件到U盤(謹慎操作!):

dd if=kali.iso of=/dev/sdb bs=512k

就這樣!你現在可以用U盤啓動到Kali Live/Installer環境了.

  • 爲你的U盤添加Persistence功能

在某些情況下.爲你的Kali Linux鏡象添加persistence功能(在Live啓動的時候可以保存和修改文件)非常有用.爲了給你的Kali LinuxU盤啓動persistent功能,按照以下步驟.本例中,我們假設我們的設備塊名是/dev/sdb
.如果你想添加persistence功能,需要一塊比上面提到的要求更大容量的U盤.
1. 克隆Kali Linux ISO到U盤和上面講解的一樣,用dd在”用Linux的電腦上克隆Kali”.
2. 在U盤創建並格式化額外的分區.本例中我們用gparted

gparted /dev/sdb
  1. 現在你的分區方案應該和下圖類似:

  2. 着手於格式化一個你要用於persistence功能的理想大小的新分區.在此例,我們使用所有剩餘可用空間.確保新創建的分區卷名是persistence然後格式化成ext4文件系統.

  3. 這步完成後,用以下命令掛載用於persistence功能的U盤分區:

mkdir /mnt/usb
mount /dev/sdb2 /mnt/usb
echo "/ union" >> /mnt/usb/persistence.conf
umount /mnt/usb
  1. 插入U盤到你要啓動的電腦.務必設置BIOS從USB設備啓動.當顯示Kali Linux啓動畫面時,從菜單選擇“Live
    boot”(不要按下回車),然後按下Tab鍵.這將允許你編輯啓動參數,在每次你想掛載你的persistent存儲時添加“persistence”到boot參數行的最後.

2.4.3 Kali和Windows雙引導
把Kali和Windows裝在一起很有用.然而,你要謹慎的安裝.首先確保你已經備份了你電腦裏的重要數據.因爲我們要修改你的硬盤,所以你應該把數據備份到別的媒介.一旦你完成了備份,我們推薦你閱讀硬盤安裝Kali Linux,以瞭解Kali的基礎安裝過程.
此例,我們將把Kali Linux和硬盤唯一的Windows7系統裝在一起.我們開始重新給WIndows分區劃分分區大小,縮小Windows分區的容量,以便把Kali Linux安裝到新建的空分區.
下載Kali Linux刻錄到DVD光盤, 或者準備一塊Kali linux Live U盤
作爲安裝媒介.如果你的電腦沒有DVD光驅或USB端口,請參考網絡安裝Kali Linux.
硬件要求:
Windows至少有8G的剩餘空間
支持CD-DVD / USB引導
準備安裝
1. 下載Kali Linux.
2. 刻錄Kali Linux DVD盤或製作Kali Linux Live U盤.
3. 確保你的電腦BIOS設置了從CD/USB引導.
雙系統安裝過程
1. 開始安裝,從你選擇的安裝媒介啓動. 你會看到Kali的引導界面.選擇Live,然後你會進入到Kali Linux桌面.
2. 使用用戶名root,和密碼toor登錄.下一步運行gparted程序.我們將用gparted縮小windows分區的大小以提供足夠的空間安裝Kali.
3. 選擇Windows分區.根據你的系統情況選擇,此例選擇較大的第二個分區.此例中有兩個分區,第一個分區是系統恢復分區,實際上Windows安裝在/dev/sda2.重新調整Windows分區的大小預留(最小8GB)空間給Kali Linux.
4. 重新分區之後.確保點擊了硬盤的”Apply All Operations”(應用所有操作).退出gparted並重啓.

Kali Linux安裝步驟
1. 安裝完畢,重啓.你會看見GRUB的啓動菜單有Kali 和 Windows啓動項.

2.4.4 硬盤安裝Kali Linux
Kali Linux安裝條件
安裝Kali Linux到你的電腦過程很簡單.首先你需要兼容的電腦硬件. Kali支持i386, amd64, 和ARM (armel和armhf)平臺.最低硬件要求如下,更好的硬件性能會更好. i386鏡象默認使用PAE內核,所以你能在大於4GB內存的機器運行它.下載Kali Linux然後刻錄DVD盤,或者準備好一塊Kali Linux Live U盤作爲安裝媒介.如果你的電腦沒有DVD光驅或者USB端口, 請參考KaliLinux網絡安裝.
安裝條件
安裝Kali Linux最少8G硬盤可用空間.
i386和amd64架構,最低512MB內存.
CD-DVD光驅/支持USB引導
準備安裝
1. 下載Kali linux.
2. 把Kali Linux刻錄到DVD盤或製作Kali Linux鏡像U盤.
3. 確認你電腦的BIOS設置了從CD/USB引導.
Kali Linux安裝步驟
1. 開始安裝,從你選擇的安裝媒介啓動.你會看到Kali的引導界面.選擇圖形界面安裝或者文本模式安裝.此處,我們選擇圖形界面安裝.
2. 選擇你的首選語言和國家.你會被提示爲你的鍵盤配置適當的Keymap
3. 安裝器會複製鏡象到你的硬盤,探測你的網絡接口,然後提示你爲你的系統輸入主機名.此例,我們輸入”Kali”作爲主機名.
4. 爲root賬戶輸入一個強健的密碼,或需要的話創建額外的賬戶.
5. 下一步設置時區.
6. 安裝器會檢測硬盤,並提供4個選項.此例,我們使用電腦的整塊硬盤,並且不設置LVM(邏輯卷管理器).高級用戶可以使用”手動”分區,配置自己的分區結構.
7. 接着在安裝器作出不可逆的改變之前你會有機會檢查硬盤配置.在你點擊繼續按鈕後,安裝器將開始工作,並且安裝也快接近尾聲.
8. 配置網絡Mirrors.Kali使用中心源發佈軟件.在必要的時候你需要輸入適當的代理信息.
注意!如果你選擇了”NO”,你將不能從Kali源安裝軟件.
9. 下一步安裝GRUB.
10. 最後,點擊繼續來重啓系統,進入全新安裝的Kali.

2.4.5 通過網絡安裝Kali Linux
用Mini ISO通過網絡安裝Kali Linux
用Mini ISO安裝Kali Linux
用Kali mini ISO可以方便地”從頭”開始安裝一個最小化的Linux.Mini
ISO會從我們的源下載所需的軟件包,這意味着要使用這種安裝方式你需要一個快速的網絡.
安裝條件
安裝Kali Linux最少8G硬盤可用空間.
i386和amd64架構,最低512MB內存.
CD-DVD光驅/支持USB引導
準備安裝
1. 下載Kali mini ISO.
2. 把Kali Linux刻錄到DVD盤或製作Kali Linux鏡像U盤.
3. 確認你電腦的BIOS設置了從CD/USB引導.
Kali Linux安裝步驟
當你用mini ISO啓動時,會出現一個有很多選項的啓動界面,本文中,我們將進行簡單的基本安裝
接下來會提示你各種設置,例如語言和鍵盤佈局,然後你要爲系統設置一個主機名稱,在這裏我們用了默認的kali.
接下來選擇時區,然後會出現分區選項,爲了快速起見,本文我們選‘Guided – use entiredisk’這個選項,一直按照提示做,直到創建新的分區格局.
爲了減少網絡流量,默認只選擇了一小部分的軟件包.如果你要添加另外的服務或功能,可以在這個界面做選擇
至此,安裝程序會在系統上下載並安裝它所需的軟件包.這步花的時間與你的網速有關.最後,會提示你安裝GRUB以完成整個安裝過程

2.4.6 通過網絡PXE安裝Kali Linux
搭建PXE服務器
通過網絡(PXE)來啓動和安裝Kali,對於一臺沒有光驅或者USB端口的筆記本很有用,甚至對一個企業部署預安裝Kali都很有用.
首先,我們要安裝dnsmasq以提供 DHCP/TFTP 服務,然後編輯dnsmasq.conf這個配置文件.

apt-get install dnsmasq
nano /etc/dnsmasq.conf
    在dnsmasq.conf文件中,按如下所示啓用DHCP,TFTP和PXE啓動,根據你的環境修改dhcp-range:
interface=eth0
dhcp-range=192.168.8.100,192.168.8.254,12h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/tftpboot/

編輯好了之後我們需要重啓dnsmasq服務使之生效.

service dnsmasq restart

下載安裝kali PXE網絡啓動鏡像
現在,我們要創建一個文件夾用於存放Kali網絡啓動鏡像,還有我們欲從Kali軟件源下載的鏡像.

mkdir -p /tftpboot
cd /tftpboot
# for 64 bit systems:
wget http://repo.kali.org/kali/dists/kali/main/installer-amd64/current/images/netboot/netboot.tar.gz
# for 32 bit systems:
wget http://repo.kali.org/kali/dists/kali/main/installer-i386/current/images/netboot/netboot.tar.gz
tar zxpf netboot.tar.gz
rm netboot.tar.gz

設置要安裝Kali的機器從網絡啓動
都配置好之後,現在你可以啓動你的電腦.,然後配置它從網絡啓動.它會從PXE服務器獲取到IP地址然後啓動kali.

2.4.7 Kali Linux常見問題
Virtual Box的Kali Linux虛擬機
如果你想在VirtualBOX裏安裝Kali Linux,爲了能夠順利安裝功能增強工具,請參考如下的指南.
建議使用最新版的VirtualBOX,因爲可以提升用戶體驗,包括兼容性的提高,軟件核心和客戶端功能增強工具的穩定性的增強.
在Virtual Box的Kali Linux虛擬機安裝增強工具
爲了整合鼠標和屏幕以及與你的宿主機共享目錄,你應該安裝VirtualBox增強功能工具.
啓動Kali Linux虛擬機後,打開一個終端然執行如下命令來安裝Linux內核頭文件.

apt-get update && apt-get install -y linux-headers-$(uname -r)

安裝完後,從VirtualBox菜單的”Install Guest
Additions”選擇’Devices’來掛載客戶端功能增強的ISO到虛擬機的CD光驅.提示自動運行CD時,點擊取消按鈕.
在終端窗口,複製虛擬機CD-Rom裏的VboxLinuxAdditions.run這個文件到本地目錄,確認有可執行權限,然後運行該文件開始安裝.

cp /media/cd-rom/VBoxLinuxAdditions.run /root/
chmod 755 /root/VBoxLinuxAdditions.run
cd /root
./VBoxLinuxAdditions.run

功能增強工具安裝好後重啓Kali Linux虛擬機.鼠標和屏幕整合好了,也可以與宿主機共享目錄了.

創建宿主機的共享目錄
練習題。

2.4.8 Kali虛擬機安裝VMware Tools
我們建議你自己創建一臺Kali
Linux的VMware虛擬機,而不是使用我們預先提供的VMware鏡象,進行如下的操作以便在Kali虛擬機成功安裝VMwareTools.你可以選擇安裝open-vm-tools,或自帶的VMWare tools.
安裝open-vm-Tools
這可能是在Kali虛擬機裏實現”VMware Tools”功能最容易的方法.
apt-get install open-vm-tools
在Kali裏安裝VMware Tools
如果open-vm-tools不能用,或者你更偏向於使用VMware Tools,開始安裝一些VMware Tools安裝器需要的包:

apt-get install gcc make linux-headers-$(uname -r)
ln -s /usr/src/linux-headers-$(uname -)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/

下一步,通過點擊菜單裏的”Install VMware Tools”掛載VMware Tools的ISO.虛擬機的光驅連接到VMware ToolsISO後,我們掛載驅動器然後複製VMware Tools安裝器到/tmp/目錄下.

mkdir /mnt/vmware
mount /dev/cdrom /mnt/vmware/
cp -rf /mnt/vmware/VMwareTools* /tmp/
最後,進到/tmp/目錄,解壓縮然後開始安裝:
cd /tmp/
tar zxpf VMwareTools-*.tar.gz
cd vmware-tools-distrib/
./vmware-tools-install.pl

照着上面的命令,VMware Tools就安裝好了.

VMware裏鼠標移動很慢
如果在KaliLinux的VMware虛擬機裏,你的鼠標移動很慢或者反應很遲鈍.嘗試在Kali虛擬機裏安裝xserver-xorg-input-vmmouse這個包.

apt-get install xserver-xorg-input-vmmouse
reboot

VMWare Tools不能編譯
這是個經常折磨我們不幸的事實,例如KaliLinux用了VMware還沒有支持的太新的內核.有時,可能需要在VMware社區尋找”兼容的VMware Tools補丁”.
已知問題
截自2013年3月2日爲止.VMwareTools已經在3.7內核編譯通過,除了共享文件夾模塊不能正常工作外.已經有補丁可以解決這個問題

Kali Linux電子取證模式
BackTrack Linux引入了”Forensic Boot”啓動選項,BackTrack 5裏也有,現在Kali Linux裏依然有這個選項.由於BacktrackLinux的廣泛傳播,”Forensic Boot”也被證明是非常的流行.許多人都備着KaliLinux,以便在需要取證時方便的用上.它集成了流行的開源取證工具,Kali是在你需要做開源取證工作時非常趁手的工具.
擴展內容
2.4.9 Kali Linux ARM文檔
在MK/SS808上安裝Kali ARM
在三星Chromebook安裝Kali
在ODROID U2安裝Kali ARM

2.4.10 重新編譯Kali Linux內核
有時你可能想添加必要的驅動、補丁、Kali Linux內核裏沒有的功能.如下的教程描述如何根據你的需要快速地修改和編譯KaliLinux內核.請注意目前默認的Kali Linux內核已經打過了大量的無線注入補丁.
安裝編譯所需的依賴
開始安裝編譯內核所需的所有依賴.

apt-get install kernel-package ncurses-dev fakeroot bzip2

下載Kali Linux內核源代碼
下載並解壓Kali Linux的內核源代碼.

apt-get install linux-source
cd /usr/src/
tar jxpf linux-source-3.7.tar.bz2
cd linux-source-3.7/

配置內核
複製Kali默認的內核配置文件然後根據你的需要修改.這一步你需要應用各種驅動、補丁、等等…在此例中,我們重新編譯一個64位內核.

cp /boot/config-3.7-trunk-amd64 .config
make menuconfig

編譯內核
編譯你修改過的內核.需要花的時間和硬件配置有關.

CONCURRENCY_LEVEL=$(cat /proc/cpuinfo|grep processor|wc -l)
make-kpkg clean
fakeroot make-kpkg kernel_image

安裝內核
內核編譯成功後.繼續以安裝新內核,然後重啓.請注意內核版本號可能不同.在此例中,當前的內核版本是3.7.2,你需要根據情況做相
應的修改.

dpkg -i ../linux-image-3.7.2_3.7.2-10.00.Custom_amd64.deb
update-initramfs -c -k 3.7.2
update-grub2
reboot

重啓後,你的新內核應該運行了.如果出錯了導致你的內核不能啓動,你仍然可以通過啓動官方的Kali Linux內核來解決問題.

從源代碼編譯包
有時,我們需要從源代碼重新編譯一個Kali包.幸運的是用APT下載源代碼包,進行必要的修改後再用Debian工具重新編譯是如此的簡單.此例中,爲了添加額外的Mifare Key硬編碼到mifare格式化工具,我們將重新編譯libfreefare這個包.
下載包的源代碼

# Get the source package
apt-get source libfreefare
cd libfreefare-0.3.4~svn1469/

修改包的源代碼
按需修改包裏面的源代碼文件,此例中,我們以修改mifare-classic-format.c爲例.

nano examples/mifare-classic-format.c

檢查編譯所需的依賴
檢查編譯包所需的依賴.它們需要在編譯包前被安裝.

dpkg-checkbuilddeps

輸出的結果和如下類似,在於你已經安裝了什麼包.如果dpkg-checkbuilddeps沒有任何輸出,說明你沒有缺少依賴,可以繼續編譯.

dpkg-checkbuilddeps: Unmet build dependencies: dh-autoreconf libnfc-dev

安裝編譯所需的依賴
安裝上面dpkg-checkbuilddeps輸出的編譯所需的依賴:

apt-get install dh-autoreconf libnfc-dev

編譯修改過的包
所有安裝依賴安裝好後,調用dpkg-buildpackage來編譯是件很容易的事.

dpkg-buildpackage

安裝新編譯的包
如果一切順利,你就可以安裝新編譯的包了.

dpkg -i ../libfreefare*.deb

ARM交叉編譯
本文檔說明如何在kali linux上配置ARM交叉編譯環境,是我們多份關於”定製ARM鏡像”的文檔的起點.
開發機的配置
編譯內核生成鏡象通常需要大量硬盤空間.確保你的開發機至少有50G可用硬盤空間以及足夠的內存,CPU不要太差.
安裝依賴
先安裝ARM交叉編譯所需的依賴.

apt-get install git-core gnupg flex bison gperf libesd0-dev build-essential
zip curl libncurses5-dev zlib1g-dev libncurses5-dev gcc-multilib g++-multilib

如果你是64位的Kali Linux系統,用如下命令添加i386架構支持到你的開發環境.

dpkg --add-architecture i386
apt-get update
apt-get install ia32-libs

下載Linaro工具鏈
從我們的Git源下載Linaro交叉編譯器.

cd ~
mkdir -p arm-stuff/kernel/toolchains
cd arm-stuff/kernel/toolchains
git clone git://github.com/offensive-security/arm-eabi-linaro-4.6.2.git

設置環境變量
爲了能使用Linaro交叉編譯器,你需要在你的session裏設置如下的環境變量.

export ARCH=arm
export CROSS_COMPILE=~/arm-stuff/kernel/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-

現在你的ARM交叉編譯環境完成了,可以編譯屬於你自己的ARM內核了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章