这里将java反序列化漏洞的payload封装了下,PayloadGeneration.generateExecPayload("calc");会产生一个执行calc命令的对象,有兴趣的可以在我的github上查看源码。然后,将我们的payload发送到RMI服务端口进行攻击。
registry.bind("pwned", r);中r对象必须继承Remote接口。所以这里使用了java动态代理技术来代理Remote接口并生成其对象r。然后使用bind函数将攻击payload发送到RMI服务中,远程执行calc命令,攻击完成。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
同时木马还注册了拦截短信的服务,该服务会拦截短信内容,判断短信发送方的号码是否是以10开头的,如果是,则屏蔽掉该短信,导致中毒手机开通的扣费服务运营商发送的短信回执无法接收到,用户被木马默默开通了扣费服务。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Skeleton Key被安装在64位的域控服务器上
支持Windows Server2003—Windows Server2012 R2
能够让所有域用户使用同一个万能密码进行登录
现有的所有域用户使用原密码仍能继续登录
重启后失效
🍓 Mimikatz(Version 2.0 alpha,20150107)支持 Skeleton Key
微软在2014年3月12日添加了LSA保护策略,用来防止对进程lsass.exe的代码注入,这样一来就无法使用mimikatz对lsass.exe进行注入,相关操作也会失败。
这次不仅测试了Skeleton Key,还介绍了mimikatz的一些隐藏功能,而这些功能并未在其官方说明文档中出现。🥳 🥳 其实通过研究mimikatz的源码,你会发现还有许多的隐藏功能值得挖掘利用。🥳
还是那句老话,只有了解如何攻击才能更好的防御,希望本文无论是对渗透攻击还是防御,均有帮助。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
函数
remap_pfn_range()并不会检查传入的参数,它会完全按照需求的内存起始位置,所需长度,访问权限,去映射页面进用户态。所有这些检查都需要自定义的驱动中实现的mmap函数去完成。Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
kernel与用户态进程拥有不同的逻辑地址空间,kernel所在的页面拥有更高的权限,用户权限是不可以随意更改的,否则岂不是可以改掉自己的权限,为所欲为。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💰💰💰💰💰💰💰💰
1️⃣别百度推广的验证码是我做的第一个验证码识别程序 所以我一直记得很清楚 不是一个二值化就能搞定的 所以说在这个工具中我也加入了同样可以单独处理RGB的功能
🎉🎉🎉🎉🎉🎉🎉🎉🎉
2️⃣由于百度的这个验证码已经访问不了了 所以我找了一个同样有线条的验证码 但是这个验证码线条颜色比文字颜色浅 所以我就用默认的127作为阀值 假设二值化无法搞定
用127阀值上面线条一起被黑化了 但是图片中文字颜色接近黑色而线条颜色却要浅一点 所以判断的时候 可以认为RGB的平均值大于20的就视为背景 就可以这样干
🤔🤔🤔🤔🤔🤔🤔🤔🤔
3️⃣这样线条就被处理掉了 不过这个验证码直接设置阀值就能搞定 只是为了说明所以采用127作为阀值 还有一点这个验证码和百度的那个 他们线条都是在文字的下方 如果是在文字上方 那么同样的超出了这个工具的范围 对于线条在上方的 我想过一些处理方式 假设线条为红色的时候 我在遍历的时候遇到一个红色像素点 我就把红色像素设置为和他相邻像素的非红色的颜色 但是我想了一想这个“相邻”就涉及了它周围八个像素点 我应该取那一个像素点的颜色 如果是在背景上还好 他周围应该都是背景的颜色 那一个都无所谓 可是如果是在线条、背景还有文字的交界处就不好处理了 所以工具里面暂时还没提供这样的功能 还有那种很难分离背景或者字黏贴在一起的但是每个文字都是一个颜色的那种 也想过一些处理方式 但是实现起来我感觉都会纯在一些小问题 所以就还展示没有做 就不扯那么多了 等做好了再来扯 才比较有证据
🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀
1️⃣别百度推广的验证码是我做的第一个验证码识别程序 所以我一直记得很清楚 不是一个二值化就能搞定的 所以说在这个工具中我也加入了同样可以单独处理RGB的功能
🎉🎉🎉🎉🎉🎉🎉🎉🎉
2️⃣由于百度的这个验证码已经访问不了了 所以我找了一个同样有线条的验证码 但是这个验证码线条颜色比文字颜色浅 所以我就用默认的127作为阀值 假设二值化无法搞定
用127阀值上面线条一起被黑化了 但是图片中文字颜色接近黑色而线条颜色却要浅一点 所以判断的时候 可以认为RGB的平均值大于20的就视为背景 就可以这样干
🤔🤔🤔🤔🤔🤔🤔🤔🤔
3️⃣这样线条就被处理掉了 不过这个验证码直接设置阀值就能搞定 只是为了说明所以采用127作为阀值 还有一点这个验证码和百度的那个 他们线条都是在文字的下方 如果是在文字上方 那么同样的超出了这个工具的范围 对于线条在上方的 我想过一些处理方式 假设线条为红色的时候 我在遍历的时候遇到一个红色像素点 我就把红色像素设置为和他相邻像素的非红色的颜色 但是我想了一想这个“相邻”就涉及了它周围八个像素点 我应该取那一个像素点的颜色 如果是在背景上还好 他周围应该都是背景的颜色 那一个都无所谓 可是如果是在线条、背景还有文字的交界处就不好处理了 所以工具里面暂时还没提供这样的功能 还有那种很难分离背景或者字黏贴在一起的但是每个文字都是一个颜色的那种 也想过一些处理方式 但是实现起来我感觉都会纯在一些小问题 所以就还展示没有做 就不扯那么多了 等做好了再来扯 才比较有证据
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
本文仅对SSP的常规用法做了演示,实现了在本地保存域控的账户和密码,而且基于这个思路,可以开发出更多高级的利用方法。
如果站在防御的角度,常规方法已经力不从心,只有更多的了解攻击才能更好的防御。
Security Support Provider Interface,直译为安全支持提供程序接口,是Windows系统在执行认证操作所使用的API。
简单的理解为SSPI是SSP的API接口
LSA:
Local Security Authority,用于身份认证,常见进程为lsass.exe
特别的地方在于LSA是可扩展的,在系统启动的时候SSP会被加载到进程lsass.exe中.
这相当于我们可以自定义一个dll,在系统启动的时候被加载到进程lsass.exe!
如果站在防御的角度,常规方法已经力不从心,只有更多的了解攻击才能更好的防御。
Security Support Provider Interface,直译为安全支持提供程序接口,是Windows系统在执行认证操作所使用的API。
简单的理解为SSPI是SSP的API接口
LSA:
Local Security Authority,用于身份认证,常见进程为lsass.exe
特别的地方在于LSA是可扩展的,在系统启动的时候SSP会被加载到进程lsass.exe中.
这相当于我们可以自定义一个dll,在系统启动的时候被加载到进程lsass.exe!
虽然验证码发展到如今有许多人类都难以识别的状态了,但人有部分老系统使用的验证码异常的简单。还有一些网站由于程序员本身的素质或者缺乏相关图像相关的知识,所以并没有自己写验证码的生成程序,而是直接在网上随便复制粘贴一个Demo级别的代码来用,以达到网站有验证码的目的,而忽略了验证码的强弱性,导致很多网站的验证码都是爆款弱验证码
好吧忽略上面的图继续说
对于那些简单验证码他们的共同点是
标准字体
背景单简单甚至纯色没有背景
字体并没有粘贴在一起
而本文讨论的就是这类的验证码。对于那种连背景都没有的纯色、标准字体、没有黏贴的那种再简单不过了直接就是100%的识别率
如果只有一种无论是那种设定一个阀值都能很好的二值化 但现在的情况却是有两种 所以我能想到的最简单的方式 那好 我就给出两个阀值 对于黑色文字我就用一个较小一点的阀值 对于白色文字我就用一个较大一点的阀值
但是这样还是会出现一个问题 白色文字二值化后背景黑色文字白色 而黑色文字二值化后背景白色文字黑色
好吧忽略上面的图继续说
对于那些简单验证码他们的共同点是
标准字体
背景单简单甚至纯色没有背景
字体并没有粘贴在一起
而本文讨论的就是这类的验证码。对于那种连背景都没有的纯色、标准字体、没有黏贴的那种再简单不过了直接就是100%的识别率
如果只有一种无论是那种设定一个阀值都能很好的二值化 但现在的情况却是有两种 所以我能想到的最简单的方式 那好 我就给出两个阀值 对于黑色文字我就用一个较小一点的阀值 对于白色文字我就用一个较大一点的阀值
但是这样还是会出现一个问题 白色文字二值化后背景黑色文字白色 而黑色文字二值化后背景白色文字黑色
在公钥基础设施体系中,CA负责签发证书,同时,为了维护PKI的完整性,CA也负责吊销证书。当服务器的证书不再合法时(比如服务器提前更换证书、证书的公钥被破解、服务器端存储的证书的私钥泄露等),负责签发这一证书的CA必须要吊销该证书,并通过相关途径将该证书失效信息告知SSL客户端,帮助客户端进行证书合法性校验。CA需要维护它所签发的所有证书的吊销状态。
在客户端建立SSL链接的过程中,服务器会向客户端提供一个证书链作为SSL握手消息的一部分,客户端在校验证书链的过程中,除了检验签名等信息的合法性外,还需要保证证书链中的所有证书均违背吊销,否则链接应该被断开。因此,在吊销证书时,如果被吊销的证书为叶子证书,那么该证书理论上不能通过证书校验;如果被吊销的证书为CA(中间CA或根CA)证书,那么该CA签发的所有叶子证书都不能通过证书校验。通常来说,每个证书都会包含如何检查它是否被吊销的信息,客户端可以根据这个信息来检查该证书是否已被吊销。
在客户端建立SSL链接的过程中,服务器会向客户端提供一个证书链作为SSL握手消息的一部分,客户端在校验证书链的过程中,除了检验签名等信息的合法性外,还需要保证证书链中的所有证书均违背吊销,否则链接应该被断开。因此,在吊销证书时,如果被吊销的证书为叶子证书,那么该证书理论上不能通过证书校验;如果被吊销的证书为CA(中间CA或根CA)证书,那么该CA签发的所有叶子证书都不能通过证书校验。通常来说,每个证书都会包含如何检查它是否被吊销的信息,客户端可以根据这个信息来检查该证书是否已被吊销。
printf还有sprintf,fprintf等等c库中print家族的函数。 我们先来看看printf的函数声明>int printf(const char* format,...)
一般人可能会这么用它
char str[100];
scanf("%s",str);
printf("%s",str);
这个程序没有问题。然后会有一些人为了偷懒会写成这种样子
char str[100];
scanf("%s",str);
printf(str)
printf处用了一种偷懒的写法。这看起来是没有什么问题。但是却产生了一个非常严重的漏洞。千万不要将
printf中的format字符串的操纵权交给用户。保证printf函数的第一个参数是不可变的,在程序员的掌握中的。Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
暴力破解一般有两种应用场景:
暴力破解应用范围非常广,可以说只要需要登录的入口均可以采用暴力破解进行攻击。应用层面如:网页、邮件、FTP服务、Telnet服务等,协议层面如:HTTP、HTTPS、POP3、POP3S、IMAP、IMAPS、SMTP、SMTPS、FTP、TELNET、RDP、QQ、MSN等等。本文仅列举部分常见协议,其它协议情况类似。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM