從零學習BlackHatPython之——VMware Workstation安裝Kali Linux並進行配置

使用VMware WorkStation 安裝 Kali Linux 並進行初始化配置

環境準備及參考書目:

  • Windows 10 專業版 Build15063
  • VMware WorkStation 12 Pro 12.5.6
  • kali-linux-2017.2-amd64.iso
  • 《Black Hat Python》(Justin Seitz 2015.8 1stEdition)
  • 《Web Penetration Testing with Kali Linux》(Joseph Muniz, Aamir Lakhani 2014.8 1stEdition)
  • 《Mastering Kali Linux for Advanced Penetration Testing》(Robert W.Beggs 2016.5 1stEdition)
  • Kali Linux官方文檔

參考用時:2h


前言

Kali Linux 概述

  • Kali Linux 是由 Offensive Security 團隊設計的一款滲透測試操作系統
  • 它繼承自BackTrack Linux 發行版
  • 它基於Debian GNU/Linux 操作系統
  • 其文件系統遵循FHS標準,不需要瀏覽/滲透測試樹導航,可以從文件系統的任意位置調用一個工具
  • 兼容Debian的工具一天至少和Debian資源庫同步四次

算上最後成功安裝Kali Linux的這次,我一共安裝了三次Kali,其中失敗一次,成功兩次,總用時大約六小時。第一次綜合參考了前面列出的三本書裏的講解成功安裝了Kali Linux 2017.1 並且使用了大約有十天左右,在Kali Linux 2017.2 出來後使用自帶“軟件”進行了系統內更新,然而在更新過程中出現了阻塞更新停滯不前,重啓後系統使用沒有發現什麼異常,迫使我卸載系統並且重裝的原因在於我參照《Python黑帽子》這本書編寫的仿netcat工具調試過程中報出我到目前仍然無法解決的錯誤,在被困擾兩天之後我決定重裝Kali Linux。
於是我在昨天晚上從官網上下載了Kali Linux 2017.2爲今天的第二次安裝做準備。第二次安裝過程中我按照第一次成功驗證過的步驟進行選擇,一步步的往下走,中間在“Configure network mirrors”的時候出現卡殼,因爲連續的重試以及更換鏡像都無效,最終只能選擇忽略。忽略不影響其他部分的安裝,仍然是可以完成安裝進入系統的。這一次失敗的原因在於我進入系統變更語言爲中文重啓之後使用root用戶的密碼多次嘗試無法進入系統,在recovery mode沒有找到重置的代碼段(可能是我沒操心),故重裝。
在這次的安裝中雖然最終失敗了但是通過這次的安裝我認識到這一版本的KaliLinux的集中式軟件倉庫(源)以我現在用的網絡是無法直接進行連接(需要Http代理),這促使我在第三次安裝進入系統後做的第一件事就是更換國內源。
具體的安裝步驟我不在這裏細講,需要的推薦直接看官網的文檔,有很詳細的圖示和必要的文字敘述。這裏也有文檔的中文版。

  • 如果是往虛擬機裏安裝的Kali Linux,Offensive-security提供了專門的image,其中的vm版本內置好了VMware tools,同時有一個root用戶,默認密碼是toor。有的書上推薦了安裝這個版本,但是我還是用的原生的kali-linux-2017.2-amd64。
  • 如果要測試大型網絡及將使用多線程工具,建議把內存增加到至少3GB。
  • 我使用了全盤加密(use entire disk and set up encrypted LVM(Logical Volume Manager,邏輯卷管理器))
  • 如果你和我一樣安裝了2017.2 x64版本的Kali Linux,並且同樣在確認網絡軟件庫的時候失敗,請選擇忽略,完成安裝並且進入系統後進行更換源。

更換國內源

Kali 必須定時打補丁,確保基本的操作系統和應用是最新的,同時更新安全補丁。默認情況下 Kali 只使用官方的Kali 資源庫,我使用新版本默認的Kali資源庫進行apt-get update 及apt-get upgrade 操作時都會出現網絡連接超時的情況,故選擇更換國內源。默認程序包資源庫在目錄/etc/apt/sources.list中;
這個過程我參考了這篇文章

  1. 切換root用戶su
  2. 使用vim打開存儲資源庫的文件vi /etc/apt/sources.list
  3. 從下面的更新源中選擇一個複製進文件並保存

中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
浙大
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
東軟大學
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
重慶大學
deb http://http.kali.org/kali kali-rolling main non-free contrib >deb-src http://http.kali.org/kali kali-rolling main non-free contrib
作者:極客圈
鏈接:http://www.jianshu.com/p/7ac106afb8fd
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

4.更新

apt-get clean
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y

其中 -y 的效果是在update,upgrade過程中出現選擇[Y/n]的時候默認選擇Y,即實現了自動化執行,可以創建一個腳本update.sh包含上述命令行。至此更新國內源完成。


添加普通用戶

可以簡單地在終端使用adduser命令,如:

root@kali:~#adduser noroot

接下來系統執行添加用戶和組,新建用戶目錄和拷貝文件,然後會讓你輸入密碼並再次輸入進行確認。最後在確認一些不太重要的用戶信息(如姓名,房間號,工作電話,宅電, etc.)之後輸入Y即完成普通用戶的創建。

  • 這裏需要注意,在使用圖形化界面創建用戶的時候會出現失敗可能是因爲用戶名需要符合一般的命名規範,如果是純數字的就不行,會提示有一個force-name什麼的文件裏面列舉了這些規則。
  • 同時密碼的設置也需要注意,要有大寫,小寫,加數字,過於簡單或者含有你在前面填過的用戶名則不予通過。

安裝VMwareTools(OVT)並設置共享文件夾

Linux虛擬機在最初安裝上VMwareWorkStation的時候屏幕顯示會讓人感覺特別彆扭,沒有辦法按照窗口的大小進行適當的調整,全屏也無法很好的實現,安裝VMwareTools可以很好的解決這個問題。同時安裝VMwareTools也是爲接下來創建共享文件夾做準備。
這裏的操作具體的內容可以查看官網鏈接
簡單來說就是在2015年9月之後VMware官方建議使用OVT(open-vm-tools)來替代VMware Tools,但是這個新的OVT目前還不支持共享文件夾,所以在建立共享文件夾的過程中會比較麻煩。
我在上一個版本的Kali 2017.1中按老辦法安裝了VMwareTools並且能夠正常使用,可以建立共享文件夾,這一版本沒有測試。下面我們來看使用OVT的操作方法。
首先安裝OVT並重啓

apt -y install open-vm-tools-desktop fuse
reboot

接下來在命令行中鍵入以下代碼

cat <<EOF > /usr/local/sbin/mount-shared-folders
#!/bin/bash
vmware-hgfsclient | while read folder; do
  vmwpath="/mnt/hgfs/\${folder}"
  echo "[i] Mounting \${folder}   (\${vmwpath})"
  mkdir -p "\${vmwpath}"
  umount -f "\${vmwpath}" 2>/dev/null
  vmhgfs-fuse -o allow_other -o auto_unmount ".host:/\${folder}" "\${vmwpath}"
done
sleep 2s
EOF
chmod +x /usr/local/sbin/mount-shared-folders

最後一句是給mount-shared-folders這個文件的執行加上了權限,不然會提示權限不夠。
執行結果是會輸出下面這句(…….的內容忘記了)

[i] Mounting ……

然後在VMware的操作界面中右鍵單擊你剛剛操作的這臺虛擬機—>設置—>選項—>共享文件夾—>總是啓用—>添加,選擇你的主機和這臺虛擬機需要共享的文件夾路徑並添加進去即可。

進入你的虛擬機,在/mnt/hgfs路徑下就可以找到你選擇的共享文件夾。


安裝搜狗拼音輸入法

  1. 在搜狗輸入法官網下載對應版本的.deb文件(上面寫的是適用Ubuntu,同樣適用於Kali,已測試)
  2. 安裝依賴包
    apt-get install fcitx
    apt-get install fcitx-libs-qt
  3. 轉到下載目錄下安裝搜狗輸入法

    dpkj -i filename.deb

    (filename替換爲爲下載好的安裝文件名)
    如果還存在未知軟件依賴問題,運行:

    apt-get -f install
    即可完成安裝
    
  4. 添加輸入法
    在應用程序中打開fcitx,此應用程序開啓時出現在屏幕左下角,點擊鍵盤圖標進入設置界面把搜狗輸入法選擇添加進去。

完成上述步驟後重啓電腦就可以使用搜狗輸入法了。


SSH的使用

我這裏使用SSH目前主要涉及到兩方面——Github倉庫代碼管理和Windows主機遠程操控KaliLinux。
Kali已經使用默認的SSH祕鑰進行了預配置,你可以使用這個現成的祕鑰,或者像我下面這樣使用自己的祕鑰。

  1. 將默認的SSH祕鑰移到備份文件夾

    cd /etc/ssh/
    mkdir keys_default
    mv ssh_host_ * keys_default
  2. 生成新的SSH祕鑰集並驗證其md5sum與原始祕鑰進行比較

        dkpg-reconfigure openssh-server
        md5sum ssh_host_*
        cd keys_default/
        md5sum *
  3. 修改/etc/init.d/sshd執行文件使遠程通過ssh可以實現root權限和口令

    su
    vi /etc/ssh/sshd_config

    調整下面兩個參數的值

    PermitRootLogin yes
    PasswordAuthentication yes
    :wq保存並退出

  4. 啓動SSH服務

    /etc/init.d/ssh start
  5. 驗證SSH服務狀態

    /etc/init.d/ssh status
  6. Windows遠程連接
    我使用的客戶端是Putty,打開軟件將Kali的ip地址(Kali終端輸入ipconfig回車查看),端口號(默認22號端口)輸入,點擊open,即出現窗口填寫用戶名和密碼,成功連接。

  7. 添加Github SSH密鑰對
    具體步驟可以在Github的文檔查看
    通過上面的步驟我們擁有了自己的SSH密鑰,還需要把這個密鑰添加到ssh-agent 中去

    eval "$(ssh-agent -s)" # 啓動ssh-agent
    ssh-add ~/.ssh/id_rsa #添加ssh祕鑰到ssh-agent

    • 需要注意的是我們生成的ssh private key 名稱和Github示例中的不一樣,分別是ssh_host_rsa_key 和ssh_host_rsa_key.pub。需要將後者的內容拷貝到Github賬戶上才能完成最後一步(一個空格都不能多)。
  8. 測試Github SSH

     ssh -T git@github.com

    有可能會出現下面的提示

The authenticity of host ‘github.com (192.30.252.1)’ can’t be >established.RSA key fingerprint is >16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

這個應該是正常的,輸入yes你就可以看到諸如下面這樣的告訴你你的SSH已經成功添加的信號。

“Hi LicheeGit!You’ve successfully authenticated, but GitHub does not
provide shell access.”


寫在最後

這些都只是一個開始,雖然這兩天我在學習上碰到了很多問題,並且在前人那裏找不到好的解決方案,但正是這樣促使我更加深入的瞭解問題,去深究,然後把我覺得有用的彙總在這一篇之中,讓之後擁有同樣問題的人可以花很少的時間就能解決他們的問題,也讓自己通過總結回顧加深對之前不會的這些知識的記憶。
感謝。

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