0x00 蓝屏的堆栈

在XP SP3上跑POC之后,一段时间之后会出现蓝屏,蓝屏的堆栈如下,可以看出是ACKData里面CALL了一个0指针导致的蓝屏
一个XP SP3调用0地址蓝屏BUG


0x01 蓝屏原因

1 ETW(Event Tracing for Windows)是系统提供的一种事件监控机制,用ETW可以用来监控网络IO,磁盘IO等事件。XP SP3上ETW内部如何实现网络监控,原理是利用到了tcpip提供的一个指针回调来实现对网络IO的监控,这个指针就是tcpip!TCPCPHandlerRoutine。StartTrace的时候,内核会tcpip!TCPCPHandlerRoutine这个指针设置为WmipTraceNetwork,续相关网络事件发生时,都会调用该回调。StopTrace的时候,内核会把tcpip!TCPCPHandlerRoutine置为NULL,这个过程对tcpip!TCPCPHandlerRoutine的操作是不加锁的。

2 哪些地方会引用tcpip!TCPCPHandlerRoutine

可以看出TCPIP里面很多处地方都会引用tcpip!TCPCPHandlerRoutine
3 蓝屏触发时,上下文是System,不过也是有可能是当前进程的上下文的 

相关文章:

  • 2022-01-04
  • 2021-06-17
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-11-28
  • 2022-12-23
猜你喜欢
  • 2021-08-01
  • 2021-11-17
  • 2022-12-23
  • 2021-11-12
  • 2022-02-23
  • 2021-07-26
  • 2021-08-23
相关资源
相似解决方案