取证分析之谁动了我的电脑(二)

在写完上篇后,一直想写个脚本来帮助我们进行取证分析,我想取证现场不可能真的对着一条一条指令去找寻证据吧。。。其实他们都是在现场将磁盘镜像进行拷贝的,这样尽最大化程序不去破坏证据~但是将镜像拷回去还是要进行分析的。。因此我写了一个python脚本,来帮助我能够快速的进行计算机取证~

这里我一共写了七个功能:文件使用记录、最近输入的url地址、启动项、曾使用的U盘名、系统端口、系统账号、无线历史记录,有的可能大家在cmd下就能够运行,但是一个脚本能跑的事干嘛自己去一条指令一条指令的敲呢~目前只想到了上述比较实用的七条指令,主要编程上的话,有对注册表的操作和对cmd命令的调用分析等,如果想要学习这两种编程操作的话,可以重点mark下~

代码会在最后贴出,大概200行,但是其中有很多代码是重复的,这里我没用函数去写是因为虽然都是对注册表的操作或是对cmd的调用,但是每次调用都是其唯一性,就像点名一样,虽然都是点名,但是每个人的名字性别都不一样,调用时也是,每次操作都不可能说跟前面完全一样,其实大概的复制粘贴也是很快~

这里重点讲几点编程中遇到的问题

1.utf16进制编码

这个我百度了各种办法,依然对x开头的这种16进制编码无能为力。。。

如果有人知道,敬请留言~

2.注册表的操作

注册表的操作大体步骤是一样的,都是通过HKEY的键值来调用,但是在调用过程中我发现如果这个注册表地址存在空格,会出现windows error[2]的错误,如”Windows NT”,这之前就有一个空格,百度也没搜到什么好的解决办法。。。这儿error[2]大意就是找不到指定的路径

3.cmd的调用

在这个cmd调用可能卡了有半天,程序总共也就写了一天。。百度到常用的有三种办法

①os.system(‘dir’)

这条命令只会输出执行的cmd命令,甚至都不用print,直接输出,但是我们需要对输出的命令进行分析,必须得到它的返回值,因此在这里不考虑这个函数

②os.popen(‘dir’)

好了,这个据说可以解决上述无返回值的办法,但是经过实际测试一开始怎么试都没有返回值,,就在我现在测试的时候,我发现了这条命令的正确打开姿势。。。

返回值很正常,好像比subprocess.Popen还好用。。。好吧。。

③subprocess.Popen(‘netstat -ano’,shell=True,stdout=subprocess.PIPE)

这个函数主要是创建一个进程去访问subprocess,但是返回值是通过一个管道来传输给我们的,因此过程可能会稍微复杂些,并且在创建完进程后需要我们去释放进程,另外这个stdout参数如果不输的话,那就没有返回值,,在这里疑惑了好久。。。

另外我们读取返回值与上述方式相同,它返回的是一个列表(list)

具体用法参见下面的代码吧。。全是用这个subprocess.Popen()写的。。

最后附上代码(python2.7)

相关推荐: 如何搭建企业邮箱

这篇没有技术亮点,就算给那些小白站长一个简易的搭建教程吧~ 有人可能会说我们个人网站要搭建企业邮箱干嘛(首先你得有个域名)。。可能原先你的邮箱是qq号@qq.com,但是搭建之后,你可以跟别人说你的邮箱是xx@域名.cn 瞬间给人感觉就不一样了。。。对吧。。。…

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论