越來越多的網(wǎng)站以及app手機(jī)端客戶注重安全滲透測試服務(wù),上線前必須要對平臺進(jìn)行全面的預(yù)滲透測試找出安全漏洞以及BUG,很多客戶找我們SINE安全,做滲透測試服務(wù)的時候?qū)唧w的流程可能不太了解,下面我們把具體的滲透測試方法流程大體寫的全面一點(diǎn)給大家呈現(xiàn)。
滲透測試
一、滲透流程
信息收集
漏洞驗(yàn)證/漏洞攻擊
提權(quán),權(quán)限維持
日志清理
信息收集
一般先運(yùn)行端口掃描和漏洞掃描獲取可以利用的漏洞。多利用搜索引擎
端口掃描
有授權(quán)的情況下直接使用 nmap 、masscan 、自己寫py腳本等端口掃描工具直接獲取開放的端口和獲取服務(wù)端的 banner 信息。
漏洞掃描
使用北極熊掃描器、Nessus、awvs等漏掃工具直接掃描目標(biāo),可以直接看到存活主機(jī)和主機(jī)的漏洞情況。
二、漏洞攻擊
如果只是使用端口掃描,只是發(fā)現(xiàn)開放的端口,在獲取 banner 信息后需要在漏洞庫(seebug,ExploitDB )上查找對應(yīng) CVE,后面就是驗(yàn)證漏洞是否存在。安全檢查一般是盡可能的發(fā)現(xiàn)所有漏洞,對漏洞的風(fēng)險進(jìn)行評估和修復(fù)。入侵的話只關(guān)注高危遠(yuǎn)程代碼執(zhí)行和敏感信息泄露漏洞等可以直接利用的漏洞。漏洞驗(yàn)證可以找對應(yīng)的 CVE 編號的 POC、EXP,利用代碼在 ExploitDB 、seebug上查看或者在 github 上搜索是否有相關(guān)的漏洞驗(yàn)證或利用的工具。
2.1 Web應(yīng)用
可以直接尋找注入、上傳、代碼執(zhí)行、文件包含、跨站腳本、等漏洞,來進(jìn)行攻擊。一般可以使用 AWVS 直接掃描常見漏洞。
2.1.2 Web 中間件
(1)Tomcat
Tomcat是Apache Jakarta軟件組織的一個子項(xiàng)目,Tomcat是一個JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基礎(chǔ)上發(fā)展起來的一個JSP和Servlet規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),使用Tomcat可以體驗(yàn)JSP和Servlet的最新規(guī)范。
端口號:8080
攻擊方法:
默認(rèn)口令、弱口令,爆破,tomcat5 默認(rèn)有兩個角色:tomcat和role1。其中賬號both、tomcat、role1的默認(rèn)密碼都是tomcat。弱口令一般存在5以下的版本中。
在管理后臺部署 war 后門文件
遠(yuǎn)程代碼執(zhí)行漏洞
(2) Jboss
是一個運(yùn)行EJB的J2EE應(yīng)用服務(wù)器。它是開放源代碼的項(xiàng)目,遵循最新的J2EE規(guī)范。從JBoss項(xiàng)目開始至今,它已經(jīng)從一個EJB容器發(fā)展成為一個基于的 J2EE 的一個Web 操作系統(tǒng)(operating system for web),它體現(xiàn)了 J2EE 規(guī)范中最新的技術(shù)。
端口:8080
攻擊方法:
弱口令,爆破
管理后臺部署 war 后門
反序列化
遠(yuǎn)程代碼執(zhí)行
參考:
(3)WebLogic
WebLogic是美國Oracle公司出品的一個Application Server,確切的說是一個基于JAVAEE架構(gòu)的中間件,WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)、集成、部署和管理之中。
端口:7001,7002
攻擊方法:
弱口令、爆破,弱密碼一般為weblogic/Oracle@123 or weblogic
管理后臺部署 war 后門
SSRF
反序列化漏洞
weblogic_uac
(4) WebSphere
IBM公司一套典型的電子商務(wù)應(yīng)用開發(fā)工具及運(yùn)行環(huán)境。
端口:默認(rèn)端口:908*;第一個應(yīng)用就是9080,第二個就是9081;控制臺9090
攻擊方法:
控制臺登錄爆破
很多內(nèi)網(wǎng) websphere 的控制臺存在弱口令 / 默認(rèn)口令,可以使用 admin/admin 以及 webshpere/webshpere 這種口令登錄。通過該口令登錄控制臺后,可以部署 war 包,從而獲取到 WEBSHELL 。
反序列化
任意文件泄露
(5) Glassfish
2.1.3 Web 框架
(1) Struts2
Struts2是一個優(yōu)雅的,可擴(kuò)展的框架,用于創(chuàng)建企業(yè)準(zhǔn)備的Java Web應(yīng)用程序。出現(xiàn)的漏洞也著實(shí)的多每爆一個各大漏洞平臺上就會被刷屏。
可利用漏洞
S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10
S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10
S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1
S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28
S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16
S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1
S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15
S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14
S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1
S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1
(2)Spring 框架
Spring Framework 是一個開源的Java/Java EE全功能棧(full-stack)的應(yīng)用程序框架,以Apache License 2.0開源許可協(xié)議的形式發(fā)布,也有.NET平臺上的移植版本。Spring Framework提供了一個簡易的開發(fā)方式,這種開發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
可利用漏洞
CVE-2010-1622
CVE-2018-1274
CVE-2018-1270
CVE-2018-1273
反序列化
目錄穿越
2.1.4 Web 服務(wù)器
IIS:Windows 的 WWW 服務(wù)器
端口:80
攻擊方法:
IIS,開啟了 WebDAV,可以直接詳服務(wù)器 PUT 文件
短文件名枚舉漏洞
遠(yuǎn)程代碼執(zhí)行
提權(quán)漏洞
解析漏洞
Apache
端口:80
攻擊方法:
解析漏洞
目錄遍歷
Nginx
端口:80
攻擊方法:
解析漏洞
目錄遍歷
CVE-2016-1247:需要獲取主機(jī)操作權(quán)限,攻擊者可通過軟鏈接任意文件來替換日志文件,從而實(shí)現(xiàn)提權(quán)以獲取服務(wù)器的root權(quán)限。
lighttpd
端口:80
攻擊方法:
目錄遍歷
2.2 常見運(yùn)維系統(tǒng)
滲透測試運(yùn)維
一般分自動化部署和運(yùn)維監(jiān)控相關(guān)的的工具。漏洞可以通過搜索引擎搜索,github搜索,ExploitDB搜索,官網(wǎng)上的安全通告獲取。內(nèi)網(wǎng)的通用類應(yīng)用比較常見的問題是弱口令,如果一個管理員可以登錄幾個系統(tǒng),那在這幾個系統(tǒng)的賬號、密碼也基本上是一樣的。
2.2.1 Gitlab
GitLab是一個利用 Ruby on Rails 開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個自托管的項(xiàng)目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項(xiàng)目。
可利用漏洞:
任意文件讀取漏洞
意用戶 token 泄露漏洞
命令執(zhí)行漏洞
2.2.2 Jenkins
Jenkins是一種跨平臺的持續(xù)集成和交付的應(yīng)用軟件,它便于不斷穩(wěn)定地交付新的軟件版本,并提高你的工作效率。這款開發(fā)運(yùn)維工具還讓開發(fā)人員更容易把項(xiàng)目的變化整合起來,并使用大量的測試和部署技術(shù)。
可利用漏洞:
遠(yuǎn)程代碼執(zhí)行漏洞
反序列化漏洞
未授權(quán)訪問漏洞
登錄入口爆破
2.2.3 Puppet
Puppet Enterprise專門管理基礎(chǔ)設(shè)施即代碼(IAC),在這種類型的IT基礎(chǔ)設(shè)施配置過程中,系統(tǒng)用代碼而不是腳本流程來自動構(gòu)建、管理和配置。由于它是代碼,整個過程易于重復(fù)。Puppet有助于更容易控制版本、自動化測試和持續(xù)交付,可以更快速地響應(yīng)問題或錯誤。
可利用漏洞,很少公開的POC
反序列化
遠(yuǎn)程命令執(zhí)行
2.2.4 Ansible
Ansible是一種配置和管理工具,面向客戶端的軟件部署和配置,支持Unix、Linux和Windows。它使 用JSON和YAML,而不是IAC,根本不需要節(jié)點(diǎn)代理就可以安裝。它可以通過OpenStack在內(nèi)部系統(tǒng)上使用,也可以在亞馬遜EC2上使用。
可利用漏洞
遠(yuǎn)程代碼執(zhí)行
2.2.5 Nagios
Nagios是一款開源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。
可利用漏洞
代碼執(zhí)行
SQLi
2.2.6 Zabbix
Zabbix 是一款強(qiáng)大的開源分布式監(jiān)控系統(tǒng), 能夠?qū)NMP、JMX、Zabbix Agent提供的數(shù)據(jù)通過WEB GUI的方式進(jìn)行展示.
可利用漏洞(具體參考 ExploitDB):
遠(yuǎn)程代碼執(zhí)行
SQLi
shell 命令注入
認(rèn)證繞過
默認(rèn)賬戶與密碼,默認(rèn)口令 admin/zabbix,或者是guest/空
2.2.7 Cacit
Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具。
可利用漏洞
任意代碼執(zhí)行
SQLi
登錄爆破
默認(rèn)密碼admin/admin
2.2.8 Splunk
Splunk Enterprise 可以從任何來源監(jiān)控和分析機(jī)器數(shù)據(jù),以提供操作智能,從而優(yōu)化您的 IT、安全和業(yè)務(wù)績效。Splunk Enterprise 具有直觀的分析功能、機(jī)器學(xué)習(xí)、打包應(yīng)用程序和開放式 API,是一個靈活的平臺,可從重點(diǎn)用例擴(kuò)展到企業(yè)范圍的分析主干。
可利用漏洞
信息泄露
命令注入
服務(wù)端請求偽造
參考
ExploitDB 搜索
2.3 常見 Web 應(yīng)用
還有常見郵件應(yīng)用、CMS 應(yīng)用,在搜索引擎上查找對應(yīng)的漏洞,利用已知漏洞進(jìn)行攻擊。
2.3.1 郵件系統(tǒng)
一部分是使用騰訊企業(yè)郵箱、阿里企業(yè)郵箱的,很難有可利用的漏洞,另外一種是能獨(dú)立部署的郵件系統(tǒng),政企常用的郵箱應(yīng)用:
Coremail
億郵
35互聯(lián)
TurboMail
Exchange
IBM Lotus
2.3.2 CMS 應(yīng)用
2.4 數(shù)據(jù)庫/緩存/消息服務(wù)
2.4.1 MySQL數(shù)據(jù)庫
默認(rèn)端口:3306
攻擊方法:
爆破:弱口令
身份認(rèn)證漏洞:CVE-2012-2122
拒絕服務(wù)攻擊
Phpmyadmin萬能密碼繞過:用戶名:‘localhost’@’@” 密碼任意
提權(quán)
2.4.2 MSSQL數(shù)據(jù)庫
默認(rèn)端口:1433(Server 數(shù)據(jù)庫服務(wù))、1434(Monitor 數(shù)據(jù)庫監(jiān)控)
攻擊方法:
爆破:弱口令/使用系統(tǒng)用戶
注入
2.4.3 Oracle數(shù)據(jù)庫
默認(rèn)端口:1521(數(shù)據(jù)庫端口)、1158(Oracle EMCTL端口)、8080(Oracle XDB數(shù)據(jù)庫)、210(Oracle XDB FTP服務(wù))
攻擊方法:
爆破:弱口令
注入攻擊;
漏洞攻擊;
2.4.4 PostgreSQL數(shù)據(jù)庫
PostgreSQL是一種特性非常齊全的自由軟件的對象–關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以說是目前世界上最先進(jìn),功能最強(qiáng)大的自由數(shù)據(jù)庫管理系統(tǒng)。包括kali系統(tǒng)中msf也使用這個數(shù)據(jù)庫;淺談postgresql數(shù)據(jù)庫攻擊技術(shù) 大部分關(guān)于它的攻擊依舊是sql注入,所以注入才是數(shù)據(jù)庫不變的話題。
默認(rèn)端口:5432
攻擊方法:
爆破:弱口令:postgres postgres
緩沖區(qū)溢出:CVE-2014-2669
2.4.5 MongoDB數(shù)據(jù)庫
MongoDB,NoSQL數(shù)據(jù)庫;攻擊方法與其他數(shù)據(jù)庫類似》
默認(rèn)端口:27017
攻擊方法:
爆破:弱口令
未授權(quán)訪問;github有攻擊代碼;請點(diǎn)擊
2.4.6 Redis數(shù)據(jù)庫
Redis是一個開源的使用c語言寫的,支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value數(shù)據(jù)庫。關(guān)于這個數(shù)據(jù)庫這兩年還是很火的,暴露出來的問題也很多。特別是前段時間暴露的未授權(quán)訪問。
攻擊方法:
爆破:弱口令
未授權(quán)訪問+配合ssh key提權(quán);
2.4.7 SysBase數(shù)據(jù)庫
默認(rèn)端口:服務(wù)端口5000;監(jiān)聽端口4100;備份端口:4200
攻擊方法:
爆破:弱口令
命令注入:
參考
2.4.8 DB2 數(shù)據(jù)庫
默認(rèn)端口:5000
攻擊方法:
安全限制繞過:成功后可執(zhí)行未授權(quán)操作(CVE-2015-1922)
2.5 常見服務(wù)/協(xié)議
2.5.1 FTP 服務(wù)
FTP服務(wù):ftp服務(wù)我分為兩種情況,第一種是使用系統(tǒng)軟件來配置,比如IIS中的FTP文件共享或Linux中的默認(rèn)服務(wù)軟件;第二種是通過第三方軟件來配置,比如Serv-U還有一些網(wǎng)上寫的簡易ftp服務(wù)器等;默認(rèn)端口:20(數(shù)據(jù)端口);21(控制端口);69(tftp小型文件傳輸協(xié)議)
攻擊方式:
爆破:ftp的爆破工具有很多,這里我推薦owasp的Bruter 以及msf中ftp爆破模塊;
匿名訪問:用戶名:anonymous 密碼:為空或任意郵箱
嗅探:ftp使用明文傳輸技術(shù)(但是嗅探給予局域網(wǎng)并需要欺騙或監(jiān)聽網(wǎng)關(guān))
后門 vsftp
遠(yuǎn)程溢出
跳轉(zhuǎn)攻擊
2.5.2 NFS 服務(wù)
NFS(Network File System)即網(wǎng)絡(luò)文件系統(tǒng),是FreeBSD支持的文件系統(tǒng)中的一種,它允許網(wǎng)絡(luò)中的計(jì)算機(jī)之間通過TCP/IP網(wǎng)絡(luò)共享資源。在NFS的應(yīng)用中,本地NFS的客戶端應(yīng)用可以透明地讀寫位于遠(yuǎn)端NFS服務(wù)器上的文件,就像訪問本地文件一樣。如今NFS具備了防止被利用導(dǎo)出文件夾的功能,但遺留系統(tǒng)中的NFS服務(wù)配置不當(dāng),則仍可能遭到惡意攻擊者的利用。
攻擊方法
未授權(quán)訪問
2.5.3 Samba服務(wù)
Samba是linux和unix系統(tǒng)上實(shí)現(xiàn)SMB/CIFS協(xié)議的一個免費(fèi)軟件,由服務(wù)器和客戶端程序構(gòu)成。而SMB是局域網(wǎng)支持共享文件和打印機(jī)的一種通信協(xié)議,為局域網(wǎng)內(nèi)不同計(jì)算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)。
攻擊方法
遠(yuǎn)程代碼執(zhí)行
弱口令
未授權(quán)訪問(public)
2.5.4 SSH 服務(wù)
SSH 是協(xié)議,通常使用 OpenSSH 軟件實(shí)現(xiàn)協(xié)議應(yīng)用。SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專為遠(yuǎn)程登錄會話和其它網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。
端口:22
攻擊方法:
爆破
后門
漏洞:28退格漏洞、OpenSSL漏洞
2.5.5 Telnet 服務(wù)
Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務(wù)器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務(wù)器上運(yùn)行,就像直接在服務(wù)器的控制臺上輸入一樣??梢栽诒镜鼐湍芸刂品?wù)器。
默認(rèn)端口:21
攻擊方法:
爆破
嗅探
2.5.6 Windows 遠(yuǎn)程連接
默認(rèn)端口:3389
攻擊方法
爆破
Shift粘滯鍵后門:5次shift后門
利用ms12-020攻擊3389端口
2.5.7 VNC服務(wù)
VNC(Virtual Network Computing),為一種使用RFB協(xié)議的顯示屏畫面分享及遠(yuǎn)程操作軟件。此軟件借由網(wǎng)絡(luò),可發(fā)送鍵盤與鼠標(biāo)的動作及即時的顯示屏畫面。
默認(rèn)端口:5900+桌面ID(5901;5902)
攻擊方式:
爆破:弱口令
認(rèn)證口令繞過:
拒絕服務(wù)攻擊:(CVE-2015-5239)
權(quán)限提升:(CVE-2013-6886)
2.5.8 SMTP協(xié)議
smtp:郵件協(xié)議,在linux中默認(rèn)開啟這個服務(wù),可以向?qū)Ψ桨l(fā)送釣魚郵件!
默認(rèn)端口:25(smtp)、465(smtps)
攻擊方式:
爆破:弱口令
未授權(quán)訪問
2.5.9 POP3協(xié)議
默認(rèn)端口:109(POP2)、110(POP3)、995(POP3S)
攻擊方式:
爆破;弱口令
未授權(quán)訪問;
2.5.10 DNS服務(wù)
默認(rèn)端口:53
攻擊方式:
區(qū)域傳輸漏洞
2.5.11 IMAP協(xié)議
默認(rèn)端口:143(imap)、993(imaps)
攻擊方式:
爆破:弱口令
配置不當(dāng)
2.5.12 SNMP協(xié)議
默認(rèn)端口:161
攻擊方式:
爆破:弱口令
2.5.13 DHCP服務(wù)
默認(rèn)端口:67&68、546(DHCP Failover做雙機(jī)熱備的)
攻擊方式:
DHCP劫持;
2.6 云環(huán)境
2.6.1 VMware
使用 VMware vCloud 可將現(xiàn)有數(shù)據(jù)中心內(nèi)的虛擬基礎(chǔ)架構(gòu)資源池化,并將其作為基于目錄的服務(wù)交付。通過與云計(jì)算基礎(chǔ)架構(gòu)的最佳平臺 VMware vSphere 配合使用,VMware vCloud Director 可為客戶提供構(gòu)建安全的私有云,從而改變 IT 部門交付和管理基礎(chǔ)架構(gòu)服務(wù)以及用戶訪問和使用這些服務(wù)的方式。一般組織中很多獨(dú)立安裝的 Esxi 形式的私有云,或獨(dú)立部署的虛擬化系統(tǒng)。
端口(很多)
漏洞
主機(jī)逃逸
CVE-2017-5638
參考:
2.6.2 OpenStack
OpenStack是基礎(chǔ)設(shè)施即服務(wù)(IaaS)軟件,讓任何人都可以自行創(chuàng)建和提供云計(jì)算服務(wù)。此外,OpenStack也用作創(chuàng)建防火墻內(nèi)的“私有云”(Private Cloud),提供機(jī)構(gòu)或企業(yè)內(nèi)各部門共享資源。
漏洞,有漏洞但是POC基本沒有。檢查時候可以參考安全的配置實(shí)踐。
權(quán)限繞過漏洞
信息泄露
代碼執(zhí)行漏洞
參考:
2.6.3 Docker
Docker是一個開放源代碼軟件項(xiàng)目,讓應(yīng)用程序布署在軟件容器下的工作可以自動化進(jìn)行,借此在Linux操作系統(tǒng)上,提供一個額外的軟件抽象層,以及操作系統(tǒng)層虛擬化的自動管理機(jī)制[1]。Docker利用Linux核心中的資源分脫機(jī)制,例如cgroups,以及Linux核心名字空間(name space),來創(chuàng)建獨(dú)立的軟件容器(containers)。這可以在單一Linux實(shí)體下運(yùn)作,避免引導(dǎo)一個虛擬機(jī)造成的額外負(fù)擔(dān)。Linux核心對名字空間的支持完全隔離了工作環(huán)境中應(yīng)用程序的視野,包括進(jìn)程樹、網(wǎng)絡(luò)、用戶ID與掛載文件系統(tǒng),而核心的cgroup提供資源隔離,包括CPU、內(nèi)存、block I/O與網(wǎng)絡(luò)。從0.9版本起,Dockers在使用抽象虛擬是經(jīng)由libvirt的LXC與systemd – nspawn提供界面的基礎(chǔ)上,開始包括libcontainer函數(shù)庫做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設(shè)施。
安全問題(很少有漏洞的POC,安全檢查也是基于最佳實(shí)踐和官方安全建議進(jìn)行):
CVE-2015-3630 1.6.0 Docker Libcontainer 安全繞過漏洞
CVE-2015-3627 1.6.1 Libcontainer和Docker Engine 權(quán)限許可和訪問控制漏洞
CVE-2015-3630 1.6.1 Docker Engine 安全繞過漏洞
CVE-2014-9358 1.3.3 Docker 目錄遍歷漏洞
CVE-2014-9357 1.3.2 Docker 權(quán)限許可和訪問控制漏洞
CVE-2014-6408 1.3.1 Docker 權(quán)限許可和訪問控制漏洞
CVE-2014-5277 1.3.0 Docker和docker-py 代碼注入漏洞
內(nèi)核漏洞(Kernel exploits)?容器是基于內(nèi)核的虛擬化,主機(jī)(host)和主機(jī)上的所有容器共享一套內(nèi)核。如果某個容器的操作造成了內(nèi)核崩潰,那么反過來整臺機(jī)器上的容器都會受到影響。
拒絕服務(wù)攻擊(Denial-of-service attacks)?所有的容器都共享了內(nèi)核資源,如果一個容器獨(dú)占了某一個資源(內(nèi)存、CPU、各種ID),可能會造成其他容器因?yàn)橘Y源匱乏無法工作(形成DoS攻擊)。
容器突破(Container breakouts)?Linux的namespace機(jī)制是容器的核心之一,它允許容器內(nèi)部擁有一個PID=1的進(jìn)程而在容器外部這個進(jìn)程號又是不一樣的(比如1234)。現(xiàn)在問題在于如果一個PID=1的進(jìn)程突破了namespace的限制,那么他將會在主機(jī)上獲得root權(quán)限。
有毒鏡像(Poisoned images)?主要是考慮到鏡像本身的安全性,沒太多好說的。
2.7 大數(shù)據(jù)
2.7.1 Elsaticsearch
Elasticsearch 是一個分布式的搜索和分析引擎,可以用于全文檢索、結(jié)構(gòu)化檢索和分析,并能將這三者結(jié)合起來。Elasticsearch 基于 Lucene 開發(fā),現(xiàn)在是使用最廣的開源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 來構(gòu)建他們的搜索引擎。
默認(rèn)端口:9200()、9300()
攻擊方法:
未授權(quán)訪問;
遠(yuǎn)程命令執(zhí)行;
文件遍歷;
低版本webshell植入;
2.7.2 hadoop
Hadoop是一個開源的框架,可編寫和運(yùn)行分布式應(yīng)用處理大規(guī)模數(shù)據(jù),是專為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計(jì)的,并不適合那種對幾個記錄隨機(jī)讀寫的在線事務(wù)處理模式。Hadoop=HDFS(文件系統(tǒng),數(shù)據(jù)存儲技術(shù)相關(guān))+ Mapreduce(數(shù)據(jù)處理),Hadoop的數(shù)據(jù)來源可以是任何形式,在處理半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)上與關(guān)系型數(shù)據(jù)庫相比有更好的性能,具有更靈活的處理能力,不管任何數(shù)據(jù)形式最終會轉(zhuǎn)化為key/value,key/value是基本數(shù)據(jù)單元。用函數(shù)式變成Mapreduce代替SQL,SQL是查詢語句,而Mapreduce則是使用腳本和代碼,而對于適用于關(guān)系型數(shù)據(jù)庫,習(xí)慣SQL的Hadoop有開源工具h(yuǎn)ive代替。Hadoop就是一個分布式計(jì)算的解決方案。
2.7.3 Hive
Hive是Hadoop家族中一款數(shù)據(jù)倉庫產(chǎn)品,Hive最大的特點(diǎn)就是提供了類SQL的語法,封裝了底層的MapReduce過程,讓有SQL基礎(chǔ)的業(yè)務(wù)人員,也可以直接利用Hadoop進(jìn)行大數(shù)據(jù)的操作。
2.7.4 Sqoop
Apache Sqoop(SQL-to-Hadoop) 項(xiàng)目旨在協(xié)助 RDBMS 與 Hadoop 之間進(jìn)行高效的大數(shù)據(jù)交流。用戶可以在 Sqoop 的幫助下,輕松地把關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入到 Hadoop 與其相關(guān)的系統(tǒng) (如HBase和Hive)中;同時也可以把數(shù)據(jù)從 Hadoop 系統(tǒng)里抽取并導(dǎo)出到關(guān)系型數(shù)據(jù)庫里。除了這些主要的功能外,Sqoop 也提供了一些諸如查看數(shù)據(jù)庫表等實(shí)用的小工具。
2.7.5 HBase
HBase建立在HDFS之上,提供高可靠性、高性能、列存儲、可伸縮、實(shí)時讀寫的數(shù)據(jù)庫系統(tǒng)。它介于NoSQL和RDBMS之間,僅能通過行鍵(row key)和行鍵序列來檢索數(shù)據(jù),僅支持單行事務(wù)(可通過Hive支持來實(shí)現(xiàn)多表聯(lián)合等復(fù)雜操作)。主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。與Hadoop一樣,HBase目標(biāo)主要依靠橫向擴(kuò)展,通過不斷增加廉價的商用服務(wù)器,來增加計(jì)算和存儲能力。
2.7.6 Spark
Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行計(jì)算框架,Spark基于map reduce算法實(shí)現(xiàn)的分布式計(jì)算,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn);但不同于MapReduce的是Job中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS。參考:
三、提權(quán)權(quán)限維持
3.1 提權(quán)
SecWiki 總結(jié)了:
3.2建立后門/端口轉(zhuǎn)發(fā)
端口轉(zhuǎn)發(fā)及代理類工具
LCX:windows下面的端口轉(zhuǎn)發(fā)軟件。
sockscap:主要針對windows平臺的端口轉(zhuǎn)發(fā)和代理轉(zhuǎn)發(fā)。
proxifier:跨平臺的端口轉(zhuǎn)發(fā)和代理工具,適用windows,linux, Macos平臺,代理轉(zhuǎn)發(fā)利器
Rsscoks:*nix平臺下的端口轉(zhuǎn)發(fā)和代理工具,配合proxychains好用 到不行。
Proxychains:*nix平臺下老牌的socks代理工具,一般的系統(tǒng)都會自 帶,誰用誰知道。
ssh proxy:通過ssh做端口代理和轉(zhuǎn)發(fā),一般*nix系統(tǒng)都自帶。
netcat:socat,hping,在很多情況下可以做端口轉(zhuǎn)發(fā)和數(shù)據(jù)代理轉(zhuǎn) 發(fā)。
metasploit:metasploit的后滲透模塊中有不少代理模塊和端口轉(zhuǎn)發(fā) 模塊。
在中轉(zhuǎn)服務(wù)器上下載端口轉(zhuǎn)發(fā)工具(加密壓縮):
能連接互聯(lián)網(wǎng)下載
通過 mstsc 的磁盤加載
通過入口服務(wù)器中轉(zhuǎn)
通過遠(yuǎn)程控制軟件上傳
3.3 傳輸文件
3.3.1 文件打包
關(guān)于打包
Rar文件打包,壓縮d:\data\目錄下所有2013-01-01后修改的doc文件,100M/包密碼為Pass,-x為排除選項(xiàng)
rar.exe a–r –v100m new.rar –ta20130101000000 –hpPass –n*.doc –x*.exe d:\data\
7z加密,壓縮d:\data下所有文件,密碼為Pass,分卷100M/包
7z.exe a c:\xx.7z -pPass -mhe d:\data -v100m
Linux用 tar 打包文件是可以加密碼,要跟openssl結(jié)合使用。
tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3
使用 tar 對加密文件解壓:
dd if=pma.des3 |openssl des3 -d -k password|tar zxf -
### 3.4.2 文件傳輸 幾個思路
使用端口轉(zhuǎn)發(fā)直接傳送數(shù)據(jù);
搭建 FTP、HTTP 協(xié)議;
上傳到云端再下載;
3.4 制作后門/木馬程序
一般用Matisploit 的 msfvenom
SET 也可以生成后門程序,另外也可以關(guān)注一下最新的 Office、PDF 的漏洞
四、日志清理
在做日志清理前需要了解以下的內(nèi)容:
攻擊和入侵很難完全刪除痕跡,沒有日志記錄本身就是一種入侵特征;
刪除或清理入侵系統(tǒng)的本地日志不代表刪除了痕跡,在網(wǎng)絡(luò)設(shè)備、安全設(shè)備、集中化日志系統(tǒng)上仍然留存記錄;
留存的后門本身會有攻擊者的信息;
使用的代理或跳板可能會被反向入侵;
在操作前檢查是否有管理員登錄;
刪除上傳的工具,使用磁盤覆寫的功能刪除;
Windows日志類型
web日志:IIS、Apache以及其它web日志
操作日志:3389登錄列表、最近訪問文件、IE等瀏覽 器訪問日志、文件訪問日志
登陸日志:系統(tǒng)應(yīng)用日志-安全日志等
攻擊前和狀態(tài)還原,盡量保持一致
Linux操作日志
Linux歷史操作
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null;
SSHD登陸記錄 刪除~/.ssh/known_hosts中記錄
修改文件時間戳 touch –r 原文件要修改文件
刪除臨時使用文件,尤其是tmp目錄
logtamper
5 工具和其他
滲透測試工具
1.內(nèi)網(wǎng)使用工具滲透的一些原則
使用適合自己的工具,工具沒必要收集太多,夠用就行;
能根據(jù)實(shí)際情況編寫適用的工具;
不能確保安全的工具均要在虛擬機(jī)中運(yùn)行(很 多捆綁病毒木馬);
做安全檢查的話,盡量使用 GitHub 上開源的工具。
工具介紹 個人習(xí)慣使用 kali 自帶工具,特定 POC 先從 Github 上搜索。
滲透注意事項(xiàng)
檢查內(nèi)網(wǎng)監(jiān)控防范系統(tǒng)
謹(jǐn)慎使用ARP軟件和大面積掃描軟件
使用目標(biāo)網(wǎng)絡(luò)中無空閑機(jī)器,作為打包對象
使用內(nèi)網(wǎng)大流量機(jī)器作為傳輸對象,如wsus服務(wù) 器、視頻會議系統(tǒng)
使用臨時機(jī)器打包、數(shù)據(jù)傳輸,不要使用已控機(jī)器,可利用wmi腳本或wmic遠(yuǎn)程操作 滲透注意事項(xiàng)
禁止使用psexec.exe
打包時避開用戶工作時間
控制卷包大小<100M
選擇用戶常用壓縮軟件
錯峰下載數(shù)據(jù)
控制傳輸流量
清除所有操作日志
登錄主機(jī)前先看看管理員是否在
滲透測試服務(wù)需要很多的實(shí)戰(zhàn)經(jīng)驗(yàn)來保障網(wǎng)站的安全穩(wěn)定運(yùn)行防止被攻擊被篡改等危險行為避免給客戶帶來更多的損失,把安全風(fēng)險降到最低,如果對此有滲透需求可以聯(lián)系專業(yè)的網(wǎng)站安全公司來進(jìn)行全面的滲透服務(wù)檢測,國內(nèi)做的比較全面推薦Sinesafe,綠盟,啟明星辰等等。
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗(yàn),每一個項(xiàng)目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!