您好,登錄后才能下訂單哦!
越來越多的網站以及app手機端客戶注重安全滲透測試服務,上線前必須要對平臺進行全面的預滲透測試找出安全漏洞以及BUG,很多客戶找我們,做滲透測試服務的時候對具體的流程可能不太了解,下面我們把具體的滲透測試方法流程大體寫的全面一點給大家呈現。
滲透測試
一、滲透流程
信息收集
一般先運行端口掃描和漏洞掃描獲取可以利用的漏洞。多利用搜索引擎
端口掃描
有授權的情況下直接使用 nmap 、masscan 、自己寫py腳本等端口掃描工具直接獲取開放的端口和獲取服務端的 banner 信息。
漏洞掃描
使用北極熊掃描器、Nessus、awvs等漏掃工具直接掃描目標,可以直接看到存活主機和主機的漏洞情況。
二、漏洞攻擊
如果只是使用端口掃描,只是發現開放的端口,在獲取 banner 信息后需要在漏洞庫(seebug,ExploitDB )上查找對應 CVE,后面就是驗證漏洞是否存在。安全檢查一般是盡可能的發現所有漏洞,對漏洞的風險進行評估和修復。入侵的話只關注高危遠程代碼執行和敏感信息泄露漏洞等可以直接利用的漏洞。漏洞驗證可以找對應的 CVE 編號的 POC、EXP,利用代碼在 ExploitDB 、seebug上查看或者在 github 上搜索是否有相關的漏洞驗證或利用的工具。
2.1 Web應用
可以直接尋找注入、上傳、代碼執行、文件包含、跨站腳本、等漏洞,來進行攻擊。一般可以使用 AWVS 直接掃描常見漏洞。
2.1.2 Web 中間件
(1)Tomcat
Tomcat是Apache Jakarta軟件組織的一個子項目,Tomcat是一個JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基礎上發展起來的一個JSP和Servlet規范的標準實現,使用Tomcat可以體驗JSP和Servlet的最新規范。
(2) Jboss
是一個運行EJB的J2EE應用服務器。它是開放源代碼的項目,遵循最新的J2EE規范。從JBoss項目開始至今,它已經從一個EJB容器發展成為一個基于的 J2EE 的一個Web 操作系統(operating system for web),它體現了 J2EE 規范中最新的技術。
(3)WebLogic
WebLogic是美國Oracle公司出品的一個Application Server,確切的說是一個基于JAVAEE架構的中間件,WebLogic是用于開發、集成、部署和管理大型分布式Web應用、網絡應用和數據庫應用的Java應用服務器。將Java的動態功能和Java Enterprise標準的安全性引入大型網絡應用的開發、集成、部署和管理之中。
(4) WebSphere
IBM公司一套典型的電子商務應用開發工具及運行環境。
(5) Glassfish
2.1.3 Web 框架
(1) Struts2
Struts2是一個優雅的,可擴展的框架,用于創建企業準備的Java Web應用程序。出現的漏洞也著實的多每爆一個各大漏洞平臺上就會被刷屏。
(2)Spring 框架
Spring Framework 是一個開源的Java/Java EE全功能棧(full-stack)的應用程序框架,以Apache License 2.0開源許可協議的形式發布,也有.NET平臺上的移植版本。Spring Framework提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
2.1.4 Web 服務器
2.2 常見運維系統
滲透測試運維
一般分自動化部署和運維監控相關的的工具。漏洞可以通過搜索引擎搜索,github搜索,ExploitDB搜索,官網上的安全通告獲取。內網的通用類應用比較常見的問題是弱口令,如果一個管理員可以登錄幾個系統,那在這幾個系統的賬號、密碼也基本上是一樣的。
2.2.1 Gitlab
GitLab是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自托管的項目倉庫,可通過Web界面進行訪問公開的或者私人項目。
2.2.2 Jenkins
Jenkins是一種跨平臺的持續集成和交付的應用軟件,它便于不斷穩定地交付新的軟件版本,并提高你的工作效率。這款開發運維工具還讓開發人員更容易把項目的變化整合起來,并使用大量的測試和部署技術。
2.2.3 Puppet
Puppet Enterprise專門管理基礎設施即代碼(IAC),在這種類型的IT基礎設施配置過程中,系統用代碼而不是腳本流程來自動構建、管理和配置。由于它是代碼,整個過程易于重復。Puppet有助于更容易控制版本、自動化測試和持續交付,可以更快速地響應問題或錯誤。
2.2.4 Ansible
Ansible是一種配置和管理工具,面向客戶端的軟件部署和配置,支持Unix、Linux和Windows。它使 用JSON和YAML,而不是IAC,根本不需要節點代理就可以安裝。它可以通過OpenStack在內部系統上使用,也可以在亞馬遜EC2上使用。
2.2.5 Nagios
Nagios是一款開源的電腦系統和網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復后發出正常的郵件或短信通知。
2.2.6 Zabbix
Zabbix 是一款強大的開源分布式監控系統, 能夠將SNMP、JMX、Zabbix Agent提供的數據通過WEB GUI的方式進行展示.
2.2.7 Cacit
Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。
2.2.8 Splunk
Splunk Enterprise 可以從任何來源監控和分析機器數據,以提供操作智能,從而優化您的 IT、安全和業務績效。Splunk Enterprise 具有直觀的分析功能、機器學習、打包應用程序和開放式 API,是一個靈活的平臺,可從重點用例擴展到企業范圍的分析主干。
2.3 常見 Web 應用
還有常見郵件應用、CMS 應用,在搜索引擎上查找對應的漏洞,利用已知漏洞進行攻擊。
2.3.1 郵件系統
一部分是使用騰訊企業郵箱、阿里企業郵箱的,很難有可利用的漏洞,另外一種是能獨立部署的郵件系統,政企常用的郵箱應用:
2.3.2 CMS 應用
2.4 數據庫/緩存/消息服務
2.4.1 MySQL數據庫
2.4.2 MSSQL數據庫
2.4.3 Oracle數據庫
2.4.4 PostgreSQL數據庫
PostgreSQL是一種特性非常齊全的自由軟件的對象–關系型數據庫管理系統,可以說是目前世界上最先進,功能最強大的自由數據庫管理系統。包括kali系統中msf也使用這個數據庫;淺談postgresql數據庫攻擊技術 大部分關于它的攻擊依舊是sql注入,所以注入才是數據庫不變的話題。
2.4.5 MongoDB數據庫
MongoDB,NoSQL數據庫;攻擊方法與其他數據庫類似》
2.4.6 Redis數據庫
Redis是一個開源的使用c語言寫的,支持網絡、可基于內存亦可持久化的日志型、key-value數據庫。關于這個數據庫這兩年還是很火的,暴露出來的問題也很多。特別是前段時間暴露的未授權訪問。
2.4.7 SysBase數據庫
2.4.8 DB2 數據庫
2.5 常見服務/協議
2.5.1 FTP 服務
FTP服務:ftp服務我分為兩種情況,第一種是使用系統軟件來配置,比如IIS中的FTP文件共享或Linux中的默認服務軟件;第二種是通過第三方軟件來配置,比如Serv-U還有一些網上寫的簡易ftp服務器等;默認端口:20(數據端口);21(控制端口);69(tftp小型文件傳輸協議)
2.5.2 NFS 服務
NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位于遠端NFS服務器上的文件,就像訪問本地文件一樣。如今NFS具備了防止被利用導出文件夾的功能,但遺留系統中的NFS服務配置不當,則仍可能遭到惡意攻擊者的利用。
2.5.3 Samba服務
Samba是linux和unix系統上實現SMB/CIFS協議的一個免費軟件,由服務器和客戶端程序構成。而SMB是局域網支持共享文件和打印機的一種通信協議,為局域網內不同計算機之間提供文件及打印機等資源的共享服務。
2.5.4 SSH 服務
SSH 是協議,通常使用 OpenSSH 軟件實現協議應用。SSH 為 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其它網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。
2.5.5 Telnet 服務
Telnet協議是TCP/IP協議族中的一員,是Internet遠程登陸服務的標準協議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務器上運行,就像直接在服務器的控制臺上輸入一樣。可以在本地就能控制服務器。
2.5.6 Windows 遠程連接
2.5.7 VNC服務
VNC(Virtual Network Computing),為一種使用RFB協議的顯示屏畫面分享及遠程操作軟件。此軟件借由網絡,可發送鍵盤與鼠標的動作及即時的顯示屏畫面。
2.5.8 SMTP協議
smtp:郵件協議,在linux中默認開啟這個服務,可以向對方發送釣魚郵件!
2.5.9 POP3協議
2.5.10 DNS服務
2.5.11 IMAP協議
2.5.12 SNMP協議
2.5.13 DHCP服務
2.6 云環境
2.6.1 VMware
使用 VMware vCloud 可將現有數據中心內的虛擬基礎架構資源池化,并將其作為基于目錄的服務交付。通過與云計算基礎架構的最佳平臺 VMware vSphere 配合使用,VMware vCloud Director 可為客戶提供構建安全的私有云,從而改變 IT 部門交付和管理基礎架構服務以及用戶訪問和使用這些服務的方式。一般組織中很多獨立安裝的 Esxi 形式的私有云,或獨立部署的虛擬化系統。
2.6.2 OpenStack
OpenStack是基礎設施即服務(IaaS)軟件,讓任何人都可以自行創建和提供云計算服務。此外,OpenStack也用作創建防火墻內的“私有云”(Private Cloud),提供機構或企業內各部門共享資源。
2.6.3 Docker
Docker是一個開放源代碼軟件項目,讓應用程序布署在軟件容器下的工作可以自動化進行,借此在Linux操作系統上,提供一個額外的軟件抽象層,以及操作系統層虛擬化的自動管理機制[1]。Docker利用Linux核心中的資源分脫機制,例如cgroups,以及Linux核心名字空間(name space),來創建獨立的軟件容器(containers)。這可以在單一Linux實體下運作,避免引導一個虛擬機造成的額外負擔。Linux核心對名字空間的支持完全隔離了工作環境中應用程序的視野,包括進程樹、網絡、用戶ID與掛載文件系統,而核心的cgroup提供資源隔離,包括CPU、內存、block I/O與網絡。從0.9版本起,Dockers在使用抽象虛擬是經由libvirt的LXC與systemd – nspawn提供界面的基礎上,開始包括libcontainer函數庫做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設施。
2.7 大數據
2.7.1 Elsaticsearch
Elasticsearch 是一個分布式的搜索和分析引擎,可以用于全文檢索、結構化檢索和分析,并能將這三者結合起來。Elasticsearch 基于 Lucene 開發,現在是使用最廣的開源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 來構建他們的搜索引擎。
2.7.2 hadoop
Hadoop是一個開源的框架,可編寫和運行分布式應用處理大規模數據,是專為離線和大規模數據分析而設計的,并不適合那種對幾個記錄隨機讀寫的在線事務處理模式。Hadoop=HDFS(文件系統,數據存儲技術相關)+ Mapreduce(數據處理),Hadoop的數據來源可以是任何形式,在處理半結構化和非結構化數據上與關系型數據庫相比有更好的性能,具有更靈活的處理能力,不管任何數據形式最終會轉化為key/value,key/value是基本數據單元。用函數式變成Mapreduce代替SQL,SQL是查詢語句,而Mapreduce則是使用腳本和代碼,而對于適用于關系型數據庫,習慣SQL的Hadoop有開源工具hive代替。Hadoop就是一個分布式計算的解決方案。
2.7.3 Hive
Hive是Hadoop家族中一款數據倉庫產品,Hive最大的特點就是提供了類SQL的語法,封裝了底層的MapReduce過程,讓有SQL基礎的業務人員,也可以直接利用Hadoop進行大數據的操作。
2.7.4 Sqoop
Apache Sqoop(SQL-to-Hadoop) 項目旨在協助 RDBMS 與 Hadoop 之間進行高效的大數據交流。用戶可以在 Sqoop 的幫助下,輕松地把關系型數據庫的數據導入到 Hadoop 與其相關的系統 (如HBase和Hive)中;同時也可以把數據從 Hadoop 系統里抽取并導出到關系型數據庫里。除了這些主要的功能外,Sqoop 也提供了一些諸如查看數據庫表等實用的小工具。
2.7.5 HBase
HBase建立在HDFS之上,提供高可靠性、高性能、列存儲、可伸縮、實時讀寫的數據庫系統。它介于NoSQL和RDBMS之間,僅能通過行鍵(row key)和行鍵序列來檢索數據,僅支持單行事務(可通過Hive支持來實現多表聯合等復雜操作)。主要用來存儲非結構化和半結構化的松散數據。與Hadoop一樣,HBase目標主要依靠橫向擴展,通過不斷增加廉價的商用服務器,來增加計算和存儲能力。
2.7.6 Spark
Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行計算框架,Spark基于map reduce算法實現的分布式計算,擁有Hadoop MapReduce所具有的優點;但不同于MapReduce的是Job中間輸出和結果可以保存在內存中,從而不再需要讀寫HDFS。參考:
3.1 提權
SecWiki 總結了:
3.2建立后門/端口轉發
端口轉發及代理類工具
在中轉服務器上下載端口轉發工具(加密壓縮):
3.3 傳輸文件
3.3.1 文件打包
關于打包
3.4 制作后門/木馬程序
一般用Matisploit 的 msfvenom
SET 也可以生成后門程序,另外也可以關注一下最新的 Office、PDF 的漏洞
在做日志清理前需要了解以下的內容:
Windows日志類型
Linux操作日志
滲透測試工具
1.內網使用工具滲透的一些原則
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。