Mr.Robot渗透测试:从信息收集到拿到flag

Mr.Robot渗透测试:从信息收集到拿到flag

注意到vulnhub上有一个名为Mr.Robot的测试机,这是以影视剧Mr.Robot为背景制作的,由于本人非常喜欢这部剧所以就开始了本次测试

Mr.Robot(黑客军团)(机器人先生)介绍

《黑客军团》(Mr. Robot)是一部美国心理惊悚电视剧,由Sam Esmail创作并执导,拉米·马雷克主演。该剧以一名纽约市网络安全工程师艾略特·奥尔德森(Elliot Alderson)为主角,他晚上化身为黑客,对抗大集团和资本主义社会的现状。全剧围绕黑客活动和政治阴谋展开,展现了主人公内心的挣扎和对社会的反叛。

该电视剧总共分为四季

第一季于2015年6月24日在USA电视台播出,受到了广大观众的喜爱和追捧。随后,该剧陆续推出了后续季度,每一季都延续了紧张刺激的故事情节和深入人心的角色塑造。

在剧中,艾略特作为一名网络安全工程师,利用自己的技能和黑客技术,发起对大型企业和政治势力的攻击,旨在揭露他们背后的阴谋和不公正行为。他与其他角色之间的复杂关系和心理斗争也是剧情的重要组成部分。

除了精彩的剧情和角色,该剧还受到了计算机从业者的青睐。剧中展示的黑客技术和网络安全问题都是基于现实世界的,使得观众能够更深入地了解这一领域的运作和挑战。

此外,《黑客军团》也引发了观众对于社会问题的思考。剧中揭示的资本主义社会的弊端、贫富差距以及权力斗争等问题,使得观众能够反思现实生活中的种种不公和矛盾。

总的来说,《黑客军团》是一部扣人心弦、引人深思的美剧。它通过黑客活动的外衣,探讨了现代社会中的种种问题,展现了人性的复杂性和社会的多元性。无论是对于剧情的追求还是对于社会问题的思考,该剧都值得一看。

在这里插入图片描述

开始

查看一下当前kali的IP地址,确定网段:ifconfig

在这里插入图片描述

可以看到当前主机IP地址为:192.168.11.128

通过nmap对当前网段的1-255主机进行发现扫描:nmap 192.168.11.1-255

在这里插入图片描述

可以看到,扫描到3台主机,其中192.168.11.129正是此次的目标机器,并且我们发现,其开放了22、80、443号端口,其中80端口为http服务

那么我们尝试在浏览器中访问服务器:

在这里插入图片描述

你以为这是网站对你开放的shell窗口吗?其实这只是一个名为Mr.Robot的游戏罢了,在command里面提供了几个命令供玩家尝试,仅此而已(开头的那句“Hello friend”就与电视剧开头一样)

可以发现该网站可以被正确的访问,但并没有提供任何可能存在漏洞的页面或者说页面的跳转

这个时候我们可以尝试对该网站的目录进行爆破,看看还有没有其他的页面或者存在什么样的文件

接下来我们通过:dirb http://192.168.11.129对站点进行目录探测扫描:

在这里插入图片描述

在对其根目录扫描完之后发现了几个认为有用的目录和文件:login、robots、robots.txt,其中robots目录就是robots.txt

尝试访问login页面:

在这里插入图片描述

这是一个PordPress的登录页面

在网上搜了一下,这是关于WordPress的介绍:

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。
同时,它也可以作为一个内容管理系统(CMS)来使用。WordPress提供了直观和用户友好的后台界面,使得用户可以轻松地创建、编辑和管理网站内容。
它拥有成千上万个各式插件和主题模板样式,用户可以根据需求选择适合自己网站风格的主题,并通过添加插件来扩展网站的功能。

但是并不知道并管理员账号和密码,登录不进去。那就继续收集一些有用的信息。

尝试访问robots页面:

在这里插入图片描述

在这里,直接得到了两个信息:fsocity.dickey-1-of-3.txt

尝试访问fsocity.dic

在这里插入图片描述

这里直接下载了一个文件,查看一下文件内容:

在这里插入图片描述

发现是一个类似于字典的文件,反正特别长

尝试访问key-1-of-3.txt

在这里插入图片描述

可以看到,就这样我们拿到了一个flag,并且是一个md5加密的数据,从文件名字上可以看出现在是第一个flag,后面还有三个。我们尝试对其md5进行解密:

在这里插入图片描述

但并没有得到解密的结果

我们现在返回到登录页面,从该页面入手看能否有进展。

首先随便输入一个用户名和密码:

在这里插入图片描述

可以看到,页面输出:没有这个用户名。那么现在那个字典文件就可以派上用场了,尝试使用那个字典是否可以爆破出一个有效的用户名,随后再根据有效的用户名尝试看看是否可以在爆破出密码。

在随便输入一个用户名密码,随后在burpsuit中进行抓包:

在这里插入图片描述

发送到intrude中,对log里面的用户名进行添加变量:

在这里插入图片描述

随后指定payload密码字典,这里选择我们下载的dic文件:

在这里插入图片描述

在这里插入图片描述

开始爆破

在这里插入图片描述

发现在爆破到15个用户名的时候,返回数据长度与其他不同,于是我们尝试使用该用户名登录:

在这里插入图片描述

得到的结果是页面返回密码不正确,这个时候我们就可以知道该用户名是存在的

接下来要做的工作就是爆破密码了,但我发现使用burpsuit来爆破密码实在太慢了,就算是我指定了线程来爆破,不知道什么原因。可能我对burp还不太熟练。于是我尝试通过编写一个python的EXP指定payload为【log=“Elliot”,pas=密码字典】来进行:

在这里插入图片描述

爆破成功!发现当前用户Elliot的密码为ER28-0652

的使用该用户名和密码登录WordPress平台:

在这里插入图片描述

通过浏览页面,找到了一个网页模板管理界面,在Editor选项中可以编辑网页php代码:

在这里插入图片描述

那么这里就直接选择第一个页面:404.pnp来进行编辑,我们将原本的代码替换成一个PHP的webshell,之后我们就可以通过访问该页面来使用nc进行连接,从而拿到一个shell权限

保存webshell代码:

在这里插入图片描述

在kali中使用nc开启监听5555号端口:

在这里插入图片描述

使用浏览器访问页面触发webshell反弹连接:

在这里插入图片描述

在这里插入图片描述

反弹连接之后,尝试在服务器上查看python版本来确定是否存在python环境,结果在该服务器上存在python2和python3的环境

使用python来建立一个新的伪终端:python -c "import pty;pty.spawn('/bin/bash')"

在这里插入图片描述

这个时候输入命令的显示效果会更好

进入服务器之后,我们来到home/robot目录在这个目录下,惊喜的发现一个flag,于是尝试将他显示却提示我没有权限:

在这里插入图片描述

那么接下来我们要做的就是权限提升,这里我们直接使用Linux下的SUID提权

什么是SUID?

在Linux中,SUID(Set User ID upon execution)是一种特殊的文件权限位,它允许用户在执行文件时以文件所有者的身份运行该程序,而不是以启动该程序的用户的身份。这种机制有时用于允许普通用户执行一些需要特定权限的任务,而无需给予他们完全的root权限。

当一个文件被设置了SUID位时,它的权限字符串中的用户部分(通常是u)会被替换为s(小写)。如果该文件原本就有执行权限,那么会显示为S(大写)。

在该服务器中,使用find命令从根目录开始寻找具有SUID权限的程序,格式化打印输出,并将标准错误重定向到 /dev/null:

find / -user root -prem -u=s -print 2>/dev/null

在这里插入图片描述

这里使用nmap进行权限提升

进入到nmap的存储目录,运行nmap的交互式界面,并且启动一个shell会话:

nmap --interactive

!sh

在这里插入图片描述

此时启动的shell就是以root权限运行的终端

再次回到robot目录,尝试获取flag成功!但这个flag和第一个一样不能解密。名为password.raw-md5的文件也成功获取,这个应该是第三个flag:

在这里插入图片描述

password.raw-md5这个文件里面包含了一个用户名和密码,但密码是通过md5加密的,所以我们得进行md5解密:

在这里插入图片描述

得到解密结果为26个英文单词的排序,至此三个flag拿到手!本次渗透测试到此结束。


在Mr.Robot机器中登录用户名密码:

linux login: robot

Password: abcdefghijklmnopqrstuvwxyz

在这里插入图片描述

  • 24
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
BEGIN REGION Servo Power //Servo Power IF "AlwaysTRUE" AND "Control Voltage On" THEN "Robot1 Power for Servo 1-2" := "Robot2 Power for Servo 3-4" := "Robot3 Power for Servo 5-6" := "Robot4 Power for Travelling Servo 7-8" := "Robot5 Power for Travelling Servo 9-10" := true; ELSE "Robot1 Power for Servo 1-2" := "Robot2 Power for Servo 3-4" := "Robot3 Power for Servo 5-6" := "Robot4 Power for Travelling Servo 7-8" := "Robot5 Power for Travelling Servo 9-10" := FALSE; END_IF; //Servo Limit Sensor - 启用硬限位 IF "AlwaysTRUE" AND NOT "Buzzer Stop Button" THEN "DB1002_Control Status Epos".Robot1.X.CamAct := "DB1002_Control Status Epos".Robot1.Z.CamAct := "DB1002_Control Status Epos".Robot2.X.CamAct := "DB1002_Control Status Epos".Robot2.Z.CamAct := "DB1002_Control Status Epos".Robot3.X.CamAct := "DB1002_Control Status Epos".Robot3.Z.CamAct := "DB1002_Control Status Epos".Robot4.X.CamAct := "DB1002_Control Status Epos".Robot4.Z.CamAct := "DB1002_Control Status Epos".Robot5.X.CamAct := "DB1002_Control Status Epos".Robot5.Z.CamAct := "DB1002_Control Status Epos".Load.X.CamAct := "DB1002_Control Status Epos".UnLoad.X.CamAct := TRUE; ELSE "DB1002_Control Status Epos".Robot1.X.CamAct := "DB1002_Control Status Epos".Robot1.Z.CamAct := "DB1002_Control Status Epos".Robot2.X.CamAct := "DB1002_Control Status Epos".Robot2.Z.CamAct := "DB1002_Control Status Epos".Robot3.X.CamAct := "DB1002_Control Status Epos".Robot3.Z.CamAct := "DB1002_Control Status Epos".Robot4.X.CamAct := "DB1002_Control Status Epos".Robot4.Z.CamAct := "DB1002_Control Status Epos".Robot5.X.CamAct := "DB1002_Control Status Epos".Robot5.Z.CamAct := "DB1002_Control Status Epos".Load.X.CamAct := "DB1002_Control Status Epos".UnLoad.X.CamAct := false; END_IF; //Robot1 X Power And Reset "FC192_Robot_Power"("E-Stop" := "DB1002_Control Status Epos".Robot1.X."E-Stop", Fault := "DB1001_Actual Status Epos".Robot1.X.Fault, Ready := "DB1001_Actual Status Epos".Robot1.X.OFF1_Ready, "Alarm Reset" := "Alarm Reset", Off1 => "DB1002_Control Status Epos".Robot1.X.Off1, "Enable Temp" := "DB1003_Servo Button"."Robot1 X"."Servo enabled Temp", "Enable Reset" := "DB1003_Servo Button"."Robot1 X"."Servo enabled Reset", "Time" := "DB3_Time".Robot1.T65);
07-13

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anonymous_who_am_i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值