滲透測試面經之——滲透測試與漏洞分析

滲透測試與漏洞分析

 

  • owasp top10漏洞

    • SQL注入
    • 失效的身份認證和會話管理
    • 跨站腳本攻擊 XSS
    • 直接引用不安全的對象
    • 安全配置錯誤
    • 敏感信息泄露
    • 缺少功能級的訪問控制
    • 跨站請求僞造 CSRF
    • 使用含有已知漏洞的組件
    • 未驗證的重定向和轉發
  • xss如何盜取cookie

    • 通過存儲型XSS漏洞嵌入腳本代碼,用戶訪問的時候直接用js腳本將cookie發送給攻擊者的服務器
  • 滲透測試的流程是什麼

    • (分爲黑盒測試和白盒測試)
    • 信息收集
      • 判斷域名ip(是否CDN)
      • 站長之家whois信息,子域名,DNS記錄查找真實ip
      • 識別網站指紋找到CMS對應漏洞
      • 整站分析(主機和端口掃描):服務器系統、中間件、腳本類型、數據庫類型
      • 旁站(同一ip不同的網站)和C端(xxx.xxx.xxx.1-255中任意網站)
    • 漏洞探測
      • AVWS、AppScan、OWASP-ZAP、Nessus掃描器使用
    • 漏洞利用獲得shell
      • 一句話木馬、msf的metepreter、存儲型xss、msf提權等等
    • 內網滲透階段
      • 內網穿透
      • 多去目錄看看,找一找文件,說不定會有用的信息
    • 痕跡清除
      • msf刪日誌:clearev
    • 撰寫報告
  • xss如何防禦

    • html實體化、輸入輸出的字符都要做過濾和編碼、關鍵的cookie使用http-only
  • xsscookie一定可以無用戶名密碼登錄嗎?

    • 只要會話隔得時間不是很久遠就可以,還要看網站對於cookie
  • SSL Strip(SSp)攻擊到底是什麼?

    • SSL是一種適用於點對點通信的加密協議,HTTP協議加上SSL就成了安全的HTTPS協議,理論上成爲了安全的通信
    • SSp攻擊方式類似於ARP欺騙,在受害者不知情的情況下把黑客誤認爲是網關,在web服務器的HTTPS頁面傳輸給受害者中途會經過黑客的電腦,黑客將其篡改成HTTP頁面,然後受害者一時粗心大意便會在HTTP頁面上輸入賬號密碼並將其發送給黑客,黑客獲取有用信息後再將內容頁面轉換成HTTPS發送給web服務器;這樣受害者的信息就泄露了
  • 中間人攻擊——ARP欺騙的原理、實戰及防禦

    • 網關:作用於傳輸層或應用層;通俗易懂的解釋就是一個局域網通向了一個局域網的門,只能通過這個門來進行兩個網絡之間的通信
    • ARP協議:
      • 工作於數據鏈路層,在以太網中,設備之間通信是通過MAC地址而不是ip地址,ARP協議就是吧IP地址轉化成MAC地址;RARP正好相反
      • CMD命令查看ARP緩存表:arp -a
    • ARP欺騙
      • 利用了ARP協議的致命漏洞:當請求主機接受ARP應答包的時候不會去驗證自己是否向對方主機發送過ARP請求包,就直接寫入ARP緩存表中
      • 假設主機 A(192.168.1.2)、B(192.168.1.3)、C(192.168.1.4)和網關G(192.168.1.1) 在同一局域網,A和B通過網關G相互通信,就好比A和B兩個人寫信,由郵遞員G送信,C永遠都不會知道A和B之間說了些什麼話。突然C去和A說 “ 我現在是郵遞員,你把要給B的信給我就可以了 ”(源IP(假的):192.168.1.1,源MAC:C的MAC地址,目標IP192.168.1.2,目標MAC:A的MAC),然後C去和G說: “ 我現在是A,我會把送給B的信件給你 ” (源IP(假的):192.168.1.2,源MAC:C的MAC,目標IP:192.168.1.1,目標MAC:G的MAC);這樣一來,A給B的信件都會轉接C之手了;這就是ARP欺騙。
  • 會話劫持原理

    • 什麼是會話: Telnet到某臺主機,這就是一次Telnet會話;瀏覽某個網站,這就是一次HTTP會話
    • 通過嗅探或者欺騙的手段在雙方會話中進行監聽或者直接代替某一方接管會話
    • 會話劫持種類:
      • 中間人攻擊:對雙方透明的中間人,在中間代替某一方接受對方的數據在轉發給另一方(SSp攻擊,ARP欺騙
      • 注射式攻擊: 它不會改變會話雙方的通訊流,而是在雙方正常的通訊流插入惡意數據。
  • CC攻擊

    • 攻擊者藉助代理服務器,用多個線程模擬多個用戶,進行DDOS攻擊,而且是無法辨認攻擊來源的DDOS(多個代理)
  • 添加時間戳防止重放攻擊

    • 重放攻擊:攻擊者截取到了發往某服務器的加密請求包,雖然無法解密但是可以不停地向服務器發送這個請求包,造成服務器拒絕服務
    • 向請求包中添加時間戳可以有效的防止重放攻擊
  • HTTPS中間人攻擊與證書校驗

    • HTTPS證書體制: 證書是https裏非常重要的主體,可用來識別對方是否可信,以及用其公鑰做密鑰交換。可以看見證書裏面包含證書的頒發者,證書的使用者,證書的公鑰,頒發者的簽名等信息。 
    • HTTPS中間人攻擊:https握手過程的證書校驗環節就是爲了識別證書的有效性唯一性等等,所以嚴格意義上來說https下不存在中間人攻擊,存在中間人攻擊的前提條件是沒有嚴格的對證書進行校驗,或者人爲的信任僞造證書
  • 什麼是HttpOnly?

    • 在cookie中設置了http-only屬性的話,javascript腳本就無法讀取到cookie信息
  • 簡單的查找旁站

    • 站長之家的同IP網站查詢
  • 什麼是WebShell?

    • Webshell就是通過asp、php、jsp、cgi等服務器可執行的網頁文件,在網站後臺創造一個命令可執行環境,然後可以通過這些可連接的後門可執行文件,達到控制網站服務器的目的( 上傳下載文件,查看數據庫,執行任意程序命令等
  • 什麼是網絡釣魚?

    • 一種社會工程學攻擊方式,通過僞造網站,誘使用戶登陸上虛假的網站進行密碼的輸入等等
  • dll文件是什麼意思,有什麼用?DLL劫持原理

    • 什麼是DLL文件: DLL(Dynamic Link Library)文件, 即動態鏈接庫,也有人稱作應用程序拓展。 Windows應用程序設計中,實行了模塊化設計,每一個獨立的程序可以調用系統中公共的dll文件,有效的解決了代碼複用等等問題,提高了程序運行效率;
    • 應用程序如何調用DLL文件: 加載程序必須在磁盤上搜索DLL文件。首先會嘗試從當前程序所在的目錄加載DLL,如果沒找到,則在Windows系統目錄中查找,最後是在環境變量中列出的各個目錄下查找。
    • DLL劫持: 僞造一個系統同名的DLL,提供同樣的輸出表,每個輸出函數轉向真正的系統DLL。程序調用系統DLL時會先調用當前目錄下僞造的DLL,完成相關功能後,再跳到系統DLL同名函數裏執行。這個過程用個形象的詞來描述就是系統DLL被劫持(hijack)了。
  • 0day漏洞

    • 是已經發現但是官方還沒發佈補丁的漏洞。
  • Rootkit是什麼意思

    • Rootkit 是一種特殊類型的惡意軟件。Rootkit 之所以特殊是因爲您不知道它們在做什麼事情。Rootkit 基本上是無法檢測到的,而且幾乎不可能刪除它們。 Rootkit 的目的在於隱藏自己以及其他軟件不被發現。它可以通過阻止用戶識別和刪除攻擊者的軟件來達到這個目的。Rootkit 幾乎可以隱藏任何軟件,包括文件服務器、鍵盤記錄器、Botnet 和 Remailer。Rootkit 本身不會像病毒或蠕蟲那樣影響計算機的運行,反而會在後臺悄無聲息的偷偷運行; 對於找出的 Rootkit,最好的應對方法便是擦除並重新安裝系統。雖然這種手段很嚴厲,但是這是得到證明的唯一可以徹底刪除 Rootkit 的方法。
  • 蜜罐

    • 估計暴露給攻擊者的環境,將會被模擬成真正的網站或者服務器系統,從而讓該系統的安全維護者們知道攻擊者的攻擊方式,也可以通過它竊聽黑客之間的聯繫,收集黑客們所使用的工具,並掌握他們的社交網絡。所謂魔高一尺道高一丈
  • DDOS

    • 分佈式拒絕服務(DDoS:Distributed Denial of Service)
    • SYN Flood的基本原理
      • TCP握手協議第一次握手時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認; SYN攻擊屬於DOS攻擊的一種,它利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。
  • 震網病毒

    • 指一種蠕蟲病毒,是第一個專門定向攻擊真實世界中基礎(能源)設施的“蠕蟲”病毒,比如核電站,水壩,國家電網。只要電腦操作員將被病毒感染的U盤插入USB接口,這種病毒就會在神不知鬼不覺的情況下(不會有任何其他操作要求或者提示出現)取得一些工業用電腦系統的控制權。
    • 與傳統的電腦病毒相比,“震網”病毒不會通過竊取個人隱私信息牟利。無需藉助網絡連接進行傳播。這種病毒可以破壞世界各國的化工、發電和電力傳輸企業所使用的核心生產控制電腦軟件,並且代替其對工廠其他電腦“發號施令”。極具毒性和破壞力。“震網”代碼非常精密,主要有兩個功能,一是使伊朗的離心機運行失控,二是掩蓋發生故障的情況,“謊報軍情”,以“正常運轉”記錄回傳給管理部門,造成決策的誤判。
  • 一句話木馬

    • asp一句話木馬:
      • <%execute(request("value"))%>
    • php一句話木馬:
      • <?php @eval($_POST[value]);?>   
      • 變形:<?php $x=$_GET[‘z’];@eval(“$x;”);?>
    • aspx一句話木馬:
      • <%@ Page Language="Jscript"%>
      • <%eval(Request.Item["value"])%>
  • 手工查找後門木馬的小技巧

    • 任務管理器“啓動項”查看正在運行的服務
    • WIN10下的:C:\Users\Users\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 文件夾存放着開機自啓動的軟件
    • Linux下:
      • 查看開機啓動項:systemctl list-unit-files --type=service|grep enabled
      • 禁用:sudo systemctl disable xxxx.service
  • SSRF漏洞    

    • SSRF(Server-Side Request Forgery:服務器端請求僞造) ;是一種攻擊者從服務端發起請求的一個安全漏洞;通常情況下,攻擊者通過服務端訪問的目標都是我們從外部無法訪問的內容、域名、文件或網站等等;
    • 最可能出現的地方:在頁面中有通過url進行數據交互的點,例如:
      • 社交分享中提取的超鏈接的內容
      • 轉碼服務( 通過URL地址把原地址的網頁內容調優使其適合手機屏幕瀏覽
      • 在線翻譯
      • 提交url進行圖片下載
      • 雲服務廠商(通過遠程命令判斷目標是否存活等等)
      • 網站採集
      • 部分數據庫內置的功能(monghdb的copyDatabase函數)
      • 編碼處理( 比如ffpmg,ImageMagick,docx,pdf,xml處理器等
      • 未公開的api實現以及其他擴展調用URL的功能
      • 從遠程服務器請求資源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎對象的地方 如wordpress xmlrpc.php)
 
 
 
 = =
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章