Java 安全模型
Java 中的安全模型
在 Java 中将执行程序分成本地和远程两种,本地代码默认视为可信任的,而远程代码则被看作是不受信的。对于授信的本地代码,可以访问一切本地资源。而对于非授信的远程代码在早期的 Java 实现中,安全依赖于沙箱 (Sandbox) 机制。沙箱机制就是将 Java 代码限定在虚拟机 (JVM) 特定的运行范围中,并且严格限制代码对本地系统的资源访问,通过这样的措施来保证对远程代码的有效隔离,防止对本地系统造成破坏。
但如此严格的安全机制也给程序的功能扩展带来障碍,比如当用户希望远程代码访问本地系统的文件时候,就无法实现。因此在后续的 Java1.1 版本中,针对安全机制做了改进,增加了安全策略,允许用户指定代码对本地资源的访问权限。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Java 中的安全模型
在 Java 中将执行程序分成本地和远程两种,本地代码默认视为可信任的,而远程代码则被看作是不受信的。对于授信的本地代码,可以访问一切本地资源。而对于非授信的远程代码在早期的 Java 实现中,安全依赖于沙箱 (Sandbox) 机制。沙箱机制就是将 Java 代码限定在虚拟机 (JVM) 特定的运行范围中,并且严格限制代码对本地系统的资源访问,通过这样的措施来保证对远程代码的有效隔离,防止对本地系统造成破坏。
但如此严格的安全机制也给程序的功能扩展带来障碍,比如当用户希望远程代码访问本地系统的文件时候,就无法实现。因此在后续的 Java1.1 版本中,针对安全机制做了改进,增加了安全策略,允许用户指定代码对本地资源的访问权限。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
当前最新的安全机制实现,则引入了域 (Domain) 的概念。虚拟机会把所有代码加载到不同的系统域和应用域,系统域部分专门负责与关键资源进行交互,而各个应用域部分则通过系统域的部分代理来对各种需要的资源进行访问。虚拟机中不同的受保护域 (Protected Domain),对应不一样的权限 (Permission)。存在于不同域中的类文件就具有了当前域的全部权限
以上提到的都是基本的 Java 安全模型概念,在应用开发中还有一些关于安全的复杂用法,其中最常用到的 API 就是 doPrivileged。doPrivileged 方法能够使一段受信任代码获得更大的权限,甚至比调用它的应用程序还要多,可做到临时访问更多的资源。有时候这是非常必要的,可以应付一些特殊的应用场景。例如,应用程序可能无法直接访问某些系统资源,但这样的应用程序必须得到这些资源才能够完成功能。针对这种情况,Java SDK 给域提供了 doPrivileged 方法,让程序突破当前域权限限制,临时扩大访问权限。下面内容会详细讲解一下安全相关的方法使用。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
以上提到的都是基本的 Java 安全模型概念,在应用开发中还有一些关于安全的复杂用法,其中最常用到的 API 就是 doPrivileged。doPrivileged 方法能够使一段受信任代码获得更大的权限,甚至比调用它的应用程序还要多,可做到临时访问更多的资源。有时候这是非常必要的,可以应付一些特殊的应用场景。例如,应用程序可能无法直接访问某些系统资源,但这样的应用程序必须得到这些资源才能够完成功能。针对这种情况,Java SDK 给域提供了 doPrivileged 方法,让程序突破当前域权限限制,临时扩大访问权限。下面内容会详细讲解一下安全相关的方法使用。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
内网渗透应用 跨vlan渗透的一种思路
一共选取了三台服务器和一个H3C s3610三层交换机.顺带笔者的一台笔记本(Kali Linux).
三台服务器代表了tec503的基本业务划分。攻击者处在和webserver相同的vlan200中。并且攻击者已控制到webserver。
在交换机上划分了三个vlan 将Tec503(假想的目标公司)的数据服务器(dataserver.tec503.com)和web服务器(webserver.tec503.com)及域控分别划分在三个vlan(vlan100,vlan200,vlan300)下。vlan100和vlan200不能相互访问。但是都可以访问到vlan300.
交换机开启snmp和telnet(snmp一般用来监控交换机流量等,telnet用于管理三层交换机)。
测试目标:在尽可能少留下痕迹的前提下,接触到dataserver的数据。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
一共选取了三台服务器和一个H3C s3610三层交换机.顺带笔者的一台笔记本(Kali Linux).
三台服务器代表了tec503的基本业务划分。攻击者处在和webserver相同的vlan200中。并且攻击者已控制到webserver。
在交换机上划分了三个vlan 将Tec503(假想的目标公司)的数据服务器(dataserver.tec503.com)和web服务器(webserver.tec503.com)及域控分别划分在三个vlan(vlan100,vlan200,vlan300)下。vlan100和vlan200不能相互访问。但是都可以访问到vlan300.
交换机开启snmp和telnet(snmp一般用来监控交换机流量等,telnet用于管理三层交换机)。
测试目标:在尽可能少留下痕迹的前提下,接触到dataserver的数据。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
交换机下的渗透过程
在成功通过telnet登陆到交换机后我们便可以开始收集交换机的各种配置信息(vlan划分,super密码,路由表信息。Ip池划分等等)并且这些信息除了super密码以外基本都可以通过snmp的一个可读字符串获取到。而且对于思科设备来讲,如果有个可读可写的团体字符串,那么直接就可以下载到cisco的核心配置文件(含密码字符串等).
这里需要简单的说说三层交换机的两个功能,vlan划分以及端口镜像。端口指的是交换机上的端口,而不是计算机的服务端口。
端口镜像则是指将交换机某个端口下的数据镜像到另一个端口的技术,并且可以选择镜像流入或流出的数据包。这一技术通常应用在企业监控,流量分析中。在端口镜像时也应注意流量过高引发监视端口流量负载的问题。
这次测试便是通过端口镜像技术获取到dataserver发送和接受到的数据包。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
在成功通过telnet登陆到交换机后我们便可以开始收集交换机的各种配置信息(vlan划分,super密码,路由表信息。Ip池划分等等)并且这些信息除了super密码以外基本都可以通过snmp的一个可读字符串获取到。而且对于思科设备来讲,如果有个可读可写的团体字符串,那么直接就可以下载到cisco的核心配置文件(含密码字符串等).
这里需要简单的说说三层交换机的两个功能,vlan划分以及端口镜像。端口指的是交换机上的端口,而不是计算机的服务端口。
端口镜像则是指将交换机某个端口下的数据镜像到另一个端口的技术,并且可以选择镜像流入或流出的数据包。这一技术通常应用在企业监控,流量分析中。在端口镜像时也应注意流量过高引发监视端口流量负载的问题。
这次测试便是通过端口镜像技术获取到dataserver发送和接受到的数据包。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
❤1
tunna工具使用实例
可以看出该工具先使用proxy.py监听本地一个端口,然后连接部署在远程WEB的webshell,远端的webshell会把端口转发请求转发到本地或者本地内网远程的主机,从而实现HTTP tunneling.这对于内网入侵来说,是很有用的一个工具.
该工具看起来是不是有似曾相识的感觉,恩.其实和reduh原理是一样的,不过tunna更稳定,速度更快.
网站对外只开放了80端口,其他的端口都是关闭的,通过CVE-2013-225得到JSP的WEBSHELL后,上传conn.jsp,做转发,实现连接本机的其他端口.
直接扫描发现3389是关闭的
通过webshell上传conn.jsp到主机上,本地开始连接
就可以连接到目标的3389了
对于有些服务,比如SSH,还需要添加-s参数,才能保证连接的时候不会中断.
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
可以看出该工具先使用proxy.py监听本地一个端口,然后连接部署在远程WEB的webshell,远端的webshell会把端口转发请求转发到本地或者本地内网远程的主机,从而实现HTTP tunneling.这对于内网入侵来说,是很有用的一个工具.
该工具看起来是不是有似曾相识的感觉,恩.其实和reduh原理是一样的,不过tunna更稳定,速度更快.
网站对外只开放了80端口,其他的端口都是关闭的,通过CVE-2013-225得到JSP的WEBSHELL后,上传conn.jsp,做转发,实现连接本机的其他端口.
直接扫描发现3389是关闭的
通过webshell上传conn.jsp到主机上,本地开始连接
就可以连接到目标的3389了
对于有些服务,比如SSH,还需要添加-s参数,才能保证连接的时候不会中断.
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍1
Dionaea低交互式蜜罐部署详解
Dionaea(捕蝇草) 低交互式蜜罐是 Honeynet Project 的开源项目,起始于 Google Summer of Code 2009,是Nepenthes(猪笼草)项目的后继。Honeynet Project 是成立于 1999 年的国际性非盈利研究组织,致力于提高因特网的安全性,在蜜罐技术与互联网安全威胁研究领域具有较大的影响力。
Dionaea 蜜罐的设计目的是诱捕恶意攻击,获取恶意攻击会话与恶意代码程序样本。它通过模拟各种常见服务,捕获对服务的攻击数据,记录攻击源和目标IP、端口、协议类型等信息,以及完整的网络会话过程,自动分析其中可能包含的 shellcode 及其中的函数调用和下载文件,并获取恶意程序。
有别于高交互式蜜罐采用真实系统与服务诱捕恶意攻击,Dionaea 被设计成低交互式蜜罐,它为攻击者展示的所有攻击弱点和攻击对象都不是真正的产品系统,而是对各种系统及其提供的服务的模拟。这样设计的好处是安装和配置十分简单,蜜罐系统几乎没有安全风险,不足之处是不完善的模拟会降低数据捕获的能力,并容易被攻击者识别。
Dionaea是运行于Linux上的一个应用程序,将程序运行于网络环境下,它开放Internet上常见服务的默认端口,当有外来连接时,模拟正常服务给予反馈,同时记录下出入网络数据流。网络数据流经由检测模块检测后按类别进行处理,如果有 shellcode 则进行仿真执行;程序会自动下载 shellcode 中指定下载或后续攻击命令指定下载的恶意文件。从捕获数据到下载恶意文件,整个流程的信息都被保存到数据库中,留待分析或提交到第三方分析机构。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Dionaea(捕蝇草) 低交互式蜜罐是 Honeynet Project 的开源项目,起始于 Google Summer of Code 2009,是Nepenthes(猪笼草)项目的后继。Honeynet Project 是成立于 1999 年的国际性非盈利研究组织,致力于提高因特网的安全性,在蜜罐技术与互联网安全威胁研究领域具有较大的影响力。
Dionaea 蜜罐的设计目的是诱捕恶意攻击,获取恶意攻击会话与恶意代码程序样本。它通过模拟各种常见服务,捕获对服务的攻击数据,记录攻击源和目标IP、端口、协议类型等信息,以及完整的网络会话过程,自动分析其中可能包含的 shellcode 及其中的函数调用和下载文件,并获取恶意程序。
有别于高交互式蜜罐采用真实系统与服务诱捕恶意攻击,Dionaea 被设计成低交互式蜜罐,它为攻击者展示的所有攻击弱点和攻击对象都不是真正的产品系统,而是对各种系统及其提供的服务的模拟。这样设计的好处是安装和配置十分简单,蜜罐系统几乎没有安全风险,不足之处是不完善的模拟会降低数据捕获的能力,并容易被攻击者识别。
Dionaea是运行于Linux上的一个应用程序,将程序运行于网络环境下,它开放Internet上常见服务的默认端口,当有外来连接时,模拟正常服务给予反馈,同时记录下出入网络数据流。网络数据流经由检测模块检测后按类别进行处理,如果有 shellcode 则进行仿真执行;程序会自动下载 shellcode 中指定下载或后续攻击命令指定下载的恶意文件。从捕获数据到下载恶意文件,整个流程的信息都被保存到数据库中,留待分析或提交到第三方分析机构。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
❤1
Tomcat的8009端口AJP的利用
Tomcat在安装的时候会有下面的界面,我们通常部署war,用的最多的是默认的8080端口。
可是当8080端口被防火墙封闭的时候,是否还有办法利用呢?
答案是可以的,可以通过AJP的8009端口,下面是step by step。
下面是实验环境:
192.168.0.102 装有Tomcat 7的虚拟主机,防火墙封闭8080端口
192.168.0.103 装有BT5系统的渗透主机
首先nmap扫描,发现8009端口开放
BT5默认apache2是安装的,我们仅需要安装mod-jk
jk.conf软连接到/etc/apache2/mods-enabled/目录
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Tomcat在安装的时候会有下面的界面,我们通常部署war,用的最多的是默认的8080端口。
可是当8080端口被防火墙封闭的时候,是否还有办法利用呢?
答案是可以的,可以通过AJP的8009端口,下面是step by step。
下面是实验环境:
192.168.0.102 装有Tomcat 7的虚拟主机,防火墙封闭8080端口
192.168.0.103 装有BT5系统的渗透主机
首先nmap扫描,发现8009端口开放
BT5默认apache2是安装的,我们仅需要安装mod-jk
jk.conf软连接到/etc/apache2/mods-enabled/目录
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
目前全能型的扫描器主要是wvs(Acunetix Web Vulnerability Scanner)、AppScan、WebInspect,国内的像aisec、bugscan等等…还有国内那些老安全厂商的扫描器就不说了,主要提一下像wvs这种使用率比较高的。另外还有目录文件型的扫描器、注入工具(类似sqlmap、Havij)等等。
扫描器识别主要从以下几点来做:
一、 扫描器指纹(head字段/请求参数值等)
二、 单IP+ cookie某时间段内触发规则次数
三、 隐藏的链接标签(<a>)
四、 Cookie植入
五、 验证码验证
六、 单IP请求时间段内Webserver返回http状态404比例
扫描器指纹(head字段/请求参数值等)
目前最常见的手法就是收集扫描器的指纹特征来做识别,不同的扫描器都有自己的一些特征,比如发出的请求会加一些特定的head 字段,测试漏洞的请求参数的值会带上自己扫描器的名称等。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
扫描器识别主要从以下几点来做:
一、 扫描器指纹(head字段/请求参数值等)
二、 单IP+ cookie某时间段内触发规则次数
三、 隐藏的链接标签(<a>)
四、 Cookie植入
五、 验证码验证
六、 单IP请求时间段内Webserver返回http状态404比例
扫描器指纹(head字段/请求参数值等)
目前最常见的手法就是收集扫描器的指纹特征来做识别,不同的扫描器都有自己的一些特征,比如发出的请求会加一些特定的head 字段,测试漏洞的请求参数的值会带上自己扫描器的名称等。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke