渗透测试——formatworld(1)

2023-09-20 17:03:14

一、环境

攻击机:kali
靶机:formatworld

二、获取flag1

1、扫描局域网内存活主机

1.1 查看kali的IP地址

ifconfig,可知本机IP地址

在这里插入图片描述

1.2 扫描存活主机

(1)使用nmap发现存活主机,nmap -sP 192.168.92.0/24-sP代表ICMP扫描,即ping扫描。
在这里插入图片描述

  • 192.168.92.1是kali攻击机IP地址;
  • 192.168.92.2是虚拟网关地址;
  • 192.168.92.5是windows真实机在虚拟网卡VMnet8下的IP地址;
  • 192.168.92.254是DHCP对ip的分配上线。
    故,靶机IP地址为192.168.92.3

(2)因为是在同一网段内,也可以使用arp-scanarp-scan -l
在这里插入图片描述

注意:arp-scan扫描列表里没有本机IP。

关于arp-scan的原理,就是在局域网内发送广播包,询问IP对应的MAC地址,若IP对应的主机存活,就会返回该主机的MAC地址,以此来判断存活主机。

在这里插入图片描述

2、粗略扫描靶机端口(服务)

nmap -sV 192.168.92.3-sV可以显示服务的详细版本
在这里插入图片描述

  • 看到开启的端口、对应的版本号和版本。需要注意的是:ssh服务的默认端口是22,这里不是默认端口。
  • 首先,发现靶机上的ftp版本是vsftpd 2.0.8 or latervsftpd 2.3.4存在漏洞

3、寻找ftp服务漏洞

MSF基础命令如下:
在这里插入图片描述
在这里插入图片描述
这就是笑脸漏洞,其原理:在vsftpd 2.3.4版本中,在登录输入用户名时输入:)类似于笑脸的符号,会导致服务处理开启6200后门端口,直接执行系统命令。

试一下,看能不能用,发现不行。

在这里插入图片描述

4、扫描端口详细信息

nmap -sS -T4 -A -p- 192.168.92.3
  • -sS :进行半开SYN扫描,特点是速度快,精度相对较低。
    -T4-Tb表示扫描速度,共有0-5个等级,等级越高,扫描速度越快。一般认为,4是最合适的等级参数。
    -A:表示完全扫描,对操作系统和软件版本号进行检测。
    -p-:全端口扫描。

在这里插入图片描述

发现ftp允许匿名登陆。

5、匿名登录ftp

(1)安装lftp

lftp是著名的字符界面的文件传输工具,支持ftp、sftp、ftps、http、https和fish协议。

apt-get install lftp

(2)匿名登录

lftp 192.168.92.3
user anonymous # 用户名:anonymous,密码:无
ls -a # 查看该目录下的所有文件

在这里插入图片描述

注意:在linux中,一个点代表当前目录,两个点代表上一层目录。这里三个点就是一个文件夹,只是这个文件夹的名字就是三个点。

(3)发现文件WELCOME和一个目录...(三个点),首先使用get命令将该文件传输到kali的root目录下,并打开。
在这里插入图片描述
(4)进入隐藏目录...,用ls -a查看当前文件夹下的所有文件,又发现一个文件夹.bak。同样,进入该文件夹并查看所有文件。发现了firewall.sh脚本文件和flag1.txt文本文件。
在这里插入图片描述

使用get命令传输到kali的root目录并查看。

在这里插入图片描述

上述防火墙规则大致意思就是:不允许主动与外界建立tcp链接,一旦发现有NEW状态的数据包就丢弃。言下之意,无法进行提权操作

关于防火墙规则的简单查看:
netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙。iptables的基本语法格式:

iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION
  • -t:指定需要维护的防火墙规则表 filter、nat、mangle或raw。在不使用 -t 时则默认使用 filter 表。
  • COMMAND:子命令,定义对规则的管理。
  • chain:指明链表。
  • CRETIRIA:匹配参数。
  • ACTION:触发动作。

1)常用命令COMMAND

-A 追加规则-->iptables -A INPUT
-D 删除规则-->iptables -D INPUT 1(编号)
-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)
-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位
-L 查看规则-->iptables -L INPUT 列出规则链中的所有规则
-N 新的规则-->iptables -N allowed 定义新的规则

2)常用匹配参数及各自的功能CRETIRIA

[!]-p  匹配协议,! 表示取反
[!]-s  匹配源地址
[!]-d  匹配目标地址
[!]-i  匹配入站网卡接口
[!]-o  匹配出站网卡接口
[!]--sport  匹配源端口
[!]--dport  匹配目标端口
[!]--src-range  匹配源地址范围
[!]--dst-range  匹配目标地址范围
[!]--limit  四配数据表速率
[!]--mac-source  匹配源MAC地址
[!]--sports  匹配源端口
[!]--dports  匹配目标端口
[!]--stste  匹配状态(INVALID、ESTABLISHED、NEW、RELATED)
[!]--string  匹配应用层字串

3)-j ACTION

ACCEPT  允许数据包通过
DROP  丢弃数据包
REJECT  拒绝数据包通过
LOG  将数据包信息记录 syslog 曰志
DNAT  目标地址转换
SNAT  源地址转换
MASQUERADE  地址欺骗
REDIRECT  重定向

4)其他常用参数

-p 协议  例:iptables -A INPUT -p tcp
-s 源地址 例:iptables -A INPUT -s 192.168.1.1
-d 目的地址 例:iptables -A INPUT -d 192.168.12.1
-sport 源端口 例:iptables -A INPUT -p tcp --sport 22
-dport 目的端口 例:iptables -A INPUT -p tcp --dport 22
-i 指定入口网卡 例:iptables -A INPUT -i eth0
-o 指定出口网卡 例:iptables -A FORWARD -o eth0
-m -state 启用状态匹配模块
–-state 状态匹配模块的参数。当SSH客户端第一个数据包到达服务器时,状态字段为NEW;建立连接后数据包的状态字段都是ESTABLISHED
-–tcp-flags TCP标志

5) 简单聊一下--tcp-flags

--tcp-flags ALL SYN

这段规则是上述防火墙规则中的一个片段,主要看ALL SYN

  • ALL表示需要匹配tcp头中的所有标志位(SYN、ACK、FIN、RST、URG、PSH
  • SYN表示SYN标志位必须为1,其余标志位为0。

也就是说这个匹配规则是匹配tcp三次握手中的第一次握手。

更多推荐

CPU密集型和IO密集型任务的权衡:如何找到最佳平衡点

关于作者:CSDN内容合伙人、技术专家,从零开始做日活千万级APP。专注于分享各领域原创系列文章,擅长java后端、移动开发、人工智能等,希望大家多多支持。目录一、导读二、概览三、CPU密集型与IO密集型3.1、CPU密集型3.2、I/O密集型四、如何区分IO密集型、CPU密集型任务五、推荐阅读一、导读我们继续总结学习

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

文章目录一、检测相关(5篇)1.1TALL:ThumbnailLayoutforDeepfakeVideoDetection1.2CloudDetectioninMultispectralSatelliteImagesUsingSupportVectorMachinesWithQuantumKernels1.3Mult

Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析

🌷🍁博主libin9iOak带您GotoNewWorld.✨🍁🦄个人主页——libin9iOak的博客🎐🐳《面试题大全》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐🪁🍁希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录ChatGPT是什么初学者怎么使用ChatGPT使用ChatGPT需要注意什么一些简单的prompt示例ChatGPT是什么ChatGPT是由OpenAI开发的一种大型语言模型,它基于GPT(GenerativePre-trainedTransformer)架构。GPT是一种基于深度学习的预训练模型,通过在大规模文

谈谈VPN是什么、类型、使用场景、工作原理

作者:Insist--个人主页:insist--个人主页作者会持续更新网络知识和python基础知识,期待你的关注前言本文将讲解VPN是什么、以及它的类型、使用场景、工作原理。目录一、VPN是什么?二、VPN的类型1、站点对站点VPN2、客户端对站点VPN三、VPN的使用场景1、公共Wi-Fi网络2、绕过地理限制3、加

Stable Diffusion如何生成高质量的图-prompt写法介绍

文章目录StableDiffusion使用尝试下效果prompt的编写技巧prompt和negativepromptPrompt格式Prompt规则细节优化GuidanceScale总结StableDiffusionStableDiffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于Tran

【实战】 七、Hook,路由,与 URL 状态管理(下) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(十三)

文章目录一、项目起航:项目初始化与配置二、React与Hook应用:实现项目列表三、TS应用:JS神助攻-强类型四、JWT、用户认证与异步请求五、CSS其实很简单-用CSS-in-JS添加样式六、用户体验优化-加载中和错误状态处理七、Hook,路由,与URL状态管理1+2.3~67.完成URL状态管理与JS中的iter

GO学习之切片操作

GO系列1、GO学习之HelloWorld2、GO学习之入门语法3、GO学习之切片操作4、GO学习之Map操作5、GO学习之结构体操作6、GO学习之通道(Channel)7、GO学习之多线程(goroutine)8、GO学习之函数(Function)9、GO学习之接口(Interface)10、GO学习之网络通信(Ne

RL — 强化学习算法概述

一、说明在本系列中,我们检查了许多强化学习(RL)算法,例如,MoJoCo任务的策略梯度方法,Atari游戏的DQN和机器人控制的基于模型的RL。虽然许多算法都是针对特定领域引入的,但这种联系只能是遗留的。在本文中,我们将概述这些算法,并讨论它们在选择使用什么方法时的一般权衡。二、无模型算法RL算法可分为基于模型的算法

飞书ChatGPT机器人 – 打造智能问答助手实现无障碍交流

文章目录前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10.机器人测试前言在飞书中创建chatGPT机器人并且对话,在下面操作步骤中,使用

静态代码分析基础知识及分析工具

安全之安全(security²)博客目录导读ATF(TF-A)/OPTEE之静态代码分析汇总目录一、静态代码分析介绍二、静态代码分析工具三、Sonarlint静态代码分析工具介绍1.定义2.特性3.SonarQube的官方文档一、静态代码分析介绍根据维基百科,静态代码检查又称为静态程序分析,是指在不运行计算机程序的条件

热文推荐