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编码:
解码得到:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | -- 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 |
其中关键点在:
1 | INSERT INTO `admin` VALUES (1, 'admin' , 'AA00A' ); |
可知一个密码为:AA00A
继续寻找第二个密码,发现shadow文件:
pgs用户加密后的密码为:
1 | pgs:$6$NXa3ixa0$MWZrFvwSm2VoRLIg5twVGZmJtWqX4PIcdxyC.4mWidRnYgy3HmZ1lejm63mnUG3YrcNZmzszdujiGRnmBRZFE1:18345:0:99999:7::: |
接着使用John the Ripper进行密码的破解。
关于John the Ripper,有:
该工具 kali 自带,但我虚拟机里没有安装kali,在云服务器上使用 apt 命令进行安装:
1 | sudo apt-get install john |
安装完成后可以使用 john 查看参数
我们可以先本地练习一下其使用,创建 test 用户,并将它的密码设置为 test
1 | sudo useradd -m test |
设置密码:
1 | sudo passwd test |
查看 /etc/shadow 文件,将test用户那一行的shadow单独取出来放在另一个文件 shadow2 里
使用命令:
1 | john --wordlist= /usr/share/john/password .lst shadow2 |
使用 --wordlist 参数 指定安装 john 时自带的字典 password.lst 密码文件进行爆破
可以看到爆破出密码也为test,成功爆破
遗憾的是,虽然验证了使用的基础方法,但是还是没能爆破出流量包里pgs用户的密码,有师傅说密码是:newcount
但即便将密码加到密码字典里,仍然爆破不出密码,还是字典不够强大,本篇就当做是学习工具的使用了
参考链接:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容