利用 hashcat 回忆(破解)遗忘的 Keepass 密码

本文环境:所有命令在 Kali Linux 下执行。

昨天的确是一个 tough day 。由于记性不好,四天前设置的 Keepass 主密码终于“如愿以偿”地被我遗忘了,而其中,保存了对于我来说极其重要的东西。16 位的密码中,我依稀地记得前 7 位和后 5 位“应该”、“似乎”是什么样子的,第十一位也记得,不过有些不确定。第八位我“幻想”出了一个答案。也就是说,我至少要再想出 2 位密码,至多则是 4 位,其中可能包含了大小写字母、数字,和特殊符号。

本着由易到难的想法,我先假定我模糊的记忆和幻想都是真实的。步骤是:先猜测 2 位,无果后,猜测 3 位,无果后,猜测 4 位。

出于减小范围的考虑,我先根据记忆筛掉完全不可能的字符,如没有穷举成功,方则使用全集。

本次操作有几个不确定因素:

  1. 我无法保证,已经记得的密码是绝对正确的。可能无功而返。

  2. 在减小范围时,我可能根据记忆错误地减掉了一些字符。

Read More

随爱非爱

新春之前,杂文一篇。

陈升的《牡丹亭外》有这么一句歌词:

写歌的人断了魂,听歌的人最无情

几年前,这首歌我听了一遍又一遍。后来这句歌词在各处的评论区里都烂大街了,索然无味。

说实话,诗词歌赋,让听的人、读的人想起自己,而无关作者经历,才是好文好曲。相比之下,高中时诗歌鉴赏里写“分析诗人因为什么境遇什么心情写下的妙句而恰如其分”,真的才是无病呻吟。好的诗人大概很清楚,写的是自己,读的却是别人,如果有人喜欢,也只能说两人各有故事,各有感触,是茫茫世界里的异路之人,不必相见,不必相知,甚至不必知道对方还是否存在,万般话语、千种情绪都在一句诗、一首词里,人只不过是在词句之间找自己的哈姆雷特。经历不同的事,看到不同的自己,如此简单又如此复杂。

你经历了你的事情,我也经历了我的事情。

有时候我对自己的眼光太冷,忽然之间就会觉得一切都是没有意义的。毕竟那所谓的意义似乎目前没哪个人类真的找到了。小时候我通过宗教、哲学、心理学去寻找压在我胸口的,生命的意义,痴迷于此,在书籍里开拓见识,后来现实生活中见得多了,我慢慢放下了一些东西和幻想,我看到心理名医也有疯的,我看到理念的开创者也会自杀,我看到大师们在弥留之际都会有什么表现,我渐渐知道,每个人都在不停寻找,不停挣扎,只是形式不同而已,大家都是凡人,人生都是苦与乐组成的。这些话,说得有点太远了,一句两句也说不清楚。我现在只想写写一些俗事小事。

Read More

Dat,IPFS,和 ZeroNet 的比较

在使用 Dat 之前,我粗略地看了一下 Dat 文档中的常见问题,其中一栏谈到 Dat 与现有流行的 P2P 传输协议的比较。而在实际使用中,我也有了自己的一些体会。我简要地从实际应用上来谈论一下它们给我的感觉。

做个人博客

从博客或网站的生态上看,ZeroNet 现有的生态更加完善。ZeroNet 有一些搜索引擎,把站点们联系得更加紧密,发现对方很容易,探索也更加方便。由于 Dat 的特性,只有你发给对方链接他才能找到你,而目前也没有什么类似网站列表,搜索引擎出现。

从功能上来看,ZeroBlog 有自己的数据库,动态的评论功能,收发邮件,都不用操什么心。相比较之下,Dat 和 IPFS 以目前发展的程度,更适合托管一些完全静态的网页,或者作为博客图库。但目前流行的 ZeroBlog 样式,移动终端的体验很差,这是一个比较大的缺点。而且我也注意到了 Dat 的一些有意思的站点,例如这篇文章所介绍的,可以作为一个 P2P 的个人微博,互相做种就像互相关注,人们也可以维持一个稳定的圈子,这点相比较于 ZeroMe 要稍好一些, ZeroMe 会同步一些其他用户的数据,即使你对他们并不感兴趣。这只是 Dat 应用范围的一小部分,Dat 发展会很快,可能性很多,前景不错。

Read More

Dat,一个实用的 P2P 文件传输协议

介绍

传一个大文件的时候,你需要 U 盘,某些网盘的分享链接和密码,还是某些聊天软件的所谓网络极速数据线?这些都不够简便,或者说你传输的文件的安全性无法保证,它们极有可能被那些给你提供文件中转服务的“善意”的第三方所审查,而且你不知道这份文件是不是遭到了篡改,或者被进行了中间人攻击,既无法控制也无法知晓。有时候,你多想把一个文件或数据稳妥地面对面地保密地交给一个人啊,可是条件并不会总是那么完善。

是的,谜底不用揭晓也知道,本文的主角,Dat,可以满足你关于安全性,速度,和易用性的大部分要求。

Dat 是一个自由的、开源的软件,由非盈利组织 Code for Science & Society 开发。目前,一些研究人员,分析人士,图书馆,大学,都已经使用 dat 来保存和分发科学数据。开发者们也使用 Dat 来做一些 P2P 的网站和其他应用。任何人都可以轻松地使用 Dat 备份或分享文件。

Dat 有几大优点,

(1) 分布式网络

和 Dropbox 等网络云盘不同的是,Dat 采用分布式网络,这意味着 Dat 以端到端的方式传送文件,不需要中心服务器的中转,Dat 使文件传输更快更安全。你甚至可以在本地无外网的局域网内传送文件,也可以在本地网络中进行文件多点备份。如果你打算同样在服务器上运行 Dat,他也会减少你的带宽消耗,因为一些受欢迎的文件无需从你这里取得,每个活跃的用户都是一个自然的 “CDN”。

(2) 数据历史

Dat 可以方便保留旧版文件。每次文件的更新和改动,Dat 会自动记录你的更改。

(3) 安全

Dat 传输文件的连接是经过加密的,只有你发送给某个用户,他才能够访问你的文件。你的链接也允许用户下载和转发给其他人。如果想要在发送的文件中进行更改,用户必须要有一个密钥才行。Dat 也会校验文件的哈希值,确保没有遭到篡改。

Read More

运行 Dat 服务器,让文件保持在线

关于 Dat 的介绍,请见这里

因为 Dat 是一个分布式的数据分享工具,你的电脑需要保持运行 Dat 分享服务。出于便利的考虑,你可能需要一个独立的服务器来代替你的电脑做这项工作,这样你的电脑可以安心地关机,并且分享过的数据还能在网络上保持可用。同时,一个 Dat 服务器还可以实时备份你的数据和历史状态。

下面以一个运行 Debian 9 的 VPS 为例,介绍在 root 用户下搭建 Dat 服务器的步骤。

安装

安装 nodejs:

curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt install -y nodejs

安装 hypercored:

npm install -g hypercored

这里说明一下, hypercored 会根据指定文件夹中的 feeds 来进行 re-host,re-host 中的文件是保持实时同步的,故这个想要保持实时同步的服务器自身也成为了一个数据节点。

Read More