前几天在图书馆看到了一本吸引我眼球的书,名字叫作“Kali Linux & BackTrack渗透测试实战”,上学期也看了七,八本与此相关的书,由于当时没有写写读书笔记,很多东西都忘记了,因此今天刚把它给看完了就花点时间来写点读书笔记吧。
对于网络安全这一领域,涉及面也是非常广范,远不是成为一名脚本小子那么容易的事,光人家的入侵原理对于新手都不是一阵子能学会的,更何况是学习各种协议,各种前端开发的语言了。当然对于不把其做为自己的职业的网络爱好者来说,像php,html,javascript,python,sql这只要初步了解就行,因为每个人一天都只有24小时。在此我们就站在巨人的肩膀上来学习渗透这一学问,虽然网络工具很多,但我们主要学习的是人家的思考方式,而不是学习工具的使用,就如同一网友所讲,学好道,术只是一种解决问题的途径。
BackTrack和Kali Linux都是全球的计算机及网络精英所创所爱的操作系统,因为BackTrack系统是Kali Linux的老版本,它上面有些工具在后期不会进行更新和维护了,所以我下载的是最新的2016.1-i386版,至于安装系统,我用的u盘安装,制作启动盘也很简单,在linux下用dd命令把系统映像直接写入到u盘(插入u盘后,如果u盘在/dev目录下识别为:sdb的话,命令为:sudo dd if=kali-linux-2016.1-i386.iso of=/dev/sdb).kali linux下有很多网络工具都已经集成好了,我们学会使用就行,主要学好道,道生术,道法自然!
渗透有从内网渗透,也有从外网渗透,不管是哪一种,渗透原理都差不多,首先是信息的收集,其次是漏洞的查找,然后才可进行渗透,破密解码等入侵操作,最后就是清除入侵痕迹。
知己知彼,百战不殆。收集对方的信息,比如DNS,IP,姓名,身份证号,手机号,住址及其亲密人员的信息等,这些信息都有利于后期工作的进行。对于DNS我们可以用whois,也可以用dnsdict6,dnsmap,dnsrecon,fierce来查询,这些全是开源工具,想深入学习的话可以去下载源码进行研究。当然我们也可以在一些ips(网络服务提供商)官网,以及域名注册机构网站上进行查找。通过DNS可以查看到对方域名下活动的主机ip(一些较大公司有多个主机在工作,即多个ip对应一个域名)。有了ip之后,可以对目标主机进行端口扫描,只有通过端口才能进入对方主机进行后期操作,它好比一个窗户。如果是从内网进行渗透,还可以查看数据包所经的路由节点,对于外网渗透就没必要了。端口扫描中最出名的就是nmap了,它支持多种扫描方式,而且用TCP Half open,FIN,Xmas,Null扫描方式不会在扫描对象上留下日志记录。在扫描过程中,可以把扫描结果导出以方便查看。(还一个叫做分布式Dnmap,我平时也没用过,Dnmap是由服务器和客户端组成,服务器向客户端发送nmap命令,客户端接受命令后执行,分别执行各种检查会增加负荷,使用Dnmap就能将负荷分布到客户端,nmap的结果以日志文件的形式保存到服务器和客户端)。dmitry也是一个用来收集主机信息的工具,它利用启动时间报告和TCP端口扫描信息,简单的whois查询来获取对象主机的信息。除了以上这些收集工具,想必大家一定听对google hacking吧,对GHDB(google hacking database),利用google来收集信息,GHDB服务以数据库的形式整理了利用google查找特殊资料,致命性资料的方法,以及寻找攻击漏洞的方法。
收集好了一些必要的资料信息之后就是查找对方的漏洞了,这一工作我个人认为非常难,除非对方的漏洞及其薄弱。由于我自身在这一环节上也比较无力,今后还得多加学习此环节的知识,因此这一环节就先从简进行总结概括。收集服务漏洞在kali linux下也有很多的工具可以供我们使用,第一个就是dirbuster,用来查看对方服务器目录结构,它是以暴力破解的方式检测出隐藏在网络和应用程序的文件或目录,并以此找出攻击因子。在漏洞查找这一环节上,更多的是通过之前的端口扫描把对方的服务器类型以及版本号给扫描出来,再到网上去查看此版本以前发现了的漏洞,然后再exploit。更深入的查找是去查找客户端可见的源代码(这就要求对前端的相关语言有一定的了解)。
漏洞查找完成之后,如果找到了对方的漏洞就可以进行渗透了,否则就stop吧!这一阶断比较出名的工具就是metasploit,metasploit框架本身包涵了诸多应用程序的漏洞代码,当你所找到的漏洞也包涵在其中的话,就可以通过它进行exploit。此外再列出其它几个好用的工具:fasttrack,exploit-DB,SSLScan,digicert,SQLmap.在此记录一个文件上传漏洞吧,看到此书的作者对此情有独钟,文件上传漏洞是指利用文件上传功能验证失误来上传包含恶意代码的文件,并以此渗透系统,获取权限的攻击,多发生在具有文件附加功能的空间中;对于成功渗透进了对方系统后,还可以留下后门以便下次轻松进入对方系统当中,制作后门的工具也有不少,比如:weevely可生成web shell并利用上传到服务的文件渗透到内部系统,在远程攻击者中以telnet环境呈现。攻击OS后门:cymothoa是stealth后门工具,向已有进程插入后门shellcode,它在操作和感染进程时使用ptrace程序库。
对于清除日志文件,由于对方系统会记录下日志信息,如果不清除的话,对方管理员会查到你所做的一切,从而搜捕到你。对于老手们是修改日志文件,只把与入侵相关的记录清除,并还原timestamp,而新手有时就会忘记这一步,或者直接把日志文件全部清空。