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
单IP+ cookie某时间段内触发规则次数
根据某个IP+ cookie某时间段内触发waf拦截规则的次数大于设定的某个阀值,比如在20秒内,某个IP+cookie触发waf拦截规则10次。
另外还可以根据IP+user angent等,或者更多维度。
隐藏的链接标签等()
扫描器的爬虫会把页面里面的所有链接都抓出来去做漏洞探测,特别是现在基于webkit一类的扫描器,能够渲染css跟js,可以爬出更多的链接测试。
形式,人是点击不到的,只有软件能够匹配出这个地址,我们新建一个网页,抓扫描器数据包测试。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
根据某个IP+ cookie某时间段内触发waf拦截规则的次数大于设定的某个阀值,比如在20秒内,某个IP+cookie触发waf拦截规则10次。
另外还可以根据IP+user angent等,或者更多维度。
隐藏的链接标签等()
扫描器的爬虫会把页面里面的所有链接都抓出来去做漏洞探测,特别是现在基于webkit一类的扫描器,能够渲染css跟js,可以爬出更多的链接测试。
形式,人是点击不到的,只有软件能够匹配出这个地址,我们新建一个网页,抓扫描器数据包测试。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
WooYun: Like团用户信息泄露+越权漏洞(可获取大量用户住址联系信息)
本人不做开发,sql语句比较弱,大牛勿喷,此处只是为了说明问题。大家可以看到,以上语句都涉及where,而后面的userid或username即是越权的突破口。在操作数据库时功能请求中往往会带着一些参数来用于辨别信息的唯一值。而这些参数就是我们越权时需要注意的。
在web开发中判断用户身份的字段往往是不会在客户端传递的。用户登录系统后,开发人员一般会创建一个session来保存用户名。当用户在查看、修改个人信息等需要判定用户身份时,就直接从session中获取,而不会在客户端传递,也就避免了篡改。但若出现从客户端传递的话,那么就必须要有一步权限验证的要求了。所以在测试越权时要用抓包工具截获请求,细览下可能存在辨别信息的唯一值,来进行测试。这里要说一点,传输的参数并不一定在请求参数中,也有可能存在链接等位置。
打开fiddler2按f11,截断大号上更新用户信息请求。(查看参数可以选择fiddler中Inspects下的WebFroms或TextView。只有在截断的情况下,才可以修改请求。)
判断出可能辨别用户身份的参数ulogin。
步骤3:将小号中ulogin的参数值替换为大号的,然后解除fiddler截断(shift+f11),将请求放过去(),查看下大号用户信息是否更改。
以上即是常规的测试方法。大家可以看到消耗时间的麻烦在辨别参数上、对比大号和小号请求有何不一样的参数值上、切换浏览器查看数等等。如果遇到更改删除等功能,还要两端各自新建出数据、查看id等等、麻烦的要死。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
本人不做开发,sql语句比较弱,大牛勿喷,此处只是为了说明问题。大家可以看到,以上语句都涉及where,而后面的userid或username即是越权的突破口。在操作数据库时功能请求中往往会带着一些参数来用于辨别信息的唯一值。而这些参数就是我们越权时需要注意的。
在web开发中判断用户身份的字段往往是不会在客户端传递的。用户登录系统后,开发人员一般会创建一个session来保存用户名。当用户在查看、修改个人信息等需要判定用户身份时,就直接从session中获取,而不会在客户端传递,也就避免了篡改。但若出现从客户端传递的话,那么就必须要有一步权限验证的要求了。所以在测试越权时要用抓包工具截获请求,细览下可能存在辨别信息的唯一值,来进行测试。这里要说一点,传输的参数并不一定在请求参数中,也有可能存在链接等位置。
打开fiddler2按f11,截断大号上更新用户信息请求。(查看参数可以选择fiddler中Inspects下的WebFroms或TextView。只有在截断的情况下,才可以修改请求。)
判断出可能辨别用户身份的参数ulogin。
步骤3:将小号中ulogin的参数值替换为大号的,然后解除fiddler截断(shift+f11),将请求放过去(),查看下大号用户信息是否更改。
以上即是常规的测试方法。大家可以看到消耗时间的麻烦在辨别参数上、对比大号和小号请求有何不一样的参数值上、切换浏览器查看数等等。如果遇到更改删除等功能,还要两端各自新建出数据、查看id等等、麻烦的要死。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Hibernate对注入的简单
前段时间遇到一个使用了Hibernate框架的站,以前没怎么接触过(由于是Java盲,所以大家勿喷),再注入的事情发生了许多奇奇怪怪的事情,于是向本地搭一个看看是个神马情况。Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询。
本次测试的环境是JDK5.0+Tomcat8+Hibernate3.0+Servlet。
通过百度知道Hibernate的查询大概有5、6种,通过分析对注入能产生不同影响的应该有如下三种:
1、HQL方式
2、原生SQL方式
3、Criteria方式
重点是HQL方式,HQL相当于Hibernate自己有一套SQL语法,在用Hibernate作为查询中间层的时候,它会将你写的HQL翻译成对应数据库的SQL语句,Hibernate支持N种数据库。
会一丢丢Java的童鞋都知道Hibernate的使用流程
首先要告诉Hibernate数据库的连接信息,hibernate.cfg.xml文件
其实是映射你想使用的数据表(系统会按照表明自动生成文件,比如我的Userlist表会生成Userlist.hbm.xml),Userlist.hbm.xml文件:
分别将ID、USERNAME、USERPWD列映射为id、username、userpwd,而在实际环境中,开发者可能映射成他们喜欢的名字。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
前段时间遇到一个使用了Hibernate框架的站,以前没怎么接触过(由于是Java盲,所以大家勿喷),再注入的事情发生了许多奇奇怪怪的事情,于是向本地搭一个看看是个神马情况。Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询。
本次测试的环境是JDK5.0+Tomcat8+Hibernate3.0+Servlet。
通过百度知道Hibernate的查询大概有5、6种,通过分析对注入能产生不同影响的应该有如下三种:
1、HQL方式
2、原生SQL方式
3、Criteria方式
重点是HQL方式,HQL相当于Hibernate自己有一套SQL语法,在用Hibernate作为查询中间层的时候,它会将你写的HQL翻译成对应数据库的SQL语句,Hibernate支持N种数据库。
会一丢丢Java的童鞋都知道Hibernate的使用流程
首先要告诉Hibernate数据库的连接信息,hibernate.cfg.xml文件
其实是映射你想使用的数据表(系统会按照表明自动生成文件,比如我的Userlist表会生成Userlist.hbm.xml),Userlist.hbm.xml文件:
分别将ID、USERNAME、USERPWD列映射为id、username、userpwd,而在实际环境中,开发者可能映射成他们喜欢的名字。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
用Fiddler2截断大号的请求,把小号的cookie覆盖大号的cookie,进行测试。如果改变了大号的数据则说明越权,然后在分析是哪个参数造成的。如果未改变,则说明不存在越权,该功能直接越过。小号的cookie一直在剪贴板中的,所以在测其他功能会非常方便。用不了多长时间,即可测试完整个站点下的功能。
我们来看这个方法的优点:1不用去辨别哪个参数是辨别身份的;2不用两个账户同时去创建数据;3不用去查看小号id;4单浏览器即可测试,免去切换浏览器的烦恼。这就是我常用的方法,个人感觉已经很高效了,是不是觉得跟XSS窃取了cookie后劫持浏览器的感觉一样?但是此方法并不是对所有站点都起作用,有时你会发现小号会把大号挤出去进入大号的浏览器或者登陆状态消失,直接退出。具体什么原因造成的,我现在还不太清楚,估计是服务器端有对cookie的判断吧,希望大牛们能给出合理的解释。不过在测试大部分站点时此方法还是很好用的。顺便说一下Fiddler2是一个非常好用的抓包工具,熟练使用这个工具也是测试越权时的必要技能。小白们可以自行百度下其使用方法。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
我们来看这个方法的优点:1不用去辨别哪个参数是辨别身份的;2不用两个账户同时去创建数据;3不用去查看小号id;4单浏览器即可测试,免去切换浏览器的烦恼。这就是我常用的方法,个人感觉已经很高效了,是不是觉得跟XSS窃取了cookie后劫持浏览器的感觉一样?但是此方法并不是对所有站点都起作用,有时你会发现小号会把大号挤出去进入大号的浏览器或者登陆状态消失,直接退出。具体什么原因造成的,我现在还不太清楚,估计是服务器端有对cookie的判断吧,希望大牛们能给出合理的解释。不过在测试大部分站点时此方法还是很好用的。顺便说一下Fiddler2是一个非常好用的抓包工具,熟练使用这个工具也是测试越权时的必要技能。小白们可以自行百度下其使用方法。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
由“正方”jiam、jiemi之逆向思及Base64之逆编码表
经常遇到基友求助类似Base64编码的解码(先不说是不是Base64,下文会做说明)。如:p6FDpXlnQ1tHlLZK+NvA1hwfeND8NdXt1q6whqP6WODTEBP4UzzjnDQ== 这个很像Base64编码吧,但你用标准Base64去解码得到的结果明显不是想要的(这个有N多可能)。
再议“正方”之jiam、jiemi
为什么是再议呢?因为正方教务系统的“加密”、“解密”运作方式早已被讨论N多次了,网上甚至可以找到此算法的N多版本(可自行Baidu、Google)。 两个典型的场景是:
① 有多组密文,已知几组密文对应的明文和加密算法,但是由于无法获得加密所使用的Key,无法解密其它密文。
② 由系统某缺陷可以获得加密后的密文(当然明文是自己的密码这个是可控的),获得了别人的密文后由于无Key,无法解密。
为了研究此算法尝试逆得Key,我决定再写个VB版的。由于事先已从网上查知算法位于/bin/zjdx.dll中,所以找起来就简单了,网上找得一份“源码”使用Reflector载入zjdx.dll,由登录页Default2跟进到jiam方法如图
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
经常遇到基友求助类似Base64编码的解码(先不说是不是Base64,下文会做说明)。如:p6FDpXlnQ1tHlLZK+NvA1hwfeND8NdXt1q6whqP6WODTEBP4UzzjnDQ== 这个很像Base64编码吧,但你用标准Base64去解码得到的结果明显不是想要的(这个有N多可能)。
再议“正方”之jiam、jiemi
为什么是再议呢?因为正方教务系统的“加密”、“解密”运作方式早已被讨论N多次了,网上甚至可以找到此算法的N多版本(可自行Baidu、Google)。 两个典型的场景是:
① 有多组密文,已知几组密文对应的明文和加密算法,但是由于无法获得加密所使用的Key,无法解密其它密文。
② 由系统某缺陷可以获得加密后的密文(当然明文是自己的密码这个是可控的),获得了别人的密文后由于无Key,无法解密。
为了研究此算法尝试逆得Key,我决定再写个VB版的。由于事先已从网上查知算法位于/bin/zjdx.dll中,所以找起来就简单了,网上找得一份“源码”使用Reflector载入zjdx.dll,由登录页Default2跟进到jiam方法如图
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke