• HTB-靶机-Poison


    本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

    靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.84

    本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描

    执行命令 autorecon 10.10.10.84 -o ./Poison

    也可以使用官方的方法进行快速的扫描

    sudo masscan -p1-65535 10.10.10.84 --rate=1000 -e tun0 > ports
    ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '
    ' ',' | sed 's/,$//')
    sudo nmap -Pn -sV -sC -p$ports 10.10.10.84

    得知开放了80和443端口,直接访问得到如下页面

    把页面给的提示信息,输入查看,发现可以读取文件内容,输入listfiles.php文件的时候发现当前站点的目录下有如下信息

    根据访问的url地址,根据经验判断存在本地文件包含漏洞,尝试使用本地文件包含读取pwdbackup.txt文件

    得到base64编码信息,这里刚开始解码的时候以为不是,后来仔细查看发现是经过了13此base64编码,而且这里的base64编码含有回车和换行符,需要剔除后方可解码,下面各种解码姿势

    base64解码 互联网上的各种姿势,注意得到的base64存在换行符合回车符即:
    
    所以需要将其剔除操作,否则执行base64解码会出问题
    通过下面命令进行剔除
    cat pwd.txt | tr -d '
    
    ' > pwdbackup.txt
    
    得到解码的密码
    Charix!2#4%6&8(0
    
    import base64
    target = '''
    Vm0wd2QyUXlVWGxWV0d4WFlURndVRlpzWkZOalJsWjBUVlpPV0ZKc2JETlhhMk0xVmpKS1IySkVU
    bGhoTVVwVVZtcEdZV015U2tWVQpiR2hvVFZWd1ZWWnRjRWRUTWxKSVZtdGtXQXBpUm5CUFdWZDBS
    bVZHV25SalJYUlVUVlUxU1ZadGRGZFZaM0JwVmxad1dWWnRNVFJqCk1EQjRXa1prWVZKR1NsVlVW
    M040VGtaa2NtRkdaR2hWV0VKVVdXeGFTMVZHWkZoTlZGSlRDazFFUWpSV01qVlRZVEZLYzJOSVRs
    WmkKV0doNlZHeGFZVk5IVWtsVWJXaFdWMFZLVlZkWGVHRlRNbEY0VjI1U2ExSXdXbUZEYkZwelYy
    eG9XR0V4Y0hKWFZscExVakZPZEZKcwpaR2dLWVRCWk1GWkhkR0ZaVms1R1RsWmtZVkl5YUZkV01G
    WkxWbFprV0dWSFJsUk5WbkJZVmpKMGExWnRSWHBWYmtKRVlYcEdlVmxyClVsTldNREZ4Vm10NFYw
    MXVUak5hVm1SSFVqRldjd3BqUjJ0TFZXMDFRMkl4WkhOYVJGSlhUV3hLUjFSc1dtdFpWa2w1WVVa
    T1YwMUcKV2t4V2JGcHJWMGRXU0dSSGJFNWlSWEEyVmpKMFlXRXhXblJTV0hCV1ltczFSVmxzVm5k
    WFJsbDVDbVJIT1ZkTlJFWjRWbTEwTkZkRwpXbk5qUlhoV1lXdGFVRmw2UmxkamQzQlhZa2RPVEZk
    WGRHOVJiVlp6VjI1U2FsSlhVbGRVVmxwelRrWlplVTVWT1ZwV2EydzFXVlZhCmExWXdNVWNLVjJ0
    NFYySkdjR2hhUlZWNFZsWkdkR1JGTldoTmJtTjNWbXBLTUdJeFVYaGlSbVJWWVRKb1YxbHJWVEZT
    Vm14elZteHcKVG1KR2NEQkRiVlpJVDFaa2FWWllRa3BYVmxadlpERlpkd3BOV0VaVFlrZG9hRlZz
    WkZOWFJsWnhVbXM1YW1RelFtaFZiVEZQVkVaawpXR1ZHV210TmJFWTBWakowVjFVeVNraFZiRnBW
    VmpOU00xcFhlRmRYUjFaSFdrWldhVkpZUW1GV2EyUXdDazVHU2tkalJGbExWRlZTCmMxSkdjRFpO
    Ukd4RVdub3dPVU5uUFQwSwo=
    '''.encode('ascii')
    
    for i in range(15):
     target = base64.b64decode(target).strip()
     print str(i+1) +': ' + target
    
    ============================================================================
    
    import base64
    
    i = 0
    s = "Vm0wd2QyUXlVWGxWV0d4WFlURndVRlpzWkZOalJsWjBUVlpPV0ZKc2JETlhhMk0xVmpKS1IySkVUbGhoTVVwVVZtcEdZV015U2tWVQpiR2hvVFZWd1ZWWnRjRWRUTWxKSVZtdGtXQXBpUm5CUFdWZDBSbVZHV25SalJYUlVUVlUxU1ZadGRGZFZaM0JwVmxad1dWWnRNVFJqCk1EQjRXa1prWVZKR1NsVlVWM040VGtaa2NtRkdaR2hWV0VKVVdXeGFTMVZHWkZoTlZGSlRDazFFUWpSV01qVlRZVEZLYzJOSVRsWmkKV0doNlZHeGFZVk5IVWtsVWJXaFdWMFZLVlZkWGVHRlRNbEY0VjI1U2ExSXdXbUZEYkZwelYyeG9XR0V4Y0hKWFZscExVakZPZEZKcwpaR2dLWVRCWk1GWkhkR0ZaVms1R1RsWmtZVkl5YUZkV01GWkxWbFprV0dWSFJsUk5WbkJZVmpKMGExWnRSWHBWYmtKRVlYcEdlVmxyClVsTldNREZ4Vm10NFYwMXVUak5hVm1SSFVqRldjd3BqUjJ0TFZXMDFRMkl4WkhOYVJGSlhUV3hLUjFSc1dtdFpWa2w1WVVaT1YwMUcKV2t4V2JGcHJWMGRXU0dSSGJFNWlSWEEyVmpKMFlXRXhXblJTV0hCV1ltczFSVmxzVm5kWFJsbDVDbVJIT1ZkTlJFWjRWbTEwTkZkRwpXbk5qUlhoV1lXdGFVRmw2UmxkamQzQlhZa2RPVEZkWGRHOVJiVlp6VjI1U2FsSlhVbGRVVmxwelRrWlplVTVWT1ZwV2EydzFXVlZhCmExWXdNVWNLVjJ0NFYySkdjR2hhUlZWNFZsWkdkR1JGTldoTmJtTjNWbXBLTUdJeFVYaGlSbVJWWVRKb1YxbHJWVEZTVm14elZteHcKVG1KR2NEQkRiVlpJVDFaa2FWWllRa3BYVmxadlpERlpkd3BOV0VaVFlrZG9hRlZzWkZOWFJsWnhVbXM1YW1RelFtaFZiVEZQVkVaawpXR1ZHV210TmJFWTBWakowVjFVeVNraFZiRnBWVmpOU00xcFhlRmRYUjFaSFdrWldhVkpZUW1GV2EyUXdDazVHU2tkalJGbExWRlZTCmMxSkdjRFpOUkd4RVdub3dPVU5uUFQwSwo="
    
    while i < 13:
        s = base64.b64decode(s)
        i += 1
    
    print(s)
    
    
    
    data=$(cat pwdbackup.txt); for i in $(seq 1 13); do data=$(echo $data | tr -d ' ' | base64 -d); done; echo $data
    
    tail -n +3 pwdbackup.txt |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d |base64 -d
    
    expr $(cat pwdbackup.txt | tr -d '
    ' | wc -c) / 4
    
    #!/usr/bin/bash
    
    END=13
    FILE="pwdbackup.txt."
    
    for i in $(seq 0 $END); do
        (cat $FILE$i | base64 -d) > $FILE$((i+1))
    done
    
    fellsec=$(<pwdbackup.txt)
    for i in {1..13}; do
       fellsec=$(<<<"$fellsec" base64 --decode)
    done
    echo "$fellsec"

    最终得到了解码的信息是用户charix的密码 Charix!2#4%6&8(0 使用ssh登录到目标靶机上,获取了user.txt信息通过命令ps aux查看进程,再使用sockstat查看网络连接情况,确认目标靶机开启了vnc服务,且是root权限开启,监听的端口是5901,我通过ssh的本地端口转发到本地kali监听5901端口,具体如下:

    ssh -L:5901:127.0.0.1:5901 charix@10.10.10.84

    确定本地kali监听端口5901

    尝试连接vnc发现需要账号密码,试了用户charix的ssh密码发现登录不上去,此时想到上面ssh连接到用户charix的时候当前家目录含有secret.zip文件。通过scp拷贝到本地kali使用unzip命令进行解压,发现也要密码,擦,再使用charix用户的ssh密码尝试,居然成功了,cat读取发现是乱码,到了此处连接vnc的时候发现派上用场了,查看了vnc相关的文档,可以使用passwd参数指定密码文件进行登录vnc,具体如下:

    成功登录到vnc,但是太他妈的卡了,我鼠标都操作不了命令

    至此完成了

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    4QC(四象限变流器)
    SR锁存器
    JVM 专题二:虚拟机(二)Java虚拟机
    JVM 专题一:虚拟机(一)
    Scala 基础(一):各平台安装
    shell专题(十一):企业真实面试题(重点)
    shell专题(十):Shell工具(重点)
    shell专题(九):函数
    shell专题(八):read读取控制台输入
    shell专题(七):流程控制(重点)
  • 原文地址:https://www.cnblogs.com/autopwn/p/14583225.html
Copyright © 2020-2023  润新知