移动安全 安全管理 应用案例 网络威胁 系统安全 应用安全 数据安全 云安全
当前位置: 主页 > 信息安全 > 移动安全 >

浅谈Android手机木马手工查杀

时间:2013-07-20 22:49来源:TuZhiJiaMi企业信息安全专家 点击:
本人存眷移动收集安然将近3年了,写这篇文章主如果想科普下手机木马查杀相干的一些手艺,比来在网上看了腾讯移动安然尝试室安然快讯和360手机卫士安然播报,感触感染移动终端的安然性
Tags移动安全(560)Android(84)杀毒软件(76)木马查杀(5)  

  本人存眷移动收集安然将近3年了,写这篇文章主如果想科普下手机木马查杀相干的一些手艺,比来在网上看了腾讯移动安然尝试室安然快讯和360手机卫士安然播报,感触感染移动终端的安然性一年比一年严重。本人这些年主如果做收集攻防,近几年由本来的PC端转向移动互联终端。在APT报复打击方面研究的同时也研究防御方面的手艺。

  下面就分享下比来的一些研究功能。

  这篇文章主如果浅谈,所以会从简单方面开端讲起。

  关于手机木马查杀,有些人会说安装手机杀毒软件不就解决了吗? 其实不然。因为手机和PC不一样,手机反木马手艺没有PC端那么强。

  就算你把今朝市道上的所有手机杀毒软件都安装到手机里,也不必然查杀出来。

  下面就开端正式讲授手工查杀的编制。

  第一种编制:用Android Debug Bridge(简称adb)调试东西津贴查杀,

  起首打开android手机的调试模式,然后到网上下载adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll这三个文件,放在电脑磁盘肆意目次下,用数据线把手机连上电脑。然后经由过程号令提示符用pushd或cd号令跳转到刚才那三个文件地点目次。履行adb

  shell号令连进手机shell终端。以后相当于在linux下的shell一样把持了。假定你是弄android开辟的,安装eclipse和android SDK后就不消往下载刚才那三个文件了,在sdk\platform-tools这个目次下就有。重点是后面,经由过程履行netstat号令查看当前收集连接(不需要root权限)。以下图:

浅谈Android手机木马手工查杀

  能看到收集连接信息,可是却不克不及看到过程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信息,下面会用到。截图以下:

浅谈Android手机木马手工查杀

  注1:返回的IP地址端口和状况码都是用的16进制,好比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",

  下面以腾讯手机管家为例,经由过程履行dumpsys

  activity|grep “10136″号令来查找uid

  10136对应的Pid和利用法度包名,以下图:(注:10136是打开腾讯手机管家后从头履行cat/proc/net/tcp6号令获得的。)

00  \

  看下包名com.tencent.qqpimsecure是不是是腾讯手机管家,在手机的设置->利用法度->正在运行的办事中查找(这里以android

  2.3.7为例),以下图:

浅谈Android手机木马手工查杀

  由上面的履行成果找到腾讯手机管家拜候的IP地址和端口是:

  7095FB3A:0050 (原格局是:

  0000000000000000FFFF00007095FB3A:0050把前面的0000000000000000FFFF0000这段删掉落.)

  转换成十进制就是: 58.251.149.112:80

  和履行netstat号令获得的IP地址是一样的,以下图:

浅谈Android手机木马手工查杀

  这里清算下思路:经由过程履行cat/proc/net/tcp6或cat /proc/net/tcp找到联网法度的uid,然后经由过程uid找到对应的利用法度pid和包名,最后鉴定利用是不是是可疑,假定可疑就卸载掉落。

  如上面的腾讯手机治理是不成疑的,所以接着查找下一个,顺次类推,直到找到歹意法度或木马法度为止。在查找过程中不要报酬打开联网利用法度(如UC浏览器,QQ浏览器等等。),如许会增加手工查杀的难度。并且歹意法度或病毒法度是开机主动打开的,当然也有少部门是跟着其他利用启动以后才触发的。

  假定想获得利用对应的安装路径等具体信息,可以履行下面的号令获得。

  adb shell dumpsys meminfo $package_name or $pid //利用法度的包名或过程id

  当然在这里还得具体申明下,刚才经由过程可疑收集联接找到对应的利用法度包名,然后如何鉴定法度是不是可疑呢?因为良多法度都要联网的,大年夜家可以如许做,找到包名后,可以到设置->利用法度->治理利用法度,在列表里找到对应的利用,然后点击进往查看利用的权限列表。

  经由过程权限就可以鉴定利用的可疑性了。下面截一张图,大年夜家可以参考下。

浅谈Android手机木马手工查杀

  第二种编制:经由过程耗电统计,找到耗电比较高的利用,然后查看利用的权限列表,进而鉴定法度是不是可疑,这类编制比较简单,我就不具体介绍了。

  第三种编制:经由过程查看logcat日记找到可疑利用法度。我不保举用adb shell logcat来查看,因为里面的信息太多,并且查到可疑日记不方面。这里保举大年夜家安装一款第三方利用,叫做系统系统。打开系统信息这款利用,在根基信息下面点击查看日记,这时候弹出选择对话框,选择logcat选项点击进往便可以查看logcat日记了。以下面:

浅谈Android手机木马手工查杀

  里面可以找到利用的办事名,和对应的过程ID。这里出格是寄望红色部门的警告信息。

  大年夜大都手机木马城市要求收集连接,在要求的同时会抛出异常,因为木马客户端其实不是及时处于监听状况,这时候办事端反弹连接会抛出异常。经由过程异常信息就可以找到木马法度的过程ID,进而找到法度的安装路径,并卸载掉落。

  假定想获得利用对应的安装路径等具体信息,可以履行下面的号令获得。

  adb shell dumpsys meminfo $package_name or $pid //利用法度的包名或过程id

  第四种编制:经由过程抓取收集通信数据包阐发手机利用到底做了甚么。前面的三种编制其实不克不及100%的鉴定某个利用是不是是歹意法度或木马。

  所以第四种编制来了。第四种编制是最复杂的,其实不合适所有人,只合适手机安然发骚友。

  抓取手机收集通信数据包分三步走:

  第一步:在PC上运行ADVsock2pipe,输进以下号令

  ADVsock2pipe.exe -pipe=wireshark -port 9000

  第二步:在PC上运行wireshark,设置caption-Options

  Capture | Options, Inte***ce: Local, \\.\pipe\wireshark

  第三步: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权限。

  以后在wireshark上面便可以看到通信数据在不断的增加了。

  经由过程上面的第一种手工查杀编制,大年夜家应当知道如何找到可疑连接的IP地址和端口了。

  然后就是过滤可疑连接的IP地址和端口。

  过滤语法是:ip.dst ==可疑IP

  and tcp.dstport ==端口

  这里跟大年夜家介绍一种和第三种编制达到异曲同工之妙的语法。

  tcp.flags.syn == 0×02 显示包含TCP

  SYN标记的封包。

  TCP收集连接要完成三次握手,这个地球人都知道的,是吧。

  过滤出TCP SYN标记的封包后,在wireshark上面就可以找到可疑连接的IP地址了。

  连络第一种编制就可以找到可疑IP地址对应的利用法度ID和包名。然后就是查看权限列表进一步鉴定,以后就是选择是不是卸载利用了。

  最后再来回答上面提到的抓包阐发手机利用到底做了甚么的标题问题。

  编制很简单,刚才用ip.dst

  ==可疑IP and tcp.dstport ==端口

  这个语法过滤出可疑信息,在上面鼠标右键,选择follow

  TCP stream

  便可以跟踪指定TCP流的包。以下图:

浅谈android手机木马手工查杀

  数据包是加密的。如何往解密就留给大年夜家做课后操练了。

  最后再来弥补申明下手机安然软件为甚么查杀不了,非得要手工查杀不成呢?

  看下下面的阐发就知道启事了。

  假定你的手机不谨慎被植进了一款手机木马法度。这个时辰你安装了一款手机安然软件,好比腾讯手机管家,360手机卫士,LBE安然大年夜师,金山手机卫士等等等。

  然后你每天更新手机杀软病毒库并扫描。可是呢?每次的成果都是您的手机很安然,可以安心利用。以下图:

浅谈Android手机木马手工查杀

浅谈Android手机木马手工查杀

  所以杀软都是最新版本最新病毒库。

  经由过程几款安然软件的扫描查杀并没有找到真实的木马法度。而经由过程刚才的四种手工查杀,真实的手机木马其实已不难找到了。

  最后的最后让大年夜家赏识下这款手机远控的庐山真脸孔:

浅谈Android手机木马手工查杀

  我在这里不是黄婆卖瓜自卖自夸。只是想让所有人进步安然意识,此刻的安然情势有多严重,不言而喻。

  我们经由过程上面的阐发还可以得出一个结论:

  就是市道上的主流手机安然软件其实不靠谱,全中国还有多少手机木马,甚么杜蕾斯手机远控,爵士辅佐机远控,都还没有浮出水面,是吧?元芳,你如何看?

------分隔线----------------------------

推荐内容