小张单位网站被黑客挂马,请您从流量中分析出webshell,并且回答问题。
回答如下:
先整体观察pcap中数据包,发现有一部分的数据包与1.php高频互动。
1.php文件非常可疑,很大概率是黑客上传的webshell,黑客通过1.php控制受害电脑。
然后再在pcap文件中检索一些攻击场景中可能会出现的字符串。
① 黑客使用弱口令(Admin123!@#)登录管理员账户
在数据包中检索login字段,发现有一个登录请求http数据包,查看载荷的信息即可发现黑客登录的痕迹。
② 修改21_08_07.log日志文件
继续往下分析数据包,又发现可疑的数据包,载荷中有eval函数:
并且紧接着的许多数据包的行为都很可疑,并且都带有assign_resume_tpl字段,上网搜索之后发现是2020年骑士CMS的一个漏洞函数,可以利用它实现远程代码执行。到这里,几乎可以确定黑客是利用这个漏洞上传webshell,然后控制受害主机。
然后发现第312号数据包返回了phpinfo()的信息:
紧接着分析对应的310号(请求)数据包:
调用有漏洞的函数assign_resume_tpl,并将参数tpl的值设置为日志文件的(相对)路径。在这里,结合骑士CMS发布出的漏洞信息结合这两个数据包,大致可以分析出,服务器将log中的内容当作php代码运行了。
而312号数据包返回了phpinfo()信息,那么在之前就一定有向日志文件写入php代码的操作。于是查看前面的数据包,发现306号数据包的载荷中有可疑内容:
猜测就是306号数据包的操作使得日志文件中写入了php代码。
日志文件的绝对路径为:
拼接起来就得到了绝对路径:
1 | /var/www/html/data/Runtime/Logs/Home/21_08_07.log |
Q:为什么309号数据包没有返回phpinfo的值??
在第308号包中传入了参数a的值,本想远程执行whoami指令。
但是309号包却没有返回正确的值,甚至连phpinfo都没有返回,后续将a参数去掉之后才能返回phpinfo,可能是因为载荷中的参数a与url栏中的参数a命名相同导致的错误。在310包中去掉载荷中的参数a之后就可以收到服务器的phpinfo了,并且在后续的数据包中,还将一句话木马的命令参数改为了aaa。
③ 黑客利用assigin_resume_tpl漏洞执行了一系列命令,最后创建了一个一句话木马1.php
……
其中,最重要的命令为创建了一个一句话木马1.php
将内容通过base64解码之后为
④ 黑客通过刚才创建的1.php木马向frpc.ini文件写入内容
继续分析黑客与服务器1.php交互的数据包,发现第343号数据包中传递给服务器端的命令如下:
具体逻辑如下:
从 $_POST[“j68071301598f”] 中解码并获取一个文件路径 $f。
从 $_POST[“xa5d606e67883a”] 中获取一个经过处理的字符串 $c,然后进行一系列替换操作,将其还原为原始内容。
将还原后的字符串 $c 解码为二进制数据,然后通过 fwrite 函数写入到文件 $f 中。如果写入成功,输出 “1”,否则输出 “0”。
我们观察这个:
所以,我们把前两个字符串去掉,将剩余的部分进行base64解码之后可以得到:
所以黑客向/frpc.ini写入了内容。
然后再观察下面内容:
得知,buf的值是从$c中以hex的形式读取。于是,我们将$c的值经过hex编码之后可以得到:
所以黑客向frpc.ini文件中写入的数据为上图所示:应该是配置一个代理服务器,这个服务器的IP地址为192.168.239.123,端口为7778,且支持 SOCKS5 协议。
回答如下:
分析过程已在A.中阐述,黑客socks5的连接账号与密码为:
小明发现单位某应用程序被攻击后提取了对应的日志数据,请分析日志并回答问题。
回答如下:
源码文件名为www.zip,在日志文件中搜索状态码为200的请求:
发现只有这个对文件的请求比较符合源码文件。
回答如下:
该文件名为sess_car
我们在日志中搜索tmp,发现下面两条可疑的记录:
通过url解码之后得到以下内容:
使用大量的../(退格符号),表示黑客尝试导航到文件系统的根目录,然后再导航到 tmp 目录,这种技术通常被称为路径遍历攻击。
回答如下:
利用了服务器端没有合理处理SplFileObject类的漏洞。
一位苹果安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析之后回答问题。
首先在pcap文件中查看可疑的数据包。
追踪tcp流编号为15的数据:
发现主机3.128.156.159在远程主机192.168.1.8上执行了ls和wget等命令,从github上下载了ios_agent工具,这是一个渗透ios系统的软件,可以在受害主机上部署代理以进行远程控制。
最后又让192.168.1.8通过ios_agent连接到3.128.156.159的8081端口,节点加密密钥为hack4sec。
然后又发现了192.168.1.8对192.168.1.12的前500个端口进行扫描的数据包:
给的资料里面有一个keylog.txt文件,将keylog.txt文件导入wireshark。
分析wireshark解密出的HTTP2的数据包。
发现有很多sql注入的数据包:
通过分析可得,黑客在进行sql盲注入。
我们过滤数据包之后,将黑客发起的sql盲注入数据包写入csv文件中分析:
通过分析刚解码出来的sql注入命令,可以知道黑客在一个接一个地尝试密码的每一个字符。并且黑客遍历每一个字符的顺序为0x2B、0x2D、0x7B、0x7D、0x30……
通过查询十六进制字符表可以得到,黑客遍历的字符顺序为:+-{}0123456789abcdef……xyz。
那么黑客每遍历成功一个字符之后就会重新遍历,我们可以根据这一个特点从数据包中分析出黑客所得到的密码的十六进制形式。
依次这样分析剩下的所有数据包即可可以获得所有的十六进制值,然后将收集到的所有十六进制值转换为字符串即可:
这就是被黑客通过sql注入盗走的密码。
回答如下:
由分析可得,黑客的攻击过程大致为:
① 使用主机3.128.156.159作为C&C服务器,在主机192.168.1.8上安装stowaway的ios_agent以控制主机。
② 通过主机192.168.1.8对内网的主机192.168.1.12进行端口扫描。
③ 通过主机192.168.1.8对主机192.168.1.12进行sql盲注入攻击,窃取密钥。
④ 向内网主机172.28.0.3写入了一个webshell,控制参数为fxxk。
(d2hvYW1p解码之后为fxxk)
回答如下:
由分析可得IP为:3.128.156.159
回答如下:
由分析可得,被害者手机上被拿走的私钥文件内容为: