windows安全初探之命名管道
参考文章
https://cloud.tencent.com/developer/article/1625924
https://www.freebuf.com/articles/web/283359.html
https://yangsirrr.github.io/2021/11/04/shi-xian-li-yong-ming-ming-guan-dao-bu-chong-ling-pai-mo-ni/#toc-heading-4
关于命名管道的概念啥的我这里就不写了 参考文章中写的挺详细的 直接去看就行了
关于IPC的话 这个就是进程之间通信的方法 我们在共享目录也能看到
远程管理:
管理员通过 IPC$ 共享来执行远程管理任务,比如远程执行命令、查看和修改系统配置等。
网络登录和身份验证:
在用户通过网络尝试访问共享资源时,系统会使用 IPC$ 共享来进行身份验证。
远程服务和进程间通信:
某些服务和应用程序使用 IPC$ 共享来进行远程通信和数据交换。
作用绕过防火墙这里说的防火墙,是指 windows 系统自带的防火墙,类似于 UAC,需要用户点击允 ...
基于域信任关系的域攻击
在梳理完单域的攻击手法后 于是就打算重新开这一篇文章来写这个关于域森林的文章
参考文章
https://www.geekby.site/2020/05/%E5%9F%BA%E4%BA%8E%E5%9F%9F%E4%BF%A1%E4%BB%BB%E5%85%B3%E7%B3%BB%E7%9A%84%E5%9F%9F%E6%94%BB%E5%87%BB/#%E5%9F%9F%E4%BF%A1%E4%BB%BB
https://www.boundaryx.com/info/2145.html
https://www.t00ls.com/articles-69791.html
前言在实战中单域出现的概率远大于域森林出现的概率,但在一些大型公司或企业可能会见到。本篇主要是针对域控的在复杂内网环境中的攻击方式来进行梳理并且介绍了域信任、利用域信任进行横向移动以及一些在信任利用中涉及到的知识和概念。
(环境就不自己搭建了 图片就照搬上面参考文章的了)
域信任域环境分单域、父子域、域树和域森林,在实战中单域是最常见的,也是相对最简单的,但是想要在域森林中进行横向移动就必须要了解单域中的利用方式和相关 ...
Windows内网渗透-详细
https://security.tencent.com/index.php/blog/msg/154 将Windows内网渗透总结的很好 可以好好学习一下
信息收集在攻陷一台机器后,不要一味的直接去抓取机器密码、去做一些扫描内网的操作,因为如果网内有IDS等安全设备,有可能会造成报警,丢失权限。本节主要介绍当一台内网机器被攻破后,我们收集信息的一些手法。
(一般来说存在在内网中的Windows机器才是会在域中)
(就是不能使用fscan的情况下 因为ids会检测流量)
先查看是否存在域中systeminfo命令就可以进行查看
查看系统进程首先的话我们是建议先使用tasklist查看系统进程 看看有没有杀毒软件这些 然后就生成对应的免杀马上去 进行权限维持住
复制这些进程去杀软识别网站去进行查看
判断是否出网
然后根据杀软来使用特定的免杀来进行权限维持 然后搭建隧道
SPNSPN:服务主体名称。使用Kerberos须为服务器注册SPN,因此可以在内网中扫描SPN,快速寻找内网中注册的服务,SPN扫描可以规避像端口扫描的不确定性探测动作。主要利用工具有: ...
UTF-8 Overlong-Encoding
来学习一下这个知识点 可以用来绕过对java反序列化的检测的WAF
首先我们来看一下序列化后的数据是长什么样的
1234567891011121314package org.example;import java.io.IOException;import java.io.Serializable;public class Evil implements Serializable { static { try { Runtime.getRuntime().exec("calc"); } catch (IOException e) { throw new RuntimeException(e); } }}
完全是可以明文可见的 我们来跟进加一下在反序列化的时候 readObject是如何读取到这个类名的
12345ObjectStreamClass#readNonProxy(Objec ...
Jndi高版本绕过
下面这几篇文章总结的很好了 就不自己写了
https://tttang.com/archive/1405/#toc_dbcp 这个是jndi高版本绕过的方法
https://tttang.com/archive/1611/#toc_jdk_2 这个是解释了jndi并且稍微带了点绕过方法
https://github.com/luelueking/Deserial_Sink_With_JDBC?tab=readme-ov-file#dbcp-h2 JDK高版本RCE的方法(JDBC)
https://exp10it.io/2024/02/n1ctf-junior-2024-web-official-writeup/#derby 在Jndi注入中加入了个Derby的JDBC绕过
https://vidar-team.feishu.cn/docx/PL7IdIkFCoBYhYxxFXVc5j72nKo 这个实战文章中加了个HIKARI 的工厂类
frp-二开
自己二开了个frp 版本0.51.2
https://github.com/ke1nys/frp
大佬们觉得好用的话可以点个star
dotnet Insecure Serialization
https://exp10it.io/2024/02/dotnet-insecure-serialization/#securityexception
前面的介绍上面的链接已经写的很详细了 这里就不写了
下面的反序列化操作全是在序列化的时候 调用getter来进行完成的
.NET FrameworkSettingsPropertyValue序列化时触发 BinaryFormatter 反序列化
先看其getter方法
进入到这个Deserialize函数中去()
这里有两个if判断 并且是有两个反序列化点
this.SerializedValue的值为String类型的话 就会进入到这个GetObjectFromString函数中 这里面的话也可以进行BinaryFormatter反序列化
第二个就是this.SerializedValue为Byte[]类型的话 就会进入到下面的这个BinaryFormatter来进行反序列化操作
刚好这个this.SerializedValue的值就是我们反序列化的内容
最终POC
1234567891011121314 ...
SolarWinds-ActionPluginBaseView-反序列化(CVE-2021–35215)
https://exp10it.io/2024/02/solarwinds-orion-platform-actionpluginbaseview-%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96-cve-202135215/
https://xz.aliyun.com/t/10412?time__1311=mq%2BxBDyDcDuWKGNDQi4%2B0Ybwe7whDGIix
https://testbnull.medium.com/50-shades-of-solarwinds-orion-deserialization-part-1-cve-2021-35215-2e5764e0e4f2
这里的话就直接用他们图里的照片了 就不搭建环境了 因为有点麻烦
(看这个漏洞的时候可以先看看之前的Json.Net和JavaScriptSerializer 有助于这个漏洞的理解)
我们从这开始吧 注意这个control的获取和传参 注意这两点对于我们下面的理解帮助很大
加载 control 对象后调用 ApplyPropertiesAndAttri ...
dotnet-SerializationBinder 绕过
https://y4er.com/posts/dotnet-deserialize-bypass-binder/#cve-2022-23277-of-exchange (Binder原理)
https://exp10it.io/2024/02/dotnet-serializationbinder-%E7%BB%95%E8%BF%87/ (Binder原理加绕过方法)
这两篇文章写的很好了 我就写一点点就行了
SerializationBinder我就来跟一下这个SerializationBinder吧 写一下流程 说明一下Binder使用不当造成绕过
Binder和java中的那个resovleclass过滤黑名单差不多
.Net中是使用Binder来进行过滤的
Demo
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758using System;using System.IO;using System.Ru ...