zoukankan      html  css  js  c++  java
  • 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,但是太他妈的卡了,我鼠标都操作不了命令

    至此完成了

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    Azkaban的使用
    Azkaban安装
    Kafka 启动失败,报错Corrupt index found以及org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'version': java.nio.BufferUnderflowException
    Kafka 消费者设置分区策略及原理
    Kafka利用Java API自定义生产者,消费者,拦截器,分区器等组件
    zookeeper群起总是有那么几个节点起不来的问题解决
    flume 启动agent报No appenders could be found for logger的解决
    Flume 的监控方式
    Flume 自定义 组件
    Source r1 has been removed due to an error during configuration java.lang.IllegalArgumentException: Required parameter bind must exist and may not be null & 端口无法连接
  • 原文地址:https://www.cnblogs.com/autopwn/p/14583225.html
Copyright © 2011-2022 走看看