viper:一款中国人写的红队服务器——记一次内网穿透练习

2025-01-03 14 0

1. viper

viper:一款中国人写的红队服务器——记一次内网穿透练习插图

Viper 是中国人自主编写的一款红队服务器,提供图形化的操作界面,让用户使用浏览器即可进行内网渗透,发布在语雀官方地址提供了很全面的官方文档,包括四大部分,分别是使用手册、模块文档、博客文章、开发手册,其中使用手册中对其介绍如下:

提供图形化的操作界面,用户使用浏览器即可进行内网渗透集成杀软绕过,内网隧道,文件管理,命令行等基础功能

内置70+个模块,覆盖初始访问/持久化/权限提升/防御绕过/凭证访问/信息收集/横向移动等大类

可视化的内网网络拓扑展示

msfconsole命令行,支持颜色显示,Tab提示

多用户协同

Viper 的安装可以参考使用手册的首次安装,使用f8x工具支持在全新的linux环境一键安装viper,接下来话不多说,来试试看

2. 搭建实验环境

申请一台云服务器 搭建一台viper服务器(属于攻击者)- 外网服务器

申请两台云服务器作为网站的服务器来使用(属于被攻击者),分别称为边界网站服务器,内网服务器 - 优刻云服务器

配置防火墙,禁止外网访问内网服务器的所有端口

在边界网站服务器上搭建有 struts2 漏洞的网站,在内网服务器搭建一个自己写的网站

2.1 外网服务器搭建

1.在云平台新建一台外网服务器

viper:一款中国人写的红队服务器——记一次内网穿透练习插图1

2.在服务器搭建 viper

用MobaXterm远程连接,选ssh,root,默认22端口

根据首次安装的命令一行一行执行

docker ps:列出所有在运行的容器信息(检验docker安装成功)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图2

chmod +x /usr/bin/docker-compose:为/usr/bin/docker-compose这个文件添加执行权限

内存小于 2G的那些命令不执行

export VIPER_PASSWORD=AqZd@123456(用户名root,一会登录viper的密码)

cat /root/VIPER/docker-compose.yml :查看密码是否写入

访问 https://yourip:60000登录,把yourip换成服务器的ip地址

viper:一款中国人写的红队服务器——记一次内网穿透练习插图3

载荷就是木马,meterpreter_reverse_tcp,回弹木马一定有reverse这个单词,其中tcp协议的最稳定

viper:一款中国人写的红队服务器——记一次内网穿透练习插图4

3. 添加防火墙规则

只开放22端口和60000端口,22端口用于SSH连接,60000端口用于回弹访问和内网服务器访问

viper:一款中国人写的红队服务器——记一次内网穿透练习插图5

2.2 边界Web服务器和内网服务器搭建

1. 添加防火墙规则

viper:一款中国人写的红队服务器——记一次内网穿透练习插图6

内网服务器:1-65535的端口,拒绝访问

viper:一款中国人写的红队服务器——记一次内网穿透练习插图7

边界服务器:开放3389(远程桌面) 8080 80端口

viper:一款中国人写的红队服务器——记一次内网穿透练习插图8

2. 新建两台云服务器

windows的2008年64位主机

viper:一款中国人写的红队服务器——记一次内网穿透练习插图9

3.mstsc 远程尝试连接

viper:一款中国人写的红队服务器——记一次内网穿透练习插图10

点显示选项,改用户名

viper:一款中国人写的红队服务器——记一次内网穿透练习插图11

两台服务器都能远程连接

viper:一款中国人写的红队服务器——记一次内网穿透练习插图12

若把内网服务器的外网防火墙改变为之前新建的内网防火墙(关联产品操作-更换外网防火墙)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图13

viper:一款中国人写的红队服务器——记一次内网穿透练习插图14

更改防火墙后无法远程连接

只能在边界服务器里可以用内网服务器的内网地址进行远程连接

viper:一款中国人写的红队服务器——记一次内网穿透练习插图15

远程套娃连接

4. 上传需要的文件

内网服务器搭建——内网服务器(上传时,得先开放3389远程连接端口)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图16

外网服务器环境——边界Web服务器

viper:一款中国人写的红队服务器——记一次内网穿透练习插图17

4.1 边界服务器 - 有struts框架漏洞的站

1. Java 运行环境

点击 jdk.exe,下载 Java

根据word文档配置 Java 环境变量

2. 解压 apache-tomcat-7.0.109-windows-x86 压缩包,并为了简洁明了改名为 tomcat

3. 解压 struts-2.0.9-apps

只需要一个 war 包,复制

viper:一款中国人写的红队服务器——记一次内网穿透练习插图18

  • 粘贴到 tomcat的webapps 下,为了便于后续访问,改名为struts2

viper:一款中国人写的红队服务器——记一次内网穿透练习插图19

启动 tomcat(启动tomcat会自动部署一个web的网站应用,struts的war包会自动部署)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图20

4. 新增防火墙规则,放开边界web服务器的8080端口

viper:一款中国人写的红队服务器——记一次内网穿透练习插图21

新增后如下

viper:一款中国人写的红队服务器——记一次内网穿透练习插图22

改变边界Web服务器的防火墙规则

5. tomcat 默认端口为8080,访问边界Web服务器的8080端口

viper:一款中国人写的红队服务器——记一次内网穿透练习插图23

然后访问 http://106.75.107.15:8080/struts2

(struts框架的网站:struts1是 .do结尾,struts2是 .action结尾)谷歌搜索filetype:.action

viper:一款中国人写的红队服务器——记一次内网穿透练习插图24

4.2 内网服务器 - php的站

viper:一款中国人写的红队服务器——记一次内网穿透练习插图25

下载xamp

把防火墙改为之前的内网防火墙

3. 攻击者服务器(自己的虚拟机)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图26

1. struts2 工具检测 边界服务器 并上传冰蝎马

把 http://106.75.107.15:8080/struts2/example/HelloWorld.action(边界服务器) 用 struts2 工具扫描

viper:一款中国人写的红队服务器——记一次内网穿透练习插图27

发现漏洞后不用操作,直接执行whoami,发现获得了(边界服务器)administrator权限

(返回的数据量有限,只能返回一行,但可以传木马解决)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图28

上传冰蝎马,把冰蝎的马:shell.jsp 打开,复制

viper:一款中国人写的红队服务器——记一次内网穿透练习插图29

粘贴到上传框,改名为404.jsp,上传

viper:一款中国人写的红队服务器——记一次内网穿透练习插图30

上传成功后,访问一下http://106.75.107.15:8080/struts2/404.jsp,不报错则存在此文件

viper:一款中国人写的红队服务器——记一次内网穿透练习插图31

2. 用冰蝎连接,上传viper马到 边界服务器

冰蝎连接边界Web服务器

viper:一款中国人写的红队服务器——记一次内网穿透练习插图32

viper:一款中国人写的红队服务器——记一次内网穿透练习插图33

在外网服务器 viper 生成监听载荷(木马)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图34

生成的马是java 的 tcp 回弹类型

viper:一款中国人写的红队服务器——记一次内网穿透练习插图35

自动迁移到进程explorer.exe(此进程是windows特有的开机则运行的桌面进程)

生成后,打开所在文件夹,改名ma.war

冰蝎给边界Web服务器上传生成的 viper 马——ma.war

网站8080端口的根目录是 C:/tomcat/webapps/

viper:一款中国人写的红队服务器——记一次内网穿透练习插图36

3. 访问ma,viper(外网服务器)成功连接 边界服务器

viper:一款中国人写的红队服务器——记一次内网穿透练习插图37

访问 http://106.75.107.15:8080/ma 之后,viper 成功连接主机

右键,可以进行操作(15秒是读秒,每60秒连接一次)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图38

4. 给viper(外网服务器)上 边界服务器 中 添加内网路由

把外网服务器当做路由器,把内网服务器所在段添加进路由表

命令行终端:ipconfig,查看到一个接口的内网ip

viper:一款中国人写的红队服务器——记一次内网穿透练习插图39

添加内网路由:自动新增,可以再手动新增 10.9.141.0 的段(解析结果失败没事,刷新就有了)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图40

5. viper(外网服务器:149.28.57.80)新增代理(打隧道)

使发送给外网服务器的请求,能转发到边界服务器和内网服务器

点击内网代理中的新增代理

viper:一款中国人写的红队服务器——记一次内网穿透练习插图41

开放外网服务器的9090端口

viper:一款中国人写的红队服务器——记一次内网穿透练习插图42

6. 攻击者服务器给 viper 做代理

Proxifier - 配置文件 - 代理服务器 - 添加

viper:一款中国人写的红队服务器——记一次内网穿透练习插图43

填入外网服务器的ip地址,上文中新增代理的端口和协议

点击检查

viper:一款中国人写的红队服务器——记一次内网穿透练习插图44

检查会通过 viper代理服务器 去上网,去访问百度

viper:一款中国人写的红队服务器——记一次内网穿透练习插图45

全部点确定

Proxifier - 配置文件 - 代理规则

viper:一款中国人写的红队服务器——记一次内网穿透练习插图46

连接本机127.0.0.1的是直连,其他访问默认走代理(现在可以在攻击者服务器,用内网服务器的内网ip去连远程桌面,关闭代理则连接不到)

viper:一款中国人写的红队服务器——记一次内网穿透练习插图47

7. 弱口令扫描内网服务器

目标是内网服务器的内网ip,正常应该是 10.9.141.1-10.9.141.254 一个段去跑,不止测SMB,挨着个的去跑(SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通

viper:一款中国人写的红队服务器——记一次内网穿透练习插图48

导入密码:

viper:一款中国人写的红队服务器——记一次内网穿透练习插图49

扫描成功,得到用户名、密码

此时在走代理,所以Proxifier会有流量包

viper:一款中国人写的红队服务器——记一次内网穿透练习插图50

4. 攻击过程总结

  1. 利用 struts2 攻击边界web服务器

  2. 写入冰蝎木马

  3. viper - 监听载荷 - 生成载荷

  4. 选择反弹的Java载荷

  5. 设定lport:6666

  6. 载荷类型:war

  7. 重命名war为 ma.war

  8. 冰蝎把ma.war上传到tomcat\webapp\目录下

  9. 刷新冰蝎的目录如果生成了ma这个目录

  10. 访问:http://ip:8080/ma 地址,会发现viper这面木马上线

  11. 在viper上线的主机上右键点选内网路由

  12. 添加路由,建议使用自动生成路由

  13. 内网代理 - 新增代理 - 设定代理端口

  14. Proxifier 中设定代理地址和端口号(ip写viper的ip,端口写上一步设定的端口号)

  15. 使用攻击工具访问探测和攻击内网服务器


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

漏洞分析 | Exchange 漏洞利用
centos7虚拟机搭建vulhub靶场
记一次实战登陆口Js逆向分析
记一次CNVD证书的挖掘方式
Windows基线加固:Windows基线检查及安全加固手工实操
CVE2022-0735 Gitlab-runner token获取后的可利用性分析

发布评论