DC系列(1)从0开始,kali配置和靶机DC-1

0x00 DC镜像

  1. 网站:https://www.vulnhub.com/

  2. 搜索DC系列。进入DC:1,下载镜像。 在这里插入图片描述

  3. 解压得到.ova文件,用vmware打开,设置存储路径。选择导入后如果出现弹窗“未符合规范性”,点确定继续即可。
    在这里插入图片描述

  4. 设置虚拟机DC-1为桥接模式
    在这里插入图片描述

  5. 开启虚拟机,如果有报错:“无法连接虚拟设备 ide1:0”,不管,点取消自动连接,直接进入虚拟机,见到如下界面。
    在这里插入图片描述

0x00 桥接模式的kali安装

(1)前情提要

原kali机由NAT转桥接时,无法联网。包括且不限于尝试了:手动配置vment0、静态分配ip、改注册表。均无效,于是准备重新安装。

  1. kali镜像源的获取

    • https://www.kali.org/get-kali/#kali-bare-metal,选择适合的,此处我选择64bit。
      在这里插入图片描述
    • 如果网络连接不稳定,可以用这个自存的百度网盘的链接(2022/1/1于官网下载kali-linux-2021.4a-installer-amd64.iso):
      链接:https://pan.baidu.com/s/1HKAcpJs-F8hfGJryXqSlOQ
      提取码:ia32
  2. 在安装前设置桥接模式(编辑→虚拟网络编辑器→更改设置(右下角))
    在这里插入图片描述

  3. 添加或选中vment0,选择桥接模式,已桥接至——自动(默认)。
    在这里插入图片描述

  4. 如果后续出现无法联网问题,在自己的PC控制面板→网络和Internet→网络连接,找到当前使用网络的标识,回到编辑器里选用。
    在这里插入图片描述
    在这里插入图片描述

  5. 谨慎起见,在安装前,在PC中搜索服务并打开,找到与vmware相关的五项,全部右键开启。(本人电脑是第五项是手动开启) 在这里插入图片描述

  6. 好了开始添加虚拟机吧!

    安装参考:https://www.jianshu.com/p/344f4cb78c7a。

    打开终端,随便ping一个网站,ping通则代表桥接模式联网成功。

(2)kali基本配置

  1. vmware tools。开启虚拟机后,在vm选项卡中选择“虚拟机→安装vmware tools”,在kali中找到vmware压缩包,拖到桌面双击解压,进入vmware-tools-distrib,选择在终端打开,运行./vmware-install.pl,一路默认回车即可。
  2. 更新linux源。
    1. 终端输入vim /etc/apt/sources.list,复制以下参考源,粘贴保存。(网易163的源自测无法安装)(如果出现只读,登陆root权限,忘记root密码时,依次输入sudo supasswd root,更新密码)
      #中科大
      deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
      deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
      #阿里云
      deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
      deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
      #清华大学
      deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
      deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
      #官方源
      deb http://http.kali.org/kali kali-rolling main non-free contrib
      deb-src http://http.kali.org/kali kali-rolling main non-free contrib
      
    2. 回到终端,kali版本过低时无法直接apt-get,出现数字签名无效报错,先执行以下命令。
      wget archive.kali.org/archive-key.asc   //下载签名
      apt-key add archive-key.asc   //安装签名
      
    3. 输入以下命令更新软件和系统版本
      apt-get update
      apt-get upgrade
      apt-get dist-upgrade
      

DC1官wp参考:https://blog.mzfr.me/vulnhub-writeups/2019-07-12-DC1

0x01 探测存活主机

  1. 在开启DC-1的情况下,在kali上使用命令netdiscover进行主机的查找。
    在这里插入图片描述

  2. 或者,使用arp-scan工具,sudo arp-scan -l,得到同理ip。
    arp-scan使用简介:https://blog.csdn.net/weixin_43221560/article/details/90550294
    在这里插入图片描述

  3. 或者,使用nmap工具,先查看kali的ip地址ifconfig得到192.168.3.35。
    在这里插入图片描述
    再使用nmap工具扫描该网段nmap 192.168.3.0/24,等待较长时间后,从report里面找到vmware,可以同时得到ip和开放端口。
    在这里插入图片描述
    在这里插入图片描述

0x02 查看开放端口

  1. 0x01找到vmware的ip为192.168.3.32,使用nmap -A 192.168.3.32扫描。
    在这里插入图片描述
  2. 或者稍微精简一点nmap -sV -p- 192.168.3.36,其中-sV用来扫描主机和端口上运行的软件的版本。 在这里插入图片描述

0x03 查看网页

  1. 扫描得出端口:22、80、111,可以看到80端口开放,尝试在浏览器中访问。则该网页使用Drupal建站。 在这里插入图片描述
  2. 或者,在firefox中添加插件Wappalyzer,刷新页面查询。
    在这里插入图片描述

0x04 robots.txt

  1. 查看网站的robots.txt。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉爬虫在服务器上什么文件是可以被查看的。当一个爬虫访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的爬虫将能够访问网站上所有没有被口令保护的页面。

    参考:https://blog.csdn.net/kalision/article/details/7918528

  2. 利用dirb http://192.168.3.36在终端可以搜索,得到访问地址
    在这里插入图片描述
    在这里插入图片描述

  3. 或者直接在网页输入192.168.3.36/robots.txt访问
    在这里插入图片描述

  4. 无有用信息。

0x05 metasploit查找Drupal——flag1

  1. 首次使用msfconsole,msfdb init && msfconsole,init创建默认数据库(库名msf, msf_test;用户名msf;口令默认空),msfconsole启动。
    在这里插入图片描述
  2. 在msfconsole中输入search Drupal 在这里插入图片描述
  3. 设置相关渗透模块。优先选择“rank=excellent,时间较近”的模块。此处选择use exploit/unix/webapp/drupal_drupalgeddon2 在这里插入图片描述
  4. options显示攻击的信息和参数 在这里插入图片描述
  5. 设置红框处的RHOSTS为DC-1的ip(192.168.3.36) 在这里插入图片描述
  6. run/exploit执行。出现meterpreter session 1 opened时,证明攻击成功。 在这里插入图片描述
  7. 先后输入shellls,发现靶机目录中的flag1.txt。
    在这里插入图片描述
  8. cat打开flag1,暗示去找配置文件。
    在这里插入图片描述

0x06 Drupal配置文件——flag2

  1. Drupal7的配置文件路径为/sites/default/settings.php。

    参考:https://api.drupal.org/api/drupal/sites!default!default.settings.php/7

  2. cat /var/www//sites/default/settings.php打开配置文件
    在这里插入图片描述
  3. 得到flag2和mysql数据库的库名、用户名、密码。
    1. flag2:“暴力和字典攻击不是获取访问权限的唯一方式(而且你需要访问权限),你还能用这些凭证做什么”。
    2. 数据库:库名drupaldb,用户名dbuser,密码R0ck3t。

0x07 数据库admin登陆——flag3

  1. 获取交互式shell,python -c 'import pty; pty.spawn("/bin/bash")'。否则无法直接登陆。
    在这里插入图片描述

  2. 利用刚才得到的用户名和密码,登陆数据库
    在这里插入图片描述

  3. 查看刚才得到的数据库drupaldb里的所有表,找到有user表名。
    在这里插入图片描述
    在这里插入图片描述

  4. 查询user表,找到admin,发现密码被加密。
    在这里插入图片描述

  5. 直接修改Drupal7的admin用户密码。

    参考:https://www.cnblogs.com/ooooo/archive/2011/11/17/2252347.html

    假设新密码为newpassword,退出数据库执行散列函数加密得哈希值:php scripts/password-hash.sh newpassword在这里插入图片描述

  6. 得到对应hash值后,使用原来的用户名和密码登陆mysql,更新admin用户的密码为新hash值:update drupaldb.users set pass="$S$D3dNAPtXNZF0AU42/Q0bvqPt9r2fLYHTtbAqFRTq3/zs59te4iCz" where name="admin"; 在这里插入图片描述

  7. 回到浏览器,在192.168.3.36网页中用用户名admin、密码newpassword登陆,得到成功登录界面。
    在这里插入图片描述

  8. 点左上角的find content
    在这里插入图片描述

  9. 点进flag3,发现flag3暗示提权,去找/etc/passwd和/etc/shadow。
    在这里插入图片描述

  10. 或者,直接利用searchsploit工具查找软件漏洞。回到msfconsole执行searchsploit drupal
    在这里插入图片描述

  11. 找到针对添加admin账户的脚本,显示适合<7.31版本,查询DC-1的drupal版本:cat /var/www/includes/bootstrap.inc | grep VERSION
    在这里插入图片描述

  12. DC-1版本为7.24,可以执行攻击脚本。由10的图中可以看到该脚本位置在/php/webapps/34992.py。

  13. 此处注意,本人的kali自带python2和python3,直接执行python会报错,用python3执行时脚本会报错,所以使用python2执行。 在这里插入图片描述

  14. python执行python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.3.36 -u adminbp -p passwdbp。设置admin权限新用户adminbp、密码passwdbp。
    在这里插入图片描述

  15. 再次回到数据库查看时,可以发现添加成功,也可以用这个用户名登陆网页获取flag3了。 在这里插入图片描述

0x08 passwd搜索——flag4

  1. 重温flag3的提示词:perms、find、passwd、-exec、shadow。/etc/shadow是/etc/passwd的影子,passwd保存账号、shadow保存账号的密码。

    shadow和passwd的关系参考:https://www.cnblogs.com/raoyi/p/12306128.html。

  2. 查看passwd:cat /etc/passwd,找到flag4。
    在这里插入图片描述
  3. 上图显示flag4就在/home/flag4目录里,打开,flag4提示:在root目录下同样模式得到flag。
    在这里插入图片描述

0x09 find提权——flag5/finalflag

  1. 按照flag4的提示去查看root根目录,果然没有权限。
    在这里插入图片描述

  2. find /root观察root目录下的路径,可以看到/root/thefinalflag.txt路径存在。

    find指令的使用参考:https://segmentfault.com/a/1190000041196413?sort=votes)

    在这里插入图片描述

  3. 使用suid提权,suid是Linux的一个权限机制,在执行使用suid权限的文件时候,调用者会暂时有该文件的root权限。

    参考:http://c.biancheng.net/view/868.html

    • 只有可执行文件才能设定 SetUID 权限,对目录设定 SUID,是无效的。
    • 用户要对该文件拥有 x(执行)权限。
    • 用户在执行该文件时,会以文件所有者的身份执行。
    • SetUID 权限只在文件执行过程中有效,一旦执行完毕,身份的切换也随之消失。
  4. 用find命令查找有特殊权限suid的命令

    参考:
    https://blog.csdn.net/crisprx/article/details/104110725
    https://www.jianshu.com/p/0c22c450f971

    #查找具有root权限的SUID的文件,不同系统适用不同的命令
    find / -perm -u=s -type f 2>/dev/null
    find / -user root -perm -4000-print2>/dev/null
    find / -user root -perm -4000-exec ls -ldb {} \
    
  5. 测试得出,执行find / -perm -u=s -type f 2>/dev/null,查看root权限运行的文件。
    在这里插入图片描述

  6. 猜测find可以使用,确认是否root权限运行:ls -lh /usr/bin/find在这里插入图片描述

  7. 确定是find是root权限后,用find提权:find ./ aaa -exec '/bin/sh' \。用whoami显示登录名为root。
    在这里插入图片描述

  8. 在root权限下就可以直接打开/root/thefinalflag.txt了。 在这里插入图片描述

0x0A 登录靶机

  1. 提权后再cat /etc/shadow查看(之前没有权限),发现和passwd一样也存在flag4,即flag4是靶机用户且有密码。 在这里插入图片描述

  2. 因为之前扫描得知靶机DC-1的22端口(ssh)开放,使用hydra暴力破解(参考:http://www.ha97.com/5186.html)得到用户名flag4,密码orange。

    hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz 192.168.3.36 ssh
    hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.3.36
    # -l:指定破解用户;-P:指定密码字典;ssh:使用协议
    

    在这里插入图片描述

  3. 成功登录靶机 在这里插入图片描述

  4. 登录后使用ls,发现只有一个flag4.txt,cat打开和之前在home目录下的内容相同。DC-1结束。
    在这里插入图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Kali靶机之间的网络互联,你可以按照以下步骤进行配置: 1. 在Kali中使用Airodump-ng工具扫描无线网络,获取靶机的相关信息,如SSID名称、mac地址、工作信道及加密方式等。 2. 使用以下命令修改Kali的DNS配置文件(/etc/resolv.conf),将nameserver设置为靶机的IP地址,例如:nameserver 192.168.1.1。 3. 在Kali中重启网络服务,以使DNS配置生效,可以使用以下命令:sudo systemctl restart NetworkManager.service。 4. 在靶机上修改网络配置文件(/etc/network/interfaces),将IP地址设置为与Kali处于同一子网的IP地址,例如:address 192.168.1.68,netmask 255.255.255.0,gateway 192.168.1.1。 5. 在靶机中修改interfaces文件的权限,以允许对其进行修改:sudo chmod 777 /etc/network/interfaces。 通过以上配置,你可以实现Kali靶机之间的网络互联。这样,你就能够在Kali上执行各种渗透测试操作,并与靶机进行通信和攻击。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [kali linux网络扫描~无线网络扫描](https://blog.csdn.net/weixin_44774550/article/details/124619931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Kali和Metasploitable2的网络配置](https://blog.csdn.net/weixin_30726161/article/details/99029993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值