中国人民公安大学
Chinese people’ public security university
网络对抗技术
实验报告
实验三 |
密码破解技术 |
学生姓名 |
丁磐朔 |
年级 |
2017级 |
区队 |
17网安六区 |
指导教师 |
高见老师 |
信息技术与网络安全学院
2019年12月15日
实验任务总纲
2019—2020 学年 第 一 学期
一、实验目的
1.加深并消化本课程授课内容,复习所学过的互联网搜索技巧、方法和技术;
2.了解并熟悉常用加密算法、加解密工具、破解工具等互联网资源,对给定的密文、加密文件、系统密码进行破解;
3.达到巩固课程知识和实际应用的目的。
二、实验要求
1.认真阅读每个实验内容,需要截图的题目,需清晰截图并对截图进行标注和说明。
2.文档要求结构清晰,图文表达准确,标注规范。推理内容客观、合理、逻辑性强。
3.软件工具可使用john the ripper或hydra、字典生成器、pwdump7等。
4.实验结束后,保留电子文档。
三、实验步骤
1.准备
提前做好实验准备,实验前应把详细了解实验目的、实验要求和实验内容,熟悉并准备好实验用的软件工具,按照实验内容和要求提前做好实验内容的准备。
2.实验环境
描述实验所使用的硬件和软件环境(包括各种软件工具);
开机并启动软件office2003或2007、浏览器、加解密软件。
3.实验过程
1)启动系统和启动工具软件环境。
2)用软件工具实现实验内容。
4.实验报告
按照统一要求的实验报告格式书写实验报告。把按照模板格式编写的文档嵌入到实验报告文档中,文档按照规定的书写格式书写,表格要有表说图形要有图说。
工具在这里(校内网站访问)
http://121.194.212.168/eol/homepage/course/layout/page/index.jsp?courseId=14280
左侧教学材料,相关工具与样本里
任务(一)
1. 请解密以下字符串35556C826BF3ADDFA2BB0F86E0819A6C。(附截图)
MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致;
从题干的32位16进制数即128位,可以推测该字符串可能经过MD5算法加密;
寻找MD5在线解密工具进行解密
2.这好像是一段歌词,请解密后告诉我歌名。
V2hlbiBJIGFtIGRvd24gYW5kLCBvaCBteSBzb3VsLCBzbyB3ZWFyeTsKV2hlbiB0cm91YmxlcyBjb21lIGFuZCBteSBoZWFydCBidXJkZW5lZCBiZTsKVGhlbiwgSSBhbSBzdGlsbCBhbmQgd2FpdCBoZXJlIGluIHRoZSBzaWxlbmNlLApVbnRpbCB5b3UgY29tZSBhbmQgc2l0IGF3aGlsZSB3aXRoIG1lLgpZb3UgcmFpc2UgbWUgdXAsIHNvIEkgY2FuIHN0YW5kIG9uIG1vdW50YWluczsKWW91IHJhaXNlIG1lIHVwLCB0byB3YWxrIG9uIHN0b3JteSBzZWFzOwpJIGFtIHN0cm9uZywgd2hlbiBJIGFtIG9uIHlvdXIgc2hvdWxkZXJzOwpZb3UgcmFpc2UgbWUgdXDigKYgVG8gbW9yZSB0aGFuIEkgY2FuIGJlLgpZb3UgcmFpc2UgbWUgdXAsIHNvIEkgY2FuIHN0YW5kIG9uIG1vdW50YWluczs=
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,可以参考RFC2045~RFC2049,上面有MIME的详细规范;
Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到;
Base64编码的特征:密文长度为4的整数倍。字符串的符号取值只能在A-Z, a-z, 0-9, +, /, =共计65个字符中,且=如果出现就必须在结尾出现;
从题干字符串的最后一位为=以及题干字符串的特征可以推测为Base64编码;
寻找Base64在线解密工具进行解密;
最终根据歌词得出为Raise me up这首歌
任务(二)
windows系统密码破解
1.在windows xp系统中使用 net user 123456 123456 /add添加用户123456,密码123456的账户;并使用net user命令确定用户添加成功。
2.使用pwdump软件导出本机的sam文件
sam文件中的新添加账户及其密码的加密后的字符串
3.通过saminside软件的Edit-Import local users using LSASS将sam文件导入,并进行破解,注意配置字典破解和暴力破解;
在这里统一选用默认的LM-Hashes attack(当然NT-Hashes attack亦可),分别采用字典破解和暴力破解
任务(三)
内存密码提取
在系统中为Administrator用户设置一个高强度密码;
使用minikatz工具对系统的密码进行提取,涉及两条命令;
第一条:privilege::debug //提升权限;
第二条:sekurlsa::logonpasswords //抓取密码
任务(四)
远程服务密码破解
两个同学配合完成,A同学搭建FTP服务器,并新建用户,并设置登陆密码
2.B同学使用hydra 对ftp用户的密码进行字典破解。hydra 中有关于该软件的使用命令语法。字典文件需要自己去生成。
任务(五)
应用程序密码破解
使用Rar crack软件破解,给出的RAR target文件的密码,并查看压缩包中的内容;
暴力破解:
字典破解:
压缩包中的内容:
是一篇关于气象的英语论文
任务(六)
完成对给定靶机的密码破解,并获取root权限。过程如下:
1.搜索开启80端口的靶机;
首先使用ifconfig命令查看kalilinux的ip地址为192.168.1.133/24,由于是在虚拟机上做的实验且采用的net模式上网,故推测靶机的ip地址和kalilinux在同一网段
2.通过nmap扫描发现其开放端口;
使用半连接扫描kalilinux所在网段,命令:nmap -sS 192.168.1.0/24或nmap -sS 192.168.1.1-255;
发现IP地址为192.168.1.110的靶机开启了80端口
3.于是,我们通过对网页的邮箱提取,形成用户表和密码表;
命令curl http://192.168.1.110/index2.php |grep -E -o "[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)
生成用户名字典
4. 通过ssh协议破解获取登陆密码;
用hydra对ssh协议进行爆破,得到一个用户名和密码
5. 登陆后查看用户的权限和用户组
查看group文件发现aadams在wheel组下且有较大权限,可用其提权
对目标进行提权
6. 提权获取shadow文件内容
获取其shadow文件,发现靶机内有4个用户
最后得到所有的用户和密码
7.通过对shadow文件破解获取root密码
尝试用root远程登陆,发现不成功
用aadams登录后su到root,成功登录到root
参照高见老师博客: john and hydra using de-ice1.100