当前位置: 首页 > 科技观察

国内某摄像头入侵事件物联网取证取证实践

时间:2023-03-18 14:33:58 科技观察

0x01取证背景近日,部署在实验室的Skydome威胁监控系统检测到物联网蜜罐系统中的摄像头被外部攻击成功。实验室相关人员对此次成功的攻击事件进行取证实践,成功获取攻击样本,并以此为基础进行深入的取证分析。0x02取证流程1.完善的取证环境为了进一步获取有效线索,我司研究员通过公司自主研发的物联网取证系统获取了摄像头的LinuxRootShell。由于设备内置的Busybox是厂家裁剪的,缺少一些取证需要的命令,所以上传完整的对应架构的Busybox,以供后续取证使用。2、系统环境检查首先检查设备文件系统,特别是/tmp目录,没有发现可疑的新文件。由于squashfs等物联网设备常用的文件系统是只读文件系统,攻击者无法向该文件系统上传恶意程序,而/tmp目录对应一个临时文件系统tmpfs,它是一个基于内存的文件允许写操作的系统,所以攻击者的常见操作是在这个目录下放置恶意程序,然后运行。于是,我又想到了另一种可能,程序运行后会被删除。查看进程信息,找到可疑进程如下图,查看/proc目录下进程的exe文件,发现程序是从/tmp目录启动的,非常可疑。至此,我们的研究人员在设备中发现了一个程序,其原始二进制程序被删除并从/tmp目录启动。这个程序非常可疑,所以我们立即固定了这个证据以供后续详细分析。3.可疑证据固定。由于存在重启设备的可能性,该过程结束。为了进一步深入分析线索,需要将可疑程序转移到可控环境中。我们使用工具nc将证据传输到服务器。首先在设备端通过nc监听某个端口并将示例程序重定向到通道,然后在可控服务器端通过nc连接到设备监听的端口并重置结果。定位到新文件,最后将设备中的可疑证据上传到我们的服务器,为后续分析证据有效性提供环境。4.证据有效性确认虽然通过查看系统进程信息发现了一个从可写目录/tmp启动的进程,并且启动后删除了原二进制程序,疑点很大,但还需要对该程序做进一步的分析判断是否真的是恶意的,以及程序的具体行为,帮助我们后期追溯事件的来源。程序信息通过file命令查看程序的基本信息,发现程序没有被剥离。静态分析构造HTTP请求以连接回C&Ca。根据程序启动时外部参数个数的不同,构造不同的urib。通过ioctl函数获取设备网卡的mac地址,拼接到uric的末尾。获取当前程序运行路径,拼接成uri尾向C&C发送请求,获取响应a。构造发送到C&C的HTTP请求b。发送请求并接收响应,解析响应数据并获取下发命令。C&C响应内容有3个字段,通过A、B、C三个字段来区分,A字段为循环请求C&C的休眠时间;B字段为攻击者指定的反弹shell地址;C字段是攻击者a发出的命令。提取字段Ab的内容。提取字段B的内容,根据后续分析,字段B表示的是跳出目标的IP和端口c。提取C字段内容,根据后续分析,C字段为攻击者下达的命令。执行攻击者发出的弹壳到目标地址的命令,shell_func函数的参数v12是根据其在栈中的位置计算的,与data_paste函数的第一个参数v11相差8个字节,以及v11+8是data_paste函数中存储的B字段中的IP内容,v12[10]是v11+8+2x10存储的是data_paste函数中B字段中的端口内容。等待攻击者指定的时间,继续请求任务动态分析,模拟C&C任务下发服务和反弹shell监听。实际运行效果和我们的静态分析是一致的。分析与结论该样本功能较为简单,但基本满足了攻击者对被控设备的持久控制需求。首先从C&C服务器获取任务信息。任务分为3个部分。首先是从程序到下一个请求的请求。二是攻击者发出的命令;三是指定受控设备反弹shell的目标地址。然后,攻击者下达的命令会通过sh-c执行,然后shell会弹跳到指定地址,最后休眠指定时间,然后继续循环。0x03取证总结进行这种取证实践的原因是Skydome威胁监控系统检测到对蜜罐系统中摄像头的成功攻击。我们的研究人员利用设备漏洞获取系统权限,然后排查系统的各种运行环境,发现了一个可疑进程,对修复可疑进程的二进制程序进行了深入分析,最终找出了被植入木马的具体行为攻击者。银弹实验室研究团队专注于物联网+关键信息基础设施的硬件、固件、无线电、云平台、App等方面的安全漏洞研究和解决方案制定。团队不断完善自身安全能力矩阵,应对新兴安全挑战,现已具备成熟的二进制逆向分析、漏洞挖掘、攻击诱捕、安全评估、蓝军演练、溯源取证、应急响应等安全能力.目前,上述安全能力已成功应用于物联网固件安全检测、物联网攻击事件监控、大规模物联网僵尸网络监控、APT检测与监控、物联网攻击溯源取证、物联网安全评估、物联网安全培训等.产品或服务,并在物联网和网关安全领域与多家政府、企事业单位长期合作,得到了合作伙伴和客户的高度认可。