Easy Hack: 잠재적인 취약점과 하드코딩된 Android 앱 데이터를 찾는 방법. WhatsApp Sniffer: 프로그램 설명 및 자신을 보호하는 방법 WhatsApp Sniffer로부터 자신을 보호하는 방법

면책 조항: 아래에 기록된 모든 내용은 교육 및 연구 목적으로만 작성되었으며 해킹 방지 메커니즘을 이해하기 위한 것입니다. 작성자는 이 정보를 사용하여 프로그램을 해킹하는 것을 권장하지 않습니다.

이 기사에서는 .NET 프로그램을 해킹하는 세 가지 주요 방법에 대해 이야기하고 싶습니다. 제가 추구하는 목표는 개발자가 프로그램을 보호하는 메커니즘을 더 잘 이해하도록 돕는 것입니다. 가장 명백한 위협을 찾아 적절한 조치를 취하거나 취하지 마십시오.

나는 세부 사항에 들어가지 않고 복잡한 해킹 도구를 사용하지 않을 것입니다. 모든 것이 "인형용"으로 예약됩니다. 모든 도구는 간단하고 쉽게 액세스할 수 있으며 무료입니다. 그리고 .NET에서 프로그램의 주요 디컴파일러

기니피그로서 저는 정규 표현식 분석기를 선택했습니다. 이 프로그램은 무료이며 라이센스에는 해킹에 대한 내용이 없는 것 같지만 등록하지 않으면 60일 동안만 작동합니다. 즉, 이 프로그램은 해킹으로 인한 피해가 적고 내부 구조가 교육에 매우 적합합니다. 이 프로그램의 저자가 나에게 화를 내지 않기를 바랍니다.

이것은 어셈블러와 같으며 매우 똑똑하고 강력한 지침이 있습니다. 그리고 이것은 원칙적으로 C #과 동일한 언어이며 구문 만 더 나쁩니다 (더 많은 기회가 있습니다). 또한 메타데이터는 .NET 프로그램, 즉 클래스, 메소드, 속성, 속성 및 기타 모든 것에 대한 모든 정보는 실행 파일에 저장됩니다.
저것들. 사실, 프로그램을 디컴파일하는 것은 이 경우에 매우 올바른 개념이 아닙니다. 이미 모두 공개되어 있으며, Reflector 형태의 도구는 MSIL 구성을 C# 또는 다른 언어의 해당 구성으로 가져와 코드의 가독성을 높이는 데 사용됩니다.

해킹으로 넘어 갑시다.

0. 트라이얼 리셋

사실 이것은 해킹도 아니고 비활성 프로그램의 사용기간을 연장하는 반법적인 방법입니다. 최초 실행 날짜가 저장되어 변경/파기되는 곳이 있다는 점입니다. 그 후에는 다음 마감일까지 프로그램에서 모든 것을 사용할 수 있습니다.

리플렉터가 있는 테스트 대상을 살펴보겠습니다.
코드를 조금 살펴보니 MainForm 생성자에서 흥미로운 라인을 발견했습니다.

레지스트리 편집기를 열고 HKEY_CURRENT_USER\Software\Ultrapico\Expresso로 이동하여 다음 키를 확인합니다.

우리는 그것들을 삭제하고 또 다른 60일의 작업을 얻습니다.

이 옵션은 물론 간단하고 뻔하지만 더 복잡하더라도 리플렉터에서 정보가 쓰여진 모든 장소를 찾아 정리하는 데 시간이 조금 더 걸립니다.

비밀 장소에 데이터를 쓰려는 개발자를 위한 조언: 더 신중하게 작성하십시오. 그렇지 않으면 어떤 이유로 이 장소가 없거나 충분한 권한이 없는 일반 사용자에게 모든 것이 문제가 될 수 있습니다.

1. 키젠 작성하기

개발자에게는 가장 끔찍한 옵션이고 최종 사용자에게는 가장 즐거운 옵션입니다. 이 프로그램은 라이센스가 부여된 것으로 간주하므로 끔찍한 제스처를 수행할 필요가 없습니다.

리플렉터를 열고 라이선스 또는 등록이 포함된 클래스의 코드를 찾으면 다음과 같이 표시됩니다.

이름과 코드를 이름으로 입력하면 특정 해시가 계산되어 코드와 비교됩니다.

이 해시는 DES 및 모든 종류의 접두사를 사용합니다.

바이트는 이 방법을 사용하여 문자열로 변환됩니다.

이제 모든 것이 명확합니다. IDE를 열고 필요한 모든 코드를 복사하거나 직접 구현하십시오. Prefix, Suffix 및 MyDES 구현 매개 변수의 값이 무엇인지 알아내는 것만 남아 있습니다. 나는 그것들을주지 않을 것입니다. 이것은 이미 기술적 세부 사항입니다.

결과적으로 모든 이름에 대한 키를 생성하고 다음을 확인합니다.

빙고!

keygens에 대한 보호는 간단하고 명백합니다. 어떤 형태로든 비대칭 암호화를 사용합니다. 저것들. 개인 키를 모르면 코드를 생성할 수 없으며 이 키는 프로그램 작성자와 함께 한 곳에만 있습니다.

2. 래퍼 사용

라이센스의 정확성을 확인하는 것은 다소 번거롭고 빠르지 않습니다. 따라서 소프트웨어 개발자는 일반적으로 라이센스를 한 번 확인한 다음 수신된 플래그(유효/무효)를 사용합니다(옵션으로 기능이 다른 여러 유형의 라이센스가 허용되는 경우 얼마나 유효한지). 여기에서 다음 알고리즘을 사용하여 재생할 수 있습니다.

  1. 라이센스가 이미 확인되었음을 프로그램에 표시
  2. 라이센스가 정확하다고 프로그램에 알립니다.
그것을하는 방법? 처음에 실행 파일에 메타데이터가 존재한다고 이미 언급했고 우리는 이것을 사용할 것입니다. 프로그램 시작 방법과 라이센스 확인 방법을 살펴보겠습니다.

출시에 흥미로운 것은 없지만 프로그램이 이미 등록되어 있으면 모든 것이 정상이며 라이센스의 정확성을 결정하기 위해 추가 작업을 수행하지 않는 것으로 간주됩니다.

이것을 사용합시다:
새 프로젝트를 만들고, Expresso.exe에 참조를 추가하고 직접 실행해 보겠습니다.

무슨 일이 있었는지 보자:

누가 의심했을까요?

이 경우 모든 것이 단순한 것으로 판명되었지만 프로그램 작성자가 공용 속성을 개인 속성으로 바꾸면 액세스를 위해 Reflection을 사용하기 만하면 모든 것이 원래 작업으로 축소됩니다.

이것으로부터 자신을 보호하는 방법은 분명하다고 생각합니다. 라이센스를 주기적으로 확인하고 프로그램이 실행되는 환경을 살펴보고 원하는 변수를 설정할 수 없도록 만드십시오.

그러나 이러한 모든 방어는 공격자가

3. 프로그램의 물리적 해킹

여기 모든 것이 심각합니다. 프로그램은 완전히 MSIL로 디컴파일되고 이미 MSIL에서 다시 어셈블됩니다. 디컴파일을 위해서는 SDK의 유틸리티가 필요합니다. 일다즘, .NET Framework에서 컴파일러를 컴파일합니다. 이슬람교.

ildasm을 실행하고 Expresso.exe를 열고 덤프를 .il 파일에 저장합니다. IsRegistered 메서드가 이미 고려된 것을 확인하고 레이블 없이 약간의 코드를 추가합니다.

그런 다음 ilasm을 가져와 모든 것을 다시 수집합니다(리소스 연결을 잊지 않음).

이 코드의 기능: 원하는 등록 이름을 설정하고(선택 사항) 모든 것이 정상이라는 상태를 반환합니다.
더 명확하게 하기 위해 C#에서 리플렉터에서 보이는 방식입니다.

저것들. 이제 모든 것이 잘 될 것이 분명합니다.

MSIL의 코드에 대해 조금: 이것은 레지스터가 없는 스택 머신이며, 모든 작업은 다음과 같습니다. 필요한 수의 매개변수를 스택에 푸시하고, 필요한 수의 매개변수를 가져와 결과를 넣는 함수를 실행합니다. 그 반대의 경우도 마찬가지입니다. 변수 값을 스택에 있는 값으로 설정합니다. 이 모든 작업을 더 잘 이해하려면 간단한 요령을 추천합니다. 친숙한 언어로 작은 프로그램을 작성하고, 컴파일하고, MSILe에서 어떤 일이 일어나는지 확인하고, 언어 구조를 이해하는 것입니다.
동시에 MSIL의 일부 작업은 매우 아름답게 수행될 수 있습니다.

공격자가 희생하는 것: 프로그램의 서명, 이제 더 이상 작성자가 아니라 그의 것입니다. 경우에 따라 프로그램이 많은 라이브러리를 사용하는 경우 문제가 됩니다. 그런 다음 사악한 해커는 그것들을 모두 분해하고 다시 조립해야 할 것입니다. 그러나 그가 이것을 할 수 있다면 그는 프로그램의 "자신의" 버전에 서명하게 될 것입니다. 그의열쇠.

난독화를 수행하거나 네이티브 코드에서 논리/보호 검사의 일부를 제거하는 등 이 모든 불명예에 대한 보호 장치는 실제로 거의 없습니다.

결론

작성자가 자신의 프로그램을 보호하기 위한 노력을 기울이지 않으면 .NET의 모든 것을 망가뜨리는 것이 얼마나 쉬운지 말씀드린 것 같습니다. 그리고 보호하고 시간과 자원을 투자할 가치가 있는지 이미 결정했습니다. 아니면 그냥 웹 시스템을 만들거나 제한된 무료 버전을 만들 수도 있습니다. 개발자가 결정합니다.

때로는 일부 상위 Android 애플리케이션에서 어떤 버그가 발견되었는지 알아내야 할 때가 있습니다. 이에 대한 많은 이유가 있을 수 있습니다. 상황을 반전시키려고 하면 HackApp + Vulners 번들이 도움이 될 것입니다.

HackApp은 모바일 애플리케이션의 버그를 찾기 위한 셰어웨어 툴킷 및 서비스입니다. HackApp은 공격 벡터와 취약한 버전이 자세히 설명되어 있는 발견된 취약성의 데이터베이스를 유지 관리합니다. Vulners는 다양한 제품의 취약점을 찾기 위한 무료 오픈 소스 엔진입니다. 버그 자체 외에도 Vulners는 취약성 관련 익스플로잇, 패치, 심지어 오픈 소스의 뉴스까지 찾아서 보여줍니다.

Vulners 및 HackApp을 사용하면 Google Play에서 22,025개가 넘는 상위 Android 앱의 취약점을 검색할 수 있습니다! 가게. 검색하려면 type:hackapp 을 지정해야 합니다. 검색 결과에는 제목, 심각도별 취약점 수(빨간색 원 - 위험, 노란색 원 - 중간 심각도, 회색 원 - 참고), 애플리케이션에 대한 정보(아이콘, 현재 버전, 개발자 및 릴리스 날짜)가 표시됩니다.

애플리케이션 취약성 게시판 링크는 https://vulners.com/hackapp/HACKAPP:RU.SBERBANK_SBBOL.APK 와 같습니다. 이 공지에는 간단한 설명과 함께 모든 취약점이 나열되고 취약한 것으로 간주되는 응용 프로그램 버전이 표시됩니다. 취약점에 대한 자세한 설명은 HackApp 웹사이트의 링크에서 확인할 수 있습니다.


그러나 진정한 킬러 ​​기능은 부주의한 개발자가 내부에 Amazon AWS 계정을 하드코딩한 애플리케이션을 찾는 기능입니다. 가장 간단한 https://vulners.com/search?query=type:hackapp%20AWS%20credentials 요청은 이러한 "진주" 전체를 반환합니다.


좋습니다. AWS_KEY가 있습니다. 이제 AWS_SECRET_KEY 도 필요합니다. 멈추지 말고 개발자의 "집"을 들여다 볼까요? 🙂


취약한 APK는 HackApp 웹 사이트에서 편리하게 직접 다운로드할 수 있습니다. 다음으로 잘 알려진 방법으로 엽니다.

자바 -jar apktool_2.1.1.jar d.apk

grep을 실행하고... 짜잔! 정말 무언가를 찾은 것 같습니다.

MacBook-Pro:pwner$ grep -R "AKIAI5AWXTYSXJGU55QA" ./ .//smali/com/adobe/air/AdobeAIR.smali:.field private static final TEST_ACCESS_KEY:Ljava/lang/String; = "AKIAI5AWXTYSXJGU55QA" .//smali/com/adobe/air/AdobeAIR.smali: const-string v1, "AKIAI5AWXTYSXJGU55QA"

무슨 말을 할 수 있겠습니까: 1분도 채 안되어 pwned!

이 두 가지 도구와 간단한 전체 텍스트 검색을 결합하면 더 많은 난처한 모바일 앱 비밀을 꺼낼 수 있습니다 :).

행운과 성공적인 학습!

  1. 자신을 위해 타사 응용 프로그램을 설치하면 결과에 대한 책임은 자신에게 있음을 기억하십시오!
  2. 다른 사람의 서신을 읽음으로써 귀하는 그의 권리를 침해하고 이에 대한 형사 책임이 제공됩니다!
  3. 이 지침은 공격자가 다른 사람의 서신을 읽는 방법에 대한 정보만 제공하지만 어떠한 경우에도 이 작업을 요구하지 않습니다.

"스니퍼"란 무엇입니까? 도둑의 전문 용어로 이 단어는 가장 녹슨 핀을 포함하여 무엇이든 금고를 열 수 있는 사람을 의미합니다. 우리 웹 사이트에서 다운로드 할 수있는 컴퓨터 및 전화 용 WhatsApp Sniffer와 같은 응용 프로그램이 필요한 이유를 살펴 보겠습니다.

왜 필요한가요?

이 유틸리티는 미국의 특수 비밀 실험실에서 만들어졌습니다. 적어도 개발자들은 그렇게 말합니다. 스니퍼의 도움으로 WhatsApp 계정을 쉽게 해킹하고 원하는 사람의 서신의 모든 비밀에 액세스할 수 있습니다. 물론, 프로그램을 다운로드하는 것은 자신의 위험과 책임이며 아무도 버그 및 기타 불쾌한 순간에 대해 책임을 지지 않습니다.

따라서 개발자에 따르면 스니퍼는 다음을 허용합니다.

  • Votsap의 개인 계정인 것처럼 "피해자"의 계정을 완전히 인수합니다.
  • 모든 사용자 메시지를 읽습니다.
  • 사용자를 대신하여 사용자의 친구에게 메시지를 보냅니다.
  • 아바타의 사진을 변경하십시오.
  • 상태 변경
  • 파일을 보내고 받습니다.

작동 원리

이 유틸리티는 Android에서만 작동합니다. 개발자는 또한 이 응용 프로그램이 전화에 대해 완전히 안전하다고 확신합니다.

따라서 스니퍼 작업의 본질은 다음과 같습니다. 각 전화기에는 유틸리티가 복사하는 고유의 원래 MAC 코드가 있으므로 프로그램은 친숙한 스마트 폰이나 다른 장치에서 입력했다고 생각합니다. 스니퍼는 세 가지 방법으로 MAC 코드를 복사할 수 있습니다.

  • SMS. 링크가 포함된 특별 SMS를 피해자에게 보냈습니다. 피해자가 링크를 열면 스니퍼가 사용자의 전화와 WhatsApp 프로그램에 침투하여 액세스를 허용합니다.
  • 부르다. 애플리케이션은 피해자의 전화를 걸고 그녀가 응답하면 전화와 애플리케이션에 침투합니다.
  • 와이파이. 피해자 옆에 있고 피해자와 동일한 Wi-Fi를 공유하는 경우 전화기에서 스니퍼를 실행하고 피해자의 번호를 표시하기만 하면 됩니다. 잠시 후 피해자의 WhatsApp에 액세스할 수 있습니다.

스니퍼를 사용하려면 유틸리티를 실행하고 사용 방법을 선택한 다음 관심 있는 사람의 전화를 감지할 수 있는 버튼인 "스푸핑"을 클릭하십시오.

다운로드 위치 및 설치 방법

Android용 WhatsApp Sniffer를 다운로드하려면 Google에 "whatsapp sniffer apk 다운로드"를 입력하거나 당사 웹사이트에서 찾을 수 있는 설치 파일을 사용해야 합니다. 안타깝게도 Whatsapp 스니퍼는 이 운영 체제에 존재하지 않기 때문에 iPhone용으로 다운로드할 수 없습니다.

전화기에 유틸리티를 설치하려면 다음 단계를 따르십시오.

  1. 설치 파일을 스마트폰으로 전송합니다.
  2. 실행하면 정상적으로 설치됩니다.
  3. 파일을 열 때 일부 기능에 대한 액세스 권한을 요청합니다. "허용"을 선택하십시오. 그게 다야: 스니퍼가 가제트에 설치되었습니다.

Sniffer를 설치할 수 없다면 해킹하는 것이 좋습니다. 이를 위해서는 WhatsApp Hach Sniffer를 러시아어로 무료로 다운로드해야 합니다.

WhatsApp Sniffer로부터 자신을 보호하는 방법

스파이가 아니라 피해자라면 어떻게 해야 할까요? 침입자가 개인적인 이익을 위해 휴대폰을 사용하고 있다는 의심이 조금이라도 든다면 Votsap 애플리케이션을 제거하고 다시 설치해야 합니다. 또한 다음을 권장합니다.

  • 바이러스 백신으로 전화기를 청소하십시오.
  • WhatsApp 개발자에게 연락하여 타사 프로그램이 유틸리티에 침투하는 것을 더 심각하게 보호하십시오.
  • 사용 중인 Wi-Fi 네트워크가 안정적인지 항상 확인하십시오. 따라서 해커가 연결할 수 있다는 의심이 든다면 연결하지 않는 것이 좋습니다.

크리핵- 다양한 게임 자원의 구매를 시뮬레이션하는 프로그램으로, 실제 화폐로만 표준 포맷으로 구매할 수 있습니다. 실제 결제 프로세스를 우회하도록 설계된 Freedom이라는 프로젝트에 비해 Cryhak 프로그램을 사용하기 위해 스마트폰에 대한 수퍼유저 권한이 필요하지 않습니다. 이 응용 프로그램의 부정적인 측면은 이 목록이 정기적으로 업데이트되지만 프로그램이 작동할 수 있는 게임의 수가 그리 많지 않다는 것입니다. 이 제품으로 해킹이 불가능한 인터넷 게임이 있으며, 이는 이러한 종류의 소프트웨어의 모든 기능을 사용하는 데 매우 중요한 스마트 폰의 루트 액세스 부족 때문일 수도 있습니다. Creehack을 다운로드하여 설치하기 전에 지원되는 게임 목록을 미리 확인하거나 운을 시험해 보십시오. 응용 프로그램은 인터페이스에서 제어를 위해 불필요한 설정과 버튼을 수행하지 않으며 여기에는 활성화라는 하나의 키만 있습니다. 그리고 응용 프로그램 사용 방법을 정확하게 파악하기 위해 해킹 프로세스 분석에 대한 자세한 사진도 있지만 사진 없이도 모든 것이 매우 명확합니다.

크리핵 사용 방법:
Creehack 작업을 시작하기 전에 시스템 설정을 열고 모든 Google 서비스를 수동으로 중지해야 합니다. 이렇게 하면 게임 리소스와 유용한 아이템을 성공적으로 구매할 가능성이 크게 높아집니다. Creehack은 최소화된 방식으로 작업을 수행합니다. 이제 스마트 폰에 설치될 게임 자체에 들어가 가장 필요한 구매를 할 수 있습니다.
해킹에 필요한 게임이 해킹 목록에 있는데도 크리핵이 실행되는 동안 스마트폰에서 플레이마켓이 꺼져있고 구글 서비스가 비활성화되어 있어 필요한 구매를 할 수 없는 상황이 발생할 수 있습니다. .

이 경우 다음 단계를 수행하십시오.

  1. 스마트폰에서 Wi-Fi 또는 모바일 인터넷을 끕니다.
  2. 스마트폰 설정, 애플리케이션, "Google Play 마켓" 및 "Google Play 서비스"로 이동하여 작업을 일시 중지합니다(이렇게 하려면 애플리케이션을 클릭하고 표시된 메뉴에서 "프로세스 중지" 버튼 클릭).
  3. CreeHack 응용 프로그램을 켠 다음 기본 화면으로 이동합니다(프로그램 v1.2 버전에서는 작동하려면 "켜기" 키를 눌러야 하며 v1.1에서는 초기 시작 중에 활성화가 수행됩니다. -위로)
  4. 선택한 게임으로 이동하여 게임 스토어에서 상품을 구매합니다. 구매할 때 화면에 Creehack이라는 이름의 특수 창이 나타나면 해킹이 성공한 것입니다.
이 프로그램은 완전 무료 게임의 즐거움을 높이면서 사용자가 게임 플레이를 단순화하기 위해 비용을 지불하지 않도록 하기 위해 Android 시스템용으로 특별히 개발되었습니다. 물론 프로그램이 장치에서 켜지지 않고 필요한 게임을 해킹하지 못할 가능성이 있습니다. 그러나 이것의 가능성은 극히 적기 때문에 실제로 크래커의 모든 가능성을 찾으려면이 소프트웨어를 스마트 폰에 다운로드하여 설치하십시오.