关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客
0x01:内网代理概述
在前几章中我们已经讲解完了应用层公网代理,下面我们开始进入内网代理的章节。当我们通过漏洞进入目标内网后,我们一般见到的拓扑场景如下:
那么假设我们要进行进一步的渗透,即内网渗透,我们应该如何攻击到对方内网呢?我们与对方内网唯一存在联系的地方就是它们的边界机器(也有可能是目标内网的一台机器),此时我们的思路大概有如下两种:
-
思路一:将工具上传到对方的边界机器,然后使用对方边界机器对内网进行扫描。
-
缺点一:万一工具刚一落地就被对方机器嘎了咋办?
-
缺点二:假设一个工具需要 Python 环境,对方电脑没有咋办?
-
-
思路二:将对方边界机器做成代理机器,让它将我们的流量传输进内网。
-
优点一:我们不用把所有工具都传到目标机器上,方便撤退。
-
优点二:操作十分简单,一行命令即可搭建隧道。
-
思路一这里笔者就不谈了,主要谈思路二(这个也是最常用的),按照思路二搭建好内网隧道后,拓扑图如下:
本章我们不讲如何在服务端搭建内网隧道(下一章开始讲),我们先来讲讲,我们使用什么工具来连接内网隧道或者叫连接代理。
0x02:Windows — Proxifier
Proxyifile 工具获取
安装版:Proxifier.exe
如果你的渗透机器是 Windows,那么笔者推荐使用 Proxifier 作为代理连接软件。笔者提供了两个版本的 Proxifier,一个是需要安装的,傻瓜式安装,一直下一步就行。另外一个是便携版,也是笔者正在用的,解压后点击 Proxifier.exe 即可使用:
别找不到哈,点击后它不会直接弹窗,而是在任务栏中出现一个如下图所示的小方框,那个就是它,右击选择 “打开 Proxifier” 即可打开操作窗口:
本章主要介绍这个工具的三个常用的功能,即添加代理服务器,代理规则的配置与代理链的配置。
0x0201:添加代理服务器 & 测试代理是否可用
配置代理前肯定得先添加一个代理服务器,点击 “配置文件” => “代理服务器” => “添加”,即可进入代理服务器添加页面:
如上,它还支持检查功能,配置好代理服务器信息后点击检查,即可让他测试代理服务器是否可用(我们还可以自行编辑测试项,跳过不必要的测试):
0x0202:代理规则的配置
添加完代理服务器后,我们就需要来配置代理规则了。即决定,哪些软件要走代理,哪些不用走。
选择 “配置文件” => “代理规则”,然后你就可以添加或者删除执行的代理规则了,单击代理规则就是编辑这条规则:
此外,此软件还支持导入与导出配置文件,即把你编辑好的配置文件导出出去,你要用的时候,直接导入即可(功能还很多,笔者这里挑常用的讲,其他的靠读者自行摸索啦,不过大概率是用不上了)。
0x0203:代理链配置
通过 Proxifier,我们还可以配置代理链,何为代理链?你可以理解为多个代理以链路的形式串在了一起,配置代理链你得有足够多的代理哈(起码两个):
如上,这个代理链就表示,我的流量先从 127.0.0.1:7890 走,然后从这里走到 41.41.41.129:1234 这里,然后再到目标,这就是多级代理。(创建好代理链后还需要去代理规则中进行配置启用,别忘了哈)
0x03:Linux — ProxyChains
ProxyChains 工具获取
如果你的渗透机器是 Linux,那么笔者推荐使用 ProxyChains 作为代理连接软件。该工具在 Kali Linux 中是默认安装了的(配置文件为 /etc/proxychains4.conf
):
下面我们主要是来看看如何在其他 Linux 机器中安装 ProxyChains,并且使用它。
0x0301:CentOS 7 安装 ProxyChains
下面笔者以 CentOS 7 系统为例,讲解一下如何安装 ProxyChains。首先,从上面提供的地址中将 ProxyChains 安装包下载下来,然后依次输入下面的命令:
- tar -zxvf proxychains-ng-4.16.tar.gz # 解压 ProxyChains 安装包
- cd proxychains-ng-4.16 # 进入解压后的目录
- ./configure # 运行自检程序
- make # 根据 Makefile 文件规则编译程序源代码,生成可执行文件
- make install # 将编译好的文件安装到系统指定目录 /usr/local/bin,这样哪里都能使用该软件
如上,只要你运行 proxychains4 后也能出现提示,就证明安装成功了,但是别急着用,安装完后我们还要对其配置代理服务器。
0x0302:ProxyChains 配置代理 & 踩坑
使用上面的方式安装完成后,默认是没有 proxychains.conf 配置文件的,我们还需要将源码包中的配置文件复制一份到 /etc
目录下,首先来到我们解压 ProxyChains 的目录下,然后运行下面的命令:
cp ./src/proxychains.conf /etc # 将配置文件复制一份到 /etc 目录下
然后我们需要编辑 /etc/proxychains.conf
文件,在里面配置我们的代理服务器信息(你得弄一个代理哈,弄代理的方式笔者前面在 单代理配置 一章已经讲过了,这里就不再细说了):
vim /etc/proxychains.conf # 编辑 proxychains 配置文件
一直滑倒最后,找到 ProxyList,那里就是编辑代理的地方,它上面有示例,ProxyChains 还支持代理链,ProxyChains 的编辑规则如下:
- [ProxyList]
- # 类型 主机 端口 用户名(可选) 密码(可选)
- socks5 127.0.0.1 1080
- http 192.168.1.1 8080 user1 pass1
- socks4 10.0.0.1 1080
-
- # 如上就是配置了一个代理链
笔者认个错,上面这个配置是失败的,但是笔者不想删掉,因为这个错误应该很常见。ProxyChains 不支持使用域名做代理,就比如笔者上面那样,如果这样配置后,你使用 ProxyChains 很可能会报如下错误:
如上,它显示,s861.kdltps.com 是一个无效值,因为它不是数值型。这个意思就是 ProxyChains 只支持使用数值型代理,所以我们得先拿到代理服务器的 IP 地址,使用 Ping 命令就行:
ping s861.kdltps.com
所以我们最终的配置文件应该长下面这样,编辑完成后记得保存:
0x0303:ProxyChains 使用
ProxyChains 的使用十分简单,在你想要运行的命令前面加上 proxychains4
即可。
比如下面这样:
proxychains4 curl ifconfig.me



评论记录:
回复评论: