自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kernweak的博客

每天进步一点点

  • 博客(205)
  • 收藏
  • 关注

原创 简单使用工具提取cobalt strike马

针对hw,很多红队开发人员,都是简单加工了下CS马,套了层外壳,针对于这类样本的分析提取CS,可以使用工具快速分析提取CS的beacon,并不要什么太多操作。首先拿到样本,先常规提取恶意PE文件。使用pe-sieve工具。https://github.com/hasherezade/pe-sieve比如提取后这种未命名的就是马所在。如果套了几层,可以关键API下断,手动dump出内存,不过国内hw那些样本大部分都是简单构造。再判断恶意代码是否为CobaltStrike,比如实例这里,IDA看到

2021-10-28 14:20:52 1471 2

原创 主机安全笔记

主机安全笔记,仅供自己平时复习。

2021-08-19 00:21:29 271

原创 安全管理复习笔记

平时看书学习笔记,仅供自己平时回看复习

2021-08-19 00:19:57 238

原创 移动安全复习笔记

平时看书学习,复习笔记,慢慢加吧

2021-08-19 00:17:54 177

原创 linux或者android样本ptrace反调试绕过

linuxlinux 系统gdb等调试器,都是通过ptrace系统调用实现。Android加固中,ptrace自身防止调试器附加是一种常用的反调试手段。调试时一般需要手工在ptrace处下断点,通过修改ptrace返回值过掉反调试。下面提供另一种思路,降低手工操作复杂度:测试代码(反调试程序)#include <stdio.h>#include <stdlib.h>#include <sys/ptrace.h>void a(){ if (ptra

2021-06-16 15:03:16 1353 2

原创 怎么快速对比,取证机器有哪些系统命令文件被篡改

如果是redhat相关系统:系统完整性可以通过rpm自带的-Va来校验检查所有的rpm软件包,查看哪些命令是否被替换了:./rpm -Va > rpm.log 如下:如果一切均校验正常将不会产生任何输出,如果有不一致的地方,就会显示出来,输出格式是8位长字符串,每个字符都用以表示文件与RPM数据库中一种属性的比较结果 ,如果是. (点) 则表示测试通过。验证内容中的8个信息的具体内容如下:标志介绍S文件大小是否改变M文件的类型或文件的权限(rwx)是否被

2021-06-15 17:25:40 1381 1

原创 搜GitHub的邮箱

通过githubAPI利用代码{ repository(name: "grank", owner: "lctt") { ref(qualifiedName: "master") { target { ... on Commit { id history(first: 5) { edges { node { author {

2021-06-10 11:47:15 276

原创 Frida学习笔记

准备工作使用kali时间改成中国时区dpkg-reconfigure tzdata加入中文字体apt upgrde如果报错,解决方法: 下载最新key添加到keylistwget -q -O - https://archive.kali.org/archive-key.asc | apt-key addapt install xfonts-intl-chineseapt install ttf-wqy-microhei可以装一些好用的小工具;htopjnettop安装py环境

2021-06-07 11:36:23 2107

原创 NDK开发学习笔记

NDK开发简介ndk代码中特有部分,AS中为JAVA有loadlibrary与native函数public class MainActivity extends AppCompatActivity { // Used to load the 'native-lib' library on application startup. static { System.loadLibrary("native-lib"); } @Override pro

2021-06-07 11:35:15 312 1

原创 安卓加壳与脱壳学习笔记

#grep -Ril "IBM" /tmp递归列出/tmp目录下包含文本字符串"IBM"的文件有时要修复dex文件的前八个字节。ClassLoader和动态加载类加载器Android的虚拟机ART和davilk都是JVM的一种实现,使用寄存器来实现。JVM的类加载器包括3种:Bootstrap ClassLoader(引导类加载器)C/C++代码实现的加载器,用于加载指定的JDK的核心类库,比如java.lang.、java.uti.等这些系统类。Java虚拟机的启动就是通过Bootst

2021-06-07 11:33:11 966 1

原创 Xpose学习笔记

Xpose原理控制zygote进程,通过替换/system/bin/app_precess程序控制zygote进程,使它在系统启动过程中加载Xposed framework的一个jar文件即XposedBridge.jar,从而完成对Zygote进程及创建的Dalvik/ART虚拟机的劫持,并且能够允许开发者独立替代任何class,例如framework本身,系统UI或者随意一个app。控制程序两种方式,通过attach之后ptrace调试器,通过定制rom。Xpose安装Android5.0以后:

2021-06-04 14:58:38 1775

原创 libc6-dev : Breaks : libgcc-9-dev (< 9.3.0.5~) but 9.2.1-19 is to be installed

遇到问题The following packages have unmet dependencies.libc6-dev : Breaks : libgcc-9-dev (< 9.3.0.5~) but 9.2.1-19 is to be installed解决方案找到var / lib / dpkg / status文件,然后使用方便的文本编辑器将其打开sudo nano /var/lib/dpkg/status在文件中找到libgcc-9-dev软件包信息并将其删除

2021-04-15 22:14:42 847

原创 安全笔记导图

平时总结的导图,供自己复习面试下。菜鸡安全笔记

2021-04-07 17:11:51 168

原创 《Android软件安全权威指南》原生程序分析 阅读笔记

工具NDKToolchain是一套工具集,比如elf,READELF -l/-S可以查看Program Header Table与Section Header Table。-e参数为查看elf所有的文件头信息。OBJDUMP -p查看Program Header Table,-x查看所有文件头信息。-d命令用于反汇编ELF并查看汇编代码。-t查看符号表,-r查看重定位。ida的view->open subview->proximity xxx,可以看到函数大致流程比如:...

2020-09-09 23:23:23 217

原创 《Android软件安全权威指南》(ARM)阅读笔记

Android arm EABI每种CPU与指令集的组合都有自己的应用二进制接口(Application Binary Interface ABI)。ABI可以精确定义应用的机器代码在运行时如何与系统进行交互。嵌入式设备ABI称为嵌入式应用二进制接口(EABI):机器代码的CPU指令集。运行时内存存储和加载的字节顺序。可执行二进制文件(列如共享库)的格式,以及他们支持的内容类型。解析内容与系统之间数据的各种约定。包括对齐限制,如何使用堆栈等。运行时可以用于机器代码的函数符号列表。基于ARM的

2020-09-09 00:36:35 194

原创 《Android软件安全权威指南》原生程序文件格式 阅读笔记

原生程序开发JNIJNI方法都在jni.h中定义(JNINativeInterface),该结构体中保存的是一些列JNI方法的指针,第一个参数为JNIEnv结构体指令,该指令的第一个参数就是一个名为funiction的JNINativeInterface。JNI编程中,所有Java层数据类型都可以用jvalue表示,定义如下:除了jobject,其他所有类型都在原生程序中有对应数据类型。jobject在JNI的实现被定义为C++类,有多个子类,,分类包含jstring,jthrowable

2020-09-09 00:35:13 298

原创 《Android软件安全权威指南》(android文件格式)阅读笔记

无符号LEB128实现如下:DEX文件由多个结构体组合而成。如下图,要给DEX由7个部分组成:dex header为Dex文件头,它指定了DEX文件的一些属性并记录了其他数据结构在DEX文件中的物理偏移。string_ids到class_def部分可以理解为“索引结构区”;真实的数据放在data数据区中;link_data为静态链接数据区。Dex由DexFile结构体表示,定义如下:DexOptHeader是ODEX头,DexHeader是DEX文件头部信息。...

2020-08-27 16:48:44 665

原创 《IDA权威指南》复习笔记

几种调用约定区别_cdecl是C的调用约定,从右向左参数依次入栈,调用者平衡堆栈。所以函数外add+x平衡堆栈_stdcall是微软的调用约定,从右向左参数依次入栈,被调用者平衡堆栈,所以平衡堆栈为retXXXfastcall是stdcall变体,x86下前两个参数用寄存器ecx,edx,后面跟_stdcall一致。C++ 调用约定,非静态成员函数与标准函数不同,需要this指针,指向被调用的的对象,这个由被调用方提供给,thiscall为MS提供的C++ 调用约定,被调用者平衡堆栈,this指针在

2020-08-24 21:25:26 2433

原创 pwn笔记(1)

ROPret2text:使用原本程序的代码片段ret2lib:使用到执行时载入的shared library使用return来组合出所需要的功能,巧妙选择要return的位置,寄存器,内存,syscall等。Jump to Shellcode使用ret2text的技巧,call到gets,再跳到新的shellcode,比如demo中有gets,所以存在溢出,制造shellcode溢出main函数的ret这里巧妙将main的ret溢出为gets函数,为了payload执行shell

2020-08-17 10:28:33 327

原创 常见协议复习

FTP,Telnet,HTTP,SMTP/POP3,SSL,SNMP,语音协议FTP数据传输主流协议,两个信道(控制信道,数据信道),FTP的两个模式(Active Mode,Passive Mode)Active Mode就是第二信道由服务器主动发起建立的信道Active Mode。被动发起就为Passive mode服务器固定端口20,客户端大于1023的图中e*256+f(ftp的端口号20、21的区别一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是.

2020-06-29 19:01:24 229

原创 TCP/IP总略复习

源端口号随机 1024~5000之间。大于5000的端口号为其他服务器预留的,Internet上并不常用的服务。以太网是一般PC使用的标准,速度10Mb/s,地址是48bit。环回接口:一般是判断是否是127.0.0.1,就给环回驱动程序,回去了。有了mac地址,才会有包。没有物理地址,不会向网络里发包。MTU是出接口上看,以太网是1500,802.3是1492.路径MTU是整...

2020-06-28 18:20:35 854

原创 windows取证之镜像取证仿真步骤

工具使用取证工具:winhex,FTK Imager,VMware-converter挂载工具:Arsenal-Image-Mounter-v3.1.107简介在windows平台中一般使用VMware-converter来进行取证,因为这种方式是在系统跑起来之后进行取镜像,而且取出来直接是vmware可以识别的格式,直接可以在分析时仿真起来,但是有时候由于任务限制,取证不允许在对方主机上安装任何软件,所以只能使用winhex,或者FTK,但是winhex在本人非盘对盘对拷试验时,无法挂载,

2020-06-19 19:17:58 12308

原创 unbutu下cmake安装和简单使用

首先去官网下载源码包https://cmake.org/download/然后输入以下命令$tar -zxvf xx.tar.gz$./bootstrap$make$make install在其中可能会遇到一些问题,比如Error when bootstrapping CMake:Cannot find appropriate C compiler on this system.Please specify one using environment variable...

2020-05-26 18:25:47 677

原创 基于CVE-2018-20250的漏洞的漏洞分析与APT-C-27(黄金鼠)攻击文档分析

样本概况样本信息文件名:3a6cc90db63a6d09721886b6e3f795e32f355d42e8faef560349ec068a9435f1.rarSize: 185528 bytesModified: 2020年4月24日, 12:27:20MD5: 314E8105F28530EB0BF54891B9B3FF69SHA1: 8C9B88EE829B880...

2020-04-25 03:24:44 1084 2

原创 《ida主流插件使用》(2)windows下stack_strings插件使用

FireEye公司发布了一些逆向插件,即stack_strings插件,该插件是栈字符串识别插件,可以自动识别栈上局部变量为字符串的插件,字符串形式如下,并自动的加上注释。项目主页地址: https://github.com/fireeye/flare-ida 该项目有4个插件 本文介绍 stack_strings插件首先项目使用了vivisect模块,所以在使用该插件之前需要...

2020-04-12 21:57:45 711

原创 ShellServiceObjectDelayLoad注册表键值作用

ShellServiceObjectDelayLoadShellServiceObjectDelayLoad是一个未公布的注册表项,可以将组件关联到这个键,这样一来,系统启动时间EXPLORER将自动加载目标组件.这就是某些病毒将自己注射到EXPLORER的办法.我们经常会遇到这样的事情,IeXPLORER的首页设置为BLANK,注册表RUN键的值也为空,但就是每隔一会儿有莫名其妙的网页自动...

2020-04-02 23:37:12 595

原创 OD调试多线程

首先记得关闭strongOD那些跳过一些异常然后在线程出下断,比如我这里是10008620然后在OD,设置优先为空闲然后F8或者F9就到线程回调了除此之外,还可以不改优先级别,按着别人博客介绍如下:一般是下面跟有Sleep函数或者是WaitForSingleObject函数,有时候却没有遇见这样的函数,一直在主进程囧....所以我一般手动修改它下面接着的代码...

2020-04-02 01:17:53 1152

原创 《ida主流插件使用》(1)windows下labeless插件使用

以下介绍是github官方介绍的机翻Labeless是一个多用途的IDA Pro插件系统,用于标签/注释与调试器后端同步,具有复杂的内存转储和交互式Python脚本功能。剩下详细介绍可以去github看。如果要同时使用x86和x86_64目标,则应对每个python发行版执行以下步骤。设置Python 2.7(x86 / x86_64) 将deploy目录复制到要在其中使用调试器...

2020-03-31 18:28:37 1135

原创 《反勒索软件开发笔记》(三)导入表处理

DLL导出表处理防止别人猜到函数功能,所以要对导出表函数名进行处理,一般就是使用宏定义代替函数名,然后后面使用宏定义代替原有函数名,如下:// 下列 ifdef 块是创建使从 DLL 导出更简单的// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 DLLTEST_EXPORTS// 符号编译的。在使用此 DLL 的// 任何其他项目上不应定义此符号。这样,源文件中包含...

2020-02-12 19:23:51 246 1

原创 《Windows内核原理与实现笔记》(五)Windows微内核中进程和线程的数据结构KTHREAD,KPROCESS

Windows中进程和线程的数据结构Windows内核中的执行体层负责各种与管理和策略相关的功能,而内核层(或微内核)实现了操作系统的核心机制。进程和线程在这两层上都有对应的数据结构。内核层的进程和线程对象首先看(微)内核层的数据结构,这是进程和线程最为基本的数据结构,分别名为KPROCESS和KTHREAD。KPROCESS的定义(见base\ntos\inc\ke.h)t...

2020-01-09 17:54:04 1381

原创 《Windows内核原理与实现笔记》(四)Windows进程线程概念

进程概念进程是各种资源的容器,它定义了一个地址空间作为基本的执行环境;而线程是一个指令执行序列,它可以直接访问所属进程中的资源。每个进程都至少有一个线程,而每个线程在任一时刻都一定属于某一特定的进程。多进程模型把时间细分,然后在某个适当的时间粒度上轮流执行这些任务,让每个任务都有机会被执行到。只要在人所能感知的时间粒度上(差不多是100~200ms)每个任务都有机会做一点事情,用户就会...

2020-01-09 15:13:52 331

原创 关于IDA远程调试linux的elf文件

前几天遇到一个问题在分析代码时,样本是替换了Linux的命令文件,然后想要远程调试虚拟机上的elf样本,开始是用的Remote Linux debugger方式,结果attach时候报错:The debugger could not attach to the selected process.This can perhaps indicate the process was just t...

2020-01-06 10:44:12 1096

原创 intel汇编几种跳转的区别

几种跳转指令和对应的机器码0xE8CALL后面的四个字节是地址0xE9JMP后面的四个字节是偏移0xEBJMP后面的二个字节是偏移0xFF15CALL后面的四个字节是存放地址的地址0xFF25JMP后面的四个字节是存放地址的地址比如想实现循环跳转当前指令,就可以是eb fe,或者e8 fb ff ff f...

2020-01-03 16:48:18 2616

原创 《第一行代码笔记》目录与日志

andorid大致分为:Linux内核层,系统运行库层,应用框架层,应用层。Linux内核层为硬件提供底层驱动系统运行库层为android提供主要特性支持如数据库支持等,这层还有Android运行时库,另外还有虚拟机也在这层。应用框架层提供了构建应用程序用到的各种API。andorid四大组件:Activity,Service,Broadcast Receiver,Content ...

2020-01-01 22:25:57 190

原创 __OFSUB__宏

生成(x-y)的溢出标志定义如下:// overflow flag of subtraction (x-y)template<class T, class U> int8 __OFSUB__(T x, U y){ if ( sizeof(T) < sizeof(U) ) { U x2 = x; int8 sx = __SETS__(x2);...

2019-12-31 14:36:52 1726 1

原创 《Windows内核原理与实现笔记》(三)Windows引导过程

内核加载在Intel x86系统上,Windows操作系统获得控制首先从硬盘的主引导记录(MBR,MasterBoot Record)开始,Windows Setup程序在安装Windows时填充MBR(其他的磁盘管理程序也可能填充MBR)。MBR包含代码和数据,其代码称为引导代码,在系统引导时首先获得控制;MBR中的数据是一张分区表,指定了每个分区在磁盘上的位置和大小,以及分区的类型。当...

2019-12-26 21:52:21 848

原创 《反勒索软件开发笔记》(二)服务程序排错技巧

服务程序排错技巧调试信息输出 如OutputDebugString通常在开发或者测试使用。行时日志考虑单日志或者多日志文件异常捕获try expect内嵌汇编,栈内存被覆盖会没用异常捕获minidump如SetUnhandledExceptionFilter异常捕获,(运行时库?)奔溃不会捕获,用minidump传给服务器。因为服务管理器定时查服务管理...

2019-12-25 22:01:41 149

原创 《反勒索软件开发笔记》(一)vs常见问题与使用技巧,服务程序标准框架

下断点时候当前代码下断代码不匹配在工具->选项->调试->常规去掉要求源文件与原始版本完全匹配在重新编译时候重新生成表一些错,比如无法贷款数据库等先清理解决方案,在重新生成,如果还不行,就关闭项目,删除项目的.ncb文件,然后重新生成。杂项注意相对路径,另外做产品一般使用Unicode,不要用多字节,代码生成一步用MT或MTd。优化产品级的项目尽量避免...

2019-12-25 20:58:21 256

原创 《Windows内核原理与实现笔记》(二)注册表和配置管理器,事件追踪,安全性管理

注册表和配置管理器Windows系统很多组件都是可以配置的,内核组建通常支持一些参数,甚至有些完全依赖于系统配置信息。例如I/O管理器和即插即用管理器在初始化阶段根据系统设置来例句和加载设备驱动程序。Windows操作系统提供了一个称为“注册表”的中心存储设施来作为系统的配置和管理中心。应用程序和捏合通过访问注册表来读写设置Windows同时提供API供访问注册表,API接到注册表访问请求,转...

2019-12-23 21:01:26 1259

原创 ObReferenceObjectByHandle() 源代码分析

首先代码有两篇文章阅读后就懂得差不多了https://blog.csdn.net/qq_21000273/article/details/53966150https://bbs.pediy.com/thread-181544.htm下面是加了注释的代码,wrk中的NTSTATUSObReferenceObjectByHandle ( __in HANDLE Handle...

2019-12-20 16:22:19 425

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除