ZNC with TOR

遇到的坑

配置了半天,终于把 ZNC with TOR 配置好了,原来如果要用 EXTERNAL 加密,就必须用 SSL 连接。

Connecting using SASL EXTERNAL requires that you connect using SSL encryption.

znc的官方wiki[1]的 .onion Resolution 章节已经过时,目前 tor 使用的是 socks5,已经内置远程 DNS,所以这个已经过时了。

正文

安装 TOR 以及 Proxychains:

# pacman -S tor proxychains

启动 TOR 并且开机自启:

# systemctl {start,enable} tor

编辑下 /etc/proxychains.conf 这个文件,把 socks4 改成 socks5。
然后改 /usr/lib/systemd/system/znc.service 文件(如果从 arch 源里装的 znc),ExecStart后面加个 /usr/bin/proxychains4 -q
保存之,刷新缓存:systemctl daemon-reload
先别急着启动 znc,改下 znc 的配置文件,把 Freenode 的 Server 改成 Server = freenodeok2gncmy.onion +6697
然后启动 znc,systemctl start znc
应该会无法连接到 Freenode,提示要求让你用 SASL,这个时候打开你的 web 端(直接用浏览器打开你的 znc 的服务器),登录进去,找到 Your Settings,把 cert 选勾,保存,重启下 znc。
然后用你的 Weechat 先连接到你的 znc 服务器,然后再连接到原版的 Freenode。
在 Network 里输入 /query *status,跟 *status '私聊',输入 loadmod sasl 加载 sasl 插件。
进到你的服务器里,生成下 pem 文件:openssl req -nodes -newkey rsa:2048 -keyout user.pem -x509 -days 3650 -out user.pem -subj "/CN=YourNickname"
把 YourNickname 替换成你在 irc 里的 nick,然后再生成指纹:openssl x509 -sha1 -noout -fingerprint -in user.pem | sed -e 's/^.*=//;s/://g;y/ABCDEF/abcdef/',把这个返回的值记录下来,先登录到 Freenode 上,输入 /msg NickServ cert add <fingerprint>,<fingerprint> 是刚才返回的那个值。
然后把这个 user.pem 拷贝到 /var/lib/znc/.znc/users/<Nickname>/moddata/cert/user.pem,同样,<Nickname> 是你的 irc nick。
再跟 *sasl 私聊:/query *sasl,私聊内容如下:

mechanism external

这个是让加密协议用 EXTERNAL。
这样就设置完成了,跟 *status 说一声 jump 来重新连接:/msg *status jump
Done。

参考

[1] https://wiki.znc.in/Tor
https://freenode.net/kb/answer/chat

Arch+Win10 UEFI双系统笔记

先说明一下,窝是先装好了 Arch,然后再装 Windows10。
也就是说这个方法 针对于窝这个情况。
窝有两个SSD,所以不用分区(因为SSD一般容量比较小,分区之后基本少的可怜),sda装 linux,sdb装 Win10。
把 Arch 装好之后,刻录 Win10 ISO,记得把 bios 的快速启动关了。
把 U 盘插上,开机 F12,选乃的 U 盘,同意协议之后会有选项, 一定 要选自定义安装(高级)。
然后安装到 sdb 盘,装好之后发现乃的 grub 没有了,是因为 Win10 把 grub 的 efi 替换掉了,用另一个 U 盘进 ArchLinux 的 livecd,
sda 盘的 linux 根目录挂载到 $HOME/mnt。
把 sdb 盘的 efi(fdisk -l 看到有 EFI 的字样就是那个盘 ,比如/dev/sdb3) 挂载到 $HOME/mnt/boot/efi(这个efi目录可能没有,没有就自己建一个)。
然后 arch-chroot 到 $HOME/mnt,直接输 grub-install,然后就 OK 了。
退出 chroot 环境,重启电脑,开机摁 F12,这个时候乃应该会看到 Arch 启动项和 Win10 的了。

解决 GMod/L4D2/CSS 在 Linux 上运行卡帧(Bumblebee)

之前买了个 L4D2 一直没怎么玩,于是下下来玩了一会,但是比较卡。
但是之前玩 CSGO 没有这种现象。
用 nvidia-smi 看了一下,里面没 L4D2 的进程(已经用 primusrun 运行了),后来想到,CSGO 的进程是 64bit 的,l4d2似乎是 32bit ,就感觉是 primusrun 的祸,看了下 Arch Wiki 的 Bumblebee 页面,上面说在 64bit 的机子上运行 32bit 的程序需要装 lib32-primus 这个软件, 另外,还需要开启 Multilib。
哦对了,还需要 32bit 的库呢:

# pacman -S lib32-virtualgl lib32-nvidia-utils

参考

https://wiki.archlinux.org/index.php/bumblebee

GPUHashcat 跑 WPA/WPA2 Handshake

准备

独立显卡一枚,窝用的是N卡:gtx960m
archlinux系统,其他系统没有试验过。
一份字典,大小最好超过50MiB。

开始啦

首先安装好你的显卡驱动,在之前的文章有讲过,A卡的话去看 ArchWiki
由于 Hashcat 用的是 CUDA(NVIDIA)、OpenCL(AMD)技术,需要安装 CUDA、OpenCL,A卡装 OpenCL,N卡装 CUDA:

# pacman -S opencl # amd
# pacman -S cuda # nvidia

想要启用cuda(双显卡),需要设置 bbswitch:

# tee /proc/acpi/bbswitch <<< ON

安装 hashcat(gpu版本):

# pacman -S blackarch/oclhashcat # 需要配置blackarch源,也可以用AUR
# pacman -S community/hashcat-utils # for cap2hccapx

跑包之前,你的 airodump-ng 抓到的是 cap(pcap) 格式的数据包文件,需要转换为 Hashcat 支持的格式(hccapx):

$ cap2hccapx old.cap new.hccapx

然后可以开始跑了:

$ hashcat -m 2500 new.hccapx wordlist.txt # new.hccapx 为数据包文件,wordlist.txt 是字典