特別感謝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。