資訊保安行業入門與各類技術簡介(掃盲貼)
1.簡介
作為第一篇介紹資訊保安的掃盲貼,就說一些乾貨要實際一些,主要介紹一下資訊保安行業裡面的一些業務開展情況與常規的一些技術手段與工具,附帶推薦了一些學習的網站與書籍,純手碼字部分描述有失偏頗,歡迎指出斧正。
談到資訊保安,都離不開CIA三個屬性即機密性(Confidentiality)、完整性(Integrity)、可用性(Availability)三個性質簡稱CIA。
- 機密性(Confidentiality)指只有授權使用者可以獲取資訊。
- 完整性(Integrity)指資訊在輸入和傳輸的過程中,不被非法授權修改和破壞,保證資料的一致性。
- 可用性(Availability)指保證合法使用者對資訊和資源的使用不會被不正當地拒絕。
幾個專業術語:
POC
POC,Proof ofConcept,中文意思是“觀點證明”。這個短語會在漏洞報告中使用,漏洞報告中的POC則是一段說明或者一個攻擊的樣例,使得讀者能夠確認這個漏洞是真實存在的。
EXP
EXP,Exploit,中文意思是“漏洞利用”。意思是一段對漏洞如何利用的詳細說明或者一個演示的漏洞攻擊程式碼,可以使得讀者完全瞭解漏洞的機理以及利用的方法。
VUL
VUL,Vulnerability的縮寫,泛指漏洞。
CVE漏洞編號
CVE 的英文全稱是“Common Vulnerabilities & Exposures”公共漏洞和暴露,例如CVE-2015-0057、CVE-1999-0001等等。CVE就好像是一個字典表,為廣泛認同的資訊保安漏洞或者已經暴露出來的弱點給出一個公共的名稱。如果在一個漏洞報告中指明的一個漏洞,如果有CVE名稱,你就可以快速地在任何其它CVE相容的資料庫中找到相應修補的資訊,解決安全問題。
可以在https://cve.mitre.org/網站根據漏洞的CVE編號搜尋該漏洞的介紹。
也可以在中文社群http://www.scap.org.cn/上搜索關於漏洞的介紹
0DAY漏洞和0DAY攻擊
在計算機領域中,零日漏洞或零時差漏洞(英語:Zero-dayexploit)通常是指還沒有補丁的安全漏洞,而零日攻擊或零時差攻擊(英語:Zero-dayattack)則是指利用這種漏洞進行的攻擊。提供該漏洞細節或者利用程式的人通常是該漏洞的發現者。零日漏洞的利用程式對網路安全具有巨大威脅,因此零日漏洞不但是黑客的最愛,掌握多少零日漏洞也成為評價黑客技術水平的一個重要引數。
CTF(Capture The Flag)
CTF是一種流行的資訊保安競賽形式,其英文名可直譯為“奪得Flag”,也可意譯為“奪旗賽”。其大致流程是,參賽團隊之間通過進行攻防對抗、程式分析等形式,率先從主辦方給出的比賽環境中得到一串具有一定格式的字串或其他內容,並將其提交給主辦方,從而奪得分數。為了方便稱呼,我們把這樣的內容稱之為“Flag”。
Webshell
webshell常常被稱為匿名使用者(入侵者)通過WEB服務埠對WEB伺服器有某種程度上操作的許可權,由於其大多是以網頁尾本的形式出現,也有人稱之為網站後門工具。
2.安全業務
為方便大家快速瞭解,按照一些簡單的方式進行分類。主要分為三大類:
- Web安全與攻擊防禦
- 二進位制安全
- 安全服務相關
下面依次簡單的說明一下,後續有相關問題可以百度一下,百度不行就google。
2.1 Web安全與攻擊防禦
Web安全與攻擊防禦在一定的層面上可以理解為就是咱們熟知的黑客入侵,通常見到的可以入侵某一個網站,給某一個網站掛上木馬,修改網站內容,改資料庫內容(比如改大學教務系統的考試成績),留一下一個網站的webshell等等其實都屬於web安全的內容,由於網際網路與資訊化的普及網站系統對外的業務較多,且由於程式設計師的水平層次不齊與運維人員的一些配置失誤,web安全的內容相對較多。
以下是一張web安全相關的知識體系:
簡單一點說,其實也就是通過找到一些網站系統的漏洞,然後拿到一個網站的管理許可權。現在介紹一些部分常見的的一些安全漏洞拋磚引玉。
2.1.1 Sql注入
這裡我也不去網站找各種標準的解釋,有需要的可以百度一下,各類概念性的東西比較多。Sql注入是一類攻擊,通過網站系統與使用者互動的一些地方比如查詢頁面,登入介面修改一些關鍵引數,可以直接操縱後臺sql語句的一類攻擊,這一類的攻擊非常普遍漏洞也非常多。
Sql注入的危害性較大有甚者可以直接刪除資料庫的所有資料,畢竟是可以操作資料sql的行為,目前很多網站系統都存在這種漏洞。
Sql注入工具介紹,有一個開源的sql注入利用神器應該是目前最好用的工具,sqlmap是基於python的一個開源專案,具體操作可以查閱github。
2.1.2 命令執行
命令執行漏洞,簡稱RCE(遠端命令執行)這是一類危害相對較大的漏洞,而且部分出現此漏洞的地方都是簡單粗暴的哪一類,比如經常聽見的那種struct2命令執行漏洞,一個工具就可以執行任何命令,類似於linux的一個shell一樣,部分人員只要執行一個rm -rf /*,整個系統都可以被格式化。
命令執行的工具沒有特定的,大多數時候都是依據不同的漏洞有特定的exp工具比如struct2-045命令執行漏洞,weblogic命令執行漏洞這一類。都可以在github上找到很多的開源專案。
2.1.3 檔案上傳漏洞
簡單描述其實就是把一些惡意的木馬後門檔案,通常是指令碼檔案如jsp,aspx,war,php等格式的檔案通過網站系統直接上傳到網站系統,然後被執行這些指令碼檔案最後可以獲取到網站系統的管理許可權。這一類攻擊也是常見且危險性大的。
執行了指令碼檔案之後便可以管理整個網站的目錄管理,改網站內容便不在話下。
常用的工具主要為抓包工具方便截獲應用層的資料包內容並進行修改名為Burpsuit,網際網路上可以找到很多資源。
2.1.4 其他
思維導圖當中還有很多其他的漏洞,有興趣可以百度之,網際網路時代很多教程都有比較完備,百度谷歌都試一下。
部分書籍可以推薦看看:
- 《白帽子講Web安全》 吳翰清 電子工業出版社
- 《Web前端黑客技術揭祕》 鍾晨鳴、徐少培 電子工業出版社
- 《黑客攻防技術寶典(Web實戰篇第2版)》 Dafydd Stuttard 人民郵電出版社
- 《Metasploit滲透測試魔鬼訓練營》 諸葛建偉 機械工業出版社
- 二進位制安全
二進位制安全主要工作集中在一些二進位制通用漏洞的挖掘、加密解密、軟體安全、病毒分析、等主要業務場景。比如常知道的wannacry勒索病毒分析就是屬於二進位制安全內容。
大概的技能知識樹如下:
主要安全工具:
Ollydbg:
ollydbg是當前逆向工程主流的動態跟蹤除錯工具,ollydbg適合32位動態除錯,除錯過程可隨時插入全域性標籤,過程直觀簡練,是反彙編工作必備的除錯工具。
IDA:
IDA Pro的分析技術也是最為稱讚的一點,他具有更好的反彙編、深層分析、可以看到跳到指定的位置的jmp的命令位置和儲存靜態彙編等優點,適用於惡意程式碼分析、漏洞研究、COTS驗證、隱私保護、其他學術研究。
學習網站:
學習書籍:
《加密與解密》 段鋼 電子工業出版社
《逆向工程核心原理》 李承遠 人民郵電出版社
《Windows核心程式設計(第5版)》 周靖、葛子昂
- 安全服務相關
先上一張自己整理的安全服務的思維導圖供參考,後續選擇部分業務簡單說明一下
4.1 應急響應
應急響應主要解決客戶現場問題包含各類入侵事件、木馬病毒、挖礦礦勒索等事宜,完成對病毒檔案的清理與修復,從流量分析弱點與病毒樣本取證,日誌分析等工作。
常用的安全工具如下:
ProcessHacker:
多功能的系統工具,主要是用來檢視管理系統程序和服務,有除錯和監控系統,檢測惡意軟體,檢視和編輯記憶體等功能,它最大的特點是可以強行結束一些受保護的程序(如某些防毒軟體)。
PChunter:
PC Hunter是一款功能強大的Windows系統資訊檢視軟體,同時也是一款強大的手工防毒軟體,用它不但可以檢視各類系統資訊,也可以揪出電腦中的潛伏的病毒木馬。
Autoruns:
一款Sysinternals公司出品,可檢視、刪除登錄檔及Win.ini檔案等處的自啟動專案。如果懷疑有木馬或病毒或者系統啟動太慢,用AutoRuns工具看看自啟動項吧。
Wireshark:
Wireshark(前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網絡卡進行資料報文交換。
4.2 滲透測試 (penetration test)
滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網路系統安全的一種評估方法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從一個攻擊者可能存在的位置來進行的,並且從這個位置有條件主動利用安全漏洞。
常用的安全工具
Nmap:
埠掃描器,Nmap 在滲透測試中經常用到,它不僅可以用來確定目標網路上計算機的存活狀態,而且可以掃描各個計算機的作業系統、開放埠、服務,還有可能獲得使用者的證書。
Metasploit:
Metasploit是一款開源安全漏洞檢測工具,附帶數百個已知的軟體漏洞,並保持頻繁更新。被安全社群冠以“可以黑掉整個宇宙”之名的強大滲透測試框架。
Kali Linux:
基於Debian 8 的攻擊平臺集成了超過300+個滲透測試工具。
5.其他
經常逛的一些安全論壇與網站:
Freebuf (安全資訊):
Sec-Wiki (安全資訊):
漏洞盒子(漏洞平臺):
安全客(技能學習):