大二下学期5月5日晚上,西工大长安校区教学西楼,作为一名网安专业本科生,从大一便立志学好网安知识,报效祖国,却苦于没有优秀学习资源,就把这事儿拖到了大二,最近上了一门专业课,如同醍醐灌顶,找到了很多优秀学习资源,我想把它们分享给大家,尽快走出新手村,为国家网络安全事业添砖加瓦,为国家贡献力量。
优秀的网站基本都在国外,但因为在国内访问国外网站很慢,所以为了加快访问速度,我认为大家可以使用梯子,请大家原谅我使用”梯子“这个行业黑话,因为如果不用“梯子”而用那个词的话,审核会不通过。我使用的梯子是aurora,我花了274.36买了个年卡会员,经常使用“深港-09”,“滬日-02”,网速较快,并且之前曾经分两个月买过会员,每一天都能正常使用,我认为它不是骗钱的网站,所以推荐给大家。要想下载aurora,需要上github网站,因为当我把原网址放出来后,审核不通过,显示“fanqiang”,原谅我只打了拼音,因为审核太严通过不了。所以我只把网址的部分内容写出来:github.com/getaurora/download,如果要访问原始网站,就在这个网址的部分内容前面添加“https://”,就可以成功访问。
在“极光 (aurora)最新版本下载 Latest version of aurora”下面,点击“Windows”, 下载任务会自动开始,但是因为下载速度很慢,即使使用梯子,速度也和没有使用梯子一样慢,所以我不建议大家用这种方式下载。因为我前段时间参加学校数学建模比赛,为了让队员都能够比不使用梯子时更快访问国外网站,我曾经把这个安装包发到了QQ群里,而且我没有删除QQ内存,所以我能把这个安装包分享给大家。因为我不喜欢用百度网盘或者阿里云盘,而且我还是个大学生,没有很多的零用钱租用一个linux服务器,所以我准备在淘宝上购买一台二手linux服务器,搭建一个网站地址,当大家进入到界面以后,点击某一个超链接,下载任务就会自动开始。但因为我最近零花钱不多,花了89块买了个Typora的正版,还在淘宝上花10块多买了个《计算机组成原理白中英第六版》的课本PDF和习题解答,前些天花274块买了个极光的年卡,又花了122买了个HTB Academy的会员,一个月能够200个Cube,所以经济比较吃紧,希望大家原谅。
下载完成之后,运行aurora,大家都是免费用户,能使用的线路很少,并且都是“拥挤”状态,如果大家对于网速要求不高,在一些国外网站做练习遇到困难时,能够耐下性子花费很长很长的时间找答案,那么大家可以不用购买会员。如果大家对于网速要求很高,并且遇到上述这种情况时,不能耐下性子花费很长时间找答案,那么大家应该购买会员。但因为默认的购买方式只有包年,很贵,而大家更希望的是包月,所以为了获取包月购买途径,可以使用[email protected]这个邮箱,给客服回信。这个是可行的方法,因为我两次购买包月会员时,用的就是这个方法。
笔记本通过梯子连接到外网之后,就可以访问国外的网站。我正在学习的网站是HTB Academy,网址是:Best Online Cybersecurity Courses & Certifications | HTB Academy
虽然国内也有些好的网络安全学习网站,但我在这些网站上,并没有找到答案背后每一步的原因,只有一个生硬的答案,这对我们的学习并不利。拿CTFHUB举例,有一个小实验叫做“布尔盲注”,属于“SQL注入”这个大项目底下的一个小实验。我不会做这个小实验,就去网上找答案,拿我找到的一个答案片段为例,“1 and (select count(table_name) from information_schema.tables where table_schema=database())=2”, "1 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>110;"(不断改变范围,把第一张数据表的第一个字母猜解出来)"1 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),2,1))>110"(不断改变范围,把第一张数据表的第二个字母猜解出来)"1 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),3,1))>110"(不断改变范围,把第一张数据表的第三个字母猜解出来)。这样的学习方式对大家并不好,因为它把每一步要干什么都说了出来,没有给大家思考和自由发挥的空间。
相比之下,HTB Academy这个网站就给了大家思考和自由发挥的空间,拿“Attacking Web Applications with Ffuf”下面的“Directory Fuzzing”模块举例,首先,网页让我们“apt install ffuf -y”命令,从Github Repo中自动下载安装配置好ffuf工具,接着在linux系统的terminal中,使用“ffuf -h”命令,查看关于ffuf这条命令的帮助,接着开始执行对目录进行模糊测试,用通俗的话讲,就是开始看目标IP下有几个文件夹。
因为给定IP的电脑可能是公司的某一部电脑,而一般情况下,为了符合公司标准,文件夹的起名不能天马行空,我行我素,比如新建一个文件夹叫作“duanqixin”,这就是不允许的,公司的要求是,一个文件夹,它的名字必须都被公司员工公认,比如“Department1”就是“部门1”, "Human Resource"就是“人事部”等。因为公司文件夹的名称是公司员工公认的名称,而被公司员工公认的名称一般都被公司内外的所有人所公认,所以可以收集一个文件,里面可能有87992条常用的公司文件夹名称,然后挨个试,就能够搞清楚目标IP的电脑下有几个文件夹。
开始看目标IP下有几个文件夹,网页告诉我们,需要两个工具,一个是ffuf工具,这个工具已经下载安装配置好了,另一个工具是收集到的那一个公司常用文件夹名称文件,在Github上已经有收集好的文件了,作为初学者,网页告诉我们要借用它们的力量,下载好这个公司常用文件夹名称的文件之后,两个工具都准备好了,我们就可以开始执行任务了。假如目标公司IP是192.168.8.145,端口号是31792,而我们的笔记本使用Kali虚拟机,用户名是dqx,主机名叫作kali,在桌面上右键点击了“Open in Terminal”, 公司常用文件夹名称的文件的地址是/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt,在这些假设的前提下,我们使用命令:
┌──(dqx㉿kali)-[~/Desktop]
└─$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt:FUZZ -u http://192.168.8.145:31792/FUZZ
Terminal就能够自动开始试,看在收集到的公司文件夹名称中,有几个真的是目标公司IP的文件夹。
在网页的最后,网页还给出了一个实验题,让我们跟着网页给出的例子,在自己的笔记本的Kali虚拟机上亲自动手做一遍,并且把网页要求我们找到的目录的名字作为答案,通过网页给提交。当初我在做的时候,答案是“forum”,当我点击“Submit”按钮提交之后,答案正确。虽然收到了0个cube作为奖励,但内心仍然是很开心的。
因为写到这里的时候,已经到了10点多,保安大爷进教室关掉了前排的教室灯,说“关灯了,走的时候把灯关了”,回到宿舍以后,选择了休息放松,所以我在那一天只写到了这里。现在是5月7号半夜12点,我又开始接着写没有写完的这部分了。
因为已经是半夜12点了,我想早点睡觉,这样子明天的作息会更规律一些,所以我简短的给大家汇报一下,我在“HTB Academy”上的学习经历,希望大家看了我的经历后,也能一起参与到HTB Academy的学习中来。
首先,因为教我们“信息安全基础能力训练”这门课的张老师,给我们布置了“HTB Academy”上的“Introduction to Web Application”作业,让我们完成这个Module下的11个问题,所以我才第一次接触了HTB Academy。但当我学习这个Module的时候,我发现它在讲某一部分的时候,讲的很详细,最重要的是,它给了很多延伸的网站,如
https://en.wikipedia.org/wiki/Load_balancing_(computing)
等,这让我很喜欢它。另外,因为它的界面是英文,因为我阅读英文的速度慢,阅读中文的速度快,所以我在阅读英文的时候,速度提不起来,这样子让我能认认真真的读进去,最后收获了相比读中文所收获不到的效果:
接着,趁着第一次接触它的热情,我继续学习了“Attacking Web Applications With Fuff”, "Web Requests", "JavaScript Deobfuscation", 还有介绍性的两个Module“Getting Started”和“Intro to Academy”。另外在“Getting Started”中,我第一次跟着教程一步一步走,Hack了一个Box,这个Box名字叫作Nibble。接着在它下面给的练习题中,我还Hack了第二个Box,这个Box的名字叫作GetSimple。在Hack的过程中,记录下了每一步的过程:
在遇到不会的时候,我还看Youtube上的解答,因为我把链接直接放上来时,审核不通过,说我,所以我只好把链接的一部分放到这里:www.youtube.com/watch?v=sA0P3umTVOU, 如果想要进入到完整链接,就在链接的一部分的前面,添加"https://",就可以进入到Youtube网站。
知道原来在msfconsole成功exploit得到的命令框中,可以通过“shell”命令,获取一个shell,并且还可以使用命令“CMD="/bin/sh"”,“sudo php -r "system('$CMD');"”来讲权限从用户升级到root,这条命令我今天并没有明白,而且现在也12点35了,不早了,该睡觉了。