
本文主要是讨论,所以我将从简单的方面开始。
关于手机木马的检测,有人会说安装手机杀毒软件能解决吗?其实不是。由于手机不同于PC,因此手机的反木马技术不如PC强大。
即使将当前市场上所有用于手机的防病毒软件安装到手机中,也可能无法将其检出。
让我们开始解释手动杀死方法。
第一种方法:使用Android调试桥(缩写为adb)调试工具来协助检查和终止操作,
首先打开android手机的调试模式,然后从Internet下载三个文件adb.exe,AdbWinApi.dll和AdbWinUsbApi.dll,将它们放在计算机磁盘上的任何目录中,然后将手机连接到带数据线的计算机。然后在命令提示符下使用push或cd跳到三个文件所在的目录。执行adbshell命令以连接到手机外壳终端。在那之后,它等同于与Linux下的shell相同的操作。如果您从事android开发,则在安装eclipse和android SDK之后无需立即下载这三个文件,它们可在sdk \ platform-tools目录中找到。关键是稍后,通过执行netstat命令查看当前的网络连接(不需要root特权)。如下图所示:

您可以看到网络连接信息,但是看不到进程pid和与该进程相对应的程序包名称。查找恶意程序或木马程序非常困难。
以下是两个有用的命令:
cat /proc/net/tcp (不需要root权限) cat /proc/net/tcp6 (不需要root权限)
/ proc / net / tcp文件,这是ipv4下所有tcp连接的记录
/ proc / net / tcp6文件,这是ipv6下所有tcp连接的记录
执行cat / proc / net / tcp6命令后返回的记录格式如下:
local_address remote_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode 0000000000000000FFFF00006801A8C0:8018 0000000000000000FFFF00007095FB3A:0050 08 00000000:00000001 00:00000000 00000000 10136 0 15335 1 d50216a0 37 4 6 5 -1
最重要的是local_address本地地址:端口,remote_address远程地址:端口,st连接状态,这里我们将重点关注uid信息,下面将使用它。屏幕截图如下:

注1:返回的IP地址,端口和状态代码均采用十六进制表示,例如,HTTP端口80记录为0050。

注2:状态码对应以下内容
00 "ERROR_STATUS", 01 "TCP_ESTABLISHED", 02 "TCP_SYN_SENT", 03 "TCP_SYN_RECV", 04 "TCP_FIN_WAIT1", 05 "TCP_FIN_WAIT2", 06 "TCP_TIME_WAIT", 07 "TCP_CLOSE", 08 "TCP_CLOSE_WAIT", 09 "TCP_LAST_ACK", 0A "TCP_LISTEN", 0B "TCP_CLOSING",
以腾讯移动管理器为例,执行dumpsysactivity | grep“ 10136”命令以查找与uid10136相对应的Pid和应用程序包名称,如下图所示:(注意:10136是重新执行cat打开腾讯移动管理器/ net / tcp6命令后的/ proc。)

查看包名称com.tencent.qqpimsecure是否为腾讯移动管理器,并在电话设置->应用程序->运行服务中找到它(此处以android2.3.7为例),如下图:

从上述执行结果中,腾讯移动管理器访问的IP地址和端口为:
7095FB3A:0050(原始格式为:00000FFFF00007095FB3A:0050,删除前一段00000FFFF0000。)
转换为十进制是:58.251.149.112:80
它与通过执行netstat命令获得的IP地址相同,如下所示:

这里有一些想法:通过执行cat / proc / net / tcp6或cat / proc / net / tcp,找到网络程序的uid,然后
通过uid查找相应的应用程序pid和程序包名称,最后判断该应用程序是否可疑,如果可疑则将其卸载。
例如,上面的腾讯手机管理不是可疑的,因此寻找下一个,依此类推,直到找到恶意程序或木马程序。在搜索过程中,请勿手动打开联网的应用程序(例如UC浏览器,QQ浏览器等),因为这会增加手动检查和查杀的难度。此外,引导后会自动打开恶意程序或病毒程序。当然,只有启动其他应用程序后,才会触发其中的一小部分。
如果要获取详细信息,例如与应用程序相对应的安装路径,则可以执行以下命令来获取它。
adb shell dumpsys meminfo $package_name or $pid //使用程序的包名或者进程id
当然,我必须在这里详细解释。我只是通过可疑网络连接找到了相应的应用程序包名称,然后如何判断该程序是否可疑?因为许多程序需要连接到Internet,所以可以在找到包名称之后执行此操作,可以转到“设置”->“应用程序”->“管理应用程序”,在列表中找到相应的应用程序,然后单击以查看该应用程序。权限列表。

可以通过许可来判断应用程序的可疑性。下面是屏幕截图,供您参考。

第二种方法:通过功耗统计信息查找具有高功耗的应用程序,然后检查该应用程序的权限列表以确定该程序是否可疑。此方法相对简单,我将不对其进行详细介绍。
第三种方法:通过查看logcat日志查找可疑应用程序。我不建议使用adb shell logcat进行查看,因为信息太多并且找不到可疑日志。建议您安装名为System System的第三方应用程序。打开系统信息应用程序,单击以查看基本信息下的日志,然后弹出选择对话框,选择logcat选项,然后单击以查看logcat日志。如下:

您可以在其中找到应用程序的服务名称和相应的进程ID。在此,请特别注意红色部分中的警告消息。
大多数手机木马会请求网络连接,并且在请求的同时会引发异常,因为木马客户端未处于实时监视状态,则服务器在出现以下情况时会引发异常反弹连接。通过异常信息可以找到木马程序的进程号,然后可以找到并卸载该程序的安装路径。
如果要获取详细信息,例如与应用程序相对应的安装路径,则可以执行以下命令来获取它。
adb shell dumpsys meminfo $package_name or $pid //使用程序的包名或者进程id
第四种方法:通过捕获网络通信数据包来分析移动应用程序的功能。前三种方法无法100%确定应用程序是恶意程序还是木马。
第四个方法在这里。第四种方法最复杂,并不适合所有人。它仅适用于手机安全尖叫声。
捕获移动电话网络通信数据包的三个步骤:
第一步:在PC上运行ADVsock2pipe并输入以下命令
ADVsock2pipe.exe -pipe=wireshark -port 9000
第2步:在PC上运行Wireshark并设置标题选项
Capture | Options, Interface: Local, \\.\pipe\wireshark
第3步:adb shell

# tcpdump -nn -w - -U -s 0 "not port 9000" | nc 192.168.1.101 9000 -w:指定将到的数据包写入文件中保存 -nn:指定将每个到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示 -s:指定要数据包的长度
192.168.1.101此IP地址是您的本地IP。
对于端口9000,只要它不被系统占用,就可以随意更改。
另一个重要的前提条件是电话需要root特权。
然后,您可以看到通讯数据在导线架上不断增加。
通过上述第一种手动杀死方法,每个人都应该知道如何找到可疑连接的IP地址和端口。
然后过滤可疑连接的IP地址和端口。
过滤语法为:ip.dst ==可疑IP和tcp.dstport ==端口
在这里,我将介绍一种与第三种方法相似的语法。
tcp.flags.syn == 0x02显示了包含TCPSYN标志的数据包。
地球上的每个人都知道,TCP网络连接需要完成三次握手,对吧?
使用TCP SYN标志过滤掉数据包后,您可以在Wireshark上找到可疑连接的IP地址。
结合第一种方法,可以找到与可疑IP地址相对应的应用程序ID和程序包名称。然后检查权限列表以进行进一步判断,然后选择是否卸载该应用程序。
最后,让我们回答一下手机应用程序如何进行上述包捕获和分析的问题。
方法非常简单,只需使用ip.dst ==可疑IP和tcp.dstport ==端口
此语法过滤掉可疑信息,右键单击它,然后选择关注TCP流
您可以跟踪指定TCP流的数据包。如下图所示:

我不是卖瓜和吹牛的黄婆。我只希望每个人都提高他们的安全意识。不言而喻,当前的安全局势有多严重。
我们也可以通过以上分析得出结论:
就是市面上的主流手机安全软件并不靠谱,全中国还有多少手机木马,什么杜蕾斯手机远控,爵士帮手机远控,都还没有浮出水面,是吧?元芳,你怎么看?
写于2013年7月14日
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-320354-1.html
许多网民认为现在中国实力不够强
支持
很让中国丢脸