Web內網滲透知識大全

內網滲透

端口轉發

需要三個主機,Windows7、Windows2016、kali
Windows7為內網主機
Windows2016為跳板機
kali為攻擊機

使用到的工具
netsh、MSF

我們先在Windows7上開啟一個80服務,而這個80服務只能由Windows2016訪問,kali不能訪問
我們使用netsh進行端口轉發,這條命令是在Windows2016上執行的,目的就是在Windows2016上開啟一個監聽端口,將其流量發送至Windows7的80端口
一旦命令執行成功,我們就可以在kali上訪問Windows7的80服務了(Windows2016 IP + 監聽端口)

我們還可以使用MSF,前提是能夠將木馬上傳至Windows2016上

首先我們制作一個木馬,上傳到Windows2016上,使其上線
上線之后我們會在kali中進入meterpreter,也就是上線成功的一個標志,然后輸入shell,將Windoiws2016的終端返回到我們的kali上
接著就是和上面一樣的操作,繼續往下執行就可以了

當然我們也可以在meterpreter中直接輸入portfwd add -l 8889 -r 192.168.209.129 -p 80,然后直接在kali上訪問localhost:8889即可訪問到Windows7的80服務

當然使用MSF的時候不僅可以進行反向連接,還可以進行正向連接
開啟一個Windows2003主機,將其藏在內網當中去
我們先制作一個正向連接的木馬程序,然后將其上傳到Windows2016上去,執行木馬程序,使其上線
然后去添加一個內網的路由,讓我們的MSF進入到內網當中去
既然我們的MSF進入到了內網當中,我們可以讓木馬在后臺進行執行,然后在MSF里面進行端口掃描,看看有啥端口開放,接著使用arp -a去看一下內網中還有啥主機,發現有一臺Windows2003,我們可以使用MSF框架中的端口掃描對該主機進行掃描,將開放的端口都掃描出來,既然是Windows2003,說明可能會存在永恒之藍漏洞,然后通過永恒之藍漏洞進行連接,注意的是paylaod要用正向連接的payload

使用正向連接而不使用反向連接的原因:kali可以通過植入木馬到Windows2016上,然后通過Windows2016去訪問Windows2003,但是Windows2003卻無法去訪問kali,反向連接不成功,所以我們使用正向連接

內網代理

上傳木馬到代理服務器上,然后讓木馬在后臺進行執行,我們使用MSF里面的代理功能來做一個代理
做完代理之后還得添加路由,添加內網的一個路由,同時也添加攻擊機的路由,其次在kali的瀏覽器上去配置代理然后才能去訪問Windows7上的80服務
Meterpreter 的路由功能主要關注的是目標內網的流量如何通過跳板機轉發
使用socks添加路由的目的:將 Kali 的流量通過代理服務器轉發到目標內網。
當然,我們也可以配置Linux的全局代理,然后去修改配置文件,在最后一行添加socks 127.0.0.1 1080,然后在終端上執行命令,通過代理去訪問Windows7的80服務

隧道通信

基于Neo-reGeorg

http正向隧道工具
首先在Windows2016上開啟80服務,然后去kali上確認看看能否訪問,然后進入Neo-reGeorg工具,使用命令去生成木馬文件,將生成的木馬文件上傳至Windows2016上去,然后在本機上進行訪問tunnel.php,接下來在kali上進行連接,連接之后還是建立了一個代理隧道,然后我們去kali的瀏覽器上去配置一個代理,然后就可以正常訪問了
上述木馬屬于二進制,我們還可以生成一個PHP型的木馬文件,然后上傳到Windows2016上,運行讓其上線,上線之后我們為其添加路由,添加路由的目的是能夠讓流量從kali到達目標內網,然后再使用MSF中的代理功能,開啟一個代理,然后訪問就可以了

我們基于PHP建立了TCP的連接,然后幫助我們基于TCP協議來做socks5的代理,然后在流量監聽的時候只能監聽到TCP協議的流量,不能監聽到HTTP的流量

基于SSH的隧道通信

SSH本地轉發
開啟WIndows2016上的OpenSSH server,然后使用我們本機進行連接,我們可以執行命令,如下:

ssh -CfNg -L 8879:192.168.209.129:80 administrator@192.168.3.41

先進行遠程連接,然后將8879端口上的流量轉發到目標主機的80端口,然后就可以使用kali去訪問Windows7的80端口
其實很簡單,就是讓遠程的SSH的服務幫助我們做一個端口轉發

SSH遠程轉發
我們可以先在Windows2016上執行如下命令

ssh -CfNg -R 3333:192.168.209.129:3306 kali@192.168.3.38  并輸入kali的SSH密碼

遠程連接到kali,然后將kali本機的3333端口流量轉發到目標主機的3306端口,然后就能訪問成功了

內網隧道

EarthWorm的使用

正向代理
在Windows2016這臺主機上使用這個工具,命令如下:

ew_for_win_32.exe -s ssocksd -l 1080

然后在kali瀏覽器上配置,配置的IP為windows2016這臺主機的IP和1080端口
然后訪問localhost:1080就能夠訪問了

反向代理
公網服務器上開啟EarthWorm工具服務端,開放1080和8086端口,1080是代理端口,8086是通信端口,然后在Windows2016跳板機上啟動客戶端,和公網的8086端口進行通信,在kali的瀏覽器配置一個代理,代理的IP為公網IP,端口為1080,然后就可以成功訪問localhost:1080

端口映射

就是將內網一臺主機的端口映射到公網服務器或者其他機器上的某個端口,通過訪問公網服務器的這個端口就能事項對內網目標端口的訪問

CS免殺與應用開發

在公網服務器上開啟CS的服務端,kali上開啟CS的客戶端,進入到CS的頁面中,然后新建一個監聽器,監聽器建好之后,生成一個payload,然后將這段paylaod復制到我們的kali里面,接下來我們應該創建一個python文件,然后將這段shellcode進行加密處理,也同時將我們的加載器代碼進行加密,然后將我們加密過的shellcode和加載器代碼與他們的解密代碼放在一個python文件當中,然后使用exec去執行這段加載器代碼,上線成功,接著我們使用psinstall將python文件打包成一個exe應用程序,上傳到火絨進行檢查,如果沒檢查出來,說明加密的好

那我們如何去包裝這個木馬
我們可以通過python來開發一個簡單的應用,然后將我們的代碼引入進去,通過運行開發的應用來間接的去運行這個木馬,然后在CS上線,更好的優化方式就是多幾個線程,不要讓線程一直被占用,從而導致無法運行我們的那個木馬

網絡分離免殺

打開公網服務器上的80服務,在公網服務器上開啟CS的服務端,kali上開啟CS的客戶端,接下來的操作就是將我們生成的shellcode并將其放到我們的公網服務器上,同時也將我們的加載器代碼放到我們的公網服務器上,然后做分離免殺,然后我們新建一個python文件,里面加入我們調用公網服務器資源的代碼,然后使用exec去執行,但是需要注意的是,我們輸入的shellcode必須得是二進制的,然后去執行這個python文件就可以上線成功了
因為我們輸入的shellcode是字符串型的,而非二進制的,所以我們有兩種方法將這個字符串型修改為二進制文件
第一種方法,進行格式化
第二種方法:將我們的shellcode在前面手工添加一個b,代表二進制文件,然后將我們的這個二進制文件讀入到以bin結尾的文件中,然后去讀取的時候也就變成二進制文件了,接著將其放入到公網服務器上即可,然后運行,看看是否上線成功

接著我們使用pyinstaller將其打包成一個exe應用程序,看看是否免殺

模擬DLL劫持技術

DLL劫持技術:在一個DLL文件中植入一個木馬,將其模擬成一個被別的應用程序所調用的函數或者接口
就比如說我們使用python開發一個exe,使用這個應用程序去調用DLL中的函數,進而實現木馬免殺和上線

C語言加載調用shellcode的幾種方式
堆加載
申請內存加載
函數指針加載

ICMP隧道

icmpsh工具

icmpsh工具要替代本身系統的ping命令的應答程序
由于ping命令就是基于ICMP協議,所以我們要在本身系統關閉這個響應
在kali將服務端啟動,并且將主機IP和目標IP輸入進去,然后在Windows2016上啟動客戶端,kali這邊就已經獲取到了Windows2016的命令行了

PowerShell ICMP客戶端

PowerShell ICMP客戶端,可以運行在任意有PowerShell的環境中
在kali啟動這個工具,目標系統進入到PowerShell,然后導入Invoke-PowerShellIcmp.psl這個模塊,然后使用這個模塊進行連接,這時候不出問題我們的kali就會獲取到Windows2016的反彈shell

PingTunnel

三臺操作機器,centos、kali、Windows2016、Windows7
我們首先在centos上運行ptunnel服務端,然后使用kali去連接,指定代理端口和目標IP和端口,連接上之后,就可以去訪問centos的80服務,接著我們去kali瀏覽器配置代理,IP為本機,端口為監聽端口,然后就可以去訪問

同時也可以代理非HTTP端口,比如說mysql的3306端口,我們只需要在上面的基礎上做一個簡單的操作即可,就是將80端口修改為3306端口,然后去訪問就能夠訪問到目標系統的mysql信息

面對內網面試官最愛問的問題:當某臺機器不出網的時候,你會怎么辦
其實在我們實驗的過程中,我們的Windows7就是不出網機器,它不能上外網,也不能訪問外網,因為我們ping百度的ping不通的,所以這就叫作不出網機器

不出網能不能使用端口映射
當然不能,端口映射是與公網服務器打交道,不出網的話就無法與公網服務器打交道
對于這種問題,我們有三個解決問題
第一個是內網路由,通過設置內網的路由,能夠讓流量知道如何從攻擊機傳輸到內網
第二個是內網代理,通過設置代理,使用代理去訪問內網,往內網里傳輸數據
第三個是通過跳板機進行端口轉發
例如我們通過ICMP該怎么辦
使用pingtunnel來做端口轉發,與跳板機建立連接

那如果跳板機也無法訪問到我們的windows7該怎么辦
只能去找能夠訪問到Windows7的跳板機

DNS隧道

DNS隧道就是將其他協議的內容封裝到DNS協議中,然后DNS響應和數據包完成傳輸數據的技術
支持直連模式和中繼模式
直連模式:用戶端直接與指定的目標DNS服務器建立連接
中繼模式:通過迭代查詢的方式而實現的中繼DNS隧道

iodine既支持中繼模式,同時也支持直連模式

iodine的原理:
通過在公網服務器上運行iodine的服務端,運行之后會新建一張虛擬網卡,而如果目標機器上運行iodine的客戶端,目標主機上也會建立一張新的虛擬網卡,至此DNS隧道建立成功,而兩張網卡都是在同一網段,可以ping通

利用DNS隧道
我們將公網服務器和目標機器的80服務開啟,然后通過虛擬網卡的IP就能訪問到
同時相同的操作也可以去訪問mysql

利用DNS隧道建立SOCKS5代理隧道
在公網服務器配置frps,配置完之后運行
在內網主機上配置frpc,配置完運行

然后在kali瀏覽器配置代理,為公網IP?端口,當然也可以給命令行配置代理
然后就可以訪問到內網了

在CS上使用DNS隧道
啟動CS,然后新建一個監聽器,為Beacon DNS,然后生成一個payload為exe類型的可執行文件,將其上傳到Windows2016跳板機上,然后運行可執行文件,使其上線,然后就可以做其他的操作了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902420.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902420.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902420.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ffmpeg av_buffer_unref的邏輯實現; av_freep 和 av_freep函數的區別

av_buffer_unref 是 FFmpeg 中用于管理引用計數和內存釋放的核心函數,其內部實現機制如下: ?一、核心流程? ?引用計數遞減? 函數首先對 AVBufferRef 的 buffer->refcount 進行原子遞減操作(通過 atomic_fetch_add_explicit 等機制保證…

從 GPS 數據中捕捉城市休閑熱點:空間異質性視角下的新框架

從 GPS 數據中捕捉城市休閑熱點:空間異質性視角下的新框架 原文:Capturing urban recreational hotspots from GPS data: A new framework in the lens of spatial heterogeneity 1. 背景與意義 城市娛樂活動的重要性: 娛樂活動是城市生活…

rk3568main.cc解析

rk3568main.cc解析 前言解析前言 正點原子rk3568學習,rk官方RKNN_MODEL_ZOO文件中 rknn_model_zoo-main/examples/mobilenet/cpp/main.cc 從執行命令:./build-linux.sh -t rk3568 -a aarch64 -d mobilenet 到: cmake ../../examples/mobilenet/cpp \-DTARGET_SOC=rk356x\…

【實驗數據處理matlab程序】程序1:繪制figure文件中曲線的RMS值

立意 在本課題所涉及的實驗中,需要將2個拉線式位移傳感器中的數據收集并處理,在此基礎上求解相應的速度 主要功能 針對一個figure文件中僅包含一個plot,且該plot中包含指定數目的曲線,求這些曲線的RMS值;針對一個fi…

kotlin的kmp編程中遇到Unresolved reference ‘java‘問題

解決辦法 打開 File → Project Structure → Project 確保 Project SDK 是 與你的 jvmToolchain 保持一致 如果沒有,點擊右上角 Add SDK 添加 JDK 路徑 同步Sync 然后就正常了。 package org.example.projectimport androidx.compose.animation.AnimatedVi…

靜電放電測試中垂直和水平耦合板的作用

在靜電放電(ESD,Electrostatic Discharge)測試中,垂直耦合板(Vertical Coupling Plane, VCP)和水平耦合板(Horizontal Coupling Plane, HCP)是模擬設備在實際環境中因靜電放電產生的…

Web開發-JavaEE應用JNDI注入RMI服務LDAP服務DNS服務高版本限制繞過

知識點: 1、安全開發-JavaEE-JNDI注入-LADP&RMI&DNS等 2、安全開發-JavaEE-JNDI注入-項目工具&手工原理等 演示案例-WEB開發-JavaEE-JNDI注入&LDAP&RMI服務&DNS服務&高版本限制繞過 JNDI全稱為 Java Naming and DirectoryInterface&am…

基于Transformer與隨機森林的多變量時間序列預測

哈嘍,我不是小upper,今天和大家聊聊基于Transformer與隨機森林的多變量時間序列預測。 不懂Transformer的小伙伴可以看我上篇文章:一文帶你徹底搞懂!Transformer !!https://blog.csdn.net/qq_70350287/article/detail…

初識網絡原理

文章目錄 1.IP地址2.端口號3.網絡中的五元組4.協議分層5.封裝和分用6.客戶端與服務器 1.IP地址 IP地址 (IP Address): 用于在網絡中唯一標識一臺設備(主機、路由器等)。IP地址分為IPv4和IPv6兩種版本。IPv4是32位地址,通常表示為四個用點分隔…

健康養生之道

健康養生是一種積極的生活態度,是對自己和家人的關愛。從生活的細微之處做起,便能為健康打下堅實的基礎。 在生活習慣方面,要注重細節。保持居住環境的整潔與通風,讓生活空間舒適宜人。勤洗手、勤換洗衣物,養成良好的衛…

幾種電氣絕緣類型

1. 基本絕緣 1.1 絕緣等級 1.2 I類設備 2. 附加絕緣 3. 雙重絕緣 4. 加強絕緣 5. 功能性絕緣 1. 基本絕緣 用于防止觸及帶電部件的初級保護,該防護是由絕緣材料完成的 基本絕緣的目的在于為防電擊提供一個基本的保護,以避免觸電的危險,不過此類絕緣只能保證正常狀態下…

01.瀏覽器自動化webdriver源碼分析之啟動函數

日后,網絡爬蟲也好,數據采集也好,自動化必然是主流。因此,筆者未雨綢繆,在此研究各類自動化源碼,希望能夠趕上時代,做出一套實用的自動化框架。 這里先研究傳統的webdriver中轉來進行瀏覽器自動…

PLOG安裝

Plog可以通過以下命令安裝 cd ~ && git clone https://github.com/SergiusTheBest/plog.gitcd plog && mkdir buildcd build && cmake ..make && sudo make installcd ~ && sudo rm -rf ./plog若無法科學上網,可使用git cl…

Cyber SpaceGuidance網安學習指南見解

免責聲明 如有異議請在評論區友好交流,或者私信 內容純屬個人見解,僅供學習參考 如若從事非法行業請勿食用 如有雷同純屬巧合 版權問題請直接聯系本人進行刪改 前言 提示:這里可以添加本文要記錄的大概內容: 提示:以…

第十五屆藍橋杯 2024 C/C++組 下一次相遇

目錄 題目: 題目描述: 題目鏈接: 思路: 自己的思路詳解: 更好的思路詳解: 代碼: 自己的思路代碼詳解: 更好的思路代碼詳解: 題目: 題目描述&#xf…

Vue3中provide和inject數據修改規則

在 Vue3 中,通過 inject 接收到的數據是否可以直接修改,取決于 provide 提供的值的類型和響應式處理方式: 1. 若提供的是普通值(非響應式數據) javascript 復制 // 父組件 provide(staticValue, 123); 子組件修改行…

今日CSS筆記

原手寫筆記 ------------------------------------------------------------------------------------------------------- css選擇器的種類有很多種。這里只介紹幾種常用的選擇器。 1. 標簽選擇器標簽選擇器是最基本的選擇器,它可以選擇所有的標簽。例如&#xff…

健康生活新指南

在 “朋克養生” 與 “躺平焦慮” 并存的時代,真正的健康生活無需刻意 “內卷”。這幾個簡單又實用的養生妙招,能讓你在忙碌日常中悄悄升級健康狀態,輕松擁抱活力人生。? 一、飲食:吃對食物,給身體 “加 Buff”? 別…

輕量級景好鼠標錄制器

景好鼠標錄制器(詳情請戳 官網)是一款免費無廣的鍵鼠動作錄制/循環回放工具,輕松自動化應對一些重復繁瑣的操作任務,如來回切換窗口、文檔同一相對位置的復制粘貼等場景,兼容Win XP - 11 。畢竟此款本身主打簡約類型&a…

結構體與共用體-------C語言經典題目(3)

結構體 1.如何定義和使用結構體指針? 1.結構體指針的定義 首先需要定義結構體類型,例如表示學生信息的結構體: struct Student {char name[50];int age;float score; };接著,使用struct 關鍵字和指針符號* 聲明結構體指針&#x…