例題
最近在做玄機的靶場,對這方面沒怎么接觸過,于是決定做一下順便學習一下
這里可以用change更改命令來查看:change -l xiaoming
也可以用shadow中存儲的信息grep出來:cat /etc/shadow|grep xiaoming
其中:
-
第一個字段是用戶名。
-
第三個字段是上次密碼更改的日期(從 1970 年 1 月 1 日起的天數)。
-
第四個字段是兩次更改密碼的最小天數。
-
第五個字段是兩次更改密碼的最大天數。
-
第六個字段是密碼到期前提醒天數。
-
第七個字段是密碼過期時間(從 1970 年 1 月 1 日起的天數)
默認的密碼配置策略文件在/etc/login.defs中,可以cat /etc/login.defs|grep PASS來查看
當然也可以用上面那個change -l xiaoming來查看,一樣的
很簡單,不解釋(才不會告訴你我忘記了ssh是用大寫V查看)
圖忘記截了,不過是一個可讀可寫可執行的755權限,肯定是不符合原來的644和600的
ls -l /etc/passwd /etc/shadow
在linux中可以有很多個用戶,每個用戶都會分配一個權限,也就是uid,可疑用戶就是用戶名跟所擁有的uid權限明顯不對應的情況
一般情況下,先檢查/home和/root目錄下的shell:
cat /etc/passwd|grep home
然后也可以直接檢查root權限:
awk -F: '$3 == 0 {print $1}' /etc/passwd
發現在home目錄下有兩個用戶是有root權限但是用戶名不對的:yunwei wangwei
檢查sudoers中哪些用戶具有sudo權限:
sudo grep "ALL" /etc/sudoers
systemctl status syslog
查看syslog的狀態:
是誰!把zhangsan刪掉了!!!!!!
張三都沒有登陸過,怎么就記錄su時間了(真服了)
做過滲透的小伙伴都很熟悉吧,第一步就是uname -a,所以我連圖都懶得截了
開放端口netstat -a
題目中開放了小皮,也給了對應賬密,那就上去看看有啥網站。
上去之后發現有三個網站,其中在5566網站下有一個hack文件夾很可疑,里面一個index是經典一句話,一個隱藏的.hacker.php是md5的連接密碼
很明顯上面那個就是flag,已經做完了
因為題目說是docker起的,主包剛刪掉了navicat,所以這部分沒做
但是我知道命令:
SELECT user, host FROM mysql.user WHERE authentication_string = '';
INSTALL PLUGIN validate_password SONAME 'validate_password';
SHOW VARIABLES LIKE 'validate_password_length';
SHOW VARIABLES LIKE 'max_connect_errors';
直接跳到18:只能檢查一下docker容器內的信息了
那就直接./fscan -h 127.0.0.1
在6379,8848都有漏洞,一個是poc一個是弱密碼,還有個11211的未授權,不過不知道為啥這個不認
都數據了,肯定是找poc那個nacos的洞,這個是jwt繞過,用一個大于當前時間的時間戳加上固定的key生成偽造的jwt(網址:JSON Web Tokens - jwt.io)
剛做到最后這里,金幣不夠了,環境直接把我踢出去了,氣死我了!!!!
看到了大佬的漏洞文檔:逗號CMS 5.05版本任意代碼執行漏洞分析文檔.docx - 藍奏云
然后就是改html然后抓包改url繞過過濾就可以直接執行了嘻嘻,高級
總結
總結一下,整個等保流程其實很多都跟滲透流程差不多,不過是倒序,滲透是先網站處打進去之后先維權做一下馬的隱藏,然后再檢查內核和shadow/passwd的權限看看能不能提權,最后是嘗試內網橫向(當然這個例題沒有內網也就沒有橫向)
對比于滲透,等保就是加入了檢查,先檢查用戶各種密碼的保存時間、過期時間、提醒時間,以及對應敏感文件的權限和危險用戶權限,然后再檢查用到的各種接口、數據庫和內核是否存在漏洞(如ssh,mysql),再就是看開放端口有哪些有風險,并用各種一把梭工具進行自我測試攻擊。