Posts

Showing posts from September, 2019

Security Testing for Android Cross Platform Application ( Xamarin & Cordova ) - Part 2

Image
Hello All, This is the continuation of my previous post where we tried to bypass SSL Pinning by modifying the  JS File in Cordova framework . Now in this post we will focused on Xamarin based application and how to get C# code which is used for building of Android App using  Xamarin framework. What is Xamarin? According to Microsoft Docs Xamarin allows you write code in C#, with a class library and runtime that works across all many platforms, including iOS, Android, and Windows, while still compiling native (non-interpreted) applications. Let's Begin: How to Identify Xamarin Based application? The way I used to identify was by converting the apk file to jar using  dex2jar  to get source code for the application and jd-gui  for viewing the source code. Command:- d2j-dex2jar.bat yourapp.apk Now open the .jar file with jd-gui and you can notice keyword "xamarin" in below screen. So while going through the source code of application it was observed

Security Testing for Android Cross Platform Application ( Xamarin & Cordova) - Part 1

Image
Hello All, Hope you all are doing great. So this would be an interesting topic which need more research from the community. I have not explore much but let me share what I have found. If I have missed  few aspect or made any mistake kindly comments below and I will update the post. Let's begin: Bypassing SSL Pinning or Connection not secure Error of Cordova based Application  What is Cordova? Apache Cordova enables software programmers to build applications for mobile devices using CSS3, HTML5, and JavaScript instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables wrapping up of CSS, HTML, and JavaScript code depending upon the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application So Recently I was given an android application to assess which was build using Cordova framework. How t

Phishing using reverse proxy Modlishka

Image
Hello All, Introduction Social Engineering is one of the popular tactics because it is easier to exploit users then finding vulnerabilities in the network or application. Since humans are the weakest link in the security attacking the human factor continues to be an attractive and successful path to infiltrate the network. The most popular type of social engineering attack vector is phishing. Phishing is very promising attack vector when it come to obtain clear text credentials of the remote user for gaining initial access in the network or gain access to some applications like email, vpn, company portal etc where we can find innocuous information which can help the attacker to conduct more sophisticated attacks or deliver the malware to the user for gaining initial access in the network. What is Social Engineering ? Social engineering is an attack vector that relies heavily on human interaction and often involves manipulating people into breaking normal security procedures a

Process Injection - Part II

Image
Hello All, In the series of learning various process injection techniques and enhancing my knowledge about C# leveraging Windows API I started to explore and understand about another very famous process injection technique known as DLL Injection. What is DLL ? Dynamic Link Library (DLL) is a file which contains the code and is been loaded by the program to perform one or more actions during run time. What is DLL Injection ? DLL Injection is a process of injecting an DLL into the running process which might contains malicious code and can be used for performing malicious activities. In this post I will provide an overview about the technique and a demo using the process injection tool which I created. It can be found on my github repo . In this DLL Injection technique 6 Windows API are used. OpenProcess  - The OpenProcess function returns a handle of an existing process object. VirtualAllocEX  - The VirtualAllocEx function is used to allocate the memory and grant the a