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

news2024/11/16 13:48:41

1. viper

1646730398_62271c9e81fb61ff1a4e3.png!small?1646730397447

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

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

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

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

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

多用户协同

 

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

2. 搭建实验环境

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

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

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

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

2.1 外网服务器搭建

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

1646731425_622720a1cf56262a955e1.png!small?1646731424271

2.在服务器搭建 viper

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

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

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

1646731219_62271fd3e546303e52489.png!small?1646731218247

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地址

1646731673_62272199672fbb4efdca4.png!small?1646731671931

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

1646731564_6227212cbbabade29346e.png!small?1646731563168

3. 添加防火墙规则

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

1646731632_62272170eb565e1a0bdf1.png!small?1646731631386

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

1. 添加防火墙规则

1646732160_62272380d7f1482979831.png!small?1646732159351

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

1646732193_622723a121f92bc819ae6.png!small?1646732191569

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

1646732203_622723ab5ac7a358fe432.png!small?1646732201769

2. 新建两台云服务器

windows的2008年64位主机

1646732261_622723e55fba4e4a113f3.png!small?1646732259777

3.mstsc 远程尝试连接

1646732317_6227241dcc9deb9e3b006.png!small?1646732316150

点显示选项,改用户名

1646732327_622724277ca20df0c1d2d.png!small?1646732325895

两台服务器都能远程连接

1646732343_62272437db8fac0c8e371.png!small?1646732342210

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

1646732353_62272441de7295cbce107.png!small?1646732352253

1646732360_622724488141f43962438.png!small?1646732358836

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

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

1646732370_62272452c40e8ecd1f051.png!small?1646732369113

远程套娃连接

4. 上传需要的文件

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

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

1646732512_622724e09a4638ecededc.png!small?1646732510944

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 包,复制

1646732615_62272547eb25b473f4041.png!small?1646732614373

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

1646732639_6227255f8cfe6514b1cc4.png!small?1646732637901

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

1646732669_6227257db05100f2c574c.png!small?1646732668052

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

1646732743_622725c78d749a844ecc0.png!small?1646732741969

新增后如下

1646732698_6227259a6eb372cf13dd2.png!small?1646732697829

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

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

1646732768_622725e031470f0fcab4b.png!small?1646732766878

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

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

1646732778_622725ea45fa5da80cd60.png!small?1646732776609

4.2 内网服务器 - php的站

1646732891_6227265b3a43490307948.png!small?1646732889548

下载xamp

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

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

1646732945_62272691931b6e03daaab.png!small?1646732944023

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

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

1646732986_622726baac510785c4d21.png!small

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

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

1646733012_622726d4b86dce5111b5c.png!small?1646733011076

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

1646733026_622726e2e71b9b3e4079c.png!small?1646733025276

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

1646733039_622726efaea8ea13409c1.png!small?1646733038090

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

1646822136_622882f85b16c67d9d9a5.png!small?1646822135830

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

冰蝎连接边界Web服务器

1646822149_62288305746f581c01f7c.png!small?1646822148960

1646822184_62288328804760c3549c6.png!small?1646822184100

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

1646822193_62288331b1ceb8aee0795.png!small?1646822193219

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

1646822206_6228833e2091cc146919b.png!small?1646822205557

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

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

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

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

1646822219_6228834b2e94283d6aa23.png!small?1646822218713

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

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

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

1646822235_6228835bd69c62e736db0.png!small?1646822235518

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

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

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

1646822245_622883658d307b541d306.png!small?1646822245036

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

1646822251_6228836b501df32e64760.png!small?1646822250807

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

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

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

1646822257_62288371ca01e78c3238e.png!small?1646822257297

开放外网服务器的9090端口

1646822263_6228837797274d198c809.png!small?1646822263080

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

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

1646822283_6228838ba8d70f563be8d.png!small?1646822283157

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

点击检查

1646822295_622883979e2afd3d5a17b.png!small?1646822295083

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

1646822307_622883a3a7787a5294f23.png!small?1646822307156

全部点确定

Proxifier - 配置文件 - 代理规则

1646822318_622883aed247f51c7e2fe.png!small?1646822318303

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

1646822325_622883b54b37b0ea7cb21.png!small?1646822324757

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

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

1646822335_622883bf83920fdf74698.png!small?1646822335080

导入密码:

1646822340_622883c4dae36b97fbde7.png!small?1646822340508

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

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

1646822401_622884016606aa4804586.png!small?1646822401039

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. 使用攻击工具访问探测和攻击内网服务器

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;
  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

 “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

 2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

 行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

 1.学习路线图 

 攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

 

 (都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。 

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。 

 还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

 最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取 

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1859424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高中数学:数列-错位相减法与裂项相消法求数列的和

一、错位相减法 设,an是等差数列,bn是等比数列,那么{an*bn}构成一个新的数列 这个新数列的求和公式,就可以用错位相减法求解。 练习 例题1 解析: 第一问 第二问 二、裂项相消法 1、裂项的几种常见形式 形式1…

Junit4测试基本应用(白盒测试)

Junit4测试基本应用(白盒测试) 一、实验目的 掌握Junit的基本操作,进行较简单的单元测试。 二、Junit4测试的使用 1. 创建java项目JUnitText 我使用的Eclipse,在左侧Package Explorer(包资源管理器)右键,新建Java …

物联网 IoT 收录

物联网IoT日常知识收录 thingsboard, nodered是国际大品牌, iotgateway是国内的, 几个scada, pyscada, json-scada都还不错,比较一下。thingsboard-gateway是python系的,如果你愿意,可以用这个作为公司的物联网网关。…

全网最强剖析Spring AOP底层原理

相信各位读者对于Spring AOP的理解都是一知半解,只懂使用,却不懂原理。网上关于Spring AOP的讲解层出不穷,但是易于理解,让人真正掌握原理的文章屈指可数。笔者针对这一痛点需求,决定写一篇关于Spring AOP原理的优质博…

视频监控解决方案:视频平台升级技术方案(下)

目录 1 项目概况 2 项目需求 2.1 视频感知资源扩充 2.2 视频支撑能力升级 2.3 视频应用能力升级 3 技术设计方案 3.1系统总体架构 3.2视频感知资源扩充设计 3.3 视频支撑能力升级设计 3.4 视频应用能力升级设计 3.4.1视频资源目录管理 3.4.2标签管理 3.4.3设备智能…

万亿国债野外图传——天通卫星图传设备类目推荐

在远离都市喧嚣的辽阔自然中,户外工业作业以其独特的重要性日益凸显,涵盖了从高山峻岭的地质勘探、森林资源调查到广袤草原的生态监测等众多领域。然而传统监测方法不能全面覆盖,冰雪覆盖的山区和偏远地区的电力设施状况以及野生动物等户外状…

多功能推拉力测试机可实现焊球推力测试

LB-8100A 多功能推拉力测试机广泛应于与 LED 封装测试、IC 半导体封 装测试、TO 封装测试、IGBT 功率模块封装测试、光电子元器件封装测试、汽 车领域、航天航空领域、军工产品测试、研究机构的测试及各类院校的测试 研究等应用。 多功能推拉力测试机设置主要结构:…

DDD(data display debugger)调试工具

文章目录 DDD安装界面说明 DDD data display debugger是命令行调试程序,可以理解为可视化的GDB。 安装 CentOS下使用以下命令进行安装: yum install ddd等待安装完成即可。 界面说明 顺便写一个测试程序,编译可执行文件 终端命令行输入…

51单片机STC89C52RC——7.1 串口通信

目的/效果 实现单片机串口与电脑串口工具进行数据通讯, 1:设备向电脑串口发送HEX 2:让电脑串口工具控制单片机LED亮灭。同时让单片机反馈控制的结果。 一,STC单片机模块 二,串口通讯 2.1 串行通信与并行通信 &…

智心顾问:为心智障碍家庭带来温暖与专业支持

💙关爱从心开始 —— 理解心智障碍 在这个世界上,有这样一群特殊的群体——心智障碍者。他们通常伴随着个体认知、社会互动和学习能力的障碍。这些障碍可能源于遗传、环境或未知因素,但不应成为他们照护者获得信息和支持的阻碍。心智障碍者的…

webStorm debug vue项目的两种方法

一、前言 本文将介绍通过webstorm对vue项目进行debugger调试的三种方案。 但是,不管通过那种方案,都无法达到类似后端idea调试的体验,感觉十分难受,不过,比起用console.log还是好一些。如果各位有更好的方案&#xf…

【本地知识库】本地知识库+语言大模型=知域问答

本地知识库语言大模型知域问答 本项目实质为本地知识库构建及应用,内容包含: 本地知识库构建及应用相关知识的介绍离线式本地知识库构建及应用在线式本地知识库构建及应用 本地知识库构建及应用相关知识的介绍 本地知识库 本地知识库通常是指存储在…

免费悬浮翻译器都有哪些?看剧学习都适配的翻译器分享~

不知道大家有没有设想过,当我们在查阅外文文档或是观看外语电影时,要是能够借助翻译工具来同步获取译文,那得有多快乐~ 不瞒大家说,现在想要实现这种快乐其实很简单!只要手里头备好几个趁手的免费悬浮翻译器就可以搞定…

为冲刺IPO,喜马拉雅曝裁员20%?钉钉叶军吐槽百度搜索;美国制裁俄罗斯安全软件12名高管;华为自研语言仓颉力战Java

一、商业圈 1.钉钉总裁叶军吐槽百度搜索:前十条都是广告 钉钉总裁叶军在亚布力中国企业家论坛第十届创新年会上发表了演讲,期间他直言不讳地对百度搜索提出了批评。叶军指出,在OpenAI推出智能聊天机器人ChatGPT之后,百度的传统搜…

昇思25天学习打卡营第1天|基本介绍

今天的课程内容是MindSpore和昇腾AI全栈的整体介绍。 MindSpore 介绍 全场景深度学习框架 架构结构 扩展部分 Model Zoo 模型库Extend 扩展库(强化学习/GNN)Sciene 科学计算 开放部分MindExpression 统一API第三方前端 运行部分Data 数据处理AI编译…

k8s知识点

Kubernetes中Service、Ingress与Ingress Controller的作用与关系 Service 是对一组提供相同功能的 Pods 的抽象,并为它们提供一个统一的入口。借助 Service,应用可以方便的实现服务发现与负载均衡。Ingress 是反向代理规则,管理外部流量进入集…

环境安装-GIT

下载 git官网下载 https://git-scm.com/ 安装 点击下载的安装包,并点击下一步 选择安装路径,照例改选自定义路径 选择默认的即可 选择GIT编辑器,默认选择vim即可 设置初始化新项目(本地仓库)的主分支名,按默认即可,点…

web前端:作业四

1.编写一个函数&#xff0c;形参是一个数组&#xff0c;返回数组中所有数字的平均值 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><script>// 1.编写一个函数&#xff0…

基于Pytorch框架构建AlexNet模型

Pytorch 一、判断环境1.导入必要的库2.判断环境 二、定义字典1.定义字典 三、处理图像数据集1.导入必要的模块2.定义变量3.删除隐藏文件/文件夹 四、加载数据集1.加载训练数据集2.加载测试数据集3.定义训练数据集和测试集路径4.加载训练集和测试集5.创建训练集和测试集数据加载…

自定义User-Agent:使用Python Requests进行网络请求

在网络编程和数据采集领域&#xff0c;HTTP请求是与服务器交互的基本方式。User-Agent&#xff08;用户代理&#xff09;是HTTP请求中的一个重要字段&#xff0c;它告诉服务器发起请求的客户端类型和版本信息。在某些情况下&#xff0c;自定义User-Agent可以帮助我们模拟不同的…