到文件與權(quán)限管理)
簡介《Kali Linux常用命令大全》是一份面向網(wǎng)絡(luò)安全初學(xué)者、滲透測(cè)試人員及Linux入門用戶的命令速查手冊(cè)針對(duì)Kali Linux操作系統(tǒng)中使用頻率最高的基礎(chǔ)命令進(jìn)行系統(tǒng)化整理可幫助讀者快速熟悉文件操作、系統(tǒng)狀態(tài)查看與文本處理等核心技能減少日常命令行摸索時(shí)間。資源包內(nèi)共包含1個(gè)docx格式文檔整體大小約1.96MB內(nèi)容按功能模塊分章節(jié)編排從最基本的ls目錄查看、cd路徑切換到whatis/help/man/info幫助命令、login登錄/exit退出、su/sudo用戶切換、shutdown/reboot電源管理、touch/mkdir/cp/mv文件管理均有詳細(xì)說明與參數(shù)示例結(jié)構(gòu)清晰便于按需查閱。文檔還覆蓋系統(tǒng)信息命令df/free/top及文本處理命令grep/sed/awk適合作為滲透測(cè)試前掌握Kali環(huán)境的入門配套材料。目前已有633人學(xué)習(xí)下載對(duì)于希望系統(tǒng)建立Kali命令框架、提升操作效率的用戶來說是一份輕量實(shí)用的隨時(shí)查閱參考。1. 拿全套Kali命令之前先想清楚它解決什么問題拿到一臺(tái)預(yù)裝了幾百個(gè)工具的Kali最先卡住你的往往不是某個(gè)工具不會(huì)用而是連基本操作都要停下來現(xiàn)查想翻隱藏文件忘了參數(shù)想切回上一個(gè)目錄不知道用cd -想確認(rèn)最近誰登錄過系統(tǒng)不知道last怎么讀。這份《Kali常用命令大全》就是把這類高頻命令按用途歸好類的速查手冊(cè)覆蓋文件操作、幫助系統(tǒng)、登錄會(huì)話、電源管理幾大塊每條都帶參數(shù)說明和注意事項(xiàng)。它適合兩類人。一類是剛開始接觸web滲透、平時(shí)主要靠在圖形界面里點(diǎn)工具的新手先花半天把命令過一遍后面跑工具才不至于寸步難行另一類是已經(jīng)會(huì)一些Linux操作但總記混參數(shù)的老手把它當(dāng)現(xiàn)場速查表用查一眼就接著干活。下面我按“先會(huì)查幫助、再會(huì)管文件、最后會(huì)管會(huì)話與電源”的順序拆一遍重點(diǎn)標(biāo)出哪些參數(shù)在滲透場景里真正常用哪些坑值得提前繞開。2. 幫助命令優(yōu)先whatis、man與中文手冊(cè)的落地配置2.1 為什么先啃幫助系統(tǒng)很多人的習(xí)慣是拿到Kali先裝工具、跑腳本真到命令行里卡住了才去搜索引擎。但在滲透測(cè)試現(xiàn)場不一定有穩(wěn)定網(wǎng)絡(luò)供你慢慢查系統(tǒng)自帶的幫助文檔才是第一道救命稻草。Kali預(yù)裝的命令和工具大多是外部程序參數(shù)又多又怪光靠記憶不現(xiàn)實(shí)學(xué)會(huì)用幫助系統(tǒng)可以讓大部分問題就地解決。我的習(xí)慣是第一件事不碰工具先確認(rèn)幫助體系能正常工作——whatis能查到描述、man能翻到完整手冊(cè)、內(nèi)建命令能用help兜底。這套東西通了后面每遇到一個(gè)新工具都可以在幾十秒內(nèi)拿到參數(shù)說明比到處翻筆記靠譜得多。這條對(duì)新手和老手都適用區(qū)別只在于老手查得更快。2.2 四層幫助命令的選型差異Linux幫助命令分四層信息量和使用場景差別很大。whatis只給一句話描述適合快速回憶某個(gè)命令是干嘛的help專門服務(wù)Shell內(nèi)建命令像cd、echo這類man是完整手冊(cè)頁覆蓋大部分外部命令info則是GNU項(xiàng)目的信息文檔內(nèi)容更詳細(xì)Kali默認(rèn)沒裝。命令信息來源信息量適用場景whatisman數(shù)據(jù)庫一句話描述快速確認(rèn)命令用途helpShell內(nèi)建簡要選項(xiàng)列表cd、echo等內(nèi)建命令man/usr/share/man手冊(cè)頁完整參數(shù)與示例外部命令標(biāo)準(zhǔn)幫助infoGNU信息文檔詳細(xì)文書深度了解GNU工具whatis nmap help cd man ncwhatis nmap會(huì)輸出一行關(guān)于nmap的簡要描述確認(rèn)用途夠用。help cd給出的是zsh里cd的選項(xiàng)說明注意它只對(duì)內(nèi)建命令有效對(duì)nmap這類外部命令會(huì)直接報(bào)錯(cuò)。man nc則是查看nc的完整手冊(cè)頁面里會(huì)寫清每個(gè)參數(shù)、退出狀態(tài)和示例遇到不確定的-e、-z這類參數(shù)時(shí)翻一下最穩(wěn)。如果whatis查詢不到結(jié)果常見原因是man數(shù)據(jù)庫沒建立執(zhí)行sudo mandb重建索引后再查即可。2.3 中文man的安裝與別名配置原資源里給了一條很實(shí)用的路子Kali上裝中文手冊(cè)頁再給zsh配一個(gè)cman別名讓man默認(rèn)讀中文。Kali默認(rèn)Shell是zsh這個(gè)細(xì)節(jié)后面還會(huì)提到配置時(shí)要注意別寫錯(cuò)文件。sudo apt update sudo apt install -y manpages-zh echo alias cmanman -M /usr/share/man/zh_CN ~/.zshrc source ~/.zshrc第一行更新軟件源索引第二行安裝中文man包。第三行的man -M是指定手冊(cè)搜索路徑/usr/share/man/zh_CN是中文手冊(cè)頁存放目錄把這條alias寫進(jìn)~/.zshrc后執(zhí)行cman就能直接看中文手冊(cè)。最后一行source讓配置立即生效。裝完后要有個(gè)心理預(yù)期不是所有man頁面都有中文翻譯核心命令大多有冷門工具還是會(huì)回退到英文頁。注意Kali默認(rèn)使用Zsh別名別寫進(jìn).bashrc否則新開的終端不生效。寫完~/.zshrc記得source一下。3. 文件系統(tǒng)高頻命令目錄切換、文件復(fù)制與鏈接參數(shù)速查3.1 ls、cd、pwd在滲透場景里的正確用法文件操作是每個(gè)會(huì)話里最頻繁的動(dòng)作Kali的/var/log、/etc、/tmp幾個(gè)目錄在滲透測(cè)試?yán)锓米疃?。ls最常用的組合是-a、-l、-t、-h-al看全部文件包括隱藏文件-lt按修改時(shí)間排序方便找最近變動(dòng)的文件-lh讓文件大小以易讀的K、M單位呈現(xiàn)。ll在Kali的zsh里不保證默認(rèn)存在我自己習(xí)慣在配置里給ls -alh起個(gè)別名后面第6章會(huì)一起給。ls -alh /etc ls -lt /var/log cd /var/log cd - pwd -P第一條羅列/etc下含隱藏文件在內(nèi)的所有條目并帶可讀大小第二條把/var/log下的文件按修改時(shí)間倒序排找“最近被改過的日志”時(shí)很好用。第三條cd /var/log切到日志目錄第四條cd -是切回上一個(gè)工作目錄在內(nèi)網(wǎng)來回翻配置文件時(shí)效率提升明顯。最后pwd -P打印的是物理路徑而非符號(hào)鏈接路徑配合軟鏈接工作時(shí)能看清你實(shí)際站在哪個(gè)目錄層級(jí)。3.2 cp、mv、rm參數(shù)速查與刪除禁忌文件復(fù)制、移動(dòng)、刪除在Kali里最常見的應(yīng)用場景是整理掃描結(jié)果、備份配置、清理臨時(shí)文件。三個(gè)命令參數(shù)看著多真正高頻的就那幾組我按資源內(nèi)容整理成一張速查表命令重點(diǎn)參數(shù)含義cp-a等價(jià)于-dpR復(fù)制時(shí)保留屬性與符號(hào)鏈接cp-p保留源文件屬性mv-i目標(biāo)已存在時(shí)覆蓋前詢問mv-u源文件更新時(shí)才覆蓋rm-r/-R遞歸刪除目錄及子目錄rm-f強(qiáng)制刪除不詢問cp -a /etc/passwd /tmp/passwd.bak mv -i /tmp/passwd.bak /root/passwd.bak rm -rf /tmp/passwd.bak第一條保留權(quán)限和屬性做備份這在需要保持文件原始模式時(shí)很關(guān)鍵比如備份一個(gè)可執(zhí)行腳本。第二條加了-i如果目標(biāo)目錄已有同名文件會(huì)先詢問防止誤覆蓋。第三條rm -rf是雙刃劍資源里特別提到對(duì)于鏈接文件rm只刪除鏈接本身原有文件不會(huì)動(dòng)所以刪軟鏈接基本安全但刪硬鏈接時(shí)要意識(shí)到它和原文件共享同一個(gè)inode刪掉一個(gè)并不等于釋放數(shù)據(jù)塊。歷來翻車案例大多發(fā)生在rm -rf后才發(fā)現(xiàn)路徑寫錯(cuò)我的習(xí)慣是刪目錄前先ls確認(rèn)一次。3.3 touch、mkdir、ln創(chuàng)建與鏈接touch有兩個(gè)用途創(chuàng)建空文件以及把已存在文件的時(shí)間屬性更新為當(dāng)前時(shí)間。滲透里常拿它測(cè)試目標(biāo)目錄是否有寫權(quán)限能touch出文件說明可以寫。mkdir -p遞歸創(chuàng)建多級(jí)目錄比一層層mkdir省事。ln創(chuàng)建鏈接時(shí)軟鏈接必須寫絕對(duì)路徑這個(gè)坑值得單獨(dú)說。touch /tmp/test-write.txt mkdir -p /tmp/loot/a/b/c ln -s /etc/passwd /tmp/passwd-link ls -l /tmp/passwd-link第一條在/tmp創(chuàng)建空文件驗(yàn)證當(dāng)前用戶對(duì)目錄的寫權(quán)限。第二條遞歸建三層目錄適合在收集漏洞利用過程中需要組織多級(jí)文件的時(shí)候。第三條創(chuàng)建指向/etc/passwd的符號(hào)鏈接注意ln -s的參數(shù)順序是“源文件在前、鏈接名在后”很多新手第一次會(huì)寫反。第四條用ls -l檢查鏈接是否生效如果目標(biāo)顯示紅色或者閃爍基本可以斷定是源路徑寫成相對(duì)路徑導(dǎo)致斷鏈。注意ln -s的源文件務(wù)必寫絕對(duì)路徑否則離開當(dāng)前目錄后鏈接立刻失效這是軟鏈接最容易踩的坑。4. 文件查看與定位cat、less、find三個(gè)高頻場景4.1 cat、more、less、head、tail查看命令怎么選日志和配置文件是滲透測(cè)試?yán)锏那閳?bào)來源查看命令選不對(duì)會(huì)浪費(fèi)大量時(shí)間。cat適合小文件-n顯示行號(hào)-A能把不可見字符顯示出來——處理從Windows傳過來的腳本時(shí)行尾的^M一眼就能看到。more是按頁顯示的老牌分頁器按鍵習(xí)慣接近vi但只能向前翻實(shí)際用下來不如less順手。less支持前后翻頁、/向下搜索、?向上搜索是所有查看命令里最值得長期用的一個(gè)。cat -n /etc/hosts less /var/log/syslog tail -f /var/log/apache2/access.log第一條帶行號(hào)輸出hosts排查域名解析問題夠用。第二條用less打開系統(tǒng)日志配合/error直接定位關(guān)鍵字幾百KB的文件翻起來也不卡。第三條是tail -f實(shí)時(shí)尾隨訪問日志輸出做web滲透時(shí)盯掃描結(jié)果、盯漏洞利用后的回連記錄這個(gè)命令能一直掛著。head和tail默認(rèn)只顯示10行-n指定行數(shù)-c按字符數(shù)截取后者在日常操作里用得少。4.2 find、locate、which三種定位方式定位文件有三個(gè)層次find實(shí)時(shí)遍歷文件系統(tǒng)條件最靈活locate查索引數(shù)據(jù)庫速度快但依賴updatedb定期更新which只在PATH環(huán)境變量里找可執(zhí)行文件用于確認(rèn)命令的真實(shí)位置。三者場景不同不能互相替代。find /var/log -name *.log -mtime -1 locate -i nmap which nc python3第一條在/var/log下找最近一天內(nèi)修改過的.log文件-mtime -1表示一天以內(nèi)這個(gè)參數(shù)在做日志分析時(shí)非常常用。第二條-i忽略大小寫查nmap相關(guān)路徑locate輸出速度快但剛創(chuàng)建的文件它找不到因?yàn)樗饕€沒更新。第三條which查看nc和python3的絕對(duì)路徑內(nèi)網(wǎng)環(huán)境里可能同時(shí)存在系統(tǒng)自帶和手工上傳的多種版本用它確認(rèn)你實(shí)際執(zhí)行的是哪個(gè)二進(jìn)制避免“明明裝了工具卻調(diào)不對(duì)版本”的尷尬。find還可以用-size 100M找大文件、-perm按權(quán)限位篩選提權(quán)階段找特殊權(quán)限文件時(shí)再組合細(xì)化。4.3 gzip與tar壓縮打包的固定搭配gzip只能壓縮單個(gè)文件壓縮后文件名會(huì)多出.gz后綴tar負(fù)責(zé)把一堆文件和目錄打包成一個(gè)文件兩者配合才是完整的壓縮方案。資源里提到的-c建立新壓縮文件、-z調(diào)gzip算法、-x解壓、-v顯示過程、-f指定文件名下面這個(gè)組合覆蓋了最常見的使用方式。gzip -v /var/log/messages tar -czf logs.tar.gz /var/log tar -xzf logs.tar.gz -C /tmp/logs第一條把/var/log/messages壓縮成.gz-v顯示壓縮率。第二條把整個(gè)/var/log目錄打包并用gzip壓縮-c創(chuàng)建、-z壓縮、-f指定輸出文件名這組參數(shù)是打包的固定寫法。第三條解壓到/tmp/logs-x解包、-C指定解壓目標(biāo)目錄。有一個(gè)常見坑直接在絕對(duì)路徑下執(zhí)行tar -czf解包后文件會(huì)帶上完整路徑層級(jí)我一般在目標(biāo)目錄的上級(jí)先cd進(jìn)去再打包解出來結(jié)構(gòu)才干凈。5. 登錄、會(huì)話與電源命令常見問題排查清單5.1 login、exit與last登錄審計(jì)是第一個(gè)現(xiàn)場login平時(shí)用得少但它背后承載的是Kali的多用戶登錄模型——一個(gè)系統(tǒng)可以同時(shí)接受多個(gè)用戶從不同虛擬控制臺(tái)登錄切換用AltF1到F6。exit沒有參數(shù)作用就是退出當(dāng)前Shell回到登錄界面。真正高頻的是last它讀取/var/log/wtmp記錄顯示近期用戶或終端的登錄情況是應(yīng)急響應(yīng)里判斷“誰來過”的第一手證據(jù)。last -n 10 last -d第一條顯示最近10條登錄記錄-n指定條數(shù)看最近異常時(shí)段內(nèi)有哪些賬號(hào)登錄過。第二條把日志里的IP地址解析成主機(jī)名但資源里也提醒過在沒有配置反向解析的內(nèi)網(wǎng)環(huán)境里這個(gè)功能基本沒意義反而拖慢輸出速度。last這條命令在事件排查中被問到的頻率很高管理員靠它確認(rèn)是否有未授權(quán)的登錄行為。如果懷疑系統(tǒng)被入侵第一步就是先跑last和lastb把會(huì)話記錄存成文件歸檔再繼續(xù)分析。5.2 su與sudo權(quán)限切換別踩邊界Kali的日常操作里權(quán)限切換是最高頻也最容易混淆的動(dòng)作。資源里對(duì)su和sudo的區(qū)別給了一句關(guān)鍵說明su切換用戶時(shí)只切換root身份但shell環(huán)境仍保留普通用戶的設(shè)置而sudo允許普通用戶執(zhí)行管理員賬戶才能執(zhí)行的命令執(zhí)行完回到原身份。su - root sudo whoami sudo -i第一條su -帶一個(gè)減號(hào)會(huì)重新開啟登錄Shell并加載root的環(huán)境變量推薦用這個(gè)而不是裸su root。第二條sudo whoami輸出root驗(yàn)證當(dāng)前用戶具備臨時(shí)提權(quán)能力。第三條sudo -i則是以root身份啟動(dòng)交互式Shell適合需要連續(xù)執(zhí)行多條管理命令的場景。兩者的邊界在資源里寫得很清楚我補(bǔ)充一個(gè)實(shí)際教訓(xùn)混淆這個(gè)邊界最常見的結(jié)果是——用su切換后在腳本里調(diào)用命令發(fā)現(xiàn)環(huán)境變量不對(duì)或者用sudo執(zhí)行重定向到文件時(shí)提示權(quán)限不足因?yàn)橹囟ㄏ蚴荢hell做的不在sudo提權(quán)范圍內(nèi)。命令表現(xiàn)適用場景su切換為其他用戶身份可能保留原環(huán)境變量需要長時(shí)間以其他身份工作sudo單條命令提權(quán)記錄審計(jì)日志偶爾執(zhí)行管理員操作5.3 shutdown、halt、reboot安全關(guān)機(jī)不是玄學(xué)Kali作為攻擊機(jī)很多人習(xí)慣干完活直接關(guān)虛擬機(jī)窗口這個(gè)動(dòng)作相當(dāng)于強(qiáng)制斷電。資源里特意強(qiáng)調(diào)Linux后臺(tái)運(yùn)行著許多進(jìn)程直接斷電源可能讓進(jìn)程數(shù)據(jù)丟失系統(tǒng)處于不穩(wěn)定狀態(tài)甚至損壞硬件設(shè)備。shutdown會(huì)通知所有登錄用戶、凍結(jié)login禁止新用戶登錄然后逐項(xiàng)關(guān)閉服務(wù)最后才關(guān)機(jī)halt則不會(huì)逐項(xiàng)關(guān)閉服務(wù)直接執(zhí)行硬件關(guān)機(jī)reboot參數(shù)和halt基本一致用于重啟。shutdown 5 System will shutdown after 5 minutes shutdown -c第一條是在5分鐘后關(guān)機(jī)并廣播通知適合需要給其他登錄用戶留緩沖時(shí)間的場景。第二條取消已計(jì)劃的關(guān)機(jī)-c只對(duì)還沒執(zhí)行的shutdown有效。這里有一個(gè)值得記住的參數(shù)shutdown -k只是發(fā)送警示信息給所有用戶并不會(huì)真的關(guān)機(jī)適合演練時(shí)用。halt的參數(shù)里-n不進(jìn)行sync同步、-d不寫記錄、-i先關(guān)閉網(wǎng)絡(luò)接口這些在正常操作里很少動(dòng)但要意識(shí)到它們的存在。5.4 命令失效與環(huán)境問題五條現(xiàn)場排查記錄這一節(jié)集中列幾條在Kali現(xiàn)場復(fù)現(xiàn)率最高的故障按“現(xiàn)象→原因→解決”的方式寫方便直接對(duì)號(hào)入座?,F(xiàn)象1sudo apt install提示Unable to locate package。原因軟件源索引過期包名在本地索引里查不到。解決先執(zhí)行sudo apt update刷新索引再裝Kali默認(rèn)源更新頻率低新裝的系統(tǒng)尤其常見。現(xiàn)象2ln -s建完軟鏈接ls -l顯示目標(biāo)紅色或閃爍。原因源文件寫成了相對(duì)路徑離開當(dāng)前目錄后鏈接指向的位置不存在。解決刪除重建源路徑用絕對(duì)路徑例如ln -s /etc/passwd /tmp/passwd-link?,F(xiàn)象3locate找不到剛創(chuàng)建的文件。原因locate查的是索引數(shù)據(jù)庫不是實(shí)時(shí)文件系統(tǒng)新建文件尚未入庫。解決執(zhí)行sudo updatedb強(qiáng)制重建索引再重新locate?,F(xiàn)象4腳本加了執(zhí)行權(quán)限仍然報(bào)Permission denied。原因目標(biāo)所在分區(qū)以noexec方式掛載或者當(dāng)前用戶權(quán)限不夠。解決用mount -o remount,exec重新掛載所在分區(qū)或確認(rèn)文件屬于當(dāng)前用戶且權(quán)限位正確。Kali的/tmp在某些安全加固配置下會(huì)帶noexec這也是為什么臨時(shí)腳本放/tmp跑不起來的原因?,F(xiàn)象5改了別名新開終端還是不生效。原因配置寫到了.bashrc而Kali默認(rèn)Shell是zsh也可能寫完沒source。解決確認(rèn)當(dāng)前Shell是echo $SHELL配置寫入~/.zshrc執(zhí)行source ~/.zshrc。五條里第一條和第五條的排查成本最低但現(xiàn)場見到最多。多數(shù)是環(huán)境初始化階段沒走完不是命令本身的問題。6. 把命令串成習(xí)慣一套別名與函數(shù)配置前面拆了那么多參數(shù)和場景最后落成一個(gè)具體動(dòng)作把高頻組合做成zsh別名和函數(shù)存進(jìn)~/.zshrc。命令大全的價(jià)值在于查但更高一層是讓常用組合變成肌肉記憶不用每次翻。alias llls -alh alias cmanman -M /usr/share/man/zh_CN alias logchecktail -f /var/log/syslog sysinfo() { echo last login last -n 5 echo disk df -h echo memory free -h }第一行把ls -alh綁定到ll每次列目錄直接看到隱藏文件和可讀大小這是日常使用頻率最高的別名。第二行是第2章中文man的別名查手冊(cè)時(shí)少打一串參數(shù)。第三行把實(shí)時(shí)日志檢查綁定成logcheck打開終端就能盯系統(tǒng)日志。sysinfo函數(shù)把登錄審計(jì)、磁盤、內(nèi)存三條命令串成一次健康檢查在拿到陌生機(jī)器時(shí)先跑一遍環(huán)境狀態(tài)一目了然。配置寫入~/.zshrc后執(zhí)行source ~/.zshrc生效。有一回在某個(gè)內(nèi)網(wǎng)環(huán)境里我圖省事沒先配別名就直接開干結(jié)果連翻日志都要現(xiàn)場敲一串參數(shù)效率慘不忍睹。從那以后每次拿到新的Kali環(huán)境我第一件事就是檢查help和man是否可用、last是否正常、然后把這幾個(gè)別名和函數(shù)配好再開始做事。工具裝在皮上命令熟在骨子里這份命令大全的價(jià)值也在這個(gè)習(xí)慣里。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取