Win10取证基础之系统日志分析1
这段代码需要在管理员权限下才能运行,不然没有权限访问系统日志文件。其实直接读取也不会有什么问题,只是我个人为了安全起见,拷贝了一份。 12345678910111213141516171819202122232425262728import ctypes, sysimport osfrom evtx import PyEvtxParserimport shutildef main(): shutil.copy("C:/Windows/System32/winevt/Logs/System.evtx", "D:/项目/Windows取证/data_file/System.evtx") parser = PyEvtxParser("D:/项目/Windows取证/data_file/System.evtx") for record in parser.records(): if record["event_record_id"] == 6005: ...
Win10取证基础之剪切板
win10其实自己有一个比较好用的剪切板功能就是win+v,可以查看历史多条记录,但是剪切板里面其实只有一条,并且可以存文本与图片流,如果是文件,就会存文件的路径,因此图片可以存路径或者流。代码如下: 1234567891011121314151617181920import win32clipboardfrom PIL import Image, ImageGrabdef paste_pic(): res = ImageGrab.grabclipboard() if isinstance(res, Image.Image): print("图片") res.save(r'pic.png') elif isinstance(res,list): print("文件",res)try: win32clipboard.OpenClipboard() text =...
Win10取证基础之浏览器记录
在win10当中,浏览器无论安装在那里其历史记录的存放点都是一样的,且内核一样的浏览器其历史记录格式也是一样的。因此可以轻松查询浏览器历史记录。 浏览器正在使用当中的时候不能够进行历史记录获取操作 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import osimport globimport sqlite3class bro_history: def __init__(self): self.systemroot = os.environ["SYSTEMROOT"] def _firefox_history(self, path): path = os.path.join(self.systemroot, path) for p in glob.glob(path): p_tokens =...
Win10取证基础之历史打开文档记录编码
最近在win10上做取证相关的东西,记录一下一些有意思的东西,比如想要获取电脑的历史打开文档。这里有两个办法: win+r输入recent查看 注册表编辑器输入路径:计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs 在处理注册表编辑器的时候,发现这个路径下的数据是编码,但是找了很久也没找到怎么去解码,有幸在别人的项目中找到了一段代码: 123456789101112131415161718192021def decode_recent_docs_mru(value): """ Decodes recent docs MRU list Returns an array with 1st element being the filename, the second element being the symbolic link name """ value_decoded...
信息收集之Whois与ip查询
Whois查询Whois是用来查询域名的IP以及所有者信息的传输协议。简单地说,Whois就是一个数据库,用来查询域名是否已经被注册,以及注册域名的详细信息(如域名所有人、域名注册商等)。 1234from whois import whoisdata = whois('www.baidu.com')print(data) ip查询没啥好说的 1234import socketip = socket.gethostbyname("www.baidu.com")print(ip)
信息收集之子域名挖掘
域名可以分为顶级域名、一级域名、二级域名等。子域名(subdomain)是顶级域名(一级域名或父域名)的下一级。例如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级域.com的子域。在测试过程中,测试目标主站时如果未发现任何相关漏洞,此时通常会考虑挖掘目标系统的子域名。 1234567891011121314151617181920212223242526272829303132333435363738import requestsfrom bs4 import BeautifulSoupfrom urllib.parse import urlparsedef bing_search(site, pages): Subdomain = [] headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101...
信息收集之ping
如果需要知道当前某个IP段内有多少存活的机器,可以使用ping命令查看,虽然不是很准确,但是如果有IP响应了ping那么这个一定是一个存活的主机。 当IP数据包在对方计算机处理过程中出现未知的发送错误时,ICMP会向发送者传送错误事实以及错误原因等 信息查询由一个请求和一个应答构成的。只需要向目标发送一个请求数据包,如果收到了来自目标的回应,就可以判断目标是活跃主机,否则可以判断目标是非活跃主机 Ping命令是ICMP中较为常见的一种应用,经常使用这个命令来测试本地与目标之间的连通性,发送一个ICMP请求消息给目标主机,若源主机收到目标主机的应答响应消息,则表示目标可达,主机存在。 $\color{yellow}{但是该方法也存在一定的缺陷,就是当网络设备,例如路由器、防火墙等对ICMP采取了屏蔽策略时,就会导致扫描结果不准确。} $ 12345678910111213141516171819202122232425262728from scapy.layers.inet import IP, ICMP, sr1from random import...
管理员权限执行代码
在代码部署的过程当中往往需要使用管理员权限执行代码,这里涉及多种情况: LinuxLinux上使用管理员权限执行代码是最简单的,只需要使用root登录就可以直接使用管理员权限执行代码,代码具有调用系统资源的权限。 windows 编辑器上编辑器获得管理员权限其实情况很少,但是并不是没有。获得管理员权限的编辑器有三个好处: 直接打开管理员才能够打开的文件夹查看内容 打开管理员权限的文件 执行的代码都是管理员权限 快捷键拥有最高权限,不会与其他没有管理员权限的软件产生快捷键冲突 可能有更多功能提供(看编辑器情况) 个人现在最常遇到的问题是,我执行的代码需要管理员权限才能够正常执行,需要调用一些系统文件,但是编辑器不是,这就导致代码没有权限,不能够调试。但是打开也很简单: 右键编辑器->属性->兼容性->以管理员身份运行此程序 右键编辑器->管理员权限运行 windows 文件文件的执行有两种,第一种是以管理员权限启动cmd执行,第二种就是在代码当中获取管理员权限,保证程序从逻辑上一定是拥有管理员权限的。 代码如下:...
代码混淆
很多时候开发者在给出自己的源代码的时候会考虑自己的代码太过容易被抄袭或者被阅读从而导致漏洞,对于前端来说,简单的代码与逻辑会给爬虫工程师逆向js加盐逻辑提供太简单的门槛,所以代码混淆操作逐渐变多,但是我个人作为一个普通开发,几乎用不到这样的技术。但是我觉得很有意思,因此记录了一些代码混淆的网站: JavaScript 混淆 : http://jshaman.com/#free https://www.bugku.com/tools/jsfuck/ PHP 混淆: https://www.phpjiami.com/phpjiami.html Java 混淆: https://zhuanlan.zhihu.com/p/272646403 python 混淆: https://pyob.oxyry.com/ 另附上一个加密网站,有很多好玩的加密: http://hi.pcmoe.net/
机器学习之简单线性回归
方程y = b₀ + b₁*X₁ 简单线性回归其实就是一个一元一次方程,在图像上呈现一个线性关系。 ...














