2022Android基础渗透测试.docx
APP安全基础测试<CONTENTS图1:2017年12月通过360显危镜检查的约1.8万款安卓主流APP应用中,发现了99.5%的安卓应用存在威胁风险,平均每个应用威胁风险数量为38.6个。可见安卓市场上的APP存在严重的安全隐患表1:2017年十大AndrOid软件漏洞序列漏洞名称1 WebVieW远程代码执行漏洞2 界面劫持漏洞3 权限漏洞4 篡改和二次打包漏洞5 SharedPref读写安全漏洞6 WebVieW组件忽略SS1.证书验证错误漏洞7 固定端口监听风险漏洞8 数据弱加密漏洞9 动态注册广播暴露风险10业务逻辑漏洞那么作为基础的安全人员或者说一个新手该如何入门进行app的基础安全测试呢?又该从哪些方面去检测呢?Android安全分类传输安全o客户端(APK)签名问题组件问题 日志问题 本地存储问题 客户端完整性问题 WebVieW相关问题AndrOidmanifeSt配置问题签名问题问题描述:安装包签名的目的是为了便于升级,便于模块化程序设计和开发,代码或者数据的共享,区别app防止被恶意第三方程序覆盖或者替换掉。有些apk程序签名有问题,则说明程序存在安全问题。检测工具:jarsigner.exe,AndrOid右键工具检测方法:jarsigner.exe-verify-verbose-certsXXXo渗透测试基础煮组件问题问题描述:Activity活动Service服务ContentProvider内容提供者BroadcastReceiver广播接收器组件暴露,使得攻击者可以调用组件去实现一些复杂攻击。比如:利用APP组件间相互协作泄露程序敏感信息。检测工具:Jd_GUI(javadecompile),右键工具,Androidkiller等检测方法:通过查看AndrOidmanifest.xml文件,判断exported="true”是否存日志问题问题描述:有时候开发人员为了便于调试往往在日志里面输入大量敏感信息,这些信息可能包含了用户密码信息等。攻击者通过分析,可以进行有效的攻击。检测工具:adb.exe,或者aat.exe,DDMS等检测方法:借助adb.exe,输入Iogcat可以查看所有日志信息。可以指定进程名,然后获取指定程序的日志信息。AdblogcatgrepXXXX检测客户端对应的1.OgCat日志是否会打印一些用户或服务器的敏感信息。Searchformessages.AcceptsJavaregexes.Prefixwithpid:,app:.tag:ortexttolimitscope.verboseVHlD41.evelTimePIDTIDApplicationTagTextaW06-1914:46:53.6671194511945System.erratcom.android.internal.os.ZygotelI06-1914:46:53.6771194511945System.out"busiNo":"930003”JbUgiObjee1.:"r:3a6afb56fd5a43f39f79912d03elb4ount":"13440000001wf"password":"60I1.E")I06-1914:46:53.6871194511945ViewRootIinplCPURenderingVSyncenable=trueI06-1914:46:53.7271194511989IibGameXtend1.UCIDJ(1497854813745)GameXtendI06-1914:46:53.7271194511989IibGameXtend1.UCID_1(1497854813745)GameXtendstate.I06-1914:46:53.7271194511989IibGameXtend1.UCID_1(1497854813745)cn.passguahPSparameter=1.lICEisnotsconfigurationI06-1914:46:53.7271194511989IibGameXtend1.UCID_1(1497854813746)PowerXtendD06-1914:47:13.8271194511945Volley1Request.finish:20129ms:de7768fNORMA1.3I06-1914:47:13.8371194511945ViewRootIinplCPURenderingVSyncenable=trueI06-1914:47:13.8771194511989IibGameXtend1.UCID1(1497854833890)GameXtendV本地存储问题问题描述:Android的WebVieW组件中默认打开了提示用户是否保存密码的功能,如果用户选择保存,用户名和密码将被明文存储到该应用目录databases/WebView.db中。检测工具:Androidkiller,adb等工具检测方法:代码审计,或者直接检查app对应的data数据库,打开检查是否存储有敏感信息。如果有就会存在如下所示效果。客户端完整性问题问题描述:对客户端程序添加或修改代码,修改客户端资源图片,配置信息,图标,添加广告,推广自己的产品,再生成新的客户端程序,可导致大量盗版应用的出现分食开发者的收入;恶意的二次打包还能实现应用的钓鱼、添加病毒代码,添加恶意代码,从而窃取登录账号密码、支付密码、拦截验证码短信,修改转账目标账号,金额等检测工具:Androidkiller,C32asm,梆梆扫描等工具检测方法:对dex文件或者SO文件修改,然后重新打包。判断程序是否仍能正常运行。WebVieW相关问题问题描述:WebVieW明文存储。mWebView.setSavePassword(true)WebVieW远程代码执行。WebVieW域控制不严格问题。(克隆漏洞)WebVieW如果打开了对JaVaSCriPt的支持,同时未对file:/形式的UR1.做限制,则会导致CoOokie、私有文件、数据库等敏感信息泄露检测工具:梆梆扫描工具,或者进行人工代码审计检测方法:SetAllowFileAccessSetAllowFileAccessFromFileUR1.sSetAllowuniversalAccessFromFileUR1.s(导致远程泄露敏感信息)WebSettings.setJavaScriptEnabled(true);Androidmanifest其他配置问题问题描述:AndrOidManifest,xml文件是整个应用程序的信息描述文件。这里面包含了很多重要信息,比如版本信息,权限信息,文件备份等配置信息。这些信息也会暴露出安全问题。检测工具:android右键工具,APKtOo1.梆梆扫描平台等检测方法:在检查的时候主要检查以下几点:检查是否最小Sdk版本是否大于16;检查是否存在任意文件备份的问题;android:allowBackup="true”检查是否存在动态调试的问题;android:debuggable="false”。其他等等;1<usesper11nmjlon.(uses-PerXXgSXon<Ues-pefxs9ion-<use*-peemission<use-er111.issiGn<ues-pe11ti3son<u3e3-per11sson<use9-pesai9sion<jse9bpemi931,ona<uses-pefoil9slao服务端(APK)用户遍历 弱口令以及暴力破解 SQ1.注入 短信轰炸 短信绕过 任意文件上传 敏感信息明文传输 越权其他用户遍历问题描述:用户在登录或者注册时,往往会遇到一种情况,当输入不存在用户时会返回用户不存在,当密码不正确时,会返回密码信息不正确,这种情况会导致用户枚举.检测工具:Burpsuite,Finder等抓包工具检测方法:BUrPSUite抓包分析数据,或者什么工具也不需要直接登录查看页面返回信息弱口令与暴力破解问题描述:在某些情况下,系统登录的口令是简单的弱口令,这样导致攻击者可以通过简单尝试登录系统。比如:admin/admin检测工具:BUrPSUite等工具检测方法:使用burp抓包以后,然后使用暴力破解功能进行尝试。如下图所示,是使用burp暴力破解功能进行尝试的情况。渗透测试基础兵oResults-JTargetPositionsPayloadsOptionsFilter:ShowingallitemsRequestPayloadStatusErrorTimeout1.engthComment888888882001690400289100004002892000140028930002400289500044002894000340028960005400289700064002898000740028990008400289100009400289RequestResponseRawHeadersHTTP1.1200OKServer:nginx/1.6.2Date:Thu,17Aug201702:16:23GMTContent-Type:texthtal;charset=UTF-8Coxmect-ion:closeContent-1.engh:14I"result":"O"»SQ1.注入问题描述:程序未对程序的输入进行限制,从而造成攻击者输入指令被作为SQ1.语句执行。最终泄露数据库相关的信息。检测工具:SQ1.MAP或者使用手工尝试检测方法:如果是get类型参数:SqImaP-U"url";如果是PoSt类型参数:可以拷贝出整个数据包,然后使用命令:SqImaP-r“拷贝到文件的地址”(10:47:281(INFO)NeSlMingback-endDBMS,oracle,10:47:28INFOtestingconnectiontothetargetUR1.sqInapresumedthefoIlovdnginjectionpoit<s>Fronstoredsession:Parameter:COnfigJame<POST>Type:boolean-basedblindTitle:ANDboolean-basedblind-WHEREorHAUINGclauseIPayload:SOITCelWl=USelsysagSySCOnfig&sysbusi_type=&config_no=&con£ig_e=Z,AND1855=1855AND,Z,=,&branch_no=99998thasPage=true&positioStr=08tpositistr=08trequest-nun=15fcinde×=lUector:ANDINFERENCE10:47:28INFOtheback-endDBMSisOracleback-endDBMS:OracIe短信轰炸问题描述:现在很多系统在登录或者注册的时候要求用户输入手机号,然后发送验证码。该过程如果配置不当可能造成短信轰炸,攻击者可以一直发送短信验证码。检测工具:BUrPSUite等抓包工具检测方法:抓取发送验证码的数据包,然后不断的进行重放,判断返回结果。短信绕过问题描述:在某些登录场景下,短信是可以被成功绕过的。而绕过最常见的三种种形式是:第一、验证码是4位,可以被暴力破解猜测。第二、验证码在本地校验没有在服务端进行。第三、服务端根本没有验证短信信息是否正确。检测工具:Burp,Finder等工具检测方法:在用户登录或者注册的地方,抓取数据包,依次判断上述几点哪个成立。任意文件上传问题描述:现在众多系统都存在用户上传的地方,比如上传照片,上传文档。这些地方很容易存在任意文件上传的问题。该问题最大的危害是可以允许getshell。造成这种问题方法是多样的,比如文件上传限制不严,比如利用服务器的文件解析漏洞,比如配置文档设置不安全等等。检测工具:burpsuite向Ider等工具检测方法:常用的方法是使用burp抓包,然后不断修改数据包进行文件上传,具体的需要结合情况分析。POST137acton=uploadH11P1.1Hos÷:Usei-Ageni;noziiia/-b,u巾IndOVSNT6,1:061;rv:56.0)Gecko/20100101Firefox/56.0Accept:text/htnl,application/XhtIlll1.applcationxml.:q=0.9,*/*;q=0.8Accept-1.anguage:h-CN,zh,:q=0.8,en-US;q=0,5,en:q=0.3Accept-Encoding:gp,deflateContent-Type:nultpatfomdata;boundary=120333017721281Content-1.ength:522Refeier:http:-DN:1Connection:closeUpgrade-Insecuie-Requests:1120333047721284Content-Disposition:fondata;nae三*file*;filenae三*sec.php*Content-Type:application/OCtetFtreani<?PhP$filej)ath=Stijeplace('*.',realpath(dnname(_FUE_),'1).7"echo$file_path;Sfile=Scandir<Ifilejath*.prntj(tfle.IfifIle一exists($filej)ath)(/$sti=file_get_contentsfilejath);/fi%个X件内需或人到'、?灯串中/Jsti三str.replace(*rn*,*<b>*,$str);/echo$str;IuIffIlw虚IaII-AII5WIH11P1.1200OKServei:ngnxDate:lhu.21May201802:36:01GMTContent-Type:text/htnl;CharSet=UlF-8Connection:closeVary:Accept-EncodingSet-Cookie:PHPSESSID=k92i5ulf2crcb*lpat26pgiieal;path=eb-seveuch20;HttpOnlyExpires:Hu,19Nov198108:52:00GXTCache-Contiol:no-stoe,no-cache,IustrevalidatePlagna:nocacheContenHength:515<htl><body><hl>Photogalleryv0.02<hl><spand=nu7nbsp;fcnbsp;spanahef=*7galee=ejotes,emotes;/a></spanbsp;ItabSp;span(ahef三,7galeie三apps,><b>apps<b><a><span>tabsp;ftnbsp;1span,ahref=*7galeie三upload'hload<a><span>nbsp;fcnbspspan><ahef三,7galeie三devices,>devices<a><span>ftnbsp;nbspspan><ahref,7galeie=categoies'CategOrieS/a</span IftnbSp;span"ahref='7galeie=actons,ctions7aspan><bxhstyle='color:red'frongfileextension!<p><body><tjl>敏感信息明文传输问题描述:程序使用明文传输敏感信息,这些信息包括用户密码,身份证等信息。该信息存在被监听的可能。检测工具:抓包工具,Finder,或者burpsuite检测方法:抓包查看敏感信息是否是明文传输POST/oss-api-appclient/1oginHTTP1.1Content-Type:appIication/x-www-fOrIn-Ur1encodedContent-1.ength:63Host:183,129.145.245:9060Connection:closeAccept-Encoding:gzipUser-Agent:okhttp/3.4.2password=88888888&op_station-如ObiIe_tel=-越权问题描述:越权问题是apk很容易存在的问题。越权可以分为水平越权和垂直越权。比如在渗透测试的时候,遇到一个场景,在登录时仅仅通过USerid来获取用户信息,而这个USerid是可以遍历的,这样造成的危害是可以越权读取其他人的身份信息或者账单信息等。检测工具:抓包工具,Fillder,或者burpsuite检测方法:通过抓包工具,主要对参数进行检查,特别是一些带有敏感关键字的参数,比如USerid,username等。这些地方都是需要格外注意的地方.越权水平越权httpskhs.openid=20140917000000107os-Androi(lJ.4.2feerviceType=queryIntegralTaskInfokhel=三ngfeversion=5.2.0Hs_openid是一个敏感的参数,通过修改其id就可以越权读取其他用户的信息。垂直越权直接构造Url就可以越权读取信息。抓包环境搭建BUrp+夜神模拟器.burpsuitePROFESSIONA1.o工具作用Adb操作管理android模拟器和真机AndroidKiller一静态分析攻击,重打包等一Burpsuite抓包工具Fillder抓包工具Ida强大静态和动态分析工具Jeb强大静态和动态分析工具Android右键工具自动化、快捷app信息查看工具DrozerAndroidapp安全评估工具1 .工具名称Apktool工具用途GooG1.E提供的APK编译工具,能够反编译及回编译apko相关信息https:COde.google,compandroid-apktool2 .工具名称Dex2jar工具用途将Android的CIeX文件反编译为java源码。相关信息https:/code.google.eom/p/dex2jar/w/list3 .工具名称Jd-gui工具用途反编译代码阅读工具。相关信息http:/jd.benow.ca/4 .工具名称Portecle工具用途证书管理工具,可以进行证书维护。相关信Mhttppportecle5 .工具名称SuperOneClick工具用途Android手机root工具相关信息http:WWW.superoneclick.ee/6 .工具名称Proxydroid工具用途Android手机用代理软件。相关信息https:7 .工具名称MemSPeCtOr工具用途AndrOid手机内存修改工具相关信息http:WWW.nosec.org8 .工具名称BUrPSUite工具用途HTTP数据包修改、转发工具相关信息http:POrtSW9 .工具名称Fiddler工具用途HTTP数据包修改、转发工具相关信息http:/WWW10 .工具名称XPOSed框架工具用途系统级框架,用于开发底层插件进行测试相关信息http:repo,xposed.infomodulede.robvandroidxposedinsta11er11 .工具名称SwipeBack工具用途XPOSed插件,用于绕过登陆界面相关信息http:repo.xposed.info/module/us.shandian.mod.swipeback12 .工具名称AndroidDevelopmentTools工具用途支持Android开发的工具相关信息http:developer,APK基础安全测试即是一种新的安全测试也是一种旧的安全测试。要想对其熟练掌握还需要多动手联系。另外,诸如梆梆扫描可以多使用一下,多仔细分析一下其列出来的安全漏洞点。QUESSTION&THANKSQaXdWa忘.caaeraandroid:naMM*&ndroici.peTBission.RECORDAUDIOm>ani.:n«Ke«Mahdrold.|5e'mss16h.RESTARTPACKAGES11>,-.android;sanewaj)ciroicl.PeraissiQn.RKAD1.OGSn>.ftndrodtM三e*"androd¼Pemi9Sion.SET:DEBUG:APFR>dndrod:Amm*wandroid.pe,r*isstori.SYSTSMA1.BRTWINDOWw>"android:n*e*MAndroId.perm1sson.SYSTKMOVER1.AYWINDOWw7>androld:MM*Mandroid.pe.niission.CBTMACCOUNTSV>.-r.r:11:rar.e三*androxd;pcwssro11.tJSE-CREDENTIA1.Sn,/>,-*tanroid.r¾ission.MANAGB,ACCO<THTSw><applxcac工Onlandx。工Challo*Bacup1.7tmee1.ndxo*d:UOnfl>gChngs"XeyboardHddenorientati,cos.hund>un.winner.applieaton.base.WinnerAloatio11nandroid:ScreenOrientatxont*port<reeeirerejtfrted"f4l3r'an'droldznaM,HKMMMisMMhmt<lntenc-filter>二二.<actonan3:android,intent.actionBOOT_COMP1.ETED"><actxonandroid:na三.conn.CONNBCTVITYCBAN08n>;/'<acti6h'ar”<.ntentflter>.<recever><3erXcdic5xdxeT"trt"ad:e×pr,tederfl三*'an'dtoid:n&*Mcn.Jpiush.anil*B*,»*-.,t4.1.1.K.<actxona:ee*cn.)pu三h.android,intent.REGISTBRw><acclonandroidznRew*vcn.opxish.android,intent.REPORTm><actionar.«cn.npish.android,intent.PushService,><actonandrcd三nai!iecn.jpsh.android,intent.PUSHTIME,>.<lntenc-fltex>-