- 博客(59)
- 资源 (1)
- 收藏
- 关注

原创 TPM之VMK密封
同样的,具备TPM芯片的电脑,在系统中存在一个\Device\TPM的设备以及对应的TPM驱动程序,所以,当对系统进行基于TPM芯片的Bitlocker加密时,存在DeviceIOControl的交互,下面通过抓包来窥探这一过程。同样,基于TPM的安全启动链也不做过多解释,简单说就是当电脑通过TPM进行全盘加密后,后期对电脑的改动影响系统启动,PCR校验不通过时,触发输入恢复密钥的“蓝屏”。通过分析保存的json格式的文件,追踪文件句柄,得到TPM加密时的所有与驱动层的交互数据。PCR校验位图解释如下。
2024-05-27 20:31:18
858

原创 计算机内存取证之BitLocker恢复密钥提取还原
在计算机取证界,经常遇到嫌疑人的目标电脑的磁盘是经过BitLocker加密的,此时通常的做法是通过某种手段(WinPmem、DumpIt、DMA PCILeech,ColdBoot等)取得目标机内存镜像,同时对目标机的磁盘做一个磁盘镜像(WinFE,WinHex,FTKImage等)。而后,对获取的内存镜像分析(MemProcFS等工具)取得BitLocker的VMK密钥,然后通过VMK密钥解密目标磁盘镜像(取证大师等工具),进而获取磁盘中的文件。
2023-06-01 20:24:58
4620
9

原创 分析 - MTP操作文件阻塞卡死问题
一次项目,需要用到MTP协议存储文件数据,参考微软的WpdApiSample相关代码实现,下载地址如下:https://github.com/microsoft/Windows-classic-samples/releases/download/MicrosoftDocs-Samples/wpd-sample.zip功能代码完成后,在一次连续的通过MTP操作文件后,再次通过MTP操作文件时,出现调用阻塞较长时间的情况,这一情况只在MTP设备(手机)首次接入PC后出现,根据该情况进行分析。通过多次
2021-08-03 20:44:27
1764
8

原创 分析-Bitlocker自动解锁磁盘的手动解密
PC中的一个分卷,如果启用了Bitlocker开机自动解锁功能,会在系统的注册表中记录自动解锁的密钥信息,该密钥信息是经过加密存储的,无法直接用来解密分卷。并且会生成一个meta entry type为0x000b的元数据,存储在加密的系统盘Bitlocker结构中。要解密FVEAutoUnlock中的数据,前提条件需要通过某些手段(如目标内存镜像文件提取、TPM嗅探等),获得加密的系统盘的RecoveryPassword或者VMK密钥,并且得到了目标磁盘的镜像。关于每个字段的详细介绍,参考。
2021-06-18 13:53:49
3370

原创 实战:无线wifi密码破解与路由器入侵
工作之余,闲来无事,搞搞事情,不搞不知道,一搞还真搞了些东西,企业安全......呵呵!由于之前一直在做路由器项目,今天来看看周围的WiFi是否安全,开启我的Kali,插上USB无线网卡,目测我的网卡是拓实的双频无线网卡,Realtek 8812au芯片,开始在Github上clone下一个驱动,一阵make安装后,发现无法设置为monitor混杂模式,dmesg看到崩溃,看来Github上的驱动...
2018-03-28 11:47:43
57709
11

原创 Wannacry与SambaCry的综合利用
首先介绍一下网络环境,有两个内部网络,网段分别为10.0.0.0/24和192.168.0.0/24,10.0.0.0/24为内部不联网的网络,192.168.0.0/24为内部的联网的网络,不联网的网络中的主机是不能拷贝文件出来的,即只进不出(其实是通过360做限制的,安全模式下依然可以拷贝处文件),两个网络的文件交互通过一台主机来实现,这台主机的IP分别为10.0.0.9和192.168.0.
2017-06-14 15:25:47
1274
原创 DSView Windows平台编译
该方法解决Windows平台下无法采集到数据的问题,绕过libusb_get_pollfds的限制;同时dsl_get_timeout解决高频下采集数据溢出问题。以上编译的源码基于DSView v1.3.1版本编译,编译出来的exe在Windows平台是功能缺失的,即上面提到的借个问题。通过MSYS2中的pacman.exe命令下载以下依赖项。编译环境基于MSYS2 + MingW环境;该方法解决Windows平台下的热插拔问题。
2024-04-23 16:23:21
677
1
原创 KakaoTalk数据库和加密文件密钥生成方法
KakaoTalk的数据库为sqlite3数据库,经过加密处理,不同类别的数据库采用不同的密钥加密。聊天记录的数据库由一个称为PRAGMA KEY的密钥进行加密,这里简称为PK。
2024-02-29 10:48:29
2362
原创 Apache Log4j 漏洞验证
首先下载JNDI-Injection-Exploit,该jar包实现RMI、LDAP服务功能,对外提供服务,且包含用于执行攻击命令的ExecTemplateJDK7.class和ExecTemplateJDK8.class模版文件。下载包含漏洞版本的log4j的jar包使用如下3个jar包文件添加上面3个jar包到工程:编写测试代码:import org.apache.log4j.Logger;public class Log4jDemo { /** ..
2021-12-15 11:48:04
3506
2
原创 实现SetThreadContext注入
shellcode:void __declspec(naked) inject_func(){ __asm { pushad; push 11111111h; // dll路径 mov eax, 22222222h; // LoadLibrary call eax; // 调用LoadLibrary popad; push 33333333h; // 返回地址 }}话不多说,撸代码,看代码int inject_running_thread(i
2021-08-17 11:42:42
697
原创 实现OutputDebugString输出调试消息
传递消息的结构体:struct dbwin_buffer{ DWORD dwProcessId; char data[4096 - sizeof(DWORD)];};具体实现,直接艹代码:void my_outputdebugstring_ansci(const char *msg){ HANDLE mutex = CreateMutexW(NULL, FALSE, L"DBWinMutex"); DWORD err = GetLastError();
2021-08-17 11:36:17
408
原创 分析-ReadFile读取物理磁盘参数错误(87)问题
Windows读取物理磁盘很简单,通过文件操作相关API即可实现,如:handle = CreateFileA("\\\\.\\physicaldrive0",...);ReadFile(handle,...);CloseHandle(handle);
2021-06-18 15:24:06
3497
1
原创 【源码阅读】QT中一个通过栈实现嵌套列表遍历
QStack<QTreeWidgetItem*> stack; stack.push(item); while (!stack.isEmpty()) { QTreeWidgetItem *i = stack.pop(); i->view = 0; for (int c = 0; c < i->children.count(); ++c) { stack.push(i->children.at(c));..
2021-02-07 10:05:21
282
原创 Windows下sysnative,解决系统找不到指定文件问题
在Window 64位系统中,System32文件夹存放64位的程序,SysWoW64文件夹存放32位程序,当一个32位程序访问System32文件夹时,系统会自动重定向到SysWoW64文件夹,如:当32位程序通过CreateProcess创建C:\Windows\System32\nbtstat.exe进程时,系统自动重定向到C:\Windows\SysWoW64\nbtstat.exe文件,...
2020-02-21 10:25:43
6483
原创 通过SetupDixxx系列函数实现卸载磁盘设备(法证PE下实现读写方式挂载磁盘)
法证PE下,内置磁盘不会自动加载,需要手动将磁盘联机,通过手动操作磁盘管理器中磁盘实现联机,磁盘具备读写权限,但多个磁盘情况下,有的磁盘无法通过手动操作方式联机(但可以通过DiskPart工具实现将该磁盘连接,但联机后的磁盘为只读,并且无法抹掉磁盘的readonly属性),该种情况下如何实现所有磁盘联机并且具备读写权限呢?首先在DiskPart中设置磁盘san策略为onlineall,如下图所...
2018-09-18 14:53:15
1498
原创 基于Ghost Tunnel的实践,实现Air Gapping环境下的通信与远程执行
Ghost Tunnel技术相关介绍请参考:《Ghost Tunnel:适用于隔离网络的WiFi隐蔽传输通道》通过文章我们知道,实现这种攻击需要满足一下条件:需要在目标机中植入客户端程序,用以接收指令和发送目标机信息到控制端,植入方式可以为远程植入、现场植入;目标机需要具备无线网络适配器,一般笔记本是自带无线网卡的,其它情况可以插入USB无线网卡实现;目标机发送数据利用的是Probe Reques...
2018-05-10 16:37:21
1699
原创 dnsmasq配置记录
/etc/dnsmasq.confinterface=vlanbind-interfacesdhcp-range=192.168.150.100,192.168.150.150,255.255.255.0,120mdhcp-option=3,192.168.150.1dhcp-option=option:dns-server,8.8.8.8,8.8.4.4conf-dir=/etc/dn...
2018-03-02 10:44:42
3310
原创 rtl usb无线网卡驱动
sudo apt-get install git build-essentialgit clone https://github.com/lwfinger/rtlwifi_new.gitcd rtlwifi_newmakesudo make install
2017-12-14 10:11:59
742
原创 使用android手机抓取windows的密码hash的实践
市面上存在一种usb设备叫BashBunny,将该BashBunny插入目标锁屏windows电脑后,就可以抓取到windows的密码hash,然后通过彩虹表或者爆破的方式即可还原目标主机的密码。后来通过进入该设备发现,其主要功能是通过Responder实现,获取windows密码hash的协议主要有SMB,HTTP,MSSQL,涉及的知识点有WPAD协议,NBNS,LLMNR等协议,以及页面
2017-09-07 09:36:56
759
转载 免杀学习经典技术知识总结
一.机械码,又称机器码. ultraedit打开,编辑exe文件时你会看到 许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码 就是机器码. 修改程序时必须通过修改机器码来修改exe文件. 二.需要熟练掌握的全部汇编知识(只有这么多) 不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了 cmp a,b 比较a与b
2017-02-13 19:31:53
709
原创 Linux kali 安装socks5(ss5)代理
环境为VMWare虚拟机,kali linux系统。由于公司网络对局域网内的机器进行了MAC绑定,kali无法自动获取IP地址,所以需要手动设置IP地址:10.0.0.203,VMWare的网络使用的是桥接的模式,但此时的kali是无法上网的(网关不给10.0.0.203网络传输),只能在内部网络发送数据。要是使用NAT模式使用共享主机的IP地址是可以联网的,但是由于某些其它目的的需要不想这样
2016-11-22 10:52:27
13046
2
原创 小试 —— target="_blank"钓鱼攻击
根据这篇文章的介绍,对target="_blank"这一属性进行钓鱼实现打开Vim创建一个html简单的页面chrome打开1.html的效果接着创建2.html的页面,这里只是一些js脚本代码用qq.com页面模拟跳转后的钓鱼页面但是,以右击的方式在新标签页打开则不会有效果所以还是习惯性的右击打开吧!!!
2016-09-27 10:09:24
1048
原创 使用arpspoof获取同事爱奇异账户
之前没事的时候,使用nmap检测到路由器存在弱口令admin今天没事登录路由器看看哪台机器流量比较多,刷新了几次流量统计,发现10.0.0.81的机器一直排的首位,流量蛮大,于是想看看这台机器在干什么打开我的kali系统,启动arpspoof,准备命令arpspoof -i etho -c own -t 10.0.0.81 10.0.0.1启动Wireshark,设置过滤条件i
2016-09-05 09:44:56
7415
2
原创 记一次基于mysql的入侵Simple
一切从MS15-034/CVE-2015-1635漏洞开始 通过nmap扫描发现内网中的一台机器存在漏洞CVE-2015-1635 于是发起一次BSOD的攻击 So it’s just BSOD and reboot!除了这些,还能做些什么呢?接着发现其mysql数据库存在弱口令,于是登进去看了看,发现没什么可看的,不看了,增加一个用户先! 试试mysql的文件操作命令dumpfil
2016-08-18 10:11:56
626
原创 基于Linux epoll模型的Simple
关于epoll的介绍以及与其它I/O模型的优缺点,各大网站论坛均有介绍,这里就不多说了;本Simple使用了epoll的边缘出发模式(ET),支持多客户端连接;首先定义自己的数据结构以及相关全局变量:#define MAX_EVENTS 10#define MAX_BUFFER_SIZE 1024#define LISTEN_PORT 8000struct global_dat
2016-08-16 14:49:26
428
原创 arpspoof + wireshark 网络数据截取
准备环境:VMWare、Linux Mint,arpspoof,Wireshark for Windows 首先配置VMWare虚拟机使用的网卡 需要监控的网卡 配置虚拟网卡 启动Wireshark,设置过滤条件,开始等待抓包 启动虚拟机中Linux Mint,启动arpspoof开始arp欺骗 抓到HTTP请求包
2016-08-15 11:30:02
2080
转载 SMTP与ESMTP的关系和区别
1999年以前,大部分SMTP服务器都是开放的。当您申请完一个免费的Email账号后,在您的Email客户端工具的POP3地址栏中把该Email的POP3地址填入,并填入您的账号和密码,而SMTP服务器地址栏可以就近选择一个SMTP服务器或您认为比较好用的SMTP服务器(如您的ISP的SMTP服务器),来提高Email发送效率。然而,随着垃圾邮件的泛滥,大部分SMTP服务器都加上了过滤器,拒绝发送非
2016-08-11 17:01:28
2389
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人