#94 SSH 免密码登录
开发工具 SSH 2015-09-29有同事问我,如何不用密码登录 SSH,让我想起了我这一路的 SSH 登录方式变更。
coding in a complicated world
有同事问我,如何不用密码登录 SSH,让我想起了我这一路的 SSH 登录方式变更。
原文:Nabil Ouchn,Top Five Hacker Tools Every CISO Should Understand
翻译:安全牛,首席信息安全官必须知道的五大黑客工具
说明:原文作者是白帽安全工具网站 ToolsWatch.org 的创始人。
文中提到了五个据说是黑客喜欢使用的利器。
不过,
Armitage 是一个拥有图形用户界面的 Metasploit 管理工具,据说使后者更好用。
还有一篇文章,安全军火库:渗透测试工具流行性大调查,对安全相关的其他几个工具进行了一个 “用户选择” 在线调查。
有意思的是,这个里面,密码破解一项没有看到 Hashcat 的影子。
Python 编写。
可以检测 WiFi 网络配置是否符合安全政策,甚至还能识别任何可能被用于钓鱼和中间人攻击的开放 WiFi 网络。
这不用解释了,绝对的神器,正在学习中。
Python 编写
https://github.com/trustedsec/social-engineer-toolkit
nmap
:Network Mapper 网络嗅探tcptrack
tcpview
tcpdump
traceroute
/traceroute6
/tcptraceroute
/lft
tracepath
/tracepath
:traceroute
的替代。route
:IP 路由表。host
:DNS 检查工具,即通过主机名(域名)查 IP 地址。dig
:DNS 检查工具,似乎得到的数据比 host
更加详细。ifconfig
:网卡配置工具。ip
:netstat
ss
:socket statistics,netstat
的替代品。netcat
(nc
)nslookup
rdate
:根据远程服务器设置本地时间ping
inetd
(xined
):网络服务守护程序ssh
/rlogin
/telnet
我对网络命令比较感兴趣,因为我还不会。>"<|||
没有什么实际意义,只是玩玩而已。
col
命令删除退格符
如果通过定向符号输出 man
文档到文件,然后通过 vi
打开会看到很多蓝色的 ^H
符号。
如果是用 cat
或 less
、more
等命令查看(输出到屏幕)就不会看到。
sshpass
https://sourceforge.net/projects/sshpass/
tar -xvf sshpass-1.05.tar.gz
cd sshpass-1.05.tar.gz
./config
make && make install
sshpass -p '111111' ssh 192.168.22.2 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
因为首次访问时需要通过 known_keys 检查,一旦未通过就不会继续执行导致后面的命令失败。
最好加上 StrictHostKeyChecking=no 配置。
如果不希望对方的 host key 被记录可以再加上 UserKnownHostsFile=/dev/null。
对幸福的一点点感悟。
公元451年,南北朝时期的宋魏之战,人民活得真是水深火热。
话说公元前720年的古希腊奥运会,人类尚未发明正式短裤(注:人类女式内裤的历史迄今不足300年),运动员上场只好扎一个兜裆布。一位唤作奥耳西波的爷,跑着就跑丢了,人们看见他象腰缠钟摆一样,顿时哄堂大笑。但他却坚持到终点,所有的人皆为之感动并从中发现人体巨大的美——从此,古代奥运会皆统一裸体比赛。
现代奥运会却穿上了裤子,而且最初女游泳运动员还必须穿湿重达30磅的连衣裤参赛——这就是所谓文明进化的重负。
20世纪中下叶,似乎全球许多地区皆开始了一场性觉醒运动。比基尼像原子弹一样诞生,我们终于可以坐在电视机前,一边看女子沙滩排球的前仆后滚,一边看她们悄悄从短裤内抠沙的奇妙风景了――这真是人类自娱自乐的一道声色大餐啊!
突然来了兴致,想看看 Unicode 中有多少个中文,查了一下,很多人都是说 4e00 至 9fff 段1。
# -*- coding: utf-8 -*-
all_chinese_in_unicode = range(0x4e00, 0x9fff)
def transfer(u_char_num):
if isinstance(u_char_num, int):
u_char_hex = '%x' % u_char_num
u_char_str = '\u' + u_char_hex
else:
if isinstance(u_char_num, str) and len(u_char_num) == 4:
u_char_str = '\u' + u_char_num
else:
raise Exception
u_char = u_char_str.decode('raw_unicode_escape')
# print u_char_hex, u_char
return u_char
def test_transfer():
# repr(u"国") -> u'\u56fd' -> 22269
print transfer(0x56fd)
# 打印所有中文字符
# for i in all_chinese_in_unicode:
# print transfer(i),
# print
# 打印最后一个中文字符及前、后各一个字符
last_chinese_char = 0x9fbb
last_chinese_char_index = all_chinese_in_unicode.index(last_chinese_char)
start, end = last_chinese_char_index - 1, last_chinese_char_index + 2
for i in all_chinese_in_unicode[start:end]:
print transfer(i),
print
Ubuntu 下的 zsh 中运行,只能显示到这个字符:龻,后面的都是乱码,这个字符对应的十六进制数是 9fbb
。
结果又意外发现,最后一个字符似乎不是 9fbb,而是 9fcc(改 URL 一个一个试出来的)。
来源:https://www.fileformat.info/info/unicode/char/9fcc/index.htm
对应文字图片:https://www.fileformat.info/info/unicode/char/9fcc/sample.png
当然,这个来源并不保证权威,也可能有错误,涉及中文字符的范围还是使用 4e00 - 9fff 比较保险。
比如正则表达式:[\u4e00-\u9fff]
。
看来是需要抽半天空闲时间,仔细研究研究编码问题了。
51CTO 博客,lover007,正则匹配中文及常用正则表达式 ↩