目录
靶机下载地址:https://www.vulnhub.com/entry/ha-sherlock,580/
信息搜集
扫描网段获取真实IP地址
扫描IP地址获取服务以及开放端口信息
可以看到有好几个服务都是与邮件有关的一些协议,那么相信重头戏就是与邮件相关了
浏览器查看网站
在浏览整个网页之后,我想我大概明白我们要干什么了,应该是帮助夏洛克先生找到这次案件的真实凶手(神探夏洛克巨好看),案件大概就是有一位先生在他的公寓中遇害了,我们需要做的就是根据这位先生在他的电脑中留下来的线索找到凶手。侦探系列,我喜欢。
查看页面源代码发现隐藏信息
Harshit先生好像已经预见到了自己可能会遭遇到不测所以留下的线索,夏洛克现身告诉Irene有一个.mp4文件
那我们就来尝试在url中直接访问.mp4文件,一开始我以为是Harshit.mp4尝试过后不对,经过多番尝试之后确定文件名为 irene.mp4
访问之后观看并没有发现什么奇怪的点,随即将该视频文件下载下来看是否有信息隐藏在视频中。后来尝试过后发现好像是需要一个密钥才能将该文件解密但这也证明了这个文件确实有问题,我们的思路是正确的。那就去寻找更多的线索吧
发现漏洞
查看ssh服务发现线索
ssh 192.168.179.163
####
-... .- ... -.- . .-. ...- .. .-.. .-.. .
根据页面banner提示信息,我们可以得到这个肯定是跟刚才的irene.mp4有关的,并且后面明显是摩斯电码
解密摩斯电码得到密钥
这里多说一句,我试过国内的一些摩斯电码在线解码网站接出来是繁体字(理解为乱码)我觉得应该是编码问题,所以推荐使用国外的解码网站:https://morsecode.world/international/translator.html
BASKERVILLE
解密irene.mp4得到新的线索
our secret:下载地址
our secret是其实是一款加密软件,它可以将私密留言、照片或影片等藏进让人看到的图片、影片、文件这些负载文档里面,变成只有你知道的私密文档,当然也只有知道密码的人才能解开
解密得到第一个flag
解密的到一个15_Points.txt文件查看得到第一个flag
对了这个靶机一共是100分,这才刚15分所以还是任重道远啊
暴力破解pop3s得到用户名和密码
hydra -l harshit -P /usr/share/wordlists/rockyou.txt 192.168.179.163 pop3s
######
稍微解释一下:这个用户名呢,因为这个电脑是harshit先生的所以一般就会去尝试其实也可以
将所有出现过的人名都收集起来作为用户名字典也可以,然后这个pop3s是提供了ssl加密的pop3
至于为什么不直接爆破pop3是因为爆破不了(我试过了)
用户名:harshit
密码:superman
连接pop3端口并查看邮件
查看第一封信
openssl s_client -crlf -connect 192.168.179.163:110 -starttls pop3 #连接pop3客户端
user harshit
pass superman #账号密码登录
retr 1 查看第一封信
邮件内容就是威胁他,好像去年秋天有什么事,然后对方要开始报复了
第二封信
retr 2
如果说第一封信是威胁的化那么第二封信就是赤裸裸的恐吓了
第三封信
这话说得是越来越瘆人了。
这块其实我是没太看明白,官方给出得wp是因为epoch这个关键词。epoch:时期; 纪元;世;新时代;指的是一个特定的时间:1970-01-01 00:00:00 UTC。那我们都知道1970年一月一号是unix诞生的时间,那么这里隐藏的信息可能就会跟时间有关,那么我们就利用该邮件内的留下的时间看是否能转换出有效信息
找到第二个flag
百度
转换后得到一个历元时间戳
这串数字的含义其实就从1970-01-01 00:00:00到2020-05-27 11:02所经历的秒数
将该时间戳放在网站目录下
查看txt文件得到第二个falg
才10分这总共才25分还多呢(还有就是这块稍微有一点点乱,我也在尽可能的解释了)
该目录下还有一个john.mem文件,下载后查看是一堆乱码
寻找第三个flag
从扩展名来看.mem可以理解为一个内存转储文件,必须使用特定的应用程序才能打开。我们将会使用volatility框架进行分析
volatility
这个框架能够对导出的内存镜像镜像分析,能过通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump系统文件,屏幕截图,查看进程等等
具体查看:https://www.cnblogs.com/sesefadou/p/11804566.html
安装教程:https://www.cnblogs.com/yunqian2017/p/14769955.html
下载好后将john.mem放到volatility文件夹下
volatility -f john.mem imageinfo
###
Imageinfo:表示获取内存镜像的摘要信息,比如系统版本、硬件架构
volatility -f john.mem –profile=WinXPSPx86 notepad
###
--profile:是最有可能的操作系统
notepad:查看当前文件中的 notepad 文本
按理说这应该就是我们最终要得到的东西了,但是并不对。我们还需要进行最后一步rot13解码(这是官方的wp给的思路,具体是怎么看出来的我也不知道。感觉很牵强但后来想想也是别人加密的时候是不会告诉你的啊,这个时候就要自己去猜或者去试或者去尝试,你猜对了自然能解出来,要是思路不够宽泛那是一点辙也没有,这不也正是渗透测试的魅力所在么)
rot13解码
rot13:
ROT13(回转13位)是一种简易的替换式密码算法。它是一种在英文网络论坛用作隐藏八卦、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。ROT13 也是过去在古罗马开发的凯撒密码的一种变体。ROT13是它自身的逆反,即:要还原成原文只要使用同一算法即可得,故同样的操作可用于加密与解密。该算法并没有提供真正密码学上的保全,故它不应该被用于需要保全的用途上。它常常被当作弱加密示例的典型。
应用ROT13到一段文字上仅仅只需要检查字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后串行反转:N换成A、O换成B、最后Z换成M。只有这些出现在英文字母里的字符受影响;数字、符号、空白字符以及所有其他字符都不变。替换后的字母大小写保持不变。
在线解码地址:http://www.mxcz.net/tools/rot13.aspx
密文:Thcgpune
明文:Guptchar
登录ftp服务
将john作为用户名,Guptchar作为密码登录ftp
ftp 192.168.179.163
john
Guptchar
ls
cd files
ls -al
cat 10_Points.txt
###
没有查看命令,换思路将两个文件下载到本地
将两个文件下载到本地
get 10_Points.txt
get mycroft.001
在退出的当前文件夹目录下查看.txt文件又得到一个10分
ls -al
cat 10_Points.txt
寻找第四个flag
.001
.001扩展名与其他类似格式的数字扩展名一样,用于指出文件的当前状态和在一个有序序列中的位置,而不是文件格式或文件类型。这种数字扩展名用于识别第一个数据块,或从一个大文件被字节分割成几个小文件后产生的一系列这种数据块的部分。
.001文件是一系列两个或多个分块中的第一个数据分块。任何格式的文件都可以被字节分割成任意数量的数据块,而只有当所有数据块以适当的顺序连接起来时,才能恢复原始文件。文件分割用于大文件,以避免压缩,有时出于安全考虑。
Autopsy
Autopsy是Kali Linux预安装的一款磁盘镜像分析工具。该工具可以对磁盘镜像的卷和文件系统进行分析,支持Unix和Windows系统。Autopsy是一个命令行工具,但提供基于浏览器的图形界面。用户使用该工具,可以很轻松浏览镜像中的目录和文件,甚至是已删除的文件。同时,该工具提供强大的分析功能,允许用户直接分析磁盘块,关键字搜索,文件分类过滤。针对数字取证,该工具提供镜像完整性验证、文件MD5比对、文件操作时间表、报告生成功能
启动该工具,复制该url地址到浏览器进行操作
点击new case创建新的案例
随便填填即可,最后创建
将主机添加到case中
将 mycroft.001文件移动到/root/Downloads/下,我换了个文件夹是因为不知道为什么我在/usr/sbin/volatility/mycroft.001这个位置会报错
将.001文件的位置填入(每个人不一样文件位置正确即可)并选择partiton,因为.001文件并不是一个完整的磁盘文件()
到c盘下尽量将每个文件都查看一下,这里就直接找正确路径了
查看10_Points.txt文件得到第四个flag
寻找第五个flag
查看剩下的两个图片文件
看名字都知道第二个比较重要
这些十六进制数表示不同的组建的源地址和目标地址等,但是很奇怪的是居然有个标红的16将16转换为10进制数
得到一个22.22的意思应该是22端口。然后将浅绿色的这串16进制数转换为文本
在线网址:http://www.unit-conversion.info/texttools/hexadecimal/
Khufiya在印地语里是机密的意思(就离了个大谱)
getshell
我们找到过一个Mycroft.png的文件,然后解密出了一串字符串: Khufiya,然后还有相关的22号端口,就跟我们之前找的那个john.mem和解密出的Guptchar一样,用文件名做用户名,解密出的字符串做密码去登录
登录ssh
ssh mycroft@192.168.179.163
Khufiya
发现txt文件并查看得到第五个flag
ls -al
cat 15_Points.txt
寻找第六个flag
将jim.wav文件下载:方法有很多我用的nc 管用即可
Audacity
Audacity是一款支持Linux、MacOS以及Windows等多种平台的快速多轨音频编辑、录制工具,支持WAV, AIFF, Ogg和MP3格式音乐文件,提供编辑、混音功能并提供预置效果、插件和无限次反悔操作。
下载地址:https://www.audacityteam.org/download/linux/
不用安装下载好给一个执行权限直接运行就可以了
使用该文件打开jim.wav文件看到deepsound提示
deepsound2john.py
deepsound2john.py是kali自带的暴力破解脚本
/usr/share/john/deepsound2john.py jim.wav > hash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
john hash --show
下载DeepSound2:https://maddownload.com/audio-video/audio-editors/deepsound/download/
到生成文件目录下查看txt文件得到第六个flag
寻找第七个flag
查看creds.txt文件
解密后得到 Bhediya
登录Sherlock 密码为Bhediya
ssh sherlock@192.168.179.163
Bhediya
ls -al
sudo bash
cd /root
ls -al
cat final.txt
总结
说实话这种类型的靶机我还是第一次做,所以差不多是一个全新的领域。那自然也是能学到很多东西,要素过多。这个靶场整篇都是围绕着隐藏文件以及各种解密方式来进行的。学习到了好多之前接触不到的多种类型的文件,还有好多分析的工具比如说:Autopsy DeepSound2等等,这都是在扩展自己的知识面,学起来也很带劲。但是也从侧面反映出来我真的太菜了这都不是啥啥都不会了,而是啥啥都没见过我都得上百度现查。继续努力啊