• John the Ripper快速密码破解工具简单使用


    在某场比赛中师傅们说需要用到该工具,学习之

    题目给了我们一个流量包,分析

    发现 .hint.php.swp文件

    该文件是使用 vim 编辑文件时异常退出而产生的,可以通过 vim -r 文件名 进行相应的恢复,但在这里我们直接跟踪流向下看

    存在提示:

    You need to get two passwords. They are user passwords and website background passwords. After obtaining, submit using MD5 encryption.

    也就是说在流量包里存在两个密码:user passwords和website background passwords

    寻找一番,发现使用伪协议读取 sql 文件的流量包:

    导出流量包中的所有文件,发现test.sql的base64编码:

    解码得到:

    -- MySQL dump 10.13  Distrib 5.7.19, for Linux (i686)
    --
    -- Host: localhost    Database: test
    -- ------------------------------------------------------
    -- Server version   5.7.19-0ubuntu0.16.04.1
    ​
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    ​
    --
    -- Table structure for table `admin`
    --
    ​
    drop database if exists `test`;
    create database `test`;
    use test;
    ​
    DROP TABLE IF EXISTS `admin`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `admin` (
      `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `user_name` varchar(255) NOT NULL DEFAULT '',
      `user_pass` varchar(255) NOT NULL DEFAULT '',
      PRIMARY KEY (`user_id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
    /*!40101 SET character_set_client = @saved_cs_client */;
    ​
    --
    -- Dumping data for table `admin`
    --
    ​
    LOCK TABLES `admin` WRITE;
    /*!40000 ALTER TABLE `admin` DISABLE KEYS */;
    INSERT INTO `admin` VALUES (1,'admin','AA00A');
    /*!40000 ALTER TABLE `admin` ENABLE KEYS */;
    UNLOCK TABLES;
    ​
    --
    -- Table structure for table `news`
    --
    ​
    DROP TABLE IF EXISTS `news`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `news` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `news` varchar(255) NOT NULL DEFAULT '',
      `pub_date` date NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
    /*!40101 SET character_set_client = @saved_cs_client */;
    ​
    --
    -- Dumping data for table `news`
    --
    ​
    LOCK TABLES `news` WRITE;
    /*!40000 ALTER TABLE `news` DISABLE KEYS */;
    INSERT INTO `news` VALUES (1,'这是第一条内容','2018-09-28'),(2,'这是第二条内容','2018-09-28'),(3,'这是第三条内容','2018-03-04');
    /*!40000 ALTER TABLE `news` ENABLE KEYS */;
    UNLOCK TABLES;
    /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
    ​
    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
    ​
    -- Dump completed on 2018-07-05 16:57:17

    其中关键点在:

    INSERT INTO `admin` VALUES (1,'admin','AA00A');

    可知一个密码为:AA00A

    继续寻找第二个密码,发现shadow文件:

    pgs用户加密后的密码为:

    pgs:$6$NXa3ixa0$MWZrFvwSm2VoRLIg5twVGZmJtWqX4PIcdxyC.4mWidRnYgy3HmZ1lejm63mnUG3YrcNZmzszdujiGRnmBRZFE1:18345:0:99999:7:::

    接着使用John the Ripper进行密码的破解。

    关于John the Ripper,有:

    该工具 kali 自带,但我虚拟机里没有安装kali,在云服务器上使用 apt 命令进行安装:

    sudo apt-get install john

    安装完成后可以使用 john 查看参数

    我们可以先本地练习一下其使用,创建 test 用户,并将它的密码设置为 test

    sudo useradd -m test

    设置密码:

    sudo passwd test

    查看 /etc/shadow 文件,将test用户那一行的shadow单独取出来放在另一个文件 shadow2 里

    test:$6$uuUsCKbB$wJO6H.PlhnY7RH3AbwMRP8ajTWIMEUznp.EyGfTfITex0LwIywNyqKSzU5EyDn2788FAUMUFkbCIhoh/SHRh1/:18537:0:99999:7:::

    使用命令:

    john --wordlist=/usr/share/john/password.lst shadow2
    

      

    使用 --wordlist 参数 指定安装 john 时自带的字典 password.lst 密码文件进行爆破

    可以看到爆破出密码也为test,成功爆破

    遗憾的是,虽然验证了使用的基础方法,但是还是没能爆破出流量包里pgs用户的密码,有师傅说密码是:newcount

    但即便将密码加到密码字典里,仍然爆破不出密码,还是字典不够强大,本篇就当做是学习工具的使用了

     

    参考链接

     

     

  • 相关阅读:
    LVM
    Linux 压缩归档
    <基础> PHP 字符串操作
    <基础> PHP 数组操作
    PHP 文件操作类(转载)
    Linux 磁盘管理(分区、创建文件系统、挂载)
    文件系统(File System)
    Linux 硬链接、软链接
    Django基础一
    数据库约束
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/13762116.html
Copyright © 2020-2023  润新知