关于蚁剑免杀学习

1
当我们直接使用蚁剑这种比较出名的shell管理工具,在一些防护比较严的情况下,可能过一会会就被发现甚至关站,因此去除蚁剑的特征或者对shell免杀都是特别重要的,我之前并未接触过这方面的知识,写这篇文章的目的就是记录自己学习的一个过程,所以开始吧。

我认为特征处理有几个部分吧,一个是静态代码特征,比如我们直接使用蚁剑的马,这种马如果我们没有进行过任何处理直接上传就非常有可能在上传的时候被干掉,也就是说如果在上传的时候就被干掉了,或者上传之后被干掉了,问题都出在传的马被杀了。还有一种情况就是我们的马传上去了,而且也能访问到,然后使用蚁剑连接的时候发现连接被阻断同时马被杀了,这个就是流量方面的特征的问题了。

关于渗透经典案例的思考

1
2
最近刚好要做一次分享,要用到自己以往的项目经历,但是我经过了仔细呢思索,翻了翻之前的项目笔记,
发现竟然没有非常经典的渗透案例,也是非常的失望,工作这么久竟然连一点拿的出手的项目经历都没有。

​ 既然要谈谈经典的渗透案例,那先得说说什么样的渗透是经典的。第一点,不常规的思路。如果是通过非常常规的思路,比如注入,后台,上传,这个过程中如果非常的顺利,那这个项目就不是一个经典的案例,因为这个全是新手都知道的东西。第二点,稍微有些复杂的攻击链。

关于Malleable C2的学习总结

​ 通过之前我们对于CobaltStrike的Beacon通信流程分析,我们可以看到CobaltStrike在使用心跳包发送active和match,执行命令的返回结果通过请求submit.php来进行传输,而且我们通过这两个包发送和接收的也是一些加密的内容,因此可能有些杀软可能会对这样的请求进行拦截,如果这样,那么无论我们之前对shellcode怎么免杀,只要和服务端产生一些通信,那么都有可能被拦截,因此我们需要修改掉这些流量特征,好在CobaltStrike已经给我们提供了这样的功能,那就是malleable C2。

关于cobaltstrike微信上线通知的学习

前言

​ 有时候渗透中我们可能需要对一些目标进行钓鱼,常用的就是使用邮件进行钓鱼,但是邮件钓鱼有一个问题,就是实时性不高,可能我们发了邮件,目标很久才会点,如果目标上线后我们没有及时进行利用或者权限维持,等我们再去看可能目标已经丢了,再想让目标点击上线已经不容易了,这就导致我们之前所做的事情功亏一篑,因此我们需要某种方法,让我们能随时知道目标是否上线,也不用一直盯着电脑。

​ 经过查找网上的资料,发现已经有人实现了通过server酱和CS扩展脚本来让目标上线后进行微信提醒的功能。

关于cobaltstrike通信流程的分析

​ 之前我们了解了关于cobaltstrike shell生成的过程,接下来我们一起了解一下cobaltstrike的stager具体是如何工作的,它在目标主机执行后是如何和我们的服务端进行通信的。

基本概念

​ 在我们分析cobaltstrike的通信过程之前,首先需要了解cobaltstrike的一些基本概念

Staged Payloads

​ 执行payload的方式分为两种,一种是分阶段加载(Staged)和不分阶段加载(STAGELESS )。当使用分阶段加载的方式时,一般把程序分为两个部分,stager和stage,stager通常是一个代码量非常小的精简过的汇编代码,它的作用非常简单,就是用来下载stage并载入到内存,也就是主要完成下载远程的stage文件和分配内存将stage加载到内存并执行的功能。在cobaltstrike的官方博客中,给出了一个简单的stager的代码,主要通过C语言实现,通过wsconnect来和远程的地址建立socket通信,下载远程的文件分配内存并载入到内存,最后通过函数指针的形式来进行调用。之所以这么做主要是为了解决payload大小限制的问题。

关于CobaltStrike生成shell的过程和执行流程的分析学习

​ 可能我们在后渗透阶段使用CobaltStrike使用的是比较多的,关于一款工具,我们不仅仅只能停留在如何使用它,我们也应该了解一下它实现的原理,本文将带着大家和我一起学习关于CoblatStrike这款工具shell生成的过程还有执行流程。我这里是以CobaltStrike4.0为例来进行分析的。

​ 首先我们将CobaltStrike导入到IDEA中,对着CobaltStrike.jar右键选择-add as libirary,那样我们就可以在IDEA中查看这个包反编译的代码,IDEA反编译代码的还原度还是非常高的。

关于内网批量横向渗透的学习总结

​ 之前的学习中我们了解了关于横向移动的方式,当我们知道了这些方式,下一步当然是想要去提高速度,在这篇文章中我将带着大家学习如何来批量上线内网主机。

环境说明

192.168.3.* 为仅主机模式的网段

192.168.5.*为nat模式的网段

1
2
3
OWA2013 192.168.3.144 192.168.5.58   边界机
SRV-WEB-KIT 192.168.3.73 内网断网机
PC-JERRY-KIT 192.168.3.75 192.168.5.59 内网出网机

WMI

​ 我们首先学习一下如何使用WMI来批量上线内网主机

​ 当我们获取了某个主机的密码,我们想测试是否有内网主机和这个主机的密码相同,首先需要扫描内网那些主机开放了445端口。

关于内网断网主机上线的学习总结

​ 在进行内网横向移动的过程中我们可能经常会遇到这样的情况,目标内网中的其他主机不出外网,那么我们使用cs直接生成的reverse shell就没有办法使目标内网中的”断网”主机上线,今天我就和大家一起学习如何上线内网的”断网”主机。

环境准备

1
2
OWA2013:192.168.3.144 192.168.5.55   模拟边界机192.168.5.*这个网段使用nat模式,192.168.3.*使用仅主机模式
ser-web:192.168.3.73 模拟内网断网机

Pivot listener

建立Pivot listener

​ 首先让边界主机OWA2013上线,上线后对着边界机右键,选择pivoting->Listener

关于内网横向移动套件的利用总结

​ 通过上篇文章我们了解了关于内网横向移动的常用方法,但是实战中去使用这些方法往往效率比较低,并且已经有很多大佬发现了这一点并且针对于每种横向移动的方法写出了横向移动的套件。熟悉这些横向移动套件的使用有助于提高我们渗透的速度。因此学习大佬们横向移动套件的使用是非常有必要的,下面我将和大家一起学习关于内网横向移动套件的使用。

Crackmapexec

​ Crackmapexec是一款由python开发的横向移动利用工具,网上也有人打包好了它的windows版本,这个是2.x版本的打包,虽然版本比较旧,但是基本的功能都有了

​ 在横向移动之前,可以去扫描开放445端口的主机

关于孤独的理解

                       孤独是一个人的狂欢

​ 当我们越来越长大,走出了学校,走到了社会,开始参加了工作,或许我们也有些许的朋友在这个城市,或许我们也有同事可以交流,可是每到晚上回到自己的小房间,每到周末呆在房间里,没有来会有一种空虚的感觉,可能这只是我个人的感觉,不过可能在大城市工作的很多人,也有类似的感觉,我们感到空虚,孤独,可能并不一定是因为我们一个人,没有人陪伴,可能只是由于我们有了很多独自与自己相处的时间,但我们不习惯和自己相处,所以才会产生某种难以排解的苦闷。