zoukankan      html  css  js  c++  java
  • Kali Linux渗透测试实战 1.4 小试牛刀

    目录

    1.4 小试牛刀... 1

    1.4.1 信息搜集... 1

    whois查询... 1

    服务指纹识别... 1

    端口扫描... 2

    综合性扫描... 3

    1.4.2 发现漏洞... 3

    1.4.3 攻击与权限维持... 5

    小结... 7

     

     

    1.4 小试牛刀

    本节作为第一章的最后一节,给大家展示一个渗透测试的简单示例。该示例操作简单,环境真实,主要是为了给您一个整体上的感知,同时提升学习渗透测试的兴趣。渗透测试的每一步并没有记录完整的细节信息。

    首先,我选择了一个测试站点,下面对该站点www.xxxxoooo.cn,下面对其进行渗透测试。

    1.4.1 信息搜集

    whois查询

    因为是cn域名,直接到http://ewhois.cnnic.net.cn查询,更方便。

    结果如下:

    服务指纹识别

    很多个人站点,都没有自定义错误信息的习惯。在url上随便输入一个不存在的地址,看是否会返回有用的信息。

    通过上图,我们知道该站点的应用程序由php编写,web服务器为Apathe/2.2.22,操作系统为Ubuntu

    下面我们通过指纹识别工具,进行识别。

    在终端启动nmap,输入如下命令:

    nmap -A -T4 www.xxxxoooo.cn

    如图,识别出来的服务和系统信息与报错信息一致。

    端口扫描

    在终端执行如下命令,使用nmaptcp半开扫描方式来扫描打开的端口。

    nmap -sS <targetiste>

     

    综合性扫描

    该站点是需要登录的,所以在非登录情况下,常规扫描一般情况下意义不大。但是做一个基本的站点扫描还是必须的。当然很多工具是支持登录扫描的。

    因为是web应用,一般情况下,我们是需要进行完整的web应用的漏洞扫描的。本实例忽略此步骤。

    1.4.2 发现漏洞

    对于web应用,我们通常从操作系统、服务、应用本身三个方面来挖掘漏洞。

    从站点应用上分析,一般的php程序会安装phpmyadmin组件,用来管理数据库。google一下,我们就会知道phpmyadmin 默认安装在站点根目录下。测试一下当前站点是否也在默认目录下安装了phpmyadmin呢?

    ok,确实存在phpmyadmin

    继续google phpmyadmin 默认用户名密码”。Googele之后,我们知道:“phpMyAdmin默认使用的是MySQL的帐户和密码”。MySql的默认账户是root,默认密码是空,但是phpmyadmin是不允许空密码的。

    继续 Googleinurl: phpmyadmin,可以看到很多关于phpmyadmin的文章。

    这些文章略过,googlehack phpmyadmin”,看看有什么发现?

    在这篇文章《Hacking PHPMyadmin (when import.php deleted)》(https://www.facebook.com/learnadvhacking/posts/556247631077238)中,我注意到

    很多站点都配置默认密码为root。是不是也可以尝试下呢?

    输入用户名root,密码root,奇迹就这么出现了,直接登录管理后台。

    进入后台之后,我们得到了更为详尽的信息,为我们下一步攻击打下了基础

     

    1.4.3 攻击与权限维持

    上面的步骤,我们完成了对网站数据库的攻击,其实拿到了网站数据库,就是拿到了整个网站的控制权。

    如何利用phpmyadmin进行提权,从而得到服务器的控制权呢?

    目前在phpmyadmin后台,我们可以操作表,向表中写数据,如果数据库有权限dump数据到web站点所在的文件夹,那么可以先将一个网马写到数据库再保存到磁盘本地,再从浏览器访问网马,是不是就可以了呢?

    首先在phpmyadmin后台找到一个数据库,在“SQL”选项卡执行sql语句创建一个表“hacker”。

    语句执行成功后,再插入一条数据,代码很简单,希望能用phpsystem函数执行系统指令。

    INSERT INTO hacker (packet)
    VALUES(
    '<pre><body bgcolor=silver><? @system($_GET["cmd"]); ?></body></pre>'
    );

    下一步就是保存插入的记录到站点目录下,但是站点的物理路径是什么呢?我在观察页面请求链接的时候,发现一个404链接。

    404链接的路径是http://www.xxxxx.cn/var/www/productions/22_production.zip。这个是进行网站开发时候常犯的静态链接的错误,那是不是说网站的根目录在”/var/www”下呢,我把去掉”/var/www”,文件可以被正常访问。其实这也是ubuntu默认的站点目录。接下来就试试有没有权限保存文件了。

    经过一番查找,终于找到一个有写权限的目录,将网马写到web目录中,得到了webshell,接下来就不用详解了吧。

     

     

    小结

    这个简单的小例子,只是想告诉大家,渗透测试有什么并没有那么困难。也没有哪种方法,哪个工具或者平台是万能的,最重要的是你自己的努力和思考。

    从下一节开始,我们正式进入渗透测试的学习之旅。

    2.1--DNS信息搜集》。

    更多相关文章   www.xuanhun521.com

    ps:对此文章或者安全、安全编程感兴趣的读者,可以加qq群:Hacking:303242737;Hacking-2群:147098303;Hacking-3群:31371755;hacking-4群:201891680;Hacking-5群:316885176

  • 相关阅读:
    创建struct类型的数组
    simulate windows touch input
    Could not load file using Ranorex runtime : General Questions
    UIAutomator 编译
    w3cmark前端精彩博文周报 10.27-11.2
    w3cmark前端精彩博文周报 10.20-10.27
    w3cmark前端精彩博文周报 10.13-10.19
    sublime自定义snippet代码片段
    Iconfont在移动端遇到问题的探讨
    一个小效果引出的兼容性探讨
  • 原文地址:https://www.cnblogs.com/xuanhun/p/3479130.html
Copyright © 2011-2022 走看看