Breakout pg walkthrough Intermediate
nmap
┌──(root㉿kali)-[~/lab]
└─# nmap -p- -A 192.168.192.182
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-02 04:50 UTC
Nmap scan report for 192.168.192.182
Host is up (0.071s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 c1:99:4b:95:22:25:ed:0f:85:20:d3:63:b4:48:bb:cf (RSA)
| 256 0f:44:8b:ad:ad:95:b8:22:6a:f0:36:ac:19:d0:0e:f3 (ECDSA)
|_ 256 32:e1:2a:6c:cc:7c:e6:3e:23:f4:80:8d:33:ce:9b:3a (ED25519)
80/tcp open http nginx
| http-title: Sign in \xC2\xB7 GitLab
|_Requested resource was http://192.168.192.182/users/sign_in
| http-robots.txt: 54 disallowed entries (15 shown)
| / /autocomplete/users /autocomplete/projects /search
| /admin /profile /dashboard /users /help /s/ /-/profile /-/ide/
|_/*/new /*/edit /*/raw
|_http-trane-info: Problem with XML parsing of /evox/about
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.94SVN%E=4%D=12/2%OT=22%CT=1%CU=39614%PV=Y%DS=4%DC=T%G=Y%TM=674D
OS:3CD0%P=x86_64-pc-linux-gnu)SEQ(SP=FB%GCD=1%ISR=10C%TI=Z%CI=Z%II=I%TS=A)O
OS:PS(O1=M578ST11NW7%O2=M578ST11NW7%O3=M578NNT11NW7%O4=M578ST11NW7%O5=M578S
OS:T11NW7%O6=M578ST11)WIN(W1=FE88%W2=FE88%W3=FE88%W4=FE88%W5=FE88%W6=FE88)E
OS:CN(R=Y%DF=Y%T=40%W=FAF0%O=M578NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F
OS:=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5
OS:(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z
OS:%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=
OS:G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
Network Distance: 4 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using port 3389/tcp)
HOP RTT ADDRESS
1 69.92 ms 192.168.45.1
2 69.90 ms 192.168.45.254
3 70.81 ms 192.168.251.1
4 71.48 ms 192.168.192.182
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 55.67 seconds
访问发现是git站点

尝试注册一个用户登陆 发现也不能登录上去

卡了有点久
找版本找了半天最后发现了版本

搜索exo发现了一个用户枚举的工具
https://www.exploit-db.com/exploits/49821
枚举出用户
michelle
然后发现密码也是michelle 登录成功
然后又试了试这几个需要登录的rce rep

试用一下这个exp https://www.exploit-db.com/exploits/49951

发现成功

直接反弹shell

然后不太会做了
直接看wp
他说我们其实是在docker容器里面

这我也是第一次遇到
发现backup里面有个秘钥 估计是ssh的私钥
由于是docker容器 我们看不到真正的用户名 非常糟糕

我试试之前爆破出来的用户名
很不幸登录不上去

这可咋整 我是两眼一黑
继续看wp
wp说gitlab 的这个uri能看到平台上的所有用户 /api/v4/users?access_token=
这我上哪说理去不熟悉这个平台的话就完全不知道有这个接口 真难
首先我们得先获取一下我们自己的access_token
我上网搜了一下咋获取
应该是这个 我把内容都勾选了 然后生成了一个token

试试

试试这个用户Coaran
用户名首字母改成小写试试
ssh -i id_rsa coaran@192.168.192.182
登录成功

在pspy64下发现了一个定时任务

看看这个任务在干啥
发现他是个用统配符 和zip打包/srv/gitlab/logs/ 下的所有文件

但是很不幸的是我们没有/srv/gitlab/logs/的写入权限 就不能形参通配符提权

然后找了半天也没啥可提权的点
地狱难度啊........................
看看万能的wp
wp说
在之前docker容器里面的git用户执行mount发现了几个奇怪的挂载目录
/dev/sda2 on /etc/gitlab type ext4 (rw,relatime)
/dev/sda2 on /etc/resolv.conf type ext4 (rw,relatime)
/dev/sda2 on /etc/hostname type ext4 (rw,relatime)
然后就发现了主机的/srv/gitlab/logs 实际上是挂载在docker的/var/log/gitlab/ 上的
同时我们发现我们的docker git用户对/var/log/gitlab/puma具有写权限
然后
ln -s /root/.ssh/id_rsa root_key 执行这个命令将root的id_rsa和root_key 链接起来
这样定时任务就会zip压缩到root 的id_rsa
然后解压改zip文件就能看到root的私钥
unzip log_backup.zip -d /tmp/

ssh 私钥登录提权成功

做了5个多小时 人麻了
Breakout pg walkthrough Intermediate的更多相关文章
- 简析服务端通过GT导入SHP至PG的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...
- Bootstap datetimepicker报错TypeError: intermediate value
Bootstrap datetimepicker有多个版本,官方的链接中,只是datepicker,没有时间的选择,原版的datetimepicker也不再更新,不能用新版的jquery.现在http ...
- PG 中 JSON 字段的应用
13 年发现 pg 有了 json 类型,便从 oracle 转 pg,几年下来也算比较熟稔了,总结几个有益的实践. 用途一:存储设计时无法预料的文档性的数据.比如,通常可以在人员表准备一个 json ...
- pg gem 安装(postgresql94)
使用下面命令安装报错 gem install pg 错误: [root@AS-test middle_database]# gem install pgBuilding native extensio ...
- #pg学习#postgresql的安装
1.按照官网给的步骤编译安装(Mac安装是比较容易的,相比Liunx) cd /Users/renlipeng/Desktop/postgresql-9.5.1 ./configure --prefi ...
- PG 函数的易变性(Function Volatility Categories)
此概念的接触是在做分区表的时候碰到的,分区表按时间字段分区,在查询时当where条件中时间为now()或者current_time()等时是无法查询的,即使进行格式转换也不行,只有是时间格式如‘201 ...
- c++错误——intermediate.manifest : general error c1010070很傻的错
.\Debug\sadf.exe.intermediate.manifest : general error c1010070: Failed to load and parse the manife ...
- mysql 序列与pg序列的比较
mysql序列(这里只谈innodb引擎): 在使用mysql的AUTO_INCREMENT时,使用AUTO_INCREMENT的字段必须建有索引,也可以为索引的一部分.当没有索引时会报错: ...
- 使用zfs进行pg的pitr恢复测试
前段时间做了一下zfs做pg的增量恢复测试,mark一下. 服务器信息: 主机:192.168.173.43 备机:192.168.173.41 主备使用流复制搭建,在备机上面进行了zfs快照备份. ...
- PG CREATEINDEX CONCURRENTLY
PG CREATEINDEX CONCURRENTLY [TOC] 官方说法 根据9.1的文档 Creating an index can interfere with regular operati ...
随机推荐
- 查看一个package是否在执行
select a.type, a.owner, b.SID, b.SERIAL#, b.OSUSER, b.MACHINE, b.PROGRAM, b.MODULE, b.ACTION From db ...
- 网站安全,为什么老外如此钟爱国产 WAF?
大家好,我是长亭雷池 WAF 社区的开发者,这段时间一直在忙着搞雷池国际版,前后搞了两三个月,总算初步有了一些收获,写个帖子和大家分享一下. 雷池 WAF 社区版 雷池 WAF 社区版是由长亭科技打造 ...
- 推荐手绘工具神器Excalidraw素描草图风格白板,支持AI-开源免费
推荐手绘工具神器Excalidraw素描草图风格白板,支持AI-开源免费 原创 IT软件部落 IT软件部落 Excalidraw 一个开源的虚拟手绘风格的白板,是一个很好的素描工具.它真的很容易使用, ...
- C#-32位md5加密
MD5是一种散列函数,它是不可逆的.这意味着你不能通过MD5的输出来恢复输入.MD5不支持解密. C#MD5加密返回32位字串 public static string MD5Encrypt32(st ...
- 基于 JUnit 的全局单元测试程序
在 Java 程序中,JUnit 是备受开发人员喜爱的单元测试工具.通常,程序员会对每个程序的每个模块写单元测试.对于小型程序来说,程序员只需要手工执行这些单元测试程序就可以,工作量并不大,但是对于中 ...
- 八、FreeRTOS学习笔记-临界段代码保护及调度器挂起与恢复
临界段代码保护 什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段 适用场合如: 问题:什么可以打断当前程序的运行? 1.临界段代码保护函数介绍 FreeRTOS 在进入临 ...
- Vue.js 组件注册
1.前言 本节讲述组件和2.x版本和3.x版本的注册方式 2.全局注册 2.x版本直接调用Vue.component()方法进行全局注册,所有Vue实例都能使用,包括其组件 //组件代码省略 var ...
- vue自定义事件及应用场景
自定义事件 <fuzujian :shijianming='fangfa'></fuzujian>//fangfa是父组件的方法 接收使用:props:[shijianming ...
- C++顺序结构(1)任务
1.下载并观看视频(照着做,多看几遍) https://www.jianguoyun.com/p/DWCNkNEQi8_wDBj5ptYFIAA 2.两项照着做的任务
- Scrum 和我主张的管理方式的同与异
虽然零零星星接触过scrum的一些知识,之前并没有深入了解过.这次机缘巧合,将 Jeff Sutherland 的<用一半的时间做两倍的事>拜读完毕,感觉 scrum 的做法其实很多和我自 ...