首页
社区
课程
招聘
[原创]发个命令行工具SysFile
发表于: 2008-9-26 13:04 8657

[原创]发个命令行工具SysFile

2008-9-26 13:04
8657
SysFile开始写也差不多有四五天了...支持的命令不多但却比较实用..不过还是做为技术版本出现..控制台界面的确很难看...

   SysFile的俩天主要功能是文件和注册表...文件列举是一个dir命令..支持FAT32和NTFS//..没有驱动..但发现隐藏文件的能力比较强...因为是基于扇区的读写..

   注册表列举也是没有驱动..但可以发现隐藏注册表键和键值...因为SysFile是基于HIVE文件解析的..

   今天对SysFile加了几个命令...操作HIVE的...因为hived之类的命令里用到了RegSaveKey把目标键转换为HIVE文件来解析...但有可能RegSaveKey失败..所以增添的命令是直接读取系统的HIVE文件...
主要的HIVE有

    HKEY_LOCAL_MACHINE\SECURITY------>>%systemroot%\system32\config\SECURITY
    HKEY_LOCAL_MACHINE\SOFTWARE------>>%systemroot%\system32\config\SOFTWARE
    HKEY_LOCAL_MACHINE\SYSTEM-------->>%systemroot%\system32\config\SYSTEM
    HKEY_LOCAL_MACHINE\SAM----------->>%systemroot%\system32\config\SAM
    还有其他一些..自己需要找去找...

    新增加的命令有
    1CopyFile
    因为系统HIVE很难打开和复制..所以提供了一个命令CopyFile来强制复制文件..格式是
    CopyFile FileToCopyPath|FileToWritePath
    比如 CopyFile C:\WINDOWS\system32\config\system|C:\2.hiv
   把C:\WINDOWS\system32\config\system复制到C:\2.hiv..注意中间的|不能有空格

    2MountHive
    挂接一个HIVE文件
    格式 MountHive HivePath
   比如 MountHive C:\system.hiv

    3DirHive
    这个命令需要先运行命令MountHive成功后才能使用,功能比较像DIR文件
    格式 DirHive RegistePath
    比如 DirHive HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\
    注意HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\需要一个'\'
    还有HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\是在你MountHive的HIVE文件中

    4UnMountHive
    格式 UnMountHive
    卸载挂接的HIVE文件

    一个例子
输入命令 :
Input > copyfile C:\WINDOWS\system32\config\system|c:\system.hiv
copy file sucessfull!
Input > mounthive c:\system.hiv
Mount Hive ok,you can dir now!
Input > dirhive HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\

   之前命令命令详解
   1 dir 改命令获取目录下的所有文件和文件夹...只支持FAT32和NTFS..不排除BUG

   2 inject 该命令扫描目标路径下的可疑文件感染...在写这个时我放弃了许多功能,但可以试看..exe文件效果比较准确

   3 ads 该命令扫描文件流,用到的是API..并不能查到所有的ADS...有时间再加强

   4 trust 该命令扫描非MS的数字签名文件

   5 hived 解析比如像HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下的子键

   6 hivea 解析比如像HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下的子键包括键的值

   7 hiveprasea 比如格式是 hiveprasea C:\my.hiv 解析my.hiv...因为我在hived时用到的是一个常规API来转为HIVE文件..有可能转储失败

   8 hiveprased 跟上面一样..只是解析结果包括键的值
由于内容比较多...会把内容写到c:\\Hive.txt中/......
BUG多多多多............

[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看着不错 ,顶一个
2008-9-26 14:30
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
3
。。。。。。。。。。是想要代替MS的命令行工具吗???
2008-9-26 14:57
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
4
不是代替...只是作为一个技术工具...实验的....实用倒不是实用..因为控制台界面很难看...但的确可以用来检测ROOTKIT
2008-9-26 18:25
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
5
这个好像貌似是无码的~~
2008-9-26 21:46
0
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
6
来膜拜LS再跟着感叹
“这个好像貌似是无码的~~”
2008-9-27 00:54
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
7
无码是什么意思啊....
2008-9-27 00:58
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
8
只放bin,不放源码,故为无码(我蒙的,不知道对不对)
2008-9-27 01:27
0
雪    币: 200
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我最近也在做文件系统的解析部分.下载了lz的运行的时候,一输入dir,就弹出非法操作对话框了,不知道是怎么回事?
另外想请教lz: ntfs的目录索引项中短文件名和长文件名的存放似乎没有规律可循, 但是我只想输出长文件名,也就是把短的文件名过滤掉, 目前采用的办法是读取文件名,如果名字中有~字符,就认为是短文件名,可这样太麻烦了,想请教是否有一个标志位标识是短文件名项?

btw: 楼主写了4,5天就完成了这么多功能,我仅仅解析文件系统就花了两个月的时间来学习
2008-9-27 14:42
0
雪    币: 71
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
和楼上的一样,dir 后崩溃
f5 后好像是这句有问题 在fread()函数中 (FILE->_flag& 0x10c ) ..
test    word ptr [esi+0Ch],10Ch  ds:0023:0000000c=????  就是这句有问题!
00405847 7408            je      SysFile+0x5851 (00405851)
00405849 8b4618          mov     eax,dword ptr [esi+18h]
0040584c 894514          mov     dword ptr [ebp+14h],eax
0040584f eb0c            jmp     SysFile+0x585d (0040585d)
00405851 c7451400100000  mov     dword ptr [ebp+14h],1000h
我也看不出原因,楼主参考一下啦
奇怪库函数怎么也有问题??
2008-9-27 17:17
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=doking;513902]和楼上的一样,dir 后崩溃
f5 后好像是这句有问题 在fread()函数中 (FILE->_flag& 0x10c ) ..
test    word ptr [esi+0Ch],10Ch  ds:0023:0000000c=????  就是这句有问题!
00405847 7408   ...[/QUOTE]
要输入dir d:\ 之类的..不能输入dir一个命令
谢谢doking...
2008-9-27 20:18
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
12
根据文件路径找到文件索引 ..根据文件索引读MFT记录...判断文件还是目录..下面有一大堆数据结构..可以直接打出文件名的...
比如你需要的应该是
typedef struct {
ULONGLONG DirectoryFileReferenceNumber;
ULONGLONG CreationTime; // Saved when filename last changed
ULONGLONG ChangeTime; // ditto
ULONGLONG LastWriteTime; // ditto
ULONGLONG LastAccessTime; // ditto
ULONGLONG AllocatedSize; // ditto
ULONGLONG DataSize; // ditto
ULONG FileAttributes; // ditto
ULONG AlignmentOrReserved;
UCHAR NameLength;
UCHAR NameType; // 0x01 = Long, 0x02 = Short
WCHAR Name[1];

} FILENAME_ATTRIBUTE, *PFILENAME_ATTRIBUTE;
2008-9-27 20:34
0
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
13
试用了下.LZ很强悍,还有些不人性化的地方希望多多改进.
2008-9-28 08:17
0
雪    币: 200
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢楼主的热心帮助,我的这个问题终于解决了.thanks
2008-9-28 09:26
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
15
谢谢..的确操作界面不是很好....文件部分今天加了点功能...把文件的一些信息也打印出来..
效果....
输入命令  :
Input > dir c:\
dir
2007-09-13  11:23  <DIR>                 Downloads
2007-09-13  10:33  <DIR>                 RECYCLER
2007-09-13  17:47                   4096 $AttrDef
2007-09-13  17:47                      0 $BadClus
2007-09-13  17:47                 458752 $Bitmap
2007-09-13  17:47                   8192 $Boot
2007-09-13  17:47  <DIR>                 $Extend
2007-09-13  17:47               67108864 $LogFile
2007-09-13  17:47               86474752 $MFT
2007-09-13  17:47                   4096 $MFTMirr
1601-01-01  08:00                      0 $Secure
2007-09-13  17:47                 131072 $UpCase
2007-09-13  17:47                      0 $Volume
2007-09-13  17:47  <DIR>                 .
2007-09-13  10:02                      0 AUTOEXEC.BAT
2008-07-20  17:29  <DIR>                 Beyond
2007-09-13  17:52                    216 boot.ini
2007-11-14  12:18                    216 BOOT.INI.backup
2007-03-14  13:23                 323584 bootfont.bin
2008-09-03  12:04                    512 bootkit
2008-07-19  09:36  <DIR>                 Chapter07
2007-10-18  11:47  <DIR>                 Config.Msi
2007-09-13  10:02                      0 CONFIG.SYS

难操作的应该是HIVE部分.........
2008-9-28 09:50
0
雪    币: 191
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
等有码了再来看看
2008-9-28 10:42
0
游客
登录 | 注册 方可回帖
返回
//