这几天跟着师傅们体验了一番内网渗透,记录一下。
背景:最近公司分配了一个攻防演练的项目,目标资产较少,挖了几天都没有收获。后来其它师傅通过一个Struts2的框架漏洞成功Get Shell并打进内网,而我对内网这块一窍不通,所以趁着这几天跟着师傅们小小地体验了一番内网渗透。
- Neo-reGeorg:应用层隧道工具,利用了Socks协议建立隧道
Proxychains-Ng:终端代理工具
Neo-reGeorg
安装
依赖于
Python3
,若无Python3
环境需要先安装。- 直接Git下来即可使用,缺少部分依赖库直接使用
pip
安装即可 ```shell $ git clone https://github.com/L-codes/Neo-reGeorg.git
$ python3 neoreg.py -h # 查看帮助
可选参数:
-h, —help # 显示此帮助信息并退出 -u URI, —url URI # 包含隧道脚本的url -k KEY, —key KEY # 特定连接密钥 -l IP, —listen-on IP # 默认监听地址 (默认值: 127.0.0.1) -p PORT, —listen-port PORT # 默认监听端口 (默认值: 1080) -s, —skip # 跳过可用性测试 -H LINE, —header LINE # 将自定义标题行传递到服务器 -c LINE, —cookie LINE # 自定义到服务器的cookie -x LINE, —proxy LINE # proto://host[:port] 在给定端口上使用代理 —read-buff Bytes # 本地读取缓冲区,每个日志发送的最大数据(默认值: 1024) —read-interval MS # 读取数据间隔(毫秒) (默认值: 100) —max-threads N # 代理最大线程数 (默认值: 1000) -v # 显示详细信息 (使用-vv或者更多的v显示更详细的信息)
<a name="iA7MB"></a>
### 使用
- 设置密码并生成隧道文件,运行后会生成一个`neoreg_server`目录,里面包含了各种语言类型的隧道文件
```shell
$ python3 neoreg.py generate -k <password>
[+] Create neoreg server files:
=> neoreg_server/key.txt. # 密码
=> neoreg_server/tunnel.nosocket.php
=> neoreg_server/tunnel.js
=> neoreg_server/tunnel.php
=> neoreg_server/tunnel.ashx
=> neoreg_server/tunnel.aspx
=> neoreg_server/tunnel.tomcat.5.jsp
=> neoreg_server/tunnel.tomcat.5.jspx
=> neoreg_server/tunnel.jsp
=> neoreg_server/tunnel.jspx
将相应的隧道文件上传到WEB服务器后运行以下命令,在本地建立Socks代理。
$ python3 neoreg.py -k <password> -u http://xxx/tunnel.php
+------------------------------------------------------------------------+
Log Level set to [ERROR]
Starting socks server [127.0.0.1:1080], tunnel at [http://xx/tunnel.php]
+------------------------------------------------------------------------+
使用Neo-reGeorg建立Socks隧道后
- 浏览器可直接通过Proxy、FoxyProxy等插件配置Socks代理
- 某些工具(如Nmap)不支持socks代理,则需要额外配置Proxychains-Ng
Proxychains-Ng
安装
# Linux
$ git clone https://github.com/rofl0r/proxychains-ng.git # 下载
$ cd proxychains-ng && ./configure && make && make install # 编译安装
$ cp ./src/proxychains.conf /etc/proxychains.conf # 拷贝配置文件
$ cd .. && rm -rf proxychains-ng # 删除目录(可不执行)
# Mac
$ brew install proxychains-ng
配置
# 找到proxychains.conf文件所在的路径
# 将socks4 127.0.0.1 9095改为 socks5 127.0.0.1 1080
$ vim /etc/proxychains.conf # Kali
$ vim /usr/local/etc/proxychains.conf # Mac
测试
# 用法: proxychains4 XXX
$ proxychains4 curl ifconfig.io
$ proxychains4 curl cip.cc
联合BurpSuite
如果要使用BurpSuite抓包进行如暴力破解等操作,还需要另外配置一下BurpSuite的代理
配置本地代理,监听1080端口,用于接收数据包
- 配置Socks代理,用于发送数据包
其它
Mac配置ProxyChains-NG失效
- 原因:由于 System Integrity Protection (SIP) 的存在,使得工具失效
- 解决:重启电脑,按住
Command+R
进入恢复模式,在菜单中打开命令行,输入以下命令:$ csrutil enable --without debug # 忽略返回的警告
参考: