自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 收藏
  • 关注

原创 Conntroller内存马详解(3)

【代码】Conntroller内存马详解(3)

2024-05-06 02:45:00 450

原创 Conntroller内存马详解(2)

handler是一个Object类,及自定义的Controller类的实例对象。这里主要是通过register进行注册Controller。自定义的Controller类方法的method类。下面看一下RequestMappingInfo类。这里主要是映射关系,需要配置url和方法的方式。可以看到register方法的三个参数的类型。

2024-05-05 02:15:00 316

原创 Conntroller内存马详解(1)

【代码】Conntroller内存马详解(1)

2024-05-04 00:15:00 283

原创 基于框架漏洞的代码审计实战(3)

漏洞进行代码审计的一部分经验。

2024-05-03 05:15:00 314

原创 基于框架漏洞的代码审计实战(2)

在php中phar文件生成有一窜常用的代码,记住即可,唯一要注意的是,要反序列化的对象,在本文就是反序列化利用链。

2024-05-02 07:45:00 417

原创 基于框架漏洞的代码审计实战(1)

某开源项目最新版的CMS,该漏洞已提交至CNVD。

2024-05-01 04:30:00 1238

原创 利用NetBIOS欺骗攻击盗取hash(3)

这里我总结一下能够利用LLMNR和NetBIOS进行欺骗的前提如下:必须在受害计算机上启用 NetBIOS 或 LLMNR。此外,受害计算机上的防火墙必须允许此流量进入机器,默认情况下,机器使用端口 UDP 137、UDP 138、TCP 139、TCP 5355 和 UDP 5355。攻击者系统必须与受害计算机位于同一网段(本地子网)。本质上,攻击者计算机必须能够接收到受害计算机的流量。NetBIOS最常用的三个端口就是137、138、139。

2024-04-30 09:15:00 588

原创 利用NetBIOS欺骗攻击盗取hash(2)

在使用传输控制协议 (TCP) 和互联网协议 (IP) 堆栈的网络(包括当今大多数网络)上,需要将资源名称转换为 IP 地址以连接到这些资源。因此,网络需要将“resource.domain.com”解析为“xxxx”的 IP 地址,以便准确知道将流量发送到何处。Microsoft Windows 客户端在尝试将名称解析为地址时遵循一系列方法,在成功将名称与 IP 地址匹配时停止搜索。当计算机请求网络资源时,它通常遵循下面指定的查询层次结构(使用略有不同的配置)来识别目标资源。一旦名称被识别,它就会停止。

2024-04-29 06:15:00 793

原创 利用NetBIOS欺骗攻击盗取hash(1)

网络基本输入输出系统,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,Netbios是一种应用程序接口(API),系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,几乎所有的局域网都是在NetBIOS协议的基础上工作的。NetBIOS也是计算机的标识名称,主要用于局域网内计算机的互访。NetBIOS的工作流程就是正常的机器名解析查询应答过程。

2024-04-28 04:45:00 294

原创 域内批量获取敏感文件(下)

接下来直接文件夹搜索password或者vpn等关键字即可。同理要获取DEF盘,这里就举例D盘。这里我们在08这台域机器桌面存放文件。

2024-04-25 09:45:00 224

原创 域内批量获取敏感文件(上)

域内如果我们要获取指定机器,恰巧那台机器为linux只开了22等端口或者说无法从常规web打点进入,我们可以寻找运维机器的密码本,一台一台翻的话成本太高,就可以通过批量获取域内桌面文件。一般来说it机器都为工作机而非服务器,可能存在下班关机等情况,如果大多机器处于关机情况下,就会浪费比较多的时间,所以优先判断存活是很有必要的。,获取机器是3个一排,然后可以通过正则删除空格,每次也麻烦,直接获取机器名更加方便。自动化工具,当然就要全自动,懒人必备。目录,如果存在该目录创建机器名。

2024-04-24 09:15:00 260

原创 关于某次授权的大型内网渗透测试(3)

(1)可以通过添加域管理员来上线域内的所有主机(2)可以通过cs来进行进程注入or进程迁移,来实现本机system权限的获取(3)此次实战的密码喷洒尤为重要,所以有机器用户的hash一定要进行抓取(4)SPN服务横向可以通过打邮服来进行获取域控权限(5)学习了权限维持的方法(开机自启动、winrm的横向和psexec的横向)(6)此次通过内网渗透,虽然打了邮件服务器,但是没有通过邮件服务器来拿下DC的权限。(7)没有通过SPN票据横向拿下对应的服务器,比如MSSQL的和CIFS的。

2024-04-23 09:45:00 383

原创 关于某次授权的大型内网渗透测试(2)

潦草的扫描到了ftp的匿名登陆,没有扫描到其他有用信息。这里就不放其他几个段的截图,都没扫描到啥有用的信息。可以发现当前是直接被DC2所归属,这里查下主控制器。我先进行了DC段和本机段存活主机的探测,这里直接利用cs的插件(portscan)因为前期拿到了边缘机,这里查看systeminfo,发现是2012R2的主机。这里经过ping之后发现,域控不是都在同一个网段,应该是如下的结构。这里去cs的target去查看扫描到的主机,这里发现大量主机。这里直接做完hashdump之后发现。

2024-04-22 06:15:00 215

原创 关于某次授权的大型内网渗透测试(1)

直接发现头像处任意文件上传,这里直接上传冰蝎即可。

2024-04-21 07:45:00 266

原创 域内批量解析chrome浏览器

遍历users目录如果存在```C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default``如果存在创建机器名文件夹以及对应的用户名文件夹。我们按照之前的获取域内文件同理的方法,这里就不过多讲解了。直接把内容写进out目录的Bookmarks文件了。如果存在就继续创建History文件,同理书签和密码保存位置。为1说明目标开启了不保存该网站密码,反之则保存。目录内的所有文件为文本形式。目录所有机器,创建对应的机器目录。

2024-04-20 08:45:00 312

原创 SPN的相关利用(下)

kerberos通信过程:在TGS-REQ中会发出ST服务票据获取servicePrincipalName(SPN),该SPN是用户或者机器用户注册的。TGS-REP中TGS会返回给user一个ST,而ST是由user请求的server的密码进行加密的,我们可以从TGS-REP中提取加密的服务票证来进行离线解密。

2024-04-19 12:15:00 338

原创 SPN的相关利用(上)

服务主体名称(SPN)是服务实例,可以理解为一个服务,比如mssql,http等等的唯一标识符。如果在整个林或域中的计算机上安装多个服务实例,则每个实例都必须具有自己的 SPN,Kerberos 身份验证使用 SPN 将服务实例与服务登录帐户相关联。

2024-04-18 12:15:00 375

原创 内核层 SSDT Hook

31 30 29 28 19 18 17 16 15 6 5 4 3 2 1 0 PG CD NW AM WP NE ET TS EM MP PE 将WP位从1改为0来关闭写保护。可以通过将 ZwOpenProcess 的第二个参数改为0(访问权限为拒绝访问)来保护进程。2.在函数找SSDT表的路上jmp到新的SSDT表(360是这样的)SSDT表的物理页是只读的,想修改SSDT表需要先对寄存器进行操作。通过 SSDT Hook 保护进程。

2024-04-17 11:45:00 230

原创 用户层 UnHook(x86)

大部分Windows API都会在ntdll找调用号进入内核,所以杀软3环钩子一般在ntdll。1.从磁盘加载干净的ntdll。2.获取从内存加载的ntdll。3.找到代码段进行覆盖。

2024-04-16 10:45:00 206

原创 用户层 Inline Hook

不能直接jmp,要用mov、jmp,占 12 字节。

2024-04-15 11:45:00 170

原创 syscall的检测与绕过(下)

此时你的流程是主程序模块->kernel32.dll->ntdll.dll->syscall,这样当0环执行结束返回3环的时候,这个返回地址应该是在ntdll所在的地址范围之内。syscall也可以不直接写写死在文件种,比如先用垃圾指令写死在文件中,然后在运行的时候对这些垃圾指令进行修改重新为syscall,达到静态绕过的效果。此时当ring0返回的时候,rip将会是你的主程序模块内,而并不是在ntdll所在的范围内,这点是很容易被检测也是比较准确的一种检测方式。当你正常的程序使用系统调用的时候。

2024-04-14 09:45:00 697

原创 syscall的检测与绕过

通过汇编直接NtCreateThreadEx在函数种通过syscall进入ring0。此时的调用是非常明显的,能看到Ntdll中NtCreateThread的调用。此时直接通过我们的主程序进入ring0。通过procmon进行监控。

2024-04-13 10:00:00 428

原创 Execute-Assembly(3)

绕过前面检测的最简单的思路就是Patch ETW。而我想的是使用BOF进行Bypass ETW 以及Assembly加载。BOF主要需要实现两个点,第一实现ByPass ETW,第二需要实现Assembly加载。在官方的文档Beacon Object Files中,详细描写了怎么使用CNA和BOF。参数$1表示的是当前会话的ID。Alias的参数有3个。表示会话ID,第二个参数是传入参数的类型,参数类型如下。从第三个参数就是传入的参数。第三个参数是入口点函数。$0 是我们起的别名和传输的参数。

2024-04-12 11:30:00 453

原创 Execute-Assembly(2)

根据之前的Execute-Assembly的实现原理,可以预测到Execute-Assembly主要有3个检测点。第一个检测点是加载CLR环境,第二个检测点是加载程序集,第三个检测点在于执行入口点的地方。在我看来,第一第二个检测点是比较好实现的。

2024-04-11 11:30:00 681

原创 Execute-Assembly(1)

在odzhan的Shellcode: Loading .NET Assemblies From Memory所描述的那样,.Net Framework随着版本的更新,使用了不同的接口,.Net Framework V1.0 采用的是。然后到了.Net Framework v4.0,则使用了。,但是可能不再兼容4.0以下的.Net Framework。我们可以使用多个函数进行接口的实例化,最常见的可能属。1 加载CLR环境 2 获取程序域 3 装载程序集 4 执行程序集。并不是一个非常合适的接口。

2024-04-10 11:00:00 370

原创 某211大学src挖掘

这次测试难度不算高,花某感觉主要是比较看信息收集能力,有大佬之前说过信息收集质量决定渗透质量果然不假。

2024-04-09 12:00:00 1599

原创 记一次渗透测试(2)

这里因为是linux的原因,就不使用cs上线的打法了,先生成一个linux的payload上线到msf运行之后会给出一个payload将payload复制到centos执行可以看到反弹session已经成功。

2024-04-08 11:17:54 393

原创 记一次靶场渗透测试(1)

本环境为黑盒测试,在不提供虚拟机帐号密码的情况下进行黑盒测试拿到域控里面的flag。

2024-04-07 10:00:00 865

原创 如何编写属于自己的第一个exp

在我们找到一个漏洞之后,可能会想着去fofa上搜语法进而扩大战果,而有些漏洞利用起来十分繁琐,这时候就需要一个exp来批量帮我们进行扫描工作,接下来就介绍一下如何进行exp的编写,这个过程中最重要的还是体现编程思想。

2024-04-06 10:00:00 1246

原创 phpmyadmin页面getshell(3)

这里有一个地方需要注意的是需要写入到绝对路径,而在php环境下有许多种得知绝对路径的方法,以下就简单拓展几种。

2024-04-05 10:00:00 369

原创 phpmyadmin页面getshell(2)

查看mysql的日志状态,默认是关闭的,因为这个日志的量非常大对资源是一个比较大的开销general_log_file为日志保存的位置。

2024-04-04 10:30:00 461

原创 phpmyadmin页面getshell

来到phpmyadmin页面后如何getshell呢?下面介绍两种方法。

2024-04-03 12:00:00 567

原创 小白的第一次sql注入实战

前言当时最初接触安全的时候拿下的第一个shell,还是比较兴奋的,忽略一下文章写的很水。有id尝试sql注入找这种sql注入的站用sql检索就行了,但是最好挂代理用谷歌搜索,百度的话搜sql注入的很多被别人打过了,导致链接重置。

2024-04-02 12:00:00 875

原创 SEH异常之编译器原理探究(3)

可以发现线程也是从开始的然后跟进调用可以发现还是注册了一个异常处理函数还是去IDA里面看函数,发现也注册了一个SEH异常的函数。

2024-04-01 10:30:00 221

原创 SEH异常之编译器原理探究(2)

参数,指向异常处理过滤的代码的地址,但是这里是0。只要这个地方的地址为0就是。全局展开就是一层一层的向上找异常处理函数,函数,该函数内容比较杂乱,其大体流程如下。我们探究一下实现的原理,这里本来应该是。结构体中是什么代码,都会执行。

2024-03-31 09:30:00 334

原创 SEH异常之编译器原理探究(1)

调用这个异常处理函数,这里并不是每个编译器的异常处理函数都是相同的,然后存入结构体,将esp的值赋给fs:[0],再就是提升堆栈的操作每个使用的函数,不管其内部嵌套或反复使用多少,都只注册一遍,即只将一个挂入当前线程的异常链表中(对于递归函数,每一次调用都会创建一个,并挂入线程的异常链表中)。可以看到只有一个异常处理函数那么这里编译器是如何做到只用一个异常处理函数的呢?编译器把原来结构进行了拓展,添加了三个成员新堆栈结构如下。

2024-03-30 10:30:00 372

原创 基于资源的约束委派(下)

在强制身份验证中, WebDAV 可以代替 SMB,通过以下格式的 UNC 路径访问攻击者的 HTTP 服务器:尽管这种路径与 SMB 协议中默认的 UNC 路径差别很小,但带来的影响非常巨大。效果上最明显的区别在于,客户端不再使用 SMB 协议,而是会使用HTTP 协议(WebDAV),从而在 Relay To LDAP/s 中绕过签名。并且,这样做还有一个好处就是攻击者的 HTTP 服务器可以在任何端口上运行,从红队的角度来看,这提供了很大的灵活性,其允许我们避免处理已经绑定的 SMB 端口。

2024-03-29 12:00:00 1029

原创 基于资源的约束委派(中)

iis以机器账户请求域内资源,对其机器本身有WriteProperty权限,可以设置自身的msDS-AllowedToActOnBehalfOfOtherIdentity 字段来设置基于资源的约束委派。基于资源的约束委派通过修改自身msDS-AllowedToActOnBehalfOfOtherIdentity字段达到委派的目的,默认把这台域机器拉入域的域 用户有这个权限,还有谁有?利用这一特性可以直接使其连接到域控的ldap设置基于当前机器的基于资源的约束委派,造成当前域机器沦陷。

2024-03-28 12:00:00 898

原创 基于资源的约束委派

跟上面一样,alice-station由alice拉入域中,所以alice具有alice-station$域用户的 **msDS-AllowedToActOnBehalfOfOtherIdentity的 WriteProperty权限。(1).creator-sid 用户:alice-workstation$由alice拉入域中,则alice默认就具有alice-workstation$的Account Restriction的WriteProperty权限。导入票据并获得一个wmi的交互式shell。

2024-03-27 12:15:00 760

原创 巧用cpl文件维权和免杀(下)

这里上传的文本,shellcode没有做任何的处理,查杀率已经算比较低的,如果混淆一下,很轻松的就可以静态过杀软,再用白加黑,是不是想想就很轻松呢。绕过的方式有很多,这里只讲cpl文件 完全可以把代码写入到cpl文件中,同样达到执行目的,这里就弹一个cmd。这样肯定是不够的,可以把这个cpl文件当作一个后门,做到一个权限维持的效果,且比较隐蔽。如果目标主机有杀软,可以通过该方法白加黑绕过,但是msf的cpl文件特征非常明显,静态太概率都会被杀掉。开启Applocker规则: 打开计算机管理,选择服务,将。

2024-03-26 12:00:00 461

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除