特別感謝vulhub提供的眾多滲透測試環境,有興趣的伙伴們還可以去大佬的項目下膜拜。
https://github.com/vulhub/vulhub。
經典不變的場景問題:給你一個后臺登陸站點,說說你的滲透思路。
此類問題一般圍繞滲透測試的基本流程展開,不過個人有其他思路也可以,這里筆者主要是為了可以做到條例清晰(后來看看也并不清晰。。。。。。emmmm),讓面試官覺得很有邏輯性。當然回答過程中還有面試官提出的其他問題都穿插提問啦。
信息搜集
whois站長查詢
查注冊人信息,郵箱。主要是可以拿著這些信息通過goole,或github搜索一些其他的敏感信息,擴大搜索面。效果就不多說了,在github泄漏一些賬號或源碼的事件簡直不要太多。
查子域名
這里不僅僅是只針對這個場景的滲透了。當然有可能子域名下的數據庫和正式的用的一樣呢,例如測試站點,開發者為了方便利用數據測試,自然而然的采用了正式數據庫(這個我遇到過),測試站點的問題理論上比正式上線的會多一些,拿到權限的可能也就越大,這是再到正式的登陸接口測試。(擴散思維)
服務器相關信息(真實IP,系統類型、waf、開放端口)
問:獲取獲取真實ip方法,
ping方法去ping域名,
問:如何判斷目標站點使用了CDN,如果目標站點使用了CDN,如何繞過判斷真實ip?
判斷:有條件的使用全國不同地區的服務器ping這個網址,(當然線上也有工具!)如果得到的ip結果不同,即可判斷使用了CDN。
繞過:查詢域名解析記錄;使用國外服務器ping,因為國內很少對國外做CDN。當然還可以使用nslookup,dns服務器地址盡量找冷門的,熱門的會和國內查詢的結果相同。
Nmap 掃描,探測當前服務器是否開放了其他端口,如果其他端口存在歷史遺留漏洞,可以直接利用。nmap掃描服務器進行搜集,我認為也是至關重要的一點,不能遺漏。
問:nmap默認以什么方式探測
ping方式
問:如何使用禁ping的方式掃描
-p0
漏洞挖掘
對應下面的一些列滲透環境請點擊https://github.com/yaunsky/Iproject/tree/master/%E6%BC%8F%E6%B4%9E%E6%8C%96%E6%8E%98/
一個登陸站點可能存在的漏洞:sql注入、萬能密碼(sql注入)、弱口令,敏感信息泄漏,csrf,url跳轉,xss,命令執行,越權訪問,未授權訪問,短信轟炸
sql注入
問:注入類別
get、post、cookie、盲注
sqlmap的使用方法
問:獲得當前數據庫使用的用戶
—current-user
問:post注入方法、cookie注入方法。
抓包,放到txt文件,使用sqlmap -r *.txt實現post注入
cookie注入,--cookie .. —level 2
使用文件時,制定某特定選項注入的方法
在文件中,將指定的參數值設為星號(*)
risk級別、level級別
risk 1-3
level 1-5
默認都是1.測試cookie注入時最低level為2
文件上傳
繞過的方式有哪些
前端驗證繞過,
網站指紋識別,中間件識別
1、常見的cms漏洞
2、weblogic、nginx、iis、apache
問:weblogic你知道那些漏洞
類似問題盡量答新一點的或經典的(我認為這樣面試官會覺得你關注最新的安全事件),任意文件上傳。
又問:有哪些限制呢?
用戶名和密碼
設置web測試
問:談一談nginx、iis和apache解析漏洞
nginx解析:從右往左解析
iis解析漏洞:通過;繞過
apache解析:將jpg文件當作執行文件解析
提權或拿shell
mysql寫shell
問:擁有數據庫的訪問權限如何寫shell
union select 寫入
問:還有其他的嗎?
不會,肯定是有的
問:如果你擁有一個sa用戶,如何寫shell
1、通過sa權限回復xp_cmdshell
2、查網站真實路徑
3、寫入shell
問:sql server和oracal默認端口
1433 1521 mysql3306
問:phpmyadmin下如何寫shell
1、查詢是否開啟日志記錄,沒有則開啟
show global variables like "genera";
2、設置日志保存地址(前提得到網站真實路徑)
3、select "shell"這樣就寫進了日志,菜刀連日志文件即可
或者
1、創建一個表,設置一個字段
2、將字段內容為一句話
3、查詢表的內容,倒入到php文件
4、菜刀連接php文件
或者
1、直接通過select 一句話 into outfile "PHP文件路徑"
2、連接一句話
問:mysql獲得shell的時候,有哪些限制條件
GOP關閉
Secure-file-priv沒有配置
root權限
有絕對路徑
udf提權
利用root權限,創建帶有調用cmd函數的udf.dll文件,然后可以直接輸入cmd
linux提權方式
1、利用內核漏洞提權
臟牛
2、sudo提權
3、數據庫提權
4、suid提權
ssrf結合redis獲得shell
使用ssrf探測內網是否開放了6379端口(對應redis服務),如果開放,即可結合redis未授權漏洞,通過gopher協議寫入shell。
又問:redis未授權都有哪幾種方式獲得shell?
1、直接寫shell到網站的真實路徑下,當然必須知道網站真實目錄
2、將密鑰寫入.ssh/目錄下
3、寫計劃任務
4、主從rce
又問:執行寫shell的操作時,應該具備哪些條件。
1、未授權訪問
2、redis命令沒有禁止,例如config
禁用命令的使用去找redis.conf。里面的security項
rename-command CONFIG ""
又問:如果內容禁止使用ip如何探測內網端口
1、使用dns解析
2、127。0。0。1
3、http://[::]:80/
4、進制轉換
權限維持
windows方法
1、shift后門
將自己的cmd.exe替換掉C'\windows\system32\dllcache\sethc.exe
在開機后未登陸情況下按5下shift執行后門。
2、計劃任務
沒研究過
linux方法
1、ssh后門
2、suid后門
3、inetd服務后門
4、vim后門
MSF權限維持
1、persistence模塊
2、metsvc模塊
powershell權限維持
資料查的,暫未研究,不過面試官有時侯也會挺喜歡問這些。
挖洞過程中,你覺得挖到最有意思的漏洞
阿里積分活動
ueditor的ssrf漏洞
內網滲透知識
域控
域控hash文件存放位置
C:\Windows\NTDS\NTDS.dit
內網信息搜集
查看域:new user /domain
看共享:net view
看hosts文件:可能通過這個文件進行ip-域名解析
瀏覽器中記錄的密碼
敏感文件
服務器中的配置文件
歷史命令
ssh私鑰
xshell中的session文件,可導出
工具掃描:msf ms17010
應急響應
應急如何查找挖礦
Netstat -anp查異常pid看端口信息,然后根據端口信息定位文件 ls -l /proc/PID
服務器入侵報警的怎么做?
自寫的腳本,實現的功能:查登陸日志(成功與失敗)、查規定時間內修改的文件、查最新添加的文件、查歷史命令,查異常進程、查/etc/passwd、查各服務的最新日志(每天的日志都會備份一份到指定文件夾下)。腳本去見筆者另一公開內容。
自寫滲透方面的工具
有就解釋,沒有拉到。建議多寫寫滲透相關的工具或腳本,加分很多
SRC提交優質漏洞
有就解釋,沒有拉到,賊加分!
文章中很多漏洞沒有給出漏洞地址,但在網上都有。大家去百度一下吧,后期沒心情整理啦,要去看小姐姐了。
還要提醒一下看到這個內容的伙伴,以上內容大多都是基礎問題,個人整理,不會保證完全會吻合面試官的內容(我也沒那么厲害),同時如有錯誤的地方,希望能夠給指出,畢竟是菜鵝筆者手打的。見諒見諒。
最后祝每一個找工作的小伙伴順利拿到offer。
合天網安實驗室
系統安全運維
LemonSec
HACK學習呀
HACK學習呀
安全牛
HACK學習呀
HACK學習呀
系統安全運維
一顆小胡椒
HACK學習呀
系統安全運維