自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 网络相关命令

Dnsdict6是一个信息收集工具,可以收集任一个网站的信息,能够收集一个网站使用多少个域名或子域名以及ipv4/ipv6地址。它也能分析出那些对普通用户限制或不可见的子域名,总之,这是一款从网站收集信息的非常好工具。

2017-07-09 00:38:57 327

转载 linux服务相关

1.    一、配置SSH参数修改sshd_config文件,命令为:vi /etc/ssh/sshd_config将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes  2. 将PermitRootLogin without-password修改为PermitRootL

2017-07-06 14:34:05 290

原创 python test

import threadingimport timefrom socket import * class ScanTcpPort:    def __init__(self):        self.port = 0        self.lock = threading.Lock()        setdefaulttimeout(1)       

2017-06-01 22:40:11 476

原创 jiangtao_test

#!/bin/bash#program:#       this program get max long user name and min long user name#history:#2017.03.07                    first release#PATH=/bin:/sbin:/user/bin:user/sbin:/user/local/bi

2017-03-08 18:36:00 288

原创 linux学习笔记

命令lsllgroupsnewgrptouchusermodgpasswduseraddgreppasswd。。。。。。2017.2.7 23:42

2017-02-07 23:42:41 494

转载 LPC 函数

微软设计本地过程调用是为了能有效地和 Windows NT 子系统进行通讯。 尽管在理解 LPC 机制之前并不需要知道关于子系统的东西,当然能知道一点还是会觉得有意思的,也是我们所建议的。在这一章里,我们讨论了子系统,之后讲了一点未公开的 LPC 机制。THE ORIGIN OF THE SUBSYSTEMS尽管微软从未指出“NT”到底是什么意思,一个普遍的说法就是它是“New

2013-10-28 16:56:48 6123 2

转载 usb相关信息

一、USB命令  在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”。  所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、S

2013-03-13 16:34:31 1018

转载 WFP

1 out of 1 rated this helpful- Rate this topicUpdated: May 15, 2008On This Page   Introduction Why You Should Convert Your Components to WFP WFP Architect

2012-08-22 02:12:50 5411

转载 ipfltdrv ipnat ipsec

简介随着 Microsoft® Windows® XP Service Pack 2 和 Windows Server™ 2003 Service Pack 1 新增了 Windows 防火墙,以及 Internet 协议安全 (IPsec) 在公司 Intranet 中日益广泛的应用,信息技术 (IT) 专业人士需要了解 TCP/IP 协议及 Windows 中的相关组件处理单播 Inter

2012-08-22 00:00:44 876

转载 ipfltdrv

/////////////////////////////////////////////////////02// DrvFltIp.h文件 03  04#ifndef __DRVFLTIP_H__ 05#define __DRVFLT

2012-08-21 17:40:07 1540 1

转载 ndis杂

2010-12-07 23:28 围观网络之三 -- 浅探索NDIS5.1(1)前言:本文讨论w2k&xp适用的ndis5.x 网络架构。NDIS4.0源码太老,ROS又YY了太多,所以这次的参考代码基本都是自己f5的…具体结构都有了,我f5的毫无压力=。=调试的时候利用IMD(中间层驱动)下断点,更无压力了...NDIS5.x网络的堆叠结构大概是: WIN

2012-08-17 01:03:19 1416

转载 miniport, port driver,disk.sys 之间的关系(转)

miniport, port driver,disk.sys 之间关系驱动程序由CLASS DRIVER,PORT DRIVER,MINIPORT,三部分组成,从层次上来说,LCASS DRIVER是针对几大类设备的驱动,比如存储设备驱动,就可以通过一个CLASS DRIVER来统一管理,完成一些这类设备共有的操作,主要是与设备无关的操作.PORT DRIVER从层次上来说,是在CLASS

2012-06-20 00:22:35 1854

转载 关于磁盘驱动的学习 转星际盟主

关于文件系统和磁盘驱动的一点学习心得今天看到sudami同学问起这些东西,好久没搞了,很生疏,所以重新学习了一下,有点小小心得:在我的理解中,设备对象(drevobj)相当于驱动对象(drvobj)创建的子对象,用来形成设备链,从而接受、处理数据的。设备对象挂到设备链中,接受到了被设备管理器派遣的IRP时(某本书上好像说,没有真正所谓的设备管理器,只是一组派遣例程,如IopfCallD

2012-06-20 00:21:37 1181

转载 360操作注册表

360注册表操作原理分析 (前段闲的蛋疼才分析的,错误的,大牛们请指出) 360为了有效的对注册表进行操作,绕过了RegXXXX函数的使用,自己封装了一套API:BAPI.DLL 以及BAPIDRY.SYS来实现可靠的,有效的注册表和文件操作;调用流程如下: (以

2011-08-09 10:25:42 2977

原创 EThread的线程链表

【提示】能加驱动进内核,就没必要弄EXE了,所以我个人觉得没啥实际用途,仅供观看Windows会给每一个进程建立一个EPROCESS结构,给每一个线程建立ETHREAD结构,EPROCESS结构第一个成员是KPROCESS结构,ETHREAD结构第一个成员是KTHREAD结构。每个进程的线程的ETHREAD结构都会按下图所示链接起来:<img style="margin: 2px;" title=

2011-06-24 18:44:00 3253

原创 加载驱动时获得加载驱动的进程

这些大部分都是通过NdrClientCall来发送RPC请求给 Services.exe实现的RPC通讯在各个平台上依赖的API各不相同,基本上win2000:NtFsControlFilexp,2003:NtRequestWaitReplyPortvista,2008.win7 :NtAlpcSendWaitReceivePort你需要拦截这些通讯并分析其通讯协议Head

2011-06-15 17:11:00 1563

转载 文件路径的相关操作

<br />标签: 软件  Window路径相关的API<br /> <br /> <br /> 需要头文件:shlwapi.h<br />BOOL PathFileExists(LPCTSTR lpszPath)功能:检查文件/路径是否存在LPTSTR PathFindFileName(LPCTSTR pPath)功能:获得路径中的文件名例如: PathFileFileName( “c://Program Files//File.txt” ) = “File.txt”。如果路径中不包含文件名,则返回值是最

2011-05-11 14:27:00 1784

转载 获得kernel32基地址的通用办法

win7上也能用的定位kernel32基址的方法 2010-10-21 13:12<br />看雪上看到的,挺不错,转至<br />------------------------------------------------------------------------------------------------<br />通过在InInitializationOrderModuleList中查找kernel32.dll模块名称的长度来定位它的基地址,因为"kernel32.dll"的最后一个字符

2011-04-24 20:34:00 1848 1

转载 windbg 命令 111

<br />控制线程指令<br />~ 显示当前进程下所有线程<br />~线程号 n 增加线程的挂起计数<br />~线程号 m 减少线程的挂起计数<br />~线程号 F 冻结线程Frozen<br />~线程号 U       解冻线程UnFrozen<br />~线程号 g 只恢复指定线程<br />多进程调试<br />.attach 进程号 先建立1个回话,然后再附加第2个进程。 例如 .attach 0nX     //(0nX十进制数的表示) <br />|<进程号> S  切换进程,|为查

2011-04-18 14:33:00 1251

转载 【转】常见蓝屏错误信息

┌—┐<br />│ 1│<br />└—┘0x0000000A:IRQL_NOT_LESS_OR_EQUAL <br />◆错误分析:重要是由问题的驱动程序、出缺陷或不兼容的硬件与软件造成的. 从技术角度道. 标明在内核模式中存在以太高的进程内部恳求级别(IRQL)拜访其没有权限造访的内存地址. <br />◇解决方案:请用前面引见的解决方案中的2、3、5、8、9方案尝试消除. <br />┌—┐ <br />│ 2│ <br />└—┘0x00000012:TRAP_CAUSE_UNKNOWN <br

2011-04-09 16:30:00 1195

转载 drx寄存器!

下面介绍的知识性信息来自intel IA-32手册(可以在intel的开发手册或者官方网站查到),提示和补充来自学习调试器实现时的总结。希望能给你带去有用的信息。 (DRx对应任意的一个调试寄存器。LENn对应任意一个长度。Ln对应任意一个局部置位) DR0-DR7可以直接被读写操作(MOV 指令之类的,DRx可以是源操作数也可以是目的操作数) 但是,DRx的访问是需要一定权限的。比如你用MOV操作的话,你需要在实地址模式,系统管理模式(smm)或者在保护模式(CPL设0).如果权限不够,将会在访问DRx的

2011-03-31 15:32:00 1498

转载 转一个win32k回调实现自定义r3函数的方法 教主威武

<br />ring0调用ring3早已不是什么新鲜事,除了APC,我们知道还有KeUserModeCallback.其原型如下:<br />NTSTATUS<br />KeUserModeCallback (<br />     IN ULONG ApiNumber,<br />     IN PVOID InputBuffer,<br />     IN ULONG InputLength,<br />     OUT PVOID *OutputBuffer,<br />     IN PULONG O

2011-03-27 22:43:00 2586

原创 apc

NTKERNELAPIVOIDKeInitializeApc (    IN PRKAPC Apc,    IN PKTHREAD Thread,    IN KAPC_ENVIRONMENT Environment,    IN PKKERNEL_ROUTINE KernelRoutine,    IN PKRUNDOWN_ROUTINE RundownRoutine OPTIONAL,    IN PKNORMAL_ROUTINE NormalRoutine OPTIONAL,    IN KPROCE

2011-03-15 16:52:00 1242

原创 idt

<br />INTERRUPT DESCRIPTOR TABLE (IDT) <br />The interrupt descriptor table (IDT) associates each exception or interrupt vector <br />with a gate descriptor for the procedure or task used to service the associated exception <br />or interrupt. Like the GDT

2011-03-15 15:47:00 821

原创 MmProbeAndLockPages

MmProbeAndLockPages 到底锁定什么?<br />驱动程序有时候需要锁定内存页以使得它们在特定的操作期间驻留在内存中,例如在 DPC 例程中将数据从设备复制到数据缓冲区或者对缓冲区进行 DMA。MmProbeAndLockPages 例程使得一个指定的内存范围驻留(如果尚未驻留),确认内存页允许以指定的访问模式执行指定的操作,并锁定内存中的页以使得它们不能被页交换出去。<br />MmProbeAndLockPages 通过在页帧号 (page frame number) 数据库(描述物理内

2011-03-14 16:43:00 5636 2

原创 PageFile

<br />    任何时候系统内存资源相对磁盘空间来说都是相形见拙的。因为虚拟内存机制,使我们可以有相对丰富的地址资源(通常32bit的虚拟地址,可以有4G的寻址空间),而这些资源对物理内存来说一般情况是总是绰绰有余的。所以在现代操作系统中,总是在相对紧张时使用一些策略,如FIFO、LRU等将物理内存的一些页面置入相对便宜的磁盘空间资源中。一般的UNIX系统,独立使用一个分区,即swap partition。而这方面Windows只是使用普通的文件,通常命名为pagefile.sys,位于各分区的根目录中

2011-03-11 09:51:00 2022

转载 共享内存

<br />Windows 2000 中进程之间共享内存的几个主要应用是, 一个 dll(动态链接库)可能被多个进程使用,应该被共享。一个程序也应该可以被多个运行的实例共<br />享。通过文件映射(Memory Mapped File)实现的进程之间通过内存通信,传输数据。<br />    每个进程有自己的4G地址空间,地址空间通过进程自己的页目录和页表,以页为单位映射物理内存。把两个不同进程的一页地址空间映射到同一个物理页上<br />,两个进程的一页地址空间就实现了共享,两个进程对该页地址空间的读写

2011-03-07 15:01:00 848

原创 memory

<br />    Virtual Memory Layout on x86 is:<br />                 +------------------------------------+<br />        00000000 |                                    |<br />                 |                                    |<br />                 |       

2011-03-04 17:11:00 569

原创 r0调用ntOpenprocess函数枚举进程

<br />需要先把Kthread中的PreviousMode的值置成KernelMode<br />因为调用CqEnumProcessInfoByMyOpenProcess这个函数的时候,是由应用层的程序调用DeviceIoControl进入内核的,所以要经过<br />Kifastcallentry,Kifastcallentry在执行中会把当前要进入内核的这个线程的PreviousMode设置成UserMode,所以当我调用NtOpenProcess时,NtOpenprocess在执行中会判断当前的调

2011-02-07 21:51:00 4739

原创 pid的后2位是无效的 在查询pspcidtable的时候 ExpLookupHandleTableEntry 函数会自动把pid的后两位置成0(Handle.TagBits = 0;就是这句!!)

<br />PHANDLE_TABLE_ENTRY<br />ExpLookupHandleTableEntry (<br />    IN PHANDLE_TABLE HandleTable,<br />    IN EXHANDLE tHandle<br />    )<br />/*++<br />Routine Description:<br />    This routine looks up and returns the table entry for the<br />    specif

2011-02-07 21:41:00 1662

转载 CsrssWalker

<br /> <br />学习了一下古老的CsrssWalker,写点笔记~~<br />在Csrss.exe中,保存着所有Win32子系统进程的进程信息,这些信息以链表的形式保存。<br />正常情况下,每一个新创建的进程都会通知Csrss.exe,Csrss.exe接收这些信息然后保存起来,所以遍历这个链表就可以得到所有Win32子系统进程的信息。首先就是找链表头了,链表头为CsrssRootProcess,在CSRSRV.DLL导出的函数中有对CsrssRootProcess的操作,因此可以通过CSR

2011-01-20 15:50:00 1010

转载 枚举PspCidTable利用API

<br />看Windows内核情景分析的时候看到讲PspCidTable中会保存每个进程和线程的CID,就在想可以通过这个表来获取到每个进程的PID及相关信息,然后网上一搜,已经有N多人通过这种方法来获取进程列表了,Iceword也是有这种方法来枚举进程的。Anyway,还是自己实现一遍吧。当然也借鉴了别人的代码。<br />NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)<br />

2011-01-19 10:32:00 1676 1

转载 win7对象头那些事儿

<br />http://www.debugman.com/discussion/5239/%E5%8E%9F%E5%88%9Bwin7%E5%8F%AF%E5%8F%98%E5%AF%B9%E8%B1%A1%E5%A4%B4%E7%BB%93%E6%9E%84%E4%B9%8Binfomask%E8%A7%A3%E6%9E%90/<br /> 对Windows对象管理有一定了解的人都知道,在固定对象头(OBJECT_HEADER)前面是一块可变区域,称为可变对象头,它所包含的结构内容并不固定。在Win7之

2011-01-18 20:09:00 1925

原创 对象目录相关的

<br />kd> !object /driver/pci<br />Object: 82b9bf38  Type: (82ba33b0) Driver<br />    ObjectHeader: 82b9bf20 (old version)<br />    HandleCount: 0  PointerCount: 81<br />    Directory Object: e1013880  Name: PCI<br />kd> dt _OBJECT_HEADER 82b9bf38-0x18 <br

2011-01-13 16:29:00 816

原创 IceSword&Rootkit Unhooker驱动简析

IceSword版本:1.20cn 修订号:061022 <br />----------------------------------------------------<br /><br />0. 进程 <br />  (略) <br /><br />1. 端口 <br />  IS调用IoBuildDeviceIoControlRequest分别向Tcpip.sys所创建的TCP设备对象和UDP设备对象发送IRP,在输出缓冲区中将返回端口/IP/状态/PID的结构数组(DS也是这么搞的,只不过没关联

2011-01-11 17:34:00 893 1

转载 IceSword&Rootkit Unhooker驱动简析

IceSword版本:1.20cn 修订号:061022 <br />----------------------------------------------------<br /><br />0. 进程 <br />  (略) <br /><br />1. 端口 <br />  IS调用IoBuildDeviceIoControlRequest分别向Tcpip.sys所创建的TCP设备对象和UDP设备对象发送IRP,在输出缓冲区中将返回端口/IP/状态/PID的结构数组(DS也是这么搞的,只不过没关联

2011-01-11 17:34:00 898

转载 遍历线程调度链表辅助检测进程

<br />以前就有了,只是还是自己实现了一下,当做复习吧,大侠飘过。进程的隐藏一直是木马程序设计者不断探求的重要技术,目前Rootkit使用的主要的进程隐藏技术有:通过hook内核API来来隐藏,通过从进程链表上摘除自身来隐藏。这样对于进程普通的API列举将不会得到真实的数据,为了获取可信进程信息,就要要采用其他的方法。<br />众所周知,windows执行的基本单位是线程,而不是进程,所以才有从进程链表上摘除自身的进程隐藏方法,这是虽然从进程链表上摘除了自身,但不会影响操作系统的调度,所以不影响程序运

2011-01-11 17:25:00 2303

转载 rku逆向分析 膜拜XueTr的linxer大牛

这个驱动本来准备端午节搞的,但后来端午节去了躺北京玩了几天,也就搁置了...最近连续花了4个晚上,大致把它搞的差不多了,有些收获...初学window驱动,水平很菜,有些东西我也未必清明,加上3环的代码还没有吃透,期间也没有用调试器跟踪,全是IDA(F5)静态分析的,谬误在所难免,高手请飘过,希望对菜鸟学习有点帮助.<br /><br />1.SSDT检测<br /><br />这个功能有三个IoControlCode与之对应,他们分别是22000fh(拷贝KeServiceDescriptorTable)

2011-01-11 17:21:00 6528

转载 windbg 命令

<br />//断点相关<br />bp + 地址 设置断点<br />bl  显示已经设定的断点<br />bu + 地址 设置断点,但是这种类型断点再下一次启动时被记录<br />bc 清除断点<br />对于断点范围,可以用*匹配,-表示一个范围,表达多个可用,号隔开<br />程序入口伪寄存器<br />WinDbg里有个伪寄存器叫$exentry,里面记录了程序的入口点。所以我们只要在命令输入栏里输入<br />bp $exentry<br />(bp就是用来下断点的命令,详细用法可以参考WinD

2010-12-30 17:22:00 941

原创 学习进程的句柄表

<br />首先打开任务管理器随便选一个进程<br /><br />以explorer.exe为例<br />pid为1388<br />十六进制为56C<br /> <br />用windbg找到对应的EPROCESS<br />kd>!process 1388<br />得到EPROCESS为81e69688  <br /> <br /><br /> <br />再查看进程的EPROCESS<br /><br /> <br />再查看进程的句柄表HANDLE_TABLE<br /><br /> <br

2010-11-02 16:08:00 1172

空空如也

空空如也

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

TA关注的人

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