stomppe
通过set stomppe "true"启用stomppe,看官方文档的介绍,stomppe的目的是轻微混淆内存中的Dll beacon,通过查看源码,通过了解PEEditor.setCharacteristic函数发现,该函数目的就是修改PE文件头中的Characteristic属性,这个属性和该文件的类型有关。用PEview查看默认生成的beacon文件,通过该属性值很显然的发现,这是一个32bit的dll可执行文件。感觉这个功能挺鸡肋的。
sleep_mask
sleep_mask的作用是在sleep之前加密beacon以规避基于内存特征的查杀。
中断在BeaconPayload.setupGargle方法处,首先,在setupGargle函数中,重新读取了resources/beacon.dll数据,然后将.text段的EndAddr保存在Settings的序号为41的地址处。
计算rdata段和.text段之间的间距,如果间距小于256则不行。开始我很迷惑这步的操作,在后面的分析调试过程中,才发现,这个区域存储的是加密函数,而且当时我也好奇,如果要加密几个节区的话,代码段一旦被加密,事后怎么解密呢?其实CobaltStrike的设计者非常巧妙。
最后获取了所有的Sections的起始地址和结束地址,并将其保存在序号为42的Settings处。
生成并调试beacon.exe,通过之前的分析,sleep_mask作用就是在beacon 休眠之前加密beacon,所以只需要在beacon所存放的内存区域设置访问断点即可。具体可以这样操作,假设beacon分配在0x00300000处,首先,针对使程序运行到337D06处,这是程序暴力枚举到beacon区域起始地址,也就是0x00300000处。我们首先需要跳过这部分。然后在0x00300000处下访问断点,运行后断在0x003383D8处
我们首先需要跳过这部分。然后在0x00300000处下访问断点,运行后断在0x003383D8处,显然可以看到依次将抹去了MZ的PE头和节区数据复制到新的区域。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
通过set stomppe "true"启用stomppe,看官方文档的介绍,stomppe的目的是轻微混淆内存中的Dll beacon,通过查看源码,通过了解PEEditor.setCharacteristic函数发现,该函数目的就是修改PE文件头中的Characteristic属性,这个属性和该文件的类型有关。用PEview查看默认生成的beacon文件,通过该属性值很显然的发现,这是一个32bit的dll可执行文件。感觉这个功能挺鸡肋的。
sleep_mask
sleep_mask的作用是在sleep之前加密beacon以规避基于内存特征的查杀。
中断在BeaconPayload.setupGargle方法处,首先,在setupGargle函数中,重新读取了resources/beacon.dll数据,然后将.text段的EndAddr保存在Settings的序号为41的地址处。
计算rdata段和.text段之间的间距,如果间距小于256则不行。开始我很迷惑这步的操作,在后面的分析调试过程中,才发现,这个区域存储的是加密函数,而且当时我也好奇,如果要加密几个节区的话,代码段一旦被加密,事后怎么解密呢?其实CobaltStrike的设计者非常巧妙。
最后获取了所有的Sections的起始地址和结束地址,并将其保存在序号为42的Settings处。
生成并调试beacon.exe,通过之前的分析,sleep_mask作用就是在beacon 休眠之前加密beacon,所以只需要在beacon所存放的内存区域设置访问断点即可。具体可以这样操作,假设beacon分配在0x00300000处,首先,针对使程序运行到337D06处,这是程序暴力枚举到beacon区域起始地址,也就是0x00300000处。我们首先需要跳过这部分。然后在0x00300000处下访问断点,运行后断在0x003383D8处
我们首先需要跳过这部分。然后在0x00300000处下访问断点,运行后断在0x003383D8处,显然可以看到依次将抹去了MZ的PE头和节区数据复制到新的区域。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
httpsendrequest
使用 HttpSendRequestA 发送HTTP请求
我们用python开启一个本地的http服务器,端口是5555,uri为 /shellcode.bin,之后在 jz failure 下一个断点。
这一步主要是用于测试我们是否成功发送了http请求给服务器,如果成功,则在http服务器中留下一个记录证明我们访问成功。
为了测试访问失败的情况,我们可以将修改端口或修改uri或关闭http服务器的,比如说我们将端口改成6666。
使用的是具有 32GB RAM 的 Windows 系统和使用 2GB RAM 的 Kali Linux 实例,那么应该没问题,尽管您可能会遇到系统上的一些滞后。
或者,如果有一台具有大量 RAM 的退役游戏 PC,可以在其上安装低资源 Linux 系统,并将其变成专用的黑客实验室。通过放弃 Windows,这将节省大约 5GB 的 RAM,并且在其他物理机器上运行 Kali Linux 实例,则可以为其配置更多资源。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用 HttpSendRequestA 发送HTTP请求
我们用python开启一个本地的http服务器,端口是5555,uri为 /shellcode.bin,之后在 jz failure 下一个断点。
这一步主要是用于测试我们是否成功发送了http请求给服务器,如果成功,则在http服务器中留下一个记录证明我们访问成功。
为了测试访问失败的情况,我们可以将修改端口或修改uri或关闭http服务器的,比如说我们将端口改成6666。
使用的是具有 32GB RAM 的 Windows 系统和使用 2GB RAM 的 Kali Linux 实例,那么应该没问题,尽管您可能会遇到系统上的一些滞后。
或者,如果有一台具有大量 RAM 的退役游戏 PC,可以在其上安装低资源 Linux 系统,并将其变成专用的黑客实验室。通过放弃 Windows,这将节省大约 5GB 的 RAM,并且在其他物理机器上运行 Kali Linux 实例,则可以为其配置更多资源。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
函数用于与目标主机建立连接并交互数据直到没有更多的数据发送回来,然后等待用户下一步的输入并继续发送和接收数据,直到用户结束脚本运行
server_loop()函数用于建立监听端口并实现多线程处理新的客户端
run_command函数用于执行命令,其中subprocess库提供多种与客户端程序交互的方法
clienthandler函数用于实现文件上传、命令执行和与shell相关的功能,其中wb标识确保是以二进制的格式写入文件、从而确保上传和写入的二进制文件能够成功执行
主函数main()中是先读取所有的命令行选项从而设置相应的变量,然后从标准输入中读取数据并通过网络发送数据,若需要交互式地发送数据需要发送CTRL-D以避免从标准输入中读取数据,若检测到listen参数为True则调用senver_loop()函数准备处理下一步命令。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
server_loop()函数用于建立监听端口并实现多线程处理新的客户端
run_command函数用于执行命令,其中subprocess库提供多种与客户端程序交互的方法
clienthandler函数用于实现文件上传、命令执行和与shell相关的功能,其中wb标识确保是以二进制的格式写入文件、从而确保上传和写入的二进制文件能够成功执行
主函数main()中是先读取所有的命令行选项从而设置相应的变量,然后从标准输入中读取数据并通过网络发送数据,若需要交互式地发送数据需要发送CTRL-D以避免从标准输入中读取数据,若检测到listen参数为True则调用senver_loop()函数准备处理下一步命令。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
某luo数据包加密逆向
抓包发现,大部分请求包和返回包都加密了,但是发现做了frida检测
第一种是使用修改过特征的frida-server
这里使用的是florida-server
找到用于检测的库,在它检测之前nop掉检测函数或者是直接删了这个so库
运行后发现在进入了libmsaoaidsec库后发生进程终止,说明这个库里存在检测机制
进入这个app文件夹里删了这个库
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
抓包发现,大部分请求包和返回包都加密了,但是发现做了frida检测
第一种是使用修改过特征的frida-server
这里使用的是florida-server
找到用于检测的库,在它检测之前nop掉检测函数或者是直接删了这个so库
运行后发现在进入了libmsaoaidsec库后发生进程终止,说明这个库里存在检测机制
进入这个app文件夹里删了这个库
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
LMXCMS 安装教程
1、本系统暂不支持 PHP5.6 以上,所以请“尽可能的调低您的 PHP 版本”,避免出现未知错误。
2、直接进入地址(域名/install),进入系统安装程序界面,请注意安装程序的要求和条件,并填写数据库及管理员信息,然后按照步骤安装即可。
3、安装成功以后,切记要删除安装程序,避免二次安装导致数据覆盖,删除的目录有(/install、/c/install)俩个目录,或者在后台首页也可以删除安装目录。
然后配置一下数据库,首先进入后台后可以备份数据,然后在恢复数据部分就有我们的数据了,然后我们点击删除。可以看到这里直接获取我们的文件名,然后直接删除,并没有限制目录
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
1、本系统暂不支持 PHP5.6 以上,所以请“尽可能的调低您的 PHP 版本”,避免出现未知错误。
2、直接进入地址(域名/install),进入系统安装程序界面,请注意安装程序的要求和条件,并填写数据库及管理员信息,然后按照步骤安装即可。
3、安装成功以后,切记要删除安装程序,避免二次安装导致数据覆盖,删除的目录有(/install、/c/install)俩个目录,或者在后台首页也可以删除安装目录。
然后配置一下数据库,首先进入后台后可以备份数据,然后在恢复数据部分就有我们的数据了,然后我们点击删除。可以看到这里直接获取我们的文件名,然后直接删除,并没有限制目录
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍1
beacon差异性分析
module_x86
首先,采用默认的C2Profile生成beacon文件,至于生成beacon的流程可以参考这篇文章。然后测试一下module_x86属性。修改C2Profile文件的stage块。添加set module_x86 "xpsservices.dll";这个语句。module_x86这个语句的作用是加载module_x86指定的模块,然后将beacon复写到该模块的内存区域。
在MalleablePE.java的pre_process会根据c2profile的set命令获取相对于的值,然后根据值对PE进行对于的操作。
在setModuleStomp这个方法中,首先将设置Characteristic为0x4000。然后在PE偏移为0x40的地方,添加大小为0x40的随机数据,接着在将C2Profile解析到的模块名(xpsservices.dll)写入PE偏移为0x40的地方,相当于重新覆盖直接写的随机数据的一部分。由此完成操作。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
module_x86
首先,采用默认的C2Profile生成beacon文件,至于生成beacon的流程可以参考这篇文章。然后测试一下module_x86属性。修改C2Profile文件的stage块。添加set module_x86 "xpsservices.dll";这个语句。module_x86这个语句的作用是加载module_x86指定的模块,然后将beacon复写到该模块的内存区域。
在MalleablePE.java的pre_process会根据c2profile的set命令获取相对于的值,然后根据值对PE进行对于的操作。
在setModuleStomp这个方法中,首先将设置Characteristic为0x4000。然后在PE偏移为0x40的地方,添加大小为0x40的随机数据,接着在将C2Profile解析到的模块名(xpsservices.dll)写入PE偏移为0x40的地方,相当于重新覆盖直接写的随机数据的一部分。由此完成操作。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍2