针对网站的暴破主要需要用到Burpsuite中的intruder模块,下面结合CTF例题“Bugku-Web-好像需要密码”来介绍该模块的基本用法。打开题目之后,提示输入5位数密码,随意输入密码之后,提示“密码不正确,请重新输入”,很明显是要暴破。 抓包发送到Intruder模块,然后在Positions中设置变量,在变量的两侧会加上$符号。变量也就是要暴破的目标,Burpsuite会用
字典文件处理好之后,下面就继续寻找在哪里可以使用到这个字典文件。我们继续分析之前的扫描结果,其中的admin和login都是敏感目录,因为这些目录很可能就是网站的后台登录界面。 依次访问这两个目录,其中admin目录的页面在不断刷新,而访问login目录则会自动跳转到后台登录界面,而且网站所使用的CMS是WordPress。这里之所以知道这个网站使用的是WordPress,主要是因为网页
在上篇博文中,我们通过robots.txt文件发现了一个字典文件fsocity.dic,在Kali中使用wget命令下载这个文件:wget http://192.168.80.133/fsocity.dic 然后查看文件共有85万多行,也就是有85万多个密码。 这个字典文件中的密码数量不算少,字典文件主要是用于暴破,而密码数量越多,暴破需要花费的时间就越长。所以对于获取到的字典文件,我们
下面我们来分析一下扫描结果,其中首先关注到的就是robots文件。其实对于这个靶机,如果具备了一些网络安全的基础知识,只要看到“MrRobot”这个名字,根本不需要扫描,就自然能够联想到去查看网站中的robots文件。robots.txt是一种存放于网站根目录下的文本文件,通常用于向搜索引擎的爬虫表明,网站中的哪些内容是可以抓取的、哪些内容是不可以抓取的。robots.txt文件在很多网站中都被采
扫描网站的主要目的是试图发现网站中的敏感文件或敏感目录,这类扫描工具的原理都差不多,基本上都是基于字典对网站的敏感文件或敏感目录进行扫描,并通过返回的HTTP响应状态码来判断目标是否存在。扫描工具的速度主要与所使用的字典文件大小相关,字典越大,扫描速度越慢。下面介绍几个我感觉比较不错的扫描工具。(1)ctf-wscanctf-wscan是一款专门针对CTF比赛的扫描工具,字典文件比较小,因而扫描速
在HTTP响应头中有一部分非常重要的信息就是响应行中的状态码。状态码都是由三位数字组成,比如状态码200表示请求成功。状态码主要分为5个大类: 1xx:100-101,指示信息。这种状态码很少见到。 2xx:200-206,客户端请求被服务器成功接收并处理后返回的响应; 3xx:300-305,重定向,通常都是在身份认证成功后重定向到一个页面; 4x
51CTO的美女管家建议配合正在举办的春季充电节活动,继续每日更新博客,所以下面就继续开始这个系列的第二部分。在这个系列里首先要做的第一台靶机:MR-ROBOT: 1靶机页面:https://www.vulnhub.com/entry/mr-robot-1,151/VMWare虚拟机镜像下载地址:https://download.vulnhub.com/mrrobot/mrRobot.
这个系列的文章暂时就更新到这里了,本系列的所有内容之前已经录制过一套课程:VulnHub靶场实战系列课程(1)不过当时这套课程是针对本科大三学生讲的,有些内容可能对初学者不是很友好。当前发布的这一系列文章在之前的基础上做了不少调整,目的就是打造一套真正面向零基础初学者的课程,尤其是适合像高职这样对实践能力要求比较强的学生。我在尝试按照这个思路做成一个系列课程,也就是以具体的靶机实战为线,把
在上篇博文里,我们通过查看内核版本,确定靶机存在脏牛漏洞,下面继续介绍如何利用脏牛漏洞提权。通过脏牛漏洞可以直接实现提权,该漏洞的exploit也已经集成在Kali中,利用searchsploit搜索cow相关的exploit,可以发现脏牛漏洞所影响的系统内核版本是2.6.22~3.9。 首先查看这个exploit的具体路径:下面我们需要将这个exploit传到靶机中去编译执行,如何在
脏牛漏洞是在Linux内核中存在的一个漏洞,具体原理是get_user_page内核函数在处理Copy-on-Write(简称COW)的过程中,可能产生竞态条件造成COW过程被破坏。这里我们不需要去理解漏洞原理,只需要知道如何利用该漏洞就可以了。在2007年发布的Linux内核版本中就已经存在此漏洞,一直到2016年10月18日Linux kernel团队才对这个漏洞进行了修复。所以要想使用脏牛漏
之前我们通过全端口扫描,发现靶机上还开放了一个TCP1898端口,在这个端口上运行的才是真正的网站。打开网站之后发现其中的信息很简单,当然最关键是可以发现对这个网站应该会有点熟悉,而且在网站的最下方发现“Powered by Drupal”,很明显这个网站也是用Drupal开发的。另外通过title图标也可以识别。 下面继续用whatweb探测Drupal的版本,发现也是Drupal7。
之前分别从应用和理论的角度解释了什么是端口,下面再谈谈端口的分类。在TCP/IP协议中是用一个16位的二进制数来为表示端口号,所以端口号的十进制取值范围是0~65535,其中0端口未用,可用的端口号范围是1~65535。这些端口号总体被分为两大类:固定端口:1~1023随机端口:1024~65535端口号为什么要分为固定和随机?下面还是以之前在我的系统中访问51CTO博客的截图为例来说
上篇博文从应用层面解释了什么是端口:网络通信都是在socket之间进行的,socket中的IP用于定位计算机,socket中的端口号用于定位计算机中的程序。绝大多数需要进行网络通信的程序都会有相应的端口号,但注意我说的是“绝大多数”,而不是“所有”。比如我们经常使用的ping命令,就是一个不需要端口号的网络程序。那为什么有的网络程序需要端口,而有的又不需要呢?下面就从理论层面再进一步解释什么是端口
下面继续来做第3台靶机:Lampiao。靶机页面:https://www.vulnhub.com/entry/lampiao-1,249/VMWare虚拟机镜像下载地址:https://download.vulnhub.com/lampiao/Lampiao.zip这个靶机只有一个存放在root家目录中的flag,所以主要考察如何提权。按照常规操作,下面首先还是应当扫描出靶机的IP
下面回顾一下在第2台靶机中涉及的主要知识点。首先介绍了什么是CMS,在进行shentou测试时,判断目标网站是否采用了CMS是一个重要环节。对于知名的CMS,往往都有现成的exploit可以利用。对于这台靶机,就是通过searchsploit工具搜索到了针对Drupal的exploit,利用这个exploit直接就在网站中添加了一个管理员账号,从而获得了网站的管理权限。之前反复强调,对于shent
在了解了Hash算法以及MD5加密的基本概念之后,我们继续对靶机进行操作。之前我们在数据库配置文件中获得了数据库的管理员账号和密码:dbuser/R0ck3t,并用这个账号登录了MySQL,获取了存放在数据库中的网站用户账号和密码: 虽然大部分小型网站都是采用MD5加密方式来存放用户密码,但是我们这里看到的密码很明显不是MD5。百度一下就可以知道,在Drupal中采用了自己专门的Hash
在大多数情况下网站中存放用户密码都是使用的MD5加密,所以在CTF比赛中考察Hash算法主要是考察MD5,而且主要是考察如何来PoJieMD5所生成的Hash值。由于Hash算法单向加密的特点,从理论上来讲,Hash值是不可能被PoJie的,也就是说我们不可能根据Hash值来还原出密码明文。但在实践中却有很多宣称可以PoJie Hash值的网站,其实这些网站的原理都是基于暴力PoJie,也就是在这
在上篇博文中,我们通过查询MySQL数据库获取到了网站的管理员账号以及经过加密后的密码,大部分情况下,数据库中的密码都是采用的MD5加密。虽然Drupal这里采用的加密方式并不是MD5,但从初学者的角度,还是非常有必要先介绍一下MD5这种在网络安全中最常见到的加密方式。要了解MD5,首先要了解Hash。Hash是一种数学算法,这种算法最主要的特点,就是可以把一个任意大小的数据经过处理之后,得到一个
至此,我们已经拿到了这个靶机中的4个flag:flag1、flag3、flag4以及thefinalflag,但是还有flag2没有拿到。联想到之前flag1给出的提示:Every good CMS needs a config file那么flag2很可能是藏在网站的数据库配置文件中。关于数据库配置文件在上个靶机中已经介绍过,这里再回顾一下。由于网站中的绝大部分数据都是保存在数据库中,所以网站必
在上篇文章中,我们找到了靶机中的find命令被设置了SUID权限,那么如何利用find来提权呢?这里需要用到find命令的exec处理动作。之前说过,find属于Linux中比较复杂的一个命令,主要原因就是它的各种选项和用法太多了,其中exec处理动作就属于find命令的一种比较高级的用法。所谓的“处理动作”是指我们不仅能用find命令来查找,而且还可以对找到的结果进行进一步的处理,比如删除或复制
虽然通常不建议我们自己去设置SUID,但有时为了完成某些需求,可能确实需要设置SUID,那么在工作结束后,也应该再把临时设置的SUID给及时去掉,否则的话就容易产生漏洞。从shentou测试的角度,由于SUID可以用root用户的身份运行指定程序,所以经常被用来提权。但是要想用SUID成功提权,必须要具备前提条件:系统中必须有除了默认设置之外的,其它被设置了SUID的程序,而且这些程序还要具备运行
在上个靶机中,我们介绍了sudo提权。sudo主要是用来给普通用户分配权限,在当前靶机中我们虽然也获取了系统Shell,但这个Shell是通过网站获取的。通过命令提示符也可以看出来,当前所使用的用户是“www-data”:这是一个用来支撑Web服务程序运行的程序用户,像这种用户并没有登录系统的权限,也无需设置密码,更不会被配置sudo授权。所以在这种情况下,基本不用考虑利用sudo来提权。这里再介
Meterpreter中提供的Shell没有命令提示符,在使用的时候感觉有些别扭,而且在执行某些操作时会出现错误(比如进入MySQL的交互模式等),所以这里通常都会使用Python的pty模块来获得一个Linux系统的Bash Shell。pty模块的使用很简单,而且这是Python的内置模块,无需安装即可直接调用。我们先进入IDLE交互模式了解一下这个模块的基本用法。执行import pty即可
继续查看searchsploit搜索出来的exploit,其中有些exploit的描述信息中带有(Metasploit),表示这个exploit已经被集成到了Metasploit中,所以下面我们就使用Metasploit来继续进行shentou。 Metasploit Framework(通常简称MSF),是一个强大的漏洞利用和测试平台,其中集成了大量的漏洞利用工具,并且不断更新。在Ka
我们继续在百度中搜索Drupal7的相关漏洞,但是搜索到的内容非常多也比较杂,而且搜索到的基本上都是一些技术资料,要看懂这些资料并能实现操作,肯定是要有一定的基础才行。对于初学者有一种更为简便的方法,就是直接使用别人已经写好的漏洞利用工具。比如我们已经知道当前靶机中的目标网站是Drupal7,而且这个版本存在很多漏洞,那么就可以直接去查找使用这些漏洞的利用工具。这样即使我们对这些漏洞的原理没有任何
下面我们继续来做本课程中的第2台靶机——DC: 1。靶机页面:https://www.vulnhub.com/entry/dc-1,292/VMWare虚拟机镜像下载地址:http://www.five86.com/downloads/DC-1.zip难度级别:beginner(初学者)靶机描述:靶机里共有5个flag,终极flag存放在root家目录中。将靶机下载并导入虚拟机,仍
至此,我们就拿到了”ME AND MY GIRLFRIEND: 1“靶机中的所有flag,这是一个非常简单的入门级靶机,但是通过这个靶机我们可以大概了解shentou测试的整体流程: 大概回顾一下对这个靶机的shentou过程:首先用nmap扫描出靶机开放了TCP22和TCP80端口,并获知了所运行的服务版本,这属于是信息收集。然后对网站进行shentou,通过越权访问漏洞获得了网站中的
在这个靶机中其实还存在另外一个漏洞,利用这个漏洞也可以提权。要实现同一个目的,往往有很多不同的方法,对每一种方法我们都要尽可能掌握。这个漏洞就是数据库配置文件。我们首先回顾一下之前在搭建DVWA网站时曾修改过的数据库配置文件dvwa/config/ config.inc.php: 在这个文件中我们需要将db_password修改为自己给MySQL的root用户设置的密码。MySQL的管理
如果一个普通用户被配置了sudo授权,那么在执行被授权的命令时就直接拥有了root权限,所以利用sudo提权是我们最容易想到的方式。我们继续对靶机进行操作,以alice的身份通过SSH服务登录靶机,然后查看alice是否被配置了sudo授权:alice@gfriEND:~$ sudo -lMatching Defaults entries for alice on gfriEND: env_r
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号