无线安全之被动攻击

危险程度:非常危险
实现难度:非常简单

诚哥经常在各种地方上无线网,有时候会遇到这样情况。系统告诉诚哥这个WiFi是不安全的。这到底是怎么回事,为什么是不安全的?
openwifi
诚哥打开WireShark,这可是专业抓包工具,不仅能抓有线网络的包,还能抓无线网络的包。特别是能够以监听模式运行。就是说,无线网卡可以不连接相应的WiFi而获取所有能被无线网卡接收到的数据帧。诚哥认为可以使用WireShark来看看无线网络中的流量。开始抓包,发现都是802.11,数据看不到。摸索后发现应该启用解密。Edit->Protocols->Enable decryption。
interface
配置好后,再次抓包。这下好东西出来了。HTTP包就能显示出来。但是不能证明对方连的是OPEN的WiFi,这个问题要靠Aircrack-ng来解决。由于电池没电了,Aircrack-ng 这么牛的工具一下子讲不完。看看截获包的效果。decrypt
获取这些包后,就要发掘有用信息。简单过滤下,http || tcp contains “baidu”,然后follow TCP Stream。诚哥看到令人兴奋的cookie,可以去看他百度网盘了。接下去就靠chromium来利用这些cookie了。诚哥使用EditThisCookie来修改自己的cookie。复制相应字段,保存刷新。就完成了一次侵略隐私。
cookie
attack
所以诚哥知道了为什么这些OPEN的网络是不安全的,因为这些网络完全没有加密,数据直接在空气中跑,就像桂言叶裸体勾引诚哥。CMCC什么的能不连就不连,连了的话,也应该使用VPN加密一下。在这些网络中上网,就相当于把钱扔在路边。攻击者来攻击你根本不犯法,这是被动攻击。

事已至此,诚哥又发现只要知道一个家庭无线网络的密码,同样可以实现这种神不知鬼不觉的攻击。根据HowToDecrypt802.11设置即可。

ssh 无密码验证

    使用SSH也不是绝对安全的,因为不可能阻止别人暴力破解你的密码。如果密码过于简单,那更容易被攻击了。

    保护主机安全是使用VPS的必修课。大多数时候,我们都使用SSH来管理系统。这时如果密码很长很复杂,谁都不乐意,不仅是登录,每次sudo都要打密码(我可不会用root裸奔)。所以较好的解决方案是使用不那么复杂的密码,而登录不输密码。两全其美。

    1. 生成ssh密钥对:  ssh-keygen -t rsa
      默认key目录是~/.ssh   其中id_rsa是私钥不可以公开,id_rsa.pub是公钥可以随意公开,然后也是需要传给目标服务器的。
      cpu7
    2. 将公钥加入目标主机的~/.ssh/authorized_key
      这里方法就好多了,最简单的是先ssh过去,然后vim ~/.ssh/authorized_key,再粘帖。不管这么低端的,来几个酷炫的。 

      • scp -P 22 ~/.ssh/id_rsa.pub [ip]:id_rsa.pub然后再ssh到目标主机,执行 cat id_rsa.pub >> ~/.ssh/authorized_key
        还是麻烦啊。
      • cat ~/.ssh/id_rsa.pub | ssh -p 22 user@ip "cat >> ~/.ssh/authorized_keys"
        好了,输完密码就能成功配置,下次ssh就不需要再打密码了。这个方法牛X啊,ssh居然还有这种用法,完全不知道啊。
      • ssh-copy-id -p 22 user@ip  最简单的。。。

    到此,目标主机已经不用输密码就可以登录了。然后还有一些技巧可以提高安全性。修改ssh配置文件:

  1.  修改ssh的默认端口,默认为Port 22,可以修改为其他的,以后登录时加上-p 或者 -P
  2. 不允许密码登录。PasswordAuthentication no     (要时刻备份密钥,否则没了就跪了)
  3. 不允许root登录。PermitRootLogin no
  4. 上面是基本的,还有其他的自己适当调整

    另外android也有很好的ssh客户端,叫server auditor,支持无密码登录内置key生成工具,可以试一试,也可以防止丢了一个私钥,做个备份。

    参考链接: