渗透技巧――使用远程桌面协议建立通道

layout: posttitle: 渗透技巧——使用远程桌面协议建立通道0x00 前言最近从@cpl3h的博客中学到了使用远程桌面协议建立通道的方法。本文将对这个方法进行整理,结合自己的经验,添加个人理解。学习地址:https://ijustwannared.team/2019/11/07/c2-over-rdp-virtual-channels/0x01 简介本文将要介绍以下内容:使用场景使用共享文件建立通道使用rdp2tcp建立通道使用UniversalDVC建立通道利用分析防御建议0x02 使用场景由于防火墙的设置,只能连接一台Windows服务器的远程桌面,那么如何以这台Windows服务器为跳板进入内网简要描述如下图0x03 使用共享文件建立通道通过读写RDP Client和RDP Server之间共享的文件作为数据传输的通道POC:https://github.com/outflanknl/external_c2这是根据Cobalt Strike中External C2规范编写的POC实现原理:建立远程桌面连接时,RDP Client和RDP Server之间可以创建共享文件夹,通过读写共享文件作为数据传输的通道1.Windows系统连接远程桌面并开启文件共享(1)通过配置mstsc.exe开启文件共享如下图(2)使用FreeRDP开启文件共享下载地址:https://cloudbase.it/freerdp-for-windows-nightly-builds/命令实例:wfreerdp /v:192.168.112.129:3389 -u:1 -p:Test123! /cert-ignore /drive:share1,c:\2.Kali系统连接远程桌面并开启文件共享(1)使用xfreerdp开启文件共享将本地文件夹/tmp共享的命令如下:xfreerdp /v:192.168.112.129:3389 /u:1 /p:Test123! /cert-ignore /drive:share1,/tmp(2)使用rdesktop开启文件共享将本地文件夹/tmp共享的命令如下:rdesktop 192.168.112.129 -u1 -pTest123! -r disk:share1=/tmp在RDP Server上,可通过\\tsclient\访问共享 阅读全文 箭头
6个评论-3854个浏览
收藏 收藏

一种新型物联网恶意软件分析案例

译文声明本文是翻译文章,文章原作者Lisandro Ubiedo,文章来源:https://www.stratosphereips.org原文地址:https://www.stratosphereips.org/blog/2020/4/29/rhombus-a-new-iot-malware</p>2020年2月27日,著名的反恶意软件组织MalwareMustDie(MMD)分析并共享了一个他们称之为RHOMBUS的新型恶意软件。该恶意软件针对不同的架构进行了编译,具有持久化机制。在这篇博文中,我们来一起探索这个恶意软件。图1. 在Twitter上发布了MalwareMustDie的调查结果总览本篇文章研究分析的是RHOMBUS的x86-64版本。根据VirusTotal的检测信息,此样本的检测率为4/59(59个AVs中有4个检测出此文件是恶意的)。二进制文件的所有符号信息被删除。尽管程序中存在大量字符串,但是我们并没有找到与恶意软件类型或C&C终端相关的信息。还有一个有趣的地方在于这个二进制文件是一个ELF共享对象,而不是通常的可执行文件,该二进制文件是由两个ELF文件链接组成的。DECIMAL HEXADECIMAL DESCRIPTION0 0x0 ELF, 64-bit LSB shared object, AMD x86-64, version 1 (SYSV)8407 0x20D7 ELF, 64-bit LSB executable, AMD x86-64, version 1 (SYSV)为了弄清这两个二进制文件哪个是dropper,我们着手进行分析。main函数main函数位于偏移量0xef0处,它首先调用了obfuscate_str函数,该函数的作用是对混淆的字符进行还原。然后将函数的返回值当做参数传入open函数,并调用lseek来查找偏移量0x20d7。这是一个线索。下一步需要搞清楚它打开了什么文件?为了解决这个疑问,我们需要弄清楚代码混淆的整个过程,并分离出混淆前后的代码。图2.字符串混淆函数流程图。绿色粗体箭头表示正在逐字符进行反混淆混淆的方法是将原始的字符与给定的字符数组进行一系列运算得到的,运算逻辑如下:original_ 阅读全文 箭头
6个评论-3710个浏览
收藏 收藏

针对RMI服务的九重攻击 - 下

字数:1w5 推荐阅读时间:>2h 前言 再看下RMI反序列化攻击的总结图: 如果觉得有什么出入,喷就完事了; 同时觉得本文对你有帮助,也请留言、评论、关注、一键三连支持你喜欢的up主!你的点赞是我更新的动力!如果这期点赞超过20w,下篇文章直播开..... 咳...在上篇中已经讲述针对已知RMI接口的三种攻击方式与针对RMI层(RMI注册端、RMI服务端)/DGC层,得出了部分结论。 而在下篇中将重点讲述绕过JEP290的引入JRMP的利用方式,这就很好玩了,指出了别的老哥的错误之处,找到了别人没提及的骚姿势,复现分析了老外的绕过方式。 上下篇的小结论是沿用的,建议配合食用;文中实验代码、环境及工具均已上传github。 此外安利下ysomap,如果没有意外的话,之后会陆续把这些攻击方式都移植过去。 利用JRMP反序列化绕过JEP290 在上篇中我们所有攻击方式都给JEP290给干掉了,当然出了参数利用的方式,但是那种利用局限性太强了。来看看绕过JEP290的攻击方式。 先进行攻击演示: 使用github中的ServerandRegister.java作为受害者靶机 运行java -cp F:\BanZ\java\ysoserial.jar ysoserial.exploit.JRMPListener 1199 CommonsCollections5 "calc"作为攻击者自实现的JRMP服务端 运行github中的Bypass290.java作为攻击代码 再来讲绕过原理的前置知识: JRMP服务端打JRMP客户端(ysoserial.exploit.JRMPListener) 这其实就是ysoserial.exploit.JRMPListener模块的攻击逻辑 其实之前标题为DGC服务端打DGC客户端,在别的文章评论区如此说的时候,被老哥指出来不对:这里的漏洞触发跟DGC没关系。 实际去仔细看了调用栈的确不经过DGC,由于自己看的时候是从sun.rmi.transport.DGCImpl_Stub#dirty跳转进去的所以就当成DGC层。 实际上应该归为JRMP层,JRMP是DGC和RMI底层通讯层,DGC和RMI的最终调用都 阅读全文 箭头
4个评论-4038个浏览
收藏 收藏

再谈 PHP反序列化

为了入门JAVA的反序列化,最近一直在总结PHP反序列化相关的东西…于是决定重新写一篇文章,对PHP反序列化的知识进行小结。 三种类属性 Private 权限: 正常 Private 权限属性名: %00类名%00属性名 。且属性名长度改变 Protected 权限属性名: %00*%00属性名 。且属性名长度改变 demo 魔术方法 具体可参考PHP手册: https://www.php.net/manual/zh/language.oop5.magic.php construct 调用条件 :当一个类被初始化为实例时会调用(unserialize()时不会自动调用) destruct 调用条件 :当对象被销毁时会调用 sleep 调用条件 :当一个类调用serialize进行序列化时会自动调用 wakeup 调用条件 :当字符串要利用unserialize反序列化成一个类时会调用 get() 调用条件:当从不可访问的属性读取数据 call()调用条件: 当要调用的方法不存在或权限不足时自动调用 invoke()调用条件: 当把一个类当作函数使用时自动调用 tostring 当反序列化后的对象被当作字符串的时候调用。具体调用场景条件如下(引用自 @k0rz3n) (1) echo ($obj) / print($obj) 打印时会触发 (2) 反序列化对象与字符串连接时 (3) 反序列化对象参与格式化字符串时 (4) 反序列化对象与字符串进行==比较时(PHP进行==比较的时候会转换参数类型) (5) 反序列化对象参与格式化SQL语句,绑定参数时 (6) 反序列化对象在经过php字符串函数,如 strlen()、addslashes()时 (7) 在in_array()方法中,第一个参数是反序列化对象,第二个参数的数组中有toString返回的字符串的时候toString会被调用 (8) 反序列化的对象作为 class_exists() 的参数的时候 CVE-2016-7124 CVE利用目的: 绕过魔法函数__wakeup 版本限制: PHP5 < 5.6.25 | PHP7 < 7.0.10 核心原理: PHP 内核层解析反序列化漏洞 绕过方法: 当序列化字符串中表示对象属性个数的值大于真实的属性个数时会跳过__wakeup的执行 Bypass 阅读全文 箭头
5个评论-4015个浏览
收藏 收藏

实战之另辟蹊径绕过waf并getshell拿下站群

前言 今天本来应该过6.1儿童节的恰巧昨天和mrx渗透的一个站上传还没有绕过早上mrx和我就开始重新看看先说一下背景首先通过弱口令进了后台经过一番寻找发现了如下配置 看到这个已经胸有成竹接下来就是常规的加上php后缀并且上传一波于是我来了一发如下: waiting了很久有waf检测 我直接 cancle了接下来就是有趣的绕waf,我绕了3个小时各种奇葩姿势都弄出来了比如下图 都改成这个鬼样子了 还是过不鸟 尝试过各种一般用的过waf的方法: 1.jpg.php 1.php.jpg 1.php%00.jpg filename=1.jpg filename=1.php Content-Disposition: form1-data; name="Filedata"; filename="3.php" Content-Disposition: form-data; name="filename"; filename="3.jpg" .php filename="垃圾数据 30w".jpg.php 因为系统是windwos的 利用windows特性 文件如果以::$DATA结果那么这部分自动会被去掉 所以配置允许后缀为php::$DATA拿去发包waf直接检测到我改为 ::data 就可以发包但是返回保存出错同理我利用? . 等windows特性尝试绕过(如果这些特殊字符比如? . ! 等在文件名结尾的时候有一定几率被直接去掉)把这些特殊字符作为文件结尾进行尝试结果全部以失败告终失败原因都是和下面这个图片一样 尝试用长文件名截断同样失败 等等等等 还尝试了各种后缀 phtphpphtmlphp3php4php5php6php7aspxasmxaspjspjspx 我的心情如下: 全都告以失败弄到了前一天的晚上12点还是拿不下于是洗澡睡了......... 第二天 也就是 6.1儿童节 又开始一杯茶一包烟一个破站绕一天......... 正文 其实前一天晚上我就想到了这种方法但是嫌麻烦就没试今天没办法了实在是绕不过于是尝试使用这种方法利用内网ip或者是ip白名单来绕过waf,如果两个服务器在同一个内网那么他们之 阅读全文 箭头
9个评论-4203个浏览
收藏 收藏
更多

加载中,请稍候

请求超时,点击重新加载

提问
写文章

装饰 推荐专栏

换一换

数智科技
聊聊大数据
Android应用安全
哈拉少安全小队

装饰 权威推荐

广东省应急响应平台
广东网警
广东省计算机信息网络安全协会
专栏
小密圈

装饰 安全达人

换一换

渡我
wwz998126
爱做饭的程序媛
今天不想洗头
Miraitowaday
Think_IT
忧伤的往事
现实的缘分