Dotnet-Deserialization-06
LosFormatterLosFormatter一般用于序列化存储视图流状态,多用于Web窗体,如ViewState。LosFormatter封装在System.Web.dll中,命名空间为System.Web.UI,使用LosFormatter反序列化不信任的数据会造成RCE。
两个参数的构造方法表示使用”启用mac”和”mac密钥修饰符”来初始化LosFormatter。使用LosFormatter序列化对象仍需要标记[Serializable]
demo
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455using System;using System.IO;using System.Text;using System.Web.UI;namespace LosFormatterDeserialize{ class Program { [Serializable] cl ...
Dotnet-Deserialization-05
https://github.com/Y4er/dotnet-deserialization/blob/main/SoapFormatter.md
https://boogipop.com/2024/02/28/%E3%80%90.NET%20%E5%AE%89%E5%85%A8%E3%80%91ASP.NET%20SoapFormatter%20Deserialization%2004/#0-1-ASP-NET-%E4%BB%BB%E6%84%8F%E7%B1%BB%E5%8A%A0%E8%BD%BD
.Net任意类加载在学习这个SoapFormatter类之前 我们先学习一下这个任意类加载 其实和java是一样的 java中编译的class对应这里的dll
calc.cs
1234567891011121314using System;using System.Windows.Forms;namespace ExpClassLibrary{ public class ExpClass { public ExpClass() ...
Dotnet-Deserialization-04
https://github.com/Y4er/dotnet-deserialization/blob/main/Nancy.md
NancyNancy是一个轻量级web框架,其cookie中NCSRF字段使用binaryformatter进行序列化反序列化,造成rce。本文主要讲解其反序列化漏洞及ToolboxItemContainer攻击链。
直接从GitHub下载nancy的demo案例 https://github.com/NancyFx/Nancy.Demo.Samples
这样就是运行成功了
对这个cookie值进行base64解码后发现
发现是使用binaryformatter进行序列化存储cookie
用yso来生成payload
1ysoserial.exe -f binaryformatter -g ToolboxItemContainer -c calc
执行成功
反序列化点在 Nancy.DefaultObjectSerializer.Deserialize()
Gadgets这里这个yso的链子主要用的是ToolboxItemContain ...
Dotnet-Deserialization-03
https://boogipop.com/2024/02/07/%E3%80%90.NET%20%E5%AE%89%E5%85%A8%E3%80%91ASP.NET%20BinaryFormatter%20Deserialization%2003/
https://github.com/Y4er/dotnet-deserialization/blob/main/BinaryFormatter.md
这一篇文章主要讲的是这个BinaryFormatter
BinaryFormatter这个类其实我们在Dotnet-Deserialization-01的时候就简略的描述过了 他的一些基本参数我们也讲了 序列化的生命周期也讲了 接下来主要讲的就是这个Binder和SurrogateSelector
Binder就相当于我们java中的resolveclass 可以用来设置反序列化类的黑名单
SurrogateSelector就是代理器 在01的时候也讲了一下
Binder 过滤器一个简单的demo
1234567891011121314151617181920212223 ...
Dotnet-Deserialization-02
https://github.com/Y4er/dotnet-deserialization/blob/main/XmlSerializer.md
https://boogipop.com/2024/02/06/%E3%80%90.NET%20%E5%AE%89%E5%85%A8%E3%80%91ASP.NET%20XmlSerializer%20Deserialization%2002/
XmlSerializer12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml.Serialization;namespace XmlDeseri ...
Dotnet-Deserialization-01
https://boogipop.com/2024/02/02/%E3%80%90.NET%20%E5%AE%89%E5%85%A8%E3%80%91ASP.NET%20Deserialization%2001/#04-%E5%BA%8F%E5%88%97%E5%8C%96%E5%92%8C%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
https://github.com/Y4er/dotnet-deserialization/blob/main/dotnet-serialize-101.md Y4er师傅三年前的文章了
这里简单将要 其实.Net主要就是C# 这么理解也行 .Net是参考java改过来的 其中SDK对应java的JDK
jvm对应clr,java se runtime对应 .net framework,java对应C#
(这个其中的namespace和php里的差不多 所以说学过php和java的再来学这个.Net的话 应该比较好入门)
这里用的是ID ...
西湖论剑2024-Web部分
环境都关了 自己搭个简陋的来测试
参考
https://mp.weixin.qq.com/s/KiP3jU1WghdBXLMDpb3FJQ
Ezinject./git泄露 githack下载源码下来
这就是个逻辑问题 tmd 当时困住了一会 session我们是无法进行修改的 那么我们就从其逻辑下手 先让ua为空报错 进入到catch中 使其loginOk不为null 为false 那么再次进入try的时候 我们就能直接进入到else中 使loginOk为True从而可以执行命令
这个command我们可控 重点就是讲这里了 他使用的expect命令来执行call.sh
使用的使tclsh来进行解析 和别的bash还是有点不同的
password固定了 那么我们现在就剩这个 port和host还有dir可控了 因为在expect中执行命令需要system开头 那么port就被占用了 我们就剩host和dir了 我们本地进行演示一下 靠 xx test -d xx 能不能执行命令
这样是可以正常执行的 后面的参数对echo ...
Windows-权限维持
1a90164da2a38547586d85c848ea2323222d0e46fa1675f882197beed51e34da0c8cff1162233818267a449fcea6f4f58fc80e134df318d09707c260fda36c3f187212d27a9def4ed6d987b39d43c97a1042e66b08e9b18925188b1f1b3687d355c7da3d239fece51f167d950d66ffc83d41f09ca01d0bd3146852ac7476ef8f8b8c99aeca514e6cd1fd28d6c74f87dc8316a2890a2caa4be5893992378c0218a646b16f375b107511f89b3f5789da365dbe376dd8af71330af8d7a2f9bf66b3e51403d00e3a8c80877b5c6dfe1d45b4ab83d31be8e538dd4403acb57a0071c7ec3d42377be8a64ed2967007b4222f1ef015477bd2e27659f ...
后渗透-远控RDP
前言这里主要就是介绍向日葵和toDesk
https://github.com/wafinfo/Sunflower_get_Password 向日葵解密验证码工具
https://github.com/RuoJi6/Deskbypass/tree/main 远控软件
查找进程命令 tasklist | findstr ToDesk
kill掉进程命令 taskkill /f /pid 9908
(这里用toDesk举例)
向日葵这里分为绿色版(SOS版)和安装版 如果目标机器上没有的话 可以尝试上传绿色版(可以免安装)
对于高版本来说 配置文件里已经不包含识别码和验证码了 但是可以在注册表中查看
对于12.5.3以上的版本的话 全部都不通用了
但是对于高版本来说 有一招就是读内存的方法 就是读lsass文件 里面存着windows下的所有账号密码
这也是得需要system权限的
向日葵绿色版可以免安装直接使用
但是这里的话得用管理员权限才行(SYSTEM) 不然会弹UAC
如果用管理员权限打开的话就不会出现这个问题
直接就可以运行 ...
TryHackMe-K8s
Kubernetes for Everyonefscan 输出结果
123456789101112131415start infoscan(icmp) Target 10.10.58.32 is alive[*] Icmp alive hosts len is: 110.10.58.32:111 open10.10.58.32:22 open10.10.58.32:3000 open10.10.58.32:5000 open10.10.58.32:6443 open[*] alive ports len is: 5start vulscan[*] WebTitle: http://10.10.58.32:5000 code:200 len:887 title:Etch a Sketch[*] WebTitle: http://10.10.58.32:3000 code:302 len:29 title:None 跳转url: http://10.10.58.32:3000/login[*] WebTitle: https://10.10.58.32:644 ...